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.

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...