[Bug 3032] Setting the is-id and is-idref property on element nodes

http://www.w3.org/Bugs/Public/show_bug.cgi?id=3032

           Summary: Setting the is-id and is-idref property on element nodes
           Product: XPath / XQuery / XSLT
           Version: Candidate Recommendation
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Data Model
        AssignedTo: Norman.Walsh@Sun.COM
        ReportedBy: mike@saxonica.com
         QAContact: public-qt-comments@w3.org


Section 6.2.4 (constructing element nodes from the PSVI) (repeated in J.2)
says:

is-id

    If the type-name is xs:ID or a type derived from xs:ID, true, otherwise
false.

is-idrefs

    If the type-name is xs:IDREF or xs:IDREFS, or a type derived from one of
those types, true, otherwise false.

This means that if the element has a complex type with simple content, and the
type of the simple content is derived from xs:ID/xs:IDREF, the property will
not be set. I'm sure this isn't what is intended (though it's what I
implemented... Incidentally, it was the catalog for the XQTS test suite that
revealed the problem!)

The same error occurs elsewhere in the Data Model book. For example section
3.3.1.3 says "If the type-name of the node denotes a union type...", "If the
type-name of the node is xs:QName, xs:NOTATION, or is derived from one of these
types...".  In both cases the rule also applies to the content type of a
complex-type-with-simple-content.

Michael Kay

Received on Tuesday, 21 March 2006 20:02:51 UTC