Brian Chapman created XERCESC-2115:
--------------------------------------
Summary: XSD xs:union always collapses whitespace
Key: XERCESC-2115
URL: https://issues.apache.org/jira/browse/XERCESC-2115
Project: Xerces-C++
Issue Type: Bug
Components: Validating Parser (XML Schema)
Affects Versions: 3.1.4
Environment: Windows 7, likely also Mac and Linux but didn't check
Reporter: Brian Chapman
see:
[https://stackoverflow.com/questions/39755370/xerces-c-xml-xsd-union-always-collapsing-whitespace]
for longer discussion.
I find that the problem doesn't care what I union with, or that I union with
anything at all. So the simplest demonstration is to add these definitions to
the above XSD.
{noformat}
<xs:simpleType name="HellUnion">
<xs:union memberTypes="Hello" />
</xs:simpleType>
<xs:element name="root2">
<xs:complexType>
<xs:attribute name="stuff" type="HellUnion" />
</xs:complexType>
</xs:element>
{noformat}
Then Xerces-C rejects this XML as not valid:
<?xml version="1.0" encoding="UTF-8" ?>
<root2 stuff="Hello World	!" />
I think the error message is enlightening:
{noformat}
value 'Hello World !' does not match any member types of the union
{noformat}
Notice the space before the '!' where the tab was previously.
Microsoft .Net runtime XML/XSD system reports it as valid.
I have tried adding whitespace=preserve to the "Hello" simple type definition:
{noformat}
<xs:simpleType name="Hello">
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="Hello World	!"/>
</xs:restriction>
</xs:simpleType>
{noformat}
This does not help.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]