> I am new to the libxml2 api and am looking to use it to create a simple tool 
> that can validate large xml files via external DTDs, and eventually XSDs. 
> I've successfully built libxml2 on win7 using a mingw toolchain and plan to 
> build the tool as a statically linked exe for windows.
> 
> I've found http://mail.gnome.org/archives/xml/2004-July/msg00055.html and 
> http://mail.gnome.org/archives/xml/2009-November/msg00039.html and would 
> appreciate pointers in the right direction, either sections in xmllint.c to 
> review or ideas on how to use the Reader api to do this.
> 
> I'm more concerned about memory usage and speed and have no preference 
> between using the SAX2 or Reader apis.


After skimming xmllint.c I want to confirm that my understanding of the 
following is correct.

1) The only way to use xmllint to validate against an external DTD file is

   xmllint --dtdvalid luddite.dtd file1.xml file2.xml ...

and the following will not work as neither `testSAX()` nor `streamFile()` 
validate against an external DTD file:

   xmllint --sax --dtdvalid luddite.dtd file1.xml ...
   xmllint --stream --dtdvalid luddite.dtd file1.xml ...


2) Does the following mean that when using libxml2's SAX functionality a 
document representation of the entire input XML is created in memory?

   http://git.gnome.org/browse/libxml2/tree/xmllint.c#n1711


3) As of v2.7.8 and using the Reader API, there is no way to validate using an 
external DTD similar to

   http://git.gnome.org/browse/libxml2/tree/xmllint.c#n1881
   http://git.gnome.org/browse/libxml2/tree/xmllint.c#n1896


4) As of v2.7.8 and using the Reader API, there is no way to a posteriori 
validate using an external DTD similar the following. A posteriori DTD 
validation is only available after parsing a full DOM into memory.

   http://git.gnome.org/browse/libxml2/tree/xmllint.c#n2759


If the above are correct, what do you suggest to people who want to use libxml2 
to validate large XMLs with external DTD files?  Re-write the input XML file?

Jon

---
blog: http://jonforums.github.com/
twitter: @jonforums

"Anyone who can only think of one way to spell a word obviously lacks 
imagination." - Mark Twain
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
xml@gnome.org
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to