- From: <bugzilla@jessica.w3.org>
- Date: Sun, 13 Nov 2016 11:25:54 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=30002 Bug ID: 30002 Summary: [XSLT30]XSD schema for xsl:function element does not declare the "cache" attribute 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: martin.honnen@gmx.de QA Contact: public-qt-comments@w3.org Target Milestone: --- Looking at https://www.w3.org/2012/07/schema-for-xslt30.xsd#elem_function I don't see any declaration of the boolean "cache" attribute introduced in https://www.w3.org/TR/xslt-30/#memoization respectively listed in https://www.w3.org/TR/xslt-30/#dt-stylesheet-function. The schema inlined in the current spec https://www.w3.org/XML/Group/qtspecs/specifications/xslt-30/html/#xsd11-schema-for-xslt has it with <xs:element name="function" substitutionGroup="xsl:declaration"> <xs:complexType> <xs:complexContent mixed="true"> <xs:extension base="xsl:versioned-element-type"> <xs:sequence> <xs:element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/> <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="xsl:EQName-in-namespace"/> <xs:attribute name="override" type="xsl:yes-or-no" default="yes"/> <xs:attribute name="as" type="xsl:sequence-type" default="item()*"/> <xs:attribute name="visibility" type="xsl:visibility-type"/> <xs:attribute name="streamability" type="xsl:streamability-type"/> <xs:attribute name="override-extension-function" type="xsl:yes-or-no"/> <xs:attribute name="new-each-time" type="xsl:yes-or-no-or-maybe"/> <xs:attribute name="cache" type="xsl:yes-or-no"/> <xs:attribute name="_name" type="xs:string"/> <xs:attribute name="_override" type="xs:string"/> <xs:attribute name="_as" type="xs:string"/> <xs:attribute name="_visibility" type="xs:string"/> <xs:attribute name="_streamability" type="xs:string"/> <xs:attribute name="_override-extension-function" type="xs:string"/> <xs:attribute name="_identity-sensitive" type="xs:string"/> <xs:attribute name="_cache" type="xs:string"/> <xs:assert test="exists(@name | @_name)"/> <xs:assert test="every $e in xsl:param satisfies (empty($e/(@select | @_select)) and empty($e/child::node()))"> <xs:annotation> <xs:documentation> <p>A parameter for a function must have no default value.</p> </xs:documentation> </xs:annotation> </xs:assert> <xs:assert test="every $e in xsl:param satisfies empty($e/(@visibility | @_visibility))"> <xs:annotation> <xs:documentation> <p>A parameter for a function must have no <code>visibility</code> attribute.</p> </xs:documentation> </xs:annotation> </xs:assert> <xs:assert test="every $e in xsl:param satisfies empty($e/(@required | @_required))"> <xs:annotation> <xs:documentation> <p>A parameter for a function must have no <code>required</code> attribute.</p> </xs:documentation> </xs:annotation> </xs:assert> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> but the separate online schema only has <xs:element name="function" substitutionGroup="xsl:declaration"> <xs:complexType> <xs:complexContent mixed="true"> <xs:extension base="xsl:versioned-element-type"> <xs:sequence> <xs:element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/> <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="xsl:EQName" use="required"/> <xs:attribute name="override" type="xsl:yes-or-no" default="yes"/> <xs:attribute name="as" type="xsl:sequence-type" default="item()*"/> <xs:attribute name="visibility" type="xsl:visibility-type"/> <xs:assert test="every $e in xsl:param satisfies (empty($e/@select) and empty($e/child::node()))"> <xs:annotation> <xs:documentation> <p>A parameter for a function must have no default value.</p> </xs:documentation> </xs:annotation> </xs:assert> <xs:assert test="every $e in xsl:param satisfies empty($e/@visibility)"> <xs:annotation> <xs:documentation> <p>A parameter for a function must have no <code>visibility</code> attribute.</p> </xs:documentation> </xs:annotation> </xs:assert> <xs:assert test="every $e in xsl:param satisfies empty($e/@required)"> <xs:annotation> <xs:documentation> <p>A parameter for a function must have no <code>required</code> attribute.</p> </xs:documentation> </xs:annotation> </xs:assert> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> so the "cache" attribute and all the shadow attributes are missing in the separate schema. I think the schemas ought to be identical. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Sunday, 13 November 2016 11:26:02 UTC