Uploaded image for project: 'Xerces2-J'
  1. Xerces2-J
  2. XERCESJ-1730

XSD 1.1 assertions on list types should be on typed value

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.12.1
    • 2.12.2
    • None
    • Windows

    Description

      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-prefixesnot(. = '#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.  

      Attachments

        1. schema-for-xslt30.xsd
          108 kB
          Priscilla Walmsley
        2. att-patterns-merge.xsl
          2 kB
          Priscilla Walmsley

        Activity

          People

            mukul_gandhi Mukul Gandhi
            pwalmsley@datypic.com Priscilla Walmsley
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: