Mark Derricutt wrote:
> Whats the easiest way of supporting DocBook <set/>'s with XXE?
> 
> I tried creating an XML file for the set, which included entity refs to 
> other files containing <book/>'s but XXE complained about the DocType 
> references in the <book/> xml files.
> 
> Would I have to go to the level of using XML Includes rather than the 
> normal entity method?
> 
> I guess this is probably more DocBook specific than XXE but I'm not 
> currently subbed to the DocBook lists, and its vaguely on topic...

I think this is an XML question in fact.

*To my knowledge*, XXE or not XXE, DocBook or not DocBook, a file 
containing a <book> element and starting with a <!DOCTYPE> is not a 
Well-Formed External Parsed Entity (even if it is a well-formed document):

Excerpt of http://www.w3.org/TR/REC-xml/
---
The document entity is well-formed if it matches the production labeled 
document. An external general parsed entity is well-formed if it matches 
the production labeled extParsedEnt.

Well-Formed External Parsed Entity

[78] extParsedEnt ::= TextDecl? content

Document

[1] document ::=  prolog element Misc*
---

And, yes, you'll have no such problems with XIncludes.

Make sure to use XXE to ``fill'' you <set> document, or using a text 
editor, do not forget to add xpointer="element(/1)" after the href of 
your XIncludes (this skips the <!DOCTYPE>).


Reply via email to