Lists Home |
Date Index |
On Fri, 2005-11-04 at 13:33 +0800, Nick Lee wrote:
> I'm a beginner to XML and looking C-based XML validator for a project.
> Any pointers will be much appreciated.
You may want to look at Libxml2 (http://www.xmlsoft.org).
It supports DTD, RelaxNG, W3C XML Schema and Schematron validaton:
- DTD validation is mature and stable.
- The RelaxNG validation seems quite mature (the error reports
could be more user-friendly).
- The W3C XML Schema validation seems to have become quite stable,
but is not fully finished (if there is such thing for WXS at all).
The main missing issues are:
- Unique particle attribution is not checked
- Restriction of the content model of complex types is not checked.
This is mainly due to the fact that we won't implement those
constraints as layed out in the XML Schema 1.0, but try to
anchor the restriction checks at the automaton level (Daniel
Veillard is working on this).
- The Schematron code is _very_ fresh - dunno how far we got here.
If you just need DTD validation, then Libxml2 could be perfect for
If you use the other validation techniques, then a naive usage could
- RelaxNG: Here you have sometimes to dig a bit to find the place
in the instance where a validation error occured.
- XML Schema: Since some schema checks are not implemented, it
should not be used to _learn_ writing W3C XML Schemata. Be
familiar with the specs.
- Schematron: It's fresh, so you'll be probably one of the first to
report bugs ;-)