- From: W. Eliot Kimber <eliot@isogen.com>
- Date: Thu, 29 May 1997 19:21:04 -0900
- To: w3c-sgml-wg@w3.org
All, Just to prove to myself that it really was true, here's how the current XML extended link can be derived from the new (in the TC) HyTime varlink element form. Here are the relevant parts of the HyTime meta-DTD (I've omitted those attributes that don't correspond to anything in XML Link): <!element varlink -- Variable link -- -- Clause: 8.2.4 -- - O (anchspec+) > <!attlist varlink anchrole -- Anchor role of varlink element if a self anchor -- NAME #IMPLIED -- Default: varlink element is not a self anchor -- > <!element anchspec -- Anchor specification -- -- Clause: 8.2.4 -- - O (#PCDATA)* -- Reference -- > <!attlist anchspec anchrole -- Anchor role of varlink element if a self anchor -- NAME #IMPLIED -- Default: varlink element is not a self anchor -- loctype CDATA #IMPLIED -- Specifies the form of location address used by referential attributes or content -- > Here's a sample document derived from XML Link and HyTime varlink. I've included the architecture declarations, which aren't valid XML (because XML doesn't [yet] support notation attributes), so you can run this document through NSGMLS or SGMLNORM if you want to). Obviously, to make this a conforming XML document, you'd omit the architecture declarations--any HyTime-aware tool would still understand the HyTime attribute and other attributes defined by the HyTime standard--it's only general architecture processors like SP that really need the architecture declarations. <!DOCTYPE XML-Link-Test [ <?ArcBase HyTime> <!ENTITY hytime.meta-DTD SYSTEM "hytime.mdt" > <!NOTATION HyTime PUBLIC "ISO/IEC 10744:1992//NOTATION Hypermedia/Time-Based Structuring Language//EN" > <!ATTLIST #NOTATION HyTime ArcFormA NAME #FIXED "HyTime" ArcNamrA NAME #FIXED "HyNames" ArcDTD CDATA #FIXED "hytime.meta-DTD" ArcDocF NAME #FIXED "hydoc" ArcAuto NAME #FIXED "arcauto" > <!ELEMENT XML-Link-Test - - (XLink+) > <!NOTATION XMLLoc PUBLIC "-//W3C//NOTATION XML Link Locator Specification//EN"> <!-- NOTE: I don't pretend that this publid ID is correct. --> <!ELEMENT XLink - - (Locator+) > <!ATTLIST XLink xml-link NAME #FIXED "extended" HyTime NAME #FIXED "varlink" > <!ELEMENT Locator - O EMPTY> <!ATTLIST Locator xml-link NAME #FIXED "locator" HyTime NAME #FIXED "anchspec" role NAME #IMPLIED href CDATA #REQUIRED HyNames CDATA #FIXED "#ARCCONT href anchrole role" loctype CDATA #FIXED "href queryloc xmlloc" > ]> <xml-link-test> <xlink> <locator href="www.drmacro.com/rich-iii/index.html" role="foo"> <locator href="www.drmacro.com/hyperlink/index.html" role="bar"> </xlink> </xml-link-test> Here is the result of processing the above with SGMLNORM, requesting the HyTime architectural instance, rather than the client instance: C:\techdoc>sgmlnorm -A Hytime linktest.sgm <HYDOC><VARLINK> <ANCHSPEC ANCHROLE="FOO" LOCTYPE="href queryloc xmlloc"> www.drmacro.com/rich-iii/index.html</ANCHSPEC> <ANCHSPEC ANCHROLE="BAR" LOCTYPE="href queryloc xmlloc"> www.drmacro.com/hyperlink/index.html</ANCHSPEC> </VARLINK></HYDOC> I leave treating the XML Link spec as a formal architecture as an exercise to the reader. Cheers, E. -- <Address HyTime=bibloc> W. Eliot Kimber, Senior Consulting SGML Engineer Highland Consulting, a division of ISOGEN International Corp. 2200 N. Lamar St., Suite 230, Dallas, TX 95202. 214.953.0004 www.isogen.com </Address>
Received on Thursday, 29 May 1997 21:24:50 UTC