Details
-
Type:
Bug
-
Status:
In Progress
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 4.1
-
Fix Version/s: None
-
Labels:None
-
Number of attachments :
Description
I am attempting to validate a Docbook document, which has an internal subset that defines an ENTITY with NDATA. The Notation is defined in the Docbook DTD, but woodstox reports referenced notation undefined, before reading the external DTD, since the code in ValidatingStreamReader.finishDTD first calls FullDTDReader.readInternalSubset before FullDTDeEader.readExternalSubset.
As an example:
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "docbookx.dtd" [
<!ENTITY FOO SYSTEM "foo" NDATA JPG>
]>
<book id="test">
<title>Test</title>
<chapter id="chap01"><title>Chapter one</title>
<para><informalfigure><mediaobject><imageobject><imagedata entityref="FOO"/></imageobject></mediaobject></informalfigure></para>
</chapter>
</book>
This may be related earlier similar problems with entity declaration (where assumption was that declarations must come before use, which is not mandated by xml spec).