[Bug 3072] Which types have constructor functions?

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

           Summary: Which types have constructor functions?
           Product: XPath / XQuery / XSLT
           Version: Candidate Recommendation
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XPath
        AssignedTo: chamberl@almaden.ibm.com
        ReportedBy: cmsmcq@w3.org
         QAContact: public-qt-comments@w3.org


XPath 3.10.4 (http://www.w3.org/TR/xpath20/#id-constructor-functions)
says

    For every atomic type in the in-scope schema types (except
    xs:NOTATION and xdt:anyAtomicType, which are not instantiable), a
    constructor function is implicitly defined. 

Functions and Operators 5.1 says

    Every built-in atomic type that is defined in [XML Schema Part 2:
    Datatypes Second Edition], except xs:NOTATION, has an associated
    constructor function; as do xdt:untypedAtomic, defined in Section
    2.6 TypesDM and the two derived types xdt:yearMonthDuration and
    xdt:dayTimeDuration defined in 10.3 Two Totally Ordered Subtypes
    of Duration. 

These seem to suggest two different answers to the questions

  Q1: is there a constructor function for xsd:anyAtomicType?

XPath seems to say no, F/O to say yes.

  Q2: are there constructors for user-defined atomic types among
  the in-scope types?

XPath seems to say yes, F/O to say no.  But then F/O continues

    A constructor function is not defined for xs:NOTATION since it is
    defined as an abstract type in [XML Schema Part 2: Datatypes
    Second Edition]. If the static context (See Section 2.1.1 Static
    ContextXP) contains a type derived from xs:NOTATION then a
    constructor function is defined for it. See 5.3 Constructor
    Functions for User-Defined Types.

which suggests that there ARE constructors for user-defined types, at
least if they are derived from NOTATION.

Are these really in contradiction, or am I missing something?

Received on Tuesday, 4 April 2006 00:45:49 UTC