[Prev][Next][Index][Thread]

Re: URLs/MIME only?



At 09:55 AM 12/31/96 -0900, W. Eliot Kimber wrote:
>At 10:21 PM 12/30/96 -0500, Gavin Nicol wrote:

>>   /foo.sgm/4/2/99                 - Child numbers
>>   /foo.sgm/chap=1/sect=2/para=45  - Typed children
...
>
>The only problem with this approach is the same one HyTime and DSSSL faced:
>what objects make up the nodes of the tree you're addressing.  We currently
>have three different tree views of SGML documents in established specs:
>
>1. DSSSL default grove plan: characters and elements are children of elements
>2. HyTime default grove plan: pelements and elements are children of elements
>3. TEI implicit grove plan: elements only are children of elements

Actually, TEI explicitly includes and counts pseudo-elements, so 2 and 3 are
actually identical for most purposes (except maybe for counting PIs). TEI
can even address the pseudo-element via a reserved pseudo-GI, for example:

     /foo.sgm/chap=1/sect=2/para=45/#CDATA=4

Of course, if you used typed steps like this, you're only counting instances
of particular element types, so pseudo-elements wouldn't get in the way; if
you leave out the GI, they're counted like other children.

By the way, gtn used the early draft (1990) TEI syntax for these examples
(as above). It was greatly extended in the final (1994) version (see below).
The most visible change was to switch to a parenthesized syntax instead of
slashes; this allowed adding some nice features for walking up down and
sideways in document trees, matching GIs and attributes vs. regexes, and so
on, and makes it easier to extend later without disruption (like if new
parameters or terms are needed). 

TEI extended pointers can also refer to graphics and hotspots, as well as
refer out to HyTime location addresses just as HyTime can refer out to TEI;
and there are several elements defined for creating n-ary and out-of-line
links, link typing, indirection, and so on.


>Another choice, of course, would be to use TEI locators as queries:
>
>/foo.sgm?DESCENDANT%20(1%20chap%202%20SECT%2045%20para)

Someone commented that this is ugly to type, but that's because the spaces
are escaped as "%20": that's part of URL-passing protocol, not part of TEI.
Except for that it's pretty readable even after you add the parens someone
forgot -- certainly this isn't too tough to understand or replicate:

  /foo.sgm?DESCENDANT (1 chap) (2 SECT) (45 para)

Steve D