APAR status
Closed as documentation error.
Error description
The XMLNSC parser is not capable of correctly validating an XML element restricted by a pattern that includes an unbounded wildcard followed by a negated character class. For example consider the following XML schema: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="StringWithXSDPattern"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="A.*[^D]"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:schema> Then the input <StringWithXSDPattern>ADDDDDDA</StringWithXSDPattern> will fail validation with a cvc-pattern-valid XML schema validation error despite this being acceptable input. This is a permanent restriction of the pattern validator in the XMLNSC parser. Replacing the inverted character class with a non-inverted class will not trigger this behaviour, i.e. the pattern A.*[ABC] will correctly validate the same input.
Local fix
Do not use .* followed by a negated character class in an XML schema element restriction pattern.
Problem summary
**************************************************************** USERS AFFECTED: All users of the XMLNSC parser in IBM Integration Bus v10 and IBM App Connect Enterprise v11 using patterns in schema validation. Platforms affected: z/OS, MultiPlatform **************************************************************** PROBLEM DESCRIPTION: The XMLNSC parser is not capable of correctly validating an XML element restricted by a pattern that includes an unbounded wildcard followed by a negated character class. For example consider the following XML schema: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="StringWithXSDPattern"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="A.*[^D]"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:schema> Then the input <StringWithXSDPattern>ADDDDDDA</StringWithXSDPattern> will fail validation with a cvc-pattern-valid XML schema validation error despite this being acceptable input. This is a permanent restriction of the pattern validator in the XMLNSC parser. Replacing the inverted character class with a non-inverted class will not trigger this behaviour, i.e. the pattern A.*[ABC] will correctly validate the same input.
Problem conclusion
The Knowledge Center article on XMLNSC validation now document this restriction.
Temporary fix
Comments
APAR Information
APAR number
IT33063
Reported component name
INTEGRATION BUS
Reported component ID
5724J0540
Reported release
A00
Status
CLOSED DOC
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-06-03
Closed date
2020-10-19
Last modified date
2020-10-19
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSNQK6","label":"IBM Integration Bus"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.0"}]
Document Information
Modified date:
20 October 2020