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: [email protected]
For additional commands, e-mail: [email protected]