[
https://issues.apache.org/jira/browse/XERCESC-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brian Chapman updated XERCESC-2115:
-----------------------------------
Description:
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.
was:
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.
> 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]