Next / Previous / Contents / TCC Help System / NM Tech homepage

5.5. The page element: Your outline

The navigational model assumes there is a single page designated as the starting page or homepage of your structure. Each page element in the plan.xml file describes one page in your structure. The single page element that is the child of the plan root element in your plan.xml file describes that starting page. Its child page elements are the second-level entries in your outline. Any page element can have page children, and this is how you structure your web as an outline.

It may seem restrictive to require a strict outline format, but this is necessary so that PyStyler can set up the default “Next” and “Previous” links.

Continuing our literate exposition of the plan.rnc file:

plan.rnc
page = element page
{ attribute pgid { pgid-pat },
  text,
  page*
}

The pgid attribute is required, and contains the page identifier of the page. For the form of a page identifier, see Section 5.2, “What is a page identifier (page-id)?”.

The content of a page element always starts with the page's title. This title may contain XHTML tags and character entities such as “ó” for the “ó” character.

If the page described by this element has sub-pages, each of them is described by another page element following the page title. These elements may have sub-elements, and so on down to the deepest pages.

Here's a brief example of a whole plan.xml file.

<plan xmlns="http://www.nmt.edu/tcc/projects/pystyler3/plan.rnc"
    xmlns:h="http://www.w3.org/1999/xhtml"
    base-url="..." source-dir="...">
  <page page-id="homepage">
    Bob Smith's Home Sweet Homepage
    <page page-id="bio">
      Biography
    </page>
    <page page-id="hobbies">
      Bob's Hobbies
      <page page-id="hobby/caber">
        Bob likes to toss a caber
      </page>
      <page page-id="hobby/titanic">
        Simulating the sinking of the <h:em>Titanic</h:em>
      </page>
    </page>
  </page>
</plan>

Note the use of the XHTML em element in the page whose ID is “hobby/titanic”.