--- /dev/null
+.skiplink {display:none}
+
+body {
+ }
+
+.navhomehead { padding-top: 0;
+ margin-bottom: 0;
+ padding-bottom: 0;
+ font-size: 80%
+ }
+
+.navhomehead { color: black; }
+.navhomehead a:link { color: black; }
+.navhomehead a:visited { color: black; }
+
+.navhead { padding-top: 0;
+ margin-bottom: 0;
+ padding-bottom: 0;
+ font-size: 80%
+ }
+
+.navhead { color: black; }
+.navhead a:link { color: black; }
+.navhead a:visited { color: black; }
+
+.navfoot { color: black;
+ font-size: 70%;
+ }
+
+.navfoot a:link { color: black; }
+.navfoot a:visited { color: black; }
+
+pre.programlisting { font-size: 80%;
+ }
+
+span.footdate { color: black;
+ font-size: 70%;
+ font-family: Arial, sans-serif;
+ }
+
+span.foothome { color: black;
+ font-size: 70%;
+ font-family: Arial, sans-serif;
+ }
+
+span.footfeed { color: black;
+ font-size: 70%;
+ font-family: Arial, sans-serif;
+ }
+
+span.footcopy { color: black;
+ font-size: 70%;
+ font-family: Arial, sans-serif;
+ }
+
+SPAN.curpage { color: yellow;
+ font-style: italic; }
+SPAN.curpage A { color: white; }
+SPAN.curpage A:link { color: white; }
+SPAN.curpage A:visited { color: white; }
+
+SPAN.toplevel A { color: white; }
+SPAN.toplevel A:link { color: white; }
+SPAN.toplevel A:visited { color: white; }
+
+SPAN.otherpage { color: white; }
+SPAN.otherpage A { color: white; }
+SPAN.otherpage A:link { color: white; }
+SPAN.otherpage A:visited { color: white; }
+
+SPAN.descendant A { color: white; }
+SPAN.descendant A:link { color: white; }
+SPAN.descendant A:visited { color: white; }
+
+SPAN.ancestor A { color: white; }
+SPAN.ancestor A:link { color: white; }
+SPAN.ancestor A:visited { color: white; }
+
+SPAN.shrink1 { font-size: 80%; }
+SPAN.shrink2 { font-size: 70%; }
+SPAN.shrink3 { font-size: 70%; }
+
--- /dev/null
+.skiplink {display:none}
+
+body {
+ }
+
+.navhomehead { padding-top: 0;
+ margin-bottom: 0;
+ padding-bottom: 0;
+ font-size: 80%
+ }
+
+.navhomehead { color: black; }
+.navhomehead a:link { color: black; }
+.navhomehead a:visited { color: black; }
+
+.navhead { padding-top: 0;
+ margin-bottom: 0;
+ padding-bottom: 0;
+ font-size: 80%
+ }
+
+.navhead { color: black; }
+.navhead a:link { color: black; }
+.navhead a:visited { color: black; }
+
+.navfoot { color: black;
+ font-size: 70%;
+ }
+
+.navfoot a:link { color: black; }
+.navfoot a:visited { color: black; }
+
+pre.programlisting { font-size: 80%;
+ }
+
+span.footdate { color: black;
+ font-size: 70%;
+ font-family: Arial, sans-serif;
+ }
+
+span.foothome { color: black;
+ font-size: 70%;
+ font-family: Arial, sans-serif;
+ }
+
+span.footfeed { color: black;
+ font-size: 70%;
+ font-family: Arial, sans-serif;
+ }
+
+span.footcopy { color: black;
+ font-size: 70%;
+ font-family: Arial, sans-serif;
+ }
+
+SPAN.curpage { color: yellow;
+ font-style: italic; }
+SPAN.curpage A { color: white; }
+SPAN.curpage A:link { color: white; }
+SPAN.curpage A:visited { color: white; }
+
+SPAN.toplevel A { color: white; }
+SPAN.toplevel A:link { color: white; }
+SPAN.toplevel A:visited { color: white; }
+
+SPAN.otherpage { color: white; }
+SPAN.otherpage A { color: white; }
+SPAN.otherpage A:link { color: white; }
+SPAN.otherpage A:visited { color: white; }
+
+SPAN.descendant A { color: white; }
+SPAN.descendant A:link { color: white; }
+SPAN.descendant A:visited { color: white; }
+
+SPAN.ancestor A { color: white; }
+SPAN.ancestor A:link { color: white; }
+SPAN.ancestor A:visited { color: white; }
+
+SPAN.shrink1 { font-size: 80%; }
+SPAN.shrink2 { font-size: 70%; }
+SPAN.shrink3 { font-size: 70%; }
+
--- /dev/null
+#
+# build a website out of dictionaries
+TOPDIR := $(shell /bin/pwd)
+
+XMLFILES =coverpage.xml
+
+SUBDIRS =ddl1 ddl2 ddl3 databases
+
+TOOLDIR = $(TOPDIR)/tools
+
+BASEDIR := $(TOPDIR)/html/
+
+CATALOGS=XML_CATALOG_FILES=$(TOPDIR)/catalog.xml
+ENV=$(CATALOGS)
+
+PROC=xsltproc --nonet --novalid
+
+MAKEDEPENDSTYLE=../../../xsl/html/website-makefile-dep.xsl
+
+
+
+export TOPDIR TOOLDIR ENV PROC STYLEDIR BASEDIR MAKEDEPENDSTYLE
+
+all: do-it-all
+
+#
+# Make "config" the default target if there is no configuration file or
+# "depend" the target if there is no top-level dependency information.
+#
+DEPENDFILE=depends.tabular
+
+ifeq ($(DEPENDFILE),$(wildcard $(DEPENDFILE)))
+include $(DEPENDFILE)
+do-it-all: website
+else
+CONFIGURATION = depend
+do-it-all: depend
+endif
+
+
+depend dep: depends
+
+
+TOPRELDIR =#
+CURRENTDIR =#
+
+
+#
+# Dependency rules
+#
+
+depends: $(TOPDIR)/autolayout.xml
+ rm -f $(DEPENDFILE)
+ $(ENV) $(PROC) --xinclude \
+ --output $(DEPENDFILE) \
+ --stringparam output-root "$(TOPRELDIR)../html" \
+ --stringparam html.ext ".html" \
+ $(MAKEDEPENDSTYLE) \
+ $<
+
+# --stringparam source-dir "$(CURRENTDIR)"
+
+
+olinks: websiteolinks
+
+websiteolinks: thespec/olinkdb.xml
+
+#
+# A general rule to make olink database supplements from .dbk XMLfiles
+#
+#
+
+%olinkdb.xml:
+ RELATIVE="$(subst //,/,$(subst $(space),/,$(patsubst %,..$(space), $(patsubst .$(space),,$(subst /,$(space),$(dir $(strip $(filter-out autolayout.xml,$^))))))))" ; \
+ $(ENV) $(PROC) --xinclude \
+ --stringparam collect.xref.targets "only" \
+ --stringparam targets.filename "$@" \
+ --stringparam base.dir "../html/" \
+ --stringparam autolayout-file "$${RELATIVE}autolayout.xml" \
+ --stringparam website.database.document "$${RELATIVE}website.database.xml" \
+ --stringparam target.database.document "$${RELATIVE}olinkdb.xml" \
+ --stringparam chunker.output.encoding "iso-8859-1" \
+ --stringparam html.stylesheet "$${RELATIVE}ontology.css" \
+ --stringparam html.stylesheet.type "text/css" \
+ --stringparam textdata.default.encoding "iso-8859-1" \
+ --stringparam chunker.output.method "html" \
+ --stringparam chunker.output.omit-xml-declaration "no" \
+ --stringparam chunker.output.indent "yes" \
+ --param variablelist.as.table 1 \
+ --param phrase.propagates.style 1 \
+ --param use.id.as.filename 1 \
+ --param sequential.links 1 \
+ --param chunk.section.depth -1 \
+ --param chunk.first.sections 1 \
+ --param toc.expand.depth 2 \
+ --param website 1 \
+ --param tabular 1 \
+ ../xsl/custom.xsl \
+ $(filter-out autolayout.xml,$^)
+
+
+# Here autolayout.xml is hand crafted and encapsulates (using --xinclude)
+# the disparate autolayout.xml files in the dictionary directories
+#
+#
+# first time: create empty file: depends.tabular
+# run: make depends
+#
+# thereafter: run: make
+#
+
+
+#
+# A general rule. The specific rules are in the $(DEPENDFILE) file.
+# First convert the relative path down to the sourcefile into a
+# relative path back up to the root, in a crude manner.
+# It only works if there is one target dependency besides autolayout.xml
+#
+
+empty:=
+space:= $(empty) $(empty)
+
+%.html: autolayout.xml
+ RELATIVE="$(subst //,/,$(subst $(space),/,$(patsubst %,..$(space), $(patsubst .$(space),,$(subst /,$(space),$(dir $(strip $(filter-out autolayout.xml,$^))))))))" ; \
+ $(ENV) $(PROC) --xinclude \
+ --stringparam base.dir "../html/" \
+ --stringparam autolayout-file "$${RELATIVE}autolayout.xml" \
+ --stringparam target.database.document "$${RELATIVE}olinkdb.xml" \
+ --stringparam chunker.output.encoding "iso-8859-1" \
+ --stringparam html.stylesheet "$${RELATIVE}website.css" \
+ --stringparam html.stylesheet.type "text/css" \
+ --stringparam textdata.default.encoding "iso-8859-1" \
+ --stringparam chunker.output.method "html" \
+ --stringparam chunker.output.omit-xml-declaration "no" \
+ --stringparam chunker.output.indent "yes" \
+ --stringparam current.docid "symmetry" \
+ --stringparam admon.graphics.extension ".png" \
+ --stringparam admon.graphics "1" \
+ --stringparam admon.graphics.path "graphics/" \
+ --param olink.debug 1 \
+ --param variablelist.as.table 1 \
+ --param use.id.as.filename 1 \
+ --param sequential.links 1 \
+ --param chunk.section.depth 99 \
+ --param chunk.first.sections 1 \
+ --param website 1 \
+ --param tabular 1 \
+ ../xsl/custom.xsl \
+ $(filter-out autolayout.xml,$^)
+ if [ -f $(shell dirname $@ )/Makefile ] ; then \
+ cd $(shell dirname $@ ) && ${MAKE} ; fi
+
+
+# This selects the target output file.
+# --output $@
+# Unfortunately then chunked output goes to $@/$base.dir
+# so don't do that.
+#
+# --stringparam target.database.document "$${RELATIVE}olinkdb.xml" \
+# --stringparam bibliography.collection "$${RELATIVE}biblio.collection.xml" \
+# --param toc.expand.depth 2 \
+#
+
+.PHONY : clean
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!ENTITY blah "<para>Blah blah blah blah. Blah blah blah blah. Blah blah blah blah.
+</para>">
+]>
+<book id="book">
+<bookinfo>
+<title>Unit Test: book.001</title>
+<releaseinfo role="CVS">$Id$</releaseinfo>
+<authorgroup>
+<corpauthor>SomeCorp</corpauthor>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+<editor><firstname>Jane</firstname><surname>Doe</surname></editor>
+</authorgroup>
+<legalnotice>
+<para>
+Some legal notice. Some legal notice. Some legal notice.
+Some legal notice. Some legal notice. Some legal notice.
+</para>
+</legalnotice>
+<copyright>
+<year>1998</year>
+<year>1999</year>
+<year>2000</year>
+<year>2001</year>
+<year>2002</year>
+<holder>Norman Walsh</holder>
+</copyright>
+<pubdate>18 January 2002</pubdate>
+<abstract>
+<para>Some abstract. Some abstract. Some abstract. Some abstract.
+</para>
+<para>Some abstract. Some abstract. Some abstract. Some abstract.
+Some abstract. Some abstract. Some abstract. Some abstract.
+</para>
+</abstract>
+<revhistory>
+<revision>
+<revnumber>1.1</revnumber>
+<date>18 Jan 2002</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Reworked.</revremark>
+</revision>
+<revision>
+<revnumber>1.0</revnumber>
+<date>20 Nov 1998</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark about the revision</revremark>
+</revision>
+<revision>
+<revnumber>0.9</revnumber>
+<date>19 Nov 1998</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark about the revision</revremark>
+</revision>
+<revision>
+<revnumber>0.4</revnumber>
+<date>18 Nov 1998</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark about the revision</revremark>
+</revision>
+</revhistory>
+</bookinfo>
+
+<dedication id="ded1"><title>First Dedication</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</dedication>
+
+<dedication id="ded2">
+
+<para>A second dedication without a title.</para>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</dedication>
+
+<preface id="forward"><title>Foreword</title>
+
+<para>A preface.</para>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</preface>
+
+<preface id="preface"><title>Preface</title>
+
+<para>Another preface.</para>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</preface>
+
+<part id="partI">
+<title>Part One Title</title>
+<partintro id="pIpintro">
+<title>PartIntro Title</title>
+
+<para>Partintro content<footnote>
+<para>This is a footnote in a partintro.</para>
+</footnote>.</para>
+
+&blah; &blah; &blah; &blah; &blah;
+
+<sect1 id="pIpis1">
+<title>PartIntro Section</title>
+<para>PartIntros can actually have section content as well.</para>
+&blah; &blah; &blah; &blah; &blah;
+</sect1>
+</partintro>
+
+<chapter id="chap1">
+<title>First Chapter</title>
+<titleabbrev>F. Chap</titleabbrev>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+<section id="c1s1"><title>First Section</title>
+<titleabbrev>F. Sect</titleabbrev>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+<section id="c1s2"><title>Second Section</title>
+<titleabbrev>S. Sect</titleabbrev>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+<section id="c1s3"><title>Third Section</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+</chapter>
+
+<chapter id="chap2"><title>Second Chapter</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+<section id="c2s1"><title>First Section</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+<section id="c2s2"><title>Second Section</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+<section id="c2s3"><title>Third Section</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+</chapter>
+
+<chapter id="chap3"><title>Third Chapter</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</chapter>
+
+</part>
+<part id="partII"><title>Appendixes</title>
+
+<appendix id="app1"><title>First Appendix</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+<section id="a1s1"><title>First Section</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+<section id="a1s2"><title>Second Section</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+<section id="a1s3"><title>Third Section</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+</appendix>
+
+<appendix id="app2"><title>Second Appendix</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+<section id="a2s1"><title>First Section</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+<section id="a2s2"><title>Second Section</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+<section id="a2s3"><title>Third Section</title>
+
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+&blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah; &blah;
+
+</section>
+</appendix>
+
+</part>
+</book>
--- /dev/null
+website: ../html/layout.html ../html/linking.html ../html/custom.html ../html/building.html ../html/buildmake.html ../html/buildext.html ../html/textonly.html ../html/formtest.html ../html/test3.html ../html/rddl.html ../html/php.html ../html/rss.html ../html/full.html ../html/book/index.html ../html/revflag.html ../html/index.html ../html/subdir/test1a.html ../html/subdir/test1b.html ../html/test1.html ../html/about.html
+
+../html/index.html: website.xml
+../html/layout.html: wslayout.xml
+../html/linking.html: olink.xml
+../html/custom.html: custom.xml
+../html/building.html: building.xml
+../html/buildmake.html: build-make.xml
+../html/buildext.html: build-ext.xml
+../html/textonly.html: build-textonly.xml
+../html/formtest.html: test2.xml
+../html/test3.html: test3.xml
+../html/rddl.html: rddl.xml
+../html/php.html: php.xml
+../html/rss.html: rss.xml
+../html/full.html: full.xml
+../html/book/index.html: book/book.001.xml
+../html/revflag.html: revflag.xml
+../html/test1.html: test1.xml
+../html/subdir/test1a.html: test1a.xml
+../html/subdir/test1b.html: test1b.xml
+../html/about.html: about.xml
+
+distclean: clean
+ rm -f autolayout.xml depends.tabular
+
+clean:
+ rm -f ../html/layout.html ../html/linking.html ../html/custom.html ../html/building.html ../html/buildmake.html ../html/buildext.html ../html/textonly.html ../html/formtest.html ../html/test3.html ../html/rddl.html ../html/php.html ../html/rss.html ../html/full.html ../html/book/index.html ../html/revflag.html ../html/index.html ../html/subdir/test1a.html ../html/subdir/test1b.html ../html/test1.html ../html/about.html
+