home *** CD-ROM | disk | FTP | other *** search
/ AOL File Library: 12,000 to 12,999 / 12000.zip / AOLDLs / Online-Tools / HTML v3.0 / HTML.lzh / HTML / HTML3.TXT
Encoding:
Text File  |  1995-04-02  |  382.9 KB  |  10,831 lines

  1. HTML 3.0                                                       28th March 1995
  2.  
  3.  
  4.  
  5.    INTERNET DRAFT                                 Dave Raggett, W3C
  6.  
  7.    Expires in six months                          email: <dsr@w3.org>
  8.  
  9.  
  10.  
  11.              HyperText Markup Language Specification Version 3.0
  12.  
  13.  
  14.  
  15.                        <draft-ietf-html-specv3-00.txt>
  16.  
  17.  
  18.  
  19. Status of this Memo
  20.  
  21.  
  22.  
  23.    This document is an Internet draft. Internet drafts are working
  24.  
  25.    documents of the Internet Engineering Task Force (IETF), its areas
  26.  
  27.    and its working groups. Note that other groups may also distribute
  28.  
  29.    working information as Internet drafts. 
  30.  
  31.  
  32.  
  33.    Internet Drafts are draft documents valid for a maximum of six
  34.  
  35.    months and can be updated, replaced or obsoleted by other documents
  36.  
  37.    at any time. It is inappropriate to use Internet drafts as reference
  38.  
  39.    material or to cite them as other than as "work in progress". 
  40.  
  41.  
  42.  
  43.    To learn the current status of any Internet draft please check the
  44.  
  45.    "lid-abstracts.txt" listing contained in the Internet drafts shadow
  46.  
  47.    directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  48.  
  49.    munnari.oz.au (Pacific Rim), ds.internic.net (US East coast) or
  50.  
  51.    ftp.isi.edu (US West coast). Further information about the IETF can
  52.  
  53.    be found at URL: http://www.cnri.reston.va.us/ 
  54.  
  55.  
  56.  
  57.    Distribution of this document is unlimited. Please send comments to
  58.  
  59.    the HTML working group (HTML-WG) of the Internet Engineering Task
  60.  
  61.    Force (IETF) at <html-wg@wg.oclc.org>. Discussions of this group are
  62.  
  63.    archived at URL: http://www.acl.lanl.gov/HTML-WG/archives.html. 
  64.  
  65.  
  66.  
  67. Abstract
  68.  
  69.  
  70.  
  71.    The HyperText Markup Language (HTML) is a simple markup language
  72.  
  73.    used to create hypertext documents that are portable from one
  74.  
  75.    platform to another. HTML documents are SGML documents with generic
  76.  
  77.    semantics that are appropriate for representing information from a
  78.  
  79.    wide range of applications. HTML markup can represent hypertext
  80.  
  81.    news, mail, documentation, and hypermedia; menus of options;
  82.  
  83.    database query results; simple structured documents with inlined
  84.  
  85.    graphics and hypertext views of existing bodies of information. 
  86.  
  87.  
  88.  
  89.    This specification defines the capabilities of HTML version 3.0 and
  90.  
  91.    provides additional capabilities over previous versions such as
  92.  
  93.    tables, text flow around figures and math. It is backwards
  94.  
  95.    compatible with HTML 2.0. 
  96.  
  97.  
  98.  
  99.    [Link to Table of Contents]--  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113. Dave Raggett                                                            Page 1
  114.  
  115. HTML 3.0                                                       28th March 1995
  116.  
  117.  
  118.  
  119. Table of Contents
  120.  
  121.  
  122.  
  123.    1.  Introduction  ...................................................... 4
  124.  
  125.  
  126.  
  127.        a)  How to participate in refining HTML 3.0  ....................... 4
  128.  
  129.  
  130.  
  131.        b)  HTML 3.0 Overview  ............................................. 4
  132.  
  133.  
  134.  
  135.        c)  Transition strategy from HTML 2.0  ............................. 5
  136.  
  137.  
  138.  
  139.        d)  Design Guidelines for HTML 3.0  ................................ 6
  140.  
  141.  
  142.  
  143.    2.  Understanding HTML and MIME  ....................................... 9
  144.  
  145.  
  146.  
  147.    3.  Understanding HTML and SGML  ...................................... 10
  148.  
  149.  
  150.  
  151.    4.  The Structure of HTML 3.0 Documents  .............................. 15
  152.  
  153.  
  154.  
  155.    5.  The HEAD Element and Related Elements  ............................ 17
  156.  
  157.  
  158.  
  159.    6.  The BODY Elements  ................................................ 24
  160.  
  161.  
  162.  
  163.        a)  Banners  ...................................................... 26
  164.  
  165.  
  166.  
  167.        b)  Divisions  .................................................... 27
  168.  
  169.  
  170.  
  171.        c)  Heading Elements  ............................................. 29
  172.  
  173.  
  174.  
  175.        d)  Paragraphs  ................................................... 33
  176.  
  177.  
  178.  
  179.        e)  Line Breaks  .................................................. 36
  180.  
  181.  
  182.  
  183.        f)  Horizontal Tabs  .............................................. 38
  184.  
  185.  
  186.  
  187.        g)  Hypertext Links  .............................................. 40
  188.  
  189.  
  190.  
  191.        h)  Overview of Character-Level Elements  ......................... 44
  192.  
  193.  
  194.  
  195.            -   Information Type Elements  ................................ 46
  196.  
  197.  
  198.  
  199.            -   Font Style Elements  ...................................... 48
  200.  
  201.  
  202.  
  203.        i)  The IMG (Image) Element  ...................................... 50
  204.  
  205.  
  206.  
  207.        j)  Unordered Lists  .............................................. 53
  208.  
  209.  
  210.  
  211.        k)  Ordered Lists  ................................................ 59
  212.  
  213.  
  214.  
  215.        l)  Definition Lists  ............................................. 62
  216.  
  217.  
  218.  
  219.        m)  Figures  ...................................................... 69
  220.  
  221.  
  222.  
  223.        n)  Tables  ....................................................... 77
  224.  
  225.  
  226.  
  227. Dave Raggett                                                            Page 2
  228.  
  229. HTML 3.0                                                       28th March 1995
  230.  
  231.  
  232.  
  233.  
  234.  
  235.        o)  Math -- missing entity names --  .............................. 92
  236.  
  237.  
  238.  
  239.        p)  Horizontal Rules  ............................................ 111
  240.  
  241.  
  242.  
  243.        q)  Preformatted Text  ........................................... 113
  244.  
  245.  
  246.  
  247.        r)  Admonishments  ............................................... 116
  248.  
  249.  
  250.  
  251.        s)  Footnotes  ................................................... 118
  252.  
  253.  
  254.  
  255.        t)  Block Quotes  ................................................ 120
  256.  
  257.  
  258.  
  259.        u)  The ADDRESS Element  ......................................... 122
  260.  
  261.  
  262.  
  263.        v)  Fill-out Forms  .............................................. 124
  264.  
  265.  
  266.  
  267.    7.  Special Characters  .............................................. 142
  268.  
  269.  
  270.  
  271.    8.  Security Considerations  ......................................... 145
  272.  
  273.  
  274.  
  275.    9.  HTML 3.0 Document Type Definition 
  276.  
  277.  
  278.  
  279.        a)  The SGML Declaration  ........................................ 146
  280.  
  281.  
  282.  
  283.        b)  The Latin-1 Character Entities -- needs work  ................ 148
  284.  
  285.  
  286.  
  287.        c)  Math and Greek Entities -- under construction  ............... 154
  288.  
  289.  
  290.  
  291.        d)  HTML Icon Entities  .......................................... 156
  292.  
  293.  
  294.  
  295.        e)  The HTML 3.0 DTD  ............................................ 157
  296.  
  297.  
  298.  
  299.    10. Terms -- needs work  ............................................. 185
  300.  
  301.  
  302.  
  303.    11. References -- needs work  ........................................ 188
  304.  
  305.  
  306.  
  307.    12. Acknowledgements -- needs work  .................................. 189
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341. Dave Raggett                                                            Page 3
  342.  
  343. HTML 3.0                                                       28th March 1995
  344.  
  345.  
  346.  
  347. Introduction to HTML 3.0
  348.  
  349.  
  350.  
  351.    HyperText Markup Language (HTML) is a simple markup system used to
  352.  
  353.    create hypertext documents that are portable from one platform to
  354.  
  355.    another. HTML documents are SGML documents with generic semantics
  356.  
  357.    that are appropriate for representing information from a wide range
  358.  
  359.    of applications. HTML markup can represent hypertext news, mail,
  360.  
  361.    documentation, and hypermedia; menus of options; database query
  362.  
  363.    results; simple structured documents with in-lined graphics; and
  364.  
  365.    hypertext views of existing bodies of information. 
  366.  
  367.  
  368.  
  369.    HTML has been in use by the World-Wide Web (WWW) global information
  370.  
  371.    initiative since 1990. The HTML 3.0 specification provides a number
  372.  
  373.    of new features, and is broadly backwards compatible with HTML 2.0.
  374.  
  375.    It is defined as an application of International Standard ISO
  376.  
  377.    ISO8879:1986 Standard Generalized Markup Language (SGML). This
  378.  
  379.    specificiation will be proposed as the Internet Media Type (RFC
  380.  
  381.    1590) and MIME Content Type (RFC 1521) called "text/html;
  382.  
  383.    version=3.0". 
  384.  
  385.  
  386.  
  387. How to participate in refining HTML 3.0
  388.  
  389.  
  390.  
  391.    The process of refining HTML 3.0 into a formal standard will be
  392.  
  393.    carried out by the IETF HTML working group. The World Wide Web
  394.  
  395.    Organization is continuing to develop a freeware testbed browser for
  396.  
  397.    HTML 3.0 ("Arena") to encourage people to try out the proposed
  398.  
  399.    features. The discussion list for HTML 3.0 is www-html with html-wg
  400.  
  401.    reserved for use by the IETF working group for detailed matters
  402.  
  403.    relating to the formal specification. The process for developing
  404.  
  405.    HTML 3.0 is open, and anyone who is interested and able to
  406.  
  407.    contribute to this effort is welcome to join in. 
  408.  
  409.  
  410.  
  411.    --Note: make mailing list names into hypertext links to their
  412.  
  413.    archives and add info on how to join these lists-- 
  414.  
  415.  
  416.  
  417. HTML 3.0 Overview
  418.  
  419.  
  420.  
  421.    HTML 3.0 builds upon HTML 2.0 and provides full backwards
  422.  
  423.    compatibility. Tables have been one of the most requested features,
  424.  
  425.    with text flow around figures and math as runners up. Traditional
  426.  
  427.    SGML table models, e.g. the CALS table model, are really complex.
  428.  
  429.    The HTML 3.0 proposal for tables uses a lightweight style of markup
  430.  
  431.    suitable for rendering on a very wide range of output devices,
  432.  
  433.    including braille and speech synthesizers. 
  434.  
  435.  
  436.  
  437.    HTML 3.0 introduces a new element: FIG for inline figures. This
  438.  
  439.    provides for client-side handling of hotzones while cleanly catering
  440.  
  441.    for non-graphical browsers. Text can be flowed around figures and
  442.  
  443.    you can control when to break the flow to begin a new element. 
  444.  
  445.  
  446.  
  447.    Including support for equations and formulae in HTML 3.0 adds
  448.  
  449.    relatively little complexity to a browser. The proposed format is
  450.  
  451.    strongly influenced by TeX. Like tables, the format uses a
  452.  
  453.  
  454.  
  455. Dave Raggett                                                            Page 4
  456.  
  457. HTML 3.0                                                       28th March 1995
  458.  
  459.  
  460.  
  461.    lightweight style of markup - simple enough to type in by hand,
  462.  
  463.    although it will in most cases be easier to use a filter from a word
  464.  
  465.    processing format or a direct HTML 3.0 wysiwyg editor. The level of
  466.  
  467.    support is compatible with most word processing software, and avoids
  468.  
  469.    the drawbacks from having to convert math to inline images. 
  470.  
  471.  
  472.  
  473.    The Web has acted as a huge exercise in user testing, and we have
  474.  
  475.    been able to glean lots of information from the ways people abuse
  476.  
  477.    HTML in trying to get a particular effect; as well as from explicit
  478.  
  479.    demand for new features. HTML 3.0, as a result, includes support for
  480.  
  481.    customised lists; fine positioning control with entities like
  482.  
  483.    &emspace; horizontal tabs and horizontal alignment of headers and
  484.  
  485.    paragraph text. 
  486.  
  487.  
  488.  
  489.    Additional features include a static banner area for corporate
  490.  
  491.    logos, disclaimers and customized navigation/search controls. The
  492.  
  493.    LINK element can be used to provide standard toolbar/menu items for
  494.  
  495.    navigation, such as previous and next buttons. The NOTE element is
  496.  
  497.    used for admonishments such as notes, cautions or warnings, and also
  498.  
  499.    used for footnotes. 
  500.  
  501.  
  502.  
  503.    Forms have been extended to support graphical selection menus with
  504.  
  505.    client-side handling of events similar to FIG. Other new form field
  506.  
  507.    types include range controls, scribble on image, file upload and
  508.  
  509.    audio input fields. Client-side scripting of forms is envisaged with
  510.  
  511.    the script attribute of the FORM element. Forms and tables make for
  512.  
  513.    a powerful combination offering rich opportunities for laying out
  514.  
  515.    custom interfaces to remote information systems. 
  516.  
  517.  
  518.  
  519.    To counter the temptation to add yet more presentation features,
  520.  
  521.    HTML 3.0 is designed (but doesn't require) to be used together with
  522.  
  523.    style sheets which give rich control over document rendering, and
  524.  
  525.    can take into account the user's preferences, the window size and
  526.  
  527.    other resource limitations, such as which fonts are actually
  528.  
  529.    available. This work will eventually lead to smart layout under the
  530.  
  531.    author's control, with rich magazine style layouts for full screen
  532.  
  533.    viewing, switching to simpler layouts when the window is shrunk. 
  534.  
  535.  
  536.  
  537.    The SGML Open consortium is promoting use of DSSSL Lite by James
  538.  
  539.    Clark. This is a simplified subset of DSSSL - the document style
  540.  
  541.    semantics specification language. DSSSL is a ISO standard for
  542.  
  543.    representing presentation semantics for SGML documents, but is much
  544.  
  545.    too complex in its entirety to be well suited to the World Wide Web.
  546.  
  547.    Hσkon Lie maintains a list of pointers to work on style sheets. 
  548.  
  549.  
  550.  
  551. Transition Strategy from HTML 2.0
  552.  
  553.  
  554.  
  555.    The use of the MIME content type: "text/html; version=3.0" is
  556.  
  557.    recommended to prevent existing HTML 2.0 user agents screwing up by
  558.  
  559.    attempting to show 3.0 documents. Tests have shown that the
  560.  
  561.    suggested content type will safely cause existing user agents to
  562.  
  563.    display the save to file dialog rather than incorrectly displaying
  564.  
  565.    the document as if it were HTML 2.0. 
  566.  
  567.  
  568.  
  569. Dave Raggett                                                            Page 5
  570.  
  571. HTML 3.0                                                       28th March 1995
  572.  
  573.  
  574.  
  575.  
  576.  
  577.    To make it easy for servers to distinguish 3.0 documents from 2.0
  578.  
  579.    documents, it is suggested that 3.0 files are saved with the
  580.  
  581.    extension ".html3" (or ".ht3" for PCs). Servers can also exploit the
  582.  
  583.    accept headers in HTTP requests from HTML user agents, to
  584.  
  585.    distinguish whether each client can or cannot support HTML 3.0. This
  586.  
  587.    makes it practical for information providers to start providing HTML
  588.  
  589.    3.0 versions of existing documents for newer user agents, without
  590.  
  591.    impacting older user agents. It is envisaged that programs will be
  592.  
  593.    made available for automatic down conversion of 3.0 to 2.0
  594.  
  595.    documents. This conversion could be carried out in batch mode, or on
  596.  
  597.    the fly (with caching for greater efficiency). 
  598.  
  599.  
  600.  
  601. Design Guidelines
  602.  
  603.  
  604.  
  605.    The HTML 3.0 draft specification has been written to the following
  606.  
  607.    guidelines. 
  608.  
  609.  
  610.  
  611. Lingua Franca for the Web
  612.  
  613.  
  614.  
  615.    HTML is intended as a common medium for tying together information
  616.  
  617.    from widely different sources. A means to rise above the
  618.  
  619.    interoperability problems with existing document formats, and a
  620.  
  621.    means to provide a truly open interface to proprietary information
  622.  
  623.    systems. 
  624.  
  625.  
  626.  
  627. Simplicity
  628.  
  629.  
  630.  
  631.    The first version of HTML was designed to be extremely simple, both
  632.  
  633.    to author and to write browsers for. This has played a major role in
  634.  
  635.    the incredibly rapid growth of the World Wide Web. HTML 3.0 provides
  636.  
  637.    a clean superset of HTML 2.0 adding high value features such as
  638.  
  639.    tables, text flow around figures and math, while still remaining a
  640.  
  641.    simple document format. The pressures to adopt the complexities of
  642.  
  643.    traditional SGML applications has been resisted, for example the
  644.  
  645.    Department of Defense's CALS table model or the ISO 12083 math DTD. 
  646.  
  647.  
  648.  
  649. Scaleability
  650.  
  651.  
  652.  
  653.    As time goes by, people's expectations change, and more will be
  654.  
  655.    demanded of HTML. One manifestation of this is the pressure to add
  656.  
  657.    yet more tags. HTML 3.0 introduces a means for subclassing elements
  658.  
  659.    in an open-ended way. This can be used to distinguish the role of a
  660.  
  661.    paragraph element as being a couplet in a stansa, or a mathematical
  662.  
  663.    term as being a tensor. This ability to make fresh distinctions can
  664.  
  665.    be exploited to impart distinct rendering styles or to support
  666.  
  667.    richer search mechanisms, without further complicating the HTML
  668.  
  669.    document format itself. Scaleability is also achieved via URI based
  670.  
  671.    links for embedding information in other formats. Initially limited
  672.  
  673.    to a few image formats, inline support is expected to rapidly evolve
  674.  
  675.    to cover drawing formats, video, distributed virtual reality and a
  676.  
  677.    general means for embedding other applications. 
  678.  
  679.  
  680.  
  681.  
  682.  
  683. Dave Raggett                                                            Page 6
  684.  
  685. HTML 3.0                                                       28th March 1995
  686.  
  687.  
  688.  
  689. Platform Independence
  690.  
  691.  
  692.  
  693.    HTML is designed to allow rendering on a very wide range of devices,
  694.  
  695.    from clunky teletypes, to terminals, DOS, Windows, Macs and high end
  696.  
  697.    Workstations, as well as non-visual media such as speech and
  698.  
  699.    braille. In this, it allows users to exploit the legacy of older
  700.  
  701.    equipment as well as the latest and best of new machines. HTML 3.0
  702.  
  703.    provides for improved support for non-graphical clients, allowing
  704.  
  705.    for rich markup in place of the figures shown on graphical clients.
  706.  
  707.    HTML can be rendered on a wide variety of screen sizes, using a
  708.  
  709.    scrolling or paged model. The fonts and presentation can be adjusted
  710.  
  711.    to suit the resources available in the host machine and the user's
  712.  
  713.    preferences. 
  714.  
  715.  
  716.  
  717. Content --not-- Presentation Markup
  718.  
  719.  
  720.  
  721.    Information providers are used to tight control over the final
  722.  
  723.    appearence of documents. The need for platform independence weighs
  724.  
  725.    against this, but there is still a strong pressure to find
  726.  
  727.    appropriate means for information providers to express their
  728.  
  729.    intentions. The experience with proprietary document formats has
  730.  
  731.    shown the dangers of mixing presentation markup with content (or
  732.  
  733.    structural) markup. It becomes difficult to apply different
  734.  
  735.    presentation styles. It becomes painful to incorporate material from
  736.  
  737.    different sources (with different presentation styles). It becomes
  738.  
  739.    difficult to be truly platform independent. As a result, HTML 3.0 is
  740.  
  741.    designed for use with linked style information that defines the
  742.  
  743.    intended presentation style for each element. Style sheets can be
  744.  
  745.    expressed in a platform independent fashion or used to provide more
  746.  
  747.    detailed control for particular classes of clients or output media. 
  748.  
  749.  
  750.  
  751. Support for Cascaded Style Sheets
  752.  
  753.  
  754.  
  755.    For the Web, it is valuable to allow for a cascading of style
  756.  
  757.    preferences. The client has certain built-in preferences; the
  758.  
  759.    publisher may require a particular house style, e.g. for brand
  760.  
  761.    distinction; the author may feel the need to override the house
  762.  
  763.    style for special cases; the end-user may feel strongly about
  764.  
  765.    certain things, e.g. large fonts for easier visibility or avoiding
  766.  
  767.    certain colors due to an inability to distinguish between them. HTML
  768.  
  769.    3.0 supports style sheets via the use of the LINK element to
  770.  
  771.    reference a style sheet with a URI. Authors can place overrides in
  772.  
  773.    separate style sheets or include them in the document head within
  774.  
  775.    the STYLE element. The effectiveness of caching mechanisms for
  776.  
  777.    speeding up the retrieval of style sheets is enhanced by the
  778.  
  779.    separation of style information into generic commonly used style
  780.  
  781.    sheets, and overrides specific to this document. 
  782.  
  783.  
  784.  
  785. Support for Non-Visual Media
  786.  
  787.  
  788.  
  789.    HTML 3.0 is designed to cater for the needs of the visually
  790.  
  791.    impaired. Markup for inline figures includes support for rich
  792.  
  793.    descriptions, along with hypertext links that double up as defining
  794.  
  795.  
  796.  
  797. Dave Raggett                                                            Page 7
  798.  
  799. HTML 3.0                                                       28th March 1995
  800.  
  801.  
  802.  
  803.    geometric hotzones for graphical browsers, simplifying the author's
  804.  
  805.    job in catering for the different groups of users. Table markup
  806.  
  807.    includes provision for abbreviated row and column names for each
  808.  
  809.    cell, which are essential for conversion to speech or braille. Math
  810.  
  811.    markup treats formulae and equations as hierarchies of expressions.
  812.  
  813.    This allows disambiguating pauses to be inserted in appropriate
  814.  
  815.    places during conversion to speech. 
  816.  
  817.  
  818.  
  819. Support for different ways of creating HTML
  820.  
  821.  
  822.  
  823.    HTML 3.0 has been designed to be created in a variety of different
  824.  
  825.    ways. It is deliberately simple enough to type in by hand. It can be
  826.  
  827.    authored using wysiwyg editors for HTML, or it can be generated via
  828.  
  829.    export filters from common word processing formats, or other SGML
  830.  
  831.    applications.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911. Dave Raggett                                                            Page 8
  912.  
  913. HTML 3.0                                                       28th March 1995
  914.  
  915.  
  916.  
  917. Understanding HTML and MIME
  918.  
  919.  
  920.  
  921.    --I have dropped the differentiation of HTML into a sequence of
  922.  
  923.    conformance levels. Many people confused levels with versions. The
  924.  
  925.    different levels also encourage interoperability problems! Lets
  926.  
  927.    encourage full conformance with HTML 2.0 or HTML 3.0 rather than
  928.  
  929.    perpetuating intermediate levels of support.-- 
  930.  
  931.  
  932.  
  933. HTML as an Internet Media Type
  934.  
  935.  
  936.  
  937.    This (and upward compatible specifications) define the Internet
  938.  
  939.    Media Type (RFC 1590) and MIME Content Type (RFC 1521) called
  940.  
  941.    "text/html". The type "text/html" accepts the following parameters: 
  942.  
  943.  
  944.  
  945.    Version 
  946.  
  947.        To help avoid future compatibility problems, the version
  948.  
  949.        parameter may be used to give the version number of the
  950.  
  951.        specification to which the document conforms. The version number
  952.  
  953.        appears at the front of this document and within the public
  954.  
  955.        identifier for the SGML DTD. This specification defines version
  956.  
  957.        3.0. 
  958.  
  959.  
  960.  
  961.    Character sets 
  962.  
  963.        The charset parameter (as defined in section 7.1.1 of RFC 1521)
  964.  
  965.        may be used with the text/html content type to specify the
  966.  
  967.        encoding used to represent the HTML document as a sequence of
  968.  
  969.        bytes. Normally, text/* media types specify a default of
  970.  
  971.        US-ASCII for the charset parameter. However, for text/html, if
  972.  
  973.        the byte stream contains data that is not in the 7-bit US-ASCII
  974.  
  975.        set, the HTML interpreting agent should assume a default charset
  976.  
  977.        of ISO-8859-1. 
  978.  
  979.  
  980.  
  981.        When an HTML document is encoded using US-ASCII, the mechanisms
  982.  
  983.        of numeric character references and character entity references
  984.  
  985.        may be used to encode additional characters from ISO-8859-1.
  986.  
  987.        Character entity references are needed for symbols such as math
  988.  
  989.        and greek characters from other unspecified character sets. 
  990.  
  991.  
  992.  
  993.        Other values for the charset parameter are not defined in this
  994.  
  995.        specification, but may be specified in future versions of HTML.
  996.  
  997.        It is envisioned that HTML will use the charset parameter to
  998.  
  999.        allow support for non-Latin characters such as Arabic, Hebrew,
  1000.  
  1001.        Cyrillic and Japanese, rather than relying on any SGML mechanism
  1002.  
  1003.        for doing so. 
  1004.  
  1005.  
  1006.  
  1007.        --What about Unicode and its assorted encodings? This section
  1008.  
  1009.        would benefit from an explanation of the issues underlying
  1010.  
  1011.        support for multiple character sets and the problems arising
  1012.  
  1013.        from bidirectionality.-- 
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025. Dave Raggett                                                            Page 9
  1026.  
  1027. HTML 3.0                                                       28th March 1995
  1028.  
  1029.  
  1030.  
  1031. Understanding HTML and SGML
  1032.  
  1033.  
  1034.  
  1035.    HTML is an application conforming to International Standard ISO 8879
  1036.  
  1037.    -- Standard Generalized Markup Language (SGML). SGML is a system for
  1038.  
  1039.    defining structured document types, and markup languages to
  1040.  
  1041.    represent instances of those document types. The SGML declaration
  1042.  
  1043.    for HTML is given in SGML Declaration for HTML. It is implicit among
  1044.  
  1045.    WWW implementations. 
  1046.  
  1047.  
  1048.  
  1049.    In the event of any apparent conflict between HTML and SGML
  1050.  
  1051.    standards, the SGML standard is definitive. 
  1052.  
  1053.  
  1054.  
  1055.    Every SGML document has three parts: 
  1056.  
  1057.  
  1058.  
  1059.    SGML declaration 
  1060.  
  1061.        Binds SGML processing quantities and syntax token names to
  1062.  
  1063.        specific values. For example, the SGML declaration in the HTML
  1064.  
  1065.        DTD specifies that the string that opens an end tag is </ and
  1066.  
  1067.        the maximum length of a name is 72 characters. 
  1068.  
  1069.  
  1070.  
  1071.    Prologue 
  1072.  
  1073.        Includes one or more document type declarations (DTDs), which
  1074.  
  1075.        specify the element types, element relationships and attributes.
  1076.  
  1077.        The HTML 3.0 DTD provides a definitive specification of the
  1078.  
  1079.        allowed syntax for HTML 3.0 documents. 
  1080.  
  1081.  
  1082.  
  1083.    References 
  1084.  
  1085.        Can be represented by markup. An instance, which contains the
  1086.  
  1087.        data and markup of the document. 
  1088.  
  1089.  
  1090.  
  1091.    HTML refers to the document type as well as the markup language for
  1092.  
  1093.    representing instances of that document type. 
  1094.  
  1095.  
  1096.  
  1097. ------------------------------------------------------------------------------
  1098.  
  1099. Understanding HTML Elements
  1100.  
  1101.  
  1102.  
  1103.    In HTML documents, tags define the start and end of headings,
  1104.  
  1105.    paragraphs, lists, character highlighting and links. Most HTML
  1106.  
  1107.    elements are identified in a document as a start tag, which gives
  1108.  
  1109.    the element name and attributes, followed by the content, followed
  1110.  
  1111.    by the end tag. Start tags are delimited by < and >, and end tags
  1112.  
  1113.    are delimited by </ and >. For example: 
  1114.  
  1115.  
  1116.  
  1117.        <H1>This is a Heading</H1>
  1118.  
  1119.        <P>This is a paragraph.
  1120.  
  1121.  
  1122.  
  1123.    Some elements appear as just a start tag. For example, to create a
  1124.  
  1125.    line break, you use <BR>. Additionally, the end tags of some other
  1126.  
  1127.    elements (e.g. P, LI, DT, DD) can be omitted as the position of the
  1128.  
  1129.    end tag is clearly implied by the context. 
  1130.  
  1131.  
  1132.  
  1133.    The content of an element is a sequence of characters and nested
  1134.  
  1135.    elements. Some elements, such as anchors, cannot be nested. Anchors
  1136.  
  1137.  
  1138.  
  1139. Dave Raggett                                                           Page 10
  1140.  
  1141. HTML 3.0                                                       28th March 1995
  1142.  
  1143.  
  1144.  
  1145.    and character highlighting may be put inside other constructs. The
  1146.  
  1147.    content model for a tag defines the syntax permitted for the
  1148.  
  1149.    content. 
  1150.  
  1151.  
  1152.  
  1153.    Note: The SGML declaration for HTML specifies SHORTTAG YES, which
  1154.  
  1155.    means that there are other valid syntaxes for tags, such as NET
  1156.  
  1157.    tags, <EM/.../; empty start tags, <>; and empty end tags, </>. Until
  1158.  
  1159.    support for these idioms is widely deployed, their use is strongly
  1160.  
  1161.    discouraged. 
  1162.  
  1163.  
  1164.  
  1165. ------------------------------------------------------------------------------
  1166.  
  1167. Names
  1168.  
  1169.  
  1170.  
  1171.    The element name immediately follows the tag open delimiter. An
  1172.  
  1173.    element name consist of a letter followed by up to 72 letters,
  1174.  
  1175.    digits, periods, or hyphens. Names are not case sensitive. For
  1176.  
  1177.    example, H1 is equivalent to h1. This limit of 72 characters is set
  1178.  
  1179.    by the NAMELEN parameter in the SGML declaration for HTML 3.0. 
  1180.  
  1181.  
  1182.  
  1183. ------------------------------------------------------------------------------
  1184.  
  1185. Attributes
  1186.  
  1187.  
  1188.  
  1189.    In a start tag, white space and attributes are allowed between the
  1190.  
  1191.    element name and the closing delimiter. An attribute typically
  1192.  
  1193.    consists of an attribute name, an equal sign, and a value (although
  1194.  
  1195.    some attributes may be just a value). White space is allowed around
  1196.  
  1197.    the equal sign. 
  1198.  
  1199.  
  1200.  
  1201.    The value of the attribute may be either: 
  1202.  
  1203.  
  1204.  
  1205.    1.  A string literal, delimited by single quotes or double quotes 
  1206.  
  1207.  
  1208.  
  1209.    2.  A name token (a sequence of letters, digits, periods, or
  1210.  
  1211.        hyphens) 
  1212.  
  1213.  
  1214.  
  1215.    In this example, a is the element name, href is the attribute name,
  1216.  
  1217.    and http://host/dir/file.html is the attribute value: 
  1218.  
  1219.  
  1220.  
  1221.        <A HREF="http://host/dir/file.html">
  1222.  
  1223.  
  1224.  
  1225.    Some implementations consider any occurrence of the > character to
  1226.  
  1227.    signal the end of a tag. For compatibility with such
  1228.  
  1229.    implementations, when > appears in an attribute value, you may want
  1230.  
  1231.    to represent it with an entity or numeric character reference, such
  1232.  
  1233.    as: 
  1234.  
  1235.  
  1236.  
  1237.        <IMG SRC="eq1.ps" alt="a > b">
  1238.  
  1239.  
  1240.  
  1241.    To put quotes inside of quotes, you can use single quotes if the
  1242.  
  1243.    outer quotes are double or vice versa, as in: 
  1244.  
  1245.  
  1246.  
  1247.        <IMG SRC="image.ps" alt="First 'real' example">
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253. Dave Raggett                                                           Page 11
  1254.  
  1255. HTML 3.0                                                       28th March 1995
  1256.  
  1257.  
  1258.  
  1259.    Alternatively, you use the character representation " as in: 
  1260.  
  1261.  
  1262.  
  1263.        <IMG SRC="image.ps" alt="First "real" example">
  1264.  
  1265.  
  1266.  
  1267.    The length of an attribute value (after replacing entity and numeric
  1268.  
  1269.    character references) is limited to 1024 characters. This number is
  1270.  
  1271.    defined by the LITLEN parameter in the SGML declaration for HTML
  1272.  
  1273.    3.0. 
  1274.  
  1275.  
  1276.  
  1277.    Note: Some implementations allow any character except space or > in
  1278.  
  1279.    a name token. Attributes values must be quoted only if they don't
  1280.  
  1281.    satisfy the syntax for a name token. 
  1282.  
  1283.  
  1284.  
  1285.    Attributes with a declared value of NAME (e.g. ISMAP, COMPACT) may
  1286.  
  1287.    be written using a minimized syntax. The markup: 
  1288.  
  1289.  
  1290.  
  1291.        <UL COMPACT="compact">
  1292.  
  1293.  
  1294.  
  1295.    can be written as: 
  1296.  
  1297.  
  1298.  
  1299.        <UL COMPACT>
  1300.  
  1301.  
  1302.  
  1303.    Note: Unless you use the minimized syntax, some implementations
  1304.  
  1305.    won't understand. 
  1306.  
  1307.  
  1308.  
  1309. ------------------------------------------------------------------------------
  1310.  
  1311. Undefined Tag and Attribute Names
  1312.  
  1313.  
  1314.  
  1315.    It is an accepted networking principle to be conservative in that
  1316.  
  1317.    which one produces, and liberal in that which one accepts. HTML
  1318.  
  1319.    parsers should be liberal except when verifying code. HTML
  1320.  
  1321.    generators should generate strictly conforming HTML. It is suggested
  1322.  
  1323.    that where ever practical, parsers should at least flag the presence
  1324.  
  1325.    of markup errors, as this will help to avoid bad markup being
  1326.  
  1327.    produced inadvertently. 
  1328.  
  1329.  
  1330.  
  1331.    The behavior of WWW applications reading HTML documents and
  1332.  
  1333.    discovering tag or attribute names which they do not understand
  1334.  
  1335.    should be to behave as though, in the case of a tag, the whole tag
  1336.  
  1337.    had not been there but its content had, or in the case of an
  1338.  
  1339.    attribute, that the attribute had not been present. 
  1340.  
  1341.  
  1342.  
  1343. ------------------------------------------------------------------------------
  1344.  
  1345. Special Characters
  1346.  
  1347.  
  1348.  
  1349.    The characters between the tags represent text in the ISO-Latin-1
  1350.  
  1351.    character set, which is a superset of ASCII. Because certain
  1352.  
  1353.    characters will be interpreted as markup, they should be represented
  1354.  
  1355.    by markup -- entity or numeric character references, for instance
  1356.  
  1357.    the character "&" must be represented by the entity &. See the
  1358.  
  1359.    Special Characters section of this specification for more
  1360.  
  1361.    information. 
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367. Dave Raggett                                                           Page 12
  1368.  
  1369. HTML 3.0                                                       28th March 1995
  1370.  
  1371.  
  1372.  
  1373. ------------------------------------------------------------------------------
  1374.  
  1375. Comments
  1376.  
  1377.  
  1378.  
  1379.    To include comments in an HTML document that will be ignored by the
  1380.  
  1381.    parser, surround them with <!-- and -->. After the comment
  1382.  
  1383.    delimiter, all text up to the next occurrence of --> is ignored.
  1384.  
  1385.    Hence comments cannot be nested. White space is allowed between the
  1386.  
  1387.    closing -- and >, but not between the opening <! and --. 
  1388.  
  1389.  
  1390.  
  1391.    For example: 
  1392.  
  1393.  
  1394.  
  1395.    <HEAD>
  1396.  
  1397.    <TITLE>HTML Guide: Recommended Usage</TITLE>
  1398.  
  1399.    <!-- Id: Text.html,v 1.6 1994/04/25 17:33:48 connolly Exp -->
  1400.  
  1401.    </HEAD>
  1402.  
  1403.  
  1404.  
  1405.    Note: Some historical implementations incorrectly consider a > sign
  1406.  
  1407.    to terminate a comment. 
  1408.  
  1409.  
  1410.  
  1411. ------------------------------------------------------------------------------
  1412.  
  1413. Formal Variants of HTML 3.0
  1414.  
  1415.  
  1416.  
  1417.    The HTML 3.0 document type definition includes two flags for
  1418.  
  1419.    controlling how prescriptive or how lax the language is. This makes
  1420.  
  1421.    use of SGML marked sections in the DTD to enable or disable certain
  1422.  
  1423.    features. 
  1424.  
  1425.  
  1426.  
  1427. HTML.Recommended
  1428.  
  1429.  
  1430.  
  1431.    Certain features of the language are necessary for compatibility
  1432.  
  1433.    with widespread usage, but they may compromise the structural
  1434.  
  1435.    integrity of a document. The HTML.Recommended entity should be
  1436.  
  1437.    defined as INCLUDE in the DTD subset to enable a more prescriptive
  1438.  
  1439.    version of HTML 3.0 that eliminates the above features. For example: 
  1440.  
  1441.  
  1442.  
  1443.    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN"
  1444.  
  1445.    [ <!ENTITY % HTML.Recommended "INCLUDE"> ] >
  1446.  
  1447.  
  1448.  
  1449.    In particular, this prevents text from appearing except within block
  1450.  
  1451.    elements. 
  1452.  
  1453.  
  1454.  
  1455. HTML.Deprecated
  1456.  
  1457.  
  1458.  
  1459.    By default, for backwards compatibility, the %HTML.Deprecated entity
  1460.  
  1461.    is defined as INCLUDE, enabling certain features which are now
  1462.  
  1463.    deprecated. These features can be eliminated by defining this entity
  1464.  
  1465.    as IGNORE in the DTD subset. For example: 
  1466.  
  1467.  
  1468.  
  1469.        <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN" [
  1470.  
  1471.    <!ENTITY % HTML.Deprecated "IGNORE"> ] >
  1472.  
  1473.  
  1474.  
  1475.    Note: defining %HTML.Recommended as INCLUDE automatically sets
  1476.  
  1477.    %HTML.Deprecated to IGNORE. 
  1478.  
  1479.  
  1480.  
  1481. Dave Raggett                                                           Page 13
  1482.  
  1483. HTML 3.0                                                       28th March 1995
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.    In the spirit of being liberal in what you accept and strict in what
  1490.  
  1491.    you generate, HTML user agents are recommended to accept syntax
  1492.  
  1493.    corresponding to the specification with %HTML.Deprecated turned on,
  1494.  
  1495.    while HTML user agents generating HTML are recommended to generate
  1496.  
  1497.    documents that conform to the specification with %HTML.Recommended
  1498.  
  1499.    turned on.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595. Dave Raggett                                                           Page 14
  1596.  
  1597. HTML 3.0                                                       28th March 1995
  1598.  
  1599.  
  1600.  
  1601. The Structure of HTML 3.0 Documents
  1602.  
  1603.  
  1604.  
  1605.    In HTML documents, tags define the start and end of headings,
  1606.  
  1607.    paragraphs, lists, character highlighting and links etc. Most HTML
  1608.  
  1609.    elements are identified in a document as a start tag, which gives
  1610.  
  1611.    the element name and attributes, followed by the content, followed
  1612.  
  1613.    by the end tag. Start tags are delimited by < and >, while end tags
  1614.  
  1615.    are delimited by </ and >. For example: 
  1616.  
  1617.  
  1618.  
  1619.        <title>This is a Title</title>
  1620.  
  1621.        <h1>This is a Heading</h1>
  1622.  
  1623.        <P>This is a paragraph.
  1624.  
  1625.  
  1626.  
  1627.    Every HTML document as a minimum must have a title. To identify the
  1628.  
  1629.    document as being HTML 3.0, it is recommended that documents start
  1630.  
  1631.    with the prologue: 
  1632.  
  1633.  
  1634.  
  1635.        <!doctype HTML public "-//W3O//DTD W3 HTML 3.0//EN">
  1636.  
  1637.  
  1638.  
  1639.    When absent, this prologue is implied by the MIME content type for
  1640.  
  1641.    HTML 3.0 together with the associated version parameter. 
  1642.  
  1643.  
  1644.  
  1645. ------------------------------------------------------------------------------
  1646.  
  1647. Document Structure
  1648.  
  1649.  
  1650.  
  1651.    HTML 3.0 documents formally have the following structure: 
  1652.  
  1653.  
  1654.  
  1655.        <HTML>
  1656.  
  1657.        <HEAD> --head elements ...--
  1658.  
  1659.        <BODY> --body elements ...--
  1660.  
  1661.        </HTML>
  1662.  
  1663.  
  1664.  
  1665.    In most cases, the HTML, HEAD and BODY tags can be safely omitted.
  1666.  
  1667.    Note that the formal syntax of HTML 3.0 is defined by the document
  1668.  
  1669.    type definition, which is included as an appendix of this
  1670.  
  1671.    specification. The details of the HEAD and BODY elements will be
  1672.  
  1673.    described in subsequent sections. 
  1674.  
  1675.  
  1676.  
  1677.    The permitted syntax of HTML 3.0 compliant documents is specified by
  1678.  
  1679.    the DTD. This includes the content model for each element, defining
  1680.  
  1681.    what markup is permitted within each element. The DTD uses SGML
  1682.  
  1683.    entities in content models to express regular features of HTML 3.0,
  1684.  
  1685.    for example %body.content defines what markup is permitted within
  1686.  
  1687.    the BODY element. A number of other elements also share this content
  1688.  
  1689.    model, e.g. BQ, DIV, FORM, TH and TD. 
  1690.  
  1691.  
  1692.  
  1693.    The description of each tag includes the --content model-- and the
  1694.  
  1695.    --permitted context-- (which elements can contain this tag). Where
  1696.  
  1697.    practical, these properties are given with the same entity names as
  1698.  
  1699.    used in the DTD, and should help the newcomer to get to grips with
  1700.  
  1701.    understanding the DTD itself. For example, the description of the
  1702.  
  1703.    NOTE element starts with: 
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709. Dave Raggett                                                           Page 15
  1710.  
  1711. HTML 3.0                                                       28th March 1995
  1712.  
  1713.  
  1714.  
  1715.        The NOTE element
  1716.  
  1717.    
  1718.  
  1719.        Permitted context: %block
  1720.  
  1721.        Content model: %flow
  1722.  
  1723.  
  1724.  
  1725.    This says that the NOTE element (used for admonishments such as
  1726.  
  1727.    notes, cautions and errors) can occur in any element which includes
  1728.  
  1729.    %block in its content model. Similarly, any element with %flow as
  1730.  
  1731.    part of its permitted context can occur within a NOTE element. 
  1732.  
  1733.  
  1734.  
  1735. The HTML element
  1736.  
  1737.  
  1738.  
  1739.    This has three attributes: 
  1740.  
  1741.  
  1742.  
  1743.    VERSION 
  1744.  
  1745.        This is fixed by the DTD as the string "-//W3O//DTD W3 HTML
  1746.  
  1747.        3.0//EN" 
  1748.  
  1749.  
  1750.  
  1751.    URN 
  1752.  
  1753.        The universal resource name for the document (optional) 
  1754.  
  1755.  
  1756.  
  1757.    ROLE 
  1758.  
  1759.        An optional space separated list of SGML NAME tokens that define
  1760.  
  1761.        the role this document plays, e.g. table of contents. The
  1762.  
  1763.        conventions for these names are outside the scope of this
  1764.  
  1765.        specification. --wouldn't it be better to leave this to a link
  1766.  
  1767.        to a URC?-- 
  1768.  
  1769.  
  1770.  
  1771.    Note that both the start and end tag for the HTML element can be
  1772.  
  1773.    omitted.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823. Dave Raggett                                                           Page 16
  1824.  
  1825. HTML 3.0                                                       28th March 1995
  1826.  
  1827.  
  1828.  
  1829. The Head Element and Related Elements
  1830.  
  1831.  
  1832.  
  1833. HEAD
  1834.  
  1835.  
  1836.  
  1837.    The HEAD element has no attributes and the start and end tag can
  1838.  
  1839.    always be safely omitted as they can be readily inferred by the
  1840.  
  1841.    parser. Information in the HEAD element corresponds to the top part
  1842.  
  1843.    of a memo or mail message. It describes properties of the document
  1844.  
  1845.    such as the title, the document toolbar, and additional
  1846.  
  1847.    meta-information. There is no intended significance to the order of
  1848.  
  1849.    elements in the document head. Note that the TITLE element is always
  1850.  
  1851.    required. In fact, the minimal HTML 3.0 document consists of the
  1852.  
  1853.    TITLE element alone! 
  1854.  
  1855.  
  1856.  
  1857.    Within the HEAD element, only certain elements are allowed.
  1858.  
  1859.    Information in the HEAD element may include the following elements
  1860.  
  1861.    (arranged alphabetically): 
  1862.  
  1863.  
  1864.  
  1865. ------------------------------------------------------------------------------
  1866.  
  1867. BASE
  1868.  
  1869.  
  1870.  
  1871.    The BASE element allows the URL of the document itself to be
  1872.  
  1873.    recorded in situations in which the document may be read out of
  1874.  
  1875.    context. URLs within the document may be in a "partial" form
  1876.  
  1877.    relative to this base address. The default base address is the URL
  1878.  
  1879.    used to retrieve the document. 
  1880.  
  1881.  
  1882.  
  1883.    For example: 
  1884.  
  1885.  
  1886.  
  1887.        <base href="http://acme.com/docs/mydoc.html">
  1888.  
  1889.        ... 
  1890.  
  1891.        <img src="images/me.gif">
  1892.  
  1893.  
  1894.  
  1895.    which resolves to "http://acme.com/docs/images/me.gif". 
  1896.  
  1897.  
  1898.  
  1899. ------------------------------------------------------------------------------
  1900.  
  1901. ISINDEX
  1902.  
  1903.  
  1904.  
  1905.    The ISINDEX element informs the HTML user agent that the document is
  1906.  
  1907.    an index document. As well as reading it, the reader may use a
  1908.  
  1909.    keyword search. 
  1910.  
  1911.  
  1912.  
  1913.    The document can be queried with a keyword search by adding a
  1914.  
  1915.    question mark to the end of the document address, followed by a list
  1916.  
  1917.    of keywords separated by plus signs. See the network address format
  1918.  
  1919.    for more information. 
  1920.  
  1921.  
  1922.  
  1923.    Note: A server normally generates the ISINDEX tag automatically. If
  1924.  
  1925.    added by hand to an HTML document, the browser assumes that the
  1926.  
  1927.    server can handle a search on the document. Obviously the server
  1928.  
  1929.    must have this capability for it to work: simply adding <ISINDEX> in
  1930.  
  1931.    the document is not enough to make searches happen if the server
  1932.  
  1933.    does not have a search engine! 
  1934.  
  1935.  
  1936.  
  1937. Dave Raggett                                                           Page 17
  1938.  
  1939. HTML 3.0                                                       28th March 1995
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.    Example: 
  1946.  
  1947.  
  1948.  
  1949.        <ISINDEX>
  1950.  
  1951.  
  1952.  
  1953.    The URL used for processing queries can be overridden with the HREF
  1954.  
  1955.    attribute. You can also use the PROMPT attribute to change the
  1956.  
  1957.    default prompt supplied by the browser, e.g. 
  1958.  
  1959.  
  1960.  
  1961.        <ISINDEX HREF="phone.db" PROMPT="Enter Surname:">
  1962.  
  1963.  
  1964.  
  1965. ------------------------------------------------------------------------------
  1966.  
  1967. LINK
  1968.  
  1969.  
  1970.  
  1971.    The LINK element indicates a relationship between the document and
  1972.  
  1973.    some other object. A document may have any number of LINK elements.
  1974.  
  1975.    The LINK element is empty (does not have a closing tag), but takes
  1976.  
  1977.    the same attributes as the anchor element. The important attributes
  1978.  
  1979.    are: 
  1980.  
  1981.  
  1982.  
  1983.    REL 
  1984.  
  1985.        This defines the relationship defined by the link. 
  1986.  
  1987.  
  1988.  
  1989.    REV 
  1990.  
  1991.        This defines a reverse relationship. A link from document A to
  1992.  
  1993.        document B with REV=--relation-- expresses the same relationship
  1994.  
  1995.        as a link from B to A with REL=--relation--. REV=made is
  1996.  
  1997.        sometimes used to identify the document author, either the
  1998.  
  1999.        author's email address with a --mailto-- URI, or a link to the
  2000.  
  2001.        author's home page. 
  2002.  
  2003.  
  2004.  
  2005.    HREF 
  2006.  
  2007.        This names an object using the URI notation. 
  2008.  
  2009.  
  2010.  
  2011. Using LINK to define document specific toolbars
  2012.  
  2013.  
  2014.  
  2015.    An important use of the LINK element is to define a toolbar of
  2016.  
  2017.    navigation buttons or an equivalent mechanism such as menu items. 
  2018.  
  2019.  
  2020.  
  2021.    LINK relationship values reserved for toolbars are: 
  2022.  
  2023.  
  2024.  
  2025.    REL=Home 
  2026.  
  2027.        The link references a home page or the top of some hierarchy. 
  2028.  
  2029.  
  2030.  
  2031.    REL=ToC 
  2032.  
  2033.        The link references a document serving as a table of contents. 
  2034.  
  2035.  
  2036.  
  2037.    REL=Index 
  2038.  
  2039.        The link references a document providing an index for the
  2040.  
  2041.        current document. 
  2042.  
  2043.  
  2044.  
  2045.    REL=Glossary 
  2046.  
  2047.        The link references a document providing a glossary of terms
  2048.  
  2049.  
  2050.  
  2051. Dave Raggett                                                           Page 18
  2052.  
  2053. HTML 3.0                                                       28th March 1995
  2054.  
  2055.  
  2056.  
  2057.        that pertain to the current document. 
  2058.  
  2059.  
  2060.  
  2061.    REL=Copyright 
  2062.  
  2063.        The link references a copyright statement for the current
  2064.  
  2065.        document. 
  2066.  
  2067.  
  2068.  
  2069.    REL=Up 
  2070.  
  2071.        When the document forms part of a hierarchy, this link
  2072.  
  2073.        references the immediate parent of the current document. 
  2074.  
  2075.  
  2076.  
  2077.    REL=Next 
  2078.  
  2079.        The link references the next document to visit in a guided tour. 
  2080.  
  2081.  
  2082.  
  2083.    REL=Previous 
  2084.  
  2085.        The link references the previous document in a guided tour. 
  2086.  
  2087.  
  2088.  
  2089.    REL=Help 
  2090.  
  2091.        The link references a document offering help, e.g. describing
  2092.  
  2093.        the wider context and offering further links to relevant
  2094.  
  2095.        documents. This is aimed at reorienting users who have lost
  2096.  
  2097.        their way. 
  2098.  
  2099.  
  2100.  
  2101.    REL=Bookmark 
  2102.  
  2103.        Bookmarks are used to provide direct links to key entry points
  2104.  
  2105.        into an extended document. The TITLE attribute may be used to
  2106.  
  2107.        label the bookmark. Several bookmarks may be defined in each
  2108.  
  2109.        document, and provide a means for orienting users in extended
  2110.  
  2111.        documents. 
  2112.  
  2113.  
  2114.  
  2115.    An example of toolbar LINK elements: 
  2116.  
  2117.  
  2118.  
  2119.        <LINK REL=Previous HREF=doc31.html>
  2120.  
  2121.        <LINK REL=Next HREF=doc33.html>
  2122.  
  2123.        <LINK REL=Bookmark TITLE="Order Form" HREF=doc56.html>
  2124.  
  2125.  
  2126.  
  2127. Using LINK to include a Document Banner
  2128.  
  2129.  
  2130.  
  2131.    The LINK element can be used with REL=Banner to reference another
  2132.  
  2133.    document to be used as banner for this document. This is typically
  2134.  
  2135.    used for corporate logos, navigation aids, and other information
  2136.  
  2137.    which shouldn't be scrolled with the rest of the document. For
  2138.  
  2139.    example: 
  2140.  
  2141.  
  2142.  
  2143.        <LINK REL=Banner HREF=banner.html>
  2144.  
  2145.  
  2146.  
  2147.    The use of a LINK element in this way, allows a banner to be shared
  2148.  
  2149.    between several documents, with the benefit of being able to
  2150.  
  2151.    separately cache the banner. Rather than using a linked banner, you
  2152.  
  2153.    can also include the banner in the document itself, using the BANNER
  2154.  
  2155.    element. 
  2156.  
  2157.  
  2158.  
  2159. Link to an associated Style Sheet
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165. Dave Raggett                                                           Page 19
  2166.  
  2167. HTML 3.0                                                       28th March 1995
  2168.  
  2169.  
  2170.  
  2171.    The LINK element can be used with REL=StyleSheet to reference a
  2172.  
  2173.    style sheet to be used to control the way the current document is
  2174.  
  2175.    rendered. For example: 
  2176.  
  2177.  
  2178.  
  2179.        <LINK REL=StyleSheet HREF=housestyle.dsssl>
  2180.  
  2181.  
  2182.  
  2183. Other uses of the LINK element
  2184.  
  2185.  
  2186.  
  2187.    Additional relationship names have been proposed, but do not form
  2188.  
  2189.    part of this specification. Servers may also allow links to be added
  2190.  
  2191.    by those who do not have the right to alter the body of a document. 
  2192.  
  2193.  
  2194.  
  2195. ------------------------------------------------------------------------------
  2196.  
  2197. META
  2198.  
  2199.  
  2200.  
  2201.    The META element is used within the HEAD element to embed document
  2202.  
  2203.    meta-information not defined by other HTML elements. Such
  2204.  
  2205.    information can be extracted by servers/clients for use in
  2206.  
  2207.    identifying, indexing and cataloging specialized document
  2208.  
  2209.    meta-information. 
  2210.  
  2211.  
  2212.  
  2213.    Although it is generally preferable to used named elements that have
  2214.  
  2215.    well defined semantics for each type of meta-information, such as
  2216.  
  2217.    title, this element is provided for situations where strict SGML
  2218.  
  2219.    parsing is necessary and the local DTD is not extensible. 
  2220.  
  2221.  
  2222.  
  2223.    In addition, HTTP servers can read the contents of the document head
  2224.  
  2225.    to generate response headers corresponding to any elements defining
  2226.  
  2227.    a value for the attribute HTTP-EQUIV. This provides document authors
  2228.  
  2229.    with a mechanism (not necessarily the preferred one) for identifying
  2230.  
  2231.    information that should be included in the response headers of an
  2232.  
  2233.    HTTP request. 
  2234.  
  2235.  
  2236.  
  2237.    The META element has three attributes: 
  2238.  
  2239.  
  2240.  
  2241.    NAME 
  2242.  
  2243.        Used to name a property such as author, publication date etc. If
  2244.  
  2245.        absent, the name can be assumed to be the same as the value of
  2246.  
  2247.        HTTP-EQUIV. 
  2248.  
  2249.  
  2250.  
  2251.    CONTENT 
  2252.  
  2253.        Used to supply a value for a named property. 
  2254.  
  2255.  
  2256.  
  2257.    HTTP-EQUIV 
  2258.  
  2259.        This attribute binds the element to an HTTP response header. If
  2260.  
  2261.        the semantics of the HTTP response header named by this
  2262.  
  2263.        attribute is known, then the contents can be processed based on
  2264.  
  2265.        a well defined syntactic mapping, whether or not the DTD
  2266.  
  2267.        includes anything about it. HTTP header names are not case
  2268.  
  2269.        sensitive. If absent, the NAME attribute should be used to
  2270.  
  2271.        identify this meta-information and it should not be used within
  2272.  
  2273.        an HTPP response header. 
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279. Dave Raggett                                                           Page 20
  2280.  
  2281. HTML 3.0                                                       28th March 1995
  2282.  
  2283.  
  2284.  
  2285.    Examples: 
  2286.  
  2287.  
  2288.  
  2289.    If the document contains: 
  2290.  
  2291.  
  2292.  
  2293.    <META HTTP-EQUIV=Expires CONTENT="Tue, 04 Dec 1993 21:29:02 GMT">
  2294.  
  2295.    <META HTTP-EQUIV="Keywords" CONTENT="Nanotechnology, Biochemistry">
  2296.  
  2297.    <META HTTP-EQUIV="Reply-to" CONTENT="dsr@w3.org (Dave Raggett)">
  2298.  
  2299.    
  2300.  
  2301.  
  2302.  
  2303.    The server will include the following response headers: 
  2304.  
  2305.  
  2306.  
  2307.    Expires: Tue, 04 Dec 1993 21:29:02 GMT
  2308.  
  2309.    Keywords: Nanotechnology, Biochemistry
  2310.  
  2311.    Reply-to: dsr@w3.org (Dave Raggett)
  2312.  
  2313.  
  2314.  
  2315.    When the HTTP-EQUIV attribute is absent, the server should not
  2316.  
  2317.    generate an HTTP response header for this meta-information, e.g. 
  2318.  
  2319.  
  2320.  
  2321.    <META NAME="IndexType" CONTENT="Service">
  2322.  
  2323.  
  2324.  
  2325.    Do not use the META element to define information that should be
  2326.  
  2327.    associated with an existing HTML element. 
  2328.  
  2329.  
  2330.  
  2331.    Example of an inappropriate use of the META element: 
  2332.  
  2333.  
  2334.  
  2335.    <META NAME="Title" CONTENT="The Etymology of Dunsel">
  2336.  
  2337.  
  2338.  
  2339.    Do not name an HTTP-EQUIV attribute the same as a response header
  2340.  
  2341.    that should typically only be generated by the HTTP server. Some
  2342.  
  2343.    inappropriate names are "Server", "Date", and "Last-Modified".
  2344.  
  2345.    Whether a name is inappropriate depends on the particular server
  2346.  
  2347.    implementation. It is recommended that servers ignore any META
  2348.  
  2349.    elements that specify HTTP equivalents (case insensitively) to their
  2350.  
  2351.    own reserved response headers. 
  2352.  
  2353.  
  2354.  
  2355. ------------------------------------------------------------------------------
  2356.  
  2357. NEXTID
  2358.  
  2359.  
  2360.  
  2361.    The NEXTID is a parameter read and generated by text editing
  2362.  
  2363.    software to generate unique identifiers. This tag takes a single
  2364.  
  2365.    attribute which is the the next document-wide alpha-numeric
  2366.  
  2367.    identifier to be allocated of the form z123. 
  2368.  
  2369.  
  2370.  
  2371.    When modifying a document, existing anchor identifiers should not be
  2372.  
  2373.    reused, as these identifiers may be referenced by other documents.
  2374.  
  2375.    Human writers of HTML usually use mnemonic alphabetical identifiers. 
  2376.  
  2377.  
  2378.  
  2379.    Example: 
  2380.  
  2381.  
  2382.  
  2383.        <NEXTID N=Z27>
  2384.  
  2385.  
  2386.  
  2387.    HTML user agents may ignore the NEXTID element. Support for NEXTID
  2388.  
  2389.    does not impact HTML user agents in any way. 
  2390.  
  2391.  
  2392.  
  2393. Dave Raggett                                                           Page 21
  2394.  
  2395. HTML 3.0                                                       28th March 1995
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.    --I want to get rid of NEXTID, or at least deprecate it!-- 
  2402.  
  2403.  
  2404.  
  2405. ------------------------------------------------------------------------------
  2406.  
  2407. RANGE
  2408.  
  2409.  
  2410.  
  2411.    The RANGE element is used to mark a range of the document, for
  2412.  
  2413.    example for highlighting regions of the document matching some
  2414.  
  2415.    search criteria, or which are the subject of an annotation etc. 
  2416.  
  2417.  
  2418.  
  2419.        <RANGE CLASS=Search FROM=spot01 UNTIL=spot02>
  2420.  
  2421.  
  2422.  
  2423.    The FROM and UNTIL attributes specify positions in the document
  2424.  
  2425.    using SGML identifiers. Most elements in the document body can
  2426.  
  2427.    define such identifiers using ID attributes. The SPOT element is
  2428.  
  2429.    useful in this regard, as it allows search software etc. to insert
  2430.  
  2431.    IDs at random places: 
  2432.  
  2433.  
  2434.  
  2435.        <SPOT ID=spot01> ... <SPOT ID=spot02>
  2436.  
  2437.  
  2438.  
  2439.    The RANGE element supports the following attributes: 
  2440.  
  2441.  
  2442.  
  2443.    ID
  2444.  
  2445.        An SGML identifer used to name the range element. 
  2446.  
  2447.  
  2448.  
  2449.    CLASS
  2450.  
  2451.        A character string used to subclass the range element. 
  2452.  
  2453.  
  2454.  
  2455.    FROM
  2456.  
  2457.        References an SGML identifier for an element in the document
  2458.  
  2459.        body. It identifies the start of the marked range. 
  2460.  
  2461.  
  2462.  
  2463.    UNTIL
  2464.  
  2465.        References an SGML identifier for an element in the document
  2466.  
  2467.        body. It identifies the end of the marked range. 
  2468.  
  2469.  
  2470.  
  2471. ------------------------------------------------------------------------------
  2472.  
  2473. STYLE
  2474.  
  2475.  
  2476.  
  2477.    The STYLE element provides a means for including rendering
  2478.  
  2479.    information using a specified style notation. Information in the
  2480.  
  2481.    STYLE element overrides client defaults and that of linked style
  2482.  
  2483.    sheets. It allows authors to specify overrides, while for the most
  2484.  
  2485.    part using a generic style sheet, and as such improves the
  2486.  
  2487.    effectiveness of caching schemes for linked style sheets. There is
  2488.  
  2489.    one attribute - NOTATATION - which specifies an entity identifying
  2490.  
  2491.    an SGML notation in the HTML 3.0 DTD, for example: 
  2492.  
  2493.  
  2494.  
  2495.        <style notation=dsssl-lite>
  2496.  
  2497.          --some dsssl-lite stuff ...--
  2498.  
  2499.        </style>
  2500.  
  2501.  
  2502.  
  2503.    Stylistic rules will in general match tag names and attribute values
  2504.  
  2505.  
  2506.  
  2507. Dave Raggett                                                           Page 22
  2508.  
  2509. HTML 3.0                                                       28th March 1995
  2510.  
  2511.  
  2512.  
  2513.    for elements in the document body. Context sensitive rules may be
  2514.  
  2515.    used for such purposes as rendering drop down capitals for the
  2516.  
  2517.    initial letter in the first paragraph following a header. 
  2518.  
  2519.  
  2520.  
  2521. ------------------------------------------------------------------------------
  2522.  
  2523. TITLE
  2524.  
  2525.  
  2526.  
  2527.    Every HTML document must contain a TITLE element. The title should
  2528.  
  2529.    identify the contents of the document in a global context, and may
  2530.  
  2531.    be used in a history lists and as a label for the window displaying
  2532.  
  2533.    the document. Unlike headings, titles are not normally displayed in
  2534.  
  2535.    the text of a document itself. 
  2536.  
  2537.  
  2538.  
  2539.    The TITLE element must occur within the head of the document, and
  2540.  
  2541.    may not contain anchors, paragraph tags, or highlighting. There may
  2542.  
  2543.    only be one TITLE in any document. 
  2544.  
  2545.  
  2546.  
  2547.    The length of titles is unlimited, however, long titles may be
  2548.  
  2549.    truncated in some applications. To minimize this possibility, keep
  2550.  
  2551.    titles to fewer than 64 characters. Also keep in mind that a short
  2552.  
  2553.    title, such as Introduction, may be meaningless out of context. An
  2554.  
  2555.    example of a meaningful title might be: 
  2556.  
  2557.  
  2558.  
  2559.        <Title>Recent Advances in Nanotechnology</Title>
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621. Dave Raggett                                                           Page 23
  2622.  
  2623. HTML 3.0                                                       28th March 1995
  2624.  
  2625.  
  2626.  
  2627. The Body Element and Related Elements
  2628.  
  2629.  
  2630.  
  2631. The BODY element
  2632.  
  2633.  
  2634.  
  2635.    Permitted Context: HTML
  2636.  
  2637.    Content Model: %Body.Content 
  2638.  
  2639.  
  2640.  
  2641.    Within the BODY element, you can structure text into paragraphs, and
  2642.  
  2643.    lists, as well as highlighting phrases and creating links, amongst
  2644.  
  2645.    other things. The BODY element has the following attributes, all of
  2646.  
  2647.    which are optional: 
  2648.  
  2649.  
  2650.  
  2651.    Note that the ID, LANG and CLASS attributes can be used with
  2652.  
  2653.    virtually all of the elements permitted in the document body. 
  2654.  
  2655.  
  2656.  
  2657.    ID 
  2658.  
  2659.        An SGML identifier used as the target for hypertext links or for
  2660.  
  2661.        naming particular elements in associated style sheets.
  2662.  
  2663.        Identifiers are NAME tokens and must be unique within the scope
  2664.  
  2665.        of the current document. 
  2666.  
  2667.  
  2668.  
  2669.    LANG 
  2670.  
  2671.        This is one of the ISO standard language abbreviations, e.g.
  2672.  
  2673.        "en.uk" for the variation of English spoken in the United
  2674.  
  2675.        Kingdom. It can be used by parsers to select language specific
  2676.  
  2677.        choices for quotation marks, ligatures and hypenation rules etc.
  2678.  
  2679.        The language attribute is composed from the two letter language
  2680.  
  2681.        code from ISO 639, optionally followed by a period and a two
  2682.  
  2683.        letter country code from ISO 3166. 
  2684.  
  2685.  
  2686.  
  2687.    CLASS 
  2688.  
  2689.        This a space separated list of SGML NAME tokens and is used to
  2690.  
  2691.        subclass tag names. For instance, <P CLASS=STANZA.COUPLET>
  2692.  
  2693.        defines a paragraph that acts as a couplet in a stanza. By
  2694.  
  2695.        convention, the class names are interpreted hierarchically, with
  2696.  
  2697.        the most general class on the left and the most specific on the
  2698.  
  2699.        right, where classes are separated by a period. The CLASS
  2700.  
  2701.        attribute is most commonly used to attach a different style to
  2702.  
  2703.        some element, but it is recommended that where practical class
  2704.  
  2705.        names should be picked on the basis of the element's semantics,
  2706.  
  2707.        as this will permit other uses, such as restricting search
  2708.  
  2709.        through documents by matching on element class names. The
  2710.  
  2711.        conventions for choosing class names are outside the scope of
  2712.  
  2713.        this specification. 
  2714.  
  2715.  
  2716.  
  2717.    BACKGROUND 
  2718.  
  2719.        This can be used to specify a URI for an image tile to cover the
  2720.  
  2721.        document background. This provides a way of giving a group of
  2722.  
  2723.        documents a distinctive appearence. Clients may ignore this
  2724.  
  2725.        attribute. It is included here for the benefit of clients that
  2726.  
  2727.        don't support style sheets. Note that the text color may need to
  2728.  
  2729.        be adjusted to show an adequate contrast with the background. 
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735. Dave Raggett                                                           Page 24
  2736.  
  2737. HTML 3.0                                                       28th March 1995
  2738.  
  2739.  
  2740.  
  2741.    Note that you don't need to include a BODY tag unless you want to
  2742.  
  2743.    specify one of the above attributes. 
  2744.  
  2745.  
  2746.  
  2747. Body Structure
  2748.  
  2749.  
  2750.  
  2751.    The document body is composed from zero or more of the following
  2752.  
  2753.    elements: 
  2754.  
  2755.  
  2756.  
  2757.    *   DIV - used for hierarchical containers and static banners 
  2758.  
  2759.  
  2760.  
  2761.    *   Headings (H1, to H6) - a set of headers of varying levels of
  2762.  
  2763.        importance 
  2764.  
  2765.  
  2766.  
  2767.    *   Block elements - paragraphs, lists, forms, tables, figures and
  2768.  
  2769.        other elements 
  2770.  
  2771.  
  2772.  
  2773.    *   Horizontal rules, and the ADDRESS element 
  2774.  
  2775.  
  2776.  
  2777.    *   Text and character level markup including emphasis, images,
  2778.  
  2779.        math, hypertext links and miscellaneous elements. 
  2780.  
  2781.  
  2782.  
  2783.    Note that text and character level markup are only permitted at this
  2784.  
  2785.    level for backwards compatibility with legacy documents. The
  2786.  
  2787.    HTML.Recommended flag enforces a more structured approach to
  2788.  
  2789.    authoring HTML documents.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849. Dave Raggett                                                           Page 25
  2850.  
  2851. HTML 3.0                                                       28th March 1995
  2852.  
  2853.  
  2854.  
  2855. Banners
  2856.  
  2857.  
  2858.  
  2859.    Permitted Context: the start of the BODY element
  2860.  
  2861.    Content Model: %Body.Content 
  2862.  
  2863.  
  2864.  
  2865.    The BANNER element is used for corporate logos, navigation aids,
  2866.  
  2867.    disclaimers and other information which shouldn't be scrolled with
  2868.  
  2869.    the rest of the document. It provides an alternative to using the
  2870.  
  2871.    LINKelement in the document head to reference an externally defined
  2872.  
  2873.    banner. 
  2874.  
  2875.  
  2876.  
  2877. Permitted Attributes
  2878.  
  2879.  
  2880.  
  2881.    ID 
  2882.  
  2883.        An SGML identifier used as the target for hypertext links or for
  2884.  
  2885.        naming particular elements in associated style sheets.
  2886.  
  2887.        Identifiers are NAME tokens and must be unique within the scope
  2888.  
  2889.        of the current document. 
  2890.  
  2891.  
  2892.  
  2893.    LANG 
  2894.  
  2895.        This is one of the ISO standard language abbreviations, e.g.
  2896.  
  2897.        "en.uk" for the variation of English spoken in the United
  2898.  
  2899.        Kingdom. It can be used by parsers to select language specific
  2900.  
  2901.        choices for quotation marks, ligatures and hypenation rules etc.
  2902.  
  2903.        The language attribute is composed from the two letter language
  2904.  
  2905.        code from ISO 639, optionally followed by a period and a two
  2906.  
  2907.        letter country code from ISO 3166. 
  2908.  
  2909.  
  2910.  
  2911.    CLASS 
  2912.  
  2913.        This a space separated list of SGML NAME tokens and is used to
  2914.  
  2915.        subclass tag names. By convention, the class names are
  2916.  
  2917.        interpreted hierarchically, with the most general class on the
  2918.  
  2919.        left and the most specific on the right, where classes are
  2920.  
  2921.        separated by a period. The CLASS attribute is most commonly used
  2922.  
  2923.        to attach a different style to some element, but it is
  2924.  
  2925.        recommended that where practical class names should be picked on
  2926.  
  2927.        the basis of the element's semantics, as this will permit other
  2928.  
  2929.        uses, such as restricting search through documents by matching
  2930.  
  2931.        on element class names. The conventions for choosing class names
  2932.  
  2933.        are outside the scope of this specification. 
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963. Dave Raggett                                                           Page 26
  2964.  
  2965. HTML 3.0                                                       28th March 1995
  2966.  
  2967.  
  2968.  
  2969. Divisions
  2970.  
  2971.  
  2972.  
  2973.    Permitted Context: %Body.Content
  2974.  
  2975.    Content Model: %Body.Content 
  2976.  
  2977.  
  2978.  
  2979.    The DIV element is used with the CLASS attribute to represent
  2980.  
  2981.    different kinds of containers, e.g. chapter, section, abstract, or
  2982.  
  2983.    appendix. For example: 
  2984.  
  2985.  
  2986.  
  2987.    <DIV CLASS=Abstract>
  2988.  
  2989.    <P>TheChieftain product range is the white hot hope for the
  2990.  
  2991.    coming year. This report sets out how to position Chieftain
  2992.  
  2993.    against competing products.
  2994.  
  2995.    </DIV>
  2996.  
  2997.  
  2998.  
  2999. Permitted Attributes
  3000.  
  3001.  
  3002.  
  3003.    ID 
  3004.  
  3005.        An SGML identifier used as the target for hypertext links or for
  3006.  
  3007.        naming particular elements in associated style sheets.
  3008.  
  3009.        Identifiers are NAME tokens and must be unique within the scope
  3010.  
  3011.        of the current document. 
  3012.  
  3013.  
  3014.  
  3015.    LANG 
  3016.  
  3017.        This is one of the ISO standard language abbreviations, e.g.
  3018.  
  3019.        "en.uk" for the variation of English spoken in the United
  3020.  
  3021.        Kingdom. It can be used by parsers to select language specific
  3022.  
  3023.        choices for quotation marks, ligatures and hypenation rules etc.
  3024.  
  3025.        The language attribute is composed from the two letter language
  3026.  
  3027.        code from ISO 639, optionally followed by a period and a two
  3028.  
  3029.        letter country code from ISO 3166. 
  3030.  
  3031.  
  3032.  
  3033.    CLASS 
  3034.  
  3035.        This a space separated list of SGML NAME tokens and is used to
  3036.  
  3037.        subclass tag names. For instance, <DIV CLASS=APPENDIX> defines a
  3038.  
  3039.        division that acts as an appendix. By convention, the class
  3040.  
  3041.        names are interpreted hierarchically, with the most general
  3042.  
  3043.        class on the left and the most specific on the right, where
  3044.  
  3045.        classes are separated by a period. The CLASS attribute is most
  3046.  
  3047.        commonly used to attach a different style to some element, but
  3048.  
  3049.        it is recommended that where practical class names should be
  3050.  
  3051.        picked on the basis of the element's semantics, as this will
  3052.  
  3053.        permit other uses, such as restricting search through documents
  3054.  
  3055.        by matching on element class names. The conventions for choosing
  3056.  
  3057.        class names are outside the scope of this specification. 
  3058.  
  3059.  
  3060.  
  3061.    ALIGN 
  3062.  
  3063.        The ALIGN attribute can be used to explicitly specify the
  3064.  
  3065.        horizontal alignment of paragraphs within a division:
  3066.  
  3067.        
  3068.  
  3069.        
  3070.  
  3071.  
  3072.  
  3073.        align=left 
  3074.  
  3075.  
  3076.  
  3077. Dave Raggett                                                           Page 27
  3078.  
  3079. HTML 3.0                                                       28th March 1995
  3080.  
  3081.  
  3082.  
  3083.            Paragraphs are rendered flush left (the default). 
  3084.  
  3085.  
  3086.  
  3087.        align=center 
  3088.  
  3089.            Paragraphs are centered. 
  3090.  
  3091.  
  3092.  
  3093.        align=right 
  3094.  
  3095.            Paragraphs are rendered flush right. 
  3096.  
  3097.  
  3098.  
  3099.        align=justify 
  3100.  
  3101.            Text lines are justified where practical, otherwise this
  3102.  
  3103.            gives the same effect as the default align=left setting.
  3104.  
  3105.  
  3106.  
  3107.    NOWRAP 
  3108.  
  3109.        The NOWRAP attribute is used when you don't want the browser to
  3110.  
  3111.        automatically wrap lines. You can then explicitly specify line
  3112.  
  3113.        breaks in paragrphs using the BR element. 
  3114.  
  3115.  
  3116.  
  3117.    CLEAR 
  3118.  
  3119.        This attribute is common to all block-like elements. When text
  3120.  
  3121.        flows around a figure or table in the margin, you sometimes want
  3122.  
  3123.        to start the division below the figure rather than alongside it.
  3124.  
  3125.        The CLEAR attribute allows you to move down unconditionally:
  3126.  
  3127.        
  3128.  
  3129.        
  3130.  
  3131.  
  3132.  
  3133.        clear=left
  3134.  
  3135.            move down until left margin is clear 
  3136.  
  3137.  
  3138.  
  3139.        clear=right
  3140.  
  3141.            move down until right margin is clear 
  3142.  
  3143.  
  3144.  
  3145.        clear=all
  3146.  
  3147.            move down until both margins are clear 
  3148.  
  3149.  
  3150.  
  3151.        Alternatively, you can decide to place the element alongside the
  3152.  
  3153.        figure just so long as there is enough room. The minimum width
  3154.  
  3155.        needed is specified as:
  3156.  
  3157.        
  3158.  
  3159.        
  3160.  
  3161.  
  3162.  
  3163.        clear="40 en"
  3164.  
  3165.            move down until there is at least 40 en units free 
  3166.  
  3167.  
  3168.  
  3169.        clear="100 pixels"
  3170.  
  3171.            move down until there is at least 100 pixels free 
  3172.  
  3173.  
  3174.  
  3175.        The style sheet (or browser defaults) may provide default
  3176.  
  3177.        minimum widths for each class of block-like elements. 
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191. Dave Raggett                                                           Page 28
  3192.  
  3193. HTML 3.0                                                       28th March 1995
  3194.  
  3195.  
  3196.  
  3197. Headings
  3198.  
  3199.  
  3200.  
  3201.    Permitted Context: %Body.Content
  3202.  
  3203.    Content Model: %text 
  3204.  
  3205.  
  3206.  
  3207.    HTML defines six levels of headings. A heading element implies all
  3208.  
  3209.    the font changes, paragraph breaks before and after, and any white
  3210.  
  3211.    space necessary to render the heading. The heading elements are H1,
  3212.  
  3213.    H2, H3, H4, H5, and H6 with H1 being the highest (or most important)
  3214.  
  3215.    level and H6 the least. For example: 
  3216.  
  3217.  
  3218.  
  3219.    <H1>This is a top level heading</H1> Here is some text.
  3220.  
  3221.    <H2>Second level heading</H2> Here is some more text.
  3222.  
  3223.  
  3224.  
  3225.    Use the DIV element together with header elements when you want to
  3226.  
  3227.    make the hierarchical structure of a document explicit. This is
  3228.  
  3229.    needed as header elements themselves only contain the text of the
  3230.  
  3231.    header, and do not imply any structural division of documents into
  3232.  
  3233.    sections. Header elements have the same content model as paragraphs,
  3234.  
  3235.    that is text and character level markup, such as character emphasis,
  3236.  
  3237.    inline images, form fields and math. 
  3238.  
  3239.  
  3240.  
  3241.    Headers play a related role to lists in structuring documents, and
  3242.  
  3243.    it is common to number headers or to include a graphic that acts
  3244.  
  3245.    like a bullet in lists. HTML 3.0 recognizes this with attributes
  3246.  
  3247.    that assist with numbering headers and allow authors to specify a
  3248.  
  3249.    custom graphic. 
  3250.  
  3251.  
  3252.  
  3253.    The numbering style is controlled by the style sheet, e.g. 
  3254.  
  3255.  
  3256.  
  3257.    1.  The style sheet specifies whether headers are numbered, and
  3258.  
  3259.        which style is used to render the current sequence number, e.g.
  3260.  
  3261.        arabic, upper alpha, lower alpha, upper roman, lower roman or a
  3262.  
  3263.        numbering scheme appropriate to the current language. 
  3264.  
  3265.  
  3266.  
  3267.    2.  Whether the parent numbering is inherited, e.g. "5.1.d" where 5
  3268.  
  3269.        is the current sequence number for H1 headers, 1 is the number
  3270.  
  3271.        for H2 headers and 4 for H3 headers. 
  3272.  
  3273.  
  3274.  
  3275.    The seqnum and skip attributes can be used to override the default
  3276.  
  3277.    treatment of header sequence numbers, and provide for a continuity
  3278.  
  3279.    with numbered lists. 
  3280.  
  3281.  
  3282.  
  3283.    The dingbat or src attribute may be used to specify a bullet-like
  3284.  
  3285.    graphic to be placed adjacent to the header. The positioning of this
  3286.  
  3287.    graphic is controlled by the style sheet. The graphic is for
  3288.  
  3289.    decorative purposes only and silently ignored on non-graphical HTML
  3290.  
  3291.    user agents. 
  3292.  
  3293.  
  3294.  
  3295. Word Wrapping
  3296.  
  3297.  
  3298.  
  3299.    User agents are free to wrap lines at whitespace characters so as to
  3300.  
  3301.    ensure lines fit within the current window size. Use the  
  3302.  
  3303.  
  3304.  
  3305. Dave Raggett                                                           Page 29
  3306.  
  3307. HTML 3.0                                                       28th March 1995
  3308.  
  3309.  
  3310.  
  3311.    entity for the non-breaking space character, when you want to make
  3312.  
  3313.    sure that a line isn't broken! Alternatively, use the NOWRAP
  3314.  
  3315.    attribute to disable word wrapping and the <BR> element to force
  3316.  
  3317.    line breaks where desired. 
  3318.  
  3319.  
  3320.  
  3321.    --Netscape includes two tags: <NOBR>...</NOBR>, and <WBR>. The
  3322.  
  3323.    former turns off wordwrapping between the start and end NOBR tag,
  3324.  
  3325.    while WBR is for the rare case when you want to specify where to
  3326.  
  3327.    break the line if needed. Should HTML 3.0 provide an equivalent
  3328.  
  3329.    mechanism to WBR, (either a tag or an entity)?-- 
  3330.  
  3331.  
  3332.  
  3333. Permitted Attributes
  3334.  
  3335.  
  3336.  
  3337.    ID 
  3338.  
  3339.        An SGML identifier used as the target for hypertext links or for
  3340.  
  3341.        naming particular elements in associated style sheets.
  3342.  
  3343.        Identifiers are NAME tokens and must be unique within the scope
  3344.  
  3345.        of the current document. 
  3346.  
  3347.  
  3348.  
  3349.    LANG 
  3350.  
  3351.        This is one of the ISO standard language abbreviations, e.g.
  3352.  
  3353.        "en.uk" for the variation of English spoken in the United
  3354.  
  3355.        Kingdom. It can be used by parsers to select language specific
  3356.  
  3357.        choices for quotation marks, ligatures and hypenation rules etc.
  3358.  
  3359.        The language attribute is composed from the two letter language
  3360.  
  3361.        code from ISO 639, optionally followed by a period and a two
  3362.  
  3363.        letter country code from ISO 3166. 
  3364.  
  3365.  
  3366.  
  3367.    CLASS 
  3368.  
  3369.        This a space separated list of SGML NAME tokens and is used to
  3370.  
  3371.        subclass tag names. For instance, <H2 CLASS=Section> defines a
  3372.  
  3373.        level 2 header that acts as a section header. By convention, the
  3374.  
  3375.        class names are interpreted hierarchically, with the most
  3376.  
  3377.        general class on the left and the most specific on the right,
  3378.  
  3379.        where classes are separated by a period. The CLASS attribute is
  3380.  
  3381.        most commonly used to attach a different style to some element,
  3382.  
  3383.        but it is recommended that where practical class names should be
  3384.  
  3385.        picked on the basis of the element's semantics, as this will
  3386.  
  3387.        permit other uses, such as restricting search through documents
  3388.  
  3389.        by matching on element class names. The conventions for choosing
  3390.  
  3391.        class names are outside the scope of this specification. 
  3392.  
  3393.  
  3394.  
  3395.    ALIGN 
  3396.  
  3397.        Headings are usually rendered flush left. The ALIGN attribute
  3398.  
  3399.        can be used to explicitly specify the horizontal alignment:
  3400.  
  3401.        
  3402.  
  3403.        
  3404.  
  3405.  
  3406.  
  3407.        align=left 
  3408.  
  3409.            The heading is rendered flush left (the default). 
  3410.  
  3411.  
  3412.  
  3413.        align=center 
  3414.  
  3415.            The heading is centered. 
  3416.  
  3417.  
  3418.  
  3419. Dave Raggett                                                           Page 30
  3420.  
  3421. HTML 3.0                                                       28th March 1995
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.        align=right 
  3428.  
  3429.            The heading is rendered flush right. 
  3430.  
  3431.  
  3432.  
  3433.        align=justify 
  3434.  
  3435.            Heading lines are justified where practical, otherwise this
  3436.  
  3437.            gives the same effect as the default align=left setting. 
  3438.  
  3439.  
  3440.  
  3441.        For example: 
  3442.  
  3443.  
  3444.  
  3445.        <h1 align=center>This is a centered heading</H1>
  3446.  
  3447.        Here is some text. <H2 align=right>and this is a flush right
  3448.  
  3449.        heading</H2> Here is some more text.
  3450.  
  3451.  
  3452.  
  3453.    CLEAR 
  3454.  
  3455.        This attribute is common to all block-like elements. When text
  3456.  
  3457.        flows around a figure or table in the margin, you sometimes want
  3458.  
  3459.        to start an element like a header, paragraph or list below the
  3460.  
  3461.        figure rather than alongside it. The CLEAR attribute allows you
  3462.  
  3463.        to move down unconditionally:
  3464.  
  3465.        
  3466.  
  3467.        
  3468.  
  3469.  
  3470.  
  3471.        clear=left
  3472.  
  3473.            move down until left margin is clear 
  3474.  
  3475.  
  3476.  
  3477.        clear=right
  3478.  
  3479.            move down until right margin is clear 
  3480.  
  3481.  
  3482.  
  3483.        clear=all
  3484.  
  3485.            move down until both margins are clear 
  3486.  
  3487.  
  3488.  
  3489.        Alternatively, you can decide to place the element alongside the
  3490.  
  3491.        figure just so long as there is enough room. The minimum width
  3492.  
  3493.        needed is specified as:
  3494.  
  3495.        
  3496.  
  3497.        
  3498.  
  3499.  
  3500.  
  3501.        clear="40 en"
  3502.  
  3503.            move down until there is at least 40 en units free 
  3504.  
  3505.  
  3506.  
  3507.        clear="100 pixels"
  3508.  
  3509.            move down until there is at least 100 pixels free 
  3510.  
  3511.  
  3512.  
  3513.        The style sheet (or browser defaults) may provide default
  3514.  
  3515.        minimum widths for each class of block-like elements. 
  3516.  
  3517.  
  3518.  
  3519.    SEQNUM 
  3520.  
  3521.        A sequence number is associated with each level of header from
  3522.  
  3523.        the top level (H1) to the bottom level (H6). This attribute is
  3524.  
  3525.        used to set the sequence number associated with the header level
  3526.  
  3527.        of the current element to a given number, e.g. SEQNUM=10.
  3528.  
  3529.        Normally, the sequence number is initialized to 1 at the
  3530.  
  3531.  
  3532.  
  3533. Dave Raggett                                                           Page 31
  3534.  
  3535. HTML 3.0                                                       28th March 1995
  3536.  
  3537.  
  3538.  
  3539.        beginning of the document and incremented after each header
  3540.  
  3541.        element. It is reset to 1 by any header element of a higher
  3542.  
  3543.        level, e.g. an H1 header resets the sequence numbers for H2 to
  3544.  
  3545.        H6. The style of header numbering is controlled by the style
  3546.  
  3547.        sheet. 
  3548.  
  3549.  
  3550.  
  3551.    SKIP 
  3552.  
  3553.        Increments the sequence number before rendering the element. It
  3554.  
  3555.        is used when headers have been left out of the sequence. For
  3556.  
  3557.        instance, SKIP=3 advances the sequence number past 3 omitted
  3558.  
  3559.        items. 
  3560.  
  3561.  
  3562.  
  3563.    DINGBAT 
  3564.  
  3565.        Specifies an iconic image to appear preceding the header. The
  3566.  
  3567.        icon is specified as an entity name. A list of standard icon
  3568.  
  3569.        entity names for HTML 3.0 is given in an appendix of this
  3570.  
  3571.        specification. 
  3572.  
  3573.  
  3574.  
  3575.    SRC 
  3576.  
  3577.        Specifies an image to appear preceding the header. The image is
  3578.  
  3579.        specified as a URI. This attribute may appear together with the
  3580.  
  3581.        MD attribute. 
  3582.  
  3583.  
  3584.  
  3585.    MD 
  3586.  
  3587.        Specifies a message digest or cryptographic checksum for the
  3588.  
  3589.        associated graphic specified by the SRC attribute. It is used
  3590.  
  3591.        when you want to be sure that a linked object is indeed the same
  3592.  
  3593.        one that the author intended, and hasn't been modified in any
  3594.  
  3595.        way. For instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which
  3596.  
  3597.        specifies an MD5 checksum encoded as a base64 character string.
  3598.  
  3599.        The MD attribute is generally allowed for all elements which
  3600.  
  3601.        support URI based links. 
  3602.  
  3603.  
  3604.  
  3605.    NOWRAP 
  3606.  
  3607.        The NOWRAP attribute is used when you don't want the browser to
  3608.  
  3609.        automatically wrap lines. You can then explicitly specify line
  3610.  
  3611.        breaks in headings using the BR element. For example: 
  3612.  
  3613.  
  3614.  
  3615.        <h1 nowrap>This heading has wordwrap turned off<br>
  3616.  
  3617.        and the BR element is used for explicit line breaks</H1>
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.  
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636.  
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647. Dave Raggett                                                           Page 32
  3648.  
  3649. HTML 3.0                                                       28th March 1995
  3650.  
  3651.  
  3652.  
  3653. Paragraphs
  3654.  
  3655.  
  3656.  
  3657.    Permitted Context: %Body.Content, %flow, %block
  3658.  
  3659.    Content Model: %text 
  3660.  
  3661.  
  3662.  
  3663.    The <P> element is used to define a paragraph. The exact rendering
  3664.  
  3665.    (indentation, leading etc.) is not defined and may be a function of
  3666.  
  3667.    other tags, style sheets, etc. The ALIGN attribute can be used to
  3668.  
  3669.    explicitly specify the horizontal alignment. Paragraph elements have
  3670.  
  3671.    the same content model as headers, that is text and character level
  3672.  
  3673.    markup, such as character emphasis, inline images, form fields and
  3674.  
  3675.    math. 
  3676.  
  3677.  
  3678.  
  3679.    Example: 
  3680.  
  3681.  
  3682.  
  3683.    <H1>The heading precedes the first paragraph</H1>
  3684.  
  3685.    <P>Here is the text of the first paragraph. <P>and this is
  3686.  
  3687.    the text of the second paragraph.
  3688.  
  3689.  
  3690.  
  3691.    The text up to the next <p> element is treated as being part of the
  3692.  
  3693.    current paragraph. This is an example of how SGML allows certain end
  3694.  
  3695.    tags like </p> to be left out where they can be inferred from the
  3696.  
  3697.    context. 
  3698.  
  3699.  
  3700.  
  3701. Word Wrapping
  3702.  
  3703.  
  3704.  
  3705.    User agents are free to wrap lines at whitespace characters so as to
  3706.  
  3707.    ensure lines fit within the current window size. Use the  
  3708.  
  3709.    entity for the non-breaking space character, when you want to make
  3710.  
  3711.    sure that a line isn't broken! Alternatively, use the NOWRAP
  3712.  
  3713.    attribute to disable word wrapping and the <BR> element to force
  3714.  
  3715.    line breaks where desired. 
  3716.  
  3717.  
  3718.  
  3719.    --Netscape includes two tags: <NOBR>...</NOBR>, and <WBR>. The
  3720.  
  3721.    former turns off wordwrapping between the start and end NOBR tag,
  3722.  
  3723.    while WBR is for the rare case when you want to specify where to
  3724.  
  3725.    break the line if needed. Should HTML 3.0 provide an equivalent
  3726.  
  3727.    mechanism to WBR, (either a tag or an entity)?-- 
  3728.  
  3729.  
  3730.  
  3731.    Note: Do not use empty paragraphs to add white space around
  3732.  
  3733.    headings, lists or other elements. White space is added by the
  3734.  
  3735.    rendering software. 
  3736.  
  3737.  
  3738.  
  3739. Permitted Attributes
  3740.  
  3741.  
  3742.  
  3743.    ID 
  3744.  
  3745.        An SGML identifier used as the target for hypertext links or for
  3746.  
  3747.        naming particular elements in associated style sheets.
  3748.  
  3749.        Identifiers are NAME tokens and must be unique within the scope
  3750.  
  3751.        of the current document. 
  3752.  
  3753.  
  3754.  
  3755.    LANG 
  3756.  
  3757.        This is one of the ISO standard language abbreviations, e.g.
  3758.  
  3759.  
  3760.  
  3761. Dave Raggett                                                           Page 33
  3762.  
  3763. HTML 3.0                                                       28th March 1995
  3764.  
  3765.  
  3766.  
  3767.        "en.uk" for the variation of English spoken in the United
  3768.  
  3769.        Kingdom. It can be used by parsers to select language specific
  3770.  
  3771.        choices for quotation marks, ligatures and hypenation rules etc.
  3772.  
  3773.        The language attribute is composed from the two letter language
  3774.  
  3775.        code from ISO 639, optionally followed by a period and a two
  3776.  
  3777.        letter country code from ISO 3166. 
  3778.  
  3779.  
  3780.  
  3781.    CLASS 
  3782.  
  3783.        This a space separated list of SGML NAME tokens and is used to
  3784.  
  3785.        subclass tag names. For instance, <P CLASS=abstract> defines a
  3786.  
  3787.        paragraph that acts as an abstract. By convention, the class
  3788.  
  3789.        names are interpreted hierarchically, with the most general
  3790.  
  3791.        class on the left and the most specific on the right, where
  3792.  
  3793.        classes are separated by a period. The CLASS attribute is most
  3794.  
  3795.        commonly used to attach a different style to some element, but
  3796.  
  3797.        it is recommended that where practical class names should be
  3798.  
  3799.        picked on the basis of the element's semantics, as this will
  3800.  
  3801.        permit other uses, such as restricting search through documents
  3802.  
  3803.        by matching on element class names. The conventions for choosing
  3804.  
  3805.        class names are outside the scope of this specification. 
  3806.  
  3807.  
  3808.  
  3809.    ALIGN 
  3810.  
  3811.        Paragraphs are usually rendered flush left. The ALIGN attribute
  3812.  
  3813.        can be used to explicitly specify the horizontal alignment:
  3814.  
  3815.        
  3816.  
  3817.        
  3818.  
  3819.  
  3820.  
  3821.        align=left 
  3822.  
  3823.            The paragraph is rendered flush left (the default). 
  3824.  
  3825.  
  3826.  
  3827.        align=center 
  3828.  
  3829.            The paragraph is centered. 
  3830.  
  3831.  
  3832.  
  3833.        align=right 
  3834.  
  3835.            The paragraph is rendered flush right. 
  3836.  
  3837.  
  3838.  
  3839.        align=justify 
  3840.  
  3841.            Text lines are justified where practical, otherwise this
  3842.  
  3843.            gives the same effect as the default align=left setting.
  3844.  
  3845.  
  3846.  
  3847.        For example: 
  3848.  
  3849.  
  3850.  
  3851.        <p align=center>This is a centered paragraph.
  3852.  
  3853.        <p align=right>and this is a flush right paragraph.
  3854.  
  3855.  
  3856.  
  3857.    CLEAR 
  3858.  
  3859.        This attribute is common to all block-like elements. When text
  3860.  
  3861.        flows around a figure or table in the margin, you sometimes want
  3862.  
  3863.        to start an element like a header, paragraph or list below the
  3864.  
  3865.        figure rather than alongside it. The CLEAR attribute allows you
  3866.  
  3867.        to move down unconditionally:
  3868.  
  3869.        
  3870.  
  3871.        
  3872.  
  3873.  
  3874.  
  3875. Dave Raggett                                                           Page 34
  3876.  
  3877. HTML 3.0                                                       28th March 1995
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.        clear=left
  3884.  
  3885.            move down until left margin is clear 
  3886.  
  3887.  
  3888.  
  3889.        clear=right
  3890.  
  3891.            move down until right margin is clear 
  3892.  
  3893.  
  3894.  
  3895.        clear=all
  3896.  
  3897.            move down until both margins are clear 
  3898.  
  3899.  
  3900.  
  3901.        Alternatively, you can decide to place the element alongside the
  3902.  
  3903.        figure just so long as there is enough room. The minimum width
  3904.  
  3905.        needed is specified as:
  3906.  
  3907.  
  3908.  
  3909.        clear="40 en"
  3910.  
  3911.            move down until there is at least 40 en units free 
  3912.  
  3913.  
  3914.  
  3915.        clear="100 pixels"
  3916.  
  3917.            move down until there is at least 100 pixels free 
  3918.  
  3919.  
  3920.  
  3921.        The style sheet (or browser defaults) may provide default
  3922.  
  3923.        minimum widths for each class of block-like elements. 
  3924.  
  3925.  
  3926.  
  3927.    NOWRAP 
  3928.  
  3929.        The NOWRAP attribute is used when you don't want the browser to
  3930.  
  3931.        automatically wrap lines. You can then explicitly specify line
  3932.  
  3933.        breaks in paragraphs using the BR element. For example: 
  3934.  
  3935.  
  3936.  
  3937.        <p nowrap>This paragraph has wordwrap turned off<br>
  3938.  
  3939.        and the BR element is used for explicit line breaks
  3940.  
  3941.  
  3942.  
  3943.  
  3944.  
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.  
  3954.  
  3955.  
  3956.  
  3957.  
  3958.  
  3959.  
  3960.  
  3961.  
  3962.  
  3963.  
  3964.  
  3965.  
  3966.  
  3967.  
  3968.  
  3969.  
  3970.  
  3971.  
  3972.  
  3973.  
  3974.  
  3975.  
  3976.  
  3977.  
  3978.  
  3979.  
  3980.  
  3981.  
  3982.  
  3983.  
  3984.  
  3985.  
  3986.  
  3987.  
  3988.  
  3989. Dave Raggett                                                           Page 35
  3990.  
  3991. HTML 3.0                                                       28th March 1995
  3992.  
  3993.  
  3994.  
  3995. Line Breaks
  3996.  
  3997.  
  3998.  
  3999.    Permitted Context: %text
  4000.  
  4001.    Content Model: Empty! 
  4002.  
  4003.  
  4004.  
  4005.    Line break and tab elements can be used when you need a little more
  4006.  
  4007.    control over how the browser renders the text. The <BR> element is
  4008.  
  4009.    used to force a line break. 
  4010.  
  4011.  
  4012.  
  4013.    For example: 
  4014.  
  4015.  
  4016.  
  4017.        This is the first line<br>
  4018.  
  4019.        and this is the second<br>
  4020.  
  4021.        and this the third
  4022.  
  4023.  
  4024.  
  4025.    --Shouldn't we have a conditional line break element like Netscape's
  4026.  
  4027.    WBR thats indicates where to break lines when needed and when
  4028.  
  4029.    wordwrap is disabled? Rather than an element, shouldn't this be an
  4030.  
  4031.    entity - is there one already defined for this purpose?-- 
  4032.  
  4033.  
  4034.  
  4035. Permitted Attributes
  4036.  
  4037.  
  4038.  
  4039.    ID 
  4040.  
  4041.        An SGML identifier used as the target for hypertext links or for
  4042.  
  4043.        naming particular elements in associated style sheets.
  4044.  
  4045.        Identifiers are NAME tokens and must be unique within the scope
  4046.  
  4047.        of the current document. 
  4048.  
  4049.  
  4050.  
  4051.    LANG 
  4052.  
  4053.        This is one of the ISO standard language abbreviations, e.g.
  4054.  
  4055.        "en.uk" for the variation of English spoken in the United
  4056.  
  4057.        Kingdom. It can be used by parsers to select language specific
  4058.  
  4059.        choices for quotation marks, ligatures and hypenation rules etc.
  4060.  
  4061.        The language attribute is composed from the two letter language
  4062.  
  4063.        code from ISO 639, optionally followed by a period and a two
  4064.  
  4065.        letter country code from ISO 3166. 
  4066.  
  4067.  
  4068.  
  4069.    CLASS 
  4070.  
  4071.        This a space separated list of SGML NAME tokens and is used to
  4072.  
  4073.        subclass tag names. By convention, the class names are
  4074.  
  4075.        interpreted hierarchically, with the most general class on the
  4076.  
  4077.        left and the most specific on the right, where classes are
  4078.  
  4079.        separated by a period. The CLASS attribute is most commonly used
  4080.  
  4081.        to attach a different style to some element, but it is
  4082.  
  4083.        recommended that where practical class names should be picked on
  4084.  
  4085.        the basis of the element's semantics, as this will permit other
  4086.  
  4087.        uses, such as restricting search through documents by matching
  4088.  
  4089.        on element class names. The conventions for choosing class names
  4090.  
  4091.        are outside the scope of this specification. 
  4092.  
  4093.  
  4094.  
  4095.    CLEAR 
  4096.  
  4097.        When text flows around a figure or table in the margin, you
  4098.  
  4099.        sometimes want to start the next line below the figure rather
  4100.  
  4101.  
  4102.  
  4103. Dave Raggett                                                           Page 36
  4104.  
  4105. HTML 3.0                                                       28th March 1995
  4106.  
  4107.  
  4108.  
  4109.        than alongside it. The CLEAR attribute allows you to move down unconditionally:
  4110.  
  4111.        
  4112.  
  4113.        
  4114.  
  4115.  
  4116.  
  4117.        clear=left
  4118.  
  4119.            move down until left margin is clear 
  4120.  
  4121.  
  4122.  
  4123.        clear=right
  4124.  
  4125.            move down until right margin is clear 
  4126.  
  4127.  
  4128.  
  4129.        clear=all
  4130.  
  4131.            move down until both margins are clear 
  4132.  
  4133.  
  4134.  
  4135.        Alternatively, you can decide to place the element alongside the
  4136.  
  4137.        figure just so long as there is enough room. The minimum width
  4138.  
  4139.        needed is specified as:
  4140.  
  4141.        
  4142.  
  4143.        
  4144.  
  4145.  
  4146.  
  4147.        clear="40 en"
  4148.  
  4149.            move down until there is at least 40 en units free 
  4150.  
  4151.  
  4152.  
  4153.        clear="100 pixels"
  4154.  
  4155.            move down until there is at least 100 pixels free 
  4156.  
  4157.  
  4158.  
  4159.        The style sheet (or browser defaults) may provide default
  4160.  
  4161.        minimum widths for each class of block-like elements. 
  4162.  
  4163.  
  4164.  
  4165.  
  4166.  
  4167.  
  4168.  
  4169.  
  4170.  
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176.  
  4177.  
  4178.  
  4179.  
  4180.  
  4181.  
  4182.  
  4183.  
  4184.  
  4185.  
  4186.  
  4187.  
  4188.  
  4189.  
  4190.  
  4191.  
  4192.  
  4193.  
  4194.  
  4195.  
  4196.  
  4197.  
  4198.  
  4199.  
  4200.  
  4201.  
  4202.  
  4203.  
  4204.  
  4205.  
  4206.  
  4207.  
  4208.  
  4209.  
  4210.  
  4211.  
  4212.  
  4213.  
  4214.  
  4215.  
  4216.  
  4217. Dave Raggett                                                           Page 37
  4218.  
  4219. HTML 3.0                                                       28th March 1995
  4220.  
  4221.  
  4222.  
  4223. Horizontal Tabs
  4224.  
  4225.  
  4226.  
  4227.    Permitted Context: %text
  4228.  
  4229.    Content Model: Empty! 
  4230.  
  4231.  
  4232.  
  4233.    The TAB element can be used when you want fine control over the
  4234.  
  4235.    horizontal positioning. The TAB element is used with the <tab
  4236.  
  4237.    id=--name--> attribute to define named tab stops. Subsequently, you
  4238.  
  4239.    can use the TAB element with the <tab to=--name--> attribute to move
  4240.  
  4241.    to the previously defined tab stop. This approach avoids the need to
  4242.  
  4243.    know the font metrics in advance. The TAB element, together with
  4244.  
  4245.    style sheets, allows conversion software to preserve layout
  4246.  
  4247.    information when importing documents created with conventional word
  4248.  
  4249.    processing software. 
  4250.  
  4251.  
  4252.  
  4253.    For example: 
  4254.  
  4255.  
  4256.  
  4257.    <p><b>noct<tab id=t1>ambulant</b> - walking at night<br>
  4258.  
  4259.    <tab to=t1>(from Latin: <i>nox noctis</i> night + <i>ambulare</i> walk)
  4260.  
  4261.  
  4262.  
  4263.    which is rendered as: 
  4264.  
  4265.  
  4266.  
  4267.    noctambulant - walking at night
  4268.  
  4269.        (from Latin: --nox noctis-- night + --ambulare-- walk)
  4270.  
  4271.    
  4272.  
  4273.  
  4274.  
  4275.    The tab stop name (--t1-- in the example) should be unique within
  4276.  
  4277.    the current document and composed from an initial letter followed by
  4278.  
  4279.    letters, digits or hyphens. 
  4280.  
  4281.  
  4282.  
  4283.    Sometimes, you want to make the remainder of the line flush right
  4284.  
  4285.    while leaving the earlier words unmoved. This is possible with the
  4286.  
  4287.    --align-- attribute. For example: 
  4288.  
  4289.  
  4290.  
  4291.    Left part of line<tab align=right>and right part of line.
  4292.  
  4293.  
  4294.  
  4295.    which is rendered as: 
  4296.  
  4297.  
  4298.  
  4299.    Left part of line                               and right part of line.
  4300.  
  4301.  
  4302.  
  4303. Permitted Attributes
  4304.  
  4305.  
  4306.  
  4307.    ID 
  4308.  
  4309.        An SGML identifier used to name a new tab stop at the current
  4310.  
  4311.        position. The scope of the tab stop is the rest of the document. 
  4312.  
  4313.  
  4314.  
  4315.    INDENT 
  4316.  
  4317.        Specifies the number of en units before the tab stop. The en is
  4318.  
  4319.        a typographical unit equal to half the point size. It allows
  4320.  
  4321.        authors to control the leading indent before text, e.g. in
  4322.  
  4323.        poetry, one might use: <TAB INDENT=6> to indent six en units at
  4324.  
  4325.        the start of a line. The INDENT attribute is not meaningful when
  4326.  
  4327.        combined with the TO attribute. 
  4328.  
  4329.  
  4330.  
  4331. Dave Raggett                                                           Page 38
  4332.  
  4333. HTML 3.0                                                       28th March 1995
  4334.  
  4335.  
  4336.  
  4337.  
  4338.  
  4339.    TO 
  4340.  
  4341.        Specifies a previously defined tab stop (see ID attribute). 
  4342.  
  4343.  
  4344.  
  4345.    ALIGN 
  4346.  
  4347.        Lines are usually rendered according to the alignment option for
  4348.  
  4349.        the enclosing paragraph element. The ALIGN attribute can be used
  4350.  
  4351.        to explicitly specify the horizontal alignment:
  4352.  
  4353.        
  4354.  
  4355.        
  4356.  
  4357.  
  4358.  
  4359.        align=left 
  4360.  
  4361.            Following text starts immediately after the designated tab
  4362.  
  4363.            stop (the default). 
  4364.  
  4365.  
  4366.  
  4367.        align=center 
  4368.  
  4369.            Following text up to next tab or line break is centered on
  4370.  
  4371.            the designated tab stop. If the TO attribute is missing, it
  4372.  
  4373.            centers the text between the current left and right margins. 
  4374.  
  4375.  
  4376.  
  4377.        align=right 
  4378.  
  4379.            Following text up to the next tab or line break is rendered
  4380.  
  4381.            flush right to the designated tab stop. If the TO attribute
  4382.  
  4383.            is missing, it renders the text flush right against the
  4384.  
  4385.            current right margin. 
  4386.  
  4387.  
  4388.  
  4389.        align=decimal 
  4390.  
  4391.            The following text is searched for the first occurrence of
  4392.  
  4393.            the character representing the decimal point. The text up to
  4394.  
  4395.            the next tab or line break is then aligned such that the
  4396.  
  4397.            decimal point starts at the designated tab stop. If the TO
  4398.  
  4399.            attribute is missing, the tab element is treated as a single
  4400.  
  4401.            space character. 
  4402.  
  4403.  
  4404.  
  4405.    DP 
  4406.  
  4407.        This specifies the character to be used for the decimal point
  4408.  
  4409.        with the ALIGN attribute, e.g. dp="." (the default) or dp=",".
  4410.  
  4411.        The default may be altered by the language context, as set by
  4412.  
  4413.        the LANG attribute on enclosing elements. 
  4414.  
  4415.  
  4416.  
  4417.    Note: if the specified alignment and tab stop would cause text to
  4418.  
  4419.    overlap preceding text, then the tab element may be treated as a
  4420.  
  4421.    single space character. 
  4422.  
  4423.  
  4424.  
  4425.    --How should the above be rewritten to work with languages which are
  4426.  
  4427.    rendered from right to left? What about lines with mixed
  4428.  
  4429.    directions?--  
  4430.  
  4431.  
  4432.  
  4433.  
  4434.  
  4435.  
  4436.  
  4437.  
  4438.  
  4439.  
  4440.  
  4441.  
  4442.  
  4443.  
  4444.  
  4445. Dave Raggett                                                           Page 39
  4446.  
  4447. HTML 3.0                                                       28th March 1995
  4448.  
  4449.  
  4450.  
  4451. Hypertext Links
  4452.  
  4453.  
  4454.  
  4455.    Permitted Context: %text
  4456.  
  4457.    Content Model: %text, but no nested anchors 
  4458.  
  4459.  
  4460.  
  4461.    The anchor <A> element is used to define the start and/or
  4462.  
  4463.    destination of a hypertext link. In previous versions of HTML it
  4464.  
  4465.    provided the only means for defining destination anchors within
  4466.  
  4467.    documents, but you can now use any ID attribute as a destination
  4468.  
  4469.    anchor so that links can now be made to divisions, paragraphs and
  4470.  
  4471.    most other elements. 
  4472.  
  4473.  
  4474.  
  4475.    Example: 
  4476.  
  4477.  
  4478.  
  4479.    The <A HREF="http://www.w3.org/">World Wide Web Organization</A>
  4480.  
  4481.    provides information on Web related standards, mailing lists
  4482.  
  4483.    and freeware tools.
  4484.  
  4485.  
  4486.  
  4487.    The text between the start and end tag defines the label for the
  4488.  
  4489.    link. Selecting the link takes the reader to the document specified
  4490.  
  4491.    by the HREF attribute, in this case, the W3O home page. The label
  4492.  
  4493.    can include graphics defined with IMG elements. 
  4494.  
  4495.  
  4496.  
  4497.    For FIG elements, the anchor element serves a dual role.
  4498.  
  4499.    Non-graphical user agents interpret it as a conventional text-based
  4500.  
  4501.    hypertext link, while graphical user agents interpret the anchor's
  4502.  
  4503.    SHAPE attribute as a graphical hotzone on the figure. 
  4504.  
  4505.  
  4506.  
  4507. Permitted Attributes
  4508.  
  4509.  
  4510.  
  4511.    ID 
  4512.  
  4513.        An SGML identifier used as the target for hypertext links or for
  4514.  
  4515.        naming particular elements in associated style sheets.
  4516.  
  4517.        Identifiers are NAME tokens and must be unique within the scope
  4518.  
  4519.        of the current document. This attribute supercedes the "NAME"
  4520.  
  4521.        attribute, see below. 
  4522.  
  4523.  
  4524.  
  4525.        For example, the following paragraph is defined as an anchor
  4526.  
  4527.        named "potomac": 
  4528.  
  4529.  
  4530.  
  4531.        <P ID="potomac">The Potomac river flows into Boston harbour,
  4532.  
  4533.        and played an important role in opening up the hinterland
  4534.  
  4535.        to early settlers...
  4536.  
  4537.  
  4538.  
  4539.        Elsewhere, you can define a link to this paragraph, as follows: 
  4540.  
  4541.  
  4542.  
  4543.        <A HREF="#potomac">Boston</A> is a historic city and
  4544.  
  4545.        a thriving center of commerce and higher education.
  4546.  
  4547.  
  4548.  
  4549.        The reader can select the link labelled "Boston" to see further
  4550.  
  4551.        information on the Boston area. 
  4552.  
  4553.  
  4554.  
  4555.    LANG 
  4556.  
  4557.  
  4558.  
  4559. Dave Raggett                                                           Page 40
  4560.  
  4561. HTML 3.0                                                       28th March 1995
  4562.  
  4563.  
  4564.  
  4565.        This is one of the ISO standard language abbreviations, e.g.
  4566.  
  4567.        "en.uk" for the variation of English spoken in the United
  4568.  
  4569.        Kingdom. It can be used by parsers to select language specific
  4570.  
  4571.        choices for quotation marks, ligatures and hypenation rules etc.
  4572.  
  4573.        The language attribute is composed from the two letter language
  4574.  
  4575.        code from ISO 639, optionally followed by a period and a two
  4576.  
  4577.        letter country code from ISO 3166. 
  4578.  
  4579.  
  4580.  
  4581.    CLASS 
  4582.  
  4583.        This a space separated list of SGML NAME tokens and is used to
  4584.  
  4585.        subclass tag names. By convention, the class names are
  4586.  
  4587.        interpreted hierarchically, with the most general class on the
  4588.  
  4589.        left and the most specific on the right, where classes are
  4590.  
  4591.        separated by a period. The CLASS attribute is most commonly used
  4592.  
  4593.        to attach a different style to some element, but it is
  4594.  
  4595.        recommended that where practical class names should be picked on
  4596.  
  4597.        the basis of the element's semantics, as this will permit other
  4598.  
  4599.        uses, such as restricting search through documents by matching
  4600.  
  4601.        on element class names. The conventions for choosing class names
  4602.  
  4603.        are outside the scope of this specification. 
  4604.  
  4605.  
  4606.  
  4607.    HREF 
  4608.  
  4609.        The HREF attribute implies that the anchor acts as the start of
  4610.  
  4611.        a hypertext link. The destination is designated by the value of
  4612.  
  4613.        the HREF attribute, which is expressed in the Universal Resource
  4614.  
  4615.        Identifier (URI) notation. 
  4616.  
  4617.  
  4618.  
  4619.    MD 
  4620.  
  4621.        Specifies a message digest or cryptographic checksum for the
  4622.  
  4623.        linked document designated by the HREF attribute. It is used
  4624.  
  4625.        when you want to be sure that a linked object is indeed the same
  4626.  
  4627.        one that the author intended, and hasn't been modified in any
  4628.  
  4629.        way. For instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which
  4630.  
  4631.        specifies an MD5 checksum encoded as a base64 character string.
  4632.  
  4633.        The MD attribute is generally allowed for all elements which
  4634.  
  4635.        support URI based links. 
  4636.  
  4637.  
  4638.  
  4639.    NAME 
  4640.  
  4641.        This attribute is used to define a named anchor for use as the
  4642.  
  4643.        destination of hypertext links. For example, the following
  4644.  
  4645.        defines an anchor than can be used as the destination of a jump
  4646.  
  4647.        into a description of the Boston area. 
  4648.  
  4649.  
  4650.  
  4651.        The <A NAME="potomac">Potomac river</A> flows into Boston
  4652.  
  4653.        harbour.
  4654.  
  4655.  
  4656.  
  4657.        Note: the NAME attribute has been superceded by the ID
  4658.  
  4659.        attribute. User agents should include support for NAME to ensure
  4660.  
  4661.        backwards compatibility with legacy documents produced using
  4662.  
  4663.        previous versions of HTML. 
  4664.  
  4665.  
  4666.  
  4667.    SHAPE
  4668.  
  4669.        This attribute is used within figures to define shaped hotzones
  4670.  
  4671.  
  4672.  
  4673. Dave Raggett                                                           Page 41
  4674.  
  4675. HTML 3.0                                                       28th March 1995
  4676.  
  4677.  
  4678.  
  4679.        for graphical hypertext links. Full details of how to use this
  4680.  
  4681.        feature will be given with the description of the figure
  4682.  
  4683.        element. The attribute value is a string taking one of the
  4684.  
  4685.        following forms:
  4686.  
  4687.        
  4688.  
  4689.        
  4690.  
  4691.  
  4692.  
  4693.        "default" 
  4694.  
  4695.            Used to define a default link for the figure background. 
  4696.  
  4697.  
  4698.  
  4699.        "circle x, y, r" 
  4700.  
  4701.            Where x and y define the center and r specifies the radius. 
  4702.  
  4703.  
  4704.  
  4705.        "rect x, y, w, h" 
  4706.  
  4707.            Where x, y define the upper left corner and w, h define the
  4708.  
  4709.            width and height respectively 
  4710.  
  4711.  
  4712.  
  4713.        "polygon x1, y1, x2, y2, ..." 
  4714.  
  4715.            Given n pairs of x, y coordinates, the polygon is closed by
  4716.  
  4717.            a line linking the n'th point to the first. Intersecting
  4718.  
  4719.            polygons use the non-zero winding number rule to determine
  4720.  
  4721.            if a point lies inside the polygon. 
  4722.  
  4723.  
  4724.  
  4725.        If a pointer event occurs in a region where two or more shapes
  4726.  
  4727.        overlap, the distance from the point to the center of gravity of
  4728.  
  4729.        each of the overlapping shapes is computed and the closest one
  4730.  
  4731.        chosen. This feature is useful when you want lots of closely
  4732.  
  4733.        spaced hotzones, for example over points on a map, as it allows
  4734.  
  4735.        you to use simple shapes without worrying about overlaps. 
  4736.  
  4737.  
  4738.  
  4739.        Note: The x coordinate increases to the right, and the y
  4740.  
  4741.        coordinate increases downwards in the same way as IMG and image
  4742.  
  4743.        maps. If both numbers are integers, the coordinates are
  4744.  
  4745.        interpreted as pixel offsets from the upper left corner of the
  4746.  
  4747.        figure. Otherwise, the coordinates are interpreted as scaled
  4748.  
  4749.        values in the range 0.0 to 1.0 across the figure. Note the
  4750.  
  4751.        syntax is tolerant of repeated white space characters between
  4752.  
  4753.        tokens. 
  4754.  
  4755.  
  4756.  
  4757.    TITLE 
  4758.  
  4759.        This is informational only and describes the object specified
  4760.  
  4761.        with the HREF attribute. It can be used for object types that
  4762.  
  4763.        don't possess titles, such as graphics, plain text and Gopher
  4764.  
  4765.        menus. 
  4766.  
  4767.  
  4768.  
  4769.    REL 
  4770.  
  4771.        Used to describe the relationship of the linked object specified
  4772.  
  4773.        with the HREF attribute. The set of relationship names is not
  4774.  
  4775.        part of this specification, although "Path" and "Node" are
  4776.  
  4777.        reserved for future use with hypertext paths or guided tours.
  4778.  
  4779.        The REL attribute can be used to support search for links
  4780.  
  4781.        serving particular relationships. 
  4782.  
  4783.  
  4784.  
  4785.  
  4786.  
  4787. Dave Raggett                                                           Page 42
  4788.  
  4789. HTML 3.0                                                       28th March 1995
  4790.  
  4791.  
  4792.  
  4793.    REV 
  4794.  
  4795.        This defines a reverse relationship. A link from document A to
  4796.  
  4797.        document B with REV=--relation-- expresses the same relationship
  4798.  
  4799.        as a link from B to A with REL=--relation--. REV=made is
  4800.  
  4801.        sometimes used to identify the document author, either the
  4802.  
  4803.        author's email address with a --mailto-- URI, or a link to the
  4804.  
  4805.        author's home page. Tables of contents can use anchors with
  4806.  
  4807.        REV="ToC" to allow software to insert page numbers when printing
  4808.  
  4809.        hypertext documents. The plain text version of this
  4810.  
  4811.        specification was generated in this way! 
  4812.  
  4813.  
  4814.  
  4815.  
  4816.  
  4817.  
  4818.  
  4819.  
  4820.  
  4821.  
  4822.  
  4823.  
  4824.  
  4825.  
  4826.  
  4827.  
  4828.  
  4829.  
  4830.  
  4831.  
  4832.  
  4833.  
  4834.  
  4835.  
  4836.  
  4837.  
  4838.  
  4839.  
  4840.  
  4841.  
  4842.  
  4843.  
  4844.  
  4845.  
  4846.  
  4847.  
  4848.  
  4849.  
  4850.  
  4851.  
  4852.  
  4853.  
  4854.  
  4855.  
  4856.  
  4857.  
  4858.  
  4859.  
  4860.  
  4861.  
  4862.  
  4863.  
  4864.  
  4865.  
  4866.  
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.  
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879.  
  4880.  
  4881.  
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887.  
  4888.  
  4889.  
  4890.  
  4891.  
  4892.  
  4893.  
  4894.  
  4895.  
  4896.  
  4897.  
  4898.  
  4899.  
  4900.  
  4901. Dave Raggett                                                           Page 43
  4902.  
  4903. HTML 3.0                                                       28th March 1995
  4904.  
  4905.  
  4906.  
  4907. Overview of Character-Level Elements
  4908.  
  4909.  
  4910.  
  4911.    Permitted Context: %text
  4912.  
  4913.    Content Model: %text 
  4914.  
  4915.  
  4916.  
  4917.    Character level elements are used to specify either the structural
  4918.  
  4919.    meaning or the physical appearence of marked text without causing a
  4920.  
  4921.    paragraph break. Like most other elements, character level elements
  4922.  
  4923.    include both start and end tags. Only the characters between the
  4924.  
  4925.    tags are effected. For example: 
  4926.  
  4927.  
  4928.  
  4929.        This is <EM>emphasized</EM> text.
  4930.  
  4931.  
  4932.  
  4933.    Highlighting elements are allowed within the content of other
  4934.  
  4935.    highlighting elements, but implementations are not required to
  4936.  
  4937.    render these nested highlighting elements distinctly from non-nested
  4938.  
  4939.    elements. For example, implementations may render the following two
  4940.  
  4941.    cases identically: 
  4942.  
  4943.  
  4944.  
  4945.        plain <B>bold <I>italic</I></B>
  4946.  
  4947.  
  4948.  
  4949.        plain <B>bold </B><I>italic</I>
  4950.  
  4951.  
  4952.  
  4953.    Some character highlighting styles are more explicit than others
  4954.  
  4955.    about how they should be physically represented. Designate the
  4956.  
  4957.    information type rather than the character format wherever possible,
  4958.  
  4959.    unless for example, it is necessary to refer to the text as in "The
  4960.  
  4961.    italic parts are mandatory". 
  4962.  
  4963.  
  4964.  
  4965. Permitted Attributes
  4966.  
  4967.  
  4968.  
  4969.    ID 
  4970.  
  4971.        An SGML identifier used as the target for hypertext links or for
  4972.  
  4973.        naming particular elements in associated style sheets.
  4974.  
  4975.        Identifiers are NAME tokens and must be unique within the scope
  4976.  
  4977.        of the current document. 
  4978.  
  4979.  
  4980.  
  4981.    LANG 
  4982.  
  4983.        This is one of the ISO standard language abbreviations, e.g.
  4984.  
  4985.        "en.uk" for the variation of English spoken in the United
  4986.  
  4987.        Kingdom. It can be used by parsers to select language specific
  4988.  
  4989.        choices for quotation marks, ligatures and hypenation rules etc.
  4990.  
  4991.        The language attribute is composed from the two letter language
  4992.  
  4993.        code from ISO 639, optionally followed by a period and a two
  4994.  
  4995.        letter country code from ISO 3166. 
  4996.  
  4997.  
  4998.  
  4999.    CLASS 
  5000.  
  5001.        This a space separated list of SGML NAME tokens and is used to
  5002.  
  5003.        subclass tag names. By convention, the class names are
  5004.  
  5005.        interpreted hierarchically, with the most general class on the
  5006.  
  5007.        left and the most specific on the right, where classes are
  5008.  
  5009.        separated by a period. The CLASS attribute is most commonly used
  5010.  
  5011.        to attach a different style to some element, but it is
  5012.  
  5013.  
  5014.  
  5015. Dave Raggett                                                           Page 44
  5016.  
  5017. HTML 3.0                                                       28th March 1995
  5018.  
  5019.  
  5020.  
  5021.        recommended that where practical class names should be picked on
  5022.  
  5023.        the basis of the element's semantics, as this will permit other
  5024.  
  5025.        uses, such as restricting search through documents by matching
  5026.  
  5027.        on element class names. The conventions for choosing class names
  5028.  
  5029.        are outside the scope of this specification. 
  5030.  
  5031.  
  5032.  
  5033.  
  5034.  
  5035.  
  5036.  
  5037.  
  5038.  
  5039.  
  5040.  
  5041.  
  5042.  
  5043.  
  5044.  
  5045.  
  5046.  
  5047.  
  5048.  
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054.  
  5055.  
  5056.  
  5057.  
  5058.  
  5059.  
  5060.  
  5061.  
  5062.  
  5063.  
  5064.  
  5065.  
  5066.  
  5067.  
  5068.  
  5069.  
  5070.  
  5071.  
  5072.  
  5073.  
  5074.  
  5075.  
  5076.  
  5077.  
  5078.  
  5079.  
  5080.  
  5081.  
  5082.  
  5083.  
  5084.  
  5085.  
  5086.  
  5087.  
  5088.  
  5089.  
  5090.  
  5091.  
  5092.  
  5093.  
  5094.  
  5095.  
  5096.  
  5097.  
  5098.  
  5099.  
  5100.  
  5101.  
  5102.  
  5103.  
  5104.  
  5105.  
  5106.  
  5107.  
  5108.  
  5109.  
  5110.  
  5111.  
  5112.  
  5113.  
  5114.  
  5115.  
  5116.  
  5117.  
  5118.  
  5119.  
  5120.  
  5121.  
  5122.  
  5123.  
  5124.  
  5125.  
  5126.  
  5127.  
  5128.  
  5129. Dave Raggett                                                           Page 45
  5130.  
  5131. HTML 3.0                                                       28th March 1995
  5132.  
  5133.  
  5134.  
  5135. Information Type Elements
  5136.  
  5137.  
  5138.  
  5139.    EM 
  5140.  
  5141.        The <EM> element provides typographic emphasis, typically
  5142.  
  5143.        italics. While <EM> and <I> often give the same effect, use <EM>
  5144.  
  5145.        except where it is necessary in the text to refer to the
  5146.  
  5147.        formatting, as in "The italic parts are mandatory". This will
  5148.  
  5149.        help to ensure consistency between documents from various
  5150.  
  5151.        sources if (for example) the reader prefers to use color in
  5152.  
  5153.        place of italics for emphasis. 
  5154.  
  5155.  
  5156.  
  5157.    CITE 
  5158.  
  5159.        The <CITE> element specifies a citation. Sections tagged with
  5160.  
  5161.        the CITE element are typically rendered in italics. 
  5162.  
  5163.  
  5164.  
  5165.    STRONG 
  5166.  
  5167.        The <STRONG> element provides strong typographic emphasis,
  5168.  
  5169.        typically bold. 
  5170.  
  5171.  
  5172.  
  5173.    CODE 
  5174.  
  5175.        The <CODE> element indicates an example of code; typically
  5176.  
  5177.        rendered in a mono-spaced font. Do not confuse with PRE. 
  5178.  
  5179.  
  5180.  
  5181.    SAMP 
  5182.  
  5183.        The <SAMP> element indicates a sequence of literal characters. 
  5184.  
  5185.  
  5186.  
  5187.    KBD 
  5188.  
  5189.        The <KBD> element indicates text typed (keyboarded) by the user.
  5190.  
  5191.        It might typically be used in an instruction manual. 
  5192.  
  5193.  
  5194.  
  5195.    VAR 
  5196.  
  5197.        The <VAR> element indicates a variable name, and might typically
  5198.  
  5199.        be used in an instruction manual. 
  5200.  
  5201.  
  5202.  
  5203.    DFN 
  5204.  
  5205.        The <DFN> element indicates the defining instance of a term.
  5206.  
  5207.        --New in 3.0--. 
  5208.  
  5209.  
  5210.  
  5211.    Q 
  5212.  
  5213.        The <Q> element is used for a short quotation. It is typically
  5214.  
  5215.        shown enclosed in quotation marks as appropriate to the language
  5216.  
  5217.        context. For English these would be matching double or single
  5218.  
  5219.        quotation marks, alternating for nested quotes. The language
  5220.  
  5221.        context is set by the LANG attribute. --New in 3.0--. 
  5222.  
  5223.  
  5224.  
  5225.    LANG 
  5226.  
  5227.        The <LANG> element is used to alter the language context when it
  5228.  
  5229.        is inappropriate to do this with other character-level elements.
  5230.  
  5231.        --New in 3.0--. 
  5232.  
  5233.  
  5234.  
  5235.    AU 
  5236.  
  5237.        The <AU> element indicates the name of an author. --New in
  5238.  
  5239.        3.0--. 
  5240.  
  5241.  
  5242.  
  5243. Dave Raggett                                                           Page 46
  5244.  
  5245. HTML 3.0                                                       28th March 1995
  5246.  
  5247.  
  5248.  
  5249.  
  5250.  
  5251.    PERSON 
  5252.  
  5253.        The <PERSON> element is used for names of people to allow these
  5254.  
  5255.        to be extracted automatically by indexing programs. --New in
  5256.  
  5257.        3.0--. 
  5258.  
  5259.  
  5260.  
  5261.    ACRONYM 
  5262.  
  5263.        The <ACRONYM> element is used to markup acronyms. --New in
  5264.  
  5265.        3.0--. 
  5266.  
  5267.  
  5268.  
  5269.    ABBREV 
  5270.  
  5271.        The <ABBREV> element is used to markup abbreviations. --New in
  5272.  
  5273.        3.0--. 
  5274.  
  5275.  
  5276.  
  5277.    INS 
  5278.  
  5279.        The <INS> element is used for inserted text, for instance in
  5280.  
  5281.        legal documents. --New in 3.0--. 
  5282.  
  5283.  
  5284.  
  5285.    DEL 
  5286.  
  5287.        The <DEL> is used for deleted text, for instance in legal
  5288.  
  5289.        documents. --New in 3.0--. 
  5290.  
  5291.  
  5292.  
  5293.    An example: 
  5294.  
  5295.  
  5296.  
  5297.    This text contains an <em>emphasized</em> word.
  5298.  
  5299.    <strong>Don't assume</strong> that it will be italic!
  5300.  
  5301.    It was made with the <code>EM</code> element. A cite is
  5302.  
  5303.    often italic and has no formally required structure:
  5304.  
  5305.    <cite>Moby Dick</cite> is a book title.
  5306.  
  5307.  
  5308.  
  5309.  
  5310.  
  5311.  
  5312.  
  5313.  
  5314.  
  5315.  
  5316.  
  5317.  
  5318.  
  5319.  
  5320.  
  5321.  
  5322.  
  5323.  
  5324.  
  5325.  
  5326.  
  5327.  
  5328.  
  5329.  
  5330.  
  5331.  
  5332.  
  5333.  
  5334.  
  5335.  
  5336.  
  5337.  
  5338.  
  5339.  
  5340.  
  5341.  
  5342.  
  5343.  
  5344.  
  5345.  
  5346.  
  5347.  
  5348.  
  5349.  
  5350.  
  5351.  
  5352.  
  5353.  
  5354.  
  5355.  
  5356.  
  5357. Dave Raggett                                                           Page 47
  5358.  
  5359. HTML 3.0                                                       28th March 1995
  5360.  
  5361.  
  5362.  
  5363. Font Style Elements
  5364.  
  5365.  
  5366.  
  5367.    These elements may be nested within one another. Browsers should,
  5368.  
  5369.    where practical, aim to combine different types of highlighting as
  5370.  
  5371.    required. 
  5372.  
  5373.  
  5374.  
  5375.    B (Boldface) 
  5376.  
  5377.        The <B> element specifies that the enclosed text should be
  5378.  
  5379.        displayed in a boldface. If this is not practical, an
  5380.  
  5381.        alternative mapping is allowed. 
  5382.  
  5383.  
  5384.  
  5385.    I (Italic) 
  5386.  
  5387.        The <I> element specifies that the enclosed text should be
  5388.  
  5389.        displayed, if practical, in an italic font (or slanted). 
  5390.  
  5391.  
  5392.  
  5393.    TT (TeleType) 
  5394.  
  5395.        The <TT> element specifies that the enclosed text should be
  5396.  
  5397.        displayed, if practical, in a fixed-pitch typewriter font. 
  5398.  
  5399.  
  5400.  
  5401.    U (Underline) 
  5402.  
  5403.        The <U> element specifies that the enclosed text should be
  5404.  
  5405.        displayed, if practical, as underlined. --Not widely supported-- 
  5406.  
  5407.  
  5408.  
  5409.    S (Strike through) 
  5410.  
  5411.        The <S> element specifies that the enclosed text should be
  5412.  
  5413.        displayed with a horizontal line striking through the text. If
  5414.  
  5415.        this is not practical, an alternative mapping is allowed. --New
  5416.  
  5417.        in 3.0--. 
  5418.  
  5419.  
  5420.  
  5421.    BIG (Big print) 
  5422.  
  5423.        The <BIG> element specifies that the enclosed text should be
  5424.  
  5425.        displayed, if practical, using a big font (compared with the
  5426.  
  5427.        current font). --New in 3.0--. 
  5428.  
  5429.  
  5430.  
  5431.    SMALL (Small print) 
  5432.  
  5433.        The <SMALL> element specifies that the enclosed text should be
  5434.  
  5435.        displayed, if practical, using a small font (compared with
  5436.  
  5437.        normal text). --New in 3.0--. 
  5438.  
  5439.  
  5440.  
  5441.    SUB (Subscript) 
  5442.  
  5443.        The <SUB> element specifies that the enclosed text should be
  5444.  
  5445.        displayed as a subscript, and if practical, using a smaller font
  5446.  
  5447.        (compared with normal text). The ALIGN attribute for SUB is only
  5448.  
  5449.        meaningful within the MATH element. --New in 3.0--. 
  5450.  
  5451.  
  5452.  
  5453.    SUP (Superscript) 
  5454.  
  5455.        The <SUP> element specifies that the enclosed text should be
  5456.  
  5457.        displayed as a superscript, and if practical, using a smaller
  5458.  
  5459.        font (compared with normal text). The ALIGN attribute for SUP is
  5460.  
  5461.        only applicable within the MATH element. --New in 3.0--. 
  5462.  
  5463.  
  5464.  
  5465.    An example: 
  5466.  
  5467.  
  5468.  
  5469.  
  5470.  
  5471. Dave Raggett                                                           Page 48
  5472.  
  5473. HTML 3.0                                                       28th March 1995
  5474.  
  5475.  
  5476.  
  5477.    This text contains some <b><i>bold italic</i></b> text, some
  5478.  
  5479.    <S>struck through</S> text and some <SMALL>small print</SMALL>.
  5480.  
  5481.  
  5482.  
  5483.  
  5484.  
  5485.  
  5486.  
  5487.  
  5488.  
  5489.  
  5490.  
  5491.  
  5492.  
  5493.  
  5494.  
  5495.  
  5496.  
  5497.  
  5498.  
  5499.  
  5500.  
  5501.  
  5502.  
  5503.  
  5504.  
  5505.  
  5506.  
  5507.  
  5508.  
  5509.  
  5510.  
  5511.  
  5512.  
  5513.  
  5514.  
  5515.  
  5516.  
  5517.  
  5518.  
  5519.  
  5520.  
  5521.  
  5522.  
  5523.  
  5524.  
  5525.  
  5526.  
  5527.  
  5528.  
  5529.  
  5530.  
  5531.  
  5532.  
  5533.  
  5534.  
  5535.  
  5536.  
  5537.  
  5538.  
  5539.  
  5540.  
  5541.  
  5542.  
  5543.  
  5544.  
  5545.  
  5546.  
  5547.  
  5548.  
  5549.  
  5550.  
  5551.  
  5552.  
  5553.  
  5554.  
  5555.  
  5556.  
  5557.  
  5558.  
  5559.  
  5560.  
  5561.  
  5562.  
  5563.  
  5564.  
  5565.  
  5566.  
  5567.  
  5568.  
  5569.  
  5570.  
  5571.  
  5572.  
  5573.  
  5574.  
  5575.  
  5576.  
  5577.  
  5578.  
  5579.  
  5580.  
  5581.  
  5582.  
  5583.  
  5584.  
  5585. Dave Raggett                                                           Page 49
  5586.  
  5587. HTML 3.0                                                       28th March 1995
  5588.  
  5589.  
  5590.  
  5591. The IMG (Image) Element
  5592.  
  5593.  
  5594.  
  5595.    Permitted Context: %text
  5596.  
  5597.    Content Model: Empty! 
  5598.  
  5599.  
  5600.  
  5601.    The <IMG> tag is used to incorporate in-line graphics (typically
  5602.  
  5603.    icons or small graphics) into an HTML document. This element is NOT
  5604.  
  5605.    intended for embedding other HTML text. For large figures with
  5606.  
  5607.    captions and text flow see FIG element. 
  5608.  
  5609.  
  5610.  
  5611.    Example: 
  5612.  
  5613.  
  5614.  
  5615.    <IMG SRC="tajmahal.gif" ALT="The Taj Mahal">
  5616.  
  5617.  
  5618.  
  5619.    Browsers that cannot display in-line images ignore the IMG element
  5620.  
  5621.    unless it contains the ALT attribute. Note that some browsers can
  5622.  
  5623.    display (or print) linked graphics but not in-line graphics. If the
  5624.  
  5625.    graphic is essential, you may want to create a link to it rather
  5626.  
  5627.    than to put it in-line. If the graphic is essentially decorative,
  5628.  
  5629.    then IMG is appropriate. 
  5630.  
  5631.  
  5632.  
  5633. Permitted Attributes
  5634.  
  5635.  
  5636.  
  5637.    ID 
  5638.  
  5639.        An SGML identifier used as the target for hypertext links or for
  5640.  
  5641.        naming particular elements in associated style sheets.
  5642.  
  5643.        Identifiers are NAME tokens and must be unique within the scope
  5644.  
  5645.        of the current document. 
  5646.  
  5647.  
  5648.  
  5649.    LANG 
  5650.  
  5651.        This is one of the ISO standard language abbreviations, e.g.
  5652.  
  5653.        "en.uk" for the variation of English spoken in the United
  5654.  
  5655.        Kingdom. It can be used by parsers to select language specific
  5656.  
  5657.        choices for quotation marks, ligatures and hypenation rules etc.
  5658.  
  5659.        The language attribute is composed from the two letter language
  5660.  
  5661.        code from ISO 639, optionally followed by a period and a two
  5662.  
  5663.        letter country code from ISO 3166. 
  5664.  
  5665.  
  5666.  
  5667.    CLASS 
  5668.  
  5669.        This a space separated list of SGML NAME tokens and is used to
  5670.  
  5671.        subclass tag names. By convention, the class names are
  5672.  
  5673.        interpreted hierarchically, with the most general class on the
  5674.  
  5675.        left and the most specific on the right, where classes are
  5676.  
  5677.        separated by a period. The CLASS attribute is most commonly used
  5678.  
  5679.        to attach a different style to some element, but it is
  5680.  
  5681.        recommended that where practical class names should be picked on
  5682.  
  5683.        the basis of the element's semantics, as this will permit other
  5684.  
  5685.        uses, such as restricting search through documents by matching
  5686.  
  5687.        on element class names. The conventions for choosing class names
  5688.  
  5689.        are outside the scope of this specification. 
  5690.  
  5691.  
  5692.  
  5693.    SRC (Source) 
  5694.  
  5695.        The SRC attribute specifies the URI for the image to be
  5696.  
  5697.  
  5698.  
  5699. Dave Raggett                                                           Page 50
  5700.  
  5701. HTML 3.0                                                       28th March 1995
  5702.  
  5703.  
  5704.  
  5705.        embedded. Its syntax is the same as that of the HREF attribute
  5706.  
  5707.        of the <A> tag. SRC is mandatory. 
  5708.  
  5709.  
  5710.  
  5711.    MD 
  5712.  
  5713.        Specifies a message digest or cryptographic checksum for the
  5714.  
  5715.        associated graphic specified by the SRC attribute. It is used
  5716.  
  5717.        when you want to be sure that the image is indeed the same one
  5718.  
  5719.        that the author intended, and hasn't been modified in any way.
  5720.  
  5721.        For instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which
  5722.  
  5723.        specifies an MD5 checksum encoded as a base64 character string.
  5724.  
  5725.        The MD attribute is generally allowed for all elements which
  5726.  
  5727.        support URI based links. 
  5728.  
  5729.  
  5730.  
  5731.    WIDTH 
  5732.  
  5733.        Optional suggested width for the image. By default, this is
  5734.  
  5735.        given in pixels. 
  5736.  
  5737.  
  5738.  
  5739.    HEIGHT 
  5740.  
  5741.        Optional suggested height for the image. By default, this is
  5742.  
  5743.        given in pixels. 
  5744.  
  5745.  
  5746.  
  5747.    UNITS 
  5748.  
  5749.        This optional attribute specifies the units for the width and
  5750.  
  5751.        height attributes. It is one of: units=pixels (the default) or
  5752.  
  5753.        units=en (half the point size). 
  5754.  
  5755.  
  5756.  
  5757.    ALIGN 
  5758.  
  5759.        Take values TOP or MIDDLE or BOTTOM, defining whether the top or
  5760.  
  5761.        middle or bottom of the graphic should be aligned with the
  5762.  
  5763.        baseline for the text line in which the IMG element appears. 
  5764.  
  5765.  
  5766.  
  5767.        With ALIGN=LEFT, the graphic will float down and over to the
  5768.  
  5769.        current left margin, and subsequent text will wrap around the
  5770.  
  5771.        right hand side of the graphic. Likewise for ALIGN=RIGHT, the
  5772.  
  5773.        graphic aligns with the current right margin and, and text wraps
  5774.  
  5775.        around the left. It is inappropriate to use this feature for
  5776.  
  5777.        larger graphics as these are best represented with the FIG
  5778.  
  5779.        element. 
  5780.  
  5781.  
  5782.  
  5783.    ALT (Alternate text) 
  5784.  
  5785.        Optional alternative text as an alternative to the graphics for
  5786.  
  5787.        display in text-only environments. The alt text can contain
  5788.  
  5789.        entities e.g. for accented characters or special symbols, but it
  5790.  
  5791.        can't contain markup. The latter is possible, however, with the
  5792.  
  5793.        FIG element. 
  5794.  
  5795.  
  5796.  
  5797.    ISMAP 
  5798.  
  5799.        An image map is a graphical map by which users can navigate
  5800.  
  5801.        transparently from one information resource to another. The
  5802.  
  5803.        ISMAP attribute identifies an image as an image map. The IMG
  5804.  
  5805.        element can then be used as part of the label for a hypertext
  5806.  
  5807.        link (see the anchor element). When the user clicks on the image
  5808.  
  5809.        the location clicked is sent to the server designated by the
  5810.  
  5811.  
  5812.  
  5813. Dave Raggett                                                           Page 51
  5814.  
  5815. HTML 3.0                                                       28th March 1995
  5816.  
  5817.  
  5818.  
  5819.        hypertext link. 
  5820.  
  5821.  
  5822.  
  5823.        For example: 
  5824.  
  5825.  
  5826.  
  5827.        <A HREF="http://machine/htbin/imagemap/sample">
  5828.  
  5829.        <IMG SRC="sample.gif" ISMAP></A>
  5830.  
  5831.  
  5832.  
  5833.    Note: There are drawbacks from having the server process clicks on
  5834.  
  5835.    images: the delay in getting feedback and the inability to change
  5836.  
  5837.    the pointer cursor on the fly as it moves over hotzones. Client-side
  5838.  
  5839.    processing of events is possible if one of the following applies: 
  5840.  
  5841.  
  5842.  
  5843.    *   The server may allow the image map to be downloaded and
  5844.  
  5845.        processed locally. This should work with legacy documents
  5846.  
  5847.        produced using earlier versions of HTML. 
  5848.  
  5849.  
  5850.  
  5851.    *   Using an image format that includes image hotzones as part of
  5852.  
  5853.        the file format. 
  5854.  
  5855.  
  5856.  
  5857.    *   The FIG element provides for client-side image maps as a unified
  5858.  
  5859.        part of the figure description. It offers a number of advantages
  5860.  
  5861.        over IMG, including captions, markup in alt text and text flow
  5862.  
  5863.        around figures. 
  5864.  
  5865.  
  5866.  
  5867.  
  5868.  
  5869.  
  5870.  
  5871.  
  5872.  
  5873.  
  5874.  
  5875.  
  5876.  
  5877.  
  5878.  
  5879.  
  5880.  
  5881.  
  5882.  
  5883.  
  5884.  
  5885.  
  5886.  
  5887.  
  5888.  
  5889.  
  5890.  
  5891.  
  5892.  
  5893.  
  5894.  
  5895.  
  5896.  
  5897.  
  5898.  
  5899.  
  5900.  
  5901.  
  5902.  
  5903.  
  5904.  
  5905.  
  5906.  
  5907.  
  5908.  
  5909.  
  5910.  
  5911.  
  5912.  
  5913.  
  5914.  
  5915.  
  5916.  
  5917.  
  5918.  
  5919.  
  5920.  
  5921.  
  5922.  
  5923.  
  5924.  
  5925.  
  5926.  
  5927. Dave Raggett                                                           Page 52
  5928.  
  5929. HTML 3.0                                                       28th March 1995
  5930.  
  5931.  
  5932.  
  5933. UL (Unordered List)
  5934.  
  5935.  
  5936.  
  5937.    Permitted Context: %Body.Content, %flow, %block
  5938.  
  5939.    Content Model: Optional list header (LH), followed by one or more
  5940.  
  5941.    list items(LI) 
  5942.  
  5943.  
  5944.  
  5945.    An unordered list typically is a bulleted list of items. HTML 3.0
  5946.  
  5947.    gives you the ability to customise the bullets, to do without
  5948.  
  5949.    bullets and to wrap list items horizontally or vertically for
  5950.  
  5951.    multicolumn lists. 
  5952.  
  5953.  
  5954.  
  5955.    The opening list tag must be <UL>. It is followed by an optional
  5956.  
  5957.    list header (<LH>caption</LH>) and then by the first list item
  5958.  
  5959.    (<LI>). For example: 
  5960.  
  5961.  
  5962.  
  5963.        <UL>
  5964.  
  5965.          <LH>Table Fruit</LH>
  5966.  
  5967.          <LI>apples
  5968.  
  5969.          <LI>oranges
  5970.  
  5971.          <LI>bananas
  5972.  
  5973.        </UL>
  5974.  
  5975.  
  5976.  
  5977.    which could be rendered as: 
  5978.  
  5979.  
  5980.  
  5981. Table Fruit
  5982.  
  5983.  
  5984.  
  5985.    *   apples 
  5986.  
  5987.  
  5988.  
  5989.    *   oranges 
  5990.  
  5991.  
  5992.  
  5993.    *   bananas 
  5994.  
  5995.  
  5996.  
  5997.    Note: Some legacy documents may include headers or plain text before
  5998.  
  5999.    the first LI element. Implementors of HTML 3.0 user agents are
  6000.  
  6001.    advised to cater for this possibility in order to handle badly
  6002.  
  6003.    formed legacy documents. 
  6004.  
  6005.  
  6006.  
  6007. MENU and DIR elements
  6008.  
  6009.  
  6010.  
  6011.    These elements are superceded by extensions to the UL element. User
  6012.  
  6013.    agents are advised to continue to support them for the sake of
  6014.  
  6015.    legacy documents. Both MENU and DIR consist of one or more LI
  6016.  
  6017.    elements, similar to UL. MENU lists are typically rendered without
  6018.  
  6019.    bullets in a more compact style than UL. You can get the same effect
  6020.  
  6021.    with <UL PLAIN>. DIR lists are used to present lists of items
  6022.  
  6023.    containing up to 20 characters each. Items in a DIR list are
  6024.  
  6025.    arranged in columns. You can get the same effect with <UL PLAIN
  6026.  
  6027.    WRAP=HORIZ>. 
  6028.  
  6029.  
  6030.  
  6031. Permitted Attributes for the UL Element
  6032.  
  6033.  
  6034.  
  6035.    ID 
  6036.  
  6037.        An SGML identifier used as the target for hypertext links or for
  6038.  
  6039.  
  6040.  
  6041. Dave Raggett                                                           Page 53
  6042.  
  6043. HTML 3.0                                                       28th March 1995
  6044.  
  6045.  
  6046.  
  6047.        naming particular elements in associated style sheets.
  6048.  
  6049.        Identifiers are NAME tokens and must be unique within the scope
  6050.  
  6051.        of the current document. 
  6052.  
  6053.  
  6054.  
  6055.    LANG 
  6056.  
  6057.        This is one of the ISO standard language abbreviations, e.g.
  6058.  
  6059.        "en.uk" for the variation of English spoken in the United
  6060.  
  6061.        Kingdom. It can be used by parsers to select language specific
  6062.  
  6063.        choices for quotation marks, ligatures and hypenation rules etc.
  6064.  
  6065.        The language attribute is composed from the two letter language
  6066.  
  6067.        code from ISO 639, optionally followed by a period and a two
  6068.  
  6069.        letter country code from ISO 3166. 
  6070.  
  6071.  
  6072.  
  6073.    CLASS 
  6074.  
  6075.        This a space separated list of SGML NAME tokens and is used to
  6076.  
  6077.        subclass tag names. By convention, the class names are
  6078.  
  6079.        interpreted hierarchically, with the most general class on the
  6080.  
  6081.        left and the most specific on the right, where classes are
  6082.  
  6083.        separated by a period. The CLASS attribute is most commonly used
  6084.  
  6085.        to attach a different style to some element, but it is
  6086.  
  6087.        recommended that where practical class names should be picked on
  6088.  
  6089.        the basis of the element's semantics, as this will permit other
  6090.  
  6091.        uses, such as restricting search through documents by matching
  6092.  
  6093.        on element class names. The conventions for choosing class names
  6094.  
  6095.        are outside the scope of this specification. 
  6096.  
  6097.  
  6098.  
  6099.    CLEAR 
  6100.  
  6101.        This attribute is common to all block-like elements. When text
  6102.  
  6103.        flows around a figure or table in the margin, you sometimes want
  6104.  
  6105.        to start an element like a header, paragraph or list below the
  6106.  
  6107.        figure rather than alongside it. The CLEAR attribute allows you
  6108.  
  6109.        to move down unconditionally:
  6110.  
  6111.        
  6112.  
  6113.        
  6114.  
  6115.  
  6116.  
  6117.        clear=left
  6118.  
  6119.            move down until left margin is clear 
  6120.  
  6121.  
  6122.  
  6123.        clear=right
  6124.  
  6125.            move down until right margin is clear 
  6126.  
  6127.  
  6128.  
  6129.        clear=all
  6130.  
  6131.            move down until both margins are clear 
  6132.  
  6133.  
  6134.  
  6135.        Alternatively, you can decide to place the element alongside the
  6136.  
  6137.        figure just so long as there is enough room. The minimum width
  6138.  
  6139.        needed is specified as:
  6140.  
  6141.        
  6142.  
  6143.        
  6144.  
  6145.  
  6146.  
  6147.        clear="40 en"
  6148.  
  6149.            move down until there is at least 40 en units free 
  6150.  
  6151.  
  6152.  
  6153.  
  6154.  
  6155. Dave Raggett                                                           Page 54
  6156.  
  6157. HTML 3.0                                                       28th March 1995
  6158.  
  6159.  
  6160.  
  6161.        clear="100 pixels"
  6162.  
  6163.            move down until there is at least 100 pixels free 
  6164.  
  6165.  
  6166.  
  6167.        The style sheet (or browser defaults) may provide default
  6168.  
  6169.        minimum widths for each class of block-like elements. 
  6170.  
  6171.  
  6172.  
  6173.    PLAIN 
  6174.  
  6175.        The presence of this attribute suppresses the display of
  6176.  
  6177.        bullets, e.g. <UL PLAIN>. 
  6178.  
  6179.  
  6180.  
  6181.    SRC 
  6182.  
  6183.        Specifies an image for use as a bullet. The image is specified
  6184.  
  6185.        as a URI. This attribute may appear together with the MD
  6186.  
  6187.        attribute. 
  6188.  
  6189.  
  6190.  
  6191.    MD 
  6192.  
  6193.        Specifies a message digest or cryptographic checksum for the
  6194.  
  6195.        associated graphic specified by the SRC attribute. It is used
  6196.  
  6197.        when you want to be sure that a linked object is indeed the same
  6198.  
  6199.        one that the author intended, and hasn't been modified in any
  6200.  
  6201.        way. For instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which
  6202.  
  6203.        specifies an MD5 checksum encoded as a base64 character string.
  6204.  
  6205.        The MD attribute is generally allowed for all elements which
  6206.  
  6207.        support URI based links. 
  6208.  
  6209.  
  6210.  
  6211.    DINGBAT 
  6212.  
  6213.        Specifies an iconic image for use as a bullet. The icon is
  6214.  
  6215.        specified as an entity name. A list of standard icon entity
  6216.  
  6217.        names for HTML 3.0 is given in an appendix of this
  6218.  
  6219.        specification, e.g. folder is the entity name for an icon
  6220.  
  6221.        denoting a directory or folder. 
  6222.  
  6223.  
  6224.  
  6225.    WRAP 
  6226.  
  6227.        The WRAP attribute is used for multicolumn lists. Use wrap=vert
  6228.  
  6229.        if you want to arrange the list items down the page before
  6230.  
  6231.        wrapping to the next column. Use wrap=horiz if you want to
  6232.  
  6233.        arrange the items across the page (less useful). The user agent
  6234.  
  6235.        is responsible for determining how many columns are appropriate. 
  6236.  
  6237.  
  6238.  
  6239.    COMPACT 
  6240.  
  6241.        The presence of this attribute indicates the user agent should
  6242.  
  6243.        use reduced interitem spacing. In practice, there are several
  6244.  
  6245.        ways to increase the compactness of lists: reduced vertical
  6246.  
  6247.        interitem spacing, smaller font size, or even to avoid line
  6248.  
  6249.        breaks between items. This is best handled through associated
  6250.  
  6251.        style sheets and the class attribute. 
  6252.  
  6253.  
  6254.  
  6255.  
  6256.  
  6257.  
  6258.  
  6259.  
  6260.  
  6261.  
  6262.  
  6263.  
  6264.  
  6265.  
  6266.  
  6267.  
  6268.  
  6269. Dave Raggett                                                           Page 55
  6270.  
  6271. HTML 3.0                                                       28th March 1995
  6272.  
  6273.  
  6274.  
  6275. LH (List Header)
  6276.  
  6277.  
  6278.  
  6279.    Permitted Context: Immediately following UL, OL or DL
  6280.  
  6281.    Content Model: %text 
  6282.  
  6283.  
  6284.  
  6285.    The LH or list header element is used to provide a title for a list.
  6286.  
  6287.    User agents can use this in place of the full list when a mechanism
  6288.  
  6289.    is provided to fold and unfold nested lists. 
  6290.  
  6291.  
  6292.  
  6293. Permitted Attributes for the LH Element
  6294.  
  6295.  
  6296.  
  6297.    ID 
  6298.  
  6299.        An SGML identifier used as the target for hypertext links or for
  6300.  
  6301.        naming particular elements in associated style sheets.
  6302.  
  6303.        Identifiers are NAME tokens and must be unique within the scope
  6304.  
  6305.        of the current document. 
  6306.  
  6307.  
  6308.  
  6309.    LANG 
  6310.  
  6311.        This is one of the ISO standard language abbreviations, e.g.
  6312.  
  6313.        "en.uk" for the variation of English spoken in the United
  6314.  
  6315.        Kingdom. It can be used by parsers to select language specific
  6316.  
  6317.        choices for quotation marks, ligatures and hypenation rules etc.
  6318.  
  6319.        The language attribute is composed from the two letter language
  6320.  
  6321.        code from ISO 639, optionally followed by a period and a two
  6322.  
  6323.        letter country code from ISO 3166. 
  6324.  
  6325.  
  6326.  
  6327.    CLASS 
  6328.  
  6329.        This a space separated list of SGML NAME tokens and is used to
  6330.  
  6331.        subclass tag names. By convention, the class names are
  6332.  
  6333.        interpreted hierarchically, with the most general class on the
  6334.  
  6335.        left and the most specific on the right, where classes are
  6336.  
  6337.        separated by a period. The CLASS attribute is most commonly used
  6338.  
  6339.        to attach a different style to some element, but it is
  6340.  
  6341.        recommended that where practical class names should be picked on
  6342.  
  6343.        the basis of the element's semantics, as this will permit other
  6344.  
  6345.        uses, such as restricting search through documents by matching
  6346.  
  6347.        on element class names. The conventions for choosing class names
  6348.  
  6349.        are outside the scope of this specification. 
  6350.  
  6351.  
  6352.  
  6353.  
  6354.  
  6355.  
  6356.  
  6357.  
  6358.  
  6359.  
  6360.  
  6361.  
  6362.  
  6363.  
  6364.  
  6365.  
  6366.  
  6367.  
  6368.  
  6369.  
  6370.  
  6371.  
  6372.  
  6373.  
  6374.  
  6375.  
  6376.  
  6377.  
  6378.  
  6379.  
  6380.  
  6381.  
  6382.  
  6383. Dave Raggett                                                           Page 56
  6384.  
  6385. HTML 3.0                                                       28th March 1995
  6386.  
  6387.  
  6388.  
  6389. LI (List Item)
  6390.  
  6391.  
  6392.  
  6393.    Permitted Context: UL or OL
  6394.  
  6395.    Content Model: %flow 
  6396.  
  6397.  
  6398.  
  6399.    The LI or list item element is used for items in both ordered and
  6400.  
  6401.    unordered lists. 
  6402.  
  6403.  
  6404.  
  6405.    Note: The content model for list items is quite broad, including
  6406.  
  6407.    paragraphs, lists, performatted text, forms, tables, figures and
  6408.  
  6409.    admonishments. Headers are not permitted, although implementors of
  6410.  
  6411.    HTML 3.0 user agents are advised to cater for this possibility in
  6412.  
  6413.    order to handle badly formed legacy documents. If %html.recommended
  6414.  
  6415.    is active, the HTML 3.0 DTD expects you to enclose plain text in a
  6416.  
  6417.    block element such as <P> 
  6418.  
  6419.  
  6420.  
  6421. Permitted Attributes for the LI Element
  6422.  
  6423.  
  6424.  
  6425.    ID 
  6426.  
  6427.        An SGML identifier used as the target for hypertext links or for
  6428.  
  6429.        naming particular elements in associated style sheets.
  6430.  
  6431.        Identifiers are NAME tokens and must be unique within the scope
  6432.  
  6433.        of the current document. 
  6434.  
  6435.  
  6436.  
  6437.    LANG 
  6438.  
  6439.        This is one of the ISO standard language abbreviations, e.g.
  6440.  
  6441.        "en.uk" for the variation of English spoken in the United
  6442.  
  6443.        Kingdom. It can be used by parsers to select language specific
  6444.  
  6445.        choices for quotation marks, ligatures and hypenation rules etc.
  6446.  
  6447.        The language attribute is composed from the two letter language
  6448.  
  6449.        code from ISO 639, optionally followed by a period and a two
  6450.  
  6451.        letter country code from ISO 3166. 
  6452.  
  6453.  
  6454.  
  6455.    CLASS 
  6456.  
  6457.        This a space separated list of SGML NAME tokens and is used to
  6458.  
  6459.        subclass tag names. By convention, the class names are
  6460.  
  6461.        interpreted hierarchically, with the most general class on the
  6462.  
  6463.        left and the most specific on the right, where classes are
  6464.  
  6465.        separated by a period. The CLASS attribute is most commonly used
  6466.  
  6467.        to attach a different style to some element, but it is
  6468.  
  6469.        recommended that where practical class names should be picked on
  6470.  
  6471.        the basis of the element's semantics, as this will permit other
  6472.  
  6473.        uses, such as restricting search through documents by matching
  6474.  
  6475.        on element class names. The conventions for choosing class names
  6476.  
  6477.        are outside the scope of this specification. 
  6478.  
  6479.  
  6480.  
  6481.    CLEAR 
  6482.  
  6483.        This attribute is common to all block-like elements. When text
  6484.  
  6485.        flows around a figure or table in the margin, you sometimes want
  6486.  
  6487.        to start the list item below the figure rather than alongside
  6488.  
  6489.        it. The CLEAR attribute allows you to move down unconditionally:
  6490.  
  6491.        
  6492.  
  6493.        
  6494.  
  6495.  
  6496.  
  6497. Dave Raggett                                                           Page 57
  6498.  
  6499. HTML 3.0                                                       28th March 1995
  6500.  
  6501.  
  6502.  
  6503.  
  6504.  
  6505.        clear=left
  6506.  
  6507.            move down until left margin is clear 
  6508.  
  6509.  
  6510.  
  6511.        clear=right
  6512.  
  6513.            move down until right margin is clear 
  6514.  
  6515.  
  6516.  
  6517.        clear=all
  6518.  
  6519.            move down until both margins are clear 
  6520.  
  6521.  
  6522.  
  6523.        Alternatively, you can decide to place the element alongside the
  6524.  
  6525.        figure just so long as there is enough room. The minimum width
  6526.  
  6527.        needed is specified as:
  6528.  
  6529.        
  6530.  
  6531.        
  6532.  
  6533.  
  6534.  
  6535.        clear="40 en"
  6536.  
  6537.            move down until there is at least 40 en units free 
  6538.  
  6539.  
  6540.  
  6541.        clear="100 pixels"
  6542.  
  6543.            move down until there is at least 100 pixels free 
  6544.  
  6545.  
  6546.  
  6547.        The style sheet (or browser defaults) may provide default
  6548.  
  6549.        minimum widths for each class of block-like elements. 
  6550.  
  6551.  
  6552.  
  6553.    SRC 
  6554.  
  6555.        Specifies an image for use as a bullet. The image is specified
  6556.  
  6557.        as a URI. This attribute may appear together with the MD
  6558.  
  6559.        attribute. 
  6560.  
  6561.  
  6562.  
  6563.    MD 
  6564.  
  6565.        Specifies a message digest or cryptographic checksum for the
  6566.  
  6567.        associated graphic specified by the SRC attribute. It is used
  6568.  
  6569.        when you want to be sure that a linked object is indeed the same
  6570.  
  6571.        one that the author intended, and hasn't been modified in any
  6572.  
  6573.        way. For instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which
  6574.  
  6575.        specifies an MD5 checksum encoded as a base64 character string.
  6576.  
  6577.        The MD attribute is generally allowed for all elements which
  6578.  
  6579.        support URI based links. 
  6580.  
  6581.  
  6582.  
  6583.    DINGBAT 
  6584.  
  6585.        Specifies an iconic image for use as a bullet. The icon is
  6586.  
  6587.        specified as an entity name. A list of standard icon entity
  6588.  
  6589.        names for HTML 3.0 is given in an appendix of this
  6590.  
  6591.        specification, e.g. folder is the entity name for an icon
  6592.  
  6593.        denoting a directory or folder. 
  6594.  
  6595.  
  6596.  
  6597.    SKIP 
  6598.  
  6599.        Increments the sequence number before rendering the element. It
  6600.  
  6601.        is used when headers have been left out of the sequence. For
  6602.  
  6603.        instance, SKIP=3 advances the sequence number past 3 omitted
  6604.  
  6605.        items. 
  6606.  
  6607.  
  6608.  
  6609.  
  6610.  
  6611. Dave Raggett                                                           Page 58
  6612.  
  6613. HTML 3.0                                                       28th March 1995
  6614.  
  6615.  
  6616.  
  6617. OL (Ordered List)
  6618.  
  6619.  
  6620.  
  6621.    Permitted Context: %Body.Content, %flow, %block
  6622.  
  6623.    Content Model: Optional list header (LH), followed by one or more
  6624.  
  6625.    list items(LI) 
  6626.  
  6627.  
  6628.  
  6629.    An ordered list typically is a numbered list of items. HTML 3.0
  6630.  
  6631.    gives you the ability to control the sequence number - to continue
  6632.  
  6633.    where the previous list left off, or to start at a particular
  6634.  
  6635.    number. The numbering style is left to associated style sheets, e.g.
  6636.  
  6637.    whether nested lists contribute to a compound item number, e.g.
  6638.  
  6639.    "3.1.5", or whether numbers are rendered as arabic, upper or lower
  6640.  
  6641.    case roman numerals or using the numbering scheme appropriate to the
  6642.  
  6643.    language context. 
  6644.  
  6645.  
  6646.  
  6647.    The opening list tag must be <OL>. It is followed by an optional
  6648.  
  6649.    list header (<LH>caption</LH>) and then by the first list item
  6650.  
  6651.    (<LI>). For example: 
  6652.  
  6653.  
  6654.  
  6655.        <OL>
  6656.  
  6657.          <LH>Meeting Agenda</LH>
  6658.  
  6659.          <LI>Minutes of the last meeting
  6660.  
  6661.          <LI>Do we need yet more meetings?
  6662.  
  6663.          <LI>Any other business
  6664.  
  6665.        </OL>
  6666.  
  6667.  
  6668.  
  6669.    which could be rendered as: 
  6670.  
  6671.  
  6672.  
  6673. Meeting Agenda
  6674.  
  6675.  
  6676.  
  6677.    1.  Minutes of the last meeting 
  6678.  
  6679.  
  6680.  
  6681.    2.  Do we need yet more meetings? 
  6682.  
  6683.  
  6684.  
  6685.    3.  Any other business 
  6686.  
  6687.  
  6688.  
  6689.    Note: Some legacy documents may include headers or plain text before
  6690.  
  6691.    the first LI element. Implementors of HTML 3.0 user agents are
  6692.  
  6693.    advised to cater for this possibility in order to handle badly
  6694.  
  6695.    formed legacy documents. 
  6696.  
  6697.  
  6698.  
  6699. Permitted Attributes for the OL Element
  6700.  
  6701.  
  6702.  
  6703.    ID 
  6704.  
  6705.        An SGML identifier used as the target for hypertext links or for
  6706.  
  6707.        naming particular elements in associated style sheets.
  6708.  
  6709.        Identifiers are NAME tokens and must be unique within the scope
  6710.  
  6711.        of the current document. 
  6712.  
  6713.  
  6714.  
  6715.    LANG 
  6716.  
  6717.        This is one of the ISO standard language abbreviations, e.g.
  6718.  
  6719.        "en.uk" for the variation of English spoken in the United
  6720.  
  6721.        Kingdom. It can be used by parsers to select language specific
  6722.  
  6723.  
  6724.  
  6725. Dave Raggett                                                           Page 59
  6726.  
  6727. HTML 3.0                                                       28th March 1995
  6728.  
  6729.  
  6730.  
  6731.        choices for quotation marks, ligatures and hypenation rules etc.
  6732.  
  6733.        The language attribute is composed from the two letter language
  6734.  
  6735.        code from ISO 639, optionally followed by a period and a two
  6736.  
  6737.        letter country code from ISO 3166. 
  6738.  
  6739.  
  6740.  
  6741.    CLASS 
  6742.  
  6743.        This a space separated list of SGML NAME tokens and is used to
  6744.  
  6745.        subclass tag names. By convention, the class names are
  6746.  
  6747.        interpreted hierarchically, with the most general class on the
  6748.  
  6749.        left and the most specific on the right, where classes are
  6750.  
  6751.        separated by a period. The CLASS attribute is most commonly used
  6752.  
  6753.        to attach a different style to some element, but it is
  6754.  
  6755.        recommended that where practical class names should be picked on
  6756.  
  6757.        the basis of the element's semantics, as this will permit other
  6758.  
  6759.        uses, such as restricting search through documents by matching
  6760.  
  6761.        on element class names. The conventions for choosing class names
  6762.  
  6763.        are outside the scope of this specification. 
  6764.  
  6765.  
  6766.  
  6767.    CLEAR 
  6768.  
  6769.        This attribute is common to all block-like elements. When text
  6770.  
  6771.        flows around a figure or table in the margin, you sometimes want
  6772.  
  6773.        to start an element like a header, paragraph or list below the
  6774.  
  6775.        figure rather than alongside it. The CLEAR attribute allows you
  6776.  
  6777.        to move down unconditionally:
  6778.  
  6779.        
  6780.  
  6781.        
  6782.  
  6783.  
  6784.  
  6785.        clear=left
  6786.  
  6787.            move down until left margin is clear 
  6788.  
  6789.  
  6790.  
  6791.        clear=right
  6792.  
  6793.            move down until right margin is clear 
  6794.  
  6795.  
  6796.  
  6797.        clear=all
  6798.  
  6799.            move down until both margins are clear 
  6800.  
  6801.  
  6802.  
  6803.        Alternatively, you can decide to place the element alongside the
  6804.  
  6805.        figure just so long as there is enough room. The minimum width
  6806.  
  6807.        needed is specified as:
  6808.  
  6809.        
  6810.  
  6811.        
  6812.  
  6813.  
  6814.  
  6815.        clear="40 en"
  6816.  
  6817.            move down until there is at least 40 en units free 
  6818.  
  6819.  
  6820.  
  6821.        clear="100 pixels"
  6822.  
  6823.            move down until there is at least 100 pixels free 
  6824.  
  6825.  
  6826.  
  6827.        The style sheet (or browser defaults) may provide default
  6828.  
  6829.        minimum widths for each class of block-like elements. 
  6830.  
  6831.  
  6832.  
  6833.    CONTINUE 
  6834.  
  6835.        Don't restart the sequence number, i.e. continue where previous
  6836.  
  6837.  
  6838.  
  6839. Dave Raggett                                                           Page 60
  6840.  
  6841. HTML 3.0                                                       28th March 1995
  6842.  
  6843.  
  6844.  
  6845.        list left off, e.g. <OL CONTINUE> 
  6846.  
  6847.  
  6848.  
  6849.    SEQNUM 
  6850.  
  6851.        Set the starting sequence number for the first item, e.g. <OL
  6852.  
  6853.        SEQNUM=23> 
  6854.  
  6855.  
  6856.  
  6857.    COMPACT 
  6858.  
  6859.        The presence of this attribute indicates the user agent should
  6860.  
  6861.        use reduced interitem spacing. In practice, there are several
  6862.  
  6863.        ways to increase the compactness of lists: reduced vertical
  6864.  
  6865.        interitem spacing, smaller font size, or even to avoid line
  6866.  
  6867.        breaks between items. This is best handled through associated
  6868.  
  6869.        style sheets and the class attribute. 
  6870.  
  6871.  
  6872.  
  6873.  
  6874.  
  6875.  
  6876.  
  6877.  
  6878.  
  6879.  
  6880.  
  6881.  
  6882.  
  6883.  
  6884.  
  6885.  
  6886.  
  6887.  
  6888.  
  6889.  
  6890.  
  6891.  
  6892.  
  6893.  
  6894.  
  6895.  
  6896.  
  6897.  
  6898.  
  6899.  
  6900.  
  6901.  
  6902.  
  6903.  
  6904.  
  6905.  
  6906.  
  6907.  
  6908.  
  6909.  
  6910.  
  6911.  
  6912.  
  6913.  
  6914.  
  6915.  
  6916.  
  6917.  
  6918.  
  6919.  
  6920.  
  6921.  
  6922.  
  6923.  
  6924.  
  6925.  
  6926.  
  6927.  
  6928.  
  6929.  
  6930.  
  6931.  
  6932.  
  6933.  
  6934.  
  6935.  
  6936.  
  6937.  
  6938.  
  6939.  
  6940.  
  6941.  
  6942.  
  6943.  
  6944.  
  6945.  
  6946.  
  6947.  
  6948.  
  6949.  
  6950.  
  6951.  
  6952.  
  6953. Dave Raggett                                                           Page 61
  6954.  
  6955. HTML 3.0                                                       28th March 1995
  6956.  
  6957.  
  6958.  
  6959. DL - Definition Lists
  6960.  
  6961.  
  6962.  
  6963.    Permitted Context: %Body.Content, %flow, %block
  6964.  
  6965.    Content Model: Optional list header(LH), followed by one or more
  6966.  
  6967.    terms(DT) and definitions(DD). 
  6968.  
  6969.  
  6970.  
  6971.    A definition list is a list of terms and corresponding definitions.
  6972.  
  6973.    Definition lists are typically formatted with the term on the left
  6974.  
  6975.    with the definition following on the right or on the next line. The
  6976.  
  6977.    definition text is typically indented with respect to the term. 
  6978.  
  6979.  
  6980.  
  6981.    An alternative format places the term left aligned in a wide margin
  6982.  
  6983.    and the definition on one or more lines to the right of the term. If
  6984.  
  6985.    the DT term does not fit in the DT column (one third of the display
  6986.  
  6987.    area), it may be extended across the page with the DD section moved
  6988.  
  6989.    to the next line, or it may be wrapped onto successive lines of the
  6990.  
  6991.    left hand column. 
  6992.  
  6993.  
  6994.  
  6995.    The opening list tag must be <DL>. It is followed by an optional
  6996.  
  6997.    list header (<LH>caption</LH>) and then by term names (<DT>) and
  6998.  
  6999.    definitions (<DD>). For example: 
  7000.  
  7001.  
  7002.  
  7003.    <DL>
  7004.  
  7005.    <LH>List Header</LH>
  7006.  
  7007.    <DT>Term 1<dd>This is the definition of the first term.
  7008.  
  7009.    <DT>Term 2<dd>This is the definition of the second term.
  7010.  
  7011.    </DL>
  7012.  
  7013.  
  7014.  
  7015.    which could be rendered as: 
  7016.  
  7017.  
  7018.  
  7019. List Header
  7020.  
  7021.  
  7022.  
  7023.    Term 1
  7024.  
  7025.        This is the definition of the first term. 
  7026.  
  7027.  
  7028.  
  7029.    Term 2
  7030.  
  7031.        This is the definition of the second term. 
  7032.  
  7033.  
  7034.  
  7035.    The definition list element can take the COMPACT attribute, which
  7036.  
  7037.    suggests that a compact rendering be used, and is appropriate if the
  7038.  
  7039.    list elements are small and/or the entire list is large. 
  7040.  
  7041.  
  7042.  
  7043.    Note: Use the NOTE element when you want to have an indented note.
  7044.  
  7045.    The practice of using <DD> elements without corresponding <DT>
  7046.  
  7047.    elements is deprecated. 
  7048.  
  7049.  
  7050.  
  7051. Permitted Attributes for the DL Element
  7052.  
  7053.  
  7054.  
  7055.    ID 
  7056.  
  7057.        An SGML identifier used as the target for hypertext links or for
  7058.  
  7059.        naming particular elements in associated style sheets.
  7060.  
  7061.        Identifiers are NAME tokens and must be unique within the scope
  7062.  
  7063.        of the current document. 
  7064.  
  7065.  
  7066.  
  7067. Dave Raggett                                                           Page 62
  7068.  
  7069. HTML 3.0                                                       28th March 1995
  7070.  
  7071.  
  7072.  
  7073.  
  7074.  
  7075.    LANG 
  7076.  
  7077.        This is one of the ISO standard language abbreviations, e.g.
  7078.  
  7079.        "en.uk" for the variation of English spoken in the United
  7080.  
  7081.        Kingdom. It can be used by parsers to select language specific
  7082.  
  7083.        choices for quotation marks, ligatures and hypenation rules etc.
  7084.  
  7085.        The language attribute is composed from the two letter language
  7086.  
  7087.        code from ISO 639, optionally followed by a period and a two
  7088.  
  7089.        letter country code from ISO 3166. 
  7090.  
  7091.  
  7092.  
  7093.    CLASS 
  7094.  
  7095.        This a space separated list of SGML NAME tokens and is used to
  7096.  
  7097.        subclass tag names. By convention, the class names are
  7098.  
  7099.        interpreted hierarchically, with the most general class on the
  7100.  
  7101.        left and the most specific on the right, where classes are
  7102.  
  7103.        separated by a period. The CLASS attribute is most commonly used
  7104.  
  7105.        to attach a different style to some element, but it is
  7106.  
  7107.        recommended that where practical class names should be picked on
  7108.  
  7109.        the basis of the element's semantics, as this will permit other
  7110.  
  7111.        uses, such as restricting search through documents by matching
  7112.  
  7113.        on element class names. The conventions for choosing class names
  7114.  
  7115.        are outside the scope of this specification. 
  7116.  
  7117.  
  7118.  
  7119.    CLEAR 
  7120.  
  7121.        This attribute is common to all block-like elements. When text
  7122.  
  7123.        flows around a figure or table in the margin, you sometimes want
  7124.  
  7125.        to start an element like a header, paragraph or list below the
  7126.  
  7127.        figure rather than alongside it. The CLEAR attribute allows you
  7128.  
  7129.        to move down unconditionally:
  7130.  
  7131.        
  7132.  
  7133.        
  7134.  
  7135.  
  7136.  
  7137.        clear=left
  7138.  
  7139.            move down until left margin is clear 
  7140.  
  7141.  
  7142.  
  7143.        clear=right
  7144.  
  7145.            move down until right margin is clear 
  7146.  
  7147.  
  7148.  
  7149.        clear=all
  7150.  
  7151.            move down until both margins are clear 
  7152.  
  7153.  
  7154.  
  7155.        Alternatively, you can decide to place the element alongside the
  7156.  
  7157.        figure just so long as there is enough room. The minimum width
  7158.  
  7159.        needed is specified as:
  7160.  
  7161.        
  7162.  
  7163.        
  7164.  
  7165.  
  7166.  
  7167.        clear="40 en"
  7168.  
  7169.            move down until there is at least 40 en units free 
  7170.  
  7171.  
  7172.  
  7173.        clear="100 pixels"
  7174.  
  7175.            move down until there is at least 100 pixels free 
  7176.  
  7177.  
  7178.  
  7179.  
  7180.  
  7181. Dave Raggett                                                           Page 63
  7182.  
  7183. HTML 3.0                                                       28th March 1995
  7184.  
  7185.  
  7186.  
  7187.        The style sheet (or browser defaults) may provide default
  7188.  
  7189.        minimum widths for each class of block-like elements. 
  7190.  
  7191.  
  7192.  
  7193.    COMPACT 
  7194.  
  7195.        The presence of this attribute indicates the user agent should
  7196.  
  7197.        use reduced interitem spacing. The COMPACT attribute may also
  7198.  
  7199.        reduce the width of the left-hand (DT) column. 
  7200.  
  7201.  
  7202.  
  7203.        In practice, there are several ways to increase the compactness
  7204.  
  7205.        of lists: reduced vertical interitem spacing, smaller font size,
  7206.  
  7207.        or even to avoid line breaks between items. This is best handled
  7208.  
  7209.        through associated style sheets and the class attribute. 
  7210.  
  7211.  
  7212.  
  7213.        The opening list tag must be DL COMPACT. It must be immediately
  7214.  
  7215.        followed by the first term (DT). For example: 
  7216.  
  7217.  
  7218.  
  7219.        <DL compact>
  7220.  
  7221.        <DT>Term<DD>This is the first definition in compact format.
  7222.  
  7223.        <DT>Term<DD>This is the second definition in compact format.
  7224.  
  7225.        </DL>
  7226.  
  7227.  
  7228.  
  7229.  
  7230.  
  7231.  
  7232.  
  7233.  
  7234.  
  7235.  
  7236.  
  7237.  
  7238.  
  7239.  
  7240.  
  7241.  
  7242.  
  7243.  
  7244.  
  7245.  
  7246.  
  7247.  
  7248.  
  7249.  
  7250.  
  7251.  
  7252.  
  7253.  
  7254.  
  7255.  
  7256.  
  7257.  
  7258.  
  7259.  
  7260.  
  7261.  
  7262.  
  7263.  
  7264.  
  7265.  
  7266.  
  7267.  
  7268.  
  7269.  
  7270.  
  7271.  
  7272.  
  7273.  
  7274.  
  7275.  
  7276.  
  7277.  
  7278.  
  7279.  
  7280.  
  7281.  
  7282.  
  7283.  
  7284.  
  7285.  
  7286.  
  7287.  
  7288.  
  7289.  
  7290.  
  7291.  
  7292.  
  7293.  
  7294.  
  7295. Dave Raggett                                                           Page 64
  7296.  
  7297. HTML 3.0                                                       28th March 1995
  7298.  
  7299.  
  7300.  
  7301. DT - Term Name
  7302.  
  7303.  
  7304.  
  7305.    Permitted Context: DL
  7306.  
  7307.    Content Model: %text 
  7308.  
  7309.  
  7310.  
  7311.    The DT tag element specifies a term name, and you can have several
  7312.  
  7313.    terms per DD element. 
  7314.  
  7315.  
  7316.  
  7317.    Note: Term names are restricted to character level markup only,
  7318.  
  7319.    including epmhasis, inline images and footnotes. Paragraph tags and
  7320.  
  7321.    other block-like element such as headers are not permitted, although
  7322.  
  7323.    implementors of HTML 3.0 user agents are advised to cater for this
  7324.  
  7325.    possibility in order to handle badly formed legacy documents. 
  7326.  
  7327.  
  7328.  
  7329. Permitted Attributes for the DT Element
  7330.  
  7331.  
  7332.  
  7333.    ID 
  7334.  
  7335.        An SGML identifier used as the target for hypertext links or for
  7336.  
  7337.        naming particular elements in associated style sheets.
  7338.  
  7339.        Identifiers are NAME tokens and must be unique within the scope
  7340.  
  7341.        of the current document. 
  7342.  
  7343.  
  7344.  
  7345.    LANG 
  7346.  
  7347.        This is one of the ISO standard language abbreviations, e.g.
  7348.  
  7349.        "en.uk" for the variation of English spoken in the United
  7350.  
  7351.        Kingdom. It can be used by parsers to select language specific
  7352.  
  7353.        choices for quotation marks, ligatures and hypenation rules etc.
  7354.  
  7355.        The language attribute is composed from the two letter language
  7356.  
  7357.        code from ISO 639, optionally followed by a period and a two
  7358.  
  7359.        letter country code from ISO 3166. 
  7360.  
  7361.  
  7362.  
  7363.    CLASS 
  7364.  
  7365.        This a space separated list of SGML NAME tokens and is used to
  7366.  
  7367.        subclass tag names. By convention, the class names are
  7368.  
  7369.        interpreted hierarchically, with the most general class on the
  7370.  
  7371.        left and the most specific on the right, where classes are
  7372.  
  7373.        separated by a period. The CLASS attribute is most commonly used
  7374.  
  7375.        to attach a different style to some element, but it is
  7376.  
  7377.        recommended that where practical class names should be picked on
  7378.  
  7379.        the basis of the element's semantics, as this will permit other
  7380.  
  7381.        uses, such as restricting search through documents by matching
  7382.  
  7383.        on element class names. The conventions for choosing class names
  7384.  
  7385.        are outside the scope of this specification. 
  7386.  
  7387.  
  7388.  
  7389.    CLEAR 
  7390.  
  7391.        When text flows around a figure or table in the margin, you
  7392.  
  7393.        sometimes want to start the term name below the figure rather
  7394.  
  7395.        than alongside it. The CLEAR attribute allows you to move down unconditionally:
  7396.  
  7397.        
  7398.  
  7399.        
  7400.  
  7401.  
  7402.  
  7403.        clear=left
  7404.  
  7405.            move down until left margin is clear 
  7406.  
  7407.  
  7408.  
  7409. Dave Raggett                                                           Page 65
  7410.  
  7411. HTML 3.0                                                       28th March 1995
  7412.  
  7413.  
  7414.  
  7415.  
  7416.  
  7417.        clear=right
  7418.  
  7419.            move down until right margin is clear 
  7420.  
  7421.  
  7422.  
  7423.        clear=all
  7424.  
  7425.            move down until both margins are clear 
  7426.  
  7427.  
  7428.  
  7429.        Alternatively, you can decide to place the element alongside the
  7430.  
  7431.        figure just so long as there is enough room. The minimum width
  7432.  
  7433.        needed is specified as:
  7434.  
  7435.        
  7436.  
  7437.        
  7438.  
  7439.  
  7440.  
  7441.        clear="40 en"
  7442.  
  7443.            move down until there is at least 40 en units free 
  7444.  
  7445.  
  7446.  
  7447.        clear="100 pixels"
  7448.  
  7449.            move down until there is at least 100 pixels free 
  7450.  
  7451.  
  7452.  
  7453.        The style sheet (or browser defaults) may provide default
  7454.  
  7455.        minimum widths for each class of block-like elements. 
  7456.  
  7457.  
  7458.  
  7459.  
  7460.  
  7461.  
  7462.  
  7463.  
  7464.  
  7465.  
  7466.  
  7467.  
  7468.  
  7469.  
  7470.  
  7471.  
  7472.  
  7473.  
  7474.  
  7475.  
  7476.  
  7477.  
  7478.  
  7479.  
  7480.  
  7481.  
  7482.  
  7483.  
  7484.  
  7485.  
  7486.  
  7487.  
  7488.  
  7489.  
  7490.  
  7491.  
  7492.  
  7493.  
  7494.  
  7495.  
  7496.  
  7497.  
  7498.  
  7499.  
  7500.  
  7501.  
  7502.  
  7503.  
  7504.  
  7505.  
  7506.  
  7507.  
  7508.  
  7509.  
  7510.  
  7511.  
  7512.  
  7513.  
  7514.  
  7515.  
  7516.  
  7517.  
  7518.  
  7519.  
  7520.  
  7521.  
  7522.  
  7523. Dave Raggett                                                           Page 66
  7524.  
  7525. HTML 3.0                                                       28th March 1995
  7526.  
  7527.  
  7528.  
  7529. DD - Term Definition
  7530.  
  7531.  
  7532.  
  7533.    Permitted Context: DL
  7534.  
  7535.    Content Model: %flow 
  7536.  
  7537.  
  7538.  
  7539.    The DD tag element specifies a term definition, and follows one or
  7540.  
  7541.    more DT elements. 
  7542.  
  7543.  
  7544.  
  7545.    Note: The content model for term definitions is quite broad,
  7546.  
  7547.    including paragraphs, lists, performatted text, forms, tables,
  7548.  
  7549.    figures and admonishments. Headers are not permitted, although
  7550.  
  7551.    implementors of HTML 3.0 user agents are advised to cater for this
  7552.  
  7553.    possibility in order to handle badly formed legacy documents. If
  7554.  
  7555.    %html.recommended is active, the HTML 3.0 DTD expects you to enclose
  7556.  
  7557.    plain text in a block element such as <P> 
  7558.  
  7559.  
  7560.  
  7561. Permitted Attributes for the DD Element
  7562.  
  7563.  
  7564.  
  7565.    ID 
  7566.  
  7567.        An SGML identifier used as the target for hypertext links or for
  7568.  
  7569.        naming particular elements in associated style sheets.
  7570.  
  7571.        Identifiers are NAME tokens and must be unique within the scope
  7572.  
  7573.        of the current document. 
  7574.  
  7575.  
  7576.  
  7577.    LANG 
  7578.  
  7579.        This is one of the ISO standard language abbreviations, e.g.
  7580.  
  7581.        "en.uk" for the variation of English spoken in the United
  7582.  
  7583.        Kingdom. It can be used by parsers to select language specific
  7584.  
  7585.        choices for quotation marks, ligatures and hypenation rules etc.
  7586.  
  7587.        The language attribute is composed from the two letter language
  7588.  
  7589.        code from ISO 639, optionally followed by a period and a two
  7590.  
  7591.        letter country code from ISO 3166. 
  7592.  
  7593.  
  7594.  
  7595.    CLASS 
  7596.  
  7597.        This a space separated list of SGML NAME tokens and is used to
  7598.  
  7599.        subclass tag names. By convention, the class names are
  7600.  
  7601.        interpreted hierarchically, with the most general class on the
  7602.  
  7603.        left and the most specific on the right, where classes are
  7604.  
  7605.        separated by a period. The CLASS attribute is most commonly used
  7606.  
  7607.        to attach a different style to some element, but it is
  7608.  
  7609.        recommended that where practical class names should be picked on
  7610.  
  7611.        the basis of the element's semantics, as this will permit other
  7612.  
  7613.        uses, such as restricting search through documents by matching
  7614.  
  7615.        on element class names. The conventions for choosing class names
  7616.  
  7617.        are outside the scope of this specification. 
  7618.  
  7619.  
  7620.  
  7621.    CLEAR 
  7622.  
  7623.        When text flows around a figure or table in the margin, you
  7624.  
  7625.        sometimes want to start term definition below the figure rather
  7626.  
  7627.        than alongside it. The CLEAR attribute allows you to move down unconditionally:
  7628.  
  7629.        
  7630.  
  7631.        
  7632.  
  7633.  
  7634.  
  7635.  
  7636.  
  7637. Dave Raggett                                                           Page 67
  7638.  
  7639. HTML 3.0                                                       28th March 1995
  7640.  
  7641.  
  7642.  
  7643.        clear=left
  7644.  
  7645.            move down until left margin is clear 
  7646.  
  7647.  
  7648.  
  7649.        clear=right
  7650.  
  7651.            move down until right margin is clear 
  7652.  
  7653.  
  7654.  
  7655.        clear=all
  7656.  
  7657.            move down until both margins are clear 
  7658.  
  7659.  
  7660.  
  7661.        Alternatively, you can decide to place the element alongside the
  7662.  
  7663.        figure just so long as there is enough room. The minimum width
  7664.  
  7665.        needed is specified as:
  7666.  
  7667.        
  7668.  
  7669.        
  7670.  
  7671.  
  7672.  
  7673.        clear="40 en"
  7674.  
  7675.            move down until there is at least 40 en units free 
  7676.  
  7677.  
  7678.  
  7679.        clear="100 pixels"
  7680.  
  7681.            move down until there is at least 100 pixels free 
  7682.  
  7683.  
  7684.  
  7685.        The style sheet (or browser defaults) may provide default
  7686.  
  7687.        minimum widths for each class of block-like elements. 
  7688.  
  7689.  
  7690.  
  7691.  
  7692.  
  7693.  
  7694.  
  7695.  
  7696.  
  7697.  
  7698.  
  7699.  
  7700.  
  7701.  
  7702.  
  7703.  
  7704.  
  7705.  
  7706.  
  7707.  
  7708.  
  7709.  
  7710.  
  7711.  
  7712.  
  7713.  
  7714.  
  7715.  
  7716.  
  7717.  
  7718.  
  7719.  
  7720.  
  7721.  
  7722.  
  7723.  
  7724.  
  7725.  
  7726.  
  7727.  
  7728.  
  7729.  
  7730.  
  7731.  
  7732.  
  7733.  
  7734.  
  7735.  
  7736.  
  7737.  
  7738.  
  7739.  
  7740.  
  7741.  
  7742.  
  7743.  
  7744.  
  7745.  
  7746.  
  7747.  
  7748.  
  7749.  
  7750.  
  7751. Dave Raggett                                                           Page 68
  7752.  
  7753. HTML 3.0                                                       28th March 1995
  7754.  
  7755.  
  7756.  
  7757. Figures
  7758.  
  7759.  
  7760.  
  7761.    Permitted Context: %body.content, %flow, %block
  7762.  
  7763.    Content Model: Optional OVERLAYs followed by an optional CAPTION,
  7764.  
  7765.    then %body.content and finally an optional CREDIT 
  7766.  
  7767.  
  7768.  
  7769.    The FIG element is used for figures. Subsequent elements will be
  7770.  
  7771.    flowed around the figure if there is sufficient room. This behaviour
  7772.  
  7773.    is disabled when the align attribute is --center-- (the default) or
  7774.  
  7775.    --justify--. 
  7776.  
  7777.  
  7778.  
  7779.    Figure overlays provide for more effective use of caching as small
  7780.  
  7781.    changes to a figure in a subsequent document incur only the penalty
  7782.  
  7783.    of downloading the overlays and not the larger base figure, as the
  7784.  
  7785.    latter is already in the cache. 
  7786.  
  7787.  
  7788.  
  7789.    The figure description text is intended to convey the content of the
  7790.  
  7791.    figure for people with non-graphical user agents, while the figure
  7792.  
  7793.    caption and credit are rendered on both graphical and non-graphical
  7794.  
  7795.    user agents. The FIG element improves on the IMG element by allowing
  7796.  
  7797.    authors to use markup for the description text. The content model
  7798.  
  7799.    allows authors to include headers, which is appropriate when the
  7800.  
  7801.    headers are part of the image data. It also allows graphical
  7802.  
  7803.    hypertext links to be specified in the markup and interpreted by the
  7804.  
  7805.    user agent rather than the server. 
  7806.  
  7807.  
  7808.  
  7809.    The anchor elements in the figure description text play a dual role:
  7810.  
  7811.    Non-graphical user agents show conventional hypertext links, while
  7812.  
  7813.    for graphical user agents, the same anchor elements specify
  7814.  
  7815.    graphical hypertext links, with the SHAPE attribute designating the
  7816.  
  7817.    hotzones. This is designed to simplify the task of authors writing
  7818.  
  7819.    for both audiences. Hopefully, the FIG element will help to combat
  7820.  
  7821.    the tendency for authors to forget about people limited to terminal
  7822.  
  7823.    access or the visually impaired relying on text to speech, as the
  7824.  
  7825.    new element forces you to write description text to define the
  7826.  
  7827.    graphical hypertext links. 
  7828.  
  7829.  
  7830.  
  7831.    For some applications the hotzones are dynamically defined by
  7832.  
  7833.    programs running on the server. HTML 3.0 allows clicks and drags to
  7834.  
  7835.    be passed to the server with the IMAGEMAP attribute. Hotzones may
  7836.  
  7837.    also be specified as part of the graphics data format e.g. as in
  7838.  
  7839.    VRML. Hotzones in the FIG element take precedence over hotzones in
  7840.  
  7841.    the graphics data, which in turn take precedence over passing events
  7842.  
  7843.    to a server imagemap program. 
  7844.  
  7845.  
  7846.  
  7847.    Hotzones in overlay graphics data take precedence over hotzones in
  7848.  
  7849.    figure data. Similarly, the imagemap attribute in overlays takes
  7850.  
  7851.    precedence over the imagemap attribute for the figure. For a group
  7852.  
  7853.    of overlapping overlays the precedence is determined by the order
  7854.  
  7855.    the OVERLAY elements appear within the FIG element. Later overlays
  7856.  
  7857.    take precedence over earlier ones. 
  7858.  
  7859.  
  7860.  
  7861. Examples
  7862.  
  7863.  
  7864.  
  7865. Dave Raggett                                                           Page 69
  7866.  
  7867. HTML 3.0                                                       28th March 1995
  7868.  
  7869.  
  7870.  
  7871.  
  7872.  
  7873.    Photographic image with caption and credits: 
  7874.  
  7875.  
  7876.  
  7877.    <FIG SRC="nicodamus.jpeg">
  7878.  
  7879.      <CAPTION>Ground dweller: <I>Nicodamus bicolor</I>
  7880.  
  7881.      builds silk snares</CAPTION>
  7882.  
  7883.      <P>A small hairy spider light fleshy red in color with a brown abdomen.
  7884.  
  7885.      <CREDIT>J. A. L. Cooke/OSF</CREDIT>
  7886.  
  7887.    </FIG>
  7888.  
  7889.  
  7890.  
  7891.    Company home page: 
  7892.  
  7893.  
  7894.  
  7895.    <FIG SRC="mainmenu.gif">
  7896.  
  7897.     <H1>Access HP from Hewlett Packard</H1>
  7898.  
  7899.     <P>Select between:
  7900.  
  7901.     <UL>
  7902.  
  7903.      <LI><A HREF="guide.html" SHAPE="rect 30,200,60,16">Access Guide</A>
  7904.  
  7905.      <LI><A HREF="about.html" SHAPE="rect 100,200,50,16">About HP</A>
  7906.  
  7907.      <LI><A HREF="guide.html" SHAPE="rect 160,200,30,16">News</A>
  7908.  
  7909.      <LI><A HREF="guide.html" SHAPE="rect 200,200,50,16">Products</A>
  7910.  
  7911.      <LI><A HREF="guide.html" SHAPE="rect 260,200,80,16">Worldwide Contacts</A>
  7912.  
  7913.     </UL>
  7914.  
  7915.    </FIG>
  7916.  
  7917.  
  7918.  
  7919.    Aerial photograph with map overlay: 
  7920.  
  7921.  
  7922.  
  7923.    <FIG SRC="newyork.jpeg">
  7924.  
  7925.      <OVERLAY SRC="map.gif">
  7926.  
  7927.      <P>New York from the air!
  7928.  
  7929.    </FIG>
  7930.  
  7931.  
  7932.  
  7933. Permitted Attributes
  7934.  
  7935.  
  7936.  
  7937.    ID 
  7938.  
  7939.        An SGML identifier used as the target for hypertext links or for
  7940.  
  7941.        naming particular elements in associated style sheets.
  7942.  
  7943.        Identifiers are NAME tokens and must be unique within the scope
  7944.  
  7945.        of the current document. 
  7946.  
  7947.  
  7948.  
  7949.    LANG 
  7950.  
  7951.        This is one of the ISO standard language abbreviations, e.g.
  7952.  
  7953.        "en.uk" for the variation of English spoken in the United
  7954.  
  7955.        Kingdom. It can be used by parsers to select language specific
  7956.  
  7957.        choices for quotation marks, ligatures and hypenation rules etc.
  7958.  
  7959.        The language attribute is composed from the two letter language
  7960.  
  7961.        code from ISO 639, optionally followed by a period and a two
  7962.  
  7963.        letter country code from ISO 3166. 
  7964.  
  7965.  
  7966.  
  7967.    CLASS 
  7968.  
  7969.        This a space separated list of SGML NAME tokens and is used to
  7970.  
  7971.        subclass tag names. By convention, the class names are
  7972.  
  7973.        interpreted hierarchically, with the most general class on the
  7974.  
  7975.        left and the most specific on the right, where classes are
  7976.  
  7977.  
  7978.  
  7979. Dave Raggett                                                           Page 70
  7980.  
  7981. HTML 3.0                                                       28th March 1995
  7982.  
  7983.  
  7984.  
  7985.        separated by a period. The CLASS attribute is most commonly used
  7986.  
  7987.        to attach a different style to some element, but it is
  7988.  
  7989.        recommended that where practical class names should be picked on
  7990.  
  7991.        the basis of the element's semantics, as this will permit other
  7992.  
  7993.        uses, such as restricting search through documents by matching
  7994.  
  7995.        on element class names. The conventions for choosing class names
  7996.  
  7997.        are outside the scope of this specification. 
  7998.  
  7999.  
  8000.  
  8001.    CLEAR 
  8002.  
  8003.        When there is already a figure or table in the margin, you
  8004.  
  8005.        sometimes want to position another figure below the figure in
  8006.  
  8007.        the margin rather than alongside it. The CLEAR attribute allows
  8008.  
  8009.        you to move down unconditionally:
  8010.  
  8011.        
  8012.  
  8013.        
  8014.  
  8015.  
  8016.  
  8017.        clear=left
  8018.  
  8019.            move down until left margin is clear 
  8020.  
  8021.  
  8022.  
  8023.        clear=right
  8024.  
  8025.            move down until right margin is clear 
  8026.  
  8027.  
  8028.  
  8029.        clear=all
  8030.  
  8031.            move down until both margins are clear 
  8032.  
  8033.  
  8034.  
  8035.        Alternatively, you can decide to place the figure alongside the
  8036.  
  8037.        figure in the margin just so long as there is enough room. The
  8038.  
  8039.        minimum width needed is specified as:
  8040.  
  8041.        
  8042.  
  8043.        
  8044.  
  8045.  
  8046.  
  8047.        clear="40 en"
  8048.  
  8049.            move down until there is at least 40 en units free 
  8050.  
  8051.  
  8052.  
  8053.        clear="100 pixels"
  8054.  
  8055.            move down until there is at least 100 pixels free 
  8056.  
  8057.  
  8058.  
  8059.        The style sheet (or browser defaults) may provide default
  8060.  
  8061.        minimum widths for each class of block-like elements. 
  8062.  
  8063.  
  8064.  
  8065.    NOFLOW 
  8066.  
  8067.        The presence of this attribute disables text flow around the
  8068.  
  8069.        figure. It avoids the need to use the CLEAR or NEEDS attributes
  8070.  
  8071.        on the following element. 
  8072.  
  8073.  
  8074.  
  8075.    SRC 
  8076.  
  8077.        Specifies the figure's graphical content. The image is specified
  8078.  
  8079.        as a URI. This attribute may appear together with the MD
  8080.  
  8081.        attribute. 
  8082.  
  8083.  
  8084.  
  8085.    MD 
  8086.  
  8087.        Specifies a message digest or cryptographic checksum for the
  8088.  
  8089.        associated graphic specified by the SRC attribute. It is used
  8090.  
  8091.  
  8092.  
  8093. Dave Raggett                                                           Page 71
  8094.  
  8095. HTML 3.0                                                       28th March 1995
  8096.  
  8097.  
  8098.  
  8099.        when you want to be sure that a linked object is indeed the same
  8100.  
  8101.        one that the author intended, and hasn't been modified in any
  8102.  
  8103.        way. For instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which
  8104.  
  8105.        specifies an MD5 checksum encoded as a base64 character string.
  8106.  
  8107.        The MD attribute is generally allowed for all elements which
  8108.  
  8109.        support URI based links. 
  8110.  
  8111.  
  8112.  
  8113.    ALIGN 
  8114.  
  8115.        Specifies horizontal alignment of the figure:
  8116.  
  8117.        
  8118.  
  8119.        
  8120.  
  8121.  
  8122.  
  8123.        BLEEDLEFT 
  8124.  
  8125.            Flush left with the left (window) border. 
  8126.  
  8127.  
  8128.  
  8129.        LEFT 
  8130.  
  8131.            Flush left with the left text margin. 
  8132.  
  8133.  
  8134.  
  8135.        CENTER 
  8136.  
  8137.            The figure is centered between the text margins and text
  8138.  
  8139.            flow around the figure is disabled. This is the default
  8140.  
  8141.            setting for ALIGN. 
  8142.  
  8143.  
  8144.  
  8145.        RIGHT 
  8146.  
  8147.            Flush right with the right text margin. 
  8148.  
  8149.  
  8150.  
  8151.        BLEEDRIGHT 
  8152.  
  8153.            Flush right with the right (window) border 
  8154.  
  8155.  
  8156.  
  8157.        JUSTIFY 
  8158.  
  8159.            When applicable the figure should be magnified or reduced to
  8160.  
  8161.            fill the space between the left and right text margins. Text
  8162.  
  8163.            flow around the figure is disabled for align=justify. 
  8164.  
  8165.  
  8166.  
  8167.    WIDTH 
  8168.  
  8169.        Specifies the desired width in pixels or en units (according to
  8170.  
  8171.        the value of the UNITS attribute). User agents may scale the
  8172.  
  8173.        figure image to match this width. 
  8174.  
  8175.  
  8176.  
  8177.    HEIGHT 
  8178.  
  8179.        Specifies the desired height in pixels or en units (according to
  8180.  
  8181.        the value of the UNITS attribute). User agents may scale the
  8182.  
  8183.        figure image to match this height. 
  8184.  
  8185.  
  8186.  
  8187.    UNITS 
  8188.  
  8189.        Specifies the choice of units for width and height. units=pixels
  8190.  
  8191.        (the default) specifies pixels, while units=en specifies en
  8192.  
  8193.        units. The en unit is a typographical unit equal to half the
  8194.  
  8195.        point size. 
  8196.  
  8197.  
  8198.  
  8199.    IMAGEMAP 
  8200.  
  8201.        Specifies a URI for processing image clicks and drags. 
  8202.  
  8203.  
  8204.  
  8205.  
  8206.  
  8207. Dave Raggett                                                           Page 72
  8208.  
  8209. HTML 3.0                                                       28th March 1995
  8210.  
  8211.  
  8212.  
  8213. Figure Overlays
  8214.  
  8215.  
  8216.  
  8217.    Permitted Context: start of FIG element
  8218.  
  8219.    Content Model: Empty! 
  8220.  
  8221.  
  8222.  
  8223.    The OVERLAY element is used to overlay images on top of a base
  8224.  
  8225.    figure. Figure overlays provide for more effective use of caching as
  8226.  
  8227.    small changes to a figure in a subsequent document incur only the
  8228.  
  8229.    penalty of downloading the overlays and not the larger base figure,
  8230.  
  8231.    as the latter is already in the cache. The overlay can be offset
  8232.  
  8233.    from the top left corner of the base image. 
  8234.  
  8235.  
  8236.  
  8237. Permitted Attributes
  8238.  
  8239.  
  8240.  
  8241.    SRC 
  8242.  
  8243.        Specifies the overlay image as a URI. This attribute may appear
  8244.  
  8245.        together with the MD attribute. 
  8246.  
  8247.  
  8248.  
  8249.    MD 
  8250.  
  8251.        Specifies a message digest or cryptographic checksum for the
  8252.  
  8253.        associated graphic specified by the SRC attribute. It is used
  8254.  
  8255.        when you want to be sure that a linked object is indeed the same
  8256.  
  8257.        one that the author intended, and hasn't been modified in any
  8258.  
  8259.        way. For instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which
  8260.  
  8261.        specifies an MD5 checksum encoded as a base64 character string.
  8262.  
  8263.        The MD attribute is generally allowed for all elements which
  8264.  
  8265.        support URI based links. 
  8266.  
  8267.  
  8268.  
  8269.    UNITS 
  8270.  
  8271.        Specifies the choice of units for width and height: units=pixels
  8272.  
  8273.        (the default) specifies pixels, while units=en specifies en
  8274.  
  8275.        units (a typographical unit equal to half the point size). 
  8276.  
  8277.  
  8278.  
  8279.    X 
  8280.  
  8281.        The X offset from the top left corner of the base image. X
  8282.  
  8283.        increases to the right, and is given in pixels or en units
  8284.  
  8285.        (according to the value of the UNITS attribute). 
  8286.  
  8287.  
  8288.  
  8289.    Y 
  8290.  
  8291.        The Y offset from the top left corner of the base image. Y
  8292.  
  8293.        increases downwards, and is given in pixels or en units
  8294.  
  8295.        (according to the value of the UNITS attribute). 
  8296.  
  8297.  
  8298.  
  8299.    WIDTH 
  8300.  
  8301.        Specifies the desired width in pixels or en units (according to
  8302.  
  8303.        the value of the UNITS attribute). User agents may scale the
  8304.  
  8305.        figure image to match this width. 
  8306.  
  8307.  
  8308.  
  8309.    HEIGHT 
  8310.  
  8311.        Specifies the desired height in pixels or en units (according to
  8312.  
  8313.        the value of the UNITS attribute). User agents may scale the
  8314.  
  8315.        figure image to match this height. 
  8316.  
  8317.  
  8318.  
  8319.  
  8320.  
  8321. Dave Raggett                                                           Page 73
  8322.  
  8323. HTML 3.0                                                       28th March 1995
  8324.  
  8325.  
  8326.  
  8327.    IMAGEMAP 
  8328.  
  8329.        Specifies a URI for processing image clicks and drags. 
  8330.  
  8331.  
  8332.  
  8333.  
  8334.  
  8335.  
  8336.  
  8337.  
  8338.  
  8339.  
  8340.  
  8341.  
  8342.  
  8343.  
  8344.  
  8345.  
  8346.  
  8347.  
  8348.  
  8349.  
  8350.  
  8351.  
  8352.  
  8353.  
  8354.  
  8355.  
  8356.  
  8357.  
  8358.  
  8359.  
  8360.  
  8361.  
  8362.  
  8363.  
  8364.  
  8365.  
  8366.  
  8367.  
  8368.  
  8369.  
  8370.  
  8371.  
  8372.  
  8373.  
  8374.  
  8375.  
  8376.  
  8377.  
  8378.  
  8379.  
  8380.  
  8381.  
  8382.  
  8383.  
  8384.  
  8385.  
  8386.  
  8387.  
  8388.  
  8389.  
  8390.  
  8391.  
  8392.  
  8393.  
  8394.  
  8395.  
  8396.  
  8397.  
  8398.  
  8399.  
  8400.  
  8401.  
  8402.  
  8403.  
  8404.  
  8405.  
  8406.  
  8407.  
  8408.  
  8409.  
  8410.  
  8411.  
  8412.  
  8413.  
  8414.  
  8415.  
  8416.  
  8417.  
  8418.  
  8419.  
  8420.  
  8421.  
  8422.  
  8423.  
  8424.  
  8425.  
  8426.  
  8427.  
  8428.  
  8429.  
  8430.  
  8431.  
  8432.  
  8433.  
  8434.  
  8435. Dave Raggett                                                           Page 74
  8436.  
  8437. HTML 3.0                                                       28th March 1995
  8438.  
  8439.  
  8440.  
  8441. Captions
  8442.  
  8443.  
  8444.  
  8445.    Permitted Context: TABLE or FIG
  8446.  
  8447.    Content Model: %text 
  8448.  
  8449.  
  8450.  
  8451.    The CAPTION element is used to label a table or figure. Use the
  8452.  
  8453.    align attribute to specify the position of the caption relative to
  8454.  
  8455.    the table/figure. For example: 
  8456.  
  8457.  
  8458.  
  8459.        <CAPTION ALIGN=LEFT>The Niagara Falls</CAPTION>
  8460.  
  8461.  
  8462.  
  8463.    --Should we provide separate align and valign attributes for
  8464.  
  8465.    controlling the horizontal and vertical positioning respectively?-- 
  8466.  
  8467.  
  8468.  
  8469. Permitted Attributes
  8470.  
  8471.  
  8472.  
  8473.    ID 
  8474.  
  8475.        An SGML identifier used as the target for hypertext links or for
  8476.  
  8477.        naming particular elements in associated style sheets.
  8478.  
  8479.        Identifiers are NAME tokens and must be unique within the scope
  8480.  
  8481.        of the current document. 
  8482.  
  8483.  
  8484.  
  8485.    LANG 
  8486.  
  8487.        This is one of the ISO standard language abbreviations, e.g.
  8488.  
  8489.        "en.uk" for the variation of English spoken in the United
  8490.  
  8491.        Kingdom. It can be used by parsers to select language specific
  8492.  
  8493.        choices for quotation marks, ligatures and hypenation rules etc.
  8494.  
  8495.        The language attribute is composed from the two letter language
  8496.  
  8497.        code from ISO 639, optionally followed by a period and a two
  8498.  
  8499.        letter country code from ISO 3166. 
  8500.  
  8501.  
  8502.  
  8503.    CLASS 
  8504.  
  8505.        This a space separated list of SGML NAME tokens and is used to
  8506.  
  8507.        subclass tag names. By convention, the class names are
  8508.  
  8509.        interpreted hierarchically, with the most general class on the
  8510.  
  8511.        left and the most specific on the right, where classes are
  8512.  
  8513.        separated by a period. The CLASS attribute is most commonly used
  8514.  
  8515.        to attach a different style to some element, but it is
  8516.  
  8517.        recommended that where practical class names should be picked on
  8518.  
  8519.        the basis of the element's semantics, as this will permit other
  8520.  
  8521.        uses, such as restricting search through documents by matching
  8522.  
  8523.        on element class names. The conventions for choosing class names
  8524.  
  8525.        are outside the scope of this specification. 
  8526.  
  8527.  
  8528.  
  8529.    ALIGN 
  8530.  
  8531.        Positioning of the caption relative to the table or figure it
  8532.  
  8533.        labels. The permitted values are: TOP, BOTTOM, LEFT or RIGHT. 
  8534.  
  8535.  
  8536.  
  8537.  
  8538.  
  8539.  
  8540.  
  8541.  
  8542.  
  8543.  
  8544.  
  8545.  
  8546.  
  8547.  
  8548.  
  8549. Dave Raggett                                                           Page 75
  8550.  
  8551. HTML 3.0                                                       28th March 1995
  8552.  
  8553.  
  8554.  
  8555. Credits
  8556.  
  8557.  
  8558.  
  8559.    Permitted Context: BQ or FIG
  8560.  
  8561.    Content Model: %text 
  8562.  
  8563.  
  8564.  
  8565.    The CREDIT element is used to name the source of a block quotation
  8566.  
  8567.    or figure. For example: 
  8568.  
  8569.  
  8570.  
  8571.        <CREDIT>The Writer by Richard Wilbur</CREDIT>
  8572.  
  8573.  
  8574.  
  8575. Permitted Attributes for the CREDIT Element
  8576.  
  8577.  
  8578.  
  8579.    ID 
  8580.  
  8581.        An SGML identifier used as the target for hypertext links or for
  8582.  
  8583.        naming particular elements in associated style sheets.
  8584.  
  8585.        Identifiers are NAME tokens and must be unique within the scope
  8586.  
  8587.        of the current document. 
  8588.  
  8589.  
  8590.  
  8591.    LANG 
  8592.  
  8593.        This is one of the ISO standard language abbreviations, e.g.
  8594.  
  8595.        "en.uk" for the variation of English spoken in the United
  8596.  
  8597.        Kingdom. It can be used by parsers to select language specific
  8598.  
  8599.        choices for quotation marks, ligatures and hypenation rules etc.
  8600.  
  8601.        The language attribute is composed from the two letter language
  8602.  
  8603.        code from ISO 639, optionally followed by a period and a two
  8604.  
  8605.        letter country code from ISO 3166. 
  8606.  
  8607.  
  8608.  
  8609.    CLASS 
  8610.  
  8611.        This a space separated list of SGML NAME tokens and is used to
  8612.  
  8613.        subclass tag names. By convention, the class names are
  8614.  
  8615.        interpreted hierarchically, with the most general class on the
  8616.  
  8617.        left and the most specific on the right, where classes are
  8618.  
  8619.        separated by a period. The CLASS attribute is most commonly used
  8620.  
  8621.        to attach a different style to some element, but it is
  8622.  
  8623.        recommended that where practical class names should be picked on
  8624.  
  8625.        the basis of the element's semantics, as this will permit other
  8626.  
  8627.        uses, such as restricting search through documents by matching
  8628.  
  8629.        on element class names. The conventions for choosing class names
  8630.  
  8631.        are outside the scope of this specification. 
  8632.  
  8633.  
  8634.  
  8635.  
  8636.  
  8637.  
  8638.  
  8639.  
  8640.  
  8641.  
  8642.  
  8643.  
  8644.  
  8645.  
  8646.  
  8647.  
  8648.  
  8649.  
  8650.  
  8651.  
  8652.  
  8653.  
  8654.  
  8655.  
  8656.  
  8657.  
  8658.  
  8659.  
  8660.  
  8661.  
  8662.  
  8663. Dave Raggett                                                           Page 76
  8664.  
  8665. HTML 3.0                                                       28th March 1995
  8666.  
  8667.  
  8668.  
  8669. Tables
  8670.  
  8671.  
  8672.  
  8673.    Permitted Context: %body.content, %flow, %block
  8674.  
  8675.    Content Model: Optional CAPTION, then one or more table rows (TR) 
  8676.  
  8677.  
  8678.  
  8679.    The HTML table model has been chosen for its simplicity and
  8680.  
  8681.    flexibility. By default the table is automatically sized according
  8682.  
  8683.    to the cell contents and the current window size. The COLSPEC
  8684.  
  8685.    attribute can be used when needed to exert control over column
  8686.  
  8687.    widths, either by setting explicit widths or by specifying relative
  8688.  
  8689.    widths. You can also specify the table width explicitly or as a
  8690.  
  8691.    fraction of the current margins (see WIDTH attribute). 
  8692.  
  8693.  
  8694.  
  8695.    Table start with an optional caption followed one or more rows. Each
  8696.  
  8697.    row is formed by one or more cells, which are differentiated into
  8698.  
  8699.    header and data cells. Cells can be merged across rows and columns,
  8700.  
  8701.    and include attributes assisting rendering to speech and braille, or
  8702.  
  8703.    for exporting table data into databases. The model provides little
  8704.  
  8705.    direct support for control over appearence, for example border
  8706.  
  8707.    styles and margins, as these can be handled via subclassing and
  8708.  
  8709.    associated style sheets. 
  8710.  
  8711.  
  8712.  
  8713.    Tables can contain a wide range of content, such as headers, lists,
  8714.  
  8715.    paragraphs, forms, figures, preformatted text and even nested
  8716.  
  8717.    tables. When the table is flush left or right, subsequent elements
  8718.  
  8719.    will be flowed around the table if there is sufficient room. This
  8720.  
  8721.    behaviour is disabled when the --noflow-- attribute is given or the
  8722.  
  8723.    table align attribute is --center-- (the default), or --justify--. 
  8724.  
  8725.  
  8726.  
  8727. Example
  8728.  
  8729.  
  8730.  
  8731.    <TABLE BORDER>
  8732.  
  8733.      <CAPTION>A test table with merged cells</CAPTION>
  8734.  
  8735.      <TR><TH ROWSPAN=2><TH COLSPAN=2>Average
  8736.  
  8737.          <TH ROWSPAN=2>other<BR>category<TH>Misc
  8738.  
  8739.      <TR><TH>height<TH>weight
  8740.  
  8741.      <TR><TH ALIGN=LEFT>males<TD>1.9<TD>0.003
  8742.  
  8743.      <TR><TH ALIGN=LEFT ROWSPAN=2>females<TD>1.7<TD>0.002
  8744.  
  8745.    </TABLE>
  8746.  
  8747.  
  8748.  
  8749.    This would be rendered something like: 
  8750.  
  8751.  
  8752.  
  8753.                  A test table with merged cells
  8754.  
  8755.        /--------------------------------------------------\
  8756.  
  8757.        |          |      Average      |  other   |  Misc  |
  8758.  
  8759.        |          |-------------------| category |--------|
  8760.  
  8761.        |          |  height |  weight |          |        |
  8762.  
  8763.        |-----------------------------------------|--------|
  8764.  
  8765.        | males    |   1.9   |  0.003  |          |        |
  8766.  
  8767.        |-----------------------------------------|--------|
  8768.  
  8769.        | females  |   1.7   |  0.002  |          |        |
  8770.  
  8771.        \--------------------------------------------------/
  8772.  
  8773.    
  8774.  
  8775.  
  8776.  
  8777. Dave Raggett                                                           Page 77
  8778.  
  8779. HTML 3.0                                                       28th March 1995
  8780.  
  8781.  
  8782.  
  8783.  
  8784.  
  8785.    There are several points to note: 
  8786.  
  8787.  
  8788.  
  8789.    *   By default, header cells are centered while data cells are flush
  8790.  
  8791.        left. This can be overriden by the ALIGN attribute for the cell;
  8792.  
  8793.        the COLSPEC attribute for the TABLE element; or the ALIGN
  8794.  
  8795.        attribute on the enclosing row's TR element (from the most
  8796.  
  8797.        specific to the least). 
  8798.  
  8799.  
  8800.  
  8801.    *   Cells may be empty. 
  8802.  
  8803.  
  8804.  
  8805.    *   Cells spanning rows contribute to the column count on each of
  8806.  
  8807.        the spanned rows, but only appear in the markup once (in the
  8808.  
  8809.        first row spanned). 
  8810.  
  8811.  
  8812.  
  8813.    *   If the column count for the table is greater than the number of
  8814.  
  8815.        cells for a given row (after including cells for spanned rows),
  8816.  
  8817.        the missing cells are treated as occurring on the right handside
  8818.  
  8819.        of the table, and rendered as empty cells. 
  8820.  
  8821.  
  8822.  
  8823.    *   The row count is determined by the TR elements - any rows
  8824.  
  8825.        implied by cells spanning rows beyond this should be ignored. 
  8826.  
  8827.  
  8828.  
  8829.    *   The user agent should be able to recover from a missing <TR> tag
  8830.  
  8831.        prior to the first row as the TH and TC elements can only occur
  8832.  
  8833.        within the TR element. 
  8834.  
  8835.  
  8836.  
  8837.    *   It is invalid to have cells overlap, see below for an example.
  8838.  
  8839.        In such cases, the rendering is implementation dependent. 
  8840.  
  8841.  
  8842.  
  8843.    An example of an invalid table: 
  8844.  
  8845.  
  8846.  
  8847.    <table border>
  8848.  
  8849.    <tr><tdrowspan=2>1<td>2<td>3<td>4<td>5
  8850.  
  8851.    <tr><td rowspan=2>6
  8852.  
  8853.    <tr><td colspan=2>7<td>8
  8854.  
  8855.    </table>
  8856.  
  8857.  
  8858.  
  8859.    which looks something like: 
  8860.  
  8861.  
  8862.  
  8863.        /-------------------\
  8864.  
  8865.        | 1 | 2 | 3 | 4 | 5 |
  8866.  
  8867.        |   |---------------|
  8868.  
  8869.        |   | 6 |   |   |   |    The cells labelled 6 and 7 overlap!
  8870.  
  8871.        |---|...|-----------|
  8872.  
  8873.        | 7 :   | 8 |   |   |
  8874.  
  8875.        \-------------------/
  8876.  
  8877.  
  8878.  
  8879.    Borderless tables are useful for layout purposes as well as their
  8880.  
  8881.    traditional role for tabular data, for instance with fill-out forms: 
  8882.  
  8883.  
  8884.  
  8885.                   name: [John Smith        ]
  8886.  
  8887.            card number: [4619 693523 20851 ]
  8888.  
  8889.  
  8890.  
  8891. Dave Raggett                                                           Page 78
  8892.  
  8893. HTML 3.0                                                       28th March 1995
  8894.  
  8895.  
  8896.  
  8897.                expires: [03] / [97]
  8898.  
  8899.              telephone: [212 873 2739      ]
  8900.  
  8901.  
  8902.  
  8903.    This can be represented as a table with one row and two columns. The
  8904.  
  8905.    first column is right aligned, while the second is left aligned.
  8906.  
  8907.    This example could be marked up as: 
  8908.  
  8909.  
  8910.  
  8911.    <table>
  8912.  
  8913.      <tr valign=baseline>
  8914.  
  8915.      <td align=right>
  8916.  
  8917.        name:<br>
  8918.  
  8919.        card number:<br>
  8920.  
  8921.        expires:<br>
  8922.  
  8923.        telephone:
  8924.  
  8925.      <td align=left>
  8926.  
  8927.        <input name="name" size=18><br>
  8928.  
  8929.        <input name="cardnum" size=18><br>
  8930.  
  8931.        <input name="expires-month" size=2> /
  8932.  
  8933.        <input name="expires-year" size=2><br>
  8934.  
  8935.        <input name="phone" size=18><br>
  8936.  
  8937.    </table>
  8938.  
  8939.    
  8940.  
  8941.  
  8942.  
  8943.    The use of such techniques is one of the motivations for using
  8944.  
  8945.    nested tables, where borderless tables are used to layout cell
  8946.  
  8947.    contents for an enclosing table 
  8948.  
  8949.  
  8950.  
  8951.    Hint: You can achieve a similar effect to the above by using decimal
  8952.  
  8953.    alignment and using the DP attribute to set the alignment character
  8954.  
  8955.    to a convenient character, for example: 
  8956.  
  8957.  
  8958.  
  8959.    <table>
  8960.  
  8961.      <tr align=decimal dp=":">
  8962.  
  8963.      <td>
  8964.  
  8965.        name: <input name="name" size=18><br>
  8966.  
  8967.        card number: <input name="cardnum" size=18><br>
  8968.  
  8969.        expires: <input name="expires-month" size=2> /
  8970.  
  8971.        <input name="expires-year" size=2><br>
  8972.  
  8973.        telephone:<input name="phone" size=18><br>
  8974.  
  8975.    </table>
  8976.  
  8977.    
  8978.  
  8979.  
  8980.  
  8981.    Each line in the table is then indented so that all the colons are
  8982.  
  8983.    positioned under one another. 
  8984.  
  8985.  
  8986.  
  8987. Table Sizing Algorithm
  8988.  
  8989.  
  8990.  
  8991.    The default sizing algorithm requires two passes through the table
  8992.  
  8993.    data. In the first pass, word wrapping is disabled, and the user
  8994.  
  8995.    agent keeps track of the minimum and maximum width of each cell. The
  8996.  
  8997.    maximum width is given by the widest line. As word wrap has been
  8998.  
  8999.    disabled, paragraphs are treated as long lines unless broken by <BR>
  9000.  
  9001.    elements. The minimum width is given by the widest word or image
  9002.  
  9003.  
  9004.  
  9005. Dave Raggett                                                           Page 79
  9006.  
  9007. HTML 3.0                                                       28th March 1995
  9008.  
  9009.  
  9010.  
  9011.    etc. taking into account leading indents and list bullets etc. In
  9012.  
  9013.    other words, if you were to format the cell's content in a window of
  9014.  
  9015.    its own, determine the minimum width you could make the window
  9016.  
  9017.    before things begin to be clipped. 
  9018.  
  9019.  
  9020.  
  9021.    The minimum and maximum cell widths are then used to determine the
  9022.  
  9023.    corresponding minimum and maximum widths for the columns. These in
  9024.  
  9025.    turn, are used to find the minimum and maximum width for the table.
  9026.  
  9027.    Note that cells can contain nested tables, but this doesn't
  9028.  
  9029.    complicate the code significantly. The next step is to assign column
  9030.  
  9031.    widths according to the current window size (more accurately - the
  9032.  
  9033.    width between the left and right margins). 
  9034.  
  9035.  
  9036.  
  9037.    The table borders and intercell margins need to be included in the
  9038.  
  9039.    assignment step. There are three cases: 
  9040.  
  9041.  
  9042.  
  9043.    1.  The minimum table width is equal to or wider than the available
  9044.  
  9045.        space. In this case, assign the minimum widths and allow the
  9046.  
  9047.        user to scroll horizontally. For conversion to braille, it will
  9048.  
  9049.        be necessary to replace the cells by references to notes
  9050.  
  9051.        containing their full content. By convention these appear before
  9052.  
  9053.        the table. 
  9054.  
  9055.  
  9056.  
  9057.    2.  The maximum table width fits within the available space. In this
  9058.  
  9059.        case, set the columns to their maximum widths. 
  9060.  
  9061.  
  9062.  
  9063.    3.  The maximum width of the table is greater than the available
  9064.  
  9065.        space, but the minimum table width is smaller. In this case,
  9066.  
  9067.        find the difference between the available space and the minimum
  9068.  
  9069.        table width, lets call it --W--. Lets also call --D-- the
  9070.  
  9071.        difference between maximum and minimum width of the table. 
  9072.  
  9073.  
  9074.  
  9075.        For each column, let --d-- be the the difference between maximum
  9076.  
  9077.        and minimum width of that column. Now set the column's width to
  9078.  
  9079.        the minimum width plus --d-- times --W-- over --D--. This makes
  9080.  
  9081.        columns with lots of text wider than columns with smaller
  9082.  
  9083.        amounts. 
  9084.  
  9085.  
  9086.  
  9087.    This assignment step is then repeated for nested tables. In this
  9088.  
  9089.    case, the width of the enclosing table's cell plays the role of the
  9090.  
  9091.    current window size in the above description. This process is
  9092.  
  9093.    repeated recursively for all nested tables. 
  9094.  
  9095.  
  9096.  
  9097.    If the COLSPEC attribute specifies the column widths explicitly, the
  9098.  
  9099.    user agent can attempt to use these values. If subsequently, one of
  9100.  
  9101.    the cells overflows its column width, the two pass mechanism may be
  9102.  
  9103.    invoked to redraw the table with more appropriate widths. If the
  9104.  
  9105.    attribute specifies relative widths, then the two pass model is
  9106.  
  9107.    always needed. 
  9108.  
  9109.  
  9110.  
  9111.    The column width assignment algorithm is then modified: 
  9112.  
  9113.  
  9114.  
  9115.    *   Explicit widths from the COLSPEC attribute should be used when
  9116.  
  9117.  
  9118.  
  9119. Dave Raggett                                                           Page 80
  9120.  
  9121. HTML 3.0                                                       28th March 1995
  9122.  
  9123.  
  9124.  
  9125.        given, provided they are greater than the minimum column width,
  9126.  
  9127.        otherwise the latter should be used. 
  9128.  
  9129.  
  9130.  
  9131.    *   For relative widths, the surplus space --W--, as defined above,
  9132.  
  9133.        is divided up between the columns appropriately, ensuring that
  9134.  
  9135.        each column is given at least its minimum width. If --W-- is
  9136.  
  9137.        zero or negative, column widths should be increased over the
  9138.  
  9139.        minimum width to meet the relative width requirements. 
  9140.  
  9141.  
  9142.  
  9143.    If the table width is specified with the WIDTH attribute, the user
  9144.  
  9145.    agent attempts to set column widths to match. The WIDTH attribute
  9146.  
  9147.    should be disregarded if this results in columns having less than
  9148.  
  9149.    their minimum widths. 
  9150.  
  9151.  
  9152.  
  9153. Permitted Attributes
  9154.  
  9155.  
  9156.  
  9157.    ID 
  9158.  
  9159.        An SGML identifier used as the target for hypertext links or for
  9160.  
  9161.        naming particular elements in associated style sheets.
  9162.  
  9163.        Identifiers are NAME tokens and must be unique within the scope
  9164.  
  9165.        of the current document. 
  9166.  
  9167.  
  9168.  
  9169.    LANG 
  9170.  
  9171.        This is one of the ISO standard language abbreviations, e.g.
  9172.  
  9173.        "en.uk" for the variation of English spoken in the United
  9174.  
  9175.        Kingdom. It can be used by parsers to select language specific
  9176.  
  9177.        choices for quotation marks, ligatures and hypenation rules etc.
  9178.  
  9179.        The language attribute is composed from the two letter language
  9180.  
  9181.        code from ISO 639, optionally followed by a period and a two
  9182.  
  9183.        letter country code from ISO 3166. 
  9184.  
  9185.  
  9186.  
  9187.    CLASS 
  9188.  
  9189.        This a space separated list of SGML NAME tokens and is used to
  9190.  
  9191.        subclass tag names. By convention, the class names are
  9192.  
  9193.        interpreted hierarchically, with the most general class on the
  9194.  
  9195.        left and the most specific on the right, where classes are
  9196.  
  9197.        separated by a period. The CLASS attribute is most commonly used
  9198.  
  9199.        to attach a different style to some element, but it is
  9200.  
  9201.        recommended that where practical class names should be picked on
  9202.  
  9203.        the basis of the element's semantics, as this will permit other
  9204.  
  9205.        uses, such as restricting search through documents by matching
  9206.  
  9207.        on element class names. The conventions for choosing class names
  9208.  
  9209.        are outside the scope of this specification. 
  9210.  
  9211.  
  9212.  
  9213.    CLEAR 
  9214.  
  9215.        When there is a figure or another table in the margin, you
  9216.  
  9217.        sometimes want to start another table below the figure rather
  9218.  
  9219.        than alongside it. The CLEAR attribute allows you to move down unconditionally:
  9220.  
  9221.        
  9222.  
  9223.        
  9224.  
  9225.  
  9226.  
  9227.        clear=left
  9228.  
  9229.            move down until left margin is clear 
  9230.  
  9231.  
  9232.  
  9233. Dave Raggett                                                           Page 81
  9234.  
  9235. HTML 3.0                                                       28th March 1995
  9236.  
  9237.  
  9238.  
  9239.  
  9240.  
  9241.        clear=right
  9242.  
  9243.            move down until right margin is clear 
  9244.  
  9245.  
  9246.  
  9247.        clear=all
  9248.  
  9249.            move down until both margins are clear 
  9250.  
  9251.  
  9252.  
  9253.        Alternatively, you can decide to place the table alongside the
  9254.  
  9255.        figure just so long as there is enough room. The minimum width
  9256.  
  9257.        needed is specified as:
  9258.  
  9259.        
  9260.  
  9261.        
  9262.  
  9263.  
  9264.  
  9265.        clear="40 en"
  9266.  
  9267.            move down until there is at least 40 en units free 
  9268.  
  9269.  
  9270.  
  9271.        clear="100 pixels"
  9272.  
  9273.            move down until there is at least 100 pixels free 
  9274.  
  9275.  
  9276.  
  9277.        The style sheet (or browser defaults) may provide default
  9278.  
  9279.        minimum widths for each class of block-like elements. 
  9280.  
  9281.  
  9282.  
  9283.    NOFLOW 
  9284.  
  9285.        The presence of this attribute disables text flow around the
  9286.  
  9287.        table. It avoids the need to use the CLEAR or NEEDS attributes
  9288.  
  9289.        on the following element. 
  9290.  
  9291.  
  9292.  
  9293.    ALIGN 
  9294.  
  9295.        Specifies horizontal alignment of the table (--not-- its contents):
  9296.  
  9297.        
  9298.  
  9299.        
  9300.  
  9301.  
  9302.  
  9303.        BLEEDLEFT 
  9304.  
  9305.            Flush left with the left (window) border. 
  9306.  
  9307.  
  9308.  
  9309.        LEFT 
  9310.  
  9311.            Flush left with the left text margin. 
  9312.  
  9313.  
  9314.  
  9315.        CENTER 
  9316.  
  9317.            The table is centered between the text margins and text flow
  9318.  
  9319.            around the table is disabled. This is the default setting
  9320.  
  9321.            for ALIGN. 
  9322.  
  9323.  
  9324.  
  9325.        RIGHT 
  9326.  
  9327.            Flush right with the right text margin. 
  9328.  
  9329.  
  9330.  
  9331.        BLEEDRIGHT 
  9332.  
  9333.            Flush right with the right (window) border 
  9334.  
  9335.  
  9336.  
  9337.        JUSTIFY 
  9338.  
  9339.            When applicable the table should be sized to fill the space
  9340.  
  9341.            between the left and right text margins. Text flow around
  9342.  
  9343.            the table is disabled for align=justify. 
  9344.  
  9345.  
  9346.  
  9347. Dave Raggett                                                           Page 82
  9348.  
  9349. HTML 3.0                                                       28th March 1995
  9350.  
  9351.  
  9352.  
  9353.  
  9354.  
  9355.    UNITS 
  9356.  
  9357.        Specifies the choice of units for the COLSPEC attribute:
  9358.  
  9359.        
  9360.  
  9361.        
  9362.  
  9363.  
  9364.  
  9365.        units=en 
  9366.  
  9367.            Specifies en units (a typographical unit equalt to half the
  9368.  
  9369.            point size). This is the default setting and allows user
  9370.  
  9371.            agents to render the table a row at a time without waiting
  9372.  
  9373.            until all of the table's data has been received. 
  9374.  
  9375.  
  9376.  
  9377.        units=relative 
  9378.  
  9379.            Used to set the relative width of columns. The user agent
  9380.  
  9381.            sums the values to determine the proportional width of each
  9382.  
  9383.            column. 
  9384.  
  9385.  
  9386.  
  9387.        units=pixels 
  9388.  
  9389.            The least useful! 
  9390.  
  9391.  
  9392.  
  9393.        A design issue for user agents is how to handle cases where cell
  9394.  
  9395.        contents won't fit into the specified column widths. One
  9396.  
  9397.        approach is to clip the contents to the given column width,
  9398.  
  9399.        another is to resize the columns to fit the contents regardless
  9400.  
  9401.        of the COLSPEC attribute (its best to wait until all of the
  9402.  
  9403.        table's data has been processed before resizing). 
  9404.  
  9405.  
  9406.  
  9407.    COLSPEC 
  9408.  
  9409.        The colspec attribute is a list of column widths and alignment
  9410.  
  9411.        specifications. The columns are listed from left to right with a
  9412.  
  9413.        capital letter followed by a number, e.g. COLSPEC="L20 C8 L40".
  9414.  
  9415.        The letter is L for left, C for center, R for right alignment of
  9416.  
  9417.        cell contents. J is for justification, when feasible, otherwise
  9418.  
  9419.        this is treated in the same way as L for left alignment. D is
  9420.  
  9421.        for decimal alignment, see DP attribute. 
  9422.  
  9423.  
  9424.  
  9425.        Capital letters are required to avoid a particularly common
  9426.  
  9427.        error when a lower case L is confused with a one. Column entries
  9428.  
  9429.        are delimited by one or more space characters. 
  9430.  
  9431.  
  9432.  
  9433.        The number specifies the width in en's, pixels or as a
  9434.  
  9435.        fractional value of the table width, as according to the
  9436.  
  9437.        associated units attribute. This approach is more compact than
  9438.  
  9439.        used with most SGML table models and chosen to simplify hand
  9440.  
  9441.        entry. The width attribute allows you to specify the width of
  9442.  
  9443.        the table in pixels, em units or as a percentage of the space
  9444.  
  9445.        between the current left and right margins. 
  9446.  
  9447.  
  9448.  
  9449.    DP 
  9450.  
  9451.        This specifies the character to be used for the decimal point
  9452.  
  9453.        with the COLSPEC attribute, e.g. dp="." (the default) or dp=",".
  9454.  
  9455.        The default may be altered by the language context, as set by
  9456.  
  9457.        the LANG attribute on enclosing elements. 
  9458.  
  9459.  
  9460.  
  9461. Dave Raggett                                                           Page 83
  9462.  
  9463. HTML 3.0                                                       28th March 1995
  9464.  
  9465.  
  9466.  
  9467.  
  9468.  
  9469.    WIDTH 
  9470.  
  9471.        This specifies the width of the table according to the UNITS
  9472.  
  9473.        attribute. If units=relative, the width is taken as a percentage
  9474.  
  9475.        of the width between the current left and right margins. The
  9476.  
  9477.        user agent should disregard this attribute if it would result in
  9478.  
  9479.        columns having less than their minimum widths. 
  9480.  
  9481.  
  9482.  
  9483.    BORDER 
  9484.  
  9485.        This presence of this attribute instructs the user agent to
  9486.  
  9487.        render borders around tables. For instance: <TABLE BORDER>. The
  9488.  
  9489.        precise appearence, along with the size of margins around cells,
  9490.  
  9491.        can be controlled by associated style sheets, or via information
  9492.  
  9493.        in the STYLE element in the document head. Subclassing tables,
  9494.  
  9495.        rows and cells is particularly useful in this regard. 
  9496.  
  9497.  
  9498.  
  9499.    NOWRAP 
  9500.  
  9501.        The NOWRAP attribute is used when you don't want the browser to
  9502.  
  9503.        automatically wrap lines. You can then explicitly specify line
  9504.  
  9505.        breaks in paragrphs using the BR element. 
  9506.  
  9507.  
  9508.  
  9509.  
  9510.  
  9511.  
  9512.  
  9513.  
  9514.  
  9515.  
  9516.  
  9517.  
  9518.  
  9519.  
  9520.  
  9521.  
  9522.  
  9523.  
  9524.  
  9525.  
  9526.  
  9527.  
  9528.  
  9529.  
  9530.  
  9531.  
  9532.  
  9533.  
  9534.  
  9535.  
  9536.  
  9537.  
  9538.  
  9539.  
  9540.  
  9541.  
  9542.  
  9543.  
  9544.  
  9545.  
  9546.  
  9547.  
  9548.  
  9549.  
  9550.  
  9551.  
  9552.  
  9553.  
  9554.  
  9555.  
  9556.  
  9557.  
  9558.  
  9559.  
  9560.  
  9561.  
  9562.  
  9563.  
  9564.  
  9565.  
  9566.  
  9567.  
  9568.  
  9569.  
  9570.  
  9571.  
  9572.  
  9573.  
  9574.  
  9575. Dave Raggett                                                           Page 84
  9576.  
  9577. HTML 3.0                                                       28th March 1995
  9578.  
  9579.  
  9580.  
  9581. Table Rows
  9582.  
  9583.  
  9584.  
  9585.    Permitted Context: TABLE
  9586.  
  9587.    Content Model: Table Cells (TH or TD) 
  9588.  
  9589.  
  9590.  
  9591.    The TR element acts as a container for a row of table cells defined
  9592.  
  9593.    with the TH or TD elements. You can set default horizontal and
  9594.  
  9595.    vertical alignment of cell contents for the row. You also have the
  9596.  
  9597.    ability to disable word wrap for the row, and thereafter use the
  9598.  
  9599.    <BR> element to determine line breaks and hence cell widths. 
  9600.  
  9601.  
  9602.  
  9603.    To assist with formatting tables to paged media, authors can
  9604.  
  9605.    differentiate leading and trailing rows that are to be duplicated
  9606.  
  9607.    when splitting tables across page boundaries. The recommended
  9608.  
  9609.    approach is to subclass rows using the CLASS attribute For example: 
  9610.  
  9611.  
  9612.  
  9613.        <TABLE BORDER COLSPEC= --...-->
  9614.  
  9615.          <TR CLASS=Header> --header cells ...--
  9616.  
  9617.          <TR CLASS=Body>   --body cells ...--
  9618.  
  9619.          <TR CLASS=Footer> --footer cells ...--
  9620.  
  9621.        </TABLE>
  9622.  
  9623.    
  9624.  
  9625.  
  9626.  
  9627.    Paged browsers when splitting a table across a page boundary, can
  9628.  
  9629.    then insert footer rows at the bottom of the current page and header
  9630.  
  9631.    rows at the top of the next page, followed by the remaining body
  9632.  
  9633.    rows, and the footer rows. This is repeated as necessary until all
  9634.  
  9635.    of the body rows have been rendered. Refinements of this scheme can
  9636.  
  9637.    be devised by further subclassing the rows together with an
  9638.  
  9639.    appropriate style sheet. 
  9640.  
  9641.  
  9642.  
  9643. Permitted Attributes for the TR Element
  9644.  
  9645.  
  9646.  
  9647.    ID 
  9648.  
  9649.        An SGML identifier used as the target for hypertext links or for
  9650.  
  9651.        naming particular elements in associated style sheets.
  9652.  
  9653.        Identifiers are NAME tokens and must be unique within the scope
  9654.  
  9655.        of the current document. 
  9656.  
  9657.  
  9658.  
  9659.    LANG 
  9660.  
  9661.        This is one of the ISO standard language abbreviations, e.g.
  9662.  
  9663.        "en.uk" for the variation of English spoken in the United
  9664.  
  9665.        Kingdom. It can be used by parsers to select language specific
  9666.  
  9667.        choices for quotation marks, ligatures and hypenation rules etc.
  9668.  
  9669.        The language attribute is composed from the two letter language
  9670.  
  9671.        code from ISO 639, optionally followed by a period and a two
  9672.  
  9673.        letter country code from ISO 3166. 
  9674.  
  9675.  
  9676.  
  9677.    CLASS 
  9678.  
  9679.        This a space separated list of SGML NAME tokens and is used to
  9680.  
  9681.        subclass tag names. By convention, the class names are
  9682.  
  9683.        interpreted hierarchically, with the most general class on the
  9684.  
  9685.        left and the most specific on the right, where classes are
  9686.  
  9687.  
  9688.  
  9689. Dave Raggett                                                           Page 85
  9690.  
  9691. HTML 3.0                                                       28th March 1995
  9692.  
  9693.  
  9694.  
  9695.        separated by a period. The CLASS attribute is most commonly used
  9696.  
  9697.        to attach a different style to some element, but it is
  9698.  
  9699.        recommended that where practical class names should be picked on
  9700.  
  9701.        the basis of the element's semantics, as this will permit other
  9702.  
  9703.        uses, such as restricting search through documents by matching
  9704.  
  9705.        on element class names. The conventions for choosing class names
  9706.  
  9707.        are outside the scope of this specification. 
  9708.  
  9709.  
  9710.  
  9711.    ALIGN 
  9712.  
  9713.        The ALIGN attribute can be used to explicitly specify the
  9714.  
  9715.        horizontal alignment of paragraphs within a table row:
  9716.  
  9717.        
  9718.  
  9719.        
  9720.  
  9721.  
  9722.  
  9723.        align=left 
  9724.  
  9725.            Paragraphs are rendered flush left. 
  9726.  
  9727.  
  9728.  
  9729.        align=center 
  9730.  
  9731.            Paragraphs are centered. 
  9732.  
  9733.  
  9734.  
  9735.        align=right 
  9736.  
  9737.            Paragraphs are rendered flush right. 
  9738.  
  9739.  
  9740.  
  9741.        align=justify 
  9742.  
  9743.            Text lines are justified where practical, otherwise this
  9744.  
  9745.            gives the same effect as the align=left setting. 
  9746.  
  9747.  
  9748.  
  9749.        align=decimal 
  9750.  
  9751.            Text lines are indented such that the first occurrence of a
  9752.  
  9753.            decimal point on each line are aligned vertically. If a line
  9754.  
  9755.            doesn't contain a decimal point, the line is rendered flush
  9756.  
  9757.            left for data cells and centered for header cells. 
  9758.  
  9759.  
  9760.  
  9761.        Note: By default, header cells are centered while data cells are
  9762.  
  9763.        flush left. This attribute can be used to alter these defaults
  9764.  
  9765.        on a row by row basis. If you are specifying column alignments
  9766.  
  9767.        with the TABLE's COLSPEC attribute, there is no point in also
  9768.  
  9769.        including an ALIGN attribute with the TR element, as the latter
  9770.  
  9771.        will be ignored. 
  9772.  
  9773.  
  9774.  
  9775.    DP 
  9776.  
  9777.        This specifies the character to be used for the decimal point
  9778.  
  9779.        with the ALIGN attribute, e.g. dp="." (the default) or dp=",".
  9780.  
  9781.        The default may be altered by the language context, as set by
  9782.  
  9783.        the LANG attribute on enclosing elements. 
  9784.  
  9785.  
  9786.  
  9787.    VALIGN 
  9788.  
  9789.        The VALIGN attribute can be used to explicitly specify the
  9790.  
  9791.        vertical alignment of material within a table row. It is
  9792.  
  9793.        overridden by the VALIGN attribute on individual cells:
  9794.  
  9795.        
  9796.  
  9797.        
  9798.  
  9799.  
  9800.  
  9801.  
  9802.  
  9803. Dave Raggett                                                           Page 86
  9804.  
  9805. HTML 3.0                                                       28th March 1995
  9806.  
  9807.  
  9808.  
  9809.        valign=top 
  9810.  
  9811.            The cell contents appear at the top of each cell (the
  9812.  
  9813.            default). 
  9814.  
  9815.  
  9816.  
  9817.        valign=middle 
  9818.  
  9819.            Cell contents are centered vertically in each cell. 
  9820.  
  9821.  
  9822.  
  9823.        valign=bottom 
  9824.  
  9825.            The cell contents appear at the bottom of each cell. 
  9826.  
  9827.  
  9828.  
  9829.        valign=baseline 
  9830.  
  9831.            This is used when you want to ensure that all cells in the
  9832.  
  9833.            row share the same baseline. This constraint only applies to
  9834.  
  9835.            the first text line for each cell. 
  9836.  
  9837.  
  9838.  
  9839.    NOWRAP 
  9840.  
  9841.        The NOWRAP attribute is used when you don't want the browser to
  9842.  
  9843.        automatically wrap lines. You can then explicitly specify line
  9844.  
  9845.        breaks in paragrphs using the BR element. 
  9846.  
  9847.  
  9848.  
  9849.  
  9850.  
  9851.  
  9852.  
  9853.  
  9854.  
  9855.  
  9856.  
  9857.  
  9858.  
  9859.  
  9860.  
  9861.  
  9862.  
  9863.  
  9864.  
  9865.  
  9866.  
  9867.  
  9868.  
  9869.  
  9870.  
  9871.  
  9872.  
  9873.  
  9874.  
  9875.  
  9876.  
  9877.  
  9878.  
  9879.  
  9880.  
  9881.  
  9882.  
  9883.  
  9884.  
  9885.  
  9886.  
  9887.  
  9888.  
  9889.  
  9890.  
  9891.  
  9892.  
  9893.  
  9894.  
  9895.  
  9896.  
  9897.  
  9898.  
  9899.  
  9900.  
  9901.  
  9902.  
  9903.  
  9904.  
  9905.  
  9906.  
  9907.  
  9908.  
  9909.  
  9910.  
  9911.  
  9912.  
  9913.  
  9914.  
  9915.  
  9916.  
  9917. Dave Raggett                                                           Page 87
  9918.  
  9919. HTML 3.0                                                       28th March 1995
  9920.  
  9921.  
  9922.  
  9923. Table Cells (TH and TD)
  9924.  
  9925.  
  9926.  
  9927.    Permitted Context: TR
  9928.  
  9929.    Content Model: %body.content 
  9930.  
  9931.  
  9932.  
  9933.    The TH and TD elements are used for table cells. TH is used for
  9934.  
  9935.    table header cells while TD is used for table data cells. This
  9936.  
  9937.    distinction gives user agents a means to render such cells
  9938.  
  9939.    distinctly, for instance by using a larger or heavier font for
  9940.  
  9941.    header cells. It is also needed when rendering to speech. The CLASS
  9942.  
  9943.    attribute can be used to further differentiate cells, for instance
  9944.  
  9945.    into heads and subheads. This can be used together with style sheets
  9946.  
  9947.    to control the cell border style, and fill color etc. 
  9948.  
  9949.  
  9950.  
  9951.    The horizontal and vertical alignment of cell contents are
  9952.  
  9953.    determined by the ALIGN and VALIGN attributes respectively. In their
  9954.  
  9955.    absence, the alignment will be inherited from the TR element for the
  9956.  
  9957.    row. The COLSPEC attribute of the enclosing TABLE element provides a
  9958.  
  9959.    convenient way of specifying the default horizontal alignment for
  9960.  
  9961.    columns. 
  9962.  
  9963.  
  9964.  
  9965.    The AXIS and AXES attributes can be used when rendering to speech to
  9966.  
  9967.    provide abbreviated names for each cell's headers. Another
  9968.  
  9969.    application is when you want to be able to later process table
  9970.  
  9971.    contents to enter them into a database. Theses attributes are then
  9972.  
  9973.    used to give database field names. The table's class attribute
  9974.  
  9975.    should be used to let the software recognise which tables can be
  9976.  
  9977.    treated in this way. 
  9978.  
  9979.  
  9980.  
  9981.    Note: Disabling word wrap and using the <BR> element in order to
  9982.  
  9983.    control cell widths is discouraged in favor of using the table
  9984.  
  9985.    COLSPEC and WIDTH attributes. 
  9986.  
  9987.  
  9988.  
  9989. Permitted Attributes for the TH/TD Element
  9990.  
  9991.  
  9992.  
  9993.    ID 
  9994.  
  9995.        An SGML identifier used as the target for hypertext links or for
  9996.  
  9997.        naming particular elements in associated style sheets.
  9998.  
  9999.        Identifiers are NAME tokens and must be unique within the scope
  10000.  
  10001.        of the current document. 
  10002.  
  10003.  
  10004.  
  10005.    LANG 
  10006.  
  10007.        This is one of the ISO standard language abbreviations, e.g.
  10008.  
  10009.        "en.uk" for the variation of English spoken in the United
  10010.  
  10011.        Kingdom. It can be used by parsers to select language specific
  10012.  
  10013.        choices for quotation marks, ligatures and hypenation rules etc.
  10014.  
  10015.        The language attribute is composed from the two letter language
  10016.  
  10017.        code from ISO 639, optionally followed by a period and a two
  10018.  
  10019.        letter country code from ISO 3166. 
  10020.  
  10021.  
  10022.  
  10023.    CLASS 
  10024.  
  10025.        This a space separated list of SGML NAME tokens and is used to
  10026.  
  10027.        subclass tag names. By convention, the class names are
  10028.  
  10029.  
  10030.  
  10031. Dave Raggett                                                           Page 88
  10032.  
  10033. HTML 3.0                                                       28th March 1995
  10034.  
  10035.  
  10036.  
  10037.        interpreted hierarchically, with the most general class on the
  10038.  
  10039.        left and the most specific on the right, where classes are
  10040.  
  10041.        separated by a period. The CLASS attribute is most commonly used
  10042.  
  10043.        to attach a different style to some element, but it is
  10044.  
  10045.        recommended that where practical class names should be picked on
  10046.  
  10047.        the basis of the element's semantics, as this will permit other
  10048.  
  10049.        uses, such as restricting search through documents by matching
  10050.  
  10051.        on element class names. The conventions for choosing class names
  10052.  
  10053.        are outside the scope of this specification. 
  10054.  
  10055.  
  10056.  
  10057.    COLSPAN 
  10058.  
  10059.        The number of columns spanned by this cell. This allows you to
  10060.  
  10061.        merge cells across columns. It defaults to 1 (one). 
  10062.  
  10063.  
  10064.  
  10065.    ROWSPAN 
  10066.  
  10067.        The number of rows spanned by this cell. This allows you to
  10068.  
  10069.        merge cells across rows. It defaults to 1 (one). 
  10070.  
  10071.  
  10072.  
  10073.    ALIGN 
  10074.  
  10075.        The ALIGN attribute can be used to explicitly specify the
  10076.  
  10077.        horizontal alignment of paragraphs within a table row:
  10078.  
  10079.        
  10080.  
  10081.        
  10082.  
  10083.  
  10084.  
  10085.        align=left 
  10086.  
  10087.            Paragraphs are rendered flush left. This is the default for
  10088.  
  10089.            data cells (TD). 
  10090.  
  10091.  
  10092.  
  10093.        align=center 
  10094.  
  10095.            Paragraphs are centered. This is the default for header
  10096.  
  10097.            cells (TH). 
  10098.  
  10099.  
  10100.  
  10101.        align=right 
  10102.  
  10103.            Paragraphs are rendered flush right. 
  10104.  
  10105.  
  10106.  
  10107.        align=justify 
  10108.  
  10109.            Text lines are justified where practical, otherwise this
  10110.  
  10111.            gives the same effect as the align=left setting. 
  10112.  
  10113.  
  10114.  
  10115.        align=decimal 
  10116.  
  10117.            Text lines are indented such that the first occurrence of a
  10118.  
  10119.            decimal point on each line are aligned vertically. If a line
  10120.  
  10121.            doesn't contain a decimal point, the line is rendered flush
  10122.  
  10123.            left for data cells and centered for header cells. 
  10124.  
  10125.  
  10126.  
  10127.        Note: In the absence of the ALIGN attribute, the default is
  10128.  
  10129.        overridden by the presence of an ALIGN attribute on the parent
  10130.  
  10131.        TR element, or by the COLSPEC attribute on the TABLE element.
  10132.  
  10133.        The COLSPEC attribute takes precedence over the TR element
  10134.  
  10135.        though! 
  10136.  
  10137.  
  10138.  
  10139.    DP 
  10140.  
  10141.        This specifies the character to be used for the decimal point
  10142.  
  10143.  
  10144.  
  10145. Dave Raggett                                                           Page 89
  10146.  
  10147. HTML 3.0                                                       28th March 1995
  10148.  
  10149.  
  10150.  
  10151.        with the ALIGN attribute, e.g. dp="." (the default) or dp=",".
  10152.  
  10153.        The default may be altered by the language context, as set by
  10154.  
  10155.        the LANG attribute on enclosing elements. 
  10156.  
  10157.  
  10158.  
  10159.    VALIGN 
  10160.  
  10161.        The VALIGN attribute can be used to explicitly specify the
  10162.  
  10163.        vertical alignment of material within a table cell:
  10164.  
  10165.        
  10166.  
  10167.        
  10168.  
  10169.  
  10170.  
  10171.        valign=top 
  10172.  
  10173.            The cell contents appear at the top of each cell (the
  10174.  
  10175.            default). 
  10176.  
  10177.  
  10178.  
  10179.        valign=middle 
  10180.  
  10181.            Cell contents are centered vertically in each cell. 
  10182.  
  10183.  
  10184.  
  10185.        valign=bottom 
  10186.  
  10187.            The cell contents appear at the bottom of each cell. 
  10188.  
  10189.  
  10190.  
  10191.        valign=baseline 
  10192.  
  10193.            This is used when you want to ensure that all cells in the
  10194.  
  10195.            row with valign=baseline share the same baseline. This
  10196.  
  10197.            constraint only applies to the first text line for each
  10198.  
  10199.            cell. 
  10200.  
  10201.  
  10202.  
  10203.        Note: In the absence of the VALIGN attribute, the default can be
  10204.  
  10205.        overridden by the presence of a VALIGN attribute on the parent
  10206.  
  10207.        TR element. 
  10208.  
  10209.  
  10210.  
  10211.    NOWRAP 
  10212.  
  10213.        The NOWRAP attribute is used when you don't want the browser to
  10214.  
  10215.        automatically wrap lines. You can then explicitly specify line
  10216.  
  10217.        breaks in paragraphs using the BR element. 
  10218.  
  10219.  
  10220.  
  10221.    AXIS 
  10222.  
  10223.        This defines an abbreviated name for a header cell, which can be
  10224.  
  10225.        used when rendering to speech. It defaults to the cell's
  10226.  
  10227.        content. 
  10228.  
  10229.  
  10230.  
  10231.    AXES 
  10232.  
  10233.        This is a comma separated list of axis names which together
  10234.  
  10235.        identify the row and column headers that pertain to this cell.
  10236.  
  10237.        It is used when rendering to speech to identify the cell's
  10238.  
  10239.        position in the table. If missing the user agent can try to
  10240.  
  10241.        follow up columns and left along rows (right for some languages)
  10242.  
  10243.        to find the corresponding header cells. 
  10244.  
  10245.  
  10246.  
  10247.        Note: a subheader cell may include both attributes - using AXIS
  10248.  
  10249.        to name itself and AXES to name the parent header cell. When
  10250.  
  10251.        data cells refer to header cells with both attributes, the
  10252.  
  10253.        parent header cells are found by following back the head-subhead
  10254.  
  10255.        relationships. 
  10256.  
  10257.  
  10258.  
  10259. Dave Raggett                                                           Page 90
  10260.  
  10261. HTML 3.0                                                       28th March 1995
  10262.  
  10263.  
  10264.  
  10265.  
  10266.  
  10267.  
  10268.  
  10269.  
  10270.  
  10271.  
  10272.  
  10273.  
  10274.  
  10275.  
  10276.  
  10277.  
  10278.  
  10279.  
  10280.  
  10281.  
  10282.  
  10283.  
  10284.  
  10285.  
  10286.  
  10287.  
  10288.  
  10289.  
  10290.  
  10291.  
  10292.  
  10293.  
  10294.  
  10295.  
  10296.  
  10297.  
  10298.  
  10299.  
  10300.  
  10301.  
  10302.  
  10303.  
  10304.  
  10305.  
  10306.  
  10307.  
  10308.  
  10309.  
  10310.  
  10311.  
  10312.  
  10313.  
  10314.  
  10315.  
  10316.  
  10317.  
  10318.  
  10319.  
  10320.  
  10321.  
  10322.  
  10323.  
  10324.  
  10325.  
  10326.  
  10327.  
  10328.  
  10329.  
  10330.  
  10331.  
  10332.  
  10333.  
  10334.  
  10335.  
  10336.  
  10337.  
  10338.  
  10339.  
  10340.  
  10341.  
  10342.  
  10343.  
  10344.  
  10345.  
  10346.  
  10347.  
  10348.  
  10349.  
  10350.  
  10351.  
  10352.  
  10353.  
  10354.  
  10355.  
  10356.  
  10357.  
  10358.  
  10359.  
  10360.  
  10361.  
  10362.  
  10363.  
  10364.  
  10365.  
  10366.  
  10367.  
  10368.  
  10369.  
  10370.  
  10371.  
  10372.  
  10373. Dave Raggett                                                           Page 91
  10374.  
  10375. HTML 3.0                                                       28th March 1995
  10376.  
  10377.  
  10378.  
  10379. HTML Math
  10380.  
  10381.  
  10382.  
  10383.    Permitted Context: %text
  10384.  
  10385.    Content Model: %math 
  10386.  
  10387.  
  10388.  
  10389.    The <MATH> element is used to include math expressions in the
  10390.  
  10391.    current line. HTML math is powerful enough to describe the range of
  10392.  
  10393.    math expressions you can create in common word processing packages,
  10394.  
  10395.    as well as being suitable for rendering to speech. When rendering to
  10396.  
  10397.    fixed pitch text-only media, simple text graphics can be used for
  10398.  
  10399.    math symbols such as the integration sign, while other symbols can
  10400.  
  10401.    be rendered using their entity names. The SGML SHORTREF capability
  10402.  
  10403.    is used to provide abbreviations for hidden brackets, subscripts and
  10404.  
  10405.    superscripts. 
  10406.  
  10407.  
  10408.  
  10409.    The design of HTML math owes a lot to LaTeX's math mode, which has
  10410.  
  10411.    been found to be effective for a wide variety of mathematical
  10412.  
  10413.    typesetting. Where practical, HTML math uses tag names matching
  10414.  
  10415.    LaTeX commands, e.g. ATOP, CHOOSE and SQRT act in the same way as
  10416.  
  10417.    their LaTeX namesakes. Of course, SGML and LaTeX have quite
  10418.  
  10419.    different syntactical conventions. As a result, HTML math uses the
  10420.  
  10421.    ISO entity names for symbols rather than the TeX names. In LaTeX,
  10422.  
  10423.    the character command ^ sets the next character as an exponent,
  10424.  
  10425.    while the character command _ sets it as an index. If the exponent
  10426.  
  10427.    or index contains more than one character then the group of
  10428.  
  10429.    characters must be enclosed in curly brackets { }. This syntax is
  10430.  
  10431.    inappropriate for SGML, so HTML math instead treats _ and ^ as
  10432.  
  10433.    shortref characters for the SUB and SUP elements which are used for
  10434.  
  10435.    indices and exponents, respectively. 
  10436.  
  10437.  
  10438.  
  10439.    --I can't find the ISO entity names for the _ and ^ chararacters!-- 
  10440.  
  10441.  
  10442.  
  10443.    HTML math has been designed to be both concise and comparatively
  10444.  
  10445.    easy to read. In practice, formulae will be a little longer than in
  10446.  
  10447.    LaTeX, but much shorter than with other math proposals for SGML, for
  10448.  
  10449.    instance EuroMath or ISO 12083. This simplification has been
  10450.  
  10451.    achieved through the power of the BOX element, which replaces many
  10452.  
  10453.    elements in other proposals, as well as the simple conventions for
  10454.  
  10455.    binding the SUB and SUP elements and their use as generic raising
  10456.  
  10457.    and lowering operators. HTML math differentiates terms e.g. binary
  10458.  
  10459.    operators, variables, constants, integral signs, delimiters and so
  10460.  
  10461.    on. This simplifies rendering and reflects the assumptions adopted
  10462.  
  10463.    by LaTeX. It further allows the same raising and lowering operators
  10464.  
  10465.    to be used for many different roles according to the term they apply
  10466.  
  10467.    to. HTML math doesn't provide direct support for multi-line
  10468.  
  10469.    equations, as this can be effectively handled by combining math with
  10470.  
  10471.    the TABLE element. 
  10472.  
  10473.  
  10474.  
  10475.    Example - the integral from a to b of f(x) over 1+x 
  10476.  
  10477.  
  10478.  
  10479.        <MATH>∫_a_^b^{f(x)<over>1+x} dx</MATH>
  10480.  
  10481.  
  10482.  
  10483.    which can be rendered on a fixed pitch text-only medium as: 
  10484.  
  10485.  
  10486.  
  10487. Dave Raggett                                                           Page 92
  10488.  
  10489. HTML 3.0                                                       28th March 1995
  10490.  
  10491.  
  10492.  
  10493.  
  10494.  
  10495.             b
  10496.  
  10497.             /   f(x)
  10498.  
  10499.             | ------- dx
  10500.  
  10501.             /  1 + x
  10502.  
  10503.             a
  10504.  
  10505.  
  10506.  
  10507.    The example uses { and } as shortrefs for <BOX> and </BOX>
  10508.  
  10509.    respectively. This is used for invisible brackets, stretchy
  10510.  
  10511.    delimiters and integral signs, and placing one thing over another.
  10512.  
  10513.    The shortref characters "_" and "^" are used for subscripts and
  10514.  
  10515.    superscripts respectively. 
  10516.  
  10517.  
  10518.  
  10519.    HTML math follows general practice in mathematical typesetting by
  10520.  
  10521.    rendering functions, numbers and other constants in an upright font,
  10522.  
  10523.    while variables are rendered in an italic font. You can set
  10524.  
  10525.    particular terms in a bold face, and for chemical formulae, you can
  10526.  
  10527.    force the use of an upright font. Limits for symbols like the
  10528.  
  10529.    integral and summation signs are placed directly above (below) the
  10530.  
  10531.    symbol or to the immediate right depending on the symbol. 
  10532.  
  10533.  
  10534.  
  10535.    Spacing between constants, variables and operators is determined
  10536.  
  10537.    automatically. Additional spacing can be inserted with entities such
  10538.  
  10539.    as   &sp; and &quadsp;. White space in the markup is used
  10540.  
  10541.    only to delimit adjacent variables or constants. You don't need
  10542.  
  10543.    spaces before or after binary operators or other special symbols, as
  10544.  
  10545.    these are recognised by the HTML math tokeniser. White space can be
  10546.  
  10547.    useful, though, for increased legibility while authoring.
  10548.  
  10549.    --I need to check on the ISO entity names for spacing!-- 
  10550.  
  10551.  
  10552.  
  10553. Math Markup
  10554.  
  10555.  
  10556.  
  10557.    The following elements are permitted within MATH elements: 
  10558.  
  10559.  
  10560.  
  10561.    BOX 
  10562.  
  10563.        Used for hidden brackets, stretchy delimiters, and placing one
  10564.  
  10565.        expression over another (e.g. numerators and denominators). 
  10566.  
  10567.  
  10568.  
  10569.    SUB, SUP 
  10570.  
  10571.        Subscripts and superscripts. Also used for limits. 
  10572.  
  10573.  
  10574.  
  10575.    ABOVE 
  10576.  
  10577.        Used to draw an arrow, line or symbol above an expression. 
  10578.  
  10579.  
  10580.  
  10581.    BELOW 
  10582.  
  10583.        Used to draw an arrow, line or symbol below an expression. 
  10584.  
  10585.  
  10586.  
  10587.    VEC, BAR, DOT, DDOT, HAT, TILDE 
  10588.  
  10589.        These are convenience tags for common accents as an alternative
  10590.  
  10591.        to using ABOVE. 
  10592.  
  10593.  
  10594.  
  10595.    SQRT, ROOT 
  10596.  
  10597.        For square roots and other roots of an expression. 
  10598.  
  10599.  
  10600.  
  10601. Dave Raggett                                                           Page 93
  10602.  
  10603. HTML 3.0                                                       28th March 1995
  10604.  
  10605.  
  10606.  
  10607.  
  10608.  
  10609.    ARRAY 
  10610.  
  10611.        For matrices and other kinds of arrays. 
  10612.  
  10613.  
  10614.  
  10615.    TEXT 
  10616.  
  10617.        Used to include a short piece of text within a math element, and
  10618.  
  10619.        often combined with SUB or SUP elements. 
  10620.  
  10621.  
  10622.  
  10623.    B, T, BT 
  10624.  
  10625.        These elements are used override the default rendering. B
  10626.  
  10627.        renders the enclosed expression in an bold face. T designates a
  10628.  
  10629.        term to be rendered in an upright font, while BT designates a
  10630.  
  10631.        term to be rendered in a bold upright font. The class attribute
  10632.  
  10633.        can be used to describe the kind of term, e.g. vector, tensor,
  10634.  
  10635.        or matrix. 
  10636.  
  10637.  
  10638.  
  10639. HTML Math Entities
  10640.  
  10641.  
  10642.  
  10643.    *   Functions 
  10644.  
  10645.  
  10646.  
  10647.    *   Operators 
  10648.  
  10649.  
  10650.  
  10651.    *   Continuation dots 
  10652.  
  10653.  
  10654.  
  10655.    *   Greek letters 
  10656.  
  10657.  
  10658.  
  10659.    *   Relations 
  10660.  
  10661.  
  10662.  
  10663.    *   Accents, arrows and pointers 
  10664.  
  10665.  
  10666.  
  10667.    *   Delimiters 
  10668.  
  10669.  
  10670.  
  10671.    *   Other symbols. 
  10672.  
  10673.  
  10674.  
  10675.    *   Spacing entities. 
  10676.  
  10677.  
  10678.  
  10679. Rendering HTML Math
  10680.  
  10681.  
  10682.  
  10683.    The expression is rendered in three steps: 
  10684.  
  10685.  
  10686.  
  10687.    1.  The first step recursively parses expressions building up a
  10688.  
  10689.        matching hierarchy of data structures (with bounding boxes)
  10690.  
  10691.        corresponding to sequences of nested expressions. The math
  10692.  
  10693.        tokeniser needs to be able to distinguish constants, variables,
  10694.  
  10695.        functions, operators, delimiters, and special symbols such as
  10696.  
  10697.        integrals, which can take limits and may be stretchy. 
  10698.  
  10699.  
  10700.  
  10701.    2.  The next step sets the size of the innermost expressions based
  10702.  
  10703.        on the size of available fonts. If possible subscript and
  10704.  
  10705.        superscript expressions should be set in a smaller font. The
  10706.  
  10707.        size and relative positioning of neighboring and enclosing
  10708.  
  10709.        expressions is then propagated up the hierarchy from the
  10710.  
  10711.        innermost outwards, as the procedure stack formed in step (1)
  10712.  
  10713.  
  10714.  
  10715. Dave Raggett                                                           Page 94
  10716.  
  10717. HTML 3.0                                                       28th March 1995
  10718.  
  10719.  
  10720.  
  10721.        unwinds. 
  10722.  
  10723.  
  10724.  
  10725.    3.  The final step is to render the hierarchy of expressions to the
  10726.  
  10727.        output medium. This is now straight forward as all the
  10728.  
  10729.        positioning and sizes of special symbols and text strings are
  10730.  
  10731.        now fixed. 
  10732.  
  10733.  
  10734.  
  10735.    Note: In practice, only a limited range of font sizes are suitable,
  10736.  
  10737.    as a result, deeply nested expressions like continued fractions
  10738.  
  10739.    can't use ever smaller fonts. This is simply handled by a parameter
  10740.  
  10741.    to the --ParseExpression-- routine that sets the font size to be
  10742.  
  10743.    used for that expression. ParseExpression is called recursively for
  10744.  
  10745.    nested expressions and uses the next smaller font until it bottoms
  10746.  
  10747.    out with the smallest font available. The size parameter corresponds
  10748.  
  10749.    to an enumeration of the available font sizes. 
  10750.  
  10751.  
  10752.  
  10753. Permitted Attributes
  10754.  
  10755.  
  10756.  
  10757.    ID 
  10758.  
  10759.        An SGML identifier used as the target for hypertext links or for
  10760.  
  10761.        naming particular elements in associated style sheets.
  10762.  
  10763.        Identifiers are NAME tokens and must be unique within the scope
  10764.  
  10765.        of the current document. 
  10766.  
  10767.  
  10768.  
  10769.    CLASS 
  10770.  
  10771.        This a space separated list of SGML NAME tokens and is used to
  10772.  
  10773.        subclass tag names. By convention, the class names are
  10774.  
  10775.        interpreted hierarchically, with the most general class on the
  10776.  
  10777.        left and the most specific on the right, where classes are
  10778.  
  10779.        separated by a period. 
  10780.  
  10781.  
  10782.  
  10783.        For the MATH element, CLASS can be used to describe the kind of
  10784.  
  10785.        math expression involved. This can be used to alter the way
  10786.  
  10787.        formulae are rendered, and to support exporting the expression
  10788.  
  10789.        to symbolic math software. The class "chem" is useful for
  10790.  
  10791.        chemical formulae which use an upright font for variables rather
  10792.  
  10793.        than the default italic font. For example: 
  10794.  
  10795.  
  10796.  
  10797.            <math class=chem> Fe_2_^2+^Cr_2_O_4_</math>
  10798.  
  10799.  
  10800.  
  10801.                                2+
  10802.  
  10803.        which is rendered as  Fe  Cr  O
  10804.  
  10805.                                2   2  4
  10806.  
  10807.  
  10808.  
  10809.        Otherwise, the conventions for choosing class names are outside
  10810.  
  10811.        the scope of this specification. 
  10812.  
  10813.  
  10814.  
  10815.    BOX 
  10816.  
  10817.        The presence of this attribute causes the user agent to draw a
  10818.  
  10819.        rectangular box around the formulae. 
  10820.  
  10821.  
  10822.  
  10823.  
  10824.  
  10825.  
  10826.  
  10827.  
  10828.  
  10829. Dave Raggett                                                           Page 95
  10830.  
  10831. HTML 3.0                                                       28th March 1995
  10832.  
  10833.  
  10834.  
  10835. The BOX element
  10836.  
  10837.  
  10838.  
  10839.    Permitted Context: %math
  10840.  
  10841.    Content Model: %math?, LEFT?, expression, RIGHT?, %math?
  10842.  
  10843.    where expression is %math or %math --tag-- %math, see below. 
  10844.  
  10845.  
  10846.  
  10847.    The BOX element is used for a variety of purposes: 
  10848.  
  10849.  
  10850.  
  10851.    *   As invisible brackets for disambiguating expressions. 
  10852.  
  10853.  
  10854.  
  10855.    *   For placing numerators over denominators, with or without
  10856.  
  10857.        dividing lines, corresponding to LaTeX's --frac, atop-- and
  10858.  
  10859.        --choose-- commands. 
  10860.  
  10861.  
  10862.  
  10863.    *   For placing delimiters before, and/or after an expression, which
  10864.  
  10865.        grow to match the height of the expression. This corresponds to
  10866.  
  10867.        LaTeX's --left-- and --right-- commands. 
  10868.  
  10869.  
  10870.  
  10871.    *   For stretchy integral and related signs that grow to match the
  10872.  
  10873.        height of the integrand. This goes beyond LaTeX and avoids the
  10874.  
  10875.        need for different symbols for different sizes of integral signs
  10876.  
  10877.        etc. 
  10878.  
  10879.  
  10880.  
  10881.    The SHORTREF characters { and } are used as abbreviations for the
  10882.  
  10883.    start and end tags for BOX elements. Use the SGML entities {
  10884.  
  10885.    and } respectively when you need to use these characters
  10886.  
  10887.    literally. 
  10888.  
  10889.  
  10890.  
  10891.    Short fractions, are best represented using the slash character / as
  10892.  
  10893.    in <math>(n + m)/2</math> for (n + m)/2. For more complicated
  10894.  
  10895.    fractions you can use the BOX element with the OVER tag, as in: 
  10896.  
  10897.  
  10898.  
  10899.             1
  10900.  
  10901.           -----          {1<over>x + y}
  10902.  
  10903.           x + y
  10904.  
  10905.    
  10906.  
  10907.           x - y
  10908.  
  10909.         ---------        {x - y<over>1 + {a - b<over>a + b}}
  10910.  
  10911.             a - b
  10912.  
  10913.         1 + -----
  10914.  
  10915.             a + b
  10916.  
  10917.    
  10918.  
  10919.  
  10920.  
  10921.    Use the ATOP tag when you want to place one thing above another, but
  10922.  
  10923.    without the dividing line. With the CHOOSE tag, the expressions are
  10924.  
  10925.    also enclosed within round brackets, for instance: 
  10926.  
  10927.  
  10928.  
  10929.           a - b
  10930.  
  10931.                                      {a - b<atop>a + b}
  10932.  
  10933.           a + b
  10934.  
  10935.           
  10936.  
  10937.    
  10938.  
  10939.      (n + 1)   ( n )   (  n  )       {n+1<choose>k}
  10940.  
  10941.  
  10942.  
  10943. Dave Raggett                                                           Page 96
  10944.  
  10945. HTML 3.0                                                       28th March 1995
  10946.  
  10947.  
  10948.  
  10949.      (     ) = (   ) + (     )          = {n<choose>k}
  10950.  
  10951.      (  k  )   ( k )   (k - 1)             + {n<choose>k-1}
  10952.  
  10953.    
  10954.  
  10955.  
  10956.  
  10957.    The BOX element can be used with the LEFT and RIGHT tags for
  10958.  
  10959.    delimiters that stretch to match the size of the enclosed
  10960.  
  10961.    expression. You are free to give only one or both of the delimiters,
  10962.  
  10963.    and you can use different symbols for the left and right. Left
  10964.  
  10965.    delimiters should be given before the LEFT tag, while right
  10966.  
  10967.    delimiters should be given following the RIGHT tag, for instance: 
  10968.  
  10969.  
  10970.  
  10971.                  ( 1 + x )       f(x) = {(<left>
  10972.  
  10973.           f(x) = ( ----- )                 1+x<over> sin x
  10974.  
  10975.                  ( sin x )                  <right>)}
  10976.  
  10977.  
  10978.  
  10979.    For curly brackets you will need to use the { and }
  10980.  
  10981.    entities for { and } respectively. The SIZE attribute can be used to
  10982.  
  10983.    get oversized delimiters, for instance: 
  10984.  
  10985.  
  10986.  
  10987.             2 |          |
  10988.  
  10989.        omega  |          |        {ω^2^<over>c^2^}
  10990.  
  10991.        -----  |<j| mu |i>|         <box size=huge> | <left>
  10992.  
  10993.           2   |      z   |              <j | μ_z_ | i>
  10994.  
  10995.          c    |          |           <right> | </box>
  10996.  
  10997.  
  10998.  
  10999.    The full tag name for the BOX element is needed above in order to
  11000.  
  11001.    specify a value for the SIZE attribute. The BOX element is also
  11002.  
  11003.    useful for stretching integral signs to match the height of the
  11004.  
  11005.    integrand. The integral and its limits appear in the position of the
  11006.  
  11007.    left delimiter for the BOX element. You can also include multiple
  11008.  
  11009.    integrals, for instance: 
  11010.  
  11011.  
  11012.  
  11013.       inf inf
  11014.  
  11015.        /   /  f(x, y)           {∫_0_^&inf;^ ∫_0_^&inf;^<left>
  11016.  
  11017.        |   | --------- dx dy        f(x,y)<over>x^2^ + y^2^} dx dy
  11018.  
  11019.        |   |   2     2
  11020.  
  11021.        /   /  x  +  y
  11022.  
  11023.        0   0
  11024.  
  11025.  
  11026.  
  11027. Permitted Attributes for the BOX element
  11028.  
  11029.  
  11030.  
  11031.    SIZE 
  11032.  
  11033.        This used to obtain oversized delimiters. The permitted values
  11034.  
  11035.        are --normal-- (the default), --medium--, --large-- and
  11036.  
  11037.        --huge--. 
  11038.  
  11039.  
  11040.  
  11041.    Note: there are no attributes for the LEFT, RIGHT, OVER, ATOP and
  11042.  
  11043.    CHOOSE tags.  
  11044.  
  11045.  
  11046.  
  11047.  
  11048.  
  11049.  
  11050.  
  11051.  
  11052.  
  11053.  
  11054.  
  11055.  
  11056.  
  11057. Dave Raggett                                                           Page 97
  11058.  
  11059. HTML 3.0                                                       28th March 1995
  11060.  
  11061.  
  11062.  
  11063. SUB and SUP
  11064.  
  11065.  
  11066.  
  11067.    Permitted Context: %math
  11068.  
  11069.    Content Model: %math 
  11070.  
  11071.  
  11072.  
  11073.    The SUB and SUP elements are used for subscripts and superscripts
  11074.  
  11075.    respectively, and are preferably rendered in reduced font. For
  11076.  
  11077.    integral and related signs the SUB and SUP elements are used for the
  11078.  
  11079.    lower and upper limits, for instance: 
  11080.  
  11081.  
  11082.  
  11083.       ∑<sub>n = 0</sub><sup>&inf;</sup>
  11084.  
  11085.  
  11086.  
  11087.    which renders to (within limits of ascii art): 
  11088.  
  11089.  
  11090.  
  11091.      infinity
  11092.  
  11093.        ---
  11094.  
  11095.        \
  11096.  
  11097.        /
  11098.  
  11099.        ---
  11100.  
  11101.       n = 0
  11102.  
  11103.  
  11104.  
  11105.    The SGML SHORTREF characters "_" and "^" can be used as
  11106.  
  11107.    abbreviations. The above example is abbreviated to: 
  11108.  
  11109.  
  11110.  
  11111.        ∑_n = 0_^&inf;^
  11112.  
  11113.  
  11114.  
  11115.    --Need to give entity names for when you need the _ and ^
  11116.  
  11117.    characters!-- 
  11118.  
  11119.  
  11120.  
  11121.    You have to revert to the full form of the tags when superscripting
  11122.  
  11123.    a superscript or subscripting a subscript, as in: 
  11124.  
  11125.  
  11126.  
  11127.        X<sub>a<sub>i</sub></sub>  which is  X    
  11128.  
  11129.                                              a   
  11130.  
  11131.                                               i                     
  11132.  
  11133.    
  11134.  
  11135.  
  11136.  
  11137.    You can also use superscripts to place expressions or words over
  11138.  
  11139.    binary operators, for instance in the following chemical reaction: 
  11140.  
  11141.  
  11142.  
  11143.        4LiH + AlCl_3_ →^ether^ LiAlH_4_ + 3LiCl
  11144.  
  11145.  
  11146.  
  11147.    which renders as: 
  11148.  
  11149.  
  11150.  
  11151.                       ether
  11152.  
  11153.         4LiH + AlCl  ------>  LiAlH  +  3LiCl
  11154.  
  11155.             3                      4
  11156.  
  11157.  
  11158.  
  11159.    The superscript is centered over the operator, and when feasible the
  11160.  
  11161.    operator stretched to match the width of the superscript. 
  11162.  
  11163.  
  11164.  
  11165.    Note: Dont' use the shortrefs for SUB and SUP in normal text - they
  11166.  
  11167.    only work within MATH elements! 
  11168.  
  11169.  
  11170.  
  11171. Dave Raggett                                                           Page 98
  11172.  
  11173. HTML 3.0                                                       28th March 1995
  11174.  
  11175.  
  11176.  
  11177.  
  11178.  
  11179. Placement of subscripts and superscripts
  11180.  
  11181.  
  11182.  
  11183.    Some times you will want to place superscripts to the left of a
  11184.  
  11185.    term. The simplest way to do this is with shortrefs, e.g. 
  11186.  
  11187.  
  11188.  
  11189.        _4_^9^Be + _2^4^He → _6_^12^C + _0_^1^n
  11190.  
  11191.  
  11192.  
  11193.    which renders to (within limits of ascii art): 
  11194.  
  11195.  
  11196.  
  11197.         9      4        12    1
  11198.  
  11199.          Be +   He  -->   C +  n
  11200.  
  11201.         4      2         6    0
  11202.  
  11203.  
  11204.  
  11205.    Subscripts and superscripts immediately before a term are rendered
  11206.  
  11207.    to the left of the term, where as subscripts and superscripts
  11208.  
  11209.    immediately after a term are rendered on its right. Opportunities
  11210.  
  11211.    for confusion arise when scripts for a preceding term are followed
  11212.  
  11213.    by scripts for another term. The simplest solution is to use
  11214.  
  11215.    whitespace to disambiguate the situation. For instance: 
  11216.  
  11217.  
  11218.  
  11219.                          b                           b
  11220.  
  11221.        X_a_ ^b^Y  is  X   Y   while  X_a_^b^Y   is  X   Y
  11222.  
  11223.                        a                             a
  11224.  
  11225.                                               a  b
  11226.  
  11227.        but both X^a^ ^b^Y and X^a^^b^Y  are  X    Y   
  11228.  
  11229.    
  11230.  
  11231.  
  11232.  
  11233.    The last case is disambiguated because the two superscript elements
  11234.  
  11235.    can't both apply to the preceding term, as they can't both be drawn
  11236.  
  11237.    in the same position. The same would apply to two subscript
  11238.  
  11239.    elements. If in any doubt, its wise to insert a space to make your
  11240.  
  11241.    meaning clear! If you prefer, you can use curly brackets, as in:
  11242.  
  11243.    {X_a_}{^b^Y}. These brackets are shortrefs for the BOX element and
  11244.  
  11245.    don't appear when the expression is finally rendered. 
  11246.  
  11247.  
  11248.  
  11249.    The same rules apply when you use the full form of the SUB and SUP
  11250.  
  11251.    elements. The ALIGN attribute can be used to override the default
  11252.  
  11253.    position to render the script, which is normally taken from whether
  11254.  
  11255.    the script element precedes or follows the term to which it applies.
  11256.  
  11257.    For instance: 
  11258.  
  11259.  
  11260.  
  11261.        X<sub align=right>a</sub> <sup align=left>b</sup>Y
  11262.  
  11263.        X<sub align=right>a</sub>Y<sup align=left>b</sup>
  11264.  
  11265.        
  11266.  
  11267.                              b
  11268.  
  11269.        both render to    X    Y
  11270.  
  11271.                           a
  11272.  
  11273.    
  11274.  
  11275.        while  X<sub align=right>a</sub><sup align=left>b</sup>Y
  11276.  
  11277.    
  11278.  
  11279.                        b
  11280.  
  11281.        renders to       X   Y
  11282.  
  11283.  
  11284.  
  11285. Dave Raggett                                                           Page 99
  11286.  
  11287. HTML 3.0                                                       28th March 1995
  11288.  
  11289.  
  11290.  
  11291.                          a
  11292.  
  11293.    
  11294.  
  11295.  
  11296.  
  11297.    In the last case, the SUP element act as a prefix superscript to X
  11298.  
  11299.    as there isn't a delimiter between it and the preceding SUB element.
  11300.  
  11301.    If in doubt, you should use brackets or whitespace to disambiguate
  11302.  
  11303.    the binding. 
  11304.  
  11305.  
  11306.  
  11307. Permitted Attributes
  11308.  
  11309.  
  11310.  
  11311.    The ID, LANG and CLASS attributes for SUB and SUP are not used
  11312.  
  11313.    within MATH elements. 
  11314.  
  11315.  
  11316.  
  11317.    ALIGN 
  11318.  
  11319.        Subscripts and superscripts are normally placed to the right of
  11320.  
  11321.        the term to which they apply, while limits are normally placed
  11322.  
  11323.        above (or below) the symbol they apply to. The ALIGN attribute
  11324.  
  11325.        can be used to override the default positioning. 
  11326.  
  11327.        
  11328.  
  11329.        
  11330.  
  11331.  
  11332.  
  11333.        align=left 
  11334.  
  11335.            The script (or limit) is placed to the left of the term. 
  11336.  
  11337.  
  11338.  
  11339.        align=center 
  11340.  
  11341.            The script is centered on the term and placed below it for
  11342.  
  11343.            subscripts, and above it (for superscipts). 
  11344.  
  11345.  
  11346.  
  11347.        align=right 
  11348.  
  11349.            The scripts are placed to the right of the term. 
  11350.  
  11351.  
  11352.  
  11353.        For example, you can force limits on integral signs to appear on
  11354.  
  11355.        the right rather than centered on the integral sign: 
  11356.  
  11357.  
  11358.  
  11359.        ∫<sub align=right>0</sub><sup align=right>&inf;</sup>
  11360.  
  11361.  
  11362.  
  11363.        Note: The ALIGN attribute should be ignored by user agents for
  11364.  
  11365.        the SUB and SUP elements except within MATH elements. 
  11366.  
  11367.  
  11368.  
  11369.  
  11370.  
  11371.  
  11372.  
  11373.  
  11374.  
  11375.  
  11376.  
  11377.  
  11378.  
  11379.  
  11380.  
  11381.  
  11382.  
  11383.  
  11384.  
  11385.  
  11386.  
  11387.  
  11388.  
  11389.  
  11390.  
  11391.  
  11392.  
  11393.  
  11394.  
  11395.  
  11396.  
  11397.  
  11398.  
  11399. Dave Raggett                                                          Page 100
  11400.  
  11401. HTML 3.0                                                       28th March 1995
  11402.  
  11403.  
  11404.  
  11405. The ABOVE element
  11406.  
  11407.  
  11408.  
  11409.    Permitted Context: %math
  11410.  
  11411.    Content Model: %math 
  11412.  
  11413.  
  11414.  
  11415.    The <ABOVE> element is used to draw a line, arrow, curly bracket, or
  11416.  
  11417.    accent --above-- the expression enclosed by this element. Stretchy
  11418.  
  11419.    symbols should be stretched to match the width of the enclosed
  11420.  
  11421.    expression. For example: 
  11422.  
  11423.  
  11424.  
  11425.                                         _____
  11426.  
  11427.        <above>X + Y</above>    giving   X + Y
  11428.  
  11429.    
  11430.  
  11431.                                                   =====
  11432.  
  11433.        <above sym=equals>X + Y</above>   giving   X + Y
  11434.  
  11435.    
  11436.  
  11437.  
  11438.  
  11439.    You can also place an expression centered above the line or arrow
  11440.  
  11441.    with the SUP element or its shortref form, for example: 
  11442.  
  11443.  
  11444.  
  11445.    <above sym=cub>n(n - 1)(n - 2)&dots;(n - m + 1)</above>
  11446.  
  11447.    <sup><text>total of m factors</text></sup>
  11448.  
  11449.    
  11450.  
  11451.  
  11452.  
  11453.    which would be rendered as (within limits of ascii art): 
  11454.  
  11455.  
  11456.  
  11457.               total of m factors
  11458.  
  11459.        /---------------^-------------\
  11460.  
  11461.        n(n - 1)(n - 2) ... (n - m + 1)
  11462.  
  11463.  
  11464.  
  11465. Permitted Attributes
  11466.  
  11467.  
  11468.  
  11469.    SYM 
  11470.  
  11471.        An entity name for a symbol, e.g. --cub-- for a curly bracket
  11472.  
  11473.        (brace). Defaults to --line--. The other choices are: --larr--
  11474.  
  11475.        (left arrow), --rarr-- (right arrow), --hat-- and --tilde--. 
  11476.  
  11477.  
  11478.  
  11479.    Note: Don't include the & prefix, so <above sym="→"> is wrong!  
  11480.  
  11481.  
  11482.  
  11483.  
  11484.  
  11485.  
  11486.  
  11487.  
  11488.  
  11489.  
  11490.  
  11491.  
  11492.  
  11493.  
  11494.  
  11495.  
  11496.  
  11497.  
  11498.  
  11499.  
  11500.  
  11501.  
  11502.  
  11503.  
  11504.  
  11505.  
  11506.  
  11507.  
  11508.  
  11509.  
  11510.  
  11511.  
  11512.  
  11513. Dave Raggett                                                          Page 101
  11514.  
  11515. HTML 3.0                                                       28th March 1995
  11516.  
  11517.  
  11518.  
  11519. The BELOW element
  11520.  
  11521.  
  11522.  
  11523.    Permitted Context: %math
  11524.  
  11525.    Content Model: %math 
  11526.  
  11527.  
  11528.  
  11529.    The <BELOW> element is used to draw a line, arrow, or curly bracket
  11530.  
  11531.    --below-- the expression enclosed by this element. For example: 
  11532.  
  11533.  
  11534.  
  11535.    
  11536.  
  11537.        <below>X + Y</below>    giving   X + Y
  11538.  
  11539.                                         _____
  11540.  
  11541.    
  11542.  
  11543.        <below sym=rarr>X + Y</below>   giving   X + Y
  11544.  
  11545.                                                 ---->
  11546.  
  11547.    
  11548.  
  11549.  
  11550.  
  11551.    You can also place an expression centered below the line or arrow
  11552.  
  11553.    with the SUP element or its shortref form, for example: 
  11554.  
  11555.  
  11556.  
  11557.    <above sym=cub>n(n - 1)(n - 2)&dots;(n - m + 1)</above>
  11558.  
  11559.    <sup><text>total of m factors</text></sup>
  11560.  
  11561.    
  11562.  
  11563.  
  11564.  
  11565.    which would be rendered as (within limits of ascii art): 
  11566.  
  11567.  
  11568.  
  11569.        n(n - 1)(n - 2) ... (n - m + 1)
  11570.  
  11571.        \---------------v-------------/
  11572.  
  11573.               total of m factors
  11574.  
  11575.  
  11576.  
  11577.    --I can't find the ISO entity names for under/over curly brackets!-- 
  11578.  
  11579.  
  11580.  
  11581. Permitted Attributes
  11582.  
  11583.  
  11584.  
  11585.    SYM 
  11586.  
  11587.        An entity name for a stretchy symbol, e.g. --cub-- for a curly
  11588.  
  11589.        bracket (brace). Defaults to --line--. The other choices are:
  11590.  
  11591.        --larr-- (left arrow), --rarr-- (right arrow), --hat-- and
  11592.  
  11593.        --tilde--. 
  11594.  
  11595.  
  11596.  
  11597.    Note: Don't include the & prefix, so <below sym="→"> is wrong!  
  11598.  
  11599.  
  11600.  
  11601.  
  11602.  
  11603.  
  11604.  
  11605.  
  11606.  
  11607.  
  11608.  
  11609.  
  11610.  
  11611.  
  11612.  
  11613.  
  11614.  
  11615.  
  11616.  
  11617.  
  11618.  
  11619.  
  11620.  
  11621.  
  11622.  
  11623.  
  11624.  
  11625.  
  11626.  
  11627. Dave Raggett                                                          Page 102
  11628.  
  11629. HTML 3.0                                                       28th March 1995
  11630.  
  11631.  
  11632.  
  11633. VEC, BAR, DOT, DDOT, HAT and TILDE
  11634.  
  11635.  
  11636.  
  11637.    Permitted Context: %math
  11638.  
  11639.    Content Model: %math 
  11640.  
  11641.  
  11642.  
  11643.    These elements place an accent above the term enclosed by the
  11644.  
  11645.    element. --VEC-- draws a right arrow above the term; --BAR-- draws a
  11646.  
  11647.    line; --DOT-- and --DDOT-- draw a single and double dot
  11648.  
  11649.    respectively; --HAT-- and --TILDE-- draw the corresponding character
  11650.  
  11651.    above the term, for example: 
  11652.  
  11653.  
  11654.  
  11655.                                ^
  11656.  
  11657.        <HAT>X</HAT>   giving   X
  11658.  
  11659.        
  11660.  
  11661.                                    ~
  11662.  
  11663.        <TILDE>X</TILDE>   giving   X
  11664.  
  11665.  
  11666.  
  11667.    Note: there are no attributes for these elements.  
  11668.  
  11669.  
  11670.  
  11671.  
  11672.  
  11673.  
  11674.  
  11675.  
  11676.  
  11677.  
  11678.  
  11679.  
  11680.  
  11681.  
  11682.  
  11683.  
  11684.  
  11685.  
  11686.  
  11687.  
  11688.  
  11689.  
  11690.  
  11691.  
  11692.  
  11693.  
  11694.  
  11695.  
  11696.  
  11697.  
  11698.  
  11699.  
  11700.  
  11701.  
  11702.  
  11703.  
  11704.  
  11705.  
  11706.  
  11707.  
  11708.  
  11709.  
  11710.  
  11711.  
  11712.  
  11713.  
  11714.  
  11715.  
  11716.  
  11717.  
  11718.  
  11719.  
  11720.  
  11721.  
  11722.  
  11723.  
  11724.  
  11725.  
  11726.  
  11727.  
  11728.  
  11729.  
  11730.  
  11731.  
  11732.  
  11733.  
  11734.  
  11735.  
  11736.  
  11737.  
  11738.  
  11739.  
  11740.  
  11741. Dave Raggett                                                          Page 103
  11742.  
  11743. HTML 3.0                                                       28th March 1995
  11744.  
  11745.  
  11746.  
  11747. SQRT
  11748.  
  11749.  
  11750.  
  11751.    Permitted Context: %math
  11752.  
  11753.    Content Model: %math 
  11754.  
  11755.  
  11756.  
  11757.    This draws a square root sign around the contents, for example the
  11758.  
  11759.    square root of 1 + x is expressed as: 
  11760.  
  11761.  
  11762.  
  11763.        <SQRT>1 + x</SQRT>
  11764.  
  11765.  
  11766.  
  11767.    and possibly rendered as: --(this is the best I can do with ascii
  11768.  
  11769.    art!)-- 
  11770.  
  11771.  
  11772.  
  11773.          ----------
  11774.  
  11775.         / 1 + x
  11776.  
  11777.        v
  11778.  
  11779.  
  11780.  
  11781.    The SQRT element has no attributes. 
  11782.  
  11783.  
  11784.  
  11785. ROOT
  11786.  
  11787.  
  11788.  
  11789.    Permitted Context: %math
  11790.  
  11791.    Content Model: %math, OF, %math 
  11792.  
  11793.  
  11794.  
  11795.    This allows you to specify arbitary roots of an expression. The
  11796.  
  11797.    radix comes first, and is separated from the radicand by the <OF>
  11798.  
  11799.    tag. For example the cube root of 1 + x is expressed as: 
  11800.  
  11801.  
  11802.  
  11803.        <ROOT>3<OF>1 + x</ROOT>
  11804.  
  11805.  
  11806.  
  11807.    and possibly rendered as: 
  11808.  
  11809.  
  11810.  
  11811.          --------
  11812.  
  11813.        3/ 1 + x
  11814.  
  11815.        v
  11816.  
  11817.  
  11818.  
  11819.    The ROOT element has no attributes.  
  11820.  
  11821.  
  11822.  
  11823.  
  11824.  
  11825.  
  11826.  
  11827.  
  11828.  
  11829.  
  11830.  
  11831.  
  11832.  
  11833.  
  11834.  
  11835.  
  11836.  
  11837.  
  11838.  
  11839.  
  11840.  
  11841.  
  11842.  
  11843.  
  11844.  
  11845.  
  11846.  
  11847.  
  11848.  
  11849.  
  11850.  
  11851.  
  11852.  
  11853.  
  11854.  
  11855. Dave Raggett                                                          Page 104
  11856.  
  11857. HTML 3.0                                                       28th March 1995
  11858.  
  11859.  
  11860.  
  11861. The ARRAY element
  11862.  
  11863.  
  11864.  
  11865.    Permitted Context: %math
  11866.  
  11867.    Content Model: one or more ROWs, each containing one or more ITEMs 
  11868.  
  11869.  
  11870.  
  11871.    The <ARRAY> element is used for LaTeX-like arrays. It can only be
  11872.  
  11873.    used within MATH elements. For example: 
  11874.  
  11875.  
  11876.  
  11877.        a      a    ...   a
  11878.  
  11879.         11     12         1n
  11880.  
  11881.         
  11882.  
  11883.        :      :    ...    :
  11884.  
  11885.    
  11886.  
  11887.        a      a    ...   a
  11888.  
  11889.         n1     n2         nn
  11890.  
  11891.    
  11892.  
  11893.  
  11894.  
  11895.    This is represented in HTML math by: 
  11896.  
  11897.  
  11898.  
  11899.        <array>
  11900.  
  11901.         <row><item>a_11_<item>a_12_<item>&cdots;<item>a_1n_
  11902.  
  11903.         <row><item>&vdots;<item>&vdots;<item>&ddots;<item>&vdots;
  11904.  
  11905.         <row><item>a_n1_<item>a_n2_<item>&cdots;<item>a_nn_
  11906.  
  11907.        </array>
  11908.  
  11909.    
  11910.  
  11911.  
  11912.  
  11913.    You can specify the "+", "-" or "=" characters as column separators: 
  11914.  
  11915.  
  11916.  
  11917.        a   x   +  a   x   +  ...  +  a   x    =   b
  11918.  
  11919.         11  1      12  2              1n  n        1
  11920.  
  11921.    
  11922.  
  11923.        a   x   +  a   x   +  ...  +  a   x    =   b
  11924.  
  11925.         22  1      22  2              2n  n        2
  11926.  
  11927.     
  11928.  
  11929.        .............................................
  11930.  
  11931.    
  11932.  
  11933.        a   x   +  a   x   +  ...  +  a   x    =   b
  11934.  
  11935.         n2  1      n2  2              nn  n        n
  11936.  
  11937.  
  11938.  
  11939.    This is represented by: 
  11940.  
  11941.  
  11942.  
  11943.    <array coldef="C+C+C+C=C">
  11944.  
  11945.     <row><item>a_11_x_1_<item>a_12_x_2_<item>&cdots;<item>a_1n_x_n_<item>b_1_
  11946.  
  11947.     <row><item>a_21_x_1_<item>a_22_x_2_<item>&cdots;<item>a_2n_x_n_<item>b_2_
  11948.  
  11949.     <row><item colspan=5>&dotfill;
  11950.  
  11951.     <row><item>a_n1_x_1_<item>a_n2_x_2_<item>&cdots;<item>a_nn_x_n_<item>b_n_
  11952.  
  11953.    </array>
  11954.  
  11955.  
  11956.  
  11957.    The number of rows and colums is left to the parser to work out for
  11958.  
  11959.    itself by counting the number of ROW elements, and the number of
  11960.  
  11961.    ITEMs on each row. This is slightly complicated by the possibility
  11962.  
  11963.    that some items may span several rows and columns. If a row has less
  11964.  
  11965.    than the expected number of items after accounting for merged items,
  11966.  
  11967.  
  11968.  
  11969. Dave Raggett                                                          Page 105
  11970.  
  11971. HTML 3.0                                                       28th March 1995
  11972.  
  11973.  
  11974.  
  11975.    the missing items are assumed to be on the righthandside, and should
  11976.  
  11977.    be treated as empty. The row count should be based on the ROW
  11978.  
  11979.    elements, and additional rows, implied by items spanning rows beyond
  11980.  
  11981.    the end of the array, should be ignored. 
  11982.  
  11983.  
  11984.  
  11985. Permitted Attributes
  11986.  
  11987.  
  11988.  
  11989.    ALIGN 
  11990.  
  11991.        By default, arrays are vertically positioned so that preceding
  11992.  
  11993.        and following expressions are aligned with the mid point of the
  11994.  
  11995.        array. The ALIGN attribute can take on of the following values:
  11996.  
  11997.        
  11998.  
  11999.        
  12000.  
  12001.  
  12002.  
  12003.        TOP 
  12004.  
  12005.            The top row of the array is aligned with the same baseline
  12006.  
  12007.            as the preceding or following expression. 
  12008.  
  12009.  
  12010.  
  12011.        MIDDLE 
  12012.  
  12013.            The middle row of the array is aligned with the same
  12014.  
  12015.            baseline as the preceding or following expression. This is
  12016.  
  12017.            the default. If there are an even number of rows, the
  12018.  
  12019.            midpoint of the array is used instead. 
  12020.  
  12021.  
  12022.  
  12023.        BOTTOM 
  12024.  
  12025.            The bottom row of the array is aligned with the same
  12026.  
  12027.            baseline as the preceding or following expression. 
  12028.  
  12029.  
  12030.  
  12031.    COLDEF 
  12032.  
  12033.        By default the columns are centered. This attribute can be used
  12034.  
  12035.        to specify the horizontal alignment for each column with
  12036.  
  12037.        character string formed by one capital letter per column, with L
  12038.  
  12039.        for left, C for center and R to right alignment, e.g. "LLCR" for
  12040.  
  12041.        a 4 column table. 
  12042.  
  12043.  
  12044.  
  12045.        The COLDEF attribute can also be used to place a "+", "-" or "="
  12046.  
  12047.        between the columns, e.g. coldef="C+C+C+C=C". Whitespace within
  12048.  
  12049.        the COLDEF attribute is ignored. 
  12050.  
  12051.  
  12052.  
  12053.    LDELIM 
  12054.  
  12055.        An entity or character for the left delimiter, e.g. ldelim="["
  12056.  
  12057.        for a left square bracket or ldelim="|". The default is no
  12058.  
  12059.        delimiter. 
  12060.  
  12061.  
  12062.  
  12063.    RDELIM 
  12064.  
  12065.        An entity name or character for the right delimiter, e.g.
  12066.  
  12067.        rdelim="}" or rdelim="|". The default is no delimiter. 
  12068.  
  12069.  
  12070.  
  12071.    LABELS 
  12072.  
  12073.        The presence of this attribute has the same effect as TeX's
  12074.  
  12075.        bordermatrix command. The first row and column are separated
  12076.  
  12077.        from the rest of the array. 
  12078.  
  12079.  
  12080.  
  12081.  
  12082.  
  12083. Dave Raggett                                                          Page 106
  12084.  
  12085. HTML 3.0                                                       28th March 1995
  12086.  
  12087.  
  12088.  
  12089.    Example of a labelled array: 
  12090.  
  12091.  
  12092.  
  12093.          i     j     k
  12094.  
  12095.          
  12096.  
  12097.     a  (X     X     X  )
  12098.  
  12099.        ( 11    21    31)    <array ldelim="(" rdelim=")" labels>
  12100.  
  12101.        (               )     <row><item>dummy<item>i<item>j<item>k
  12102.  
  12103.     b  (X     X     X  )     <row><item>a<item>X_11_<item>X_21_<item>X_31_
  12104.  
  12105.        ( 12    22    32)     <row><item>b<item>X_12_<item>X_22_<item>X_32_
  12106.  
  12107.        (               )     <row><item>c<item>X_31_<item>X_32_<item>X_33_
  12108.  
  12109.     c  (X     X     X  )    </array>
  12110.  
  12111.        ( 13    23    33)
  12112.  
  12113.    
  12114.  
  12115.  
  12116.  
  12117.    Note: An item is always required for the first item of the first
  12118.  
  12119.    row, although its contents will be ignored for labelled arrays. This
  12120.  
  12121.    has been emphasized above with the value "dummy".  
  12122.  
  12123.  
  12124.  
  12125.  
  12126.  
  12127.  
  12128.  
  12129.  
  12130.  
  12131.  
  12132.  
  12133.  
  12134.  
  12135.  
  12136.  
  12137.  
  12138.  
  12139.  
  12140.  
  12141.  
  12142.  
  12143.  
  12144.  
  12145.  
  12146.  
  12147.  
  12148.  
  12149.  
  12150.  
  12151.  
  12152.  
  12153.  
  12154.  
  12155.  
  12156.  
  12157.  
  12158.  
  12159.  
  12160.  
  12161.  
  12162.  
  12163.  
  12164.  
  12165.  
  12166.  
  12167.  
  12168.  
  12169.  
  12170.  
  12171.  
  12172.  
  12173.  
  12174.  
  12175.  
  12176.  
  12177.  
  12178.  
  12179.  
  12180.  
  12181.  
  12182.  
  12183.  
  12184.  
  12185.  
  12186.  
  12187.  
  12188.  
  12189.  
  12190.  
  12191.  
  12192.  
  12193.  
  12194.  
  12195.  
  12196.  
  12197. Dave Raggett                                                          Page 107
  12198.  
  12199. HTML 3.0                                                       28th March 1995
  12200.  
  12201.  
  12202.  
  12203. The ROW element
  12204.  
  12205.  
  12206.  
  12207.    Permitted Context: ARRAY
  12208.  
  12209.    Content Model: one or more ITEMs 
  12210.  
  12211.  
  12212.  
  12213.    The <ROW> element is used for rows of items within the ARRAY
  12214.  
  12215.    element. It has no permitted attributes. The end tag </ROW> can
  12216.  
  12217.    always be left out. 
  12218.  
  12219.  
  12220.  
  12221. The ITEM element
  12222.  
  12223.  
  12224.  
  12225.    Permitted Context: ROW
  12226.  
  12227.    Content Model: %math 
  12228.  
  12229.  
  12230.  
  12231.    The <ITEM> element is used for items within a row of the ARRAY
  12232.  
  12233.    element. The end tag </ITEM> can always be left out. 
  12234.  
  12235.  
  12236.  
  12237. Permitted Attributes for ITEM
  12238.  
  12239.  
  12240.  
  12241.    ALIGN 
  12242.  
  12243.        By default expressions in items are centered horizontally. This
  12244.  
  12245.        can be altered by the COLDEF attribute on the parent ARRAY
  12246.  
  12247.        element, and overridden on a per item basis with the ALIGN
  12248.  
  12249.        attribute. The permitted values are: LEFT, CENTER or RIGHT. 
  12250.  
  12251.  
  12252.  
  12253.    COLSPAN 
  12254.  
  12255.        This can be used to provide a single item which spans several
  12256.  
  12257.        columns. The attribute value is a positive integer and defaults
  12258.  
  12259.        to one. 
  12260.  
  12261.  
  12262.  
  12263.    ROWSPAN 
  12264.  
  12265.        This can be used to provide a single item which spans several
  12266.  
  12267.        rows. The attribute value is a positive integer and defaults to
  12268.  
  12269.        one. It can be used together with the COLSPAN attribute. 
  12270.  
  12271.  
  12272.  
  12273.  
  12274.  
  12275.  
  12276.  
  12277.  
  12278.  
  12279.  
  12280.  
  12281.  
  12282.  
  12283.  
  12284.  
  12285.  
  12286.  
  12287.  
  12288.  
  12289.  
  12290.  
  12291.  
  12292.  
  12293.  
  12294.  
  12295.  
  12296.  
  12297.  
  12298.  
  12299.  
  12300.  
  12301.  
  12302.  
  12303.  
  12304.  
  12305.  
  12306.  
  12307.  
  12308.  
  12309.  
  12310.  
  12311. Dave Raggett                                                          Page 108
  12312.  
  12313. HTML 3.0                                                       28th March 1995
  12314.  
  12315.  
  12316.  
  12317. TEXT
  12318.  
  12319.  
  12320.  
  12321.    Permitted Context: %math
  12322.  
  12323.    Content Model: PCDATA 
  12324.  
  12325.  
  12326.  
  12327.    This element is used to include a few words of text within MATH
  12328.  
  12329.    elements. It avoids the need to separate words with spacing entities
  12330.  
  12331.    such as &sp; that are otherwise needed to provide adequate spacing.
  12332.  
  12333.    The text is rendered literally, and may include entities for
  12334.  
  12335.    accented characters etc. 
  12336.  
  12337.  
  12338.  
  12339.    There are no attributes for this element.  
  12340.  
  12341.  
  12342.  
  12343.  
  12344.  
  12345.  
  12346.  
  12347.  
  12348.  
  12349.  
  12350.  
  12351.  
  12352.  
  12353.  
  12354.  
  12355.  
  12356.  
  12357.  
  12358.  
  12359.  
  12360.  
  12361.  
  12362.  
  12363.  
  12364.  
  12365.  
  12366.  
  12367.  
  12368.  
  12369.  
  12370.  
  12371.  
  12372.  
  12373.  
  12374.  
  12375.  
  12376.  
  12377.  
  12378.  
  12379.  
  12380.  
  12381.  
  12382.  
  12383.  
  12384.  
  12385.  
  12386.  
  12387.  
  12388.  
  12389.  
  12390.  
  12391.  
  12392.  
  12393.  
  12394.  
  12395.  
  12396.  
  12397.  
  12398.  
  12399.  
  12400.  
  12401.  
  12402.  
  12403.  
  12404.  
  12405.  
  12406.  
  12407.  
  12408.  
  12409.  
  12410.  
  12411.  
  12412.  
  12413.  
  12414.  
  12415.  
  12416.  
  12417.  
  12418.  
  12419.  
  12420.  
  12421.  
  12422.  
  12423.  
  12424.  
  12425. Dave Raggett                                                          Page 109
  12426.  
  12427. HTML 3.0                                                       28th March 1995
  12428.  
  12429.  
  12430.  
  12431. B, T and BT
  12432.  
  12433.  
  12434.  
  12435.    Permitted Context: %math
  12436.  
  12437.    Content Model: %math 
  12438.  
  12439.  
  12440.  
  12441.    These elements are used, when feasible, to alter the default fonts
  12442.  
  12443.    used to render variables and constants. Numbers, operators,
  12444.  
  12445.    delimiters and other symbols are unaffected. B renders its contents
  12446.  
  12447.    in bold, while T renders its contents in an upright font rather than
  12448.  
  12449.    an italic font. These can be nested to combine the effects, for a
  12450.  
  12451.    bold upright font. The BT element allows you to write
  12452.  
  12453.    <BT>--term--</BT> rather from having to write:
  12454.  
  12455.    <B><T>--term--</T></B>. 
  12456.  
  12457.  
  12458.  
  12459. Permitted Attributes
  12460.  
  12461.  
  12462.  
  12463.    CLASS 
  12464.  
  12465.        This a space separated list of SGML NAME tokens and is used to
  12466.  
  12467.        subclass tag names. By convention, the class names are
  12468.  
  12469.        interpreted hierarchically, with the most general class on the
  12470.  
  12471.        left and the most specific on the right, where classes are
  12472.  
  12473.        separated by a period. 
  12474.  
  12475.  
  12476.  
  12477.        By using CLASS to describe the term as a --vector--, --tensor--
  12478.  
  12479.        or --matrix-- etc. user agents can do a better job when
  12480.  
  12481.        rendering to non-visual media. Further conventions for term
  12482.  
  12483.        class names are not part of this specification. 
  12484.  
  12485.  
  12486.  
  12487.    Note: Don't use B for chemical formulae. These should be handled by
  12488.  
  12489.    subclassing the MATH element with class=chem, for instance: <MATH
  12490.  
  12491.    CLASS=CHEM>  
  12492.  
  12493.  
  12494.  
  12495.  
  12496.  
  12497.  
  12498.  
  12499.  
  12500.  
  12501.  
  12502.  
  12503.  
  12504.  
  12505.  
  12506.  
  12507.  
  12508.  
  12509.  
  12510.  
  12511.  
  12512.  
  12513.  
  12514.  
  12515.  
  12516.  
  12517.  
  12518.  
  12519.  
  12520.  
  12521.  
  12522.  
  12523.  
  12524.  
  12525.  
  12526.  
  12527.  
  12528.  
  12529.  
  12530.  
  12531.  
  12532.  
  12533.  
  12534.  
  12535.  
  12536.  
  12537.  
  12538.  
  12539. Dave Raggett                                                          Page 110
  12540.  
  12541. HTML 3.0                                                       28th March 1995
  12542.  
  12543.  
  12544.  
  12545. Horizontal Rules
  12546.  
  12547.  
  12548.  
  12549.    Permitted Context: %Body.Content
  12550.  
  12551.    Content Model: Empty! 
  12552.  
  12553.  
  12554.  
  12555.    The <HR> element is used for horizontal rules that act as dividers
  12556.  
  12557.    between sections. The SRC attribute can be used to designate a
  12558.  
  12559.    custom graphic, otherwise subclass HR with the CLASS attribute and
  12560.  
  12561.    specify the appropriate rendering with an associated style sheet. 
  12562.  
  12563.  
  12564.  
  12565. Permitted Attributes
  12566.  
  12567.  
  12568.  
  12569.    ID 
  12570.  
  12571.        An SGML identifier used as the target for hypertext links or for
  12572.  
  12573.        naming particular elements in associated style sheets.
  12574.  
  12575.        Identifiers are NAME tokens and must be unique within the scope
  12576.  
  12577.        of the current document. 
  12578.  
  12579.  
  12580.  
  12581.    CLASS 
  12582.  
  12583.        This a space separated list of SGML NAME tokens and is used to
  12584.  
  12585.        subclass tag names. For instance, <H2 CLASS=Section> defines a
  12586.  
  12587.        level 2 header that acts as a section header. By convention, the
  12588.  
  12589.        class names are interpreted hierarchically, with the most
  12590.  
  12591.        general class on the left and the most specific on the right,
  12592.  
  12593.        where classes are separated by a period. The CLASS attribute is
  12594.  
  12595.        most commonly used to attach a different style to some element,
  12596.  
  12597.        but it is recommended that where practical class names should be
  12598.  
  12599.        picked on the basis of the element's semantics, as this will
  12600.  
  12601.        permit other uses, such as restricting search through documents
  12602.  
  12603.        by matching on element class names. The conventions for choosing
  12604.  
  12605.        class names are outside the scope of this specification. 
  12606.  
  12607.  
  12608.  
  12609.    CLEAR 
  12610.  
  12611.        This attribute is common to all block-like elements. When text
  12612.  
  12613.        flows around a figure or table in the margin, you sometimes want
  12614.  
  12615.        to position the rule below the figure rather than alongside it.
  12616.  
  12617.        The CLEAR attribute allows you to move down unconditionally:
  12618.  
  12619.        
  12620.  
  12621.        
  12622.  
  12623.  
  12624.  
  12625.        clear=left
  12626.  
  12627.            move down until left margin is clear 
  12628.  
  12629.  
  12630.  
  12631.        clear=right
  12632.  
  12633.            move down until right margin is clear 
  12634.  
  12635.  
  12636.  
  12637.        clear=all
  12638.  
  12639.            move down until both margins are clear 
  12640.  
  12641.  
  12642.  
  12643.        Alternatively, you can decide to place the rule alongside the
  12644.  
  12645.        figure just so long as there is enough room. The minimum width
  12646.  
  12647.        needed is specified as:
  12648.  
  12649.        
  12650.  
  12651.  
  12652.  
  12653. Dave Raggett                                                          Page 111
  12654.  
  12655. HTML 3.0                                                       28th March 1995
  12656.  
  12657.  
  12658.  
  12659.        
  12660.  
  12661.  
  12662.  
  12663.        clear="40 en"
  12664.  
  12665.            move down until there is at least 40 en units free 
  12666.  
  12667.  
  12668.  
  12669.        clear="100 pixels"
  12670.  
  12671.            move down until there is at least 100 pixels free 
  12672.  
  12673.  
  12674.  
  12675.        The style sheet (or browser defaults) may provide default
  12676.  
  12677.        minimum widths for each class of block-like elements. 
  12678.  
  12679.  
  12680.  
  12681.    SRC 
  12682.  
  12683.        Specifies a custom image for the rule. The image is specified as
  12684.  
  12685.        a URI. This attribute may appear together with the MD attribute. 
  12686.  
  12687.  
  12688.  
  12689.    MD 
  12690.  
  12691.        Specifies a message digest or cryptographic checksum for the
  12692.  
  12693.        associated graphic specified by the SRC attribute. It is used
  12694.  
  12695.        when you want to be sure that a linked object is indeed the same
  12696.  
  12697.        one that the author intended, and hasn't been modified in any
  12698.  
  12699.        way. For instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which
  12700.  
  12701.        specifies an MD5 checksum encoded as a base64 character string.
  12702.  
  12703.        The MD attribute is generally allowed for all elements which
  12704.  
  12705.        support URI based links. 
  12706.  
  12707.  
  12708.  
  12709.  
  12710.  
  12711.  
  12712.  
  12713.  
  12714.  
  12715.  
  12716.  
  12717.  
  12718.  
  12719.  
  12720.  
  12721.  
  12722.  
  12723.  
  12724.  
  12725.  
  12726.  
  12727.  
  12728.  
  12729.  
  12730.  
  12731.  
  12732.  
  12733.  
  12734.  
  12735.  
  12736.  
  12737.  
  12738.  
  12739.  
  12740.  
  12741.  
  12742.  
  12743.  
  12744.  
  12745.  
  12746.  
  12747.  
  12748.  
  12749.  
  12750.  
  12751.  
  12752.  
  12753.  
  12754.  
  12755.  
  12756.  
  12757.  
  12758.  
  12759.  
  12760.  
  12761.  
  12762.  
  12763.  
  12764.  
  12765.  
  12766.  
  12767. Dave Raggett                                                          Page 112
  12768.  
  12769. HTML 3.0                                                       28th March 1995
  12770.  
  12771.  
  12772.  
  12773. Preformatted Text (PRE)
  12774.  
  12775.  
  12776.  
  12777.    Permitted Context: %Body.Content, %flow, %block
  12778.  
  12779.    Content Model: subset of %text (see DTD for details) 
  12780.  
  12781.  
  12782.  
  12783.    Preformatted text between the start and end PRE tag is rendered
  12784.  
  12785.    using a fixed with font, in addition whitespace characters are
  12786.  
  12787.    treated literally. The spacing and line breaks are rendered
  12788.  
  12789.    directly, unlike other elements, for which repeated whitespace
  12790.  
  12791.    chararacters are collapsed to a single space character and line
  12792.  
  12793.    breaks introduced automatically. 
  12794.  
  12795.  
  12796.  
  12797.    *   Line breaks within the text are rendered as a move to the
  12798.  
  12799.        beginning of the next line. The exceptions are line breaks
  12800.  
  12801.        immediately following the starting PRE tag or immediately
  12802.  
  12803.        preceding the ending PRE tag, which should be ignored. 
  12804.  
  12805.  
  12806.  
  12807.    *   The <P> tag should be avoided, but for robustness, user agents
  12808.  
  12809.        are recommended to treat these tags as line breaks. 
  12810.  
  12811.  
  12812.  
  12813.    *   Anchor elements, and character highlighting elements may be
  12814.  
  12815.        used. 
  12816.  
  12817.  
  12818.  
  12819.    *   FORM elements may be included, and the fixed width font
  12820.  
  12821.        exploited to control layout (the TAB or TABLE elements give
  12822.  
  12823.        similar control for normal text though). 
  12824.  
  12825.  
  12826.  
  12827.    *   Block-like elements such as headers, lists, FIG and TABLES
  12828.  
  12829.        should be avoided. 
  12830.  
  12831.  
  12832.  
  12833.    *   The horizontal tab character (encoded in US ASCII and ISO 8859-1
  12834.  
  12835.        as decimal 9) should be interpreted as the smallest nonzero
  12836.  
  12837.        number of spaces which will leave the number of characters so
  12838.  
  12839.        far on the line as a multiple of 8. Its use is deprecated! 
  12840.  
  12841.  
  12842.  
  12843.    For example, a verse from Shelley (To a Skylark): 
  12844.  
  12845.  
  12846.  
  12847.    <PRE>
  12848.  
  12849.           Higher still and higher
  12850.  
  12851.             From the earth thou springest
  12852.  
  12853.           Like a cloud of fire;
  12854.  
  12855.             The blue deep thou wingest,
  12856.  
  12857.    And singing still dost soar, and soaring ever singest.</PRE>
  12858.  
  12859.  
  12860.  
  12861.    which is rendered as: 
  12862.  
  12863.  
  12864.  
  12865.           Higher still and higher
  12866.  
  12867.             From the earth thou springest
  12868.  
  12869.           Like a cloud of fire;
  12870.  
  12871.             The blue deep thou wingest,
  12872.  
  12873.    And singing still dost soar, and soaring ever singest.
  12874.  
  12875.  
  12876.  
  12877. Permitted Attributes
  12878.  
  12879.  
  12880.  
  12881. Dave Raggett                                                          Page 113
  12882.  
  12883. HTML 3.0                                                       28th March 1995
  12884.  
  12885.  
  12886.  
  12887.  
  12888.  
  12889.    ID 
  12890.  
  12891.        An SGML identifier used as the target for hypertext links or for
  12892.  
  12893.        naming particular elements in associated style sheets.
  12894.  
  12895.        Identifiers are NAME tokens and must be unique within the scope
  12896.  
  12897.        of the current document. 
  12898.  
  12899.  
  12900.  
  12901.    LANG 
  12902.  
  12903.        This is one of the ISO standard language abbreviations, e.g.
  12904.  
  12905.        "en.uk" for the variation of English spoken in the United
  12906.  
  12907.        Kingdom. It can be used by parsers to select language specific
  12908.  
  12909.        choices for quotation marks, ligatures and hypenation rules etc.
  12910.  
  12911.        The language attribute is composed from the two letter language
  12912.  
  12913.        code from ISO 639, optionally followed by a period and a two
  12914.  
  12915.        letter country code from ISO 3166. 
  12916.  
  12917.  
  12918.  
  12919.    CLASS 
  12920.  
  12921.        This a space separated list of SGML NAME tokens and is used to
  12922.  
  12923.        subclass tag names. By convention, the class names are
  12924.  
  12925.        interpreted hierarchically, with the most general class on the
  12926.  
  12927.        left and the most specific on the right, where classes are
  12928.  
  12929.        separated by a period. The CLASS attribute is most commonly used
  12930.  
  12931.        to attach a different style to some element, but it is
  12932.  
  12933.        recommended that where practical class names should be picked on
  12934.  
  12935.        the basis of the element's semantics, as this will permit other
  12936.  
  12937.        uses, such as restricting search through documents by matching
  12938.  
  12939.        on element class names. The conventions for choosing class names
  12940.  
  12941.        are outside the scope of this specification. 
  12942.  
  12943.  
  12944.  
  12945.    CLEAR 
  12946.  
  12947.        This attribute is common to all block-like elements. When text
  12948.  
  12949.        flows around a figure or table in the margin, you sometimes want
  12950.  
  12951.        to start the preformatted text below the figure rather than
  12952.  
  12953.        alongside it. The CLEAR attribute allows you to move down unconditionally:
  12954.  
  12955.        
  12956.  
  12957.        
  12958.  
  12959.  
  12960.  
  12961.        clear=left
  12962.  
  12963.            move down until left margin is clear 
  12964.  
  12965.  
  12966.  
  12967.        clear=right
  12968.  
  12969.            move down until right margin is clear 
  12970.  
  12971.  
  12972.  
  12973.        clear=all
  12974.  
  12975.            move down until both margins are clear 
  12976.  
  12977.  
  12978.  
  12979.        Alternatively, you can decide to place the element alongside the
  12980.  
  12981.        figure just so long as there is enough room. The minimum width
  12982.  
  12983.        needed is specified as:
  12984.  
  12985.        
  12986.  
  12987.        
  12988.  
  12989.  
  12990.  
  12991.        clear="40 en"
  12992.  
  12993.  
  12994.  
  12995. Dave Raggett                                                          Page 114
  12996.  
  12997. HTML 3.0                                                       28th March 1995
  12998.  
  12999.  
  13000.  
  13001.            move down until there is at least 40 en units free 
  13002.  
  13003.  
  13004.  
  13005.        clear="100 pixels"
  13006.  
  13007.            move down until there is at least 100 pixels free 
  13008.  
  13009.  
  13010.  
  13011.        The style sheet (or browser defaults) may provide default
  13012.  
  13013.        minimum widths for each class of block-like elements. 
  13014.  
  13015.  
  13016.  
  13017.    WIDTH 
  13018.  
  13019.        This is optionally used to specify a width as a number of
  13020.  
  13021.        characters to try and display within the current window width.
  13022.  
  13023.        The user agent can exploit this suggestion to select an
  13024.  
  13025.        appropriate font size. The default is a width of 80 characters.
  13026.  
  13027.        Where the WIDTH attribute is supported, widths of 40, 80 and 132
  13028.  
  13029.        characters should be presented optimally, with other widths
  13030.  
  13031.        being rounded up. 
  13032.  
  13033.  
  13034.  
  13035.        --Can't we get rid of this obsolete nonsense? How many browsers
  13036.  
  13037.        support the WIDTH attribute anyway? -- 
  13038.  
  13039.  
  13040.  
  13041.  
  13042.  
  13043.  
  13044.  
  13045.  
  13046.  
  13047.  
  13048.  
  13049.  
  13050.  
  13051.  
  13052.  
  13053.  
  13054.  
  13055.  
  13056.  
  13057.  
  13058.  
  13059.  
  13060.  
  13061.  
  13062.  
  13063.  
  13064.  
  13065.  
  13066.  
  13067.  
  13068.  
  13069.  
  13070.  
  13071.  
  13072.  
  13073.  
  13074.  
  13075.  
  13076.  
  13077.  
  13078.  
  13079.  
  13080.  
  13081.  
  13082.  
  13083.  
  13084.  
  13085.  
  13086.  
  13087.  
  13088.  
  13089.  
  13090.  
  13091.  
  13092.  
  13093.  
  13094.  
  13095.  
  13096.  
  13097.  
  13098.  
  13099.  
  13100.  
  13101.  
  13102.  
  13103.  
  13104.  
  13105.  
  13106.  
  13107.  
  13108.  
  13109. Dave Raggett                                                          Page 115
  13110.  
  13111. HTML 3.0                                                       28th March 1995
  13112.  
  13113.  
  13114.  
  13115. Admonishments
  13116.  
  13117.  
  13118.  
  13119.    Permitted Context: %body.content, %flow, %block
  13120.  
  13121.    Content Model: %body.content 
  13122.  
  13123.  
  13124.  
  13125.    The NOTE element is designed for use as admonishments such as notes,
  13126.  
  13127.    cautions or warnings, as commonly used in technical documentation.
  13128.  
  13129.    The CLASS attribute specifies the type of the element and is
  13130.  
  13131.    typically associated with different graphics such as a road traffic
  13132.  
  13133.    warning sign. The graphic can be customized with the SRC attribute. 
  13134.  
  13135.  
  13136.  
  13137.    Example: 
  13138.  
  13139.  
  13140.  
  13141.        <NOTE CLASS=WARNING>Please check with the local weather
  13142.  
  13143.        service before starting your climb. The mountain weather
  13144.  
  13145.        is subject to rapid deterioration. It is essential to
  13146.  
  13147.        carry a good map and compass.</NOTE>
  13148.  
  13149.  
  13150.  
  13151.    The class names: NOTE, CAUTION and WARNING are recommended for
  13152.  
  13153.    standard admonishments. In the absence of the CLASS attribute, a
  13154.  
  13155.    NOTE element is typically rendered indented, without an accompanying
  13156.  
  13157.    graphic. 
  13158.  
  13159.  
  13160.  
  13161. Permitted Attributes
  13162.  
  13163.  
  13164.  
  13165.    ID 
  13166.  
  13167.        An SGML identifier used as the target for hypertext links or for
  13168.  
  13169.        naming particular elements in associated style sheets.
  13170.  
  13171.        Identifiers are NAME tokens and must be unique within the scope
  13172.  
  13173.        of the current document. 
  13174.  
  13175.  
  13176.  
  13177.    LANG 
  13178.  
  13179.        This is one of the ISO standard language abbreviations, e.g.
  13180.  
  13181.        "en.uk" for the variation of English spoken in the United
  13182.  
  13183.        Kingdom. It can be used by parsers to select language specific
  13184.  
  13185.        choices for quotation marks, ligatures and hypenation rules etc.
  13186.  
  13187.        The language attribute is composed from the two letter language
  13188.  
  13189.        code from ISO 639, optionally followed by a period and a two
  13190.  
  13191.        letter country code from ISO 3166. 
  13192.  
  13193.  
  13194.  
  13195.    CLASS 
  13196.  
  13197.        This a space separated list of SGML NAME tokens and is used to
  13198.  
  13199.        subclass tag names. By convention, the class names are
  13200.  
  13201.        interpreted hierarchically, with the most general class on the
  13202.  
  13203.        left and the most specific on the right, where classes are
  13204.  
  13205.        separated by a period. The CLASS attribute is most commonly used
  13206.  
  13207.        to attach a different style to some element, but it is
  13208.  
  13209.        recommended that where practical class names should be picked on
  13210.  
  13211.        the basis of the element's semantics, as this will permit other
  13212.  
  13213.        uses, such as restricting search through documents by matching
  13214.  
  13215.        on element class names. Apart from the values suggested above,
  13216.  
  13217.        the conventions for choosing class names are outside the scope
  13218.  
  13219.        of this specification. 
  13220.  
  13221.  
  13222.  
  13223. Dave Raggett                                                          Page 116
  13224.  
  13225. HTML 3.0                                                       28th March 1995
  13226.  
  13227.  
  13228.  
  13229.  
  13230.  
  13231.    CLEAR 
  13232.  
  13233.        This attribute is common to all block-like elements. When text
  13234.  
  13235.        flows around a figure or table in the margin, you sometimes want
  13236.  
  13237.        to start the note below the figure rather than alongside it. The
  13238.  
  13239.        CLEAR attribute allows you to move down unconditionally:
  13240.  
  13241.        
  13242.  
  13243.        
  13244.  
  13245.  
  13246.  
  13247.        clear=left
  13248.  
  13249.            move down until left margin is clear 
  13250.  
  13251.  
  13252.  
  13253.        clear=right
  13254.  
  13255.            move down until right margin is clear 
  13256.  
  13257.  
  13258.  
  13259.        clear=all
  13260.  
  13261.            move down until both margins are clear 
  13262.  
  13263.  
  13264.  
  13265.        Alternatively, you can decide to place the note alongside the
  13266.  
  13267.        figure just so long as there is enough room. The minimum width
  13268.  
  13269.        needed is specified as:
  13270.  
  13271.        
  13272.  
  13273.        
  13274.  
  13275.  
  13276.  
  13277.        clear="40 en"
  13278.  
  13279.            move down until there is at least 40 en units free 
  13280.  
  13281.  
  13282.  
  13283.        clear="100 pixels"
  13284.  
  13285.            move down until there is at least 100 pixels free 
  13286.  
  13287.  
  13288.  
  13289.        The style sheet (or browser defaults) may provide default
  13290.  
  13291.        minimum widths for each class of block-like elements. 
  13292.  
  13293.  
  13294.  
  13295.    SRC 
  13296.  
  13297.        Specifies an image to appear preceding the note. The image is
  13298.  
  13299.        specified as a URI. This attribute may appear together with the
  13300.  
  13301.        MD attribute. 
  13302.  
  13303.  
  13304.  
  13305.    MD 
  13306.  
  13307.        Specifies a message digest or cryptographic checksum for the
  13308.  
  13309.        associated graphic specified by the SRC attribute. It is used
  13310.  
  13311.        when you want to be sure that a linked object is indeed the same
  13312.  
  13313.        one that the author intended, and hasn't been modified in any
  13314.  
  13315.        way. For instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which
  13316.  
  13317.        specifies an MD5 checksum encoded as a base64 character string.
  13318.  
  13319.        The MD attribute is generally allowed for all elements which
  13320.  
  13321.        support URI based links. 
  13322.  
  13323.  
  13324.  
  13325.  
  13326.  
  13327.  
  13328.  
  13329.  
  13330.  
  13331.  
  13332.  
  13333.  
  13334.  
  13335.  
  13336.  
  13337. Dave Raggett                                                          Page 117
  13338.  
  13339. HTML 3.0                                                       28th March 1995
  13340.  
  13341.  
  13342.  
  13343. Footnotes
  13344.  
  13345.  
  13346.  
  13347.    Permitted Context: %body.content, %flow, %block
  13348.  
  13349.    Content Model: %body.content 
  13350.  
  13351.  
  13352.  
  13353.    The FN element is designed for footnotes, and when practical,
  13354.  
  13355.    rendered as pop-up notes. 
  13356.  
  13357.  
  13358.  
  13359.    Example: 
  13360.  
  13361.  
  13362.  
  13363.    <DL>
  13364.  
  13365.    <DT>Hamlet: <DD>You should not have believed me, for virtue cannot
  13366.  
  13367.    so <a href="#fn1">inoculate</a> our old stock but we shall <a
  13368.  
  13369.    href="#fn2">relish of it</a>. I loved you not.
  13370.  
  13371.    
  13372.  
  13373.    <DT>Ophelia: <DD> I was the more deceived.
  13374.  
  13375.    
  13376.  
  13377.    <DT>Hamlet: <DD>Get thee to a nunnery. Why wouldst thou be a breeder
  13378.  
  13379.    of sinners? I am myself <a href="#fn2">indifferent honest</a> ...
  13380.  
  13381.    </DL> 
  13382.  
  13383.  
  13384.  
  13385.    <fn id=fn1><i>inoculate</i> - graft</fn>
  13386.  
  13387.    <fn id=fn2><i>relish of it</i> - smack of it (our old sinful nature)</fn>
  13388.  
  13389.    <fn id=fn3><i>indifferent honest</i> - moderately virtuous</fn> 
  13390.  
  13391.  
  13392.  
  13393.    Note: If %html.recommended is active, the HTML 3.0 DTD expects you
  13394.  
  13395.    to enclose plain text in a block element such as <P> e.g.
  13396.  
  13397.    
  13398.  
  13399.    <FN ID=fn23><P>A simple footnote</FN> 
  13400.  
  13401.  
  13402.  
  13403. Permitted Attributes
  13404.  
  13405.  
  13406.  
  13407.    ID 
  13408.  
  13409.        An SGML identifier used as the target for hypertext links or for
  13410.  
  13411.        naming particular elements in associated style sheets.
  13412.  
  13413.        Identifiers are NAME tokens and must be unique within the scope
  13414.  
  13415.        of the current document. 
  13416.  
  13417.  
  13418.  
  13419.    LANG 
  13420.  
  13421.        This is one of the ISO standard language abbreviations, e.g.
  13422.  
  13423.        "en.uk" for the variation of English spoken in the United
  13424.  
  13425.        Kingdom. It can be used by parsers to select language specific
  13426.  
  13427.        choices for quotation marks, ligatures and hypenation rules etc.
  13428.  
  13429.        The language attribute is composed from the two letter language
  13430.  
  13431.        code from ISO 639, optionally followed by a period and a two
  13432.  
  13433.        letter country code from ISO 3166. 
  13434.  
  13435.  
  13436.  
  13437.    CLASS 
  13438.  
  13439.        This a space separated list of SGML NAME tokens and is used to
  13440.  
  13441.        subclass tag names. By convention, the class names are
  13442.  
  13443.        interpreted hierarchically, with the most general class on the
  13444.  
  13445.        left and the most specific on the right, where classes are
  13446.  
  13447.        separated by a period. The CLASS attribute is most commonly used
  13448.  
  13449.  
  13450.  
  13451. Dave Raggett                                                          Page 118
  13452.  
  13453. HTML 3.0                                                       28th March 1995
  13454.  
  13455.  
  13456.  
  13457.        to attach a different style to some element, but it is
  13458.  
  13459.        recommended that where practical class names should be picked on
  13460.  
  13461.        the basis of the element's semantics, as this will permit other
  13462.  
  13463.        uses, such as restricting search through documents by matching
  13464.  
  13465.        on element class names. The conventions for choosing class names
  13466.  
  13467.        are outside the scope of this specification. 
  13468.  
  13469.  
  13470.  
  13471.  
  13472.  
  13473.  
  13474.  
  13475.  
  13476.  
  13477.  
  13478.  
  13479.  
  13480.  
  13481.  
  13482.  
  13483.  
  13484.  
  13485.  
  13486.  
  13487.  
  13488.  
  13489.  
  13490.  
  13491.  
  13492.  
  13493.  
  13494.  
  13495.  
  13496.  
  13497.  
  13498.  
  13499.  
  13500.  
  13501.  
  13502.  
  13503.  
  13504.  
  13505.  
  13506.  
  13507.  
  13508.  
  13509.  
  13510.  
  13511.  
  13512.  
  13513.  
  13514.  
  13515.  
  13516.  
  13517.  
  13518.  
  13519.  
  13520.  
  13521.  
  13522.  
  13523.  
  13524.  
  13525.  
  13526.  
  13527.  
  13528.  
  13529.  
  13530.  
  13531.  
  13532.  
  13533.  
  13534.  
  13535.  
  13536.  
  13537.  
  13538.  
  13539.  
  13540.  
  13541.  
  13542.  
  13543.  
  13544.  
  13545.  
  13546.  
  13547.  
  13548.  
  13549.  
  13550.  
  13551.  
  13552.  
  13553.  
  13554.  
  13555.  
  13556.  
  13557.  
  13558.  
  13559.  
  13560.  
  13561.  
  13562.  
  13563.  
  13564.  
  13565. Dave Raggett                                                          Page 119
  13566.  
  13567. HTML 3.0                                                       28th March 1995
  13568.  
  13569.  
  13570.  
  13571. Block Quotes
  13572.  
  13573.  
  13574.  
  13575.    Permitted Context: %Body.Content, %flow, %block
  13576.  
  13577.    Content Model: %Body.Content followed by optional CREDIT element 
  13578.  
  13579.  
  13580.  
  13581.    The BQ element is used for extended quotations. The tag name has
  13582.  
  13583.    been abbreviated from HTML 2.0's BLOCKQUOTE to the more convenient
  13584.  
  13585.    BQ, and the content model extended to allow the source of the
  13586.  
  13587.    quotation to be credited. 
  13588.  
  13589.  
  13590.  
  13591.    Example: 
  13592.  
  13593.  
  13594.  
  13595.    <BQ>
  13596.  
  13597.    <P>But now I shall shortly proffer him the strength and the
  13598.  
  13599.    courage of the Geats in combat. He who has the right to it shall
  13600.  
  13601.    go once more to the mead-drinking with confident heart, after
  13602.  
  13603.    the morning light of another day, the sun clothed in ethereal
  13604.  
  13605.    radiance, shines from the south upon the children of men.
  13606.  
  13607.    <CREDIT>Beowulf replying to Unferth, from the Anglo-Saxon poem
  13608.  
  13609.    "Beowolf", Cotton Vitellus A xv manuscript</CREDIT>
  13610.  
  13611.    </BQ>
  13612.  
  13613.  
  13614.  
  13615.    Note: If %html.recommended is active, the HTML 3.0 DTD expects you
  13616.  
  13617.    to enclose plain text in a block element such as <P> 
  13618.  
  13619.  
  13620.  
  13621. Permitted Attributes
  13622.  
  13623.  
  13624.  
  13625.    ID 
  13626.  
  13627.        An SGML identifier used as the target for hypertext links or for
  13628.  
  13629.        naming particular elements in associated style sheets.
  13630.  
  13631.        Identifiers are NAME tokens and must be unique within the scope
  13632.  
  13633.        of the current document. 
  13634.  
  13635.  
  13636.  
  13637.    LANG 
  13638.  
  13639.        This is one of the ISO standard language abbreviations, e.g.
  13640.  
  13641.        "en.uk" for the variation of English spoken in the United
  13642.  
  13643.        Kingdom. It can be used by parsers to select language specific
  13644.  
  13645.        choices for quotation marks, ligatures and hypenation rules etc.
  13646.  
  13647.        The language attribute is composed from the two letter language
  13648.  
  13649.        code from ISO 639, optionally followed by a period and a two
  13650.  
  13651.        letter country code from ISO 3166. 
  13652.  
  13653.  
  13654.  
  13655.    CLASS 
  13656.  
  13657.        This a space separated list of SGML NAME tokens and is used to
  13658.  
  13659.        subclass tag names. By convention, the class names are
  13660.  
  13661.        interpreted hierarchically, with the most general class on the
  13662.  
  13663.        left and the most specific on the right, where classes are
  13664.  
  13665.        separated by a period. The CLASS attribute is most commonly used
  13666.  
  13667.        to attach a different style to some element, but it is
  13668.  
  13669.        recommended that where practical class names should be picked on
  13670.  
  13671.        the basis of the element's semantics, as this will permit other
  13672.  
  13673.        uses, such as restricting search through documents by matching
  13674.  
  13675.        on element class names. The conventions for choosing class names
  13676.  
  13677.  
  13678.  
  13679. Dave Raggett                                                          Page 120
  13680.  
  13681. HTML 3.0                                                       28th March 1995
  13682.  
  13683.  
  13684.  
  13685.        are outside the scope of this specification. 
  13686.  
  13687.  
  13688.  
  13689.    CLEAR 
  13690.  
  13691.        This attribute is common to all block-like elements. When text
  13692.  
  13693.        flows around a figure or table in the margin, you sometimes want
  13694.  
  13695.        to start the block quote below the figure rather than alongside
  13696.  
  13697.        it. The CLEAR attribute allows you to move down unconditionally:
  13698.  
  13699.        
  13700.  
  13701.        
  13702.  
  13703.  
  13704.  
  13705.        clear=left
  13706.  
  13707.            move down until left margin is clear 
  13708.  
  13709.  
  13710.  
  13711.        clear=right
  13712.  
  13713.            move down until right margin is clear 
  13714.  
  13715.  
  13716.  
  13717.        clear=all
  13718.  
  13719.            move down until both margins are clear 
  13720.  
  13721.  
  13722.  
  13723.        Alternatively, you can decide to place the quote alongside the
  13724.  
  13725.        figure just so long as there is enough room. The minimum width
  13726.  
  13727.        needed is specified as:
  13728.  
  13729.        
  13730.  
  13731.        
  13732.  
  13733.  
  13734.  
  13735.        clear="40 en"
  13736.  
  13737.            move down until there is at least 40 en units free 
  13738.  
  13739.  
  13740.  
  13741.        clear="100 pixels"
  13742.  
  13743.            move down until there is at least 100 pixels free 
  13744.  
  13745.  
  13746.  
  13747.        The style sheet (or browser defaults) may provide default
  13748.  
  13749.        minimum widths for each class of block-like elements. 
  13750.  
  13751.  
  13752.  
  13753.    NOWRAP 
  13754.  
  13755.        The NOWRAP attribute is used when you don't want the browser to
  13756.  
  13757.        automatically wrap lines. You can then explicitly specify line
  13758.  
  13759.        breaks using the BR element. 
  13760.  
  13761.  
  13762.  
  13763.  
  13764.  
  13765.  
  13766.  
  13767.  
  13768.  
  13769.  
  13770.  
  13771.  
  13772.  
  13773.  
  13774.  
  13775.  
  13776.  
  13777.  
  13778.  
  13779.  
  13780.  
  13781.  
  13782.  
  13783.  
  13784.  
  13785.  
  13786.  
  13787.  
  13788.  
  13789.  
  13790.  
  13791.  
  13792.  
  13793. Dave Raggett                                                          Page 121
  13794.  
  13795. HTML 3.0                                                       28th March 1995
  13796.  
  13797.  
  13798.  
  13799. The ADDRESS element
  13800.  
  13801.  
  13802.  
  13803.    Permitted Context: %Body.Content
  13804.  
  13805.    Content Model: P or %text 
  13806.  
  13807.  
  13808.  
  13809.    The ADDRESS element specifies such information as address, signature
  13810.  
  13811.    and authorship for the current document, and typically placed at the
  13812.  
  13813.    top or bottom of the document. When used with %text, the element
  13814.  
  13815.    acts similar to a paragraph with breaks before and after. 
  13816.  
  13817.  
  13818.  
  13819.    Example: 
  13820.  
  13821.  
  13822.  
  13823.    <ADDRESS>
  13824.  
  13825.    Newsletter editor<BR>
  13826.  
  13827.    J.R. Brown<BR>
  13828.  
  13829.    8723 Buena Vista, Smallville, CT 01234&t;BR>
  13830.  
  13831.    Tel: +1 (123) 456 7890
  13832.  
  13833.    </ADDRESS>
  13834.  
  13835.  
  13836.  
  13837. Permitted Attributes
  13838.  
  13839.  
  13840.  
  13841.    ID 
  13842.  
  13843.        An SGML identifier used as the target for hypertext links or for
  13844.  
  13845.        naming particular elements in associated style sheets.
  13846.  
  13847.        Identifiers are NAME tokens and must be unique within the scope
  13848.  
  13849.        of the current document. 
  13850.  
  13851.  
  13852.  
  13853.    LANG 
  13854.  
  13855.        This is one of the ISO standard language abbreviations, e.g.
  13856.  
  13857.        "en.uk" for the variation of English spoken in the United
  13858.  
  13859.        Kingdom. It can be used by parsers to select language specific
  13860.  
  13861.        choices for quotation marks, ligatures and hypenation rules etc.
  13862.  
  13863.        The language attribute is composed from the two letter language
  13864.  
  13865.        code from ISO 639, optionally followed by a period and a two
  13866.  
  13867.        letter country code from ISO 3166. 
  13868.  
  13869.  
  13870.  
  13871.    CLASS 
  13872.  
  13873.        This a space separated list of SGML NAME tokens and is used to
  13874.  
  13875.        subclass tag names. By convention, the class names are
  13876.  
  13877.        interpreted hierarchically, with the most general class on the
  13878.  
  13879.        left and the most specific on the right, where classes are
  13880.  
  13881.        separated by a period. The CLASS attribute is most commonly used
  13882.  
  13883.        to attach a different style to some element, but it is
  13884.  
  13885.        recommended that where practical class names should be picked on
  13886.  
  13887.        the basis of the element's semantics, as this will permit other
  13888.  
  13889.        uses, such as restricting search through documents by matching
  13890.  
  13891.        on element class names. The conventions for choosing class names
  13892.  
  13893.        are outside the scope of this specification. 
  13894.  
  13895.  
  13896.  
  13897.    CLEAR 
  13898.  
  13899.        This attribute is common to all block-like elements. When text
  13900.  
  13901.        flows around a figure or table in the margin, you sometimes want
  13902.  
  13903.        to start the address element below the figure rather than
  13904.  
  13905.  
  13906.  
  13907. Dave Raggett                                                          Page 122
  13908.  
  13909. HTML 3.0                                                       28th March 1995
  13910.  
  13911.  
  13912.  
  13913.        alongside it. The CLEAR attribute allows you to move down unconditionally:
  13914.  
  13915.        
  13916.  
  13917.        
  13918.  
  13919.  
  13920.  
  13921.        clear=left
  13922.  
  13923.            move down until left margin is clear 
  13924.  
  13925.  
  13926.  
  13927.        clear=right
  13928.  
  13929.            move down until right margin is clear 
  13930.  
  13931.  
  13932.  
  13933.        clear=all
  13934.  
  13935.            move down until both margins are clear 
  13936.  
  13937.  
  13938.  
  13939.        Alternatively, you can decide to place the address alongside the
  13940.  
  13941.        figure just so long as there is enough room. The minimum width
  13942.  
  13943.        needed is specified as:
  13944.  
  13945.        
  13946.  
  13947.        
  13948.  
  13949.  
  13950.  
  13951.        clear="40 en"
  13952.  
  13953.            move down until there is at least 40 en units free 
  13954.  
  13955.  
  13956.  
  13957.        clear="100 pixels"
  13958.  
  13959.            move down until there is at least 100 pixels free 
  13960.  
  13961.  
  13962.  
  13963.        The style sheet (or browser defaults) may provide default
  13964.  
  13965.        minimum widths for each class of block-like elements. 
  13966.  
  13967.  
  13968.  
  13969.    NOWRAP 
  13970.  
  13971.        The NOWRAP attribute is used when you don't want the browser to
  13972.  
  13973.        automatically wrap lines. You can then explicitly specify line
  13974.  
  13975.        breaks using the BR element. 
  13976.  
  13977.  
  13978.  
  13979.  
  13980.  
  13981.  
  13982.  
  13983.  
  13984.  
  13985.  
  13986.  
  13987.  
  13988.  
  13989.  
  13990.  
  13991.  
  13992.  
  13993.  
  13994.  
  13995.  
  13996.  
  13997.  
  13998.  
  13999.  
  14000.  
  14001.  
  14002.  
  14003.  
  14004.  
  14005.  
  14006.  
  14007.  
  14008.  
  14009.  
  14010.  
  14011.  
  14012.  
  14013.  
  14014.  
  14015.  
  14016.  
  14017.  
  14018.  
  14019.  
  14020.  
  14021. Dave Raggett                                                          Page 123
  14022.  
  14023. HTML 3.0                                                       28th March 1995
  14024.  
  14025.  
  14026.  
  14027. The FORM element
  14028.  
  14029.  
  14030.  
  14031.    Permitted Context: %Body.Content
  14032.  
  14033.    Content Model: %Body.Content --plus-- INPUT, TEXTAREA, and SELECT
  14034.  
  14035.    Note you are not allowed to nest FORM elements! 
  14036.  
  14037.  
  14038.  
  14039.    HTML fill-out forms can be used for questionaires, hotel
  14040.  
  14041.    reservations, order forms, data entry and a wide variety of other
  14042.  
  14043.    applications. The form is specified as part of an HTML document. The
  14044.  
  14045.    user fills in the form and then --submits-- it. The user agent then
  14046.  
  14047.    sends the form's contents as designated by the FORM element.
  14048.  
  14049.    Typically, this is to an HTTP server, but you can also email form
  14050.  
  14051.    contents for asynchronous processing. 
  14052.  
  14053.  
  14054.  
  14055.    Forms are created by placing input fields within paragraphs,
  14056.  
  14057.    preformatted text, lists and tables. This gives considerable
  14058.  
  14059.    flexibility in designing the layout of forms. 
  14060.  
  14061.  
  14062.  
  14063.    HTML 3.0 supports the following kinds of fields: 
  14064.  
  14065.  
  14066.  
  14067.    *   Simple text fields 
  14068.  
  14069.  
  14070.  
  14071.    *   Multi-line text fields 
  14072.  
  14073.  
  14074.  
  14075.    *   Radio buttons 
  14076.  
  14077.  
  14078.  
  14079.    *   Checkboxes 
  14080.  
  14081.  
  14082.  
  14083.    *   Range controls (sliders, or knobs) 
  14084.  
  14085.  
  14086.  
  14087.    *   Single/multiple choice menus 
  14088.  
  14089.  
  14090.  
  14091.    *   Scribble on image 
  14092.  
  14093.  
  14094.  
  14095.    *   File widgets for attaching files to forms. 
  14096.  
  14097.  
  14098.  
  14099.    *   Submit buttons for sending form contents 
  14100.  
  14101.  
  14102.  
  14103.    *   Reset buttons for resetting fields to their initial values 
  14104.  
  14105.  
  14106.  
  14107.    *   Hidden fields for book keeping information 
  14108.  
  14109.  
  14110.  
  14111.    It is expected that future revisions to HTML will add support for
  14112.  
  14113.    audio fields, multi-row entry of database tables, and extending
  14114.  
  14115.    multi-line text fields to support a range of other data types, in
  14116.  
  14117.    addition to plain text. Client-side scripts will provide the means
  14118.  
  14119.    to constrain field values and to add new field types. 
  14120.  
  14121.  
  14122.  
  14123. Example of a form
  14124.  
  14125.  
  14126.  
  14127.    This fictitious example is a questionnaire. It uses the INPUT
  14128.  
  14129.    element for simple text fields, radio buttons, checkboxes, and the
  14130.  
  14131.    submit and reset buttons. The TEXTAREA field is used for a
  14132.  
  14133.  
  14134.  
  14135. Dave Raggett                                                          Page 124
  14136.  
  14137. HTML 3.0                                                       28th March 1995
  14138.  
  14139.  
  14140.  
  14141.    multi-line text entry field. The form fields are laid out with
  14142.  
  14143.    several paragraph elements and an unordered list. Notice the use of
  14144.  
  14145.    the NAME attribute to name each field: 
  14146.  
  14147.  
  14148.  
  14149.    
  14150.  
  14151.    <TITLE>Sample Questionaire</TITLE>
  14152.  
  14153.    <H1>Sample Questionaire</H1>
  14154.  
  14155.    
  14156.  
  14157.    <P>Please fill out this questionaire:
  14158.  
  14159.    
  14160.  
  14161.    <FORM METHOD=post ACTION="http://www.hal.com/sample">
  14162.  
  14163.    <P>Your name: <input name="name" size="48">
  14164.  
  14165.    <P><input name="male" type=radio> Male
  14166.  
  14167.    <P><input name="female" type=radio>Female 
  14168.  
  14169.      Number in family: <input name="family" type=int>
  14170.  
  14171.      
  14172.  
  14173.    <P>Cities in which you maintain a residence:
  14174.  
  14175.    
  14176.  
  14177.    <UL PLAIN>
  14178.  
  14179.    <LI><input name="city" type=checkbox value="kent"> Kent
  14180.  
  14181.    <LI><input name="city" type=checkbox value="miami"> Miami
  14182.  
  14183.    <LI>Others <textarea name="other" cols=48 rows=4></textarea>
  14184.  
  14185.    </UL>
  14186.  
  14187.    
  14188.  
  14189.    <P>Nickname: <INPUT NAME="nickname" size ="42">
  14190.  
  14191.    
  14192.  
  14193.    <P>Thank you for responding to this questionaire.
  14194.  
  14195.    <P><INPUT TYPE=SUBMIT> <INPUT TYPE=RESET>
  14196.  
  14197.    </FORM>
  14198.  
  14199.    
  14200.  
  14201.  
  14202.  
  14203.    Every form must be enclosed within a FORM element. There can be
  14204.  
  14205.    several forms in a single document, but the FORM element can't be
  14206.  
  14207.    nested. The browser is responsible for handling the input focus,
  14208.  
  14209.    i.e. which field will currently get keyboard input. Many platforms
  14210.  
  14211.    have existing conventions for forms, for example, using Tab and
  14212.  
  14213.    Shift-Tab to move the keyboard focus forwards and backwards between
  14214.  
  14215.    fields, and using the Enter (aka Return) key to submit the form. 
  14216.  
  14217.  
  14218.  
  14219.    This standard defines and requires support for the HTTP access
  14220.  
  14221.    protocol only. Under any protocol, the submitted contents of the
  14222.  
  14223.    form logically consist of a list of name/value pairs where the names
  14224.  
  14225.    are given by the NAME attributes of the various fields in the FORM.
  14226.  
  14227.    Each field will normally be given a distinct name. Several radio
  14228.  
  14229.    buttons can share the same name, as this is how you specify that
  14230.  
  14231.    they belong to the same control group - at any time, only one button
  14232.  
  14233.    in the group can be selected. 
  14234.  
  14235.  
  14236.  
  14237.    Note: The contents list of name/value pairs excludes unselected
  14238.  
  14239.    radio buttons and checkboxes. In general, any field with a null
  14240.  
  14241.    value can be omitted from the contents list. 
  14242.  
  14243.  
  14244.  
  14245. Client-side scripts and fill-out forms
  14246.  
  14247.  
  14248.  
  14249. Dave Raggett                                                          Page 125
  14250.  
  14251. HTML 3.0                                                       28th March 1995
  14252.  
  14253.  
  14254.  
  14255.  
  14256.  
  14257.    HTML 3.0 doesn't provide direct support for constraining the values
  14258.  
  14259.    entered into text fields, or for derived fields whose values are
  14260.  
  14261.    calculated from the values of other fields. Rather than extending
  14262.  
  14263.    the markup to support these features, HTML 3.0 provides a means for
  14264.  
  14265.    associating the form with a script. Support for scripts is not
  14266.  
  14267.    required, however, and the HTML 3.0 specification doesn't cover the
  14268.  
  14269.    scripting languages or the details of their interface with the user
  14270.  
  14271.    agent 
  14272.  
  14273.  
  14274.  
  14275.    The SCRIPT attribute of the FORM element specifies the script via a
  14276.  
  14277.    URI. The user agent down-loads the script and interprets it locally.
  14278.  
  14279.    Scripts handle a variety of messages for individual fields and the
  14280.  
  14281.    form as a whole. These messages correspond to events such as: 
  14282.  
  14283.  
  14284.  
  14285.    *   Enter/Leave Form (for initialization and clean up) 
  14286.  
  14287.  
  14288.  
  14289.    *   When a field gains or loses the input focus 
  14290.  
  14291.  
  14292.  
  14293.    *   Mouse clicks and drags over a field 
  14294.  
  14295.  
  14296.  
  14297.    *   Keyboard events 
  14298.  
  14299.  
  14300.  
  14301.    Scripts can examine and set properties of fields. They can also
  14302.  
  14303.    examine a small set of standard properties of the user agent, for
  14304.  
  14305.    instance the user's name, the time of day, the type of user agent,
  14306.  
  14307.    and so on. 
  14308.  
  14309.  
  14310.  
  14311.    Scripts can't do anything that might jeopardize the user or the host
  14312.  
  14313.    machine. Scripts can't send messages over the network, or read or
  14314.  
  14315.    write files. The library calls that are allowed are restricted to a
  14316.  
  14317.    very small and well defined set. These precautions are necessary for
  14318.  
  14319.    untrusted scripts. It is envisaged that script interpreters will
  14320.  
  14321.    offer a much wider application programming interface to trusted
  14322.  
  14323.    scripts, as determined on the basis of a digital signature by a
  14324.  
  14325.    trusted third party. 
  14326.  
  14327.  
  14328.  
  14329. Permitted Attributes for FORM
  14330.  
  14331.  
  14332.  
  14333.    ACTION 
  14334.  
  14335.        The ACTION attribute is a URL specifying the location to which
  14336.  
  14337.        the contents of the form is submitted to elicit a response. If
  14338.  
  14339.        the ACTION is missing, the URL for the document itself is
  14340.  
  14341.        assumed. The way data is submitted varies with the access
  14342.  
  14343.        protocol of the URL, and with the values of the METHOD and
  14344.  
  14345.        ENCTYPE attributes. 
  14346.  
  14347.  
  14348.  
  14349.    METHOD 
  14350.  
  14351.        This specifies variations in the protocol used to send the form
  14352.  
  14353.        contents. It is currently restricted to GET (the default) or
  14354.  
  14355.        POST. The attribute was introduced to inform user agents which
  14356.  
  14357.        HTTP methods the server supports. 
  14358.  
  14359.  
  14360.  
  14361.  
  14362.  
  14363. Dave Raggett                                                          Page 126
  14364.  
  14365. HTML 3.0                                                       28th March 1995
  14366.  
  14367.  
  14368.  
  14369.    ENCTYPE 
  14370.  
  14371.        This attribute specifies the MIME content type to be used to
  14372.  
  14373.        encode the form contents. It defaults to the string:
  14374.  
  14375.        "application/x-www-form-urlencoded" 
  14376.  
  14377.  
  14378.  
  14379.    SCRIPT 
  14380.  
  14381.        This can be used to give a URI for a script. The scripting
  14382.  
  14383.        language and the interface with the user agent is not part of
  14384.  
  14385.        the HTML 3.0 specification. 
  14386.  
  14387.  
  14388.  
  14389.  
  14390.  
  14391.  
  14392.  
  14393.  
  14394.  
  14395.  
  14396.  
  14397.  
  14398.  
  14399.  
  14400.  
  14401.  
  14402.  
  14403.  
  14404.  
  14405.  
  14406.  
  14407.  
  14408.  
  14409.  
  14410.  
  14411.  
  14412.  
  14413.  
  14414.  
  14415.  
  14416.  
  14417.  
  14418.  
  14419.  
  14420.  
  14421.  
  14422.  
  14423.  
  14424.  
  14425.  
  14426.  
  14427.  
  14428.  
  14429.  
  14430.  
  14431.  
  14432.  
  14433.  
  14434.  
  14435.  
  14436.  
  14437.  
  14438.  
  14439.  
  14440.  
  14441.  
  14442.  
  14443.  
  14444.  
  14445.  
  14446.  
  14447.  
  14448.  
  14449.  
  14450.  
  14451.  
  14452.  
  14453.  
  14454.  
  14455.  
  14456.  
  14457.  
  14458.  
  14459.  
  14460.  
  14461.  
  14462.  
  14463.  
  14464.  
  14465.  
  14466.  
  14467.  
  14468.  
  14469.  
  14470.  
  14471.  
  14472.  
  14473.  
  14474.  
  14475.  
  14476.  
  14477. Dave Raggett                                                          Page 127
  14478.  
  14479. HTML 3.0                                                       28th March 1995
  14480.  
  14481.  
  14482.  
  14483. The INPUT fields
  14484.  
  14485.  
  14486.  
  14487.    Permitted Context: %Body.Content
  14488.  
  14489.    Content Model: --Empty!-- 
  14490.  
  14491.  
  14492.  
  14493.    The INPUT element is used for a wide variety of different kinds of
  14494.  
  14495.    entry fields within HTML fill-out forms. The TYPE attribute
  14496.  
  14497.    determines the type of field. 
  14498.  
  14499.  
  14500.  
  14501. Single-line text fields --(type=text)--
  14502.  
  14503.  
  14504.  
  14505.    These are used for entering short text strings, like peoples names,
  14506.  
  14507.    numbers and dates. The visible width of the field in characters can
  14508.  
  14509.    be set with the SIZE attribute. When using a variable pitch font,
  14510.  
  14511.    the SIZE attribute sets the width in en units (half the point size).
  14512.  
  14513.    The user should be able to enter more than this, with the contents
  14514.  
  14515.    of the field scrolling horizontally as needed. The MAXLENGTH
  14516.  
  14517.    attribute can be used to specify the maximum number of characters
  14518.  
  14519.    permitted for the string. 
  14520.  
  14521.  
  14522.  
  14523.    If the TYPE attribute is missing, the INPUT element is assumed to be
  14524.  
  14525.    a single-line text field. The NAME attribute is used to identify the
  14526.  
  14527.    field when the form's contents are converted to the name/value list.
  14528.  
  14529.    The VALUE field can be used to initialize the text string. Character
  14530.  
  14531.    entities can be used include accented characters in this string. 
  14532.  
  14533.  
  14534.  
  14535.    Note: Use the TEXTAREA element for multi-line text entry fields. 
  14536.  
  14537.  
  14538.  
  14539. Password fields --(type=password)--
  14540.  
  14541.  
  14542.  
  14543.    This is the same as single-line text fields except that each
  14544.  
  14545.    character typed is echoed by a shadow character, e.g. an asterisk or
  14546.  
  14547.    the space character. The user can see how many characters that have
  14548.  
  14549.    been typed but not what was typed. 
  14550.  
  14551.  
  14552.  
  14553. Checkbox fields --(type=checkbox)--
  14554.  
  14555.  
  14556.  
  14557.    A checkbox field has two states: selected and unselected.Its
  14558.  
  14559.    name/value pair only appear in the submitted data when selected.
  14560.  
  14561.    Checkboxes are used for boolean attributes. They can also be used
  14562.  
  14563.    for attributes which can take multiple values at the same time. This
  14564.  
  14565.    is represented by a checkbox for each optional value, with the same
  14566.  
  14567.    name for each of the checkboxes. Unselected checkboxes don't appear
  14568.  
  14569.    in the submitted data. Both NAME and VALUE are required for
  14570.  
  14571.    checkboxes. To initialize the checkbox to its selected state,
  14572.  
  14573.    include the CHECKED attribute. Checkboxes provide an alternative to
  14574.  
  14575.    using the SELECT element for multiple-choice menus. 
  14576.  
  14577.  
  14578.  
  14579. Radio Buttons --(type=radio)--
  14580.  
  14581.  
  14582.  
  14583.    Suitable for attributes which can take a single value from a set of
  14584.  
  14585.    alternatives. All radio buttons in the same group should be given
  14586.  
  14587.    the same NAME. Only the selected radio button in the group generates
  14588.  
  14589.  
  14590.  
  14591. Dave Raggett                                                          Page 128
  14592.  
  14593. HTML 3.0                                                       28th March 1995
  14594.  
  14595.  
  14596.  
  14597.    a name/value pair in the submitted data. Both NAME and VALUE are
  14598.  
  14599.    required for radio buttons. To initialize the radio button to its
  14600.  
  14601.    selected state, include the CHECKED attribute. Radio buttons offer
  14602.  
  14603.    an alternative to using the SELECT element for single choice menus. 
  14604.  
  14605.  
  14606.  
  14607. Range fields --(type=range)--
  14608.  
  14609.  
  14610.  
  14611.    These allow the user to pick a numeric value in between a lower and
  14612.  
  14613.    an upper bound. The range is specified with the MIN and MAX
  14614.  
  14615.    attributes, as in: 
  14616.  
  14617.  
  14618.  
  14619.        <input name=rating type=range min=1 max=10>
  14620.  
  14621.  
  14622.  
  14623.    If either the lower or upper bound is a real number, then the range
  14624.  
  14625.    is real valued, otherwise it is restricted to integer values only.
  14626.  
  14627.    The VALUE attribute can be used to initialize the range field. It an
  14628.  
  14629.    error for the value to lie outside the specified range. The default
  14630.  
  14631.    value is midway between the lower and upper limits. 
  14632.  
  14633.  
  14634.  
  14635. Scribble on Image --(type=scribble)--
  14636.  
  14637.  
  14638.  
  14639.    These fields allow the user to scribble with a pointing device (such
  14640.  
  14641.    as a mouse or pen) on top of a predefined image. The image is
  14642.  
  14643.    specified as a URI with the SRC attribute. If the user agent can't
  14644.  
  14645.    display images, or can't provide a means for users to scribble on
  14646.  
  14647.    the image, then the field should be treated as a text field. The
  14648.  
  14649.    VALUE attribute can be used to initialize the text field for these
  14650.  
  14651.    users. It is ignored when the user agent provides scribble on image
  14652.  
  14653.    support. 
  14654.  
  14655.  
  14656.  
  14657. File Attachments --(type=file)--
  14658.  
  14659.  
  14660.  
  14661.    This allows users to attach one or more files to be submitted with
  14662.  
  14663.    the form's contents. The ACCEPT attribute can be used to specify a
  14664.  
  14665.    comma separated list of MIME content types. These are used to
  14666.  
  14667.    restrict the kinds of files that can be attached to the form. For
  14668.  
  14669.    instance: 
  14670.  
  14671.  
  14672.  
  14673.        <input name=pictures type=file accept="image/*">
  14674.  
  14675.  
  14676.  
  14677.    This example restricts files to match "image/*", i.e. to registered
  14678.  
  14679.    MIME image types. For windows based user agents, it is suggested
  14680.  
  14681.    that file fields display the name of the last file attached, with
  14682.  
  14683.    the ability to open a file dialog box to view the complete list of
  14684.  
  14685.    files attached so far. The accept attribute then acts to specify the
  14686.  
  14687.    filter on the list of candidate files. 
  14688.  
  14689.  
  14690.  
  14691. Hidden fields --(type=hidden)--
  14692.  
  14693.  
  14694.  
  14695.    No field is presented to the user, but the content of the field is
  14696.  
  14697.    sent with the submitted form. This value may be used to transmit
  14698.  
  14699.    state information about client/server interaction, for instance a
  14700.  
  14701.    transaction identifier. These fields are needed because HTTP servers
  14702.  
  14703.  
  14704.  
  14705. Dave Raggett                                                          Page 129
  14706.  
  14707. HTML 3.0                                                       28th March 1995
  14708.  
  14709.  
  14710.  
  14711.    don't preserve state information from one request to the next. 
  14712.  
  14713.  
  14714.  
  14715. Submit buttons --(type=submit)--
  14716.  
  14717.  
  14718.  
  14719.    These are buttons that when pressed submit the form's data. You can
  14720.  
  14721.    use the VALUE attribute to provide a non-editable label to be
  14722.  
  14723.    displayed on the button. The default label is application-specific.
  14724.  
  14725.    A graphic can be specified for the submit button using the SRC
  14726.  
  14727.    attribute. 
  14728.  
  14729.  
  14730.  
  14731.    The submit button normally makes no contribution to the submitted
  14732.  
  14733.    data. The exception is when the field includes a NAME attribute, in
  14734.  
  14735.    which case, the name and value attributes are included with the
  14736.  
  14737.    submitted data. This can be used to distinguish which submit button
  14738.  
  14739.    the user pressed. 
  14740.  
  14741.  
  14742.  
  14743. Image fields --(type=image)--
  14744.  
  14745.  
  14746.  
  14747.    These act like submit buttons but include the location where the
  14748.  
  14749.    user clicked on the image. The image is specified with the SRC
  14750.  
  14751.    attribute. 
  14752.  
  14753.  
  14754.  
  14755.    --Should we phase these out, in favor of using SUBMIT? For this, we
  14756.  
  14757.    would need to ensure that the submit button included the location
  14758.  
  14759.    clicked when a graphic was specified with SRC.-- 
  14760.  
  14761.  
  14762.  
  14763. Reset buttons --(type=reset)--
  14764.  
  14765.  
  14766.  
  14767.    When a reset button is pressed, the form's fields are reset to their
  14768.  
  14769.    specified initial values. The label to be displayed on the button
  14770.  
  14771.    may be specified just as for the SUBMIT button. Likewise, the SRC
  14772.  
  14773.    attribute can be used to specify a graphic. 
  14774.  
  14775.  
  14776.  
  14777. ------------------------------------------------------------------------------
  14778.  
  14779. Permitted Attributes for the INPUT element
  14780.  
  14781.  
  14782.  
  14783.    ID 
  14784.  
  14785.        An SGML identifier used as the target for hypertext links or for
  14786.  
  14787.        naming particular elements in associated style sheets.
  14788.  
  14789.        Identifiers are NAME tokens and must be unique within the scope
  14790.  
  14791.        of the current document. 
  14792.  
  14793.  
  14794.  
  14795.    LANG 
  14796.  
  14797.        This is one of the ISO standard language abbreviations, e.g.
  14798.  
  14799.        "en.uk" for the variation of English spoken in the United
  14800.  
  14801.        Kingdom. It can be used by parsers to select language specific
  14802.  
  14803.        choices for quotation marks, ligatures and hypenation rules etc.
  14804.  
  14805.        The language attribute is composed from the two letter language
  14806.  
  14807.        code from ISO 639, optionally followed by a period and a two
  14808.  
  14809.        letter country code from ISO 3166. 
  14810.  
  14811.  
  14812.  
  14813.    CLASS 
  14814.  
  14815.        This a space separated list of SGML NAME tokens and is used to
  14816.  
  14817.  
  14818.  
  14819. Dave Raggett                                                          Page 130
  14820.  
  14821. HTML 3.0                                                       28th March 1995
  14822.  
  14823.  
  14824.  
  14825.        subclass tag names. By convention, the class names are
  14826.  
  14827.        interpreted hierarchically, with the most general class on the
  14828.  
  14829.        left and the most specific on the right, where classes are
  14830.  
  14831.        separated by a period. The CLASS attribute is most commonly used
  14832.  
  14833.        to attach a different style to some element, but it is
  14834.  
  14835.        recommended that where practical class names should be picked on
  14836.  
  14837.        the basis of the element's semantics, as this will permit other
  14838.  
  14839.        uses, such as restricting search through documents by matching
  14840.  
  14841.        on element class names. The conventions for choosing class names
  14842.  
  14843.        are outside the scope of this specification. 
  14844.  
  14845.  
  14846.  
  14847.    TYPE
  14848.  
  14849.        Defines the type of the field as one of: TEXT, PASSWORD,
  14850.  
  14851.        CHECKBOX, RADIO, RANGE, FILE, SCRIBBLE, HIDDEN, SUBMIT, IMAGE or
  14852.  
  14853.        RESET. It defaults to TEXT. The attribute value is an SGML name
  14854.  
  14855.        token and and as such is case insensitive. 
  14856.  
  14857.  
  14858.  
  14859.    NAME
  14860.  
  14861.        This provides a character string used to name the field when
  14862.  
  14863.        submitting the form's data. Several fields may share the same
  14864.  
  14865.        name, for instance a group of radio buttons or checkboxes. The
  14866.  
  14867.        name is case insensitive. 
  14868.  
  14869.  
  14870.  
  14871.    VALUE
  14872.  
  14873.        This is a character string or number which is used to initialize
  14874.  
  14875.        text, range and hidden fields. 
  14876.  
  14877.  
  14878.  
  14879.    DISABLED
  14880.  
  14881.        When present, the field should be rendered as normal, but can't
  14882.  
  14883.        be modified by the user. Where practical the rendering should
  14884.  
  14885.        provide a cue that the field is disabled e.g. by graying out the
  14886.  
  14887.        text, changing the color of the background or similar. 
  14888.  
  14889.  
  14890.  
  14891.    ERROR
  14892.  
  14893.        This attribute specifies an error message explaining why the
  14894.  
  14895.        field's current value is incorrect. When this attribute is
  14896.  
  14897.        missing, the field can be assumed to be ok. User agents are
  14898.  
  14899.        recommended to provide a cue to indicate that the field is in
  14900.  
  14901.        error. 
  14902.  
  14903.  
  14904.  
  14905.    CHECKED
  14906.  
  14907.        The presence of this attribute indicates that a radio button or
  14908.  
  14909.        checbox should be initialized to its selected state. 
  14910.  
  14911.  
  14912.  
  14913.    SIZE
  14914.  
  14915.        This specifies the visible width of a text or password field.
  14916.  
  14917.        For fixed pitch fonts, the size attribute specifies the maximum
  14918.  
  14919.        number of characters visible, while for variable pitch fonts,
  14920.  
  14921.        the attribute specifies the width in en units (half the point
  14922.  
  14923.        size). 
  14924.  
  14925.  
  14926.  
  14927.    MAXLENGTH
  14928.  
  14929.        Specifies the maximum number of characters permitted for text
  14930.  
  14931.  
  14932.  
  14933. Dave Raggett                                                          Page 131
  14934.  
  14935. HTML 3.0                                                       28th March 1995
  14936.  
  14937.  
  14938.  
  14939.        and password fields. 
  14940.  
  14941.  
  14942.  
  14943.    MIN
  14944.  
  14945.        This is an integer or real number and specifies the lower bound
  14946.  
  14947.        for a range field. 
  14948.  
  14949.  
  14950.  
  14951.    MAX
  14952.  
  14953.        This is an integer or real number and specifies the upper bound
  14954.  
  14955.        for a range field. 
  14956.  
  14957.  
  14958.  
  14959.    ACCEPT
  14960.  
  14961.        A comma separated list of MIME content types for use in
  14962.  
  14963.        restricting the types of files that can be attached to a form
  14964.  
  14965.        with a file field. 
  14966.  
  14967.  
  14968.  
  14969.    SRC (Source) 
  14970.  
  14971.        The SRC attribute specifies the URI for an image for use as the
  14972.  
  14973.        background of a SCRIBBLE, IMAGE, SUBMIT or RESET field. Its
  14974.  
  14975.        syntax is the same as that of the HREF attribute of the <A> tag. 
  14976.  
  14977.  
  14978.  
  14979.    MD 
  14980.  
  14981.        Specifies a message digest or cryptographic checksum for the
  14982.  
  14983.        associated image specified by the SRC attribute. It is used when
  14984.  
  14985.        you want to be sure that the image is indeed the same one that
  14986.  
  14987.        the author intended, and hasn't been modified in any way. For
  14988.  
  14989.        instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which specifies
  14990.  
  14991.        an MD5 checksum encoded as a base64 character string. The MD
  14992.  
  14993.        attribute is generally allowed for all elements which support
  14994.  
  14995.        URI based links. 
  14996.  
  14997.  
  14998.  
  14999.    ALIGN 
  15000.  
  15001.        This attribute only applies to fields with background images,
  15002.  
  15003.        i.e. SCRIBBLE, IMAGE, SUBMIT or RESET fields. It is intended to
  15004.  
  15005.        provide the same positional control as for the IMG element. The
  15006.  
  15007.        ALIGN attribute takes the values TOP or MIDDLE or BOTTOM,
  15008.  
  15009.        defining whether the top or middle or bottom of the field should
  15010.  
  15011.        be aligned with the baseline for the text line in which the
  15012.  
  15013.        INPUT element appears. 
  15014.  
  15015.  
  15016.  
  15017.        With ALIGN=LEFT, the field will float down and over to the
  15018.  
  15019.        current left margin, and subsequent text will wrap around the
  15020.  
  15021.        right hand side of the field. Likewise for ALIGN=RIGHT, the
  15022.  
  15023.        field aligns with the current right margin and, and text wraps
  15024.  
  15025.        around the left. 
  15026.  
  15027.  
  15028.  
  15029.  
  15030.  
  15031.  
  15032.  
  15033.  
  15034.  
  15035.  
  15036.  
  15037.  
  15038.  
  15039.  
  15040.  
  15041.  
  15042.  
  15043.  
  15044.  
  15045.  
  15046.  
  15047. Dave Raggett                                                          Page 132
  15048.  
  15049. HTML 3.0                                                       28th March 1995
  15050.  
  15051.  
  15052.  
  15053. TEXTAREA
  15054.  
  15055.  
  15056.  
  15057.    Permitted Context: %Body.Content
  15058.  
  15059.    Content Model: PCDATA (i.e. text and entities) 
  15060.  
  15061.  
  15062.  
  15063. TEXTAREA
  15064.  
  15065.  
  15066.  
  15067.    To let users enter more than one line of text, use the TEXTAREA
  15068.  
  15069.    element. For example: 
  15070.  
  15071.  
  15072.  
  15073.    <TEXTAREA NAME="address" ROWS=64 COLS=6>
  15074.  
  15075.    HaL Computer Systems
  15076.  
  15077.    1315 Dell Avenue
  15078.  
  15079.    Campbell, California 95008
  15080.  
  15081.    </TEXTAREA>
  15082.  
  15083.    
  15084.  
  15085.  
  15086.  
  15087.    The text up to the end tag is used to initialize the field's value.
  15088.  
  15089.    The initialization text can contain SGML entities, e.g. for accented
  15090.  
  15091.    characters, but is otherwise treated as literal text. This end tag
  15092.  
  15093.    is always required even if the field is initially blank. When
  15094.  
  15095.    submitting a form, the line terminators are implementation
  15096.  
  15097.    dependent. Servers should be capable of recognizing a CR immediately
  15098.  
  15099.    followed by an LF, or separate CRs and LFs as all signifying the
  15100.  
  15101.    ends of lines. User agents should tolerate the same range of line
  15102.  
  15103.    terminators within the initialization text. 
  15104.  
  15105.  
  15106.  
  15107.    In a typical rendering, the ROWS and COLS attributes determine the
  15108.  
  15109.    visible dimension of the field in characters. The field is rendered
  15110.  
  15111.    in a fixed-width font. User agents should allow text to grow beyond
  15112.  
  15113.    these limits by scrolling as needed. The user agent is recommended
  15114.  
  15115.    to wrap words as they are entered, to fit within the textarea field.
  15116.  
  15117.    It is further recommended that a means is provided for users to turn
  15118.  
  15119.    this feature off and on. 
  15120.  
  15121.  
  15122.  
  15123.    Note: In the initial design for forms, multi-line text fields were
  15124.  
  15125.    supported by the INPUT element with TYPE=TEXT. Unfortunately, this
  15126.  
  15127.    causes problems for fields with long text values as SGML limits the
  15128.  
  15129.    length of attribute literals. The HTML 2.0 DTD allows for up to 1024
  15130.  
  15131.    characters (the SGML default is only 240 characters). 
  15132.  
  15133.  
  15134.  
  15135. Permitted Attributes
  15136.  
  15137.  
  15138.  
  15139.    ID 
  15140.  
  15141.        An SGML identifier used as the target for hypertext links or for
  15142.  
  15143.        naming particular elements in associated style sheets.
  15144.  
  15145.        Identifiers are NAME tokens and must be unique within the scope
  15146.  
  15147.        of the current document. 
  15148.  
  15149.  
  15150.  
  15151.    LANG 
  15152.  
  15153.        This is one of the ISO standard language abbreviations, e.g.
  15154.  
  15155.        "en.uk" for the variation of English spoken in the United
  15156.  
  15157.        Kingdom. It can be used by parsers to select language specific
  15158.  
  15159.  
  15160.  
  15161. Dave Raggett                                                          Page 133
  15162.  
  15163. HTML 3.0                                                       28th March 1995
  15164.  
  15165.  
  15166.  
  15167.        choices for quotation marks, ligatures and hypenation rules etc.
  15168.  
  15169.        The language attribute is composed from the two letter language
  15170.  
  15171.        code from ISO 639, optionally followed by a period and a two
  15172.  
  15173.        letter country code from ISO 3166. 
  15174.  
  15175.  
  15176.  
  15177.    CLASS 
  15178.  
  15179.        This a space separated list of SGML NAME tokens and is used to
  15180.  
  15181.        subclass tag names. By convention, the class names are
  15182.  
  15183.        interpreted hierarchically, with the most general class on the
  15184.  
  15185.        left and the most specific on the right, where classes are
  15186.  
  15187.        separated by a period. The CLASS attribute is most commonly used
  15188.  
  15189.        to attach a different style to some element, but it is
  15190.  
  15191.        recommended that where practical class names should be picked on
  15192.  
  15193.        the basis of the element's semantics, as this will permit other
  15194.  
  15195.        uses, such as restricting search through documents by matching
  15196.  
  15197.        on element class names. The conventions for choosing class names
  15198.  
  15199.        are outside the scope of this specification. 
  15200.  
  15201.  
  15202.  
  15203.    NAME 
  15204.  
  15205.        The formal name of the field which is used in the form's
  15206.  
  15207.        contents list. 
  15208.  
  15209.  
  15210.  
  15211.    ROWS 
  15212.  
  15213.        This gives the visible number of text lines shown by the field.
  15214.  
  15215.        User agents should allow text to grow beyond these limits by
  15216.  
  15217.        scrolling as needed. 
  15218.  
  15219.  
  15220.  
  15221.    COLS 
  15222.  
  15223.        The visible number of characters across the field. User agents
  15224.  
  15225.        should allow text to grow beyond these limits by scrolling as
  15226.  
  15227.        needed. 
  15228.  
  15229.  
  15230.  
  15231.    DISABLED
  15232.  
  15233.        When present, the field should be rendered as normal, but can't
  15234.  
  15235.        be modified by the user. Where practical the rendering should
  15236.  
  15237.        provide a cue that the field is disabled e.g. by graying out the
  15238.  
  15239.        text, changing the color of the background or similar. 
  15240.  
  15241.  
  15242.  
  15243.    ERROR
  15244.  
  15245.        This attribute specifies an error message explaining why the
  15246.  
  15247.        field's current value is incorrect. When this attribute is
  15248.  
  15249.        missing, the field can be assumed to be ok. User agents are
  15250.  
  15251.        recommended to provide a cue to indicate that the field is in
  15252.  
  15253.        error. 
  15254.  
  15255.  
  15256.  
  15257.    ALIGN 
  15258.  
  15259.        Take values TOP or MIDDLE or BOTTOM, defining whether the top or
  15260.  
  15261.        middle or bottom row of the field should be aligned with the
  15262.  
  15263.        baseline for the text line in which the TEXTAREA element
  15264.  
  15265.        appears. The default is align=top. 
  15266.  
  15267.  
  15268.  
  15269.        With ALIGN=LEFT, the field will float down and over to the
  15270.  
  15271.        current left margin, and subsequent text will wrap around the
  15272.  
  15273.  
  15274.  
  15275. Dave Raggett                                                          Page 134
  15276.  
  15277. HTML 3.0                                                       28th March 1995
  15278.  
  15279.  
  15280.  
  15281.        right hand side of the field. Likewise for ALIGN=RIGHT, the
  15282.  
  15283.        field aligns with the current right margin and, and text wraps
  15284.  
  15285.        around the left. 
  15286.  
  15287.  
  15288.  
  15289.  
  15290.  
  15291.  
  15292.  
  15293.  
  15294.  
  15295.  
  15296.  
  15297.  
  15298.  
  15299.  
  15300.  
  15301.  
  15302.  
  15303.  
  15304.  
  15305.  
  15306.  
  15307.  
  15308.  
  15309.  
  15310.  
  15311.  
  15312.  
  15313.  
  15314.  
  15315.  
  15316.  
  15317.  
  15318.  
  15319.  
  15320.  
  15321.  
  15322.  
  15323.  
  15324.  
  15325.  
  15326.  
  15327.  
  15328.  
  15329.  
  15330.  
  15331.  
  15332.  
  15333.  
  15334.  
  15335.  
  15336.  
  15337.  
  15338.  
  15339.  
  15340.  
  15341.  
  15342.  
  15343.  
  15344.  
  15345.  
  15346.  
  15347.  
  15348.  
  15349.  
  15350.  
  15351.  
  15352.  
  15353.  
  15354.  
  15355.  
  15356.  
  15357.  
  15358.  
  15359.  
  15360.  
  15361.  
  15362.  
  15363.  
  15364.  
  15365.  
  15366.  
  15367.  
  15368.  
  15369.  
  15370.  
  15371.  
  15372.  
  15373.  
  15374.  
  15375.  
  15376.  
  15377.  
  15378.  
  15379.  
  15380.  
  15381.  
  15382.  
  15383.  
  15384.  
  15385.  
  15386.  
  15387.  
  15388.  
  15389. Dave Raggett                                                          Page 135
  15390.  
  15391. HTML 3.0                                                       28th March 1995
  15392.  
  15393.  
  15394.  
  15395. The SELECT element
  15396.  
  15397.  
  15398.  
  15399.    Permitted Context: %Body.Content --but-- must be within FORM
  15400.  
  15401.    Content Model: one ore more OPTION elements 
  15402.  
  15403.  
  15404.  
  15405.    The SELECT element is used for single and multiple choice menus. It
  15406.  
  15407.    is generally rendered as a drop-down or pop-up menu, and offers a
  15408.  
  15409.    more compact alternative to using radio buttons for single choice
  15410.  
  15411.    menus, or checkboxes for multiple choice menus. 
  15412.  
  15413.  
  15414.  
  15415.    Example: 
  15416.  
  15417.  
  15418.  
  15419.    <SELECT NAME="flavor">
  15420.  
  15421.    <OPTION>Vanilla
  15422.  
  15423.    <OPTION>Strawberry
  15424.  
  15425.    <OPTION>Rum and Raisin
  15426.  
  15427.    <OPTION>Peach and Orange
  15428.  
  15429.    </SELECT>
  15430.  
  15431.    
  15432.  
  15433.  
  15434.  
  15435.    This is a single choice menu. When you want a multiple choice menu,
  15436.  
  15437.    you need to include the MULTIPLE attribute with the SELECT element,
  15438.  
  15439.    e.g. <SELECT MULTIPLE NAME="flavor">. 
  15440.  
  15441.  
  15442.  
  15443.    The NAME attribute is used when creating the name/value list
  15444.  
  15445.    describing the form's contents. A name/value pair is contributed for
  15446.  
  15447.    each selected option. The value is taken from the OPTION's VALUE
  15448.  
  15449.    attribute, and defaults to the content of the OPTION when the VALUE
  15450.  
  15451.    attribute is missing. 
  15452.  
  15453.  
  15454.  
  15455.    For single choice menus, if no option is initially marked as
  15456.  
  15457.    selected, then the first item listed is selected. This is
  15458.  
  15459.    inappropriate for multiple choice menus, though. 
  15460.  
  15461.  
  15462.  
  15463. Graphical Menus
  15464.  
  15465.  
  15466.  
  15467.    HTML 3.0 extends the SELECT element to support graphical menus. This
  15468.  
  15469.    is allows you to specify an image for the SELECT element, and
  15470.  
  15471.    hotzones for each of the OPTION elements. In this way the same menu
  15472.  
  15473.    can be rendered as a conventional text-based menu for non-graphical
  15474.  
  15475.    user agents and a graphical menu for graphical user agents. 
  15476.  
  15477.  
  15478.  
  15479.    The image is specified in the same way as for IMG elements. This
  15480.  
  15481.    means you can specify suggested values for the width and height. You
  15482.  
  15483.    can also float the image to the left or right margins and flow other
  15484.  
  15485.    elements around it. The hotzones for OPTION elements are specified
  15486.  
  15487.    using the SHAPE attribute in the same way as for anchor elements. 
  15488.  
  15489.  
  15490.  
  15491. Permitted Attributes
  15492.  
  15493.  
  15494.  
  15495.    ID 
  15496.  
  15497.        An SGML identifier used as the target for hypertext links or for
  15498.  
  15499.        naming particular elements in associated style sheets.
  15500.  
  15501.  
  15502.  
  15503. Dave Raggett                                                          Page 136
  15504.  
  15505. HTML 3.0                                                       28th March 1995
  15506.  
  15507.  
  15508.  
  15509.        Identifiers are NAME tokens and must be unique within the scope
  15510.  
  15511.        of the current document. 
  15512.  
  15513.  
  15514.  
  15515.    LANG 
  15516.  
  15517.        This is one of the ISO standard language abbreviations, e.g.
  15518.  
  15519.        "en.uk" for the variation of English spoken in the United
  15520.  
  15521.        Kingdom. It can be used by parsers to select language specific
  15522.  
  15523.        choices for quotation marks, ligatures and hypenation rules etc.
  15524.  
  15525.        The language attribute is composed from the two letter language
  15526.  
  15527.        code from ISO 639, optionally followed by a period and a two
  15528.  
  15529.        letter country code from ISO 3166. 
  15530.  
  15531.  
  15532.  
  15533.    CLASS 
  15534.  
  15535.        This a space separated list of SGML NAME tokens and is used to
  15536.  
  15537.        subclass tag names. By convention, the class names are
  15538.  
  15539.        interpreted hierarchically, with the most general class on the
  15540.  
  15541.        left and the most specific on the right, where classes are
  15542.  
  15543.        separated by a period. The CLASS attribute is most commonly used
  15544.  
  15545.        to attach a different style to some element, but it is
  15546.  
  15547.        recommended that where practical class names should be picked on
  15548.  
  15549.        the basis of the element's semantics, as this will permit other
  15550.  
  15551.        uses, such as restricting search through documents by matching
  15552.  
  15553.        on element class names. The conventions for choosing class names
  15554.  
  15555.        are outside the scope of this specification. 
  15556.  
  15557.  
  15558.  
  15559.    NAME 
  15560.  
  15561.        The formal name of the menu which is used in the form's contents
  15562.  
  15563.        list. 
  15564.  
  15565.  
  15566.  
  15567.    MULTIPLE 
  15568.  
  15569.        The presence of this attribute denotes that the SELECT element
  15570.  
  15571.        defines a multiple choice menu. In its absence, the element
  15572.  
  15573.        defines a single choice menu. 
  15574.  
  15575.  
  15576.  
  15577.    DISABLED
  15578.  
  15579.        When present, the menu should be rendered as normal, but can't
  15580.  
  15581.        be modified by the user. Where practical the rendering should
  15582.  
  15583.        provide a cue that the menu is disabled e.g. by graying out the
  15584.  
  15585.        text, changing the color of the background or similar. 
  15586.  
  15587.  
  15588.  
  15589.    ERROR
  15590.  
  15591.        This attribute specifies an error message explaining why the
  15592.  
  15593.        menu's current selections are incorrect. Further error messages
  15594.  
  15595.        can be attached to individual options. When this attribute is
  15596.  
  15597.        missing, the menu can be assumed to be ok. User agents are
  15598.  
  15599.        recommended to provide a cue to indicate that the menu is in
  15600.  
  15601.        error. 
  15602.  
  15603.  
  15604.  
  15605.    SRC (Source) 
  15606.  
  15607.        The SRC attribute is used for graphical menus to specify the URI
  15608.  
  15609.        for the image. Its syntax is the same as that of the HREF
  15610.  
  15611.        attribute of the <A> tag. 
  15612.  
  15613.  
  15614.  
  15615.  
  15616.  
  15617. Dave Raggett                                                          Page 137
  15618.  
  15619. HTML 3.0                                                       28th March 1995
  15620.  
  15621.  
  15622.  
  15623.    MD 
  15624.  
  15625.        Specifies a message digest or cryptographic checksum for the
  15626.  
  15627.        associated image specified by the SRC attribute. It is used when
  15628.  
  15629.        you want to be sure that the image is indeed the same one that
  15630.  
  15631.        the author intended, and hasn't been modified in any way. For
  15632.  
  15633.        instance, MD="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ", which specifies
  15634.  
  15635.        an MD5 checksum encoded as a base64 character string. The MD
  15636.  
  15637.        attribute is generally allowed for all elements which support
  15638.  
  15639.        URI based links. 
  15640.  
  15641.  
  15642.  
  15643.    WIDTH 
  15644.  
  15645.        Optional suggested width for the image. By default, this is
  15646.  
  15647.        given in pixels. 
  15648.  
  15649.  
  15650.  
  15651.    HEIGHT 
  15652.  
  15653.        Optional suggested height for the image. By default, this is
  15654.  
  15655.        given in pixels. 
  15656.  
  15657.  
  15658.  
  15659.    UNITS 
  15660.  
  15661.        This optional attribute specifies the units for the width and
  15662.  
  15663.        height attributes. It is one of: units=pixels (the default) or
  15664.  
  15665.        units=em (the width of the letter "m") which scales with the
  15666.  
  15667.        font size. 
  15668.  
  15669.  
  15670.  
  15671.    ALIGN 
  15672.  
  15673.        Take values TOP or MIDDLE or BOTTOM, defining whether the top or
  15674.  
  15675.        middle or bottom of the graphic should be aligned with the
  15676.  
  15677.        baseline for the text line in which the IMG element appears. 
  15678.  
  15679.  
  15680.  
  15681.        With ALIGN=LEFT, the graphic will float down and over to the
  15682.  
  15683.        current left margin, and subsequent text will wrap around the
  15684.  
  15685.        right hand side of the graphic. Likewise for ALIGN=RIGHT, the
  15686.  
  15687.        graphic aligns with the current right margin and, and text wraps
  15688.  
  15689.        around the left. 
  15690.  
  15691.  
  15692.  
  15693.  
  15694.  
  15695.  
  15696.  
  15697.  
  15698.  
  15699.  
  15700.  
  15701.  
  15702.  
  15703.  
  15704.  
  15705.  
  15706.  
  15707.  
  15708.  
  15709.  
  15710.  
  15711.  
  15712.  
  15713.  
  15714.  
  15715.  
  15716.  
  15717.  
  15718.  
  15719.  
  15720.  
  15721.  
  15722.  
  15723.  
  15724.  
  15725.  
  15726.  
  15727.  
  15728.  
  15729.  
  15730.  
  15731. Dave Raggett                                                          Page 138
  15732.  
  15733. HTML 3.0                                                       28th March 1995
  15734.  
  15735.  
  15736.  
  15737. Menu OPTIONs
  15738.  
  15739.  
  15740.  
  15741.    Permitted Context: SELECT
  15742.  
  15743.    Content Model: PCDATA 
  15744.  
  15745.  
  15746.  
  15747.    The OPTION element can only occur within a SELECT element. It
  15748.  
  15749.    represents a possible choice. It can only contain text, together
  15750.  
  15751.    with SGML entities for accented characters etc. 
  15752.  
  15753.  
  15754.  
  15755.    When the form is submitted, the NAME of the enclosing SELECT element
  15756.  
  15757.    is paired with the OPTION's VALUE attribute to contribute a
  15758.  
  15759.    name/value pair for the selection. Unselected options don't
  15760.  
  15761.    contribute to the form's submitted data. You can initialize the
  15762.  
  15763.    option to its selected state by including the SELECT attribute. 
  15764.  
  15765.  
  15766.  
  15767.    The SHAPE attribute is used for graphical menus to specify the
  15768.  
  15769.    region of the background image to be associated with this option. It
  15770.  
  15771.    uses the same definition as for the anchor element. 
  15772.  
  15773.  
  15774.  
  15775. Permitted Attributes
  15776.  
  15777.  
  15778.  
  15779.    ID 
  15780.  
  15781.        An SGML identifier used as the target for hypertext links or for
  15782.  
  15783.        naming particular elements in associated style sheets.
  15784.  
  15785.        Identifiers are NAME tokens and must be unique within the scope
  15786.  
  15787.        of the current document. 
  15788.  
  15789.  
  15790.  
  15791.    LANG 
  15792.  
  15793.        This is one of the ISO standard language abbreviations, e.g.
  15794.  
  15795.        "en.uk" for the variation of English spoken in the United
  15796.  
  15797.        Kingdom. It can be used by parsers to select language specific
  15798.  
  15799.        choices for quotation marks, ligatures and hypenation rules etc.
  15800.  
  15801.        The language attribute is composed from the two letter language
  15802.  
  15803.        code from ISO 639, optionally followed by a period and a two
  15804.  
  15805.        letter country code from ISO 3166. 
  15806.  
  15807.  
  15808.  
  15809.    CLASS 
  15810.  
  15811.        This a space separated list of SGML NAME tokens and is used to
  15812.  
  15813.        subclass tag names. By convention, the class names are
  15814.  
  15815.        interpreted hierarchically, with the most general class on the
  15816.  
  15817.        left and the most specific on the right, where classes are
  15818.  
  15819.        separated by a period. The CLASS attribute is most commonly used
  15820.  
  15821.        to attach a different style to some element, but it is
  15822.  
  15823.        recommended that where practical class names should be picked on
  15824.  
  15825.        the basis of the element's semantics, as this will permit other
  15826.  
  15827.        uses, such as restricting search through documents by matching
  15828.  
  15829.        on element class names. The conventions for choosing class names
  15830.  
  15831.        are outside the scope of this specification. 
  15832.  
  15833.  
  15834.  
  15835.    DISABLED
  15836.  
  15837.        When present, the option should be rendered as normal, but can't
  15838.  
  15839.        be modified by the user. Where practical the rendering should
  15840.  
  15841.        provide a cue that the option is disabled e.g. by graying out
  15842.  
  15843.  
  15844.  
  15845. Dave Raggett                                                          Page 139
  15846.  
  15847. HTML 3.0                                                       28th March 1995
  15848.  
  15849.  
  15850.  
  15851.        the text, changing the color of the background or similar. 
  15852.  
  15853.  
  15854.  
  15855.    ERROR
  15856.  
  15857.        This attribute specifies an error message explaining why the
  15858.  
  15859.        option is inappropriate. When this attribute is missing, the
  15860.  
  15861.        option can be assumed to be ok. User agents are recommended to
  15862.  
  15863.        provide a cue to indicate that the option is in error. 
  15864.  
  15865.  
  15866.  
  15867.    VALUE
  15868.  
  15869.        The string to be used together with the name attribute of the
  15870.  
  15871.        enclosing select element, when submitting the form. It defaults
  15872.  
  15873.        to the content of the OPTION element. 
  15874.  
  15875.  
  15876.  
  15877.    SELECTED
  15878.  
  15879.        When present, this attribute signifies that the option should be
  15880.  
  15881.        initialized in its selected state. It is an error for more than
  15882.  
  15883.        one option to be selected for single choice menus. 
  15884.  
  15885.  
  15886.  
  15887.    SHAPE
  15888.  
  15889.        This attribute is used within menus to define shaped hotzones
  15890.  
  15891.        associated with this option's value. The attribute value is a
  15892.  
  15893.        string taking one of the following forms:
  15894.  
  15895.        
  15896.  
  15897.        
  15898.  
  15899.  
  15900.  
  15901.        "default" 
  15902.  
  15903.            Used to define a default menu choice for the menu
  15904.  
  15905.            background. 
  15906.  
  15907.  
  15908.  
  15909.        "circle x, y, r" 
  15910.  
  15911.            Where x and y define the center and r specifies the radius. 
  15912.  
  15913.  
  15914.  
  15915.        "rect x, y, w, h" 
  15916.  
  15917.            Where x, y define the upper left corner and w, h define the
  15918.  
  15919.            width and height respectively 
  15920.  
  15921.  
  15922.  
  15923.        "polygon x1, y1, x2, y2, ..." 
  15924.  
  15925.            Given n pairs of x, y coordinates, the polygon is closed by
  15926.  
  15927.            a line linking the n'th point to the first. Intersecting
  15928.  
  15929.            polygons use the non-zero winding number rule to determine
  15930.  
  15931.            if a point lies inside the polygon. 
  15932.  
  15933.  
  15934.  
  15935.        If a pointer event occurs in a region where two or more shapes
  15936.  
  15937.        overlap, the distance from the point to the center of gravity of
  15938.  
  15939.        each of the overlapping shapes is computed and the closest one
  15940.  
  15941.        chosen. This feature is useful when you want lots of closely
  15942.  
  15943.        spaced hotzones, for example over points on a map, as it allows
  15944.  
  15945.        you to use simple shapes without worrying about overlaps. 
  15946.  
  15947.  
  15948.  
  15949.        Note: The x coordinate increases to the right, and the y
  15950.  
  15951.        coordinate increases downwards in the same way as IMG and image
  15952.  
  15953.        maps. If both numbers are integers, the coordinates are
  15954.  
  15955.        interpreted as pixel offsets from the upper left corner of the
  15956.  
  15957.  
  15958.  
  15959. Dave Raggett                                                          Page 140
  15960.  
  15961. HTML 3.0                                                       28th March 1995
  15962.  
  15963.  
  15964.  
  15965.        image. Otherwise, the coordinates are interpreted as scaled
  15966.  
  15967.        values in the range 0.0 to 1.0 across the image. Note the syntax
  15968.  
  15969.        is tolerant of repeated white space characters between tokens. 
  15970.  
  15971.  
  15972.  
  15973.  
  15974.  
  15975.  
  15976.  
  15977.  
  15978.  
  15979.  
  15980.  
  15981.  
  15982.  
  15983.  
  15984.  
  15985.  
  15986.  
  15987.  
  15988.  
  15989.  
  15990.  
  15991.  
  15992.  
  15993.  
  15994.  
  15995.  
  15996.  
  15997.  
  15998.  
  15999.  
  16000.  
  16001.  
  16002.  
  16003.  
  16004.  
  16005.  
  16006.  
  16007.  
  16008.  
  16009.  
  16010.  
  16011.  
  16012.  
  16013.  
  16014.  
  16015.  
  16016.  
  16017.  
  16018.  
  16019.  
  16020.  
  16021.  
  16022.  
  16023.  
  16024.  
  16025.  
  16026.  
  16027.  
  16028.  
  16029.  
  16030.  
  16031.  
  16032.  
  16033.  
  16034.  
  16035.  
  16036.  
  16037.  
  16038.  
  16039.  
  16040.  
  16041.  
  16042.  
  16043.  
  16044.  
  16045.  
  16046.  
  16047.  
  16048.  
  16049.  
  16050.  
  16051.  
  16052.  
  16053.  
  16054.  
  16055.  
  16056.  
  16057.  
  16058.  
  16059.  
  16060.  
  16061.  
  16062.  
  16063.  
  16064.  
  16065.  
  16066.  
  16067.  
  16068.  
  16069.  
  16070.  
  16071.  
  16072.  
  16073. Dave Raggett                                                          Page 141
  16074.  
  16075. HTML 3.0                                                       28th March 1995
  16076.  
  16077.  
  16078.  
  16079. Special Characters
  16080.  
  16081.  
  16082.  
  16083.    This section contains information of how user agents should treat
  16084.  
  16085.    control characters and other special characters. 
  16086.  
  16087.  
  16088.  
  16089. Character Data
  16090.  
  16091.  
  16092.  
  16093.    The characters between the tags represent text encoded according to
  16094.  
  16095.    ISO 8859/1 8-bit single-byte coded graphic character set known as
  16096.  
  16097.    Latin Alphabet No. 1, or simply Latin-1. There are 256 character
  16098.  
  16099.    positions in the Latin-1 encoding. Latin-1 includes characters from
  16100.  
  16101.    most Western European languages. It consists of the space character,
  16102.  
  16103.    186 characters that form a subset of the graphic characters in ISO
  16104.  
  16105.    6937/2 (1983), and four additional characters that are intended for
  16106.  
  16107.    inclusion in ISO 6937/2. For more information, see Character Sets 
  16108.  
  16109.  
  16110.  
  16111.    The lower 128 character positions include a space, 33 control
  16112.  
  16113.    characters, the 26 upper- and lowercase letters of the english
  16114.  
  16115.    alphabet, 10 numerals and 32 other printing characters This subset,
  16116.  
  16117.    functionally identical to ASCII, is defined by ISO 646 7-bit coded
  16118.  
  16119.    character set for information interchange, also known as the
  16120.  
  16121.    International Reference Version. ISO 646 is identical in most
  16122.  
  16123.    respect to the ANSI standard for ASCII (American Standard Code for
  16124.  
  16125.    Information Interchange). The only significant difference between
  16126.  
  16127.    ISO 646 and ASCII is the specific names assigned to the control
  16128.  
  16129.    characters which occupy positions 00-31 and 127 
  16130.  
  16131.  
  16132.  
  16133.    The upper 128 positions include a non-breaking space, a soft hyphen
  16134.  
  16135.    indicator, 93 graphical characters, 8 unassigned characters, and 25
  16136.  
  16137.    control characters. The non-breaking space and soft hyphen indicator
  16138.  
  16139.    are not recognized and interpreted by all HTML browsers, and their
  16140.  
  16141.    use is discouraged 
  16142.  
  16143.  
  16144.  
  16145.    There are 58 character positions which are occupied by control
  16146.  
  16147.    characters. See the discussion for details on the interpretation of
  16148.  
  16149.    control characters. Because certain special characters are subject
  16150.  
  16151.    to interpretation and special processing, information providers and
  16152.  
  16153.    browser implementors should follow these guidelines 
  16154.  
  16155.  
  16156.  
  16157.    Certain characters may not be accessible from your keyboard, or some
  16158.  
  16159.    part of your system (i.e. translation software) may not be equipped
  16160.  
  16161.    to deal with 8-bit character codes. HTML and many WWW browsers
  16162.  
  16163.    provide character entity references and numerical character
  16164.  
  16165.    references to facilitate the entry and interpretation of characters
  16166.  
  16167.    by name and by numerical position. 
  16168.  
  16169.  
  16170.  
  16171.    Because certain characters will be interpreted as markup, they
  16172.  
  16173.    should be"escaped"; that is, represented by markup -- numeric
  16174.  
  16175.    character or entity references. 
  16176.  
  16177.  
  16178.  
  16179. ------------------------------------------------------------------------------
  16180.  
  16181. Special Characters
  16182.  
  16183.  
  16184.  
  16185.  
  16186.  
  16187. Dave Raggett                                                          Page 142
  16188.  
  16189. HTML 3.0                                                       28th March 1995
  16190.  
  16191.  
  16192.  
  16193.    Certain characters are taken to have special meaning within the
  16194.  
  16195.    context of an HTML document. There are two printing characters which
  16196.  
  16197.    may be interpreted by the browser to have an effect of the format of
  16198.  
  16199.    the text: 
  16200.  
  16201.  
  16202.  
  16203. Space
  16204.  
  16205.  
  16206.  
  16207.    *   Interpreted as a word space in all contexts except <PRE>. 
  16208.  
  16209.  
  16210.  
  16211.    *   Interpreted as a no-break space within <PRE>. 
  16212.  
  16213.  
  16214.  
  16215.    The character entities   and   denote an en space and an
  16216.  
  16217.    em space respectively, where an en space is half the point size and
  16218.  
  16219.    an em space is equal to the point size of the current font. For
  16220.  
  16221.    fixed pitch fonts, the user agent can treat the en space as being
  16222.  
  16223.    equivalent to a single space character, and the em space as being
  16224.  
  16225.    equuivalent to two space characters. 
  16226.  
  16227.  
  16228.  
  16229. Non-breaking Space ( )
  16230.  
  16231.  
  16232.  
  16233.    This should be treated in the same way as the space character (ASCII
  16234.  
  16235.    character code 32 decimal), except that the user agent should never
  16236.  
  16237.    break lines at this point. It is useful when you want to ensure that
  16238.  
  16239.    neigbouring words always stay together and don't get split across
  16240.  
  16241.    lines. 
  16242.  
  16243.  
  16244.  
  16245. Hyphen
  16246.  
  16247.  
  16248.  
  16249.    *   Interpreted as a hyphen glyph in all contexts. 
  16250.  
  16251.  
  16252.  
  16253.    *   Interpreted as a potential word space by hyphenation engine. 
  16254.  
  16255.  
  16256.  
  16257.    The character entities &endash; and &emdash; denote dash marks with
  16258.  
  16259.    the same widths as the   and   entities respectively. 
  16260.  
  16261.  
  16262.  
  16263. ------------------------------------------------------------------------------
  16264.  
  16265. Control Characters
  16266.  
  16267.  
  16268.  
  16269.    Control characters are non-printable characters that are typically
  16270.  
  16271.    used for communication and device control, as format effectors, and
  16272.  
  16273.    as information separators. 
  16274.  
  16275.  
  16276.  
  16277.    In SGML applications, the use of control characters is limited in
  16278.  
  16279.    order to maximize the chance of sucessful interchange over
  16280.  
  16281.    heterogenous networks and operating systems. In HTML, there are only
  16282.  
  16283.    three control characters which are used. The remaining 55 control
  16284.  
  16285.    characters are shunned and should not appear in an HTML document.
  16286.  
  16287.    The valid control characters and their interpretation are: 
  16288.  
  16289.  
  16290.  
  16291. Horizontal Tab (HT - 9 dec) 
  16292.  
  16293.  
  16294.  
  16295.    *   Interpreted as a word space in all contexts except <PRE>. 
  16296.  
  16297.  
  16298.  
  16299.  
  16300.  
  16301. Dave Raggett                                                          Page 143
  16302.  
  16303. HTML 3.0                                                       28th March 1995
  16304.  
  16305.  
  16306.  
  16307.    *   Within <PRE>, the tab should be interpreted to shift the
  16308.  
  16309.        horizontal column position to the next position which is a
  16310.  
  16311.        multiple of 8 on the same line; that is, col := (col+8) mod 8. 
  16312.  
  16313.  
  16314.  
  16315. Line Feed (LF - 10 dec)
  16316.  
  16317.  
  16318.  
  16319.    *   Interpreted as a word space in all contexts except <PRE>. 
  16320.  
  16321.  
  16322.  
  16323.    *   Within <PRE>, the tab should be interpreted as a shift to the
  16324.  
  16325.        start of a new line; that is, col := 0; row := row+1 
  16326.  
  16327.  
  16328.  
  16329. Carriage Return (CR - 13 dec) 
  16330.  
  16331.  
  16332.  
  16333.    *   Interpreted as a word space in all contexts except <PRE>. 
  16334.  
  16335.  
  16336.  
  16337.        
  16338.  
  16339.  
  16340.  
  16341.    *   Within <PRE>, the tab should be interpreted as a shift to the
  16342.  
  16343.        start of the line; that is, col := 0;
  16344.  
  16345.  
  16346.  
  16347.        
  16348.  
  16349.  
  16350.  
  16351. ------------------------------------------------------------------------------
  16352.  
  16353. Numeric Character References 
  16354.  
  16355.  
  16356.  
  16357.    Any printing character within the 8-bit character encoding of ISO
  16358.  
  16359.    8859/1 (256 character positions) or the 7-bit character encoding of
  16360.  
  16361.    ISO 646 (128 character positions) may be represented within the text
  16362.  
  16363.    of an HTML document by a numeric character reference, e.g. é is
  16364.  
  16365.    a small e with an acute accent. It is recommended that character
  16366.  
  16367.    entity references such as é are used in preference to
  16368.  
  16369.    numberic character references.  
  16370.  
  16371.  
  16372.  
  16373.  
  16374.  
  16375.  
  16376.  
  16377.  
  16378.  
  16379.  
  16380.  
  16381.  
  16382.  
  16383.  
  16384.  
  16385.  
  16386.  
  16387.  
  16388.  
  16389.  
  16390.  
  16391.  
  16392.  
  16393.  
  16394.  
  16395.  
  16396.  
  16397.  
  16398.  
  16399.  
  16400.  
  16401.  
  16402.  
  16403.  
  16404.  
  16405.  
  16406.  
  16407.  
  16408.  
  16409.  
  16410.  
  16411.  
  16412.  
  16413.  
  16414.  
  16415. Dave Raggett                                                          Page 144
  16416.  
  16417. HTML 3.0                                                       28th March 1995
  16418.  
  16419.  
  16420.  
  16421. Security Considerations
  16422.  
  16423.  
  16424.  
  16425.    Anchors, embedded images, and all other elements which contain URIs
  16426.  
  16427.    as parameters may cause the URI to be dereferenced. In this case,
  16428.  
  16429.    the security considerations of the URI specification apply. 
  16430.  
  16431.  
  16432.  
  16433.    Documents may be constructed whose visible contents mislead the
  16434.  
  16435.    reader to follow a link to unsuitable or offensive material. 
  16436.  
  16437.  
  16438.  
  16439.    The MD attribute is useful when authors are concerned that a linked
  16440.  
  16441.    object may be subsequently changed to something other than intended.
  16442.  
  16443.    This attribute is used to specify a cryptographic checksum for the
  16444.  
  16445.    linked object to provide a check on its integrity.  
  16446.  
  16447.  
  16448.  
  16449.  
  16450.  
  16451.  
  16452.  
  16453.  
  16454.  
  16455.  
  16456.  
  16457.  
  16458.  
  16459.  
  16460.  
  16461.  
  16462.  
  16463.  
  16464.  
  16465.  
  16466.  
  16467.  
  16468.  
  16469.  
  16470.  
  16471.  
  16472.  
  16473.  
  16474.  
  16475.  
  16476.  
  16477.  
  16478.  
  16479.  
  16480.  
  16481.  
  16482.  
  16483.  
  16484.  
  16485.  
  16486.  
  16487.  
  16488.  
  16489.  
  16490.  
  16491.  
  16492.  
  16493.  
  16494.  
  16495.  
  16496.  
  16497.  
  16498.  
  16499.  
  16500.  
  16501.  
  16502.  
  16503.  
  16504.  
  16505.  
  16506.  
  16507.  
  16508.  
  16509.  
  16510.  
  16511.  
  16512.  
  16513.  
  16514.  
  16515.  
  16516.  
  16517.  
  16518.  
  16519.  
  16520.  
  16521.  
  16522.  
  16523.  
  16524.  
  16525.  
  16526.  
  16527.  
  16528.  
  16529. Dave Raggett                                                          Page 145
  16530.  
  16531. HTML 3.0                                                       28th March 1995
  16532.  
  16533.  
  16534.  
  16535. <!SGML  "ISO 8879:1986"
  16536.  
  16537. --
  16538.  
  16539.         SGML Declaration for HyperText Markup Language (HTML).
  16540.  
  16541.  
  16542.  
  16543. --
  16544.  
  16545.  
  16546.  
  16547. CHARSET
  16548.  
  16549.          BASESET  "ISO 646:1983//CHARSET
  16550.  
  16551.                    International Reference Version
  16552.  
  16553.                    (IRV)//ESC 2/5 4/0"
  16554.  
  16555.          DESCSET  0   9   UNUSED
  16556.  
  16557.                   9   2   9
  16558.  
  16559.                   11  2   UNUSED
  16560.  
  16561.                   13  1   13
  16562.  
  16563.                   14  18  UNUSED
  16564.  
  16565.                   32  95  32
  16566.  
  16567.                   127 1   UNUSED
  16568.  
  16569.      BASESET   "ISO Registration Number 100//CHARSET
  16570.  
  16571.                 ECMA-94 Right Part of
  16572.  
  16573.                 Latin Alphabet Nr. 1//ESC 2/13 4/1"
  16574.  
  16575.  
  16576.  
  16577.          DESCSET  128  32   UNUSED
  16578.  
  16579.                   160  96    32
  16580.  
  16581.  
  16582.  
  16583. CAPACITY        SGMLREF
  16584.  
  16585.                 TOTALCAP        200000
  16586.  
  16587.                 GRPCAP          150000
  16588.  
  16589.   
  16590.  
  16591. SCOPE    DOCUMENT
  16592.  
  16593. SYNTAX   
  16594.  
  16595.          SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
  16596.  
  16597.                  17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127
  16598.  
  16599.          BASESET  "ISO 646:1983//CHARSET
  16600.  
  16601.                    International Reference Version
  16602.  
  16603.                    (IRV)//ESC 2/5 4/0"
  16604.  
  16605.          DESCSET  0 128 0
  16606.  
  16607.          FUNCTION
  16608.  
  16609.                   RE          13
  16610.  
  16611.                   RS          10
  16612.  
  16613.                   SPACE       32
  16614.  
  16615.                   TAB SEPCHAR  9
  16616.  
  16617.         
  16618.  
  16619.  
  16620.  
  16621.          NAMING   LCNMSTRT ""
  16622.  
  16623.                   UCNMSTRT ""
  16624.  
  16625.                   LCNMCHAR ".-"
  16626.  
  16627.                   UCNMCHAR ".-"
  16628.  
  16629.                   NAMECASE GENERAL YES
  16630.  
  16631.                            ENTITY  NO
  16632.  
  16633.          DELIM    GENERAL  SGMLREF
  16634.  
  16635.                   SHORTREF SGMLREF
  16636.  
  16637.          NAMES    SGMLREF
  16638.  
  16639.          QUANTITY SGMLREF
  16640.  
  16641.  
  16642.  
  16643. Dave Raggett                                                          Page 146
  16644.  
  16645. HTML 3.0                                                       28th March 1995
  16646.  
  16647.  
  16648.  
  16649.                   ATTSPLEN 2100
  16650.  
  16651.                   LITLEN   1024
  16652.  
  16653.                   NAMELEN  72    -- somewhat arbitrary; taken from
  16654.  
  16655.                                 internet line length conventions --
  16656.  
  16657.                   PILEN    1024
  16658.  
  16659.                   TAGLEN   2100
  16660.  
  16661.                   GRPGTCNT 150
  16662.  
  16663.                   GRPCNT   64                   
  16664.  
  16665.  
  16666.  
  16667. FEATURES
  16668.  
  16669.   MINIMIZE
  16670.  
  16671.     DATATAG  NO
  16672.  
  16673.     OMITTAG  YES
  16674.  
  16675.     RANK     NO
  16676.  
  16677.     SHORTTAG YES
  16678.  
  16679.   LINK
  16680.  
  16681.     SIMPLE   NO
  16682.  
  16683.     IMPLICIT NO
  16684.  
  16685.     EXPLICIT NO
  16686.  
  16687.   OTHER
  16688.  
  16689.     CONCUR   NO
  16690.  
  16691.     SUBDOC   NO
  16692.  
  16693.     FORMAL   YES
  16694.  
  16695.   APPINFO    "SDA"  -- conforming SGML Document Access application
  16696.  
  16697.                     --
  16698.  
  16699. >
  16700.  
  16701. <!-- 
  16702.  
  16703.         $Id: html.decl,v 1.1 1995/03/07 05:50:34 connolly Exp $
  16704.  
  16705.  
  16706.  
  16707.         Author: Daniel W. Connolly <connolly@hal.com>
  16708.  
  16709.  
  16710.  
  16711.         See also: http://www.hal.com/%7Econnolly/html-spec
  16712.  
  16713.           http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html
  16714.  
  16715.  -->
  16716.  
  16717.  
  16718.  
  16719.  
  16720.  
  16721.  
  16722.  
  16723.  
  16724.  
  16725.  
  16726.  
  16727.  
  16728.  
  16729.  
  16730.  
  16731.  
  16732.  
  16733.  
  16734.  
  16735.  
  16736.  
  16737.  
  16738.  
  16739.  
  16740.  
  16741.  
  16742.  
  16743.  
  16744.  
  16745.  
  16746.  
  16747.  
  16748.  
  16749.  
  16750.  
  16751.  
  16752.  
  16753.  
  16754.  
  16755.  
  16756.  
  16757. Dave Raggett                                                          Page 147
  16758.  
  16759. HTML 3.0                                                       28th March 1995
  16760.  
  16761.  
  16762.  
  16763. Character Entity Set(s)
  16764.  
  16765.  
  16766.  
  16767. This section is undergoing revision ... 
  16768.  
  16769.  
  16770.  
  16771.    --In particular, we need to add a more complete list of character
  16772.  
  16773.    entities, e.g. for the characters below decimal 128 and missing
  16774.  
  16775.    codes such as currency signs. 
  16776.  
  16777.  
  16778.  
  16779.    The following entity names are used in HTML, always prefixed by
  16780.  
  16781.    ampersand (&) and followed by a semicolon as shown. 
  16782.  
  16783.  
  16784.  
  16785.    They represent particular graphic characters which have special
  16786.  
  16787.    meanings in places in the markup, or may not be part of the
  16788.  
  16789.    character set available to the writer. 
  16790.  
  16791.  
  16792.  
  16793. ------------------------------------------------------------------------------
  16794.  
  16795. Numeric and Special Graphic Entities 
  16796.  
  16797.  
  16798.  
  16799.    The following table lists each of the supported characters specified
  16800.  
  16801.    in the Numeric and Special Graphic entity set, along with its name,
  16802.  
  16803.    syntax for use, and description. 
  16804.  
  16805.  
  16806.  
  16807.    This list is derived from "ISO 8879:1986//ENTITIES Numeric and
  16808.  
  16809.    Special Graphic//EN" however HTML does not provide support for the
  16810.  
  16811.    entire entity set. Only the entities listed below are supported. 
  16812.  
  16813.  
  16814.  
  16815.    
  16816.  
  16817.    Name             Syntax       Description            
  16818.  
  16819.    lt              <        Less than sign
  16820.  
  16821.    gt              >        Greater than sign
  16822.  
  16823.    amp             &       Ampersand
  16824.  
  16825.    quot            "      Double quote sign
  16826.  
  16827.    
  16828.  
  16829.  
  16830.  
  16831. ------------------------------------------------------------------------------
  16832.  
  16833. ISO Latin 1 Character Entities 
  16834.  
  16835.  
  16836.  
  16837.    The following table lists each of the characters specified in the
  16838.  
  16839.    Added Latin 1 entity set, along with its name, syntax for use, and
  16840.  
  16841.    description. 
  16842.  
  16843.  
  16844.  
  16845.    This list is derived from "ISO 8879:1986//ENTITIES Added Latin
  16846.  
  16847.    1//EN", and HTML does provide support for the entire entity set. 
  16848.  
  16849.  
  16850.  
  16851.    
  16852.  
  16853.    Name            Syntax      Description            
  16854.  
  16855.    Aacute          Á    Capital A, acute accent
  16856.  
  16857.    Agrave          À    Capital A, grave accent
  16858.  
  16859.    Acirc           Â     Capital A, circumflex accent
  16860.  
  16861.    Atilde          Ã    Capital A, tilde
  16862.  
  16863.    Aring           Å     Capital A, ring
  16864.  
  16865.    Auml            Ä      Capital A, dieresis or umlaut mark
  16866.  
  16867.    AElig           Æ     Capital AE dipthong (ligature)
  16868.  
  16869.  
  16870.  
  16871. Dave Raggett                                                          Page 148
  16872.  
  16873. HTML 3.0                                                       28th March 1995
  16874.  
  16875.  
  16876.  
  16877.    Ccedil          Ç    Capital C, cedilla
  16878.  
  16879.    Eacute          É    Capital E, acute accent
  16880.  
  16881.    Egrave          È    Capital E, grave accent
  16882.  
  16883.    Ecirc           Ê     Capital E, circumflex accent
  16884.  
  16885.    Euml            Ë      Capital E, dieresis or umlaut mark
  16886.  
  16887.    Iacute          Í    Capital I, acute accent
  16888.  
  16889.    Igrave          Ì    Capital I, grave accent
  16890.  
  16891.    Icirc           Î     Capital I, circumflex accent
  16892.  
  16893.    Iuml            Ï      Capital I, dieresis or umlaut mark
  16894.  
  16895.    ETH             Ð       Capital Eth, Icelandic
  16896.  
  16897.    Ntilde          Ñ    Capital N, tilde
  16898.  
  16899.    Oacute          Ó    Capital O, acute accent
  16900.  
  16901.    Ograve          Ò    Capital O, grave accent
  16902.  
  16903.    Ocirc           Ô     Capital O, circumflex accent
  16904.  
  16905.    Otilde          Õ    Capital O, tilde
  16906.  
  16907.    Ouml            Ö      Capital O, dieresis or umlaut mark
  16908.  
  16909.    Oslash          Ø    Capital O, slash
  16910.  
  16911.    Uacute          Ú    Capital U, acute accent
  16912.  
  16913.    Ugrave          Ù    Capital U, grave accent
  16914.  
  16915.    Ucirc           Û     Capital U, circumflex accent
  16916.  
  16917.    Uuml            Ü      Capital U, dieresis or umlaut mark
  16918.  
  16919.    Yacute          Ý    Capital Y, acute accent
  16920.  
  16921.    
  16922.  
  16923.    THORN           Þ     Capital THORN, Icelandic
  16924.  
  16925.    szlig           ß     Small sharp s, German (sz ligature)
  16926.  
  16927.    
  16928.  
  16929.    aacute          á    Small a, acute accent
  16930.  
  16931.    agrave          à    Small a, grave accent
  16932.  
  16933.    acirc           â     Small a, circumflex accent
  16934.  
  16935.    atilde          ã    Small a, tilde
  16936.  
  16937.    atilde          ã    Small a, tilde
  16938.  
  16939.    auml            ä      Small a, dieresis or umlaut mark
  16940.  
  16941.    aelig           æ     Small ae dipthong (ligature)
  16942.  
  16943.    ccedil          ç    Small c, cedilla
  16944.  
  16945.    eacute          é    Small e, acute accent
  16946.  
  16947.    egrave          è    Small e, grave accent
  16948.  
  16949.    ecirc           ê     Small e, circumflex accent
  16950.  
  16951.    euml            ë      Small e, dieresis or umlaut mark
  16952.  
  16953.    iacute          í    Small i, acute accent
  16954.  
  16955.    igrave          ì    Small i, grave accent
  16956.  
  16957.    icirc           î     Small i, circumflex accent
  16958.  
  16959.    iuml            ï      Small i, dieresis or umlaut mark
  16960.  
  16961.    eth             ð       Small eth, Icelandic
  16962.  
  16963.    ntilde          ñ    Small n, tilde
  16964.  
  16965.    oacute          ó    Small o, acute accent
  16966.  
  16967.    ograve          ò    Small o, grave accent
  16968.  
  16969.    ocirc           ô     Small o, circumflex accent
  16970.  
  16971.    otilde          õ    Small o, tilde
  16972.  
  16973.    ouml            ö      Small o, dieresis or umlaut mark
  16974.  
  16975.    oslash          ø    Small o, slash
  16976.  
  16977.    uacute          ú    Small u, acute accent
  16978.  
  16979.    ugrave          ù    Small u, grave accent
  16980.  
  16981.    ucirc           û     Small u, circumflex accent
  16982.  
  16983.  
  16984.  
  16985. Dave Raggett                                                          Page 149
  16986.  
  16987. HTML 3.0                                                       28th March 1995
  16988.  
  16989.  
  16990.  
  16991.    uuml            ü      Small u, dieresis or umlaut mark
  16992.  
  16993.    yacute          ý    Small y, acute accent
  16994.  
  16995.    thorn           þ     Small thorn, Icelandic
  16996.  
  16997.    yuml            ÿ      Small y, dieresis or umlaut mark
  16998.  
  16999.    
  17000.  
  17001.  
  17002.  
  17003. ------------------------------------------------------------------------------
  17004.  
  17005. Numerical Character References 
  17006.  
  17007.  
  17008.  
  17009.    This list, sorted numerically, is derived from the ISO 8859/1 8-bit
  17010.  
  17011.    single-byte coded graphic character set: 
  17012.  
  17013.  
  17014.  
  17015.    
  17016.  
  17017.    Reference           Description
  17018.  
  17019.    �-         Unused 
  17020.  
  17021.                    Horizontal tab
  17022.  
  17023.                    Line feed
  17024.  
  17025.     -         Unused
  17026.  
  17027.    
  17028.  
  17029.    &32;                Space
  17030.  
  17031.    &33;                Exclamation mark
  17032.  
  17033.    &34;                Quotation mark
  17034.  
  17035.    &35;                Number sign
  17036.  
  17037.    &36;                Dollar sign
  17038.  
  17039.    &37;                Percent sign
  17040.  
  17041.    &38;                Ampersand
  17042.  
  17043.    &39;                Apostrophe
  17044.  
  17045.    &40;                Left parenthesis
  17046.  
  17047.    &41;                Right parenthesis
  17048.  
  17049.    &42;                Asterisk
  17050.  
  17051.    &43;                Plus sign
  17052.  
  17053.    &44;                Comma
  17054.  
  17055.    &45;                Hyphen
  17056.  
  17057.    &46;                Period (fullstop)
  17058.  
  17059.    &47;                Solidus (slash)
  17060.  
  17061.    
  17062.  
  17063.    0 - 9       Digits 0-9
  17064.  
  17065.    
  17066.  
  17067.    &58;                Colon
  17068.  
  17069.    &59;                Semi-colon
  17070.  
  17071.    &60;                Less than
  17072.  
  17073.    &61;                Equals aign
  17074.  
  17075.    &62;                Greater than
  17076.  
  17077.    &63;                Question mark
  17078.  
  17079.    &64;                Commercial at
  17080.  
  17081.         
  17082.  
  17083.    A-Z         Letters A-Z
  17084.  
  17085.    
  17086.  
  17087.    &91;                Left square bracket
  17088.  
  17089.    &92;                Reverse solidus (backslash)
  17090.  
  17091.    &93;                Right square bracket
  17092.  
  17093.    &95;                Horizontal bar
  17094.  
  17095.    &96;                Acute accent
  17096.  
  17097.  
  17098.  
  17099. Dave Raggett                                                          Page 150
  17100.  
  17101. HTML 3.0                                                       28th March 1995
  17102.  
  17103.  
  17104.  
  17105.    
  17106.  
  17107.    a-z        Letters a-z
  17108.  
  17109.    
  17110.  
  17111.    &123;               Left curly brace
  17112.  
  17113.    &124;               Vertical bar
  17114.  
  17115.    &125;               Right curly brace
  17116.  
  17117.    &126;               Tilde
  17118.  
  17119.    
  17120.  
  17121.    -        Unused
  17122.  
  17123.    
  17124.  
  17125.    &161;               Inverted exclamation
  17126.  
  17127.    &162;               Cent sign
  17128.  
  17129.    &163;               Pound sterling
  17130.  
  17131.    &164;               General currency sign
  17132.  
  17133.    &165;               Yen sign
  17134.  
  17135.    &166;               Broken vertical bar
  17136.  
  17137.    &167;               Section sign
  17138.  
  17139.    &168;               Umlaut (dieresis)
  17140.  
  17141.    &169;               Copyright
  17142.  
  17143.    &170;               Feminine ordinal
  17144.  
  17145.    &171;               Left angle quote, guillemotleft
  17146.  
  17147.    &172;               Not sign
  17148.  
  17149.    &173;               Soft hyphen
  17150.  
  17151.    &174;               Registered trademark
  17152.  
  17153.    &175;               Macron accent
  17154.  
  17155.    &176;               Degree sign
  17156.  
  17157.    &177;               Plus or minus
  17158.  
  17159.    &178;               Superscript two
  17160.  
  17161.    &179;               Superscript three
  17162.  
  17163.    &180;               Acute accent
  17164.  
  17165.    &181;               Micro sign
  17166.  
  17167.    &182;               Paragraph sign
  17168.  
  17169.    &183;               Middle dot
  17170.  
  17171.    &184;               Cedilla
  17172.  
  17173.    &185;               Superscript one
  17174.  
  17175.    &186;               Masculine ordinal
  17176.  
  17177.    &187;               Right angle quote, guillemotright
  17178.  
  17179.    &188;               Fraction one-fourth
  17180.  
  17181.    &189;               Fraction one-half
  17182.  
  17183.    &190;               Fraction three-fourths
  17184.  
  17185.    &191;               Inverted question mark
  17186.  
  17187.    
  17188.  
  17189.    &192;               Capital A, acute accent
  17190.  
  17191.    &193;               Capital A, grave accent
  17192.  
  17193.    &194;               Capital A, circumflex accent
  17194.  
  17195.    &195;               Capital A, tilde
  17196.  
  17197.    &196;               Capital A, ring
  17198.  
  17199.    &197;               Capital A, dieresis or umlaut mark
  17200.  
  17201.    &198;               Capital AE dipthong (ligature)
  17202.  
  17203.    &199;               Capital C, cedilla
  17204.  
  17205.    &200;               Capital E, acute accent
  17206.  
  17207.    &201;               Capital E, grave accent
  17208.  
  17209.    &202;               Capital E, circumflex accent
  17210.  
  17211.  
  17212.  
  17213. Dave Raggett                                                          Page 151
  17214.  
  17215. HTML 3.0                                                       28th March 1995
  17216.  
  17217.  
  17218.  
  17219.    &203;               Capital E, dieresis or umlaut mark
  17220.  
  17221.    &204;               Capital I, acute accent
  17222.  
  17223.    &205;               Capital I, grave accent
  17224.  
  17225.    &206;               Capital I, circumflex accent
  17226.  
  17227.    &207;               Capital I, dieresis or umlaut mark
  17228.  
  17229.    &208;               Capital Eth, Icelandic
  17230.  
  17231.    &209;               Capital N, tilde
  17232.  
  17233.    &210;               Capital O, acute accent
  17234.  
  17235.    &211;               Capital O, grave accent
  17236.  
  17237.    &212;               Capital O, circumflex accent
  17238.  
  17239.    &213;               Capital O, tilde
  17240.  
  17241.    &214;               Capital O, dieresis or umlaut mark
  17242.  
  17243.    
  17244.  
  17245.    &215;               Multiply sign
  17246.  
  17247.    
  17248.  
  17249.    &216;               Capital O, slash
  17250.  
  17251.    &217;               Capital U, acute accent
  17252.  
  17253.    &218;               Capital U, grave accent
  17254.  
  17255.    &219;               Capital U, circumflex accent
  17256.  
  17257.    &220;               Capital U, dieresis or umlaut mark
  17258.  
  17259.    &221;               Capital Y, acute accent
  17260.  
  17261.    
  17262.  
  17263.    &222;               Capital THORN, Icelandic
  17264.  
  17265.    &223;               Small sharp s, German (sz ligature)
  17266.  
  17267.    
  17268.  
  17269.    &224;               Small a, acute accent
  17270.  
  17271.    &225;               Small a, grave accent
  17272.  
  17273.    &226;               Small a, circumflex accent
  17274.  
  17275.    &227;               Small a, tilde
  17276.  
  17277.    &228;               Small a, tilde
  17278.  
  17279.    &229;               Small a, dieresis or umlaut mark
  17280.  
  17281.    &230;               Small ae dipthong (ligature)
  17282.  
  17283.    &231;               Small c, cedilla
  17284.  
  17285.    &232;               Small e, acute accent
  17286.  
  17287.    &233;               Small e, grave accent
  17288.  
  17289.    &234;               Small e, circumflex accent
  17290.  
  17291.    &235;               Small e, dieresis or umlaut mark
  17292.  
  17293.    &236;               Small i, acute accent
  17294.  
  17295.    &237;               Small i, grave accent
  17296.  
  17297.    &238;               Small i, circumflex accent
  17298.  
  17299.    &239;               Small i, dieresis or umlaut mark
  17300.  
  17301.    &240;               Small eth, Icelandic
  17302.  
  17303.    &241;               Small n, tilde
  17304.  
  17305.    &242;               Small o, acute accent
  17306.  
  17307.    &243;               Small o, grave accent
  17308.  
  17309.    &244;               Small o, circumflex accent
  17310.  
  17311.    &245;               Small o, tilde
  17312.  
  17313.    &246;               Small o, dieresis or umlaut mark
  17314.  
  17315.    
  17316.  
  17317.    &247;               Division sign
  17318.  
  17319.    
  17320.  
  17321.    &248;               Small o, slash
  17322.  
  17323.    &249;               Small u, acute accent
  17324.  
  17325.  
  17326.  
  17327. Dave Raggett                                                          Page 152
  17328.  
  17329. HTML 3.0                                                       28th March 1995
  17330.  
  17331.  
  17332.  
  17333.    &250;               Small u, grave accent
  17334.  
  17335.    &251;               Small u, circumflex accent
  17336.  
  17337.    &252;               Small u, dieresis or umlaut mark
  17338.  
  17339.    &253;               Small y, acute accent
  17340.  
  17341.    &254;               Small thorn, Icelandic
  17342.  
  17343.    &255;               Small y, dieresis or umlaut mark
  17344.  
  17345.    
  17346.  
  17347.  
  17348.  
  17349.  
  17350.  
  17351.  
  17352.  
  17353.  
  17354.  
  17355.  
  17356.  
  17357.  
  17358.  
  17359.  
  17360.  
  17361.  
  17362.  
  17363.  
  17364.  
  17365.  
  17366.  
  17367.  
  17368.  
  17369.  
  17370.  
  17371.  
  17372.  
  17373.  
  17374.  
  17375.  
  17376.  
  17377.  
  17378.  
  17379.  
  17380.  
  17381.  
  17382.  
  17383.  
  17384.  
  17385.  
  17386.  
  17387.  
  17388.  
  17389.  
  17390.  
  17391.  
  17392.  
  17393.  
  17394.  
  17395.  
  17396.  
  17397.  
  17398.  
  17399.  
  17400.  
  17401.  
  17402.  
  17403.  
  17404.  
  17405.  
  17406.  
  17407.  
  17408.  
  17409.  
  17410.  
  17411.  
  17412.  
  17413.  
  17414.  
  17415.  
  17416.  
  17417.  
  17418.  
  17419.  
  17420.  
  17421.  
  17422.  
  17423.  
  17424.  
  17425.  
  17426.  
  17427.  
  17428.  
  17429.  
  17430.  
  17431.  
  17432.  
  17433.  
  17434.  
  17435.  
  17436.  
  17437.  
  17438.  
  17439.  
  17440.  
  17441. Dave Raggett                                                          Page 153
  17442.  
  17443. HTML 3.0                                                       28th March 1995
  17444.  
  17445.  
  17446.  
  17447. Math Entities
  17448.  
  17449.  
  17450.  
  17451. This list is in a very preliminary stage ...
  17452.  
  17453.  
  17454.  
  17455.    --I hope to use ISO names where practical, and want to ensure that
  17456.  
  17457.    names are meaningful, rather than cryptic. The character codes for
  17458.  
  17459.    common fonts will be included, although which fonts to include is
  17460.  
  17461.    still under review.-- 
  17462.  
  17463.  
  17464.  
  17465.    The following sets out the range of math symbols supported by HTML
  17466.  
  17467.    math, giving the HTML entity name, the corresponding LaTeX command
  17468.  
  17469.    name and a short description. Character codes are given in
  17470.  
  17471.    hexadecimal when available for the Postscript symbol set and HP's
  17472.  
  17473.    math-8 symbol set. 
  17474.  
  17475.  
  17476.  
  17477. Continuation dots - ellipsis
  17478.  
  17479.  
  17480.  
  17481.    
  17482.  
  17483.    &ldots;     \ldots    three dots on the baseline
  17484.  
  17485.    &cdots;     \cdots    three dots on same level as a minus sign
  17486.  
  17487.    &vdots;     \vdots    three vertical dots
  17488.  
  17489.    &ddots;     \ddots    diagonal dots (top left to bottom right)
  17490.  
  17491.    &dotfill;   \dotfill  like cdots but fills column in an array
  17492.  
  17493.    
  17494.  
  17495.  
  17496.  
  17497. Added Spacing
  17498.  
  17499.  
  17500.  
  17501.    
  17502.  
  17503.         \,        thin space
  17504.  
  17505.    &sp;        \:        medium space
  17506.  
  17507.           \;        thick space
  17508.  
  17509.    &quad;      \quad     huge space
  17510.  
  17511.    
  17512.  
  17513.  
  17514.  
  17515. Lower case Greek Letters
  17516.  
  17517.  
  17518.  
  17519.                                          PS-Symbol Math-8
  17520.  
  17521.    α     \alpha        alpha          61      61
  17522.  
  17523.    β      \beta         beta           62      62
  17524.  
  17525.    γ     \gamma        gamma          67      63
  17526.  
  17527.    δ     \delta        delta          64      64
  17528.  
  17529.    ε   \epsilon      epsilon        --      65
  17530.  
  17531.    &vepsilon;  \varepsilon   var epsilon    65      3B
  17532.  
  17533.    ζ      \zeta         zeta           7A      66
  17534.  
  17535.    η       \eta          eta            68      67
  17536.  
  17537.    θ     \theta        theta          71      68
  17538.  
  17539.    &vtheta;    \vartheta     var theta      --      79
  17540.  
  17541.    ι      \iota         iota           69      69
  17542.  
  17543.    κ     \kappa        kappa          6B      6A
  17544.  
  17545.    λ    \lambda       lambda         6C      6B
  17546.  
  17547.    μ        \mu           mu             6D      6C
  17548.  
  17549.    ν        \nu           nu             6E      6D
  17550.  
  17551.    ξ        \xi           xi             78      6E
  17552.  
  17553.  
  17554.  
  17555. Dave Raggett                                                          Page 154
  17556.  
  17557. HTML 3.0                                                       28th March 1995
  17558.  
  17559.  
  17560.  
  17561.    ο   ....          omicron        6F      6F
  17562.  
  17563.    π        \pi           pi             70      70
  17564.  
  17565.    ϖ     \varpi        var pi         76      7B
  17566.  
  17567.    ρ       \rho          rho            72      71
  17568.  
  17569.    ϱ    \varrho       var rho        --      --
  17570.  
  17571.    σ     \sigma        sigma          73      72
  17572.  
  17573.    &vsigma;    \varsigma     var sigma      56      5B
  17574.  
  17575.    τ       \tau          tau            74      73
  17576.  
  17577.    υ   \upsilon      upsilon        75      74
  17578.  
  17579.    φ       \phi          phi            66      75
  17580.  
  17581.    ϕ    \varphi       var phi        6A      7A
  17582.  
  17583.    χ       \chi          chi            63      76
  17584.  
  17585.    ψ       \psi          psi            79      77
  17586.  
  17587.    ω     \omega        omega          77      78
  17588.  
  17589.    
  17590.  
  17591.  
  17592.  
  17593.    Note: LaTeX uses the latin letter o for omicron.  
  17594.  
  17595.  
  17596.  
  17597.  
  17598.  
  17599.  
  17600.  
  17601.  
  17602.  
  17603.  
  17604.  
  17605.  
  17606.  
  17607.  
  17608.  
  17609.  
  17610.  
  17611.  
  17612.  
  17613.  
  17614.  
  17615.  
  17616.  
  17617.  
  17618.  
  17619.  
  17620.  
  17621.  
  17622.  
  17623.  
  17624.  
  17625.  
  17626.  
  17627.  
  17628.  
  17629.  
  17630.  
  17631.  
  17632.  
  17633.  
  17634.  
  17635.  
  17636.  
  17637.  
  17638.  
  17639.  
  17640.  
  17641.  
  17642.  
  17643.  
  17644.  
  17645.  
  17646.  
  17647.  
  17648.  
  17649.  
  17650.  
  17651.  
  17652.  
  17653.  
  17654.  
  17655.  
  17656.  
  17657.  
  17658.  
  17659.  
  17660.  
  17661.  
  17662.  
  17663.  
  17664.  
  17665.  
  17666.  
  17667.  
  17668.  
  17669. Dave Raggett                                                          Page 155
  17670.  
  17671. HTML 3.0                                                       28th March 1995
  17672.  
  17673.  
  17674.  
  17675. <!-- Standard ISO/WWW icons courtesy of Bert Bos and Kevin Hughes
  17676.  
  17677.  
  17678.  
  17679.     These can be used in place of default symbols for list items or as
  17680.  
  17681.     part of hypertext links, and save time needed to download images.
  17682.  
  17683.     Browsers can define them in terms of library images or as URL/URNs.
  17684.  
  17685. -->
  17686.  
  17687.  
  17688.  
  17689.  
  17690.  
  17691. <!ENTITY ftp SDATA "ftp" -- ftp server -->
  17692.  
  17693. <!ENTITY gopher SDATA "gopher" -- gopher server -->
  17694.  
  17695. <!ENTITY telnet SDATA "telnet" -- telnet connection -->
  17696.  
  17697. <!ENTITY archive SDATA "archive" -- archive server -->
  17698.  
  17699. <!ENTITY filing.cabinet SDATA "filing.cabinet" -- filing cabinet -->
  17700.  
  17701. <!ENTITY folder SDATA "folder" -- folder or directory -->
  17702.  
  17703. <!ENTITY fixed.disk SDATA "fixed.disk" -- fixed media drive -->
  17704.  
  17705. <!ENTITY disk.drive SDATA "disk.drive" -- removeable media drive -->
  17706.  
  17707. <!ENTITY document SDATA "document" -- unspecified document type -->
  17708.  
  17709. <!ENTITY unknown.document SDATA "unknown.document" -- unrecognised document type -->
  17710.  
  17711. <!ENTITY text.document SDATA "text.document" -- text/plain, text.html etc. -->
  17712.  
  17713. <!ENTITY binary.document SDATA "binary.document" -- binary data -->
  17714.  
  17715. <!ENTITY binhex.document SDATA "binhex.document" -- binhex format -->
  17716.  
  17717. <!ENTITY audio SDATA "audio" -- audio sequence -->
  17718.  
  17719. <!ENTITY film SDATA "film" -- film or animation, such as an MPEG movie -->
  17720.  
  17721. <!ENTITY image SDATA "image" -- photograph, drawing or graphic of any kind -->
  17722.  
  17723. <!ENTITY map SDATA "map" -- geographical or a schematic map -->
  17724.  
  17725. <!ENTITY form SDATA "form" -- fill-out form -->
  17726.  
  17727. <!ENTITY mail SDATA "mail" -- email messages -->
  17728.  
  17729. <!ENTITY parent SDATA "parent" -- parent of current document -->
  17730.  
  17731. <!ENTITY next SDATA "next" -- next document in current sequence -->
  17732.  
  17733. <!ENTITY previous SDATA "previous" -- previous document in current sequence -->
  17734.  
  17735. <!ENTITY home SDATA "home" -- home document -->
  17736.  
  17737. <!ENTITY toc SDATA "toc" -- table of contents -->
  17738.  
  17739. <!ENTITY glossary SDATA "glossary" -- glossary of terms etc. -->
  17740.  
  17741. <!ENTITY index SDATA "index" -- searchable index -->
  17742.  
  17743. <!ENTITY summary SDATA "summary" -- summary -->
  17744.  
  17745.  
  17746.  
  17747. <!ENTITY calculator SDATA "calculator" -- A calculator -->
  17748.  
  17749. <!ENTITY caution SDATA "caution" -- Warnign sign -->
  17750.  
  17751. <!ENTITY clock SDATA "clock" -- A clock -->
  17752.  
  17753. <!ENTITY compressed.document SDATA "compressed.document">
  17754.  
  17755. <!ENTITY diskette SDATA "diskette" -- A diskette -->
  17756.  
  17757. <!ENTITY display SDATA "display" -- A computer screen -->
  17758.  
  17759. <!ENTITY fax SDATA "fax" -- A fax machine -->
  17760.  
  17761. <!ENTITY mail.in SDATA "mail.in" -- mail-in tray -->
  17762.  
  17763. <!ENTITY mail.out SDATA "mail.out" -- mail-out tray -->
  17764.  
  17765. <!ENTITY mouse SDATA "mouse" -- mouse/pointing device -->
  17766.  
  17767. <!ENTITY printer SDATA "printer" -- hardcopy device -->
  17768.  
  17769. <!ENTITY tn3270 SDATA "tn3270" --tn3270 terminal session -->
  17770.  
  17771. <!ENTITY trash SDATA "trash" -- waste paper basket -->
  17772.  
  17773. <!ENTITY uuencoded.document SDATA "uuencoded.document" -- uuencoded data -->
  17774.  
  17775.  
  17776.  
  17777.  
  17778.  
  17779.  
  17780.  
  17781.  
  17782.  
  17783. Dave Raggett                                                          Page 156
  17784.  
  17785. HTML 3.0                                                       28th March 1995
  17786.  
  17787.  
  17788.  
  17789. <!--
  17790.  
  17791.         html3.dtd
  17792.  
  17793.  
  17794.  
  17795.         Document Type Definition for the HyperText Markup Language (HTML DTD)
  17796.  
  17797.  
  17798.  
  17799.         Draft: Fri 24-Mar-95 09:46:33
  17800.  
  17801.  
  17802.  
  17803.         Author: Dave Raggett <dsr@hplb.hpl.hp.com>
  17804.  
  17805.  
  17806.  
  17807.         W3O is developing a testbed browser to provide practical
  17808.  
  17809.         experience with HTML 3.0 before it becomes a standard.
  17810.  
  17811.         See:  http://www.w3.org/hypertext/WWW/Arena/
  17812.  
  17813.  
  17814.  
  17815.         This is an open process and comments are welcomed on the
  17816.  
  17817.         www-html mailing list.
  17818.  
  17819.  
  17820.  
  17821.         Please use the following MIME content type:
  17822.  
  17823.         
  17824.  
  17825.                 Content-Type: text/html; version=3.0
  17826.  
  17827.                 
  17828.  
  17829.         This will allow clients to distinguish HTML 3.0 from current
  17830.  
  17831.         HTML documents. This is most easily achieved by saving
  17832.  
  17833.         files with the extension ".html3" or ".ht3" so that servers
  17834.  
  17835.         can easily distinguish these files from HTML 2.0 files.
  17836.  
  17837.         
  17838.  
  17839.         The entity HTML.Recommended can be used to give a more rigorous
  17840.  
  17841.         version of the DTD suitable for use with SGML authoring tools.
  17842.  
  17843.         The default version of the DTD offers a laxer interpretation,
  17844.  
  17845.         e.g. allowing authors to omit leading <P> elements. You can
  17846.  
  17847.         switch on the more rigorous version of the DTD by including
  17848.  
  17849.         the following at the start of your HTML document.
  17850.  
  17851.  
  17852.  
  17853.          <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN//"
  17854.  
  17855.             [ <!ENTITY % HTML.Recommended "INCLUDE"> ] >
  17856.  
  17857.  
  17858.  
  17859.  
  17860.  
  17861.         Design Objectives:
  17862.  
  17863.  
  17864.  
  17865.         o   Backwards compatibility with 2.0
  17866.  
  17867.  
  17868.  
  17869.         o   Tightening up HTML.Recommended and
  17870.  
  17871.             moving more things to HTML.Deprecated
  17872.  
  17873.  
  17874.  
  17875.         o   Keep HTML - simple don't compete with CALS
  17876.  
  17877.  
  17878.  
  17879.         o   Make it practical for people to edit HTML 3.0
  17880.  
  17881.             documents directly, i.e. avoid long names.
  17882.  
  17883.  
  17884.  
  17885.         o   Tables, figures and math from HTML+
  17886.  
  17887.             with tweaks based on recent experience
  17888.  
  17889.  
  17890.  
  17891.         o   Client-side event handling for figures
  17892.  
  17893.             and graphical form selection menus
  17894.  
  17895.  
  17896.  
  17897. Dave Raggett                                                          Page 157
  17898.  
  17899. HTML 3.0                                                       28th March 1995
  17900.  
  17901.  
  17902.  
  17903.  
  17904.  
  17905.         o   Add limited presentational controls with
  17906.  
  17907.             a view to use of linked style sheets
  17908.  
  17909.             (style overrides are supported)
  17910.  
  17911.  
  17912.  
  17913.         o   Compatibility with ICADD as per Yuri's suggestions
  17914.  
  17915.  
  17916.  
  17917.         HTML 3.0 relies on linked style info to give authors
  17918.  
  17919.         control over the appearence of documents. Such info is
  17920.  
  17921.         placed in a linked style sheet, or as overrides in the
  17922.  
  17923.         HTML document head, using the STYLE element. The generic
  17924.  
  17925.         CLASS attribute can be used to subclass elements when
  17926.  
  17927.         you want to use a different style from normal, e.g. you
  17928.  
  17929.         might use <h2 class=bigcaps> for headers with enlarged
  17930.  
  17931.         capital letters. Note that the class attribute has a
  17932.  
  17933.         wider scope than just style changes, e.g. browsers could
  17934.  
  17935.         provide the means for searching through documents,
  17936.  
  17937.         restricting search according to element class values.
  17938.  
  17939.  
  17940.  
  17941.         The DTD contains a small number of attributes for direct
  17942.  
  17943.         control of basic alignment parameters; column widths for
  17944.  
  17945.         tables; support for custom bullets, sequence numbering for
  17946.  
  17947.         lists and headers; and text flow. These attributes offer
  17948.  
  17949.         control over appearence which would be inconvenient to
  17950.  
  17951.         express exclusively via associated style sheets.
  17952.  
  17953.  
  17954.  
  17955.         The MD attribute for each hypertext or inline link specifies a
  17956.  
  17957.         message digest such as MD5 for the linked object and is needed
  17958.  
  17959.         to ensure someone hasn't tampered with a linked document.
  17960.  
  17961.  
  17962.  
  17963.   History:
  17964.  
  17965.   
  17966.  
  17967.     24th March '95
  17968.  
  17969.     
  17970.  
  17971.     Changed ROLE->CLASS for HTML element
  17972.  
  17973.     Added dummy elements to fix problem with mixed
  17974.  
  17975.     content models for BODY, BLOCKQUOTE/BQ and FIG
  17976.  
  17977.     Dropped audio fields from FORMs
  17978.  
  17979.     Reinstated MIN/MAX for range fields
  17980.  
  17981.     Reinstated DISABLED and ERROR attributes for fields
  17982.  
  17983.   
  17984.  
  17985.     22nd March '95
  17986.  
  17987.     
  17988.  
  17989.     Changed from em to en units. The latter
  17990.  
  17991.     is a typographical unit = half point size
  17992.  
  17993.     Merged NEEDS into CLEAR for control of textflow
  17994.  
  17995.   
  17996.  
  17997.     21st March '95
  17998.  
  17999.     
  18000.  
  18001.     Added REL=Banner to LINK element
  18002.  
  18003.     Added BANNER element in place of <DIV CLASS=BANNER>
  18004.  
  18005.     Added RANGE and SPOT elements
  18006.  
  18007.     Added FN in place of <NOTE ROLE=FOOTNOTE>
  18008.  
  18009.  
  18010.  
  18011. Dave Raggett                                                          Page 158
  18012.  
  18013. HTML 3.0                                                       28th March 1995
  18014.  
  18015.  
  18016.  
  18017.     Changed ROLE->CLASS for NOTE element
  18018.  
  18019.  
  18020.  
  18021.     17th March '95
  18022.  
  18023.     
  18024.  
  18025.     Fixed bug in PRE content model
  18026.  
  18027.     Changed external references to omit trailling //
  18028.  
  18029.     Dropped <!DOCTYPE HTML [ ... ]> wrapper to avoid problems
  18030.  
  18031.       with "real" sgml parsers
  18032.  
  18033.     Added NOFLOW attribute to FIG and TABLE
  18034.  
  18035.     Fixed typo in IMG ALIGN attribute
  18036.  
  18037.     Made SELECT match IMG for graphic attributes
  18038.  
  18039.     Added decimal alignment for tabs and table cells
  18040.  
  18041.     Added ALIGN attribute to TEXTAREA for parity
  18042.  
  18043.       with IMG and INPUT, including ALIGN=LEFT etc.
  18044.  
  18045.     
  18046.  
  18047.     13th March '95
  18048.  
  18049.     
  18050.  
  18051.     Dropped MARK tag on advice from SGML Open
  18052.  
  18053.     Allowed spaces in table colspec attribute
  18054.  
  18055.     Changed ARRAY element
  18056.  
  18057.     Added CHOOSE tag to BOX element
  18058.  
  18059.     Cleaned up PRE content model
  18060.  
  18061.     Obsoleted tags incompatible with SGML
  18062.  
  18063.     
  18064.  
  18065.     6th March '95
  18066.  
  18067.     
  18068.  
  18069.     Added several tags to MATH: %mathface, %mathvec
  18070.  
  18071.     and improved ROOT, with new SQRT convience tag
  18072.  
  18073.     
  18074.  
  18075.     1st March '95
  18076.  
  18077.     
  18078.  
  18079.     Dropped align attribute from BR element
  18080.  
  18081.     Added indent attribute to TAB
  18082.  
  18083.     Added optional CREDIT to end of BQ
  18084.  
  18085.     Changed FIG to %body.content to allow headers
  18086.  
  18087.     
  18088.  
  18089.     22nd February '95
  18090.  
  18091.     
  18092.  
  18093.     Added align attribute, and dropped before, after, center and right
  18094.  
  18095.       attributes to clean up TAB element
  18096.  
  18097.     Added INS and DEL for legal documents    
  18098.  
  18099.     Added CREDIT to end of FIG element
  18100.  
  18101.     Dropped FN in favor of <NOTE ROLE=FootNote>
  18102.  
  18103.     
  18104.  
  18105.     9th Feburuary '95
  18106.  
  18107.  
  18108.  
  18109.     Dropped base attribute mechanism for scoping relative URLs
  18110.  
  18111.     Dropped nofold attribute for disabling whitespace folding
  18112.  
  18113.     Dropped border width attributes for FIG (-> style sheet)
  18114.  
  18115.     Dropped delims attribute from math BOX element
  18116.  
  18117.     Dropped stylistic attributes from OL such as inherit (-> stylesheet)
  18118.  
  18119.     Added baseline to list of valign attribute values for tables.
  18120.  
  18121.     Added DIV element for generic container class and static banners
  18122.  
  18123.  
  18124.  
  18125. Dave Raggett                                                          Page 159
  18126.  
  18127. HTML 3.0                                                       28th March 1995
  18128.  
  18129.  
  18130.  
  18131.     Added MARK element for marked range class
  18132.  
  18133.     Added closed set of LINK REL values for toolbars
  18134.  
  18135.     Added numbering attributes to headers
  18136.  
  18137.     Added bullet attributes to headers
  18138.  
  18139.     Added TERM element to math for style sheet control of term rendering
  18140.  
  18141.     Changed to imagemap=URI for server-side event handling for FIG/OVERLAY
  18142.  
  18143.     Changed delimiter attributes for math arrays
  18144.  
  18145.     Changed ROOT element for maths to allow an arbitrary radix
  18146.  
  18147.     Simplified numbering attributes for ordered lists
  18148.  
  18149.     Simplified STYLE element to leave binding to style language
  18150.  
  18151. -->
  18152.  
  18153.  
  18154.  
  18155. <!ENTITY % HTML.Version
  18156.  
  18157.         "-//IETF//DTD HTML 3.0//EN"
  18158.  
  18159.  
  18160.  
  18161.         -- Typical usage:
  18162.  
  18163.  
  18164.  
  18165.             <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
  18166.  
  18167.             <html>
  18168.  
  18169.             ...
  18170.  
  18171.             </html>
  18172.  
  18173.         --
  18174.  
  18175.         >
  18176.  
  18177.  
  18178.  
  18179. <!--================== Flags for Marked Sections ==========================-->
  18180.  
  18181.  
  18182.  
  18183. <!ENTITY % HTML.Recommended "IGNORE"
  18184.  
  18185.         -- Certain features of the language are necessary for compatibility
  18186.  
  18187.            with widespread usage, but they may compromise the structural
  18188.  
  18189.            integrity of a document. This feature test entity enables
  18190.  
  18191.            a more prescriptive document type definition that eliminates
  18192.  
  18193.            the above features.
  18194.  
  18195.         -->
  18196.  
  18197.  
  18198.  
  18199. <![ %HTML.Recommended [
  18200.  
  18201.         <!ENTITY % HTML.Deprecated "IGNORE">
  18202.  
  18203. ]]>
  18204.  
  18205.  
  18206.  
  18207. <!ENTITY % HTML.Deprecated "INCLUDE"
  18208.  
  18209.         -- Certain features of the language are necessary for compatibility
  18210.  
  18211.            with earlier versions of the specification, but they tend
  18212.  
  18213.            to be used an implemented inconsistently, and their use is
  18214.  
  18215.            deprecated. This feature test entity enables a document type
  18216.  
  18217.            definition that eliminates these features.
  18218.  
  18219.         -->
  18220.  
  18221.         
  18222.  
  18223. <!ENTITY % HTML.Obsoleted "IGNORE"
  18224.  
  18225.         -- The XMP, LISTING and PLAINTEXT tags are incompatible with SGML
  18226.  
  18227.            and derive from very early versions of HTML. They require non-
  18228.  
  18229.            standard parsers and will cause problems for processing
  18230.  
  18231.            documents with standard SGML tools.
  18232.  
  18233.         -->
  18234.  
  18235.  
  18236.  
  18237.  
  18238.  
  18239. Dave Raggett                                                          Page 160
  18240.  
  18241. HTML 3.0                                                       28th March 1995
  18242.  
  18243.  
  18244.  
  18245. <!--================== Imported Names =====================================-->
  18246.  
  18247.  
  18248.  
  18249. <!ENTITY % Content-Type "CDATA"
  18250.  
  18251.         -- meaning a MIME content type, as per RFC1521
  18252.  
  18253.         -->
  18254.  
  18255.  
  18256.  
  18257. <!ENTITY % HTTP-Method "GET | POST"
  18258.  
  18259.         -- as per HTTP specification
  18260.  
  18261.         -->
  18262.  
  18263.  
  18264.  
  18265. <!ENTITY % URI "CDATA"
  18266.  
  18267.         -- The term URI means a CDATA attribute
  18268.  
  18269.            whose value is a Uniform Resource Identifier,
  18270.  
  18271.            as defined by
  18272.  
  18273.         "Uniform Resource Identifiers" by Tim Berners-Lee
  18274.  
  18275.         aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html
  18276.  
  18277.         aka RFC 1630
  18278.  
  18279.  
  18280.  
  18281.         Note that CDATA attributes are limited by the LITLEN
  18282.  
  18283.         capacity (1024 in the current version of html.decl),
  18284.  
  18285.         so that URIs in HTML have a bounded length.
  18286.  
  18287.  
  18288.  
  18289.         -->
  18290.  
  18291.  
  18292.  
  18293. <!ENTITY % REAL "CDATA" -- real numbers (not in SGML) -->
  18294.  
  18295.  
  18296.  
  18297. <!ENTITY % SHAPE "CDATA" 
  18298.  
  18299.     -- Shape of hotzone in image.
  18300.  
  18301.  
  18302.  
  18303.        All coordinates are assumed to be numbers in the range 0 to 1
  18304.  
  18305.        and interpreted as fractional width/height and measured from
  18306.  
  18307.        the top left corner of the associated image.
  18308.  
  18309.  
  18310.  
  18311.        The attribute value is a string taking one of the following forms:
  18312.  
  18313.        
  18314.  
  18315.                 "default"
  18316.  
  18317.                 
  18318.  
  18319.        Used to define a default link for the figure background.
  18320.  
  18321.  
  18322.  
  18323.             "circle x, y, r" 
  18324.  
  18325.  
  18326.  
  18327.        (x, y) define the center and r the radius.
  18328.  
  18329.  
  18330.  
  18331.             "rect x, y, w, h"
  18332.  
  18333.  
  18334.  
  18335.        (x, y) defines upper left, and w and h the width and height.
  18336.  
  18337.  
  18338.  
  18339.             "polygon x1, y1, x2, y2, ..."
  18340.  
  18341.  
  18342.  
  18343.        Given n pairs of x, y coordinates, the polygon is closed by a
  18344.  
  18345.        line linking the n'th point to the first. Intersecting polygons
  18346.  
  18347.        use the non-zero winding number rule to determine if a point lies
  18348.  
  18349.        inside the polygon.I
  18350.  
  18351.  
  18352.  
  18353. Dave Raggett                                                          Page 161
  18354.  
  18355. HTML 3.0                                                       28th March 1995
  18356.  
  18357.  
  18358.  
  18359.     --
  18360.  
  18361. >
  18362.  
  18363.  
  18364.  
  18365. <!-- 3.0 Parameter Entities -->
  18366.  
  18367.  
  18368.  
  18369. <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
  18370.  
  18371.  
  18372.  
  18373. <![ %HTML.Obsoleted [
  18374.  
  18375.     <!ENTITY % preformatted "PRE | XMP | LISTING">
  18376.  
  18377. ]]>
  18378.  
  18379.  
  18380.  
  18381.  
  18382.  
  18383. <![ %HTML.Deprecated [
  18384.  
  18385.     <!ENTITY % list "UL | OL | DIR | MENU">
  18386.  
  18387.     <!ENTITY % blockquote "BLOCKQUOTE | BQ">
  18388.  
  18389. ]]>
  18390.  
  18391.  
  18392.  
  18393. <!ENTITY % list "UL | OL">
  18394.  
  18395.  
  18396.  
  18397. <!ENTITY % blockquote "BQ">
  18398.  
  18399.  
  18400.  
  18401. <!ENTITY % preformatted "PRE">
  18402.  
  18403.  
  18404.  
  18405.  
  18406.  
  18407. <!-- The CLASS attribute is used to subclass HTML elements for
  18408.  
  18409.      rendering purposes, when used with style sheets, e.g. DSSSL lite -->
  18410.  
  18411.  
  18412.  
  18413. <!ENTITY % attrs  -- common attributes for elements --
  18414.  
  18415.         'id       ID      #IMPLIED -- as target for hrefs (link ends) --
  18416.  
  18417.          lang     CDATA   "en.us"  -- ISO language, country code --
  18418.  
  18419.          class    NAMES   #IMPLIED -- for subclassing elements --'>
  18420.  
  18421.  
  18422.  
  18423. <!-- SGML standard forces different NAMES for all attribute values
  18424.  
  18425.      in the same element, regardless of the attribute name! As a result
  18426.  
  18427.      CDATA is used for CLEAR attribute to avoid clash with ALIGN attribute.-->
  18428.  
  18429.  
  18430.  
  18431. <!--
  18432.  
  18433. When text flows around a figure or table in the margin, you sometimes want
  18434.  
  18435. to start an element like a header, paragraph or list below the figure rather
  18436.  
  18437. than alongside it. The CLEAR attribute allows you to move down unconditionally:
  18438.  
  18439.  
  18440.  
  18441.         clear=left          move down until left margin is clear
  18442.  
  18443.         clear=right         move down until right margin is clear
  18444.  
  18445.         clear=all           move down until both margins are clear
  18446.  
  18447.  
  18448.  
  18449. Alternatively, you can decide to place the element alongside the figure just
  18450.  
  18451. so long as there is enough room. The minimum width needed is specified as:
  18452.  
  18453.  
  18454.  
  18455.         clear="40 en"       move down until there is at least 40 en units free
  18456.  
  18457.         clear="100 pixels"  move down until there is at least 100 pixels free
  18458.  
  18459.         
  18460.  
  18461. The style sheet (or browser defaults) may provide default minimum widths for
  18462.  
  18463. each class of block-like elements.
  18464.  
  18465.  
  18466.  
  18467. Dave Raggett                                                          Page 162
  18468.  
  18469. HTML 3.0                                                       28th March 1995
  18470.  
  18471.  
  18472.  
  18473. -->
  18474.  
  18475.  
  18476.  
  18477. <!ENTITY % needs -- Attributes for controlling text flow. Used in headers
  18478.  
  18479.                     and other elements to guarantee sufficient room --
  18480.  
  18481.         'clear  CDATA #IMPLIED'>
  18482.  
  18483.  
  18484.  
  18485. <!--
  18486.  
  18487.     The following attribute may be included where ever a URL can be given:
  18488.  
  18489.  
  18490.  
  18491.     md      message digest e.g. md="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ"
  18492.  
  18493.             where the digest is base64 encoded and preceded by a prefix
  18494.  
  18495.             denoting the algorithm (in this case MD5).
  18496.  
  18497. -->
  18498.  
  18499.  
  18500.  
  18501. <!ENTITY % url.link -- Attributes associated with URL based links --
  18502.  
  18503.         "md     CDATA  #IMPLIED  -- message digest for linked object --">
  18504.  
  18505.  
  18506.  
  18507. <!--================ Character mnemonic entities ==========================-->
  18508.  
  18509.  
  18510.  
  18511. <!-- The HTML list of Latin-1 entities includes the full range
  18512.  
  18513.      of characters in widely available Latin-1 fonts, and as such
  18514.  
  18515.      is a mixture of ISOlat1 and other ISO publishing symbols -->
  18516.  
  18517.  
  18518.  
  18519. <!ENTITY % HTMLlat1 PUBLIC
  18520.  
  18521.   "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
  18522.  
  18523. %HTMLlat1;
  18524.  
  18525.  
  18526.  
  18527. <!--================ Entities for special symbols =========================-->
  18528.  
  18529.  
  18530.  
  18531. <!ENTITY emsp   SDATA "[emsp  ]" -- em space -->
  18532.  
  18533. <!ENTITY ensp   SDATA "[ensp  ]" -- en space (1/2-em) -->
  18534.  
  18535. <!ENTITY mdash  SDATA "[ndash ]" -- em dash -->
  18536.  
  18537. <!ENTITY ndash  SDATA "[ndash ]" -- en dash (1/2-em) -->
  18538.  
  18539. <!ENTITY nbsp   SDATA "[nbsp  ]" -- non breaking space -->
  18540.  
  18541. <!ENTITY shy    SDATA "[shy   ]" -- soft hyphen -->
  18542.  
  18543. <!ENTITY copy   SDATA "[copy  ]" -- copyright sign -->
  18544.  
  18545. <!ENTITY trade  SDATA "[trade ]" -- trade mark sign -->
  18546.  
  18547. <!ENTITY reg    SDATA "[reg   ]" -- registered sign -->
  18548.  
  18549.  
  18550.  
  18551. <!--================ Entities for standard icons ==========================-->
  18552.  
  18553.  
  18554.  
  18555. <!-- a range of standard icons such as &folder; for use
  18556.  
  18557.      in speeding up display of directory listings etc. -->
  18558.  
  18559.  
  18560.  
  18561. <!ENTITY % HTMLicons PUBLIC
  18562.  
  18563.   "-//IETF//ENTITIES icons for HTML//EN">
  18564.  
  18565. %HTMLicons;
  18566.  
  18567.  
  18568.  
  18569. <!--================ Entities for math symbols ============================-->
  18570.  
  18571.  
  18572.  
  18573. <!-- ISO subset chosen for use with the widely available Adobe math font -->
  18574.  
  18575.  
  18576.  
  18577. <!ENTITY % HTMLmath PUBLIC
  18578.  
  18579.  
  18580.  
  18581. Dave Raggett                                                          Page 163
  18582.  
  18583. HTML 3.0                                                       28th March 1995
  18584.  
  18585.  
  18586.  
  18587.   "-//IETF//ENTITIES Math and Greek for HTML//EN">
  18588.  
  18589. %HTMLmath;
  18590.  
  18591.  
  18592.  
  18593. <!--=================== Text Markup =======================================-->
  18594.  
  18595.  
  18596.  
  18597. <!ENTITY % font " U | S | TT | I | BIG | SMALL">
  18598.  
  18599.  
  18600.  
  18601. <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE">
  18602.  
  18603.  
  18604.  
  18605. <!ENTITY % misc "Q | LANG | AU | DFN | PERSON | ACRONYM | ABBREV | INS | DEL">
  18606.  
  18607.  
  18608.  
  18609. <!ENTITY % special "TAB | MATH | A | IMG | BR">
  18610.  
  18611.  
  18612.  
  18613. <!ENTITY % notmath "%font | %phrase | %special | %misc">
  18614.  
  18615.  
  18616.  
  18617. <!ENTITY % text "#PCDATA | SUB | SUP | B | %notmath">
  18618.  
  18619.  
  18620.  
  18621.  
  18622.  
  18623. <!ENTITY % pre.exclusion "TAB|MATH|IMG|BIG|SMALL|SUB|SUP">
  18624.  
  18625.  
  18626.  
  18627. <!ELEMENT (%font|B|%phrase|%misc) - - (%text)+>
  18628.  
  18629. <!ATTLIST (%font|B|%phrase|%misc) %attrs;>
  18630.  
  18631.  
  18632.  
  18633. <!-- Subscripts and superscripts. The ALIGN attribute is only used for math -->
  18634.  
  18635.  
  18636.  
  18637. <!ELEMENT (SUB|SUP) - - (%text)+>
  18638.  
  18639. <!ATTLIST (SUB|SUP)
  18640.  
  18641.         %attrs;
  18642.  
  18643.         align (left|center|right) #IMPLIED
  18644.  
  18645.         >
  18646.  
  18647.  
  18648.  
  18649. <!-- Forced line break -->
  18650.  
  18651.  
  18652.  
  18653. <!ELEMENT BR    - O EMPTY>
  18654.  
  18655. <!ATTLIST BR
  18656.  
  18657.         %attrs;
  18658.  
  18659.         %needs; -- for control of text flow --
  18660.  
  18661.         >
  18662.  
  18663.  
  18664.  
  18665. <!-- Named left, center and right tab stops (independent of '\t' char) -->
  18666.  
  18667.  
  18668.  
  18669. <!ELEMENT TAB - O EMPTY>
  18670.  
  18671. <!ATTLIST TAB
  18672.  
  18673.         id       ID       #IMPLIED  -- defines named tab stop --
  18674.  
  18675.         indent   NUMBER   0         -- en units before new tab stop --
  18676.  
  18677.         to       IDREF    #IMPLIED  -- jump to named tab stop --
  18678.  
  18679.         align   (left|center|right|decimal) left
  18680.  
  18681.         dp      CDATA     #IMPLIED  -- decimal point e.g. dp="," --
  18682.  
  18683.         >
  18684.  
  18685.  
  18686.  
  18687. <!--================== Link Markup ========================================-->
  18688.  
  18689.  
  18690.  
  18691. <!--
  18692.  
  18693.  
  18694.  
  18695. Dave Raggett                                                          Page 164
  18696.  
  18697. HTML 3.0                                                       28th March 1995
  18698.  
  18699.  
  18700.  
  18701.      With HTML 3.0 you can use ID attributes on most elements for named
  18702.  
  18703.      link ends. The use of the NAME attribute on anchors is deprecated.
  18704.  
  18705.  
  18706.  
  18707.      Do we want to support arbitrary elements for link starts? This would
  18708.  
  18709.      involve adding HREF and related attributes to most elements.
  18710.  
  18711. -->
  18712.  
  18713.  
  18714.  
  18715. <![ %HTML.Deprecated [
  18716.  
  18717.     <!ENTITY % linkName "name CDATA #IMPLIED -- named link end --">
  18718.  
  18719. ]]>
  18720.  
  18721.  
  18722.  
  18723. <!ENTITY % linkName "">
  18724.  
  18725.  
  18726.  
  18727.  
  18728.  
  18729. <!ENTITY % ToolBar "home|toc|index|glossary|copyright|
  18730.  
  18731.                     up|previous|next|help|bookmark"
  18732.  
  18733.  
  18734.  
  18735.         -- LINK RELationship values which are used to create toolbar
  18736.  
  18737.            buttons or menu items for navigation, where toc stands
  18738.  
  18739.            for table of contents and bookmark provides for an open
  18740.  
  18741.            ended set of links, i.e. you can use multiple bookmarks
  18742.  
  18743.            for key entry points. Use the optional TITLE attribute
  18744.  
  18745.            to override default names.
  18746.  
  18747.         -->
  18748.  
  18749.  
  18750.  
  18751. <!ENTITY % linkType "NAME"
  18752.  
  18753.         -- A definitive list will be specified at a later date.
  18754.  
  18755.  
  18756.  
  18757.            They are used
  18758.  
  18759.  
  18760.  
  18761.                 a) by stylesheets to control how collections of
  18762.  
  18763.                    html nodes are rendered into printed documents
  18764.  
  18765.  
  18766.  
  18767.                 b) for document specific toolbars/menus when used
  18768.  
  18769.                    with the LINK element in document head:
  18770.  
  18771.  
  18772.  
  18773.                     "home|toc|index|glossary|copyright|
  18774.  
  18775.                            up|previous|next|help|bookmark"
  18776.  
  18777.  
  18778.  
  18779.                    where toc stands for table of contents and
  18780.  
  18781.                    bookmark provides for an open ended set of links,
  18782.  
  18783.                    i.e. you can use several bookmarks for key entry
  18784.  
  18785.                    points. Use the optional TITLE attribute to
  18786.  
  18787.                    override default names.
  18788.  
  18789.  
  18790.  
  18791.                 c) for hypertext paths or guided tours,
  18792.  
  18793.                    with REL=NODE and REL=PATH. 
  18794.  
  18795.  
  18796.  
  18797.                 d) to make a link to a style sheet, e.g. rel=stylesheet
  18798.  
  18799.                    (used only with the LINK element).
  18800.  
  18801.                    
  18802.  
  18803.                 e) to make a link to a separate banner, e.g. rel=banner
  18804.  
  18805.                    (used only with the LINK element).
  18806.  
  18807.  
  18808.  
  18809. Dave Raggett                                                          Page 165
  18810.  
  18811. HTML 3.0                                                       28th March 1995
  18812.  
  18813.  
  18814.  
  18815.         -->
  18816.  
  18817.  
  18818.  
  18819.  
  18820.  
  18821. <!ENTITY % linkExtraAttributes -- URN moved to %url.link --
  18822.  
  18823.        "rel %linkType #IMPLIED -- forward relationship type --
  18824.  
  18825.         rev %linkType #IMPLIED -- reversed relationship type
  18826.  
  18827.                                   to referent data --
  18828.  
  18829.         title   CDATA #IMPLIED -- advisory only --
  18830.  
  18831.         methods NAMES #IMPLIED -- supported public methods of the object:
  18832.  
  18833.                                         TEXTSEARCH, GET, HEAD, ... --
  18834.  
  18835.         ">
  18836.  
  18837.  
  18838.  
  18839. <![ %HTML.Deprecated [
  18840.  
  18841.     <!ENTITY % A.content "(%heading|%text)+">
  18842.  
  18843. ]]>
  18844.  
  18845.  
  18846.  
  18847. <!ENTITY % A.content   "(%text)+">
  18848.  
  18849.  
  18850.  
  18851. <!ELEMENT A     - - %A.content -(A)>
  18852.  
  18853.  
  18854.  
  18855. <!ATTLIST A
  18856.  
  18857.         %attrs;
  18858.  
  18859.         href   %URI;  #IMPLIED
  18860.  
  18861.         %url.link;    -- standard link attributes --
  18862.  
  18863.         %linkName;     -- name attribute is deprecated; use ID instead --
  18864.  
  18865.         shape %SHAPE; #IMPLIED -- for shaped hotzones in FIGs --
  18866.  
  18867.         %linkExtraAttributes;
  18868.  
  18869.         >
  18870.  
  18871.  
  18872.  
  18873. <!--=================== Images ============================================-->
  18874.  
  18875.  
  18876.  
  18877. <!-- Desired widths are used for negotiating image size
  18878.  
  18879.      with the module responsible for painting the image.
  18880.  
  18881.      align=left or right cause image to float to margin
  18882.  
  18883.      and for subsequent text to wrap around image -->
  18884.  
  18885.  
  18886.  
  18887. <!ELEMENT IMG    - O EMPTY --  Embedded image -->
  18888.  
  18889. <!ATTLIST IMG
  18890.  
  18891.         %attrs;
  18892.  
  18893.         src  %URI;  #REQUIRED  -- URI of image to embed --
  18894.  
  18895.         %url.link;             -- standard link attributes --
  18896.  
  18897.         alt CDATA   #IMPLIED   -- for display in place of image --
  18898.  
  18899.         align  (top|middle|bottom|left|right) top -- relative to baseline
  18900.  
  18901.         --         width  NUMBER #IMPLIED -- desired width in en's or pixels --
  18902.  
  18903.         height NUMBER #IMPLIED -- desired height in en's or pixels --
  18904.  
  18905.         units  (en|pixels) pixels -- units for width and height --
  18906.  
  18907.         ismap (ismap) #IMPLIED -- pass clicks to server --
  18908.  
  18909.         >
  18910.  
  18911.  
  18912.  
  18913. <!--=================== Paragraphs=========================================-->
  18914.  
  18915.  
  18916.  
  18917. <!ELEMENT P     - O (%text)+>
  18918.  
  18919. <!ATTLIST P
  18920.  
  18921.  
  18922.  
  18923. Dave Raggett                                                          Page 166
  18924.  
  18925. HTML 3.0                                                       28th March 1995
  18926.  
  18927.  
  18928.  
  18929.         %attrs;
  18930.  
  18931.         align  (left|center|right|justify) #IMPLIED
  18932.  
  18933.         %needs; -- for control of text flow --
  18934.  
  18935.         nowrap (nowrap) #IMPLIED -- disable wordwrap --
  18936.  
  18937.         >
  18938.  
  18939.  
  18940.  
  18941. <!--=================== Headings, Titles, Sections ========================-->
  18942.  
  18943.  
  18944.  
  18945. <!ELEMENT HR    - O EMPTY -- customizable horizontal rule -->
  18946.  
  18947. <!ATTLIST HR
  18948.  
  18949.         %attrs;
  18950.  
  18951.         src     %URI;   #IMPLIED -- URI of custom rule graphic --
  18952.  
  18953.         %url.link;               -- standard link attributes --
  18954.  
  18955.         %needs; -- for control of text flow --
  18956.  
  18957.         >
  18958.  
  18959.  
  18960.  
  18961. <!--
  18962.  
  18963.   Headers can be numbered, although this is a matter for style sheets.
  18964.  
  18965.   The style sheet controls the numbering style:
  18966.  
  18967.  
  18968.  
  18969.      a) whether the parent numbering is inherited, e.g.  5.i.c
  18970.  
  18971.         where 5 is the current sequence number for H1 headers, and
  18972.  
  18973.         1 is the number for H2 headers and 3 for H3 headers.
  18974.  
  18975.  
  18976.  
  18977.      b) what style is used for current sequence number
  18978.  
  18979.         e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman
  18980.  
  18981.         or a numbering scheme appropriate for the current language
  18982.  
  18983.  
  18984.  
  18985.   The skip attribute is used to skip over sequence numbers for items
  18986.  
  18987.   which have been left out of the list, e.g. skip=3 advances the
  18988.  
  18989.   sequence number past 3 omitted items. The seqnum sets the sequence
  18990.  
  18991.   number to a specified value. Note that the style sheet may take
  18992.  
  18993.   advantage of the sequence number for higher level headers.
  18994.  
  18995.  
  18996.  
  18997.   The dingbat or src attributes may be used to specify a bullet like
  18998.  
  18999.   image to be placed adjacent to the header. Defining this in the
  19000.  
  19001.   header element simplifies the document markup and avoids the need
  19002.  
  19003.   to use the clear or needs attribute in the following element to
  19004.  
  19005.   prevent it flowing around this image.
  19006.  
  19007. -->
  19008.  
  19009.  
  19010.  
  19011. <!ELEMENT ( %heading )  - -  (%text;)+>
  19012.  
  19013. <!ATTLIST ( %heading )
  19014.  
  19015.         %attrs;
  19016.  
  19017.         align  (left|center|right|justify) #IMPLIED
  19018.  
  19019.         %needs; -- for control of text flow --
  19020.  
  19021.         seqnum   NUMBER   #IMPLIED  -- starting sequence number --
  19022.  
  19023.         skip     NUMBER   0         -- skip seq nums for missing items --
  19024.  
  19025.         dingbat  ENTITY   #IMPLIED  -- dingbat entity from HTMLicons --
  19026.  
  19027.         src      (%URI;)  #IMPLIED  -- bullet defined by graphic --
  19028.  
  19029.         %url.link;                  -- standard link attributes --
  19030.  
  19031.         nowrap   (nowrap)  #IMPLIED -- disable wordwrap --
  19032.  
  19033.         >
  19034.  
  19035.  
  19036.  
  19037. Dave Raggett                                                          Page 167
  19038.  
  19039. HTML 3.0                                                       28th March 1995
  19040.  
  19041.  
  19042.  
  19043.  
  19044.  
  19045. <!ELEMENT TITLE - -  (#PCDATA)
  19046.  
  19047.           -- The TITLE element is not considered part of the flow of text.
  19048.  
  19049.              It should be displayed, for example as the page header or
  19050.  
  19051.              window title.
  19052.  
  19053.           -->
  19054.  
  19055.  
  19056.  
  19057. <!--=================== Text Flows ========================================-->
  19058.  
  19059.  
  19060.  
  19061. <!ENTITY % block
  19062.  
  19063.      "P | %list | DL
  19064.  
  19065.         | %preformatted
  19066.  
  19067.         | %blockquote
  19068.  
  19069.         | FORM | ISINDEX | FN
  19070.  
  19071.         | TABLE | FIG | NOTE">
  19072.  
  19073.  
  19074.  
  19075. <!--
  19076.  
  19077.   ((%block)* | (%text)*) would be much nicer as it would avoid the need
  19078.  
  19079.   for a <P> tag when all you want is a few words of text. The problem
  19080.  
  19081.   is that it also prevents: "<LI> <P>some text" since it forbids PCDATA
  19082.  
  19083.   and hence the white space between the <LI> and the <P>.
  19084.  
  19085. -->
  19086.  
  19087.  
  19088.  
  19089. <![ %HTML.Recommended [
  19090.  
  19091.     <!ENTITY % flow "(%block)*">
  19092.  
  19093. ]]>
  19094.  
  19095.  
  19096.  
  19097. <!ENTITY % flow "(%text | %block)*">
  19098.  
  19099.  
  19100.  
  19101. <!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
  19102.  
  19103.  
  19104.  
  19105. <!ATTLIST PRE
  19106.  
  19107.         %attrs;
  19108.  
  19109.         width NUMBER #implied
  19110.  
  19111.         %needs; -- for control of text flow --
  19112.  
  19113.         >
  19114.  
  19115.  
  19116.  
  19117. <![ %HTML.Obsoleted [
  19118.  
  19119.  
  19120.  
  19121. <!ENTITY % literal "CDATA"
  19122.  
  19123.         -- special non-conforming parsing mode where
  19124.  
  19125.            the only markup signal is the end tag
  19126.  
  19127.            in full. This will cause problems for
  19128.  
  19129.            standard SGML tools!
  19130.  
  19131.         -->
  19132.  
  19133.  
  19134.  
  19135. <!ELEMENT XMP - -  %literal>
  19136.  
  19137. <!ELEMENT LISTING - -  %literal>
  19138.  
  19139. <!ELEMENT PLAINTEXT - O %literal>
  19140.  
  19141.  
  19142.  
  19143. ]]>
  19144.  
  19145.  
  19146.  
  19147. <!--=================== Lists =============================================-->
  19148.  
  19149.  
  19150.  
  19151. Dave Raggett                                                          Page 168
  19152.  
  19153. HTML 3.0                                                       28th March 1995
  19154.  
  19155.  
  19156.  
  19157.  
  19158.  
  19159. <!ELEMENT DL    - -  (LH?, (DT|DD)+) -- this is perhaps too lax? -->
  19160.  
  19161. <!ATTLIST DL
  19162.  
  19163.         %attrs;
  19164.  
  19165.         %needs; -- for control of text flow --
  19166.  
  19167.         compact (compact) #IMPLIED -- more compact style --
  19168.  
  19169.         >
  19170.  
  19171.  
  19172.  
  19173. <!ELEMENT DT    - O  (%text)+>
  19174.  
  19175. <!ELEMENT DD    - O  %flow;>
  19176.  
  19177. <!ATTLIST (DT|DD)
  19178.  
  19179.         %attrs;
  19180.  
  19181.         %needs; -- for control of text flow --
  19182.  
  19183.         >
  19184.  
  19185.  
  19186.  
  19187.  
  19188.  
  19189. <!ELEMENT (OL|UL) - -  (LH?, LI+) -- should we allow a list header ? -->
  19190.  
  19191.  
  19192.  
  19193. <!-- style sheet controls numbering style
  19194.  
  19195.     a) whether the parent numbering is inherited, e.g.  5.1.c
  19196.  
  19197.     b) what style is used for current sequence number
  19198.  
  19199.         e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman
  19200.  
  19201.         or a numbering scheme for the current language
  19202.  
  19203. -->
  19204.  
  19205. <!ATTLIST OL
  19206.  
  19207.         %attrs;
  19208.  
  19209.         %needs; -- for control of text flow --
  19210.  
  19211.         continue (continue)  #IMPLIED   -- don't restart sequence number --
  19212.  
  19213.         seqnum    NUMBER     #IMPLIED   -- starting sequence number --
  19214.  
  19215.         compact (compact)    #IMPLIED   -- reduced interitem spacing --
  19216.  
  19217.         >
  19218.  
  19219.  
  19220.  
  19221. <!-- Unordered lists:
  19222.  
  19223.  
  19224.  
  19225.     o   single or multicolumn with
  19226.  
  19227.         horizontal or vertical wrapping
  19228.  
  19229.  
  19230.  
  19231.     o   plain or bulletted list items
  19232.  
  19233.  
  19234.  
  19235.     o   bullets can be customised via:
  19236.  
  19237.             - entities (dingbats in HTMLicons)
  19238.  
  19239.             - external graphic via URL
  19240.  
  19241.             - individual attributes on LI tags
  19242.  
  19243. -->
  19244.  
  19245. <!ATTLIST UL
  19246.  
  19247.         %attrs;
  19248.  
  19249.         %needs; -- for control of text flow --
  19250.  
  19251.         wrap (vert|horiz|none) none -- multicolumn list style --
  19252.  
  19253.         plain   (plain)  #IMPLIED   -- suppress bullets --
  19254.  
  19255.         dingbat  ENTITY  #IMPLIED   -- dingbat entity from HTMLicons --
  19256.  
  19257.         src     (%URI;)  #IMPLIED   -- bullet defined by graphic --
  19258.  
  19259.         %url.link;                  -- standard link attributes --
  19260.  
  19261.         compact (compact) #IMPLIED  -- reduced interitem spacing --
  19262.  
  19263.  
  19264.  
  19265. Dave Raggett                                                          Page 169
  19266.  
  19267. HTML 3.0                                                       28th March 1995
  19268.  
  19269.  
  19270.  
  19271.         >
  19272.  
  19273.  
  19274.  
  19275. <!ELEMENT LH - O (%text;)+ -- list header -->
  19276.  
  19277. <!ATTLIST LH %attrs;>
  19278.  
  19279.  
  19280.  
  19281. <!--
  19282.  
  19283.     For unordered lists, you can override the standard bullet with
  19284.  
  19285.     a custom graphic specified via a URI e.g. src="splash.gif" or
  19286.  
  19287.     a reference to one of the HTMLicons graphics e.g. dingbat=folder
  19288.  
  19289.  
  19290.  
  19291.     The skip attribute is used with ordered lists to skip over sequence
  19292.  
  19293.     numbers for items which have been left out of the list, e.g. skip=3
  19294.  
  19295.     advances the sequence number past 3 omitted items.
  19296.  
  19297. -->
  19298.  
  19299.  
  19300.  
  19301. <!ELEMENT LI - O %flow; -- list item -->
  19302.  
  19303. <!ATTLIST LI
  19304.  
  19305.         %attrs;
  19306.  
  19307.         %needs; -- for control of text flow --
  19308.  
  19309.         dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons --
  19310.  
  19311.         src  (%URI;) #IMPLIED   -- custom bullet graphic --
  19312.  
  19313.         %url.link;              -- standard link attributes --
  19314.  
  19315.         skip NUMBER 0           -- skip seq nums for missing items --
  19316.  
  19317.         >
  19318.  
  19319.  
  19320.  
  19321. <!-- DIR and MENU are now subsumed by UL with type=plain. Use the
  19322.  
  19323.      wrap attribute to control wrapping style for multicolumn lists -->
  19324.  
  19325.  
  19326.  
  19327. <![ %HTML.Deprecated [
  19328.  
  19329.     <!ELEMENT (DIR|MENU) - - (LI)+ -(%block)>
  19330.  
  19331.     <!ATTLIST (DIR|MENU)
  19332.  
  19333.         compact (compact) #IMPLIED>
  19334.  
  19335. ]]>
  19336.  
  19337.  
  19338.  
  19339. <!--=================== Document Body =====================================-->
  19340.  
  19341.  
  19342.  
  19343. <![ %HTML.Recommended [
  19344.  
  19345.         <!ENTITY % body.content "(DIV|%heading|%block|HR|ADDRESS)*"
  19346.  
  19347.         -- <h1>Heading</h1>
  19348.  
  19349.            <p>Text ...
  19350.  
  19351.                 is preferred to
  19352.  
  19353.            <h1>Heading</h1>
  19354.  
  19355.            Text ...
  19356.  
  19357.         -->
  19358.  
  19359. ]]>
  19360.  
  19361.  
  19362.  
  19363. <!ENTITY % body.content "(DIV | %heading | %text | %block | HR | ADDRESS)*">
  19364.  
  19365.  
  19366.  
  19367. <!ELEMENT BODY O O  (BANNER?, BODYTEXT) +(SPOT)>
  19368.  
  19369. <!ATTLIST BODY
  19370.  
  19371.         %attrs;
  19372.  
  19373.         background %URI; #IMPLIED  -- texture tile for document background --
  19374.  
  19375.         >
  19376.  
  19377.  
  19378.  
  19379. Dave Raggett                                                          Page 170
  19380.  
  19381. HTML 3.0                                                       28th March 1995
  19382.  
  19383.  
  19384.  
  19385.  
  19386.  
  19387. <!ELEMENT BODYTEXT O O %body.content -- dummy element -->
  19388.  
  19389.  
  19390.  
  19391. <!-- 
  19392.  
  19393.   The BANNER element is used for a banner section which appears at
  19394.  
  19395.   the top of the window and doesn't scroll with window contents.
  19396.  
  19397.   This can be used for corporate logos, copyright statements and
  19398.  
  19399.   disclaimers, as well as customized navigation/search controls.
  19400.  
  19401. -->
  19402.  
  19403. <!ELEMENT BANNER - - %body.content>
  19404.  
  19405. <!ATTLIST BANNER %attrs; >
  19406.  
  19407.  
  19408.  
  19409. <!-- SPOT is used to insert IDs at arbitrary places
  19410.  
  19411.      e.g. for end points of a marked range (see RANGE) -->
  19412.  
  19413. <!ELEMENT SPOT - O EMPTY>
  19414.  
  19415. <!ATTLIST SPOT id ID #REQUIRED>
  19416.  
  19417.  
  19418.  
  19419. <!ELEMENT (%blockquote) - - (BODYTEXT, CREDIT?)>
  19420.  
  19421. <!ATTLIST (%blockquote)
  19422.  
  19423.         %attrs;
  19424.  
  19425.         %needs; -- for control of text flow --
  19426.  
  19427.         nowrap   (nowrap)  #IMPLIED -- disable wordwrap --
  19428.  
  19429.         >
  19430.  
  19431.  
  19432.  
  19433. <!ENTITY % address.content "((%text;)* | P*)">
  19434.  
  19435.  
  19436.  
  19437. <!ELEMENT ADDRESS - - %address.content>
  19438.  
  19439. <!ATTLIST ADDRESS
  19440.  
  19441.         %attrs;
  19442.  
  19443.         %needs; -- for control of text flow --
  19444.  
  19445.         >
  19446.  
  19447.         
  19448.  
  19449. <!--
  19450.  
  19451.   DIV can be used with the CLASS attribute to represent different
  19452.  
  19453.   kinds of container, e.g. chapter, section, abstract, appendix.
  19454.  
  19455. -->
  19456.  
  19457.  
  19458.  
  19459. <!ELEMENT DIV - - %body.content>
  19460.  
  19461. <!ATTLIST DIV
  19462.  
  19463.         %attrs;
  19464.  
  19465.         %needs; -- for control of text flow --
  19466.  
  19467.         align   (left|center|right) left -- alignment of following text --
  19468.  
  19469.         nowrap   (nowrap)  #IMPLIED -- disable wordwrap --
  19470.  
  19471.         >
  19472.  
  19473.  
  19474.  
  19475. <!--================ Forms ===============================================-->
  19476.  
  19477.  
  19478.  
  19479. <!--
  19480.  
  19481.     As HTML 2.0 plus a few extensions:
  19482.  
  19483.  
  19484.  
  19485.         a)  A RANGE control which varies between pair of values
  19486.  
  19487.             specified with the size attribute, e.g. SIZE="1, 10"
  19488.  
  19489.  
  19490.  
  19491.  
  19492.  
  19493. Dave Raggett                                                          Page 171
  19494.  
  19495. HTML 3.0                                                       28th March 1995
  19496.  
  19497.  
  19498.  
  19499.         b)  FILE widget for uploading one or more files to a server
  19500.  
  19501.  
  19502.  
  19503.         c)  SCRIBBLE on image widget that sends the "ink" to the server
  19504.  
  19505.  
  19506.  
  19507.         d)  SUBMIT/RESET buttons can now be customised with an image.
  19508.  
  19509.             This subsumes the IMAGE type which is now deprecated.
  19510.  
  19511.  
  19512.  
  19513.         e)  Graphical SELECTion menus are now supported, using
  19514.  
  19515.             the new SHAPE attribute on OPTION elements.
  19516.  
  19517.  
  19518.  
  19519.     Further extensions are in the pipeline (e.g. table entry,
  19520.  
  19521.     multiple data formats for textarea fields and client-side
  19522.  
  19523.     scripts with custom widgets) but will have to wait until
  19524.  
  19525.     the backlog of implementation work diminishes.
  19526.  
  19527. -->
  19528.  
  19529.  
  19530.  
  19531. <!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
  19532.  
  19533. <!ATTLIST FORM
  19534.  
  19535.         action %URI #REQUIRED -- server-side form handler --
  19536.  
  19537.         method (%HTTP-Method) GET -- see HTTP specification --
  19538.  
  19539.         enctype %Content-Type; "application/x-www-form-urlencoded"
  19540.  
  19541.         script %URI #IMPLIED -- link to client-side script --
  19542.  
  19543.         >
  19544.  
  19545.  
  19546.  
  19547. <![ %HTML.Deprecated [
  19548.  
  19549.     <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
  19550.  
  19551.                    | RESET | RANGE | FILE | SCRIBBLE | HIDDEN | IMAGE)">
  19552.  
  19553. ]]>
  19554.  
  19555.  
  19556.  
  19557. <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
  19558.  
  19559.                    | RESET | RANGE | FILE | SCRIBBLE | HIDDEN)">
  19560.  
  19561.  
  19562.  
  19563. <!ELEMENT INPUT - O EMPTY>
  19564.  
  19565. <!ATTLIST INPUT
  19566.  
  19567.         %attrs;
  19568.  
  19569.         type %InputType TEXT
  19570.  
  19571.         name  NAME  #IMPLIED       -- required for all but submit and reset --         
  19572.  
  19573.         value CDATA #IMPLIED       -- required for radio buttons & checkboxes --
  19574.  
  19575.         disabled (disabled) #IMPLIED -- read-only fields --
  19576.  
  19577.         error CDATA #IMPLIED       -- why field is in error --
  19578.  
  19579.         checked (checked) #IMPLIED -- for radio buttons and check boxes --
  19580.  
  19581.         size NUMBER #IMPLIED       -- visible width of TEXT fields --
  19582.  
  19583.         maxlength NUMBER #IMPLIED  -- max number of chars for TEXT fields --
  19584.  
  19585.         min %REAL #IMPLIED         -- lower limit for RANGE fields --
  19586.  
  19587.         max %REAL #IMPLIED         -- upper limit for RANGE fields --
  19588.  
  19589.         accept CDATA #IMPLIED      -- list of MIME types for file fields --
  19590.  
  19591.         src   %URI  #IMPLIED       -- for fields with background images --
  19592.  
  19593.         %url.link;                 -- standard link attributes --
  19594.  
  19595.         align  (top|middle|bottom|left|right) top
  19596.  
  19597.         >
  19598.  
  19599.  
  19600.  
  19601. <!--
  19602.  
  19603.   SRC attribute added for graphical selection menus
  19604.  
  19605.  
  19606.  
  19607. Dave Raggett                                                          Page 172
  19608.  
  19609. HTML 3.0                                                       28th March 1995
  19610.  
  19611.  
  19612.  
  19613.   The WIDTH, HEIGHT and UNITS attributes apply to the
  19614.  
  19615.   image specified by the SRC attribute.
  19616.  
  19617.  -->
  19618.  
  19619.  
  19620.  
  19621. <!ELEMENT SELECT - - (OPTION+) -(INPUT|TEXTAREA|SELECT)>
  19622.  
  19623. <!ATTLIST SELECT
  19624.  
  19625.         %attrs;
  19626.  
  19627.         name CDATA #REQUIRED
  19628.  
  19629.         multiple (multiple) #IMPLIED
  19630.  
  19631.         disabled (disabled) #IMPLIED -- read-only menu --
  19632.  
  19633.         error CDATA #IMPLIED   -- why selections are in error --
  19634.  
  19635.         src  %URI  #IMPLIED    -- for graphical selection menus --
  19636.  
  19637.         %url.link;             -- standard link attributes --
  19638.  
  19639.         width  NUMBER #IMPLIED -- desired width of in en's or pixels --
  19640.  
  19641.         height NUMBER #IMPLIED -- desired height in en's or pixels --
  19642.  
  19643.         units  (en|pixels) pixels -- units for width and height --
  19644.  
  19645.         align  (top|middle|bottom|left|right) top
  19646.  
  19647.         >
  19648.  
  19649.  
  19650.  
  19651. <!ELEMENT OPTION - O (#PCDATA)>
  19652.  
  19653. <!ATTLIST OPTION
  19654.  
  19655.         %attrs;
  19656.  
  19657.         selected (selected) #IMPLIED
  19658.  
  19659.         value  CDATA  #IMPLIED -- default to element content --
  19660.  
  19661.         shape %SHAPE; #IMPLIED -- for graphical selection menus --
  19662.  
  19663.         disabled (disabled) #IMPLIED -- unselectable option --
  19664.  
  19665.         error CDATA #IMPLIED   -- why this choice is in error --
  19666.  
  19667.         >
  19668.  
  19669.  
  19670.  
  19671. <!--
  19672.  
  19673.   Multi-line text input field. align=left or right
  19674.  
  19675.   causes the field to float to margin and for
  19676.  
  19677.   subsequent text to wrap around the field.
  19678.  
  19679. -->
  19680.  
  19681.      
  19682.  
  19683. <!ELEMENT TEXTAREA - - (#PCDATA) -(INPUT|TEXTAREA|SELECT)>
  19684.  
  19685. <!ATTLIST TEXTAREA
  19686.  
  19687.         %attrs;
  19688.  
  19689.         name CDATA #REQUIRED
  19690.  
  19691.         rows NUMBER #REQUIRED
  19692.  
  19693.         cols NUMBER #REQUIRED
  19694.  
  19695.         disabled (disabled) #IMPLIED -- read-only field --
  19696.  
  19697.         error CDATA #IMPLIED         -- why field is in error --
  19698.  
  19699.         align  (top|middle|bottom|left|right) top
  19700.  
  19701.         >
  19702.  
  19703.  
  19704.  
  19705. <!--======================= Captions ======================================-->
  19706.  
  19707.  
  19708.  
  19709. <!ELEMENT CAPTION - - (%text;)+ -- table or figure caption -->
  19710.  
  19711. <!ATTLIST CAPTION
  19712.  
  19713.         %attrs;
  19714.  
  19715.         align (top|bottom|left|right) #IMPLIED
  19716.  
  19717.         >
  19718.  
  19719.  
  19720.  
  19721. Dave Raggett                                                          Page 173
  19722.  
  19723. HTML 3.0                                                       28th March 1995
  19724.  
  19725.  
  19726.  
  19727. <!--======================= Tables ========================================-->
  19728.  
  19729.  
  19730.  
  19731. <!--
  19732.  
  19733.     Tables and figures can be aligned in several ways:
  19734.  
  19735.  
  19736.  
  19737.     bleedleft   flush left with the left (window) border
  19738.  
  19739.     left        flush left with the left text margin
  19740.  
  19741.     center      centered (text flow is disabled for this mode)
  19742.  
  19743.     right       flush right with the right text margin
  19744.  
  19745.     bleedright  flush right with the right (window) border
  19746.  
  19747.     justify     when applicable the table/figure should stretch
  19748.  
  19749.                 to fill space between the text margins
  19750.  
  19751.  
  19752.  
  19753.     Note: text will flow around the table or figure if the browser
  19754.  
  19755.     judges there is enough room and the alignment is not centered
  19756.  
  19757.     or justified. The table or figure may itself be part of the
  19758.  
  19759.     text flow around some earlier figure. You can in this case use
  19760.  
  19761.     the clear or needs attributes to move the new table or figure
  19762.  
  19763.     down the page beyond the obstructing earlier figure. Similarly,
  19764.  
  19765.     you can use the clear or needs attributes with other elements
  19766.  
  19767.     such as headers and lists to move them further down the page.
  19768.  
  19769. -->
  19770.  
  19771.  
  19772.  
  19773. <!ENTITY % block.align
  19774.  
  19775.         "align  (bleedleft|left|center|right|bleedright|justify) center">
  19776.  
  19777.  
  19778.  
  19779. <!--
  19780.  
  19781.     The HTML 3.0 table model has been chosen for its simplicity
  19782.  
  19783.     and the ease in writing filters from common DTP packages.
  19784.  
  19785.  
  19786.  
  19787.     By default the table is automatically sized according to the
  19788.  
  19789.     cell contents and the current window size. Specifying the columns
  19790.  
  19791.     widths using the colspec attribute allows browsers to start
  19792.  
  19793.     displaying the table without having to wait for last row.
  19794.  
  19795.  
  19796.  
  19797.     The colspec attribute is a list of column widths and alignment
  19798.  
  19799.     specifications. The columns are listed from left to right with
  19800.  
  19801.     a capital letter followed by a number, e.g. COLSPEC="L20 C8 L40".
  19802.  
  19803.     The letter is L for left, C for center, R for right alignment of
  19804.  
  19805.     cell contents. J is for justification, when feasible, otherwise
  19806.  
  19807.     this is treated in the same way as L for left alignment.
  19808.  
  19809.     Column entries are delimited by one or more space characters.
  19810.  
  19811.     
  19812.  
  19813.     The number specifies the width in en's, pixels or as a
  19814.  
  19815.     fractional value of the table width, as according to the
  19816.  
  19817.     associated units attribute. This approach is more compact
  19818.  
  19819.     than used with most SGML table models and chosen to simplify
  19820.  
  19821.     hand entry. The width attribute allows you to specify the
  19822.  
  19823.     width of the table in pixels, en units or as a percentage
  19824.  
  19825.     of the space between the current left and right margins.
  19826.  
  19827.  
  19828.  
  19829.     To assist with rendering to speech, row and column headers
  19830.  
  19831.     can be given short names using the AXIS attribute. The AXES
  19832.  
  19833.  
  19834.  
  19835. Dave Raggett                                                          Page 174
  19836.  
  19837. HTML 3.0                                                       28th March 1995
  19838.  
  19839.  
  19840.  
  19841.     attribute is used to explicitly specify the row and column
  19842.  
  19843.     names for use with each cell. Otherwise browsers can follow
  19844.  
  19845.     up columns and left along rows (right for some languages)
  19846.  
  19847.     to find the corresponding header cells.
  19848.  
  19849.  
  19850.  
  19851.     Table content model: Braille limits the width of tables,
  19852.  
  19853.     placing severe limits on column widths. User agents need
  19854.  
  19855.     to render big cells by moving the content to a note placed
  19856.  
  19857.     before the table. The cell is then rendered as a link to
  19858.  
  19859.     the corresponding note.
  19860.  
  19861.  
  19862.  
  19863.     To assist with formatting tables to paged media, authors
  19864.  
  19865.     can differentiate leading and trailing rows that are to
  19866.  
  19867.     be duplicated when splitting tables across page boundaries.
  19868.  
  19869.     The recommended way is to subclass rows with the CLASS attribute
  19870.  
  19871.     For example: <TR CLASS=Header>, <TR CLASS=Footer> are used for
  19872.  
  19873.     header and footer rows. Paged browsers insert footer rows at
  19874.  
  19875.     the bottom of the current page and header rows at the top of
  19876.  
  19877.     the new page, followed by the remaining body rows.
  19878.  
  19879. -->
  19880.  
  19881.  
  19882.  
  19883. <!ELEMENT TABLE - - (CAPTION?, TR*) -- mixed headers and data -->
  19884.  
  19885. <!ATTLIST TABLE
  19886.  
  19887.         %attrs;
  19888.  
  19889.         %needs; -- for control of text flow --
  19890.  
  19891.         border (border) #IMPLIED -- draw borders --
  19892.  
  19893.         colspec CDATA   #IMPLIED -- column widths and alignment --
  19894.  
  19895.         units  (en|pixels|relative) en -- units for column widths --
  19896.  
  19897.         dp      CDATA   #IMPLIED -- decimal point e.g. dp="," --
  19898.  
  19899.         width NUMBER    #IMPLIED -- absolute or percentage width --
  19900.  
  19901.         %block.align;  -- horizontal alignment --
  19902.  
  19903.         noflow (noflow) #IMPLIED -- noflow around table --
  19904.  
  19905.         nowrap (nowrap) #IMPLIED -- don't wrap words --
  19906.  
  19907.         >
  19908.  
  19909.  
  19910.  
  19911. <!ENTITY % cell "TH | TD">
  19912.  
  19913. <!ENTITY % horiz.align "left|center|right|justify">
  19914.  
  19915. <!ENTITY % vert.align  "top|middle|bottom|baseline">
  19916.  
  19917.  
  19918.  
  19919. <!--
  19920.  
  19921.     Browsers should tolerate an omission of the first <TR>
  19922.  
  19923.     tag as it is implied by the context. Missing trailing
  19924.  
  19925.     <TR>s implied by rowspans should be ignored.
  19926.  
  19927.  
  19928.  
  19929.     The alignment attributes act as defaults for rows
  19930.  
  19931.     overriding the colspec attribute and being in turn
  19932.  
  19933.     overridden by alignment attributes on cell elements.
  19934.  
  19935.     Use valign=baseline when you want to ensure that text
  19936.  
  19937.     in different cells on the same row is aligned on the
  19938.  
  19939.     same baseline regardless of fonts. It only applies
  19940.  
  19941.     when the cells contain a single line of text.
  19942.  
  19943. -->
  19944.  
  19945.  
  19946.  
  19947.  
  19948.  
  19949. Dave Raggett                                                          Page 175
  19950.  
  19951. HTML 3.0                                                       28th March 1995
  19952.  
  19953.  
  19954.  
  19955. <!ELEMENT TR - O (%cell)* -- row container -->
  19956.  
  19957. <!ATTLIST TR
  19958.  
  19959.         %attrs;
  19960.  
  19961.         align  (%horiz.align) #IMPLIED -- horizontal alignment --
  19962.  
  19963.         valign (%vert.align)  top  -- vertical alignment --
  19964.  
  19965.         dp     CDATA     #IMPLIED  -- decimal point e.g. dp="," --
  19966.  
  19967.         nowrap (nowrap)  #IMPLIED  -- don't wrap words --
  19968.  
  19969.         >
  19970.  
  19971.  
  19972.  
  19973. <!--
  19974.  
  19975.     Note that table cells can include nested tables.
  19976.  
  19977.     Missing cells are considered to be empty, while
  19978.  
  19979.     missing rows should be ignored, i.e. if a cell
  19980.  
  19981.     spans a row and there are no further TR elements
  19982.  
  19983.     then the implied row should be ignored.
  19984.  
  19985. -->
  19986.  
  19987.  
  19988.  
  19989. <!ELEMENT (%cell) - O %body.content>
  19990.  
  19991. <!ATTLIST (%cell)
  19992.  
  19993.         %attrs;
  19994.  
  19995.         colspan NUMBER    1      -- columns spanned --
  19996.  
  19997.         rowspan NUMBER    1      -- rows spanned --
  19998.  
  19999.         align  (%horiz.align) #IMPLIED -- horizontal alignment --
  20000.  
  20001.         valign (%vert.align) top -- vertical alignment --
  20002.  
  20003.         dp      CDATA    #IMPLIED  -- decimal point e.g. dp="," --
  20004.  
  20005.         nowrap (nowrap)  #IMPLIED  -- don't wrap words --
  20006.  
  20007.         axis CDATA #IMPLIED -- axis name, defaults to element content --
  20008.  
  20009.         axes CDATA #IMPLIED -- comma separated list of axis names --
  20010.  
  20011.         >
  20012.  
  20013.  
  20014.  
  20015. <!--====================== Figures ========================================-->
  20016.  
  20017.  
  20018.  
  20019. <!--
  20020.  
  20021.   The element contains text for use in non-graphical displays. Note that
  20022.  
  20023.   you can use the shape attribute in anchors to specify hotzones on images.
  20024.  
  20025.   This provides for local processing of pointer clicks and a unified method
  20026.  
  20027.   for dealing with graphical and non-graphical displays.
  20028.  
  20029.  
  20030.  
  20031.   Text is flowed around figures when the figure is left or right aligned.
  20032.  
  20033.   You can request the browser to move down until there is enough room for
  20034.  
  20035.   the next element, see the CLEAR and NEED attributes (in %needs)
  20036.  
  20037.  
  20038.  
  20039.   Figures offer a path towards embedding arbitrary information formats
  20040.  
  20041.   via some kind of OLE/OpenDoc mechanism.
  20042.  
  20043. -->
  20044.  
  20045.  
  20046.  
  20047. <!ELEMENT FIG - - (OVERLAY*, CAPTION?, FIGTEXT, CREDIT?) -(FIG|IMG)>
  20048.  
  20049. <!ATTLIST FIG
  20050.  
  20051.         %attrs;
  20052.  
  20053.         %needs;                  -- for control of text flow --
  20054.  
  20055.         src  %URI;  #REQUIRED    -- URI of document to embed --
  20056.  
  20057.         %url.link;               -- standard link attributes --
  20058.  
  20059.         %block.align;            -- horizontal alignment --
  20060.  
  20061.  
  20062.  
  20063. Dave Raggett                                                          Page 176
  20064.  
  20065. HTML 3.0                                                       28th March 1995
  20066.  
  20067.  
  20068.  
  20069.         noflow (noflow) #IMPLIED -- noflow around figure --
  20070.  
  20071.         width  NUMBER #IMPLIED   -- desired width in units --
  20072.  
  20073.         height NUMBER #IMPLIED   -- desired height in units --
  20074.  
  20075.         units (en|pixels) pixels -- specifies units as en's or pixels --
  20076.  
  20077.         imagemap (%URI) #IMPLIED -- pass background clicks to server --
  20078.  
  20079.         >
  20080.  
  20081.         
  20082.  
  20083. <!ELEMENT FIGTEXT O O %body.content -- dummy element -->
  20084.  
  20085.  
  20086.  
  20087. <!--
  20088.  
  20089.     Figure overlays. When combined with local caching, overlays
  20090.  
  20091.     provide a cheap way of modifying a larger base image sent as
  20092.  
  20093.     part of a previous page.
  20094.  
  20095. -->
  20096.  
  20097.  
  20098.  
  20099. <!ELEMENT OVERLAY - O EMPTY -- image overlay -->
  20100.  
  20101. <!ATTLIST OVERLAY
  20102.  
  20103.         src  %URI;  #REQUIRED    -- URI of image overlay --
  20104.  
  20105.         %url.link;               -- standard link attributes --
  20106.  
  20107.         units (en|pixels) pixels -- specifies units as en's or pixels --
  20108.  
  20109.         x      NUMBER   0        -- offset from left in units --
  20110.  
  20111.         y      NUMBER   0        -- offset from top in units --
  20112.  
  20113.         width  NUMBER #IMPLIED   -- desired width in units --
  20114.  
  20115.         height NUMBER #IMPLIED   -- desired height in units --
  20116.  
  20117.         imagemap (%URI) #IMPLIED -- pass background clicks to server --
  20118.  
  20119.         >
  20120.  
  20121.  
  20122.  
  20123. <!ELEMENT CREDIT - - (%text;)* -- source of image -->
  20124.  
  20125. <!ATTLIST CREDIT
  20126.  
  20127.         %attrs;
  20128.  
  20129.         >
  20130.  
  20131.  
  20132.  
  20133. <!--======================== Notes ========================================-->
  20134.  
  20135.  
  20136.  
  20137. <!--
  20138.  
  20139. The NOTE element is used for admonishments. The CLASS attribute
  20140.  
  20141. is used to differentiate NOTE's, e.g. Note, Caution or Warning.
  20142.  
  20143. -->
  20144.  
  20145.  
  20146.  
  20147. <!ELEMENT NOTE - - %body.content; -- admonishment -->
  20148.  
  20149. <!ATTLIST NOTE
  20150.  
  20151.         %attrs;
  20152.  
  20153.         src %URI;   #IMPLIED  -- URI of custom graphic --
  20154.  
  20155.         %url.link;            -- standard link attributes --
  20156.  
  20157.         %needs; -- for control of text flow --
  20158.  
  20159.         >
  20160.  
  20161.  
  20162.  
  20163. <!--======================== Footnotes ====================================-->
  20164.  
  20165.  
  20166.  
  20167. <!--
  20168.  
  20169. Typically rendered as popup note. These elements are referenced
  20170.  
  20171. by hypertext links specified with the anchor element.
  20172.  
  20173. -->
  20174.  
  20175.  
  20176.  
  20177. Dave Raggett                                                          Page 177
  20178.  
  20179. HTML 3.0                                                       28th March 1995
  20180.  
  20181.  
  20182.  
  20183. <!ELEMENT FN - - %body.content;>
  20184.  
  20185. <!ATTLIST FN %attrs;>
  20186.  
  20187.  
  20188.  
  20189. <!--======================== Math  ========================================-->
  20190.  
  20191.  
  20192.  
  20193. <!-- Use     etc for greater control of spacing. -->
  20194.  
  20195.  
  20196.  
  20197. <!-- Subscripts and Superscripts
  20198.  
  20199.  
  20200.  
  20201.   <SUB> and <SUP> are used for subscripts and superscripts.
  20202.  
  20203.  
  20204.  
  20205.                                           i j
  20206.  
  20207.       X <SUP>i</SUP>Y<SUP>j</SUP>  is   X  Y
  20208.  
  20209.  
  20210.  
  20211.   i.e. the space following the X disambiguates the binding.
  20212.  
  20213.   The align attribute can be used for horizontal alignment,
  20214.  
  20215.   e.g. to explicitly place an index above an element:
  20216.  
  20217.                                               i
  20218.  
  20219.         X<sup align=center>i</sup>  produces  X
  20220.  
  20221.  
  20222.  
  20223. Short references are defined for superscripts, subscripts and boxes
  20224.  
  20225. to save typing when manually editing HTML math, e.g.
  20226.  
  20227.  
  20228.  
  20229.       x^2^    is mapped to   x<sup>2</sup>
  20230.  
  20231.       y_z_    is mapped to   y<sub>z</sub>
  20232.  
  20233.       {a+b}   is mapped to   <box>a + b</box>
  20234.  
  20235.  
  20236.  
  20237. Note that these only apply within the MATH element and can't be
  20238.  
  20239. used in normal text!
  20240.  
  20241. -->
  20242.  
  20243. <!ENTITY REF1   STARTTAG   "SUP">
  20244.  
  20245. <!ENTITY REF2   ENDTAG     "SUP">
  20246.  
  20247. <!ENTITY REF3   STARTTAG   "SUB">
  20248.  
  20249. <!ENTITY REF4   ENDTAG     "SUB">
  20250.  
  20251. <!ENTITY REF5   STARTTAG   "BOX">
  20252.  
  20253. <!ENTITY REF6   ENDTAG     "BOX">
  20254.  
  20255.  
  20256.  
  20257. <!USEMAP MAP1   MATH>
  20258.  
  20259. <!USEMAP MAP2   SUP>
  20260.  
  20261. <!USEMAP MAP3   SUB>
  20262.  
  20263. <!USEMAP MAP4   BOX>
  20264.  
  20265.  
  20266.  
  20267. <!SHORTREF MAP1 "^" REF1
  20268.  
  20269.                 "_" REF3
  20270.  
  20271.                 "{" REF5 >
  20272.  
  20273.  
  20274.  
  20275. <!SHORTREF MAP2 "^" REF2
  20276.  
  20277.                 "_" REF3
  20278.  
  20279.                 "{" REF5 >
  20280.  
  20281.  
  20282.  
  20283. <!SHORTREF MAP3 "_" REF4
  20284.  
  20285.                 "^" REF1
  20286.  
  20287.                 "{" REF5 >
  20288.  
  20289.  
  20290.  
  20291. Dave Raggett                                                          Page 178
  20292.  
  20293. HTML 3.0                                                       28th March 1995
  20294.  
  20295.  
  20296.  
  20297.  
  20298.  
  20299. <!SHORTREF MAP4 "}" REF6
  20300.  
  20301.                 "^" REF1
  20302.  
  20303.                 "_" REF3
  20304.  
  20305.                 "{" REF5 >
  20306.  
  20307.  
  20308.  
  20309. <!--
  20310.  
  20311.  The inclusion of %math and exclusion of %notmath is used here
  20312.  
  20313.  to alter the content model for the B, SUB and SUP elements,
  20314.  
  20315.  to limit them to formulae rather than general text elements.
  20316.  
  20317. -->
  20318.  
  20319.  
  20320.  
  20321. <!ENTITY % mathvec "VEC|BAR|DOT|DDOT|HAT|TILDE" -- common accents -->
  20322.  
  20323. <!ENTITY % mathface "B|T|BT" -- control of font face -->
  20324.  
  20325. <!ENTITY % math "BOX|ABOVE|BELOW|%mathvec|ROOT|SQRT|ARRAY|SUB|SUP|%mathface">
  20326.  
  20327. <!ENTITY % formula "#PCDATA|%math">
  20328.  
  20329.  
  20330.  
  20331. <!ELEMENT MATH - - (#PCDATA)* -(%notmath) +(%math)>
  20332.  
  20333. <!ATTLIST MATH
  20334.  
  20335.         id      ID      #IMPLIED
  20336.  
  20337.         class    NAMES   #IMPLIED -- e.g. class=chem -->
  20338.  
  20339.  
  20340.  
  20341. <!-- The BOX element acts as brackets. Delimiters are optional and
  20342.  
  20343.      stretch to match the height of the box. The OVER element is used
  20344.  
  20345.      when you want a line between numerator and denominator. This line
  20346.  
  20347.      is suppressed with the alternative ATOP element. CHOOSE acts like
  20348.  
  20349.      ATOP but adds enclosing round brackets as a convenience for binomial
  20350.  
  20351.      coefficients. Note the use of { and } as shorthand for <BOX> and
  20352.  
  20353.      </BOX> respectively:
  20354.  
  20355.  
  20356.  
  20357.                            1 + X
  20358.  
  20359.      {1 + X<OVER>Y}  is   _______
  20360.  
  20361.                              Y
  20362.  
  20363.  
  20364.  
  20365.                                  a + b
  20366.  
  20367.      {a + b<ATOP>c - d} is  
  20368.  
  20369.                                  c - d
  20370.  
  20371.  
  20372.  
  20373.      The delimiters are represented using the LEFT and RIGHT
  20374.  
  20375.      elements as in:
  20376.  
  20377.  
  20378.  
  20379.      {[<LEFT>x + y<RIGHT>]}   is   [ x + y ]
  20380.  
  20381.      {(<LEFT>a<RIGHT>]}       is   (a]
  20382.  
  20383.      {||<LEFT>a<RIGHT>||}     is   || a ||
  20384.  
  20385.  
  20386.  
  20387.      Use { and } for "{" and "}" respectively as
  20388.  
  20389.      these symbols are used as shorthand for BOX, e.g.
  20390.  
  20391.  
  20392.  
  20393.      {{<LEFT>a+b<RIGHT>}}  is  {a+b}
  20394.  
  20395.  
  20396.  
  20397.      You can stretch definite integrals to match the integrand, e.g.
  20398.  
  20399.  
  20400.  
  20401.      {∫<SUB>a</SUB><SUP>b</SUP><LEFT>{f(x)<over>1+x} dx}
  20402.  
  20403.  
  20404.  
  20405. Dave Raggett                                                          Page 179
  20406.  
  20407. HTML 3.0                                                       28th March 1995
  20408.  
  20409.  
  20410.  
  20411.  
  20412.  
  20413.             b
  20414.  
  20415.             /  f(x)
  20416.  
  20417.             | ----- dx
  20418.  
  20419.             / 1 + x
  20420.  
  20421.             a
  20422.  
  20423.  
  20424.  
  20425.      Note the complex content model for BOX is a work around
  20426.  
  20427.      for the absence of support for infix operators in SGML.
  20428.  
  20429.  
  20430.  
  20431.      You can get oversize delimiters with the SIZE attribute,
  20432.  
  20433.      for example <BOX SIZE=large>(<LEFT>...<RIGHT>)</BOX>
  20434.  
  20435.  
  20436.  
  20437.      Note that the names of common functions are recognized
  20438.  
  20439.      by the parser without the need to use "&" and ";" around
  20440.  
  20441.      them, e.g. int, sum, sin, cos, tan, ...
  20442.  
  20443. -->
  20444.  
  20445.  
  20446.  
  20447. <!ELEMENT BOX - - ((%formula)*, (LEFT, (%formula)*)?,
  20448.  
  20449.                    ((OVER|ATOP|CHOOSE), (%formula)*)?,
  20450.  
  20451.                    (RIGHT, (%formula)*)?)>
  20452.  
  20453. <!ATTLIST BOX
  20454.  
  20455.         size  (normal|medium|large|huge) normal -- oversize delims -->
  20456.  
  20457.  
  20458.  
  20459. <!ELEMENT (OVER|ATOP|CHOOSE|LEFT|RIGHT) - O EMPTY>
  20460.  
  20461.  
  20462.  
  20463. <!-- Horizontal line drawn ABOVE contents
  20464.  
  20465.      The symbol attribute allows authors to supply
  20466.  
  20467.      an entity name for an accent, arrow symbol etc.
  20468.  
  20469.      Generalisation of LaTeX's overline command.
  20470.  
  20471.      
  20472.  
  20473.      e.g. <above sym=ssmile>x</above>
  20474.  
  20475.      places an upwardly turning curve above the "x"
  20476.  
  20477.  -->
  20478.  
  20479.  
  20480.  
  20481. <!ELEMENT ABOVE - - (%formula)+>
  20482.  
  20483. <!ATTLIST ABOVE sym ENTITY #IMPLIED>
  20484.  
  20485.  
  20486.  
  20487. <!-- Horizontal line drawn BELOW contents
  20488.  
  20489.      The symbol attribute allows authors to 
  20490.  
  20491.      supply an entity name for an arrow symbol etc.
  20492.  
  20493.      Generalisation of LaTeX's underline command.
  20494.  
  20495.  -->
  20496.  
  20497.  
  20498.  
  20499. <!ELEMENT BELOW - - (%formula)+>
  20500.  
  20501. <!ATTLIST BELOW sym ENTITY #IMPLIED>
  20502.  
  20503.  
  20504.  
  20505. <!-- Convenience tags for common accents:
  20506.  
  20507.      vec, bar, dot, ddot, hat and tilde
  20508.  
  20509. -->
  20510.  
  20511.  
  20512.  
  20513. <!ELEMENT (%mathvec) - - (%formula)+>
  20514.  
  20515.  
  20516.  
  20517.  
  20518.  
  20519. Dave Raggett                                                          Page 180
  20520.  
  20521. HTML 3.0                                                       28th March 1995
  20522.  
  20523.  
  20524.  
  20525. <!--
  20526.  
  20527.   T and BT are used to designate terms which should
  20528.  
  20529.   be rendered in an upright font (& bold face for BT)
  20530.  
  20531. -->
  20532.  
  20533.  
  20534.  
  20535. <!ELEMENT (T|BT) - - (%formula)+>
  20536.  
  20537. <!ATTLIST (T|BT) class NAMES #IMPLIED>
  20538.  
  20539.  
  20540.  
  20541. <!-- Roots  e.g. <ROOT>3<OF>1+x</ROOT> -->
  20542.  
  20543.  
  20544.  
  20545. <!ELEMENT ROOT - - ((%formula)+, OF, (%formula)+)>
  20546.  
  20547. <!ELEMENT OF - O (%formula)* -- what the root applies to -->
  20548.  
  20549.  
  20550.  
  20551. <!ELEMENT SQRT - - (%formula)* -- square root convenience tag -->
  20552.  
  20553.  
  20554.  
  20555. <!-- LaTeX like arrays. The COLDEF attribute specifies
  20556.  
  20557.      a single capital letter for each column determining
  20558.  
  20559.      how the column should be aligned, e.g. coldef="CCC"
  20560.  
  20561.  
  20562.  
  20563.         "L"     left
  20564.  
  20565.         "C"     center
  20566.  
  20567.         "R"     right
  20568.  
  20569.         
  20570.  
  20571.      An optional separator letter can occur between columns
  20572.  
  20573.      and should be one of + - or =, e.g. "C+C+C+C=C".
  20574.  
  20575.      Whitespace within coldef is ignored. By default, the
  20576.  
  20577.      columns are all centered.
  20578.  
  20579.      
  20580.  
  20581.      The ALIGN attribute alters the vertical position of the
  20582.  
  20583.      array as compared with preceding and following expressions.
  20584.  
  20585.  
  20586.  
  20587.      Use LDELIM and RDELIM attributes for delimiter entities.
  20588.  
  20589.      When the LABELS attribute is present, the array is
  20590.  
  20591.      displayed with the first row and the first column as
  20592.  
  20593.      labels displaced from the other elements. In this case,
  20594.  
  20595.      the first element of the first row should normally be
  20596.  
  20597.      left blank.
  20598.  
  20599.  
  20600.  
  20601.      Use &vdots; &cdots; and &ddots; for vertical, horizontal
  20602.  
  20603.      and diagonal ellipsis dots. Use &dotfill; to fill an array
  20604.  
  20605.      cell with horizontal dots (e.g. for a full row).
  20606.  
  20607.      Note &ldots; places the dots on the baseline, while &cdots;
  20608.  
  20609.      places them higher up.
  20610.  
  20611. -->
  20612.  
  20613.  
  20614.  
  20615. <!ELEMENT ARRAY - - (ROW)+>
  20616.  
  20617. <!ATTLIST ARRAY
  20618.  
  20619.         align (top|middle|bottom) middle -- vertical alignment --
  20620.  
  20621.         coldef  CDATA   #IMPLIED  -- column alignment and separator --
  20622.  
  20623.         ldelim  CDATA   #IMPLIED  -- stretchy left delimiter --
  20624.  
  20625.         rdelim  CDATA   #IMPLIED  -- stretchy right delimiter --
  20626.  
  20627.         labels (labels) #IMPLIED  -- TeX's \bordermatrix style -->
  20628.  
  20629.  
  20630.  
  20631.  
  20632.  
  20633. Dave Raggett                                                          Page 181
  20634.  
  20635. HTML 3.0                                                       28th March 1995
  20636.  
  20637.  
  20638.  
  20639. <!ELEMENT ROW - O (ITEM)*>
  20640.  
  20641. <!ELEMENT ITEM - O (%formula)*>
  20642.  
  20643. <!ATTLIST ITEM
  20644.  
  20645.         align   CDATA  #IMPLIED  -- override coldef alignment --
  20646.  
  20647.         colspan NUMBER 1         -- merge columns as per TABLE --
  20648.  
  20649.         rowspan NUMBER 1         -- merge rows as per TABLE -->
  20650.  
  20651.  
  20652.  
  20653. <!--================ Document Head ========================================-->
  20654.  
  20655.  
  20656.  
  20657. <![ %HTML.Deprecated [
  20658.  
  20659.     <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE?
  20660.  
  20661.                               & META* & LINK* & RANGE* & NEXTID?">
  20662.  
  20663. ]]>
  20664.  
  20665.  
  20666.  
  20667. <!ENTITY % head.nextid "">
  20668.  
  20669.  
  20670.  
  20671. <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE?
  20672.  
  20673.                               & META* & LINK* & RANGE*">
  20674.  
  20675.  
  20676.  
  20677. <!ELEMENT HEAD O O  (%head.content)>
  20678.  
  20679.  
  20680.  
  20681. <!ELEMENT LINK - O EMPTY>
  20682.  
  20683. <!ATTLIST LINK
  20684.  
  20685.         href %URI #REQUIRED
  20686.  
  20687.         %linkExtraAttributes; >
  20688.  
  20689.         
  20690.  
  20691. <!ELEMENT RANGE - O EMPTY>
  20692.  
  20693. <!ATTLIST RANGE
  20694.  
  20695.         id    ID    #IMPLIED  -- for naming marked range --
  20696.  
  20697.         class NAMES #IMPLIED  -- for subclassing --
  20698.  
  20699.         from  IDREF #REQUIRED -- start of marked range --
  20700.  
  20701.         until IDREF #REQUIRED -- end of marked range --
  20702.  
  20703.         >
  20704.  
  20705.  
  20706.  
  20707. <!ELEMENT ISINDEX - O EMPTY>
  20708.  
  20709. <!ATTLIST ISINDEX
  20710.  
  20711.         href   %URI  #IMPLIED -- server handling queries --
  20712.  
  20713.         prompt CDATA #IMPLIED -- prompt message -->
  20714.  
  20715.  
  20716.  
  20717. <!--
  20718.  
  20719.     The BASE element gives the base URL for
  20720.  
  20721.     dereferencing relative URLs, e.g.
  20722.  
  20723.  
  20724.  
  20725.          <BASE href="http://foo.com/images">
  20726.  
  20727.          ...
  20728.  
  20729.          <IMG SRC="bar.gif">
  20730.  
  20731.  
  20732.  
  20733.     The image is deferenced to
  20734.  
  20735.  
  20736.  
  20737.          http://foo.com/images/bar.gif
  20738.  
  20739. -->
  20740.  
  20741.  
  20742.  
  20743. <!ELEMENT BASE - O EMPTY>
  20744.  
  20745.  
  20746.  
  20747. Dave Raggett                                                          Page 182
  20748.  
  20749. HTML 3.0                                                       28th March 1995
  20750.  
  20751.  
  20752.  
  20753. <!ATTLIST BASE
  20754.  
  20755.         id   ID    #IMPLIED
  20756.  
  20757.         href %URI; #REQUIRED
  20758.  
  20759.         >
  20760.  
  20761.  
  20762.  
  20763. <![ %HTML.Deprecated [
  20764.  
  20765.     <!ELEMENT NEXTID - O EMPTY>
  20766.  
  20767.     <!ATTLIST NEXTID N CDATA #REQUIRED>
  20768.  
  20769. ]]>
  20770.  
  20771.  
  20772.  
  20773. <!ELEMENT META - O EMPTY    -- Generic Metainformation -->
  20774.  
  20775. <!ATTLIST META
  20776.  
  20777.         http-equiv  NAME    #IMPLIED  -- HTTP response header name  --
  20778.  
  20779.         name        NAME    #IMPLIED  -- metainformation name       --
  20780.  
  20781.         content     CDATA   #REQUIRED -- associated information     --
  20782.  
  20783.         >
  20784.  
  20785.  
  20786.  
  20787. <!--
  20788.  
  20789.     A style sheet can be associated with the document using the
  20790.  
  20791.     LINK element, e.g. <LINK rel=style href="housestyle.dsssl">.
  20792.  
  20793.     Style overrides can be placed in the document head using the
  20794.  
  20795.     STYLE element, e.g.
  20796.  
  20797.  
  20798.  
  20799.         <style notation=dsssl-lite>
  20800.  
  20801.            dsss-lite stuff
  20802.  
  20803.         </style>
  20804.  
  20805.  
  20806.  
  20807.     Later on in the document you can use:
  20808.  
  20809.  
  20810.  
  20811.         <h2 class=bigcaps>Header with bigger than normal capitals</h2>
  20812.  
  20813.         <p class=abstract>A paragraph with a unique style of its own
  20814.  
  20815.         ...
  20816.  
  20817.     
  20818.  
  20819.     Statements in the given style notation 
  20820.  
  20821.         
  20822.  
  20823.     The tag names, class and id attributes are used in the style sheet
  20824.  
  20825.     notation to describe how to render matching elements.
  20826.  
  20827. -->
  20828.  
  20829.  
  20830.  
  20831. <!ENTITY % style-notations "dsssl-lite | w3c-style">
  20832.  
  20833. <!NOTATION dsssl-lite PUBLIC
  20834.  
  20835.       "ISO/IEC 10179:1995//NOTATION DSSSL Style Language//EN">
  20836.  
  20837.       
  20838.  
  20839. <!NOTATION w3c-style PUBLIC "IETF/RFC nnn/W3C Style Language//EN">
  20840.  
  20841.  
  20842.  
  20843. <!ELEMENT STYLE - O (#PCDATA)>
  20844.  
  20845. <!ATTLIST STYLE
  20846.  
  20847.     notation NOTATION (%style-notations;) #REQUIRED
  20848.  
  20849. >
  20850.  
  20851.  
  20852.  
  20853. <!--================ Document Structure ===================================-->
  20854.  
  20855.  
  20856.  
  20857. <!ENTITY % html.content "HEAD, BODY">
  20858.  
  20859.  
  20860.  
  20861. Dave Raggett                                                          Page 183
  20862.  
  20863. HTML 3.0                                                       28th March 1995
  20864.  
  20865.  
  20866.  
  20867.  
  20868.  
  20869. <!ELEMENT HTML O O  (%html.content)>
  20870.  
  20871. <!ENTITY % version.attr 'VERSION CDATA #FIXED "&HTML.Version;"'>
  20872.  
  20873.  
  20874.  
  20875. <!-- suggested roles are: TOC, DOC, DOCPART, HITLIST, DIALOG -->
  20876.  
  20877.  
  20878.  
  20879. <!ATTLIST HTML
  20880.  
  20881.         %version.attr;       -- report DTD version to application --
  20882.  
  20883.         urn   CDATA #IMPLIED -- universal resource name for this document --
  20884.  
  20885.         class NAMES #IMPLIED -- role of this document, eg table of contents --
  20886.  
  20887.         >
  20888.  
  20889.  
  20890.  
  20891. <!-- The END -->
  20892.  
  20893.  
  20894.  
  20895.  
  20896.  
  20897.  
  20898.  
  20899.  
  20900.  
  20901.  
  20902.  
  20903.  
  20904.  
  20905.  
  20906.  
  20907.  
  20908.  
  20909.  
  20910.  
  20911.  
  20912.  
  20913.  
  20914.  
  20915.  
  20916.  
  20917.  
  20918.  
  20919.  
  20920.  
  20921.  
  20922.  
  20923.  
  20924.  
  20925.  
  20926.  
  20927.  
  20928.  
  20929.  
  20930.  
  20931.  
  20932.  
  20933.  
  20934.  
  20935.  
  20936.  
  20937.  
  20938.  
  20939.  
  20940.  
  20941.  
  20942.  
  20943.  
  20944.  
  20945.  
  20946.  
  20947.  
  20948.  
  20949.  
  20950.  
  20951.  
  20952.  
  20953.  
  20954.  
  20955.  
  20956.  
  20957.  
  20958.  
  20959.  
  20960.  
  20961.  
  20962.  
  20963.  
  20964.  
  20965.  
  20966.  
  20967.  
  20968.  
  20969.  
  20970.  
  20971.  
  20972.  
  20973.  
  20974.  
  20975. Dave Raggett                                                          Page 184
  20976.  
  20977. HTML 3.0                                                       28th March 1995
  20978.  
  20979.  
  20980.  
  20981. Glossary of Terms
  20982.  
  20983.  
  20984.  
  20985. Pasted from HTML 2.0 spec, this is now under revision ...
  20986.  
  20987.  
  20988.  
  20989. ------------------------------------------------------------------------------
  20990.  
  20991.    The HTML specification uses these words with precise meanings:
  20992.  
  20993.  
  20994.  
  20995.    
  20996.  
  20997.  
  20998.  
  20999.    attribute 
  21000.  
  21001.        A characteristic quality of an element, other than type or
  21002.  
  21003.        content. 
  21004.  
  21005.  
  21006.  
  21007.        
  21008.  
  21009.  
  21010.  
  21011.    browser 
  21012.  
  21013.        A tool used to read electronic books. 
  21014.  
  21015.  
  21016.  
  21017.        
  21018.  
  21019.  
  21020.  
  21021.    document 
  21022.  
  21023.        For the purposes of this standard, an HTML instance. 
  21024.  
  21025.  
  21026.  
  21027.        
  21028.  
  21029.  
  21030.  
  21031.    element 
  21032.  
  21033.        A component of the hierarchical structure defined by the
  21034.  
  21035.        document type definition; it is identified in a document
  21036.  
  21037.        instance by descriptive markup, usually a start-tag and an
  21038.  
  21039.        end-tag. 
  21040.  
  21041.  
  21042.  
  21043.        
  21044.  
  21045.  
  21046.  
  21047.    HTML 
  21048.  
  21049.        HyperText Markup Language. 
  21050.  
  21051.  
  21052.  
  21053.        
  21054.  
  21055.  
  21056.  
  21057.    HTTP 
  21058.  
  21059.        A generic stateless object-oriented protocol, which may be used
  21060.  
  21061.        for many similar tasks by extending the commands, or "methods",
  21062.  
  21063.        used. For example, you might use HTTP for name servers and
  21064.  
  21065.        distributed object-oriented systems, With HTTP, the negotiation
  21066.  
  21067.        of data representation allows systems to be built independent of
  21068.  
  21069.        the development of new representations. For more information
  21070.  
  21071.        see:  http://www.w3.org/hypertext/WWW/Protocols/Overview.html
  21072.  
  21073.  
  21074.  
  21075.        
  21076.  
  21077.  
  21078.  
  21079.    markup 
  21080.  
  21081.        Text added to the data of a document to convey information about
  21082.  
  21083.        it. There are four different kinds of markup: descriptive markup
  21084.  
  21085.        (tags), references, markup declarations, and processing
  21086.  
  21087.  
  21088.  
  21089. Dave Raggett                                                          Page 185
  21090.  
  21091. HTML 3.0                                                       28th March 1995
  21092.  
  21093.  
  21094.  
  21095.        instructions. 
  21096.  
  21097.  
  21098.  
  21099.        
  21100.  
  21101.  
  21102.  
  21103.    MIME 
  21104.  
  21105.        Multipurpose Internet Mail Extensions as defined in Mechanisms
  21106.  
  21107.        for Specifying and Describing the Format of Internet Message
  21108.  
  21109.        Bodies, 09/23/1993. (Pages=81) (Format=.txt, .ps) (Obsoletes
  21110.  
  21111.        RFC1341) (Updated by RFC1590). 
  21112.  
  21113.  
  21114.  
  21115.        
  21116.  
  21117.  
  21118.  
  21119.    representation 
  21120.  
  21121.        The encoding of information for interchange. For example, HTML
  21122.  
  21123.        is a representation of hypertext. 
  21124.  
  21125.  
  21126.  
  21127.        
  21128.  
  21129.  
  21130.  
  21131.    rendering 
  21132.  
  21133.        Formatting and presenting information to human readers. 
  21134.  
  21135.  
  21136.  
  21137.        
  21138.  
  21139.  
  21140.  
  21141.    SGML 
  21142.  
  21143.        Standard Generalized Markup Language as defined in ISO
  21144.  
  21145.        8879:1986, Information Processing Text and Office Systems. 
  21146.  
  21147.  
  21148.  
  21149.        
  21150.  
  21151.  
  21152.  
  21153.    SGMLS 
  21154.  
  21155.        An SGML parser by James Clark, jjc@jclark.com, derived from the
  21156.  
  21157.        ARCSGML parser materials which were written by Charles F.
  21158.  
  21159.        Goldfarb. The source is available at
  21160.  
  21161.        ftp.ifi.uio.no/pub/SGML/SGMLS. 
  21162.  
  21163.  
  21164.  
  21165.        
  21166.  
  21167.  
  21168.  
  21169.    tag 
  21170.  
  21171.        Descriptive markup. There are two kinds of tags; start-tags and
  21172.  
  21173.        end-tags. 
  21174.  
  21175.  
  21176.  
  21177.        
  21178.  
  21179.  
  21180.  
  21181.    URI 
  21182.  
  21183.        Universal Resource Identifiers. Available by anonymous FTP as
  21184.  
  21185.        Postscript (www.w3.org/pub/www/doc/url.ps) or text
  21186.  
  21187.        (www.w3.org/pub/www/doc/url.txt) 
  21188.  
  21189.  
  21190.  
  21191.        
  21192.  
  21193.  
  21194.  
  21195.    W3 
  21196.  
  21197.        The World-Wide Web, a global information initiative. For
  21198.  
  21199.        bootstrap information, telnet www.w3.org or find documents at
  21200.  
  21201.  
  21202.  
  21203. Dave Raggett                                                          Page 186
  21204.  
  21205. HTML 3.0                                                       28th March 1995
  21206.  
  21207.  
  21208.  
  21209.        ftp://www.w3.org/pub/www/doc 
  21210.  
  21211.  
  21212.  
  21213.        
  21214.  
  21215.  
  21216.  
  21217.  
  21218.  
  21219.  
  21220.  
  21221.  
  21222.  
  21223.  
  21224.  
  21225.  
  21226.  
  21227.  
  21228.  
  21229.  
  21230.  
  21231.  
  21232.  
  21233.  
  21234.  
  21235.  
  21236.  
  21237.  
  21238.  
  21239.  
  21240.  
  21241.  
  21242.  
  21243.  
  21244.  
  21245.  
  21246.  
  21247.  
  21248.  
  21249.  
  21250.  
  21251.  
  21252.  
  21253.  
  21254.  
  21255.  
  21256.  
  21257.  
  21258.  
  21259.  
  21260.  
  21261.  
  21262.  
  21263.  
  21264.  
  21265.  
  21266.  
  21267.  
  21268.  
  21269.  
  21270.  
  21271.  
  21272.  
  21273.  
  21274.  
  21275.  
  21276.  
  21277.  
  21278.  
  21279.  
  21280.  
  21281.  
  21282.  
  21283.  
  21284.  
  21285.  
  21286.  
  21287.  
  21288.  
  21289.  
  21290.  
  21291.  
  21292.  
  21293.  
  21294.  
  21295.  
  21296.  
  21297.  
  21298.  
  21299.  
  21300.  
  21301.  
  21302.  
  21303.  
  21304.  
  21305.  
  21306.  
  21307.  
  21308.  
  21309.  
  21310.  
  21311.  
  21312.  
  21313.  
  21314.  
  21315.  
  21316.  
  21317. Dave Raggett                                                          Page 187
  21318.  
  21319. HTML 3.0                                                       28th March 1995
  21320.  
  21321.  
  21322.  
  21323. References
  21324.  
  21325.  
  21326.  
  21327. Under revision ..
  21328.  
  21329.  
  21330.  
  21331. ------------------------------------------------------------------------------
  21332.  
  21333.    The HTML specification cites these works:
  21334.  
  21335.  
  21336.  
  21337.    
  21338.  
  21339.  
  21340.  
  21341.    HTTP 
  21342.  
  21343.        HTTP: A Protocol for Networked Information. This document is
  21344.  
  21345.        available at  http://www.w3.org/WWW/Protocols/HTTP/HTTP2.html. 
  21346.  
  21347.  
  21348.  
  21349.        
  21350.  
  21351.  
  21352.  
  21353.    MIME 
  21354.  
  21355.        N. Borenstein, N. Freed, MIME (Multipurpose Internet Mail
  21356.  
  21357.        Extensions) Part One: Mechanisms for Specifying and Describing
  21358.  
  21359.        the Format of Internet Message Bodies, 09/23/1993. (Pages=81)
  21360.  
  21361.        (Format=.txt, .ps) (Obsoletes RFC1341) (Updated by RFC1590). 
  21362.  
  21363.  
  21364.  
  21365.        
  21366.  
  21367.  
  21368.  
  21369.    SGML 
  21370.  
  21371.        ISO 8879:1986, Information Processing Text and Office Systems
  21372.  
  21373.        Standard Generalized Markup Language (SGML). 
  21374.  
  21375.  
  21376.  
  21377.        
  21378.  
  21379.  
  21380.  
  21381.    SGMLS 
  21382.  
  21383.        An SGML parser by James Clark, jjc@jclark.com, derived from the
  21384.  
  21385.        ARCSGML parser materials which were written by Charles F.
  21386.  
  21387.        Goldfarb. The source is available at
  21388.  
  21389.        ftp.ifi.uio.no/pub/SGML/SGMLS. 
  21390.  
  21391.  
  21392.  
  21393.        
  21394.  
  21395.  
  21396.  
  21397.    URI 
  21398.  
  21399.        Universal Resource Identifiers. RFCxxx. Available by anonymous
  21400.  
  21401.        FTP as Postscript (info.cern.ch/pub/www/doc/url.ps) or text
  21402.  
  21403.        (info.cern.ch/pub/www/doc/url.txt) 
  21404.  
  21405.  
  21406.  
  21407.        
  21408.  
  21409.  
  21410.  
  21411.    W3 
  21412.  
  21413.        The World-Wide Web , a global information initiative. For
  21414.  
  21415.        bootstrap information, telnet info.cern.ch or find documents by
  21416.  
  21417.        ftp://info.cern.ch/pub/www/doc. 
  21418.  
  21419.  
  21420.  
  21421.        
  21422.  
  21423.  
  21424.  
  21425.  
  21426.  
  21427.  
  21428.  
  21429.  
  21430.  
  21431. Dave Raggett                                                          Page 188
  21432.  
  21433. HTML 3.0                                                       28th March 1995
  21434.  
  21435.  
  21436.  
  21437. Acknowledgments
  21438.  
  21439.  
  21440.  
  21441. Pasted from HTML 2.0 spec, this section is under revision ...
  21442.  
  21443.  
  21444.  
  21445. ------------------------------------------------------------------------------
  21446.  
  21447.    The HTML document type was designed by Tim Berners-Lee at CERN as
  21448.  
  21449.    part of the 1990 World-Wide Web project. In 1992, Dan Connolly wrote
  21450.  
  21451.    the HTML Document Type Definition (DTD) and a brief HTML
  21452.  
  21453.    specification. 
  21454.  
  21455.  
  21456.  
  21457.    Since 1993, a wide variety of Internet participants have contributed
  21458.  
  21459.    to the evolution of HTML. NCSA Mosaic played a particularly
  21460.  
  21461.    important role in establishing HTML. Mosaic pioneered the addition
  21462.  
  21463.    of in-line images, image maps, nested lists and fill-out forms
  21464.  
  21465.    (derived from work on HTML+). Minor variations in the way extensions
  21466.  
  21467.    were supported by different browsers eventually led to the setting
  21468.  
  21469.    up of the HTML working group. The HTML 2.0 specification sets out a
  21470.  
  21471.    definitive standard for HTML, formalizing the de facto situation
  21472.  
  21473.    during 1994. 
  21474.  
  21475.  
  21476.  
  21477.    HTML+ was the result of my work on possible directions for extending
  21478.  
  21479.    HTML to meet the needs of information providers, e.g. to support
  21480.  
  21481.    forms, tables, text flow around figures and math. This work has now
  21482.  
  21483.    culminated in the current HTML 3.0 specification, which adds a range
  21484.  
  21485.    of important new features to HTML while preserving simplicity and
  21486.  
  21487.    backwards compatibility with existing documents. 
  21488.  
  21489.  
  21490.  
  21491.    I would like to express my special thanks to members of the Internet
  21492.  
  21493.    community on the www-talk, www-html and html-wg mailing lists; to
  21494.  
  21495.    people who have written to me in person, and to members of the
  21496.  
  21497.    SGML-Open who have been very supportive of the Web initiative.
  21498.  
  21499.    Thanks also to Hewlett Packard for funding my work on HTML. 
  21500.  
  21501.  
  21502.  
  21503.    Particular thanks are due to: 
  21504.  
  21505.  
  21506.  
  21507.    *   Terry Allen; O'Reilly & Associates; terry@ora.com 
  21508.  
  21509.  
  21510.  
  21511.    *   Marc Andreessen; Netscape Communications Corp;
  21512.  
  21513.        marca@netscape.com 
  21514.  
  21515.  
  21516.  
  21517.    *   Eric Bina; Netscape Communications Corp; ebina@netscape.com 
  21518.  
  21519.  
  21520.  
  21521.    *   Paul Burchard; The Geometry Center, University of Minnesota;
  21522.  
  21523.        burchard@geom.umn.edu 
  21524.  
  21525.  
  21526.  
  21527.    *   James Clark; jjc@jclark.com 
  21528.  
  21529.  
  21530.  
  21531.    *   Daniel W. Connolly; HaL Computer Systems; connolly@hal.com 
  21532.  
  21533.  
  21534.  
  21535.    *   Stephen DeRose; EBT; ??? steve@ebt.com 
  21536.  
  21537.  
  21538.  
  21539.    *   Roy Fielding; University of California, Irvine;
  21540.  
  21541.        fielding@ics.uci.edu 
  21542.  
  21543.  
  21544.  
  21545. Dave Raggett                                                          Page 189
  21546.  
  21547. HTML 3.0                                                       28th March 1995
  21548.  
  21549.  
  21550.  
  21551.  
  21552.  
  21553.    *   Jay Glicksman; Enterprise Integration Technology; jay@eit.com 
  21554.  
  21555.  
  21556.  
  21557.    *   Eduardo Gutentag; Sun Microsystems; eduardo@Eng.Sun.com 
  21558.  
  21559.  
  21560.  
  21561.    *   Bill Hefley; Software Engineering Institute, Carnegie Mellon
  21562.  
  21563.        University; weh@sei.cmu.edu 
  21564.  
  21565.  
  21566.  
  21567.    *   Chung-Jen Ho; Xerox Corporation; cho@xsoft.xerox.com 
  21568.  
  21569.  
  21570.  
  21571.    *   Mike Knezovich; Spyglass, Inc.; mike@spyglass.com 
  21572.  
  21573.  
  21574.  
  21575.    *   Tim Berners-Lee; CERN; timbl@info.cern.ch 
  21576.  
  21577.  
  21578.  
  21579.    *   Tom Magliery; NCSA; mag@ncsa.uiuc.edu 
  21580.  
  21581.  
  21582.  
  21583.    *   Murray Maloney; SCO Canada; murray@sco.com 
  21584.  
  21585.  
  21586.  
  21587.    *   Larry Masinter; Xerox Palo Alto Research Center;
  21588.  
  21589.        masinter@parc.xerox.com 
  21590.  
  21591.  
  21592.  
  21593.    *   Karen Olson Muldrow; HaL Computer Systems; karen@hal.com 
  21594.  
  21595.  
  21596.  
  21597.    *   Bill Perry, Spry, Inc., wmperry@spry.com 
  21598.  
  21599.  
  21600.  
  21601.    *   E. Corprew Reed; Cold Spring Harbor Laboratory; corp@cshl.org 
  21602.  
  21603.  
  21604.  
  21605.    *   Yuri Rubinsky; SoftQuad, Inc.; yuri@sq.com 
  21606.  
  21607.  
  21608.  
  21609.    *   Eric Schieler; Spyglass, Inc.; eschieler@spyglass.com 
  21610.  
  21611.  
  21612.  
  21613.    *   Eric Severson; Avalanche, Inc.; ??? severson@avalanche.com 
  21614.  
  21615.  
  21616.  
  21617.    *   Eric W. Sink; Spyglass, Inc.; eric@spyglass.com 
  21618.  
  21619.  
  21620.  
  21621.    *   Stuart Weibel; OCLC Office of Research; weibel@oclc.org 
  21622.  
  21623.  
  21624.  
  21625.    *   Chris Wilson; Spry, Inc.; cwilson@spry.com 
  21626.  
  21627.  
  21628.  
  21629.    Dave Raggett <dsr@w3.org>, February 1995.  
  21630.  
  21631.  
  21632.  
  21633.  
  21634.  
  21635.  
  21636.  
  21637.  
  21638.  
  21639.  
  21640.  
  21641.  
  21642.  
  21643.  
  21644.  
  21645.  
  21646.  
  21647.  
  21648.  
  21649.  
  21650.  
  21651.  
  21652.  
  21653.  
  21654.  
  21655.  
  21656.  
  21657.  
  21658.  
  21659. Dave Raggett                                                          Page 190
  21660.  
  21661.