home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / text / sgml / 1285 < prev    next >
Encoding:
Internet Message Format  |  1993-01-11  |  2.8 KB

  1. Path: sparky!uunet!ralvm13.VNET.IBM.COM
  2. From: drmacro@ralvm13.VNET.IBM.COM
  3. Message-ID: <19930111.074459.59@almaden.ibm.com>
  4. Date: Mon, 11 Jan 93 10:42:28 EST
  5. Newsgroups: comp.text.sgml
  6. Subject: Re: FrameBuilder
  7.           HyTime Stuff
  8. Disclaimer: This posting represents the poster's views, not those of IBM
  9. News-Software: UReply 3.1
  10. Lines: 58
  11.  
  12. In an earlier posting, I showed a HyTime example that
  13. used nameloc to create a location chain ending in a dataloc
  14. element that located character data in a non-SGML file.
  15. I had though that HyTime required a nameloc element to
  16. create a location ladder, but I apparently misread the standard
  17. (that's what I get for creating appends early on Saturday
  18. mornings).
  19.  
  20. Looking back over ISO 10744, I can't find anything that would
  21. suggest I *can't* refer directly to a dataloc by its own
  22. ID, allowing me to reduce my somewhat convoluted ContentRefSpec
  23. element to no more than an application-specific instance
  24. of the dataloc form (further simplified by allowing an
  25. ENTITY= attribute directly on ContentRefSpec in place of
  26. locsrc=):
  27.  
  28. <!ELEMENT ContentRefSpec - O (marklist*) >
  29. <!ATTLIST ContentRefSpec
  30.              HyTime         NAME   #FIXED     dataloc
  31.              DataContainter ENTITY #REQUIRED  --replaces locsrc--
  32. >
  33.  
  34. Note that the minimized markup from my earlier posting and
  35. the markup for the above definition are the same:  ContentRefSpec
  36. containing marklists defining the data positions within the data
  37. entity.  I've just simplified the underlying system itself.
  38.  
  39. I might want to keep my original, more complex, definition
  40. if I need the following:
  41.  
  42. o The need to refer to multiple dataloc elements in order to
  43.   define an aggregate location.  This requires a nameloc in order
  44.   to provide a single local ID for multiple targets.  This is the
  45.   power of the indirection of nameloc.  Think of it as an amplifier,
  46.   where each opportunity for indirection is an opportunity to
  47.   specify more target anchors for the links.
  48.  
  49. o The desire to provide application-specific elements with
  50.   ContentRefSpec.  For example, I like to require a description
  51.   element in elements to make the elements self-documenting,
  52.   e.g.:
  53.  
  54.   <ContentRefSpec><desc>Purpose of this link</>
  55.     <marklist>...
  56.   </ContentRefSpec>
  57.  
  58. o Complete separation of HyTime elements and application-specific
  59.   elements.  Using this design principle removes the need to
  60.   require HyTime support for support of your application if the
  61.   functions HyTime provides are optional within your application.  It
  62.   also makes the boundary between your application and HyTime
  63.   very clear and precise.
  64.  
  65. Eliot Kimber                      Internet:  drmacro@ralvm13.vnet.ibm.com
  66. Dept E14/B500                     IBMMAIL:   USIB2DK9@IBMMAIL
  67. Network Programs Information Development     Phone: 1-919-543-7091
  68. IBM Corporation
  69. Research Triangle Park, NC 27709
  70.