You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by "Mukul Gandhi (Jira)" <xe...@xml.apache.org> on 2021/11/20 08:53:00 UTC
[jira] [Commented] (XERCESJ-1728) xsd:base64binary parser behavior change
[ https://issues.apache.org/jira/browse/XERCESJ-1728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17446769#comment-17446769 ]
Mukul Gandhi commented on XERCESJ-1728:
---------------------------------------
I've tested your bug report, with XercesJ 2.12.1, and get opposite results than what you've said as following,
"This now causes a validation issue however as an instance value of {{7dEc}} which used to be viewed as legal is now illegal".
With the XSD schema that you've shared, for me, an XML instance value {{7dEc is reported as valid.}}
I find, XercesJ 2.12.1's compliance with XSD type xsd:base64binary, as fine.
> 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.11.0, 2.12.0, 2.12.1
> Reporter: David Ritter
> Priority: Minor
>
> 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.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: j-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-dev-help@xerces.apache.org