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: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org