- From: C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com>
- Date: Thu, 14 Mar 2013 11:55:47 -0600
- To: James Clark <jjc@jclark.com>
- Cc: "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com>, www-xpath-comments@w3.org
On Mar 14, 2013, at 9:51 AM, James Clark wrote: > On Thu, Mar 14, 2013 at 10:34 PM, C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com> wrote: > > If there was no intent to define the data model without dependencies on XML 1.0, then at least half the > text in section 5 is pointless, unnecessary repetition of things that are obvious from the XML spec. > > Please identify this half. I just reread section 5, and I'm not seeing it. If we assume (as some readers of the XPath 1.0 spec are inclined to claim) (a) that every occurrence of a string type that matches the element production of the XML 1.0 grammar (as modified by XML Names) is a distinct element; (b) that the data model is not intended to be independent of the serialized XML form; (c) that the statement "There is an ordering, document order, defined on all the nodes in the document corresponding to the order in which the first character of the XML representation of each node occurs in the XML representation of the document after expansion of general entities" is a normative statement about document order, and not a non-normative observation about document order as specified elsewhere; then the following sentences seem to be either unnecessary repetitions of simple facts that follow from the 1:1 relation between nodes in the data model instance and constructs in the XML spec, or contradictions of things normatively stated either in the XML spec, the namespaces spec, or elsewhere in XPath 1.0 (especially assumption (c)). These probably (I haven't actually counted) constitute fewer than 50% of the clauses in section 5, so I was probably guilty of exaggeration when I said "half" the text of section 5 is pointless. 1 "Some types of nodes also have an expanded-name." Follows from XML 1.0 + Namespaces 1.0. 2 "an expanded-name ... is a pair consisting of a local part and a namespace URI." Follows from Namespaces 1.0. 3 "The namespace URI specified in the XML document can be a URI reference as defined in [RFC2396];" (original text), or "A namespace name specified in a namespace declaration in an XML document is a URI reference as defined in [RFC2396];" (erratum). Follows from Namespaces 1.0. 4 "this means it can have a fragment identifier and can be relative." (original text), or "this implies it can have a fragment identifier and can be relative." (erratum). Follows from RFC 2396 (but clearly labeled as such, so it really doesn't count in this enumeration). 5 "Element nodes occur before their children." Follows from XML 1.0 (together with the immediately preceding normative definition of document order). 6 "The attribute nodes and namespace nodes of an element occur before the children of the element." Follows from XML 1.0 (together with the normative definition of document grammar). 7 "The namespace nodes are defined to occur before the attribute nodes." Contradicts the normative statement of document order. 8 "The relative order of namespace nodes is implementation-dependent." Contradicts the normative statement of document order. 9 "The relative order of attribute nodes is implementation-dependent." Contradicts the normative statement of document order. 10 "Nodes never share children: if one node is not the same node as another node, then none of the children of the one node will be the same node as any of the children of another node." Follows from assumption (a). 11 "Every node other than the root node has exactly one parent, which is either an element node or the root node." Follows from XML 1.0 (assuming the usual usage of the word "parent" in XML contexts). 12 "A root node or an element node is the parent of each of its child nodes." (Ditto.) 13 "The element node for the document element is a child of the root node." Follows from XML 1.0. 14 "The root node also has as children processing instruction and comment nodes for processing instructions and comments that occur in the prolog and after the end of the document element." Follows from XML 1.0. 15 "The root node does not have an expanded-name." Follows from XML 1.0 + Namespaces 1.0. At this point, this exercise is costing me more tedium than I have patience for, so I am going to stop. I will leave the rest of section 5 as an exercise for the reader. I am sorry that we do not agree as to the quality of work in the XPath 1.0 spec. I believe it is good work that includes a few simple errors that are easily fixed, and that the basic structure of the work is good enough to be worth fixing; you seem to be arguing that it's shoddy work never intended to be correct or to make good on the implications of the term "data model", and that any fix would constitute a major renovation. Some members of the XSLT WG, I regret to say, also seem to fear that saying explicitly that the parent axis and sibling axes are acyclic and that document order is total might introduce contradictions with the rest of the specification. Oh, well. -- **************************************************************** * C. M. Sperberg-McQueen, Black Mesa Technologies LLC * http://www.blackmesatech.com * http://cmsmcq.com/mib * http://balisage.net ****************************************************************
Received on Thursday, 14 March 2013 17:56:15 UTC