Re: Link-3: Sets, Singletons, and Determinism

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