[xquery-talk] doc() function failing to load DTD
Michael Ludwig
mlu at as-guides.com
Thu Apr 9 18:57:57 PDT 2009
The XQuery implementation of an XML database fails to resolve the URI
of the DTD specified in the SYSTEM identifier.
dbxml> query { doc('file:/home/milu/xpg/xml/Sender.xml') }
1 objects returned for eager expression
' doc('file:/home/milu/xpg/xml/Sender.xml') '
dbxml> print
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE Senderliste SYSTEM "Sender.dtd">
<Senderliste Name="KOMPLETT">
&Sender;
<SenderJeSeite> 3 </SenderJeSeite>
&Gruppen;
</Senderliste>
DTD loading attempted, but failing:
dbxml> query { doc('file:/home/milu/xpg/xml/Sender.xml')/* }
stdin:55: query failed, Error:
XML Indexer: Fatal Parse error in document at line, 2, char 43.
Parser message: An exception occurred!
Type:RuntimeException, Message:Could not open DTD file 'Sender.dtd'
Changing the URI to file:///home/milu/xpg/xml/Sender.xml doesn't help.
The DTD is in the same directory as the document, and parsing the
document from other contexts works fine.
So I think the database engine should be able to retrieve it using the
base URI of the document. Is this assumption correct?
Michael Ludwig
More information about the talk
mailing list