[xml] RelaxNG bug?

Hello libxml2 folks,

The following minimal example validates with Jing but not libxml2 (git
version from today):

<?xml version="1.0" encoding="UTF-8"?>
<a b="0%"/>

<?xml version="1.0" encoding="UTF-8"?>

    <element name="a">
      <attribute name="b">
            <ref name="percent"/>
            <ref name="percent"/>

  <define name="percent">
    <data type="string">
      <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%</param>


[astan pyret test]$ xmllint --version
xmllint: using libxml version 20706-GITv2.7.6-8-g7946137
   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
[astan pyret test]$ xmllint --relaxng schema.rng test.xml
<?xml version="1.0" encoding="UTF-8"?>
<a b="0%"/>
Unimplemented block at relaxng.c:8948
test.xml:2: element a: Relax-NG validity error : Element a failed to
validate attributes
test.xml fails to validate

It validates if I remove the entire <optional> from the <list>.

Any ideas? The code at relaxng.c:8948 indicates that this is a TODO.
Is that true or is this a real bug and the validator has been put into
an inconsistent state?

Best regards,
Elvis Stansvik

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