RELAX NG Schema for Paloose Site Pages
Hugh Field-Richards
2006-08-15T11:45
en
This is the RELAX NG schema for the XML pages used in the Paloose site. Since
the whole site is rooted in XML it is essential that a formal definition is made of the
structure to check any changes and created pages before they are processed by the Paloose
pipeline. Feel free to change these or use your own. They also
make use of Schematron rules to cover the deficiencies of RELAX NG.
These are the namespaces needed by the Schematron validator.
Page Definition
Pages are basically metadata (optional) and content. For example
<page:page>
<page:meta>
...
</page:meta>
<page:content>
...
</page:content>
</page:page>
Note that include statements can occur throughout the content and around the metadata.
Page Metadata
Metadata describes the page with information that does not necessarily get output on the
body of the page.
Page Body Title
Titles that appear in title bar of the page consist only of text or translatable text.
Note that the latter should only be simple text only. We have to have a Schematron rule
here as i18n namespace can contain other tags here which we need to prevent. This sort
of thing is so easy in DSD2 :-)
Only plain text or i18n namespace allowed within page title.
Copyright Text
Copyright text is pretty much anything. This could be restricted like the page title
above.
Page Breadcrumb Title
Only plain text or i18n namespace allowed within page title.