[
https://issues.apache.org/jira/browse/XERCESC-1838?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Boris Kolpackov updated XERCESC-1838:
-------------------------------------
Affects Version/s: (was: 2.7.0)
3.0.0
2.8.0
Fix Version/s: 3.1.0
3.0.1
Also present in 2.8.0 and 3.0.0. Should probably fix for 3.0.1 and 3.1.0.
> Unexpected validation result when comment is present
> ----------------------------------------------------
>
> Key: XERCESC-1838
> URL: https://issues.apache.org/jira/browse/XERCESC-1838
> Project: Xerces-C++
> Issue Type: Bug
> Components: Validating Parser (XML Schema)
> Affects Versions: 2.8.0, 3.0.0
> Reporter: Alexey Miroshnichenko
> Fix For: 3.0.1, 3.1.0
>
>
> Schema:
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema targetNamespace="http://www.openuri.org/mySchema"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns="http://www.openuri.org/mySchema" elementFormDefault="qualified"
> version="1.0">
> <xsd:element name="root">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="test" type="MyType"
> maxOccurs="unbounded"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:complexType name="MyType">
> <xsd:simpleContent>
> <xsd:extension base="xsd:byte">
> </xsd:extension>
> </xsd:simpleContent>
> </xsd:complexType>
> </xsd:schema>
> document:
> <?xml version="1.0" encoding="UTF-8"?>
> <p1:root xmlns:p1="http://www.openuri.org/mySchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.openuri.org/mySchema schema.xsd">
> <p1:test><!-- text -->34</p1:test>
> <p1:test>
> <!-- text -->34</p1:test>
> <p1:test>
> 34</p1:test>
> <p1:test>34</p1:test>
> <p1:test>
> 34
> </p1:test>
> </p1:root>
> SAX2Print output:
> <?xml version="1.0" encoding="LATIN1"?>
> <p1:root xsi:schemaLocation="http://www.openuri.org/mySchema schema.xsd">
> <p1:test>34</p1:test>
> <p1:test> 34
> Error at file Z:\eTools\bin\Debug/instance-1.xml, line 7, char 26
> Message: Datatype error: Type:InvalidDatatypeValueException, Message:Value
> ' 34' does not match re
> gular expression facet '[+\-]?[0-9]+'.
> </p1:test>
> <p1:test>34</p1:test>
> <p1:test>34</p1:test>
> <p1:test>34</p1:test>
> </p1:root>
> Note the difference between second and third 'test' element in the document:
> second has comment.
> Suggested fix - in SchemaValidator::normalizeWhiteSpace function last lines:
> was
> if (fCurReader->isWhitespace(*(srcPtr-1)))
> fTrailing = true;
> else
> fTrailing = false;
> now
> ...
> if (0 != *(srcPtr) && fCurReader->isWhitespace(*(srcPtr-1)))
> fTrailing = true;
> else
> fTrailing = false;
> }
> Idea: isWhitespace returns 'true' for empty string, but here 'empty string'
> does not mean whitepace.
> Please, review.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]