[xml] Problem validating documents containing public entities with empty URIs



Hi!

Given the following files, invoking xmllint failes to validate a.xml,
instead spewing out the same couple of error messages over and over
again:

XML_CATALOG_FILES=catalog xmllint --valid a.xml

a.dtd:

<!ELEMENT a (b)>
<!ELEMENT b EMPTY>

a.xml:

<!DOCTYPE a PUBLIC "" "a.dtd" [
<!ENTITY b PUBLIC "b" "">
]>
<a>&b;</a>

b.ent:

<b/>

catalog:

<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
  "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd";>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
  <public publicId="b" uri="b.ent"/>
</catalog>

If, however, we modify a.xml by having something â anything â as the
URI to the public entity b, xmllint validates it without issues:

<!DOCTYPE a PUBLIC "" "a.dtd" [
<!ENTITY b PUBLIC "b" "N/A">
]>
<a>&b;</a>

I failed to determine a way of solving this, though I only glanced at
the source.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]