$ cat small.rng
<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";
         xmlns="http://relaxng.org/ns/structure/1.0";>

<start>
    <element name="script">
          <attribute name="file">
              <data type="token">
                  <except>
                      <data type="token">
                          <param 
name="pattern">/etc/(rc\.d/)?init\.d/cman</param>
                      </data>
                  </except>
              </data>
          </attribute>
    </element>
</start>

</grammar>

---

$ cat testcase.xml
<script file=" /etc/rc.d/init.d/cman "/>

---

before (bug in question present):

$ xmllint --noout --relaxng small.rng testcase.xml
testcase.xml validates

desired (hopefully, this is not a false assumption, this is also
         the behavior of jing or xmllint when the attribute value
         is whitespace-normalized manually):

$ xmllint --noout --relaxng small.rng testcase.xml
testcase.xml fails to validate

---

The patch fixes the issue, but I must admit it's more like the easiest
solution I was able to achieve, not necessarily a proper one (also
considering the various contexts the affected code can be run in).

Generally, it seems that some relevant parts of the code are affected
by some change trying to be backwards compatible;
from xmlSchemaValidateFacetWhtsp (the originally used function?):

> Note that @value needs to be the *normalized* value if the facet
> is of type "pattern".

Please let me know if I can help somehow to get the test case passing.
If agreed, I will also turn it to the proper part of the test suite.

And yes, test suite still passes.

Jan Pokorný (1):
  Do normalize token datatype value in RelaxNG facet checking

 xmlschemastypes.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

-- 
1.8.1.4

_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
xml@gnome.org
https://mail.gnome.org/mailman/listinfo/xml

Reply via email to