ben wrote: > > I don't understand how DTD is loaded and validity check is performed > by XXE (20p2). I try to use a customized DocBook DTD, but it doesn't > work. Here are the steps I follow: > > * I've written an XML file with such a header: > > <?xml version="1.0" encoding="iso-8859-1"?> > <!DOCTYPE book PUBLIC "-//OASIS//XXE//DTD DocBook XML V4.1.2//EN" > "http://www.perso/db/xxe.dtd"[ > > * The customized DTD dbxxe.dtd is put in the <xxe>/config/docbook/dtd/ > directory. > > * I've added to the XML catalog file <xxe>/config/catalog.xml these > lines : > > <public publicId="-//OASIS//XXE//DTD DocBook XML V4.1.2//EN" > uri="docbook/dtd/dbxxe.dtd"/>
This is fine. > When I open XXE and load the XML file, the DocBook configuration is > used (since it contains book element, isn't it ?) but the file is said > invalid. The errors show that in fact dbxxe.dtd is not used. Of > course, I've checked with another tool (xmllint) that the file is > actually valid. > > Even if the way I did the customisations is not clean, since I patch > and add files directly in the XXE environnment, can someone give me a > clue to make it work? Please retry opening the XML file after clearing or disabling the XML Schema/DTD cache (Menu Options|Options, Open tab). You probably experimented with several successive versions of dbxxe.dtd and the XML-Schema/DTD cache ``captured'' the first one. If it still does not work, please send us a copy of your config/docbook/ directory and a sample XML file and we'll try to make it work.

