|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Checking for elements
At 2004-05-25 11:44 -0400, Noah Genner wrote: > I need to be able to check an XML document for some specific elements, > and if >possible produce a little report on which ones are missing. The document has >already been validated against a dtd/schema that contains approximately 270 >elements, but I need to check that the ~40 I need are present. If they aren't >present I want to produce a little report that says which elements are not >present. > Can I do this with XSLT, or is there an easier way to do this? You could do it with XSLT or with Schematron as both of these check business rules. But since what you are doing is more like a grammatical check with your own constraints, than a business rule check with algorithmic properties, I would lean towards you writing your own grammar and just checking your instance against both the "official" grammar in the DTD/Schema and then against your "additional constraints" grammar. My personal choice is using ISO/IEC 19757-2 RELAX-NG for writing your own "mini-grammar". In fact, you could even relax the content constraints on your mini-grammar if you wanted to use it to supplement the "official" grammar: just use the mini-grammar to check for the presence of elements and attributes as being simple text values, letting the "official" grammar check the elements and attributes for being particular data types. I'm not sure which would be more "politically correct" so I'm curious what others on this list would feel about the difference between these two approaches: consider that I have a W3C Schema expression with many derived and explicit data types with value constraints up the wazoo, but I want to check that only a subset of those constraints have been met (that subset containing at the least all of the mandatory constructs): (1) - write a replacement ISO/IEC 19757-2 RELAX-NG schema mimicking all of the W3C data types for all of the value constraints, thereby negating the need for the W3C Schema expression for any purpose or (2) - write a supplemental ISO/IEC 19757-2 RELAX-NG schema using only text value constraints, thereby requiring "primary validation" by the official W3C Schema expression and checking only "business requirement presence constraints" with the RELAX-NG schema Personally I would lean to (2) so as to not "compete" with the W3C Schema expression or need to play catch-up with any changes to the W3C Schema expression. What would others do when needing to validate a subset of a published W3C Schema expression maintained by a third party? ........................... Ken -- Public courses: Spring 2004 world tour of hands-on XSL instruction Next: 3-day XSLT/XPath; 2-day XSL-FO - Birmingham, UK June 14,2004 World-wide on-site corporate, govt. & user group XML/XSL training. G. Ken Holman mailto:gkholman@C... Crane Softwrights Ltd. http://www.CraneSoftwrights.com/x/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) Male Breast Cancer Awareness http://www.CraneSoftwrights.com/x/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








