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