W3C home > Mailing lists > Public > public-qt-comments@w3.org > September 2016

[Bug 29866] New: [XSLT30] EQName type in XSD for XSLT 3.0 is too lenient

From: <bugzilla@jessica.w3.org>
Date: Fri, 23 Sep 2016 13:19:37 +0000
To: public-qt-comments@w3.org
Message-ID: <bug-29866-523@http.www.w3.org/Bugs/Public/>

            Bug ID: 29866
           Summary: [XSLT30] EQName type in XSD for XSLT 3.0 is too
           Product: XPath / XQuery / XSLT
           Version: Candidate Recommendation
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 3.0
          Assignee: mike@saxonica.com
          Reporter: abel.braaksma@xs4all.nl
        QA Contact: public-qt-comments@w3.org
  Target Milestone: ---

After a long discussion today with Charles Foster we concluded that the base
type for all EQNames, aptly named xsl:EQName, allows for illegal names.

The current definition is:

    <xs:union memberTypes="xs:NCName xs:QName">
        <xs:restriction base="xs:token">
          <xs:pattern value="Q\{.*\}\i\c*"/>

this allows for "Q{x}a:b:c", which is illegal. Or even "Q{x}:::y:::".

A possible solution is to disallow the ":", but using a subtraction class:

<xs:union memberTypes="xs:NCName xs:QName">
    <xs:restriction base="xs:token">
      <xs:pattern value="Q\{.*\}[\i-[:]][\c-[:]]*"/>

I've tested this definition and it seems correct.

You are receiving this mail because:
You are the QA Contact for the bug.
Received on Friday, 23 September 2016 13:19:48 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:58:02 UTC