* Kiki <[EMAIL PROTECTED]> [2006-06-12 16:55]: > The nice thing about XML validation standards is that there are > so many to choose from. You have DTDs, XML Schema and > Schematron and while I managed to get a grasp on XML Schema, I > couldn't bring myself to learn more of them. Writing XSD is no > joy to me (as it's XML too), but hey, if it's someone else that > does the writing, I wholeheartedly agree ;)
Ugh. XSD is the worst of the bunch by a mile. It’s an overgrown design-by-committee beast of festering complexity. Do yourself a favour and learn RELAX NG as well as Schematron. RELAX NG is basically DTDs, only 3× more expressive. It can be expressed either in an XML dialect (which is pretty nice for XML apps) or with a “Compact” grammar which has a programmish look&feel (brace-delimited blocks etc). Very nice. The way XML schemas were meant to be. Schematron is dead simple: you write a bunch of assertions in the form of XPath expressions. That’s all. It is extremely powerful despite its simplicity: the only schema language which can deal with arbitrarily complicated co-constraints, constraints varying on attribute values or element content and the like. Because it’s assertive rather than declarative it can also be used both by itself as well as on top of another schema language. There are annotation mechanisms in both XSD and RNG which can be used to embed Schematron assertions in XSD/RNG schemata. It’s neat. Seriously, XML validation can be much less hateful than XSD. Regards, -- Aristotle Pagaltzis // <http://plasmasturm.org/> _______________________________________________ List: [email protected] Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
