On a whole class approach. I created a class with a less restrictive property data sizes with the same property names as a more restrictive target class to validate against. Inside a try catch set each matching property. It will catch on which properties fail with a specific property error. This should work with the new dynamic objects instead of the less restrictive class approach.
Certifications & Credly badges:
John has no Certifications & Credly badges yet.
Global Masters badges:
John has no Global Masters badges yet.
Followers:
John has no followers yet.
Following:
John has not followed anybody yet.
First you get the the website or html using %Net.HttpRequest , convert it to an XHTML compliant code using html-tidy and then use %XML.Reader and %XML.Node to get at elements attributes and content. This can be done in a generic way that can then be reused for any website. I would also recommend $JOB to increase performance of pieces of this code.
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...
http://www.html-tidy.org/
http://docs.intersystems.com/latest/csp/docbook/%25CSP.Documatic.cls?PAG...
http://docs.intersystems.com/latest/csp/docbook/%25CSP.Documatic.cls?PAG...