Brian Chapman created XERCESC-2115:

             Summary: XSD xs:union always collapses whitespace
                 Key: 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

 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.

  <xs:simpleType name="HellUnion">
    <xs:union memberTypes="Hello" />
  <xs:element name="root2">
      <xs:attribute name="stuff" type="HellUnion" />

Then Xerces-C rejects this XML as not valid:

<?xml version="1.0" encoding="UTF-8" ?>
<root2 stuff="Hello World&#x09;!" />
I think the error message is enlightening:

value 'Hello World !' does not match any member types of the union

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:

  <xs:simpleType name="Hello">
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
      <xs:pattern value="Hello World&#x09;!"/>

This does not help.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

Reply via email to