home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_n_r / draft-pam-html-fine-trans-00.txt < prev    next >
Text File  |  1997-02-25  |  7KB  |  169 lines

  1. INTERNET DRAFT                                                Andrew Pam
  2. <draft-pam-html-fine-trans-00.txt>                        Project Xanadu
  3. Expires 2 September 1997                                    2 March 1997
  4.  
  5.        Fine-Grained Transclusion in the Hypertext Markup Language
  6.  
  7. Status of this Memo
  8.  
  9.    This document is an Internet-Draft.  Internet-Drafts are working doc-
  10.    uments of the Internet Engineering Task Force (IETF), its areas, and
  11.    its working groups.  Note that other groups may also distribute work-
  12.    ing documents as Internet-Drafts.
  13.  
  14.    Internet-Drafts are draft documents valid for a maximum of six
  15.    months.  Internet-Drafts may be updated, replaced, or obsoleted by
  16.    other documents at any time.  It is not appropriate to use Internet-
  17.    Drafts as reference material or to cite them other than as a "working
  18.    draft" or "work in progress".
  19.  
  20.    To learn the current status of any Internet-Draft, please check the
  21.    1id-abstracts.txt listing contained in the Internet-Drafts Shadow
  22.    Directories on ds.internic.net (US East Coast), nic.nordu.net
  23.    (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
  24.    Rim).
  25.  
  26.    Distribution of this document is unlimited.  Please send comments
  27.    to the author at <xanni@xanadu.net>.  This document is intended to
  28.    become an informational RFC, and its content is designed for adoption
  29.    in other standards and specifications.
  30.  
  31.  
  32. Abstract
  33.  
  34.    The word "hypertext" was coined by Theodor Holm Nelson in his paper
  35.    "A File Structure for the Complex, the Changing and the
  36.    Indeterminate", presented at the ACM 20th national conference in
  37.    1965.  One of the key concepts in Nelson's vision of hypertext is
  38.    "transclusion" or virtual inclusion, which permits composite
  39.    documents to be constructed by reference to the original components
  40.    rather than by copying.
  41.  
  42.    The Hypertext Markup Language (HTML) is a markup language used
  43.    to create hypertext documents that are platform independent.
  44.    HTML currently permits the transclusion of various content types
  45.    using tags which accept a "SRC" attribute, such as the <IMG>, <EMBED>
  46.    and <APPLET> tags, but does not provide a mechanism for transcluding
  47.    textual content.  This document proposes markup for text
  48.    transclusions in HTML and explains its usage.
  49.  
  50.                         Expires 2 September 1997            [Page 1]
  51.  
  52. Internet Draft            Transclusion in HTML              2 March 1997
  53.  
  54. Introduction
  55.  
  56.    The Hypertext Markup Language (HTML) [RFC1866] is a simple markup
  57.    language used to create hypertext documents that are platform
  58.    independent.  This draft describes markup for an additional feature
  59.    needed to support Nelson's vision of composite documents constructed
  60.    by reference to the original documents.  For more information, see
  61.    http://www.xanadu.net/xanadu/
  62.  
  63.  
  64. Syntax
  65.  
  66.    The proposal is to add an HTML tag with the following syntax:
  67.  
  68.    <TEXT SRC=(URI) {PLAIN} {RANGE=(start),(end)}> 
  69.  
  70.    Where parentheses () enclose variable parameters and braces {}
  71.    enclose optional elements.
  72.  
  73.    The SRC attribute is mandatory, and specifies the source document
  74.    from which text is to be transcluded.  (URI) must be the Universal
  75.    Resource Identifier of a plain text or HTML document.  If the source
  76.    document is HTML and the optional PLAIN attribute is specified,
  77.    all HTML tags are removed and all SGML entities converted to the
  78.    characters they represent.  If PLAIN is omitted, the source document
  79.    is transcluded verbatim.  In either case, only the contents of the
  80.    <BODY> element of the source document is transcluded.  If the source
  81.    document is already plain text, the PLAIN attribute has no effect.
  82.  
  83.    If the optional RANGE attribute is specified, only part of the
  84.    source document is transcluded.  (start) and (end) are integers
  85.    representing character offsets from the beginning of the source
  86.    document (immediately after the <BODY> tag for HTML) or negative
  87.    character offsets from the end of the source document (immediately
  88.    before the </BODY> tag for HTML).  If (end) is zero, the source
  89.    document is transcluded until the end.
  90.  
  91.  
  92. Implementation
  93.  
  94.    The intention is to have a facility in authoring programs that
  95.    permits the author to create transclusions by indicating an insertion
  96.    point, viewing the document from which they wish to transclude,
  97.    and marking the region to be transcluded, much in the manner of a
  98.    traditional "cut and paste" operation except that what is actually
  99.    pasted is the reference to the transcluded portion rather than the
  100.    literal text.
  101.  
  102.    Initially, this could be a small editing program purely for adding
  103.    transclusions to existing documents. It has also been suggested that
  104.    people might wish to add transclusions by hand, in which case it
  105.    might be desirable to have other ways of specifying the start and end
  106.    of the range besides just the byte offsets, which are inconvenient
  107.    to determine by hand.
  108.  
  109.                         Expires 2 September 1997            [Page 2]
  110.  
  111. Internet Draft            Transclusion in HTML              2 March 1997
  112.  
  113. Possible Extensions
  114.  
  115.    The following additional formats have been proposed for the (start)
  116.    and (end) values:
  117.  
  118.    1. HTML target anchors <A NAME="target"> within the source
  119.       document, indicated by a hash character followed by the anchor
  120.       name.  These can optionally be followed by a positive or negative
  121.       character offset from immediately before the tag, for example
  122.       "RANGE=#start+5,#end-1".
  123.  
  124.    2. Paragraphs within the source document, indicated by the letter P
  125.       and the paragraph number counting from the beginning of the
  126.       document.  These can optionally be followed by a positive or
  127.       negative character offset from the start of the paragraph, for
  128.       example "RANGE=P5+2,P9-3".  A paragraph break is represented
  129.       by one or more blank lines in a plain text document and the <P>
  130.       tag in an HTML document.
  131.  
  132.    3. Pattern matches within the source document, indicated by slashes
  133.       or single or double quotes delimiting the pattern to match and
  134.       optionally the letter I indicating a case insignificant match.
  135.       Pattern matches were suggested by Paul Haeberli in his "Merge"
  136.       script [MERGE].  These can optionally be followed by a positive or
  137.       negative character offset from the start of the match, for example
  138.       "RANGE=/<ADDRESS>/i+3,'</ADDRESS>'i-5".  Only the first match is
  139.       used, and the transclusion is not performed at all if a match
  140.       can not be found in the source document.
  141.  
  142.  
  143. Acknowledgements
  144.  
  145.    Paul Haeberli <paul@sgi.com>
  146.    Theodor Holm Nelson <ted@xanadu.net>
  147.    Yousuke Igarashi <yousuke@crew.sfc.keio.ac.jp>
  148.  
  149.  
  150. References
  151.  
  152.    [MERGE]        http://reality.sgi.com/grafica/merge/
  153.  
  154.    [RFC1866]      T. Berners-Lee and D. Connolly, "Hypertext Markup Lan-
  155.                   guage - 2.0" (RFC1866), MIT/W3C, November 1995.
  156.  
  157.  
  158. Author's Address
  159.  
  160.    Andrew Pam
  161.    Project Xanadu
  162.    P.O. Box 26 East Melbourne VIC 8002 Australia
  163.  
  164.    Phone: +61 3 9651 1511
  165.    Fax:   +61 3 9651 1502
  166.    Email: xanni@xanadu.net
  167.  
  168.                         Expires 2 September 1997            [Page 3]
  169.