- From: <bugzilla@wiggum.w3.org>
- Date: Mon, 25 May 2009 16:44:40 +0000
- To: public-qt-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=6951
Summary: Conflicting requirements for type annotations from XSLT
validation='lax' and XDM
Product: XPath / XQuery / XSLT
Version: Recommendation
Platform: PC
URL: http://www.w3.org/TR/xslt20/#validating-using-
validation-attribute
OS/Version: Windows XP
Status: NEW
Severity: normal
Priority: P2
Component: XSLT 2.0
AssignedTo: mike@saxonica.com
ReportedBy: zongaro@ca.ibm.com
QAContact: public-qt-comments@w3.org
The fourth bullet of the list in section 19.2.1.1 of XSLT 2.0[1] states, in
part:
"In practice this means that the element or attribute being validated must
conform to its declaration if a top-level declaration is available. If no such
declaration is available, then the element or attribute is not validated, but
its attributes and children are validated, again with lax validation. Any nodes
whose validation outcome is a validity property of notKnown are annotated as
xs:anyType in the case of an element, and xs:untypedAtomic in the case of an
attribute."
According to the second and third bullets of section 3.3.1.1 of XDM,[2] if:
- The [validity] property exists and is "invalid", or the [validation
attempted] property exists and is "partial", the schema type of an element is
xs:anyType and the type of an attribute is xs:anySimpleType.
- The [validity] property exists and is "notKnown", and the [validation
attempted] property exists and is "none", the schema type of an element is
xs:untyped and the type of an attribute is xs:untypedAtomic.
Now suppose I have something like the following fragment in XSLT.
<my:doc xsl:validation="lax" xmlns:my="http://example.org"><my:child/></doc>
Now assume there is no element declaration for my:doc, but there is an element
declaration for my:child, and the element information item is valid with
respect to it. Reading section 3.3.5 of XML Schema: Structures,[3] I believe
that the PSVI for my:child will have [validity] property "valid" and
[validation attempted] "full", and the PSVI for my:doc will have [validity]
property "notKnown" and [validation attempted] "partial". So from the text
I've quoted in XDM, the type of my:doc should be xs:anyType, which agrees with
XSLT.
However, if neither my:doc nor my:child have element declarations, my reading
of Structures is that the PSVI for both my:doc and for my:child will have
[validity] property "notKnown" and [validation attempted] "none", and so the
type of both nodes should be xs:untyped, according to XDM, which conflicts with
the assertion I've quoted from XSLT 2.0.
I suggest correcting this by striking the sentence that begins "Any nodes whose
validation outcome is a validity property of notKnown" from the fourth bullet
of 19.2.1.1 of XSLT 2.0.
[1] http://www.w3.org/TR/xslt20/#validating-using-validation-attribute
[2] http://www.w3.org/TR/xpath-datamodel/#PSVI2NodeTypes
[3] http://www.w3.org/TR/xmlschema-1/#d0e5070
--
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Monday, 25 May 2009 16:44:49 UTC