[
https://issues.apache.org/jira/browse/XERCESJ-1730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17391114#comment-17391114
]
Mukul Gandhi commented on XERCESJ-1730:
---------------------------------------
It seems to me that, there's some sort of issue with Xerces xs:assert XPath 2.0
function implementation for 'in-scope-prefixes'. For me just now, it returns
nothing. If I write the following xs:assert alongside the assertion that you've
specified, it doesn't fail,
<xs:assert test="count(in-scope-prefixes(.)) eq 0"/>
Also, if I rewrite the assertion you've specified as following, it doesn't fail
(when I apply the validation, with the files you've attached),
<xs:assert test="every $prefix in (@exclude-result-prefixes[not(. = '#all')],
@extension-element-prefixes)
satisfies ((if ($prefix = '#default') then '' else $prefix) =
('xs','dty','xml'))">
(i.e, I hardcode the prefix string sequence, on RHS)
Will explore further.
> 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
> Priority: Minor
> 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]