XO: an XML/XSL Outliner

Version 0.1. Written by Steve Tinney.

This document describes the workings of XO, a simple XML/XSL outliner, and demonstrates the outliner's features and use along the way.

  1. Elements defined in outline.dtd

    1. Block Content

      1. <outline>: the document element, with the same content model as a <pt>.

      2. <pt>: (point) offers a recursive structure that produces ordered lists. A <pt> may contain:

        • <h> (optional)
        • followed by any number of the following items, in any sequence:
          • <p>
          • <it>
      3. <h>: (heading), with inline content.

      4. <it>: (item) offers a recursive structure that produces unordered lists. <it> has inline content.

      5. <p>: (paragraph), a container for inline content, required within <pt>, but not in <it>.

    2. Inline Content

      Inline content is permitted in these elements:

      1. <h>

      2. <it>

      3. <p>

      Inline content consists of:

      1. #PCDATA: text

      2. <i>: italic text

      3. <b>: bold text

      4. <em>: emphasized text

      The <i>, <b> and <em> tags may contain only #PCDATA.

  2. Processing an XML outline with XSL to make HTML

  3. Modifying the HTML outline's appearance with outline.css