[xml] xmllint: fails to flag up IDREF invalidity - used to do so ?



We have an academic here who tells us that back in 2005, so around
version 2.6.2, they experienced an issue with xmllint failing to flag
up an error when validating an XML file against a Schema file.

The academic suggests that the issue went away and that the error
in the XML was picked up but can't recall the "fix" that was made back
then.

We currently have 2.9.0 and the academic has recently reported to
us that they're seeing the same failure to flag up the invalidity.


$xmllint --version
xmllint: using libxml version 20900
   compiled with: Threads Tree Output Push Reader Patterns Writer
SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer
XInclude Iconv ISO8859X Unicode Regexps Automata Expr Schemas
Schematron Modules Debug Zlib Lzma

$xmllint -schema Test_XML_Schema.xsd Test_Document.xml
<?xml version="1.0" standalone="no"?>
<A a="a1">
   <B b="a2"/>
</A>
Test_Document.xml validates
$
$cat Test_XML_Schema.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";>

 <xsd:element name="A">
   <xsd:complexType>
     <xsd:sequence>
       <xsd:element name = "B">
         <xsd:complexType>
           <xsd:attribute name = "b" type = "xsd:IDREF" use = "required"/>
         </xsd:complexType>
       </xsd:element>
    </xsd:sequence>
        <xsd:attribute name = "a" type = "xsd:ID" use = "required"/>
   </xsd:complexType>
 </xsd:element>
$
$ cat  Test_Document.xml
<?xml version = "1.0" standalone = "no"?>

<A a = "a1">
   <B b = "a2"/>
</A>
$

Academic says that as the IDREF a2 is not defined, xmllint should,
and indeed used to, flag that up.

Any thoughts?


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