XML Schema 1.1 assertion evaluations on complexType with simpleContent require
few improvements
-----------------------------------------------------------------------------------------------
Key: XERCESJ-1468
URL: https://issues.apache.org/jira/browse/XERCESJ-1468
Project: Xerces2-J
Issue Type: Improvement
Components: XML Schema 1.1 Structures
Affects Versions: 2.10.0
Reporter: Mukul Gandhi
Assignee: Mukul Gandhi
Fix For: 2.11.0
I'm opening this bug report for Xerces JIRA records and tracking.
Here's an example which illustrates the problems highlighted in this bug
report. With this bug report, we are targeting improvements on current
code-base on SVN.
XML document:
<List>2 4 6</List>
XML Schema 1.1 document:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="List">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="INTLIST">
<xs:assert test="data($value) instance of
xs:integer+" />
<xs:assert test="count(data($value)) = 3" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:simpleType name="INTLIST">
<xs:list itemType="xs:integer" />
</xs:simpleType>
</xs:schema>
The schema above must successfully validate (i.e the schema assertions
specified in the above example, must evaluate to true. The XPath 2.0 function
"data" gives us the 'typed value -- of XDM type xs:anyAtomicType*' of the
argument.) the XML document specified above.
Per the relevant sections of the spec here,
http://www.w3.org/TR/xmlschema11-1/#sec-cvc-assertion, the point 2 at this link
says:
<quote>
For complex types with simple content, the element node may be referred to as
".", while its content may be referred to as "$value". Since the element node,
as a consequence of clause 1.2, will normally have the type annotation anyType,
its atomized value will be a single atomic value of type untypedAtomic. By
contrast, $value will be a sequence of one or more atomic values, whose types
are the most specific (narrowest) built-in types available.
</quote>
Presently (for the current code-base on Xerces SVN), for complexType with
simple contents, $value doesn't have a typed value of kind xs:anyAtomicType*.
With the current code-base on Xerces SVN, $value as per examples cited in this
bug report, is just a string "2 4 6". I believe, this is a bug as per the XML
Schema 1.1 spec.
I'll try to solve this bug ASAP.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]