- From: W. Eliot Kimber <eliot@isogen.com>
- Date: Thu, 22 May 1997 18:29:32 -0500
- To: Michael Sperberg-McQueen <U35395@UICVM.UIC.EDU>, W3C SGML Working Group <w3c-sgml-wg@w3.org>
At 05:00 PM 5/22/97 CDT, Michael Sperberg-McQueen wrote: >I'm seduced. I think it would be very useful, and not too horrifyingly >complex, to say an xpointer returns either (a) a set of elements >or (b) a pair of locations which bound some section of the document. >The only interpretation I've ever been able to find for what a span >is actually pointing at is 'the frontier of the tree'--which for most >purposes just means 'the string of characters', but which also leaves >open the possibility that the process can do something useful with >information about the part of the tree attached to /adjacent to >that part of the frontier. As defined in terms of groves in HyTime, a span addresses the list of nodes in the grove from the span start to the span end, inclusive, in left-list pre-order traversal. The nodes are either those in the content tree that includes all of the span or the nodes in the subnode tree that includes the span. Groves make a distinction between properties that are designated as containing "content" and all other properties--the tree of all nodes is the subnode tree, the tree of nodes in content properties is a content tree [thus the term "grove" rather than the more generic "parse tree"]. Thus, there's no ambiguity about what a span addresses when addressing a grove (which is all DSSSL and HyTime can address). Note that in the SGML property set, each character in character data is a node in the tree (node class "datachar"). In the default SGML grove plan (used by DSSSL), the characters are the direct children of elements. In the HyTime default grove plan (used by HyTime and the TEI), pelements are the direct children of elements, with the data characters children of the pelements. In the abstract properties, there is no direct property of an element or pelement that is the string of characters in its content. Instead, you must process a list of datachar nodes to build such a string (but I believe DSSSL provides a function to do just that in the core expression language). [The "markup" properties include the original document string, but they are not included in either the SGML default grove plan or the default HyTime grove plan.] Cheers, E.
Received on Thursday, 22 May 1997 19:32:12 UTC