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

Re: Permitting non-indirect links



At 12:45 PM 1/14/97 -0500, David G. Durand wrote:
>>
>>The problem is that HyTime location ladders don't seem to allow you to point
>>to subsections of location sources. For example, can I do a location address
>>just to a DNS, and then another just to a directory path at the DNS. I don't
>>think I can using pure HyTime, but I would sure like to for XML link >
>>management.
>
>You could do something like this, I think (Eliot: apologies for any
>syntactic gaffes, but I am prety sure of the semantics)
>
><a dest="url-chain">
><location id="url-chain" locsrc="chain1" url="#x">
><location id="chain1" locsrc="chain2" url="alpha.html">
><location id="chain2" locsrc="chain3" url="/oii/en/"
>
>etc...
>
>We would need to define that relative URL semantics apply when a URL is the
>locsrc for a URL. This makes sense.

I think this makes sense in HyTime.  As David points out, because URLs are
a query (to HyTime), the URL notation processor (the thing that knows how
to make sense of URLs) would define what it means to make a part of a URL a
location source.  In general HyTime/grove terms, I would interpret the
above location ladder as follows:

1. Loc "chain2" addresses the storage location "/oii/en".  This could be
intepreted as a "container storage object" in the sense that a directory in
a file system "contains" the files within it.

2. Loc "chain1" addresses the contained object "alpha.html" within it's
location source, the "container" (directory) "/oii/en".

3. Loc "url-chain" addresses the named object "x" within its location
source, the document "alpha.html".

Another way to represent this chain in the HyTime world would be to use
Formal System Identifiers to build the location chain (which would probably
please Martin "Mr. Entity" Bryan more):

<!DOCTYPE MyDoc [
<!ENTITY host1  SYSTEM "<url>http://www.somewhere.com" >
<!ENTITY chain2 SYSTEM "<url soibase=host1>/oii/en" >
<!ENTITY chain1 SYSTEM "<url soibase=chain2>alpha.html" >
]>
<urlloc id=url-chain locsrc=chain1 url="#x">

Where the "SOIbase" attribute points to the entity whose on system ID is to
be prepended to yours.  Thus, the effective URL of the chain is
"http://www.somewhere.com/oii/en/alpha.html".

Comes to the same thing and the semantics of URL interpretation are the
same, but some might prefer to use entities for this rather than location
addresses (for example, because they can put the SYSTEM IDs in catalogs).

Cheers,

E.
--
W. Eliot Kimber (eliot@isogen.com) 
Senior SGML Consulting Engineer, Highland Consulting
2200 North Lamar Street, Suite 230, Dallas, Texas 75202
+1-214-953-0004 +1-214-953-3152 fax
http://www.isogen.com (work) http://www.drmacro.com (home)
"Rats in the morning, rats in the afternoon...if they don't go away, I'll be
re-educated soon..."                 --Austin Lounge Lizards, "1984 Blues"