David created XERCESJ-1728:
------------------------------

             Summary: xsd:base64binary parser behavior change
                 Key: XERCESJ-1728
                 URL: https://issues.apache.org/jira/browse/XERCESJ-1728
             Project: Xerces2-J
          Issue Type: Bug
    Affects Versions: 2.12.1, 2.12.0, 2.11.0
            Reporter: David


I've recently upgraded my project from Xerces-J 2.7.0 to Xerces-J 2.12.1 and 
I'm seeing a change in base64binary enumeration parsing behaviour

Given this schema
{code:xml}
<?xml version='1.0'?>
<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
  <!-- Schema to test facets for the xsd:base64Binary datatype. -->
  <xsd:element name="facetTest" type="FacetTestComplexType"/>
  <xsd:complexType name="FacetTestComplexType">
    <xsd:sequence>
      <xsd:element name='enumeration' type='EnumerationType' minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>

  <!-- ***** Enumeration ***** -->
  <xsd:simpleType name='EnumerationType'>
    <xsd:restriction base='xsd:base64Binary'>
      <xsd:enumeration value='Ab1+'/>
      <xsd:enumeration value='7 d Ec'/>
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>
{code}

Our code calls {{xsSimpleType.getLexicalEnumeration()}} and iterates over the 
list of enumeration values. Prior to Xerces-J 2.11.0, {{<xsd:enumeration 
value='7 d Ec'/>}} would be returned as {{7dEc}}. From Xerces-J 2.11.0 on it 
now returns {{7 d Ec}}.

This now causes a validation issue however as an instance value of {{7dEc}} 
which used to be viewed as legal is now illegal.

Is this a bug or expected change in behaviour and my application needs to be 
updated?




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: j-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: j-dev-h...@xerces.apache.org

Reply via email to