Priscilla Walmsley created XERCESJ-1730:
-------------------------------------------
Summary: XSD 1.1 assertions on list types should be on typed value
Key: XERCESJ-1730
URL: https://issues.apache.org/jira/browse/XERCESJ-1730
Project: Xerces2-J
Issue Type: Bug
Components: XML Schema 1.1 Structures
Affects Versions: 2.12.1
Environment: Windows
Reporter: Priscilla Walmsley
Attachments: att-patterns-merge.xsl, schema-for-xslt30.xsd
I am trying to use the XSD in the XSLT 3.0 specification and it contains the
following assertion:
{{ <xs:assert test="every $prefix in (@exclude-result-prefixes[not(. =
'#all')],
@extension-element-prefixes)
satisfies ((if ($prefix = '#default') then '' else
$prefix) = in-scope-prefixes(.))">}}
I believe Xerces is treating the value of @exclude-result-prefixes like a
single value rather than a list of strings. Every XSLT I have that has more
than one value in @exclude-result-prefixes is supposedly violating this
assertion.
I initially thought this was an issue with the schema itself but Michael Kay
pointed out this:
"XSD 1.1 part 2 clause 4.3.13.3 says that in the XDM representation of the tree
used for evaluation of an assertion, the atomization of the list-valued
attribute @exclude-result-prefixes is the typed value, which is a sequence of
tokens. So the tokenization has already been done, implicitly."
So, I believe Xerces has a bug.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]