Index: itignore
===================================================================
--- .gitignore	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,4 +1,0 @@
-/render/
-*.swp
-\#*#
-*~
Index: BOOK/INSTALL
===================================================================
--- BOOK/INSTALL	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/INSTALL	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,47 @@
+LFS Book Conversion Tools Installation Instructions
+
+After downloading the SVN source, there are some things that need to be set up 
+on your computer if you want to convert the XML source into something easier to 
+read (e.g. HTML, TXT, or PDF).  If you are interested in this, then keep 
+reading.  If you are only interested in editing the XML source for re- 
+submission to the lfs-book or lfs-dev mailing lists, then you do not need this 
+document.  Instead, you need to read the LFS Editor's Manual.  See the LFS 
+website at http://www.linuxfromscratch.org for more information.
+
+-------------------------------------------------------------------------------
+
+If you want to convert the XML to HTML, install the following:
+
+* libxml2
+  - http://www.linuxfromscratch.org/blfs/view/svn/general/libxml2.html
+
+* libxslt
+  - http://www.linuxfromscratch.org/blfs/view/svn/general/libxslt.html
+
+* DocBook DTD 
+  - http://www.linuxfromscratch.org/blfs/view/svn/pst/xml.html
+
+* DocBook XSL Stylesheets 
+  - http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html
+
+* HTMLTidy
+  - http://www.linuxfromscratch.org/blfs/view/svn/general/tidy.html
+
+------------------------------------------------------------------------------- 
+
+If you want to convert the XML to TXT, install the above items, and then install
+the following:
+
+* lynx
+  - http://www.linuxfromscratch.org/blfs/view/svn/basicnet/lynx.html
+
+------------------------------------------------------------------------------- 
+
+If you want to convert the XML to PDF, install the items listed above (except
+lynx) and then install the following:
+
+* JDK
+  - http://www.linuxfromscratch.org/blfs/view/svn/general/jdk.html
+
+* FOP and JAI
+  - http://www.linuxfromscratch.org/blfs/view/svn/pst/fop.html
Index: OK/INSTALL.md
===================================================================
--- BOOK/INSTALL.md	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,38 +1,0 @@
-CLFS Book Conversion Tools
-==========================
-
-After downloading the book source, there are some things that need to be set up 
-on your computer if you want to convert the XML source into something easier to 
-read (e.g. HTML, TXT, or PDF).
-
-If you want to convert the Docbook XML to HTML, install the following:
-
-* libxml2
-* libxslt
-* DocBook DTD 
-* DocBook XSL Stylesheets 
-* HTMLTidy
-
-If you want to convert the Docbook XML to TXT, install the above items, and then
-install the following:
-
-* lynx
-
-If you want to convert the Docbook XML to PDF, install the items listed above
-(except lynx) and then install the following:
-
-* JDK
-* FOP and JAI
-
-On a reasonably recent Debian or Ubuntu, this should suffice:
-
-```
-sudo apt install docbook-xml docbook-xsl fop libxml2-utils lynx make xsltproc tidy
-```
-
-To actually convert the Docbook XML source into rendered form, which will be
-located at ../render by default (override with RENDERDIR=), execute:
-
-* To XHTML: `make`
-* To single file XHTML (nochunks): `make nochunks`
-* To PDF: `make pdf`
Index: BOOK/Makefile
===================================================================
--- BOOK/Makefile	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/Makefile	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,224 +1,134 @@
-TOP		:= $(PWD)
-RENDERDIR	:= $(TOP)/../render
+BASEDIR		:= ~/cross-lfs-book
+DUMPDIR		:= ~/cross-lfs-commands
+DLLISTDIR	:= ~/cross-lfs-dllist
+CHUNK_QUIET	:= 1
+XSLROOTDIR	:= /usr/share/xml/docbook/xsl-stylesheets-1.69.1
 
-VALIDATEDIR	:= $(RENDERDIR)/validate
-PROFILEDIR	:= $(RENDERDIR)/profile
+S		:= -
 
-HTMLDIR		:= $(RENDERDIR)/html
-NOCHUNKDIR	:= $(RENDERDIR)/nochunk
+ARCHS		:= x86
 
-FODIR		:= $(RENDERDIR)/fo
-PDFDIR		:= $(RENDERDIR)/pdf
+ARCHS_HTML	:= $(ARCHS:%=%$(S)html)
+ARCHS_NOCHUNKS	:= $(ARCHS:%=%$(S)nochunks)
+ARCHS_PDF	:= $(ARCHS:%=%$(S)pdf)
+ARCHS_TEXT	:= $(ARCHS:%=%$(S)text)
+ARCHS_VALIDATE	:= $(ARCHS:%=%$(S)validate)
+ARCHS_TROUBLE	:= $(ARCHS:%=%$(S)trouble)
+ARCHS_DUMP	:= $(ARCHS:%=%$(S)dump)
+ARCHS_DLLIST	:= $(ARCHS:%=%$(S)dllist)
 
-TROUBLEDIR	:= $(RENDERDIR)/trouble
-DUMPDIR		:= $(RENDERDIR)/commands
-DLLISTDIR	:= $(RENDERDIR)/download-list
+.PHONY: lfs tidy render titlepage $(ARCHS_HTML) nochunks $(ARCHS_NOCHUNKS) pdf $(ARCHS_PDF) text $(ARCHS_TEXT) validate $(ARCHS_VALIDATE) trouble $(ARCHS_TROUBLE) dump-commands $(ARCHS_DUMP) download-list $(ARCHS_DLLIST)
 
-CHUNK_QUIET	:= 1
-ROOT_ID		:=
+lfs: render tidy
 
-ARCHS		:= x86 mips arm
-
-ifdef V
-  Q =
+ifeq ($(shell which tidy >/dev/null 2>&1 && echo yes),yes)
+tidy:
+	@echo Running tidy on the created HTML
+	@for filename in `find $(BASEDIR) -name "*.html"`; do \
+	  tidy -config tidy.conf $$filename; \
+	  true; \
+	  sh obfuscate.sh $$filename; \
+	  sed -i -e "s@text/html@application/xhtml+xml@g" $$filename; \
+	done;
 else
-  Q = @
+tidy:
+	@echo Tidy is not installed on this system
 endif
 
-.PHONY: clfs
-clfs: html
+render: $(ARCHS_HTML) titlepage
 
-.PHONY: tidy tidy-f tidy-d
-ifeq ($(shell which tidy >/dev/null 2>&1 && echo yes),yes)
-tidy:
-	@$(MAKE) --no-print-directory tidy-d TIDY_DIR=$(HTMLDIR)
+titlepage:
+	@xsltproc --nonet --output $(BASEDIR)/index.html $(PWD)/stylesheets/top-index.xsl $(PWD)/index.xml
 
-tidy-f:
-	@echo "Running tidy on F:$(shell basename $(TIDY_FILE))"
-	@$(TOP)/tidy.sh "$(TIDY_FILE)"
+$(ARCHS_HTML): override html_arch = $(@:%$(S)html=%)
+$(ARCHS_HTML):
+	@echo "Rendering HTML of $(html_arch)..."
+	@xsltproc --xinclude --nonet -stringparam profile.condition html -stringparam chunk.quietly $(CHUNK_QUIET) -stringparam base.dir $(BASEDIR)/$(html_arch)/ $(PWD)/stylesheets/lfs-chunked.xsl $(PWD)/$(html_arch)-index.xml
+	@mkdir -p $(BASEDIR)/$(html_arch)/stylesheets
+	@cp $(PWD)/stylesheets/*.css $(BASEDIR)/$(html_arch)/stylesheets
+	@sed -i -e "s@../stylesheets@stylesheets@g" $(BASEDIR)/$(html_arch)/*.html
+	@mkdir -p $(BASEDIR)/$(html_arch)/images
+	@cp $(XSLROOTDIR)/images/*.png $(BASEDIR)/$(html_arch)/images
+	@sed -i -e "s@../images@images@g" $(BASEDIR)/$(html_arch)/*.html
 
-tidy-d:
-	@echo "Running tidy on D:$(shell basename $(TIDY_DIR))"
-	@$(TOP)/tidy.sh "$(TIDY_DIR)"
-else
-tidy tidy-f tidy-d:
-	@echo "Tidy is not installed on this system"
-endif
+nochunks: $(ARCHS_NOCHUNKS) tidy
 
-.PHONY: titlepage
-titlepage:
-	@echo "Rendering the top-level index..."
-	$(Q)xsltproc --nonet --output $(HTMLDIR)/index.html \
-	  $(PWD)/stylesheets/top-index.xsl \
-	  $(PWD)/index.xml
-	@$(MAKE) --no-print-directory tidy-f TIDY_FILE=$(HTMLDIR)/index.html
+$(ARCHS_NOCHUNKS): override nochunk_arch = $(@:%$(S)nochunks=%)
+$(ARCHS_NOCHUNKS):
+	@echo "Rendering Single File HTML of $(nochunk_arch)..."
+	@xsltproc --xinclude --nonet -stringparam profile.condition html --output $(BASEDIR)/CLFS-BOOK-$(nochunk_arch).html $(PWD)/stylesheets/lfs-nochunks.xsl $(nochunk_arch)-index.xml
 
-ARCHS_VD_XML := $(ARCHS:%=%-validate_dump-xml)
-.PHONY: $(ARCHS_VD_XML)
-$(ARCHS_VD_XML): override arch = $(@:%-validate_dump-xml=%)
-$(ARCHS_VD_XML):
-	@echo "Validating $(arch) book..."
-	$(Q)mkdir -p $(VALIDATEDIR)
-	$(Q)xmllint --nonet --noent --xinclude \
-	  --relaxng $(TOP)/schema/docbook/4.5/rng/docbook.rng \
-	  -o $(VALIDATEDIR)/$(arch)-full.xml \
-	  $(PWD)/$(arch)-index.xml
+pdf: $(ARCHS_PDF)
 
-ARCHS_P_XML := $(ARCHS:%=%-profiled-xml)
-.PHONY: $(ARCHS_P_XML)
-$(ARCHS_P_XML): override arch = $(@:%-profiled-xml=%)
-$(ARCHS_P_XML):
-	@$(MAKE) --no-print-directory $(arch)-validate_dump-xml
-	@echo "Generating profiled $(arch) book..."
-	$(Q)mkdir -p $(PROFILEDIR)
-	$(Q)xsltproc --nonet --stringparam profile.condition html \
-	  --output $(PROFILEDIR)/$(arch)-html.xml \
-	  $(PWD)/stylesheets/lfs-xsl/profile.xsl \
-	  $(VALIDATEDIR)/$(arch)-full.xml
+$(ARCHS_PDF): override pdf_arch =  $(@:%$(S)pdf=%)
+$(ARCHS_PDF):
+	@echo "Rendering PDF of $(pdf_arch)..."
+	@xsltproc --xinclude --nonet --output $(BASEDIR)/clfs-$(pdf_arch)-pdf.fo $(PWD)/stylesheets/lfs-pdf.xsl $(pdf_arch)-index.xml
+	@sed -i -e "s/inherit/all/" $(BASEDIR)/clfs-$(pdf_arch)-pdf.fo
+	@fop.sh -q -fo $(BASEDIR)/clfs-$(pdf_arch)-pdf.fo -pdf $(BASEDIR)/CLFS-BOOK-$(pdf_arch).pdf
+	@rm $(BASEDIR)/clfs-$(pdf_arch)-pdf.fo
 
-ARCHS_HTML := $(ARCHS:%=%-html)
-.PHONY: html render $(ARCHS_HTML)
-html render: $(ARCHS_HTML) titlepage
-$(ARCHS_HTML): override arch = $(@:%-html=%)
-$(ARCHS_HTML):
-	@$(MAKE) --no-print-directory $(arch)-profiled-xml
+text: $(ARCHS_TEXT)
 
-	@echo "Rendering chunked XHTML of $(arch)..."
-	$(Q)mkdir -p $(HTMLDIR)/$(arch)
-	$(Q)xsltproc --nonet -stringparam chunk.quietly $(CHUNK_QUIET) \
-	  -stringparam rootid "$(ROOT_ID)" \
-	  -stringparam base.dir $(HTMLDIR)/$(arch)/ \
-	  $(PWD)/stylesheets/clfs-chunked.xsl \
-	  $(PROFILEDIR)/$(arch)-html.xml
+$(ARCHS_TEXT): override text_arch =  $(@:%$(S)text=%)
+$(ARCHS_TEXT):
+	@echo "Rendering Text of $(text_arch)..."
+	@xsltproc --xinclude --nonet --output $(BASEDIR)/clfs-$(text_arch)-text.fo $(PWD)/stylesheets/lfs-pdf.xsl $(text_arch)-index.xml
+	@sed -i -e "s/inherit/all/" $(BASEDIR)/clfs-$(text_arch)-text.fo ; \
+	@fop.sh -q -fo $(BASEDIR)/clfs-$(text_arch)-text.fo -txt $(BASEDIR)/CLFS-BOOK-$(text_arch).txt ; \
+	@rm $(BASEDIR)/clfs-$(text_arch)-text.fo
 
-	@echo "Copying CSS code and images for $(arch)..."
-	$(Q)mkdir -p $(HTMLDIR)/$(arch)/stylesheets
-	$(Q)cp $(PWD)/stylesheets/lfs-xsl/*.css $(HTMLDIR)/$(arch)/stylesheets
-	$(Q)sed -i -e "s@../stylesheets@stylesheets@g" $(HTMLDIR)/$(arch)/*.html
-	$(Q)mkdir -p $(HTMLDIR)/$(arch)/images
-	$(Q)cp $(PWD)/images/*.png $(HTMLDIR)/$(arch)/images
-	$(Q)sed -i -e "s@../images@images@g" $(HTMLDIR)/$(arch)/*.html
+validate: $(ARCHS_VALIDATE)
 
-	@$(MAKE) --no-print-directory tidy-d TIDY_DIR=$(HTMLDIR)/$(arch)
+$(ARCHS_VALIDATE): override validate_arch =  $(@:%$(S)validate=%)
+$(ARCHS_VALIDATE):
+	@echo "Validating $(validate_arch)..."
+	@xmllint --xinclude --noout --nonet --postvalid $(PWD)/$(validate_arch)-index.xml
 
-ARCHS_NOCHUNKS := $(ARCHS:%=%-nochunks)
-.PHONY: nochunks $(ARCHS_NOCHUNKS)
-nochunks: $(ARCHS_NOCHUNKS)
-$(ARCHS_NOCHUNKS): override arch = $(@:%-nochunks=%)
-$(ARCHS_NOCHUNKS):
-	@$(MAKE) --no-print-directory $(arch)-profiled-xml
+trouble: $(ARCHS_TROUBLE)
 
-	@echo "Rendering Single File HTML of $(arch)..."
-	$(Q)mkdir -p $(NOCHUNKDIR)
-	$(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \
-	  --output $(NOCHUNKDIR)/CLFS-$(arch).html \
-	  $(PWD)/stylesheets/clfs-nochunks.xsl \
-	  $(PROFILEDIR)/$(arch)-html.xml
+$(ARCHS_TROUBLE): override trouble_arch =  $(@:%$(S)trouble=%)
+$(ARCHS_TROUBLE):
+	@echo "Troubleshooting $(trouble_arch)..."
+	@xmllint --xinclude --nonet --postvalid $(PWD)/$(trouble_arch)-index.xml > /tmp/dump-$(trouble_arch)
+	@xmllint --xinclude --noout --nonet --valid /tmp/dump-$(trouble_arch)
+	@echo "You can now look at /tmp/dump-$(trouble_arch) to see the errors"
 
-	@$(MAKE) --no-print-directory tidy-f TIDY_FILE=$(NOCHUNKDIR)/CLFS-$(arch).html
+dump-commands: $(ARCHS_DUMP)
 
-ARCHS_FO := $(ARCHS:%=%-fo)
-.PHONY: fo $(ARCHS_FO)
-fo: $(ARCHS_FO)
-$(ARCHS_FO): override arch = $(@:%-fo=%)
-$(ARCHS_FO):
-	@$(MAKE) --no-print-directory $(arch)-profiled-xml
+$(ARCHS_DUMP): override dump_arch =  $(@:%$(S)dump=%)
+$(ARCHS_DUMP):
+	@echo "Extracting commands from $(dump_arch)..."
+	@xsltproc --xinclude --nonet --output $(DUMPDIR)/$(dump_arch)/ $(PWD)/stylesheets/dump-commands.xsl $(dump_arch)-index.xml
 
-	@echo "Generating FO file of $(arch)..."
-	@mkdir -p $(FODIR)
-	$(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \
-	  --output $(FODIR)/$(arch).fo \
-	  $(PWD)/stylesheets/clfs-pdf.xsl \
-	  $(PROFILEDIR)/$(arch)-html.xml
-	$(Q)sed -i -e 's/span="inherit"/span="all"/' $(FODIR)/$(arch).fo
+download-list: $(ARCHS_DLLIST)
 
-ARCHS_PDF := $(ARCHS:%=%-pdf)
-.PHONY: pdf $(ARCHS_PDF)
-pdf: $(ARCHS_PDF)
-$(ARCHS_PDF): override arch = $(@:%-pdf=%)
-$(ARCHS_PDF):
-	@$(MAKE) --no-print-directory $(arch)-fo
+$(ARCHS_DLLIST): override dllist_arch = $(@:%$(S)dllist=%)
+$(ARCHS_DLLIST):
+	@echo "Creating download list for $(dllist_arch)..."
+	@xsltproc --xinclude --nonet --output $(DLLISTDIR)/$(dllist_arch).dl.list $(PWD)/stylesheets/wget.xsl $(dllist_arch)-index.xml
 
-	@echo "Rendering PDF of $(arch)..."
-	$(Q)mkdir -p $(PDFDIR)
-	$(Q)fop $(FODIR)/$(arch).fo $(PDFDIR)/CLFS-$(arch).pdf
-
-ARCHS_VALIDATE := $(ARCHS:%=%-validate)
-.PHONY: validate $(ARCHS_VALIDATE)
-validate: $(ARCHS_VALIDATE)
-$(ARCHS_VALIDATE): override arch =  $(@:%-validate=%)
-$(ARCHS_VALIDATE):
-	@echo "Validating $(arch)..."
-	$(Q)xmllint --xinclude --noout --nonet \
-	  --relaxng $(TOP)/schema/docbook/4.5/rng/docbook.rng \
-	  $(PWD)/$(arch)-index.xml
-
-ARCHS_TROUBLE := $(ARCHS:%=%-trouble)
-.PHONY: trouble $(ARCHS_TROUBLE)
-trouble: $(ARCHS_TROUBLE)
-$(ARCHS_TROUBLE): override arch = $(@:%-trouble=%)
-$(ARCHS_TROUBLE):
-	@echo "Troubleshooting $(arch)..."
-	@mkdir -p $(TROUBLEDIR)
-	$(Q)xmllint --xinclude --nonet \
-	  --relaxng $(TOP)/schema/docbook/4.5/rng/docbook.rng \
-	  -o $(TROUBLEDIR)/dump-$(arch) \
-	  $(PWD)/$(arch)-index.xml
-	$(Q)xmllint --xinclude --noout --nonet \
-	  --relaxng $(TOP)/schema/docbook/4.5/rng/docbook.rng \
-	  $(TROUBLEDIR)/dump-$(arch)
-	@echo "You can now look at $(TROUBLEDIR)/dump-$(arch) to see the errors"
-
-ARCHS_DUMP := $(ARCHS:%=%-dump)
-.PHONY: dump-commands $(ARCHS_DUMP)
-dump-commands: $(ARCHS_DUMP)
-$(ARCHS_DUMP): override arch = $(@:%-dump=%)
-$(ARCHS_DUMP):
-	@echo "Extracting commands from $(arch)..."
-	$(Q)mkdir -p $(DUMPDIR)/$(arch)
-	$(Q)xsltproc --xinclude --nonet \
-	  --output $(DUMPDIR)/$(arch)/ \
-	  $(PWD)/stylesheets/dump-commands.xsl \
-	  $(PWD)/$(arch)-index.xml
-
-ARCHS_DLLIST := $(ARCHS:%=%-dllist)
-.PHONY: download-list $(ARCHS_DLLIST)
-download-list: $(ARCHS_DLLIST)
-$(ARCHS_DLLIST): override arch = $(@:%-dllist=%)
-$(ARCHS_DLLIST):
-	@echo "Creating download list for $(arch)..."
-	$(Q)mkdir -p $(DLLISTDIR)
-	$(Q)xsltproc --xinclude --nonet \
-	  --output $(DLLISTDIR)/$(arch).list \
-	  $(PWD)/stylesheets/wget.xsl \
-	  $(PWD)/$(arch)-index.xml
-
-FG_GREEN := $(shell echo -e '\e[0;32m')
-FG_BLUE := $(shell echo -e '\e[0;34m')
-FG_DEFAULT := $(shell echo -e '\e[0;0m')
 help:
-	@echo "Output: $(RENDERDIR)"
-	@echo
 	@echo "HTML Targets"
-	@echo "  $(FG_GREEN)clfs tidy html render titlepage $(FG_BLUE)$(ARCHS_HTML)$(FG_DEFAULT)"
+	@echo -e "  \e[0;32mlfs tidy render titlepage \e[0;34m$(ARCHS_HTML)\e[0;0m"
 	@echo
 	@echo "NoChunks Targets"
-	@echo "  $(FG_GREEN)nochunks tidy $(FG_BLUE)$(ARCHS_NOCHUNKS)$(FG_DEFAULT)"
-	@echo
-	@echo "FO Targets"
-	@echo "  $(FG_GREEN)fo $(FG_BLUE)$(ARCHS_FO)$(FG_DEFAULT)"
+	@echo -e "  \e[0;32mnochunks tidy \e[0;34m$(ARCHS_NOCHUNKS)\e[0;0m"
 	@echo
 	@echo "PDF Targets"
-	@echo "  $(FG_GREEN)pdf $(FG_BLUE)$(ARCHS_PDF)$(FG_DEFAULT)"
+	@echo -e "  \e[0;32mpdf \e[0;34m$(ARCHS_PDF)\e[0;0m"
+	@echo
+	@echo "Text Targets"
+	@echo -e "  \e[0;32mtext \e[0;34m$(ARCHS_TEXT)\e[0;0m"
 	@echo
 	@echo "Validate Targets"
-	@echo "  $(FG_GREEN)validate $(FG_BLUE)$(ARCHS_VALIDATE)$(FG_DEFAULT)"
+	@echo -e "  \e[0;32mvalidate \e[0;34m$(ARCHS_VALIDATE)\e[0;0m"
 	@echo
 	@echo "Trouble Targets"
-	@echo "  $(FG_GREEN)trouble $(FG_BLUE)$(ARCHS_TROUBLE)$(FG_DEFAULT)"
+	@echo -e "  \e[0;32mtrouble \e[0;34m$(ARCHS_TROUBLE)\e[0;0m"
 	@echo
 	@echo "Dump-Commands Targets"
-	@echo "  $(FG_GREEN)dump-commands $(FG_BLUE)$(ARCHS_DUMP)$(FG_DEFAULT)"
+	@echo -e "  \e[0;32mdump-commands \e[0;34m$(ARCHS_DUMP)\e[0;0m"
 	@echo
 	@echo "Download-List Targets"
-	@echo "  $(FG_GREEN)download-list $(FG_BLUE)$(ARCHS_DLLIST)$(FG_DEFAULT)"
+	@echo -e "  \e[0;32mdownload-list \e[0;34m$(ARCHS_DLLIST)\e[0;0m"
Index: BOOK/README
===================================================================
--- BOOK/README	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/README	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,28 @@
+LFS Book README
+
+This document is meant to instruct the user on how to convert the book's XML 
+source to other formats (e.g. HTML, PDF, PS and TXT).  First, if you have not 
+already done so, please read the INSTALL file for instructions on how to install
+the required software.  If you have already completed the steps outlined in the
+INSTALL file, then continue reading for examples how to convert these files into
+various other formats.
+
+XML to XHTML:
+-------------
+make BASEDIR=/path/to/output/location
+
+
+XML to single file XHTML (nochunks):
+------------------------------------
+make BASEDIR=/path/to/output/location nochunks
+
+
+XML to TXT
+----------
+Follow the instructions for nochunks and then run:
+lynx -dump /path/to/nochunks >/path/to/output
+
+
+XML to PDF:
+-----------
+make BASEDIR=/path/to/output/location pdf
Index: BOOK/appendices/acknowledgments.xml
===================================================================
--- BOOK/appendices/acknowledgments.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/appendices/acknowledgments.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,421 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<appendix id="appendixb" xreflabel="Appendix B">
+  <?dbhtml dir="appendices"?>
+  <?dbhtml filename="acknowledgements.html"?>
+
+  <title>Acknowledgments</title>
+
+  <para>We would like to thank the following people and organizations
+  for their contributions to the Linux From Scratch Project.</para>
+
+  <itemizedlist>
+
+    <listitem>
+      <para><ulink url="mailto:gerard@linuxfromscratch.org">Gerard
+      Beekmans</ulink> &lt;gerard@linuxfromscratch.org&gt; &ndash;
+      LFS Creator, LFS Project Leader</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:matthew@linuxfromscratch.org">Matthew
+      Burgess</ulink> &lt;matthew@linuxfromscratch.org&gt; &ndash;
+      LFS Project Leader, LFS Technical Writer/Editor, LFS Release
+      Manager</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:archaic@linuxfromscratch.org">Archaic</ulink>
+      &lt;archaic@linuxfromscratch.org&gt; &ndash; LFS Technical Writer/Editor,
+      HLFS Project Leader, BLFS Editor, Hints and Patches Project
+      Maintainer</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:nathan@linuxfromscratch.org">Nathan
+      Coulson</ulink> &lt;nathan@linuxfromscratch.org&gt; &ndash;
+      LFS-Bootscripts Maintainer</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:bdubbs@linuxfromscratch.org">Bruce
+      Dubbs</ulink> &lt;bdubbs@linuxfromscratch.org&gt; &ndash; BLFS Project
+      Leader</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:manuel@linuxfromscratch.org">Manuel
+      Canales Esparcia</ulink> &lt;manuel@linuxfromscratch.org&gt; &ndash;
+      LFS/BLFS/HLFS XML and XSL Maintainer</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:jim@linuxfromscratch.org">Jim
+      Gifford</ulink> &lt;jim@linuxfromscratch.org&gt; &ndash; LFS Technical
+      Writer, Patches Project Leader</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:jhuntwork@linuxfromscratch.org">Jeremy
+      Huntwork</ulink> &lt;jhuntwork@linuxfromscratch.org&gt; &ndash; LFS
+      Technical Writer, LFS LiveCD Maintainer, ALFS Project Leader</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:lizardo@linuxfromscratch.org">Anderson
+      Lizardo</ulink> &lt;lizardo@linuxfromscratch.org&gt; &ndash; Website
+      Backend-Scripts Maintainer</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:ryan@linuxfromscratch.org">Ryan
+      Oliver</ulink> &lt;ryan@linuxfromscratch.org&gt; &ndash; LFS Toolchain
+      Maintainer</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:jwrober@linuxfromscratch.org">James
+      Robertson</ulink> &lt;jwrober@linuxfromscratch.org&gt; &ndash; Bugzilla
+      Maintainer</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:tushar@linuxfromscratch.org">Tushar
+      Teredesai</ulink> &lt;tushar@linuxfromscratch.org&gt; &ndash; BLFS Book
+      Editor, Hints and Patches Project Leader</para>
+    </listitem>
+
+    <listitem>
+      <para>Countless other people on the various LFS and BLFS mailing lists
+      who helped make this book possible by giving their suggestions, testing
+      the book, and submitting bug reports, instructions, and their
+      experiences with installing various packages.</para>
+    </listitem>
+
+  </itemizedlist>
+
+  <bridgehead renderas="sect2">Translators</bridgehead>
+
+  <itemizedlist>
+
+    <listitem>
+      <para><ulink url="mailto:macana@lfs-es.com">Manuel Canales
+      Esparcia</ulink> &lt;macana@lfs-es.com&gt; &ndash; Spanish
+      LFS translation project</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:johan@linuxfromscratch.org">Johan
+      Lenglet</ulink> &lt;johan@linuxfromscratch.org&gt; &ndash; French LFS
+      translation project</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:lizardo@linuxfromscratch.org">Anderson
+      Lizardo</ulink> &lt;lizardo@linuxfromscratch.org&gt; &ndash;
+      Portuguese LFS translation project</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:tr@erdfunkstelle.de">Thomas
+      Reitelbach </ulink> &lt;tr@erdfunkstelle.de&gt; &ndash; German LFS
+      translation project</para>
+    </listitem>
+
+  </itemizedlist>
+
+  <bridgehead renderas="sect2">Mirror Maintainers</bridgehead>
+
+  <bridgehead renderas="sect3">North American Mirrors</bridgehead>
+
+  <itemizedlist>
+
+    <listitem>
+      <para><ulink url="mailto:scott@osuosl.org">Scott Kveton</ulink>
+      &lt;scott@osuosl.org&gt; &ndash; lfs.oregonstate.edu mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:miha@xuy.biz">Mikhail Pastukhov</ulink>
+      &lt;miha@xuy.biz&gt; &ndash; lfs.130th.net mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:lost@l-w.net">William Astle</ulink>
+      &lt;lost@l-w.net&gt; &ndash; ca.linuxfromscratch.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:jpolen@rackspace.com">Jeremy Polen</ulink>
+      &lt;jpolen@rackspace.com&gt; &ndash; us2.linuxfromscratch.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:tim@idge.net">Tim Jackson</ulink>
+      &lt;tim@idge.net&gt; &ndash; linuxfromscratch.idge.net mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:jeremy@linux-phreak.net">Jeremy Utley</ulink>
+      &lt;jeremy@linux-phreak.net&gt; &ndash; lfs.linux-phreak.net mirror</para>
+    </listitem>
+
+  </itemizedlist>
+
+  <bridgehead renderas="sect3">South American Mirrors</bridgehead>
+
+  <itemizedlist>
+
+    <listitem>
+      <para><ulink url="mailto:sysop@mesi.com.ar">Andres Meggiotto</ulink>
+      &lt;sysop@mesi.com.ar&gt; &ndash; lfs.mesi.com.ar mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:manuel@linuxfromscratch.org">Manuel
+      Canales Esparcia</ulink> &lt;manuel@linuxfromscratch.org&gt; &ndash;
+      lfsmirror.lfs-es.info mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:ebf@aedsolucoes.com.br">Eduardo B.
+      Fonseca</ulink> &lt;ebf@aedsolucoes.com.br&gt; &ndash;
+      br.linuxfromscratch.org mirror</para>
+    </listitem>
+
+  </itemizedlist>
+
+  <bridgehead renderas="sect3">European Mirrors</bridgehead>
+
+  <itemizedlist>
+
+    <listitem>
+      <para><ulink url="mailto:barna@siker.hu">Barna Koczka</ulink>
+      &lt;barna@siker.hu&gt; &ndash; hu.linuxfromscratch.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="http://www.mirror.ac.uk">UK Mirror Service</ulink>
+      &ndash; linuxfromscratch.mirror.ac.uk mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:Martin.Voss@ada.de">Martin Voss</ulink>
+      &lt;Martin.Voss@ada.de&gt; &ndash; lfs.linux-matrix.net mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:guido@primerelay.net">Guido Passet</ulink>
+      &lt;guido@primerelay.net&gt; &ndash; nl.linuxfromscratch.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:baafie@planet.nl">Bastiaan Jacques</ulink>
+      &lt;baafie@planet.nl&gt; &ndash; lfs.pagefault.net mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:lfs-mirror@linuxfromscratch.rave.org">Roel
+      Neefs</ulink> &lt;lfs-mirror@linuxfromscratch.rave.org&gt; &ndash;
+      linuxfromscratch.rave.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:justin@jrknierim.de">Justin Knierim</ulink>
+      &lt;justin@jrknierim.de&gt; &ndash; www.lfs-matrix.de mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:stevie@stevie20.de">Stephan Brendel</ulink>
+      &lt;stevie@stevie20.de&gt; &ndash; lfs.netservice-neuss.de mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:Antonin.Sprinzl@tuwien.ac.at">Antonin
+      Sprinzl</ulink> &lt;Antonin.Sprinzl@tuwien.ac.at&gt; &ndash;
+      at.linuxfromscratch.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:fredan-lfs@fredan.org">Fredrik
+      Danerklint</ulink> &lt;fredan-lfs@fredan.org&gt; &ndash;
+      se.linuxfromscratch.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:archive@doc.cs.univ-paris8.fr">Parisian
+      sysadmins</ulink> &lt;archive@doc.cs.univ-paris8.fr&gt; &ndash;
+      www2.fr.linuxfromscratch.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:velin@zadnik.org">Alexander Velin</ulink>
+      &lt;velin@zadnik.org&gt; &ndash; bg.linuxfromscratch.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:dirk@securewebservices.co.uk"> Dirk
+      Webster</ulink> &lt;dirk@securewebservices.co.uk&gt; &ndash;
+      lfs.securewebservices.co.uk mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:thomas@sofagang.dk">Thomas Skyt</ulink>
+      &lt;thomas@sofagang.dk&gt; &ndash; dk.linuxfromscratch.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:sime@dot-sime.com">Simon Nicoll</ulink>
+      &lt;sime@dot-sime.com&gt; &ndash; uk.linuxfromscratch.org mirror</para>
+    </listitem>
+
+  </itemizedlist>
+
+  <bridgehead renderas="sect3">Asian Mirrors</bridgehead>
+
+  <itemizedlist>
+
+    <listitem>
+      <para><ulink url="mailto:pyng@spam.averse.net">Pui Yong</ulink>
+      &lt;pyng@spam.averse.net&gt; &ndash; sg.linuxfromscratch.org mirror</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:stuart@althalus.me.uk">Stuart
+      Harris</ulink> &lt;stuart@althalus.me.uk&gt; &ndash;
+      lfs.mirror.intermedia.com.sg mirror</para>
+    </listitem>
+
+  </itemizedlist>
+
+  <bridgehead renderas="sect3">Australian Mirrors</bridgehead>
+
+  <itemizedlist>
+
+    <listitem>
+      <para><ulink url="mailto:jason@dstc.edu.au">Jason Andrade</ulink>
+      &lt;jason@dstc.edu.au&gt; &ndash; au.linuxfromscratch.org mirror</para>
+    </listitem>
+
+  </itemizedlist>
+
+  <bridgehead renderas="sect2">Former Project Team Members</bridgehead>
+
+  <itemizedlist>
+
+    <listitem>
+      <para><ulink url="mailto:theladyskye@linuxfromscratch.org">Christine
+      Barczak</ulink> &lt;theladyskye@linuxfromscratch.org&gt; &ndash; LFS
+      Book Editor</para>
+    </listitem>
+
+    <listitem>
+      <para>Timothy Bauscher</para>
+    </listitem>
+
+    <listitem>
+      <para>Robert Briggs</para>
+    </listitem>
+
+    <listitem>
+      <para>Ian Chilton</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:jeroen@linuxfromscratch.org">Jeroen
+      Coumans</ulink> &lt;jeroen@linuxfromscratch.org&gt; &ndash; Website
+      Developer, FAQ Maintainer</para>
+    </listitem>
+
+    <listitem>
+      <para>Alex Groenewoud &ndash; LFS Technical Writer</para>
+    </listitem>
+
+    <listitem>
+      <para>Marc Heerdink</para>
+    </listitem>
+
+    <listitem>
+      <para>Mark Hymers</para>
+    </listitem>
+
+    <listitem><para>Seth W. Klein &ndash; FAQ maintainer</para></listitem>
+
+    <listitem>
+      <para><ulink url="mailto:nicholas@linuxfromscratch.org">Nicholas
+      Leippe</ulink> &lt;nicholas@linuxfromscratch.org&gt; &ndash; Wiki
+      Maintainer</para>
+    </listitem>
+
+    <listitem>
+      <para>Simon Perreault</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:scot@linuxfromscratch.org">Scot Mc
+      Pherson</ulink> &lt;scot@linuxfromscratch.org&gt; &ndash; LFS NNTP
+      Gateway Maintainer</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:semzx@newmail.ru">Alexander Patrakov</ulink>
+      &lt;semzx@newmail.ru&gt; &ndash; LFS Technical Writer</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:gschafer@zip.com.au">Greg Schafer</ulink>
+      &lt;gschafer@zip.com.au&gt; &ndash; LFS Technical Writer</para>
+    </listitem>
+
+    <listitem>
+      <para>Jesse Tie-Ten-Quee &ndash; LFS Technical Writer</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:jeremy@linuxfromscratch.org">Jeremy
+      Utley</ulink> &lt;jeremy@linuxfromscratch.org&gt; &ndash; LFS Technical
+      Writer, Bugzilla Maintainer, LFS-Bootscripts Maintainer</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:zwinkles@gmail.com">Zack Winkles</ulink>
+      &lt;zwinkles@gmail.com&gt; &ndash; LFS Technical Writer</para>
+    </listitem>
+
+  </itemizedlist>
+
+  <bridgehead renderas="sect2">A very special thank you to our
+  donators</bridgehead>
+
+  <itemizedlist>
+
+    <listitem>
+      <para><ulink url="mailto:dean@vipersoft.co.uk">Dean Benson</ulink>
+      &lt;dean@vipersoft.co.uk&gt; for several monetary contributions</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="mailto:hrx@hrxnet.de">Hagen Herrschaft</ulink>
+      &lt;hrx@hrxnet.de&gt; for donating a 2.2 GHz P4 system, now running
+      under the name of Lorien</para>
+    </listitem>
+
+    <listitem>
+      <para><ulink url="http://www.vasoftware.com">VA Software</ulink> who,
+      on behalf of <ulink url="http://www.linux.com">Linux.com</ulink>,
+      donated a VA Linux 420 (former StartX SP2) workstation</para>
+    </listitem>
+
+    <listitem>
+      <para>Mark Stone for donating Belgarath, the linuxfromscratch.org
+      server</para>
+    </listitem>
+
+  </itemizedlist>
+
+</appendix>
Index: BOOK/appendices/acronymlist.xml
===================================================================
--- BOOK/appendices/acronymlist.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/appendices/acronymlist.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,573 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<appendix id="appendixa" xreflabel="Appendix A">
+  <?dbhtml dir="appendices"?>
+  <?dbhtml filename="acronymlist.html"?>
+
+  <title>Acronyms and Terms</title>
+
+  <variablelist>
+    <?dbfo list-presentation="list"?>
+    <?dbhtml list-presentation="table"?>
+
+    <varlistentry>
+      <term><emphasis role="bold">ABI</emphasis></term>
+      <listitem>
+        <para>Application Binary Interface</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">ALFS</emphasis></term>
+      <listitem>
+        <para>Automated Linux From Scratch</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">ALSA</emphasis></term>
+      <listitem>
+        <para>Advanced Linux Sound Architecture</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">API</emphasis></term>
+      <listitem>
+        <para>Application Programming Interface</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">ASCII</emphasis></term>
+      <listitem>
+        <para>American Standard Code for Information Interchange</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">ATA</emphasis></term>
+      <listitem>
+        <para>Advanced Technology Attachment (see IDE)</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">BIOS</emphasis></term>
+      <listitem>
+        <para>Basic Input/Output System</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">BLFS</emphasis></term>
+      <listitem>
+        <para>Beyond Linux From Scratch</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">BSD</emphasis></term>
+      <listitem>
+        <para>Berkeley Software Distribution</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">chroot</emphasis></term>
+      <listitem>
+        <para>change root</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">CLFS</emphasis></term>
+      <listitem>
+        <para>Cross-Compiled Linux From Scratch</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">CMOS</emphasis></term>
+      <listitem>
+        <para>Complementary Metal Oxide Semiconductor</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">COS</emphasis></term>
+      <listitem>
+        <para>Class Of Service</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">CPU</emphasis></term>
+      <listitem>
+        <para>Central Processing Unit</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">CRC</emphasis></term>
+      <listitem>
+        <para>Cyclic Redundancy Check</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">DHCP</emphasis></term>
+      <listitem>
+        <para>Dynamic Host Configuration Protocol</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">DNS</emphasis></term>
+      <listitem>
+        <para>Domain Name Service</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">EGA</emphasis></term>
+      <listitem>
+        <para>Enhanced Graphics Adapter</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">ELF</emphasis></term>
+      <listitem>
+        <para>Executable and Linkable Format</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">EOF</emphasis></term>
+      <listitem>
+        <para>End of File</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">EQN</emphasis></term>
+      <listitem>
+        <para>equation</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">EVMS</emphasis></term>
+      <listitem>
+        <para>Enterprise Volume Management System</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">ext2</emphasis></term>
+      <listitem>
+        <para>second extended file system</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">FAQ</emphasis></term>
+      <listitem>
+        <para>Frequently Asked Questions</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">FHS</emphasis></term>
+      <listitem>
+        <para>Filesystem Hierarchy Standard</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">FIFO</emphasis></term>
+      <listitem>
+        <para>First-In, First Out</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">FQDN</emphasis></term>
+      <listitem>
+        <para>Fully Qualified Domain Name</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">FTP</emphasis></term>
+      <listitem>
+        <para>File Transfer Protocol</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">GB</emphasis></term>
+      <listitem>
+        <para>Gibabytes</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">GCC</emphasis></term>
+      <listitem>
+        <para>GNU Compiler Collection</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">GID</emphasis></term>
+      <listitem>
+        <para>Group Identifier</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">GMT</emphasis></term>
+      <listitem>
+        <para>Greenwich Mean Time</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">HTML</emphasis></term>
+      <listitem>
+        <para>Hypertext Markup Language</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">IDE</emphasis></term>
+      <listitem>
+        <para>Integrated Drive Electronics</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">IEEE</emphasis></term>
+      <listitem>
+        <para>Institute of Electrical and Electronic Engineers</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">IO</emphasis></term>
+      <listitem>
+        <para>Input/Output</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">IP</emphasis></term>
+      <listitem>
+        <para>Internet Protocol</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">IPC</emphasis></term>
+      <listitem>
+        <para>Inter-Process Communication</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">IRC</emphasis></term>
+      <listitem>
+        <para>Internet Relay Chat</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">ISO</emphasis></term>
+      <listitem>
+        <para>International Organization for Standardization</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">ISP</emphasis></term>
+      <listitem>
+        <para>Internet Service Provider</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">KB</emphasis></term>
+      <listitem>
+        <para>Kilobytes</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">LED</emphasis></term>
+      <listitem>
+        <para>Light Emitting Diode</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">LFS</emphasis></term>
+      <listitem>
+        <para>Linux From Scratch</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">LSB</emphasis></term>
+      <listitem>
+        <para>Linux Standard Base</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">MB</emphasis></term>
+      <listitem>
+        <para>Megabytes</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">MBR</emphasis></term>
+      <listitem>
+        <para>Master Boot Record</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">MD5</emphasis></term>
+      <listitem>
+        <para>Message Digest 5</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">NIC</emphasis></term>
+      <listitem>
+        <para>Network Interface Card</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">NLS</emphasis></term>
+      <listitem>
+        <para>Native Language Support</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">NNTP</emphasis></term>
+      <listitem>
+        <para>Network News Transport Protocol</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">NPTL</emphasis></term>
+      <listitem>
+        <para>Native POSIX Threading Library</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">OF</emphasis></term>
+      <listitem>
+        <para>Open Firmware</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">OSS</emphasis></term>
+      <listitem>
+        <para>Open Sound System</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">PCH</emphasis></term>
+      <listitem>
+        <para>Pre-Compiled Headers</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">PCRE</emphasis></term>
+      <listitem>
+        <para>Perl Compatible Regular Expression</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">PID</emphasis></term>
+      <listitem>
+        <para>Process Identifier</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">PTY</emphasis></term>
+      <listitem>
+        <para>pseudo terminal</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">QA</emphasis></term>
+      <listitem>
+        <para>Quality Assurance</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">QOS</emphasis></term>
+      <listitem>
+        <para>Quality Of Service</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">RAM</emphasis></term>
+      <listitem>
+        <para>Random Access Memory</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">RPC</emphasis></term>
+      <listitem>
+        <para>Remote Procedure Call</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">RTC</emphasis></term>
+      <listitem>
+        <para>Real Time Clock</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">SCO</emphasis></term>
+      <listitem>
+        <para>The Santa Cruz Operation</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">SATA</emphasis></term>
+      <listitem>
+        <para>Serial ATA</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">SGR</emphasis></term>
+      <listitem>
+        <para>Select Graphic Rendition</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">SHA1</emphasis></term>
+      <listitem>
+        <para>Secure-Hash Algorithm 1</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">SMP</emphasis></term>
+      <listitem>
+        <para>Symmetric Multi-Processor</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">TLDP</emphasis></term>
+      <listitem>
+        <para>The Linux Documentation Project</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">TFTP</emphasis></term>
+      <listitem>
+        <para>Trivial File Transfer Protocol</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">TLS</emphasis></term>
+      <listitem>
+        <para>Thread-Local Storage</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">UID</emphasis></term>
+      <listitem>
+        <para>User Identifier</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">umask</emphasis></term>
+      <listitem>
+        <para>user file-creation mask</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">USB</emphasis></term>
+      <listitem>
+        <para>Universal Serial Bus</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">UTC</emphasis></term>
+      <listitem>
+        <para>Coordinated Universal Time</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">UUID</emphasis></term>
+      <listitem>
+        <para>Universally Unique Identifier</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">VC</emphasis></term>
+      <listitem>
+        <para>Virtual Console</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">VGA</emphasis></term>
+      <listitem>
+        <para>Video Graphics Array</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><emphasis role="bold">VT</emphasis></term>
+      <listitem>
+        <para>Virtual Terminal</para>
+      </listitem>
+    </varlistentry>
+
+  </variablelist>
+
+</appendix>
Index: BOOK/appendices/dependencies/arm.xml
===================================================================
--- BOOK/appendices/dependencies/arm.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/appendices/dependencies/arm.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<appendix id="appendixc-arm" xreflabel="Appendix C">
+  <?dbhtml dir="appendixc"?>
+  <?dbhtml filename="arm-dependencies.html"?>
+
+  <title>ARM Dependencies</title>
+
+  <para>This page contains dependency information for packages specific to ARM.</para>
+
+</appendix>
Index: BOOK/appendices/dependencies/common.xml
===================================================================
--- BOOK/appendices/dependencies/common.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/appendices/dependencies/common.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<appendix id="appendixc" xreflabel="Appendix C">
+  <?dbhtml dir="appendixc"?>
+  <?dbhtml filename="dependencies.html"?>
+
+  <title>Dependencies</title>
+
+  <para>Every package built in CLFS relies on one or more other packages
+  in order to build and install properly. Some packages even participate
+  in circular dependencies, that is, the first package depends on the second
+  which in turn depends on the first. Because of these dependencies, the
+  order in which packages are built in CLFS is very important. The purpose
+  of this page is to document the dependencies of each package built in CLFS.</para>
+
+  <para>For each package we build, we have listed three types of dependencies.
+  The first lists what other packages need to be available in order to compile
+  and install the package in question. The second lists what packages, in
+  addition to those on the first list, need to be available in order to run the
+  testsuites. The last list of dependencies are packages that require this
+  package to be built and installed in its final location before they are built
+  and installed. In most cases, this is because these packages will hardcode
+  paths to binaries within their scripts. If not built in a certain order,
+  this could result in paths of /tools/bin/[binary] being placed inside
+  scripts installed to the final system. This is obviously not desirable.
+  </para>
+
+<!-- Begin Binutils dependency info -->
+  <bridgehead renderas="sect2" id="binutils-dep">Binutils</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Coreutils, Diffutils, File, GCC, Gettext, Glibc,
+         Grep, Make, Perl, Sed and Texinfo</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>DejaGNU and Expect</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+<!-- Begin CLFS-Bootscripts dependency info -->
+  <bridgehead renderas="sect2" id="bootscripts-dep">CLFS-Bootscripts</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Coreutils, Make and Sed</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+<!-- Begin Gcc dependency info -->
+  <bridgehead renderas="sect2" id="gcc-dep">Gcc</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC,
+	 Gettext, Glibc, Grep, Make, Patch, Perl, Sed, Tar and Texinfo</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>DejaGNU and Expect</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+<!-- Begin Linux-Headers dependency info -->
+  <bridgehead renderas="sect2" id="linux-headers-dep">Linux-Headers</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Coreutils and Findutils</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>No testsuite available</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+<!-- Begin Linux Kernel dependency info -->
+  <bridgehead renderas="sect2" id="linux-dep">Linux Kernel</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Coreutils, Diffutils, Findutils, GCC, Glibc, Grep,
+	 Gzip, Make, Mktemp, Module-Init-Tools, Ncurses and Sed</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>No testsuite available</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+<!-- Begin Udev dependency info -->
+  <bridgehead renderas="sect2" id="udev-dep">Udev</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Binutils, Coreutils, GCC, Glibc and Make</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>Findutils, Perl and Sed</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+<!-- Begin Udev Rules dependency info -->
+  <bridgehead renderas="sect2" id="udev-rules-dep">Udev Rules</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Coreutils, Make and Sed</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+</appendix>
Index: BOOK/appendices/dependencies/x86.xml
===================================================================
--- BOOK/appendices/dependencies/x86.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/appendices/dependencies/x86.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<appendix id="appendixc-arm" xreflabel="Appendix C">
+  <?dbhtml dir="appendixc"?>
+  <?dbhtml filename="arm-dependencies.html"?>
+
+  <title>X86 Dependencies</title>
+
+  <para>This page contains dependency information for packages specific to X86.</para>
+
+</appendix>
Index: BOOK/appendices/license.xml
===================================================================
--- BOOK/appendices/license.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/appendices/license.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<appendix id="license" xreflabel="Open Publication License">
+  <?dbhtml dir="appendices"?>
+  <?dbhtml filename="license.html"?>
+
+  <title>Open Publication License</title>
+  <bridgehead renderas="sect3">v1.0, 8 June 1999</bridgehead>
+
+
+  <bridgehead renderas="sect2">I. REQUIREMENTS ON BOTH UNMODIFIED AND
+  MODIFIED VERSIONS</bridgehead>
+
+  <para>The Open Publication works may be reproduced and distributed in
+  whole or in part, in any medium physical or electronic, provided that
+  the terms of this license are adhered to, and that this license or an
+  incorporation of it by reference (with any options elected by the
+  author(s) and/or publisher) is displayed in the reproduction.</para>
+
+  <para>Proper form for an incorporation by reference is as follows:</para>
+
+  <blockquote>
+    <para>Copyright &copy; &lt;year&gt; by &lt;author's name or designee&gt;.
+    This material may be distributed only subject to the terms and conditions
+    set forth in the Open Publication License, vX.Y or later (the latest
+    version is presently available at <ulink
+    url="http://www.opencontent.org/openpub/"/>).</para>
+  </blockquote>
+
+  <para>The reference must be immediately followed with any options elected
+  by the author(s) and/or publisher of the document (see section VI).</para>
+
+  <para>Commercial redistribution of Open Publication-licensed material
+  is permitted.</para>
+
+  <para>Any publication in standard (paper) book form shall require the
+  citation of the original publisher and author. The publisher and
+  author's names shall appear on all outer surfaces of the book. On all
+  outer surfaces of the book the original publisher's name shall be as
+  large as the bridgehead of the work and cited as possessive with respect
+  to the bridgehead.</para>
+
+
+  <bridgehead renderas="sect2">II. COPYRIGHT</bridgehead>
+
+  <para>The copyright to each Open Publication is owned by its
+  author(s) or designee.</para>
+
+  <bridgehead renderas="sect2">III. SCOPE OF LICENSE</bridgehead>
+
+  <para>The following license terms apply to all Open Publication works,
+  unless otherwise explicitly stated in the document.</para>
+
+  <para>Mere aggregation of Open Publication works or a portion of an
+  Open Publication work with other works or programs on the same media
+  shall not cause this license to apply to those other works. The
+  aggregate work shall contain a notice specifying the inclusion of the
+  Open Publication material and appropriate copyright notice.</para>
+
+  <para>SEVERABILITY. If any part of this license is found to be
+  unenforceable in any jurisdiction, the remaining portions of the
+  license remain in force.</para>
+
+  <para>NO WARRANTY. Open Publication works are licensed and provided
+  "as is" without warranty of any kind, express or implied, including,
+  but not limited to, the implied warranties of merchantability and
+  fitness for a particular purpose or a warranty of non-infringement.</para>
+
+
+  <bridgehead renderas="sect2">IV. REQUIREMENTS ON MODIFIED WORKS</bridgehead>
+
+  <para>All modified versions of documents covered by this license,
+  including translations, anthologies, compilations and partial documents,
+  must meet the following requirements:</para>
+
+  <orderedlist>
+    <listitem>
+      <para>The modified version must be labeled as such.</para>
+    </listitem>
+    <listitem>
+      <para>The person making the modifications must be identified and
+      the modifications dated.</para>
+    </listitem>
+    <listitem>
+      <para>Acknowledgement of the original author and publisher if
+      applicable must be retained according to normal academic citation
+      practices.</para>
+    </listitem>
+    <listitem>
+      <para>The location of the original unmodified document must be
+      identified.</para>
+    </listitem>
+    <listitem>
+      <para>The original author's (or authors') name(s) may not be used
+      to assert or imply endorsement of the resulting document without
+      the original author's (or authors') permission.</para>
+    </listitem>
+  </orderedlist>
+
+
+  <bridgehead renderas="sect2">V. GOOD-PRACTICE RECOMMENDATIONS</bridgehead>
+
+  <para>In addition to the requirements of this license, it is requested
+  from and strongly recommended of redistributors that:</para>
+
+  <orderedlist>
+    <listitem>
+      <para>If you are distributing Open Publication works on hardcopy
+      or CD-ROM, you provide email notification to the authors of your
+      intent to redistribute at least thirty days before your manuscript
+      or media freeze, to give the authors time to provide updated
+      documents. This notification should describe modifications, if any,
+      made to the document.</para>
+    </listitem>
+    <listitem>
+      <para>All substantive modifications (including deletions) be either
+      clearly marked up in the document or else described in an attachment
+      to the document.</para>
+    </listitem>
+    <listitem>
+      <para>Finally, while it is not mandatory under this license, it is
+      considered good form to offer a free copy of any hardcopy and CD-ROM
+      expression of an Open Publication-licensed work to its author(s).</para>
+    </listitem>
+  </orderedlist>
+
+
+  <bridgehead renderas="sect2">VI. LICENSE OPTIONS</bridgehead>
+
+  <para>The author(s) and/or publisher of an Open Publication-licensed
+  document may elect certain options by appending language to the reference
+  to or copy of the license. These options are considered part of the
+  license instance and must be included with the license (or its
+  incorporation by reference) in derived works.</para>
+
+  <para>A. To prohibit distribution of substantively modified versions
+  without the explicit permission of the author(s). "Substantive modification"
+  is defined as a change to the semantic content of the document, and
+  excludes mere changes in format or typographical corrections.</para>
+
+  <para>To accomplish this, add the phrase `Distribution of substantively
+  modified versions of this document is prohibited without the explicit
+  permission of the copyright holder.' to the license reference or copy.</para>
+
+  <para>B. To prohibit any publication of this work or derivative works in
+  whole or in part in standard (paper) book form for commercial purposes
+  is prohibited unless prior permission is obtained from the copyright
+  holder.</para>
+
+  <para>To accomplish this, add the phrase 'Distribution of the work or
+  derivative of the work in any standard (paper) book form is prohibited
+  unless prior permission is obtained from the copyright holder.' to the
+  license reference or copy.</para>
+
+
+  <bridgehead renderas="sect2">OPEN PUBLICATION POLICY APPENDIX</bridgehead>
+
+  <para>(This is not considered part of the license.)</para>
+
+  <para>Open Publication works are available in source format via the Open
+  Publication home page at <ulink url="http://works.opencontent.org/"/>.</para>
+
+  <para>Open Publication authors who want to include their own license on
+  Open Publication works may do so, as long as their terms are not more
+  restrictive than the Open Publication license.</para>
+
+  <para>If you have questions about the Open Publication License, please
+  contact David Wiley at dw@opencontent.org, and/or the Open Publication
+  Authors' List at opal@opencontent.org, via email.</para>
+
+  <para>To <emphasis role="strong">subscribe</emphasis> to the Open Publication
+  Authors' List: Send E-mail to opal-request@opencontent.org with the word
+  "subscribe" in the body.</para>
+
+  <para>To <emphasis role="strong">post</emphasis> to the Open Publication
+  Authors' List: Send E-mail to opal@opencontent.org or simply reply to a
+  previous post.</para>
+
+  <para>To <emphasis role="strong">unsubscribe</emphasis> from the Open
+  Publication Authors' List: Send E-mail to opal-request@opencontent.org
+  with the word "unsubscribe" in the body.</para>
+
+</appendix>
Index: OK/arm-index.xml
===================================================================
--- BOOK/arm-index.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,72 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "general.ent">
-  %general-entities;
-]>
-
-<book>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="preface/arm/bookinfo.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="preface/preface.xml"/>
-
-  <part id="part1">
-    <?dbhtml filename="part1.html"?>
-
-    <title>Introduction</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction/chapter.xml"/>
-
-  </part>
-
-  <part id="part2">
-    <?dbhtml filename="part2.html"?>
-
-    <title>Preparing for the Build</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="materials/chapter.xml"/>
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="final-preps/chapter.xml"/>
-  </part>
-
-  <part id="part3">
-    <?dbhtml filename="part3.html"?>
-
-    <title>Make the Cross-Compile Tools</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="cross-tools/arm-chapter.xml"/>
-
-  </part>
-
-  <part id="part4">
-    <?dbhtml filename="part4.html"?>
-
-    <title>Building the CLFS System</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="final-system/chapter.xml"/>
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootable/chapter.xml"/>
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootscripts/chapter.xml"/>
-
-  </part>
-
-  <part id="part5">
-    <?dbhtml filename="part5.html"?>
-
-    <title>Beyond CLFS Embedded</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="beyond/chapter.xml"/>
-
-  </part>
-
-  <part id="part6">
-    <?dbhtml filename="part6.html"?>
-
-    <title>Cleanup and Boot</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="cleanup/chapter.xml"/>
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="the-end/chapter.xml"/>
-
-  </part>
-
-  <index/>
-
-</book>
Index: OK/beyond/chapter.xml
===================================================================
--- BOOK/beyond/chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,22 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<chapter id="chapter-beyond" xreflabel="Beyond">
-  <?dbhtml dir="beyond"?>
-  <?dbhtml filename="chapter.html"?>
-
-  <title>Beyond CLFS Embedded</title>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/packages.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/patches.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/zlib.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/netplug.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/dropbear.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/wireless_tools.xml"/>
-
-</chapter>
Index: OK/beyond/common/dropbear.xml
===================================================================
--- BOOK/beyond/common/dropbear.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,85 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-beyond-dropbear" role="wrap">
-  <?dbhtml filename="dropbear.html"?>
-
-  <title>Dropbear-&dropbear-version;</title>
-
-  <indexterm zone="ch-beyond-dropbear">
-    <primary sortas="a-Dropbear">Dropbear</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>Dropbear is a relatively small SSH server and client. Dropbear has a small
-     memory footprint suitable for memory-constrained environments, while still having
-     the same features as OpenSSH. It does not depend on OpenSSL and it has a MIT
-     style license.</para>
-
-    <para>Dropbear depends on zlib.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of Dropbear</title>
-
-    <para>Fix dropbear so it doesn't install man pages:</para>
-
-    <screen><userinput>sed -i 's/.*mandir.*//g' Makefile.in</userinput></screen>
-
-    <para os="a">Configure dropbear:</para>
-
-<screen os="b"><userinput>CC="${CC} -Os" ./configure --prefix=/usr --host=${CLFS_TARGET}</userinput></screen>
-
-    <note os="e"><para>We are just telling dropbear to use the default
-        configuration plus scp.  For those who are more adventurous, edit options.h
-        to further configure dropbear.</para></note>
-
-    <para os="f">Compile the package:</para>
-
-<screen os="g"><userinput>make MULTI=1 \
-  PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"</userinput></screen>
-
-    <para os="h">Install the package:</para>
-
-<screen os="i"><userinput>make MULTI=1 \
-  PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" \
-  install DESTDIR=${CLFS}/targetfs</userinput></screen>
-
-    <para os="j">Create the directory for the dropbear key files:</para>
-
-<screen os="k"><userinput>install -dv ${CLFS}/targetfs/etc/dropbear</userinput></screen>
-
-  </sect2>
-
-  <sect2 role="bootscripts">
-    <title>Installation of Dropbear Bootscripts</title>
-
-    <para os="l">From the clfs-bootscripts package, install the Dropbear
-            bootscripts:</para>
-
-<screen os="m"><userinput>make install-dropbear DESTDIR=${CLFS}/targetfs</userinput></screen>
-
-
-  </sect2>
-
-  <sect2 id="contents-dropbear" role="content">
-    <title>Contents of Dropbear</title>
-
-    <segmentedlist>
-      <segtitle>Installed programs</segtitle>
-
-      <seglistitem>
-        <seg>/usr/bin/dropbearmulti</seg>
-      </seglistitem>
-    </segmentedlist>
-
-  </sect2>
-
-</sect1>
Index: OK/beyond/common/introduction.xml
===================================================================
--- BOOK/beyond/common/introduction.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,16 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-bclfs">
-  <?dbhtml filename="introduction.html"?>
-
-  <title>Introduction</title>
-
-  <para os="a">Now that we have our base system built, we may add some optional
-  additional networking software.</para>
-
-</sect1>
Index: OK/beyond/common/netplug.xml
===================================================================
--- BOOK/beyond/common/netplug.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,66 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-beyond-netplug" role="wrap">
-  <?dbhtml filename="netplug.html"?>
-
-  <title>Netplug-&netplug-version;</title>
-
-  <indexterm zone="ch-beyond-netplug">
-    <primary sortas="a-Netplug">Netplug</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>Netplug is a daemon that detects insertion and removal of network
-      cables and reacts to bring up or take down the network interface.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of Netplug</title>
-
-    <para>Patch netplug to fix issues:</para>
-
-    <screen><userinput>patch -Np1 -i ../&netplug-patch;</userinput></screen>
-
-    <para os="f">Compile the package:</para>
-
-<screen os="g"><userinput>make</userinput></screen>
-
-    <para os="h">Install the package:</para>
-
-<screen os="i"><userinput>make DESTDIR=${CLFS}/targetfs install</userinput></screen>
-
-  </sect2>
-
-  <sect2 role="bootscripts">
-    <title>Installation of Netplug Bootscripts</title>
-
-    <para os="l">From the clfs-bootscripts package, install the Netplug
-            bootscripts:</para>
-
-<screen os="m"><userinput>make install-netplug DESTDIR=${CLFS}/targetfs</userinput></screen>
-
-
-  </sect2>
-
-  <sect2 id="contents-netplug" role="content">
-    <title>Contents of Netplug</title>
-
-    <segmentedlist>
-      <segtitle>Installed programs</segtitle>
-
-      <seglistitem>
-        <seg>/sbin/netplugd</seg>
-      </seglistitem>
-    </segmentedlist>
-
-  </sect2>
-
-</sect1>
Index: OK/beyond/common/packages.xml
===================================================================
--- BOOK/beyond/common/packages.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,57 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-beyond-packages">
-  <?dbhtml filename="packages.html"?>
-
-  <title>Beyond CLFS Packages</title>
-
-  <para>Download or otherwise obtain the following packages:</para>
-
-  <variablelist role="beyond">
-
-    <varlistentry>
-      <term>Dropbear (&dropbear-version;) - <token>&dropbear-size;</token>:</term>
-      <listitem>
-        <para>Home page: <ulink url="&dropbear-home;"/></para>
-        <para>Download: <ulink url="&dropbear-url;"/></para>
-        <para>MD5 sum: <literal>&dropbear-md5;</literal></para>
-      </listitem>
-    </varlistentry>
-
-    <varlistentry>
-      <term>Netplug (&netplug-version;) - <token>&netplug-size;</token>:</term>
-      <listitem>
-        <para>Home page: <ulink url="&netplug-home;"/></para>
-        <para>Download: <ulink url="&netplug-url;"/></para>
-        <para>MD5 sum: <literal>&netplug-md5;</literal></para>
-      </listitem>
-    </varlistentry>
-
-    <varlistentry>
-      <term>Wireless Tools (&wireless_tools-version;) - <token>&wireless_tools-size;</token>:</term>
-      <listitem>
-        <para>Home page: <ulink url="&wireless_tools-home;"/></para>
-        <para>Download: <ulink url="&wireless_tools-url;"/></para>
-        <para>MD5 sum: <literal>&wireless_tools-md5;</literal></para>
-      </listitem>
-    </varlistentry>
-
-    <varlistentry>
-      <term>Zlib (&zlib-version;) - <token>&zlib-size;</token>:</term>
-      <listitem>
-        <para>Home page: <ulink url="&zlib-home;"/></para>
-        <para>Download: <ulink url="&zlib-url;"/></para>
-        <para>MD5 sum: <literal>&zlib-md5;</literal></para>
-      </listitem>
-    </varlistentry>
-
-  </variablelist>
-
-  <para os="a">Total size of these packages: about <returnvalue/></para>
-
-</sect1>
Index: OK/beyond/common/patches.xml
===================================================================
--- BOOK/beyond/common/patches.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,34 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-beyond-patches">
-  <?dbhtml filename="patches.html"?>
-
-  <title>Beyond CLFS Patches</title>
-
-  <para>In addition to the packages, several patches are also required.
-  These patches correct any mistakes in the packages that should be
-  fixed by the maintainer. The patches also make small modifications to
-  make the packages easier to work with. The following patches will be
-  needed in order to build the associated packages:</para>
-
-  <variablelist role="patches">
-
-    <varlistentry>
-      <term>Netplug Patch - <token>&netplug-patch-size;</token>:</term>
-      <listitem>
-        <para>Download: <ulink
-        url="&patches-root;&netplug-patch;"/></para>
-        <para>MD5 sum: <literal>&netplug-patch-md5;</literal></para>
-      </listitem>
-    </varlistentry>
-
-  </variablelist>
-
-  <para os="a">Total size of these patches: about <returnvalue/></para>
-
-</sect1>
Index: OK/beyond/common/wireless_tools.xml
===================================================================
--- BOOK/beyond/common/wireless_tools.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,69 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-beyond-wireless_tools" role="wrap">
-  <?dbhtml filename="wireless_tools.html"?>
-
-  <title>Wireless Tools-&wireless_tools-version;</title>
-
-  <indexterm zone="ch-beyond-wireless_tools">
-    <primary sortas="a-wireless_tools">wireless_tools</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>Wireless Tools is the reference implementation of tools supporting the
-    ability to manipulate the Wireless Extensions API supported by most wireless
-    LAN networking drivers.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of Wireless Tools</title>
-
-    <para os="a">Wireless Tools' <filename>Makefile</filename> contains 
-    explicitly which <command>gcc</command>, <command>ar</command>, and
-    <command>ranlib</command> to use.  Make sure the 
-    <filename class="directory">${CLFS}/cross-tools</filename> versions of 
-    these programs are used instead of the host's:</para>
-
-<screen><userinput>sed -i s/gcc/\$\{CLFS\_TARGET\}\-gcc/g Makefile
-sed -i s/\ ar/\ \$\{CLFS\_TARGET\}\-ar/g Makefile
-sed -i s/ranlib/\$\{CLFS\_TARGET\}\-ranlib/g Makefile</userinput></screen>
-
-    <para os="b">Compile the package:</para>
-
-    <note><para>There are options that can be passed to <command>make</command>
-    and <command>make install</command> that will reduce the size and 
-    functionality of the Wireless Tools.  See the Wireless Tools
-    <filename>INSTALL</filename> file for more information.</para></note>
-
-<screen><userinput>make PREFIX=${CLFS}/targetfs/usr</userinput></screen>
-
-    <para os="c">Install the package:</para>
-
-<screen><userinput>make install PREFIX=${CLFS}/targetfs/usr</userinput></screen>
-
-  </sect2>
-
-  <sect2 id="contents-wireless_tools" role="content">
-    <title>Contents of Wireless Tools</title>
-
-    <segmentedlist>
-      <segtitle>Installed programs</segtitle>
-      <segtitle>Installed libraries</segtitle>
-
-      <seglistitem>
-        <seg>iwconfig, iwevent, iwgetid, iwlist, iwpriv, and iwspy</seg>
-        <seg>libiw.so</seg>
-      </seglistitem>
-    </segmentedlist>
-
-  </sect2>
-
-</sect1>
Index: OK/beyond/common/zlib.xml
===================================================================
--- BOOK/beyond/common/zlib.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,91 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-beyond-zlib" role="wrap">
-  <?dbhtml filename="zlib.html"?>
-
-  <title>Zlib-&zlib-version;</title>
-
-  <indexterm zone="ch-beyond-zlib">
-    <primary sortas="a-Zlib">Zlib</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>The Zlib package contains compression and decompression routines
-    used by some programs.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of Zlib</title>
-
-    <para os="c">Prepare Zlib for compilation and set to optimize for size:</para>
-
-<screen os="d"><userinput>CFLAGS="-Os" ./configure --shared</userinput></screen>
-
-    <variablelist os="aa">
-      <title>The meaning of the configure options:</title>
-
-      <varlistentry os="aa1">
-        <term><parameter>--shared</parameter></term>
-        <listitem>
-          <para>Tells Zlib to build its shared library.</para>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-    <para os="c">Compile the package:</para>
-
-<screen os="d"><userinput>make</userinput></screen>
-
-    <para os="e">Install the package into the cross-tools:</para>
-
-<screen os="f"><userinput>make prefix=${CLFS}/cross-tools/${CLFS_TARGET} install</userinput></screen>
-
-    <para os="g">Copy only the shared library into the target file system and
-      ensure that its symlink is present so the runtime loader can find it:</para>
-
-    <screen os="h"><userinput>cp -v ${CLFS}/cross-tools/${CLFS_TARGET}/lib/libz.so.&zlib-version; ${CLFS}/targetfs/lib/
-ln -sv libz.so.&zlib-version; ${CLFS}/targetfs/lib/libz.so.1</userinput></screen>
-
-  </sect2>
-
-  <sect2 id="contents-zlib" role="content">
-    <title>Contents of Zlib</title>
-
-    <segmentedlist>
-      <segtitle>Installed libraries</segtitle>
-
-      <seglistitem>
-        <seg>libz.[a,so]</seg>
-      </seglistitem>
-    </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="libz">
-        <term><filename class="libraryfile">libz</filename></term>
-        <listitem>
-          <para>Contains compression and decompression
-          functions used by some programs</para>
-          <indexterm zone="ch-beyond-zlib libz">
-            <primary sortas="c-libz">libz</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-  </sect2>
-
-</sect1>
Index: OK/bootable/chapter.xml
===================================================================
--- BOOK/bootable/chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,19 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<chapter id="chapter-bootable" xreflabel="Making the CLFS System Bootable">
-  <?dbhtml dir="bootable"?>
-  <?dbhtml filename="chapter.html"?>
-
-  <title>Making the CLFS System Bootable</title>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/fstab.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/kernel.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/bootloaders.xml"/>
-
-</chapter>
Index: OK/bootable/common/bootloaders.xml
===================================================================
--- BOOK/bootable/common/bootloaders.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,52 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-bootable-bootloaders">
-  <?dbhtml filename="bootloaders.html"?>
-
-  <title>Bootloaders</title>
-
-  <para>There are many different bootloaders.  Creating detailed instructions on
-    how to use even the more popular ones is difficult as each architecture and
-    board often has different levels of support or configuration options within
-    each bootloader.  Often, development kits will ship with a bootloader
-    already configured, if your board comes with a bootloader pre-configured,
-    it's best to start using that and then venture on to building the bootloader
-    yourself later.</para>
-
-<para>A few of the popular bootloaders include:</para>
-
-<variablelist>
-
-  <varlistentry>
-    <term>Barebox</term>
-    <listitem><para><ulink url="http://barebox.org/" /></para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>CoLo</term>
-    <listitem><para><ulink url="http://www.colonel-panic.org/cobalt-mips/" /></para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>GNU GRUB</term>
-    <listitem><para><ulink url="https://www.gnu.org/software/grub/" /></para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>Syslinux</term>
-    <listitem><para><ulink url="http://www.syslinux.org/wiki/index.php/The_Syslinux_Project" /></para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>u-boot</term>
-    <listitem><para><ulink url="http://www.denx.de/wiki/U-Boot" /></para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-</sect1>
Index: BOOK/bootable/common/chowning.xml
===================================================================
--- BOOK/bootable/common/chowning.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootable/common/chowning.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-bootable-chowning">
+  <?dbhtml filename="chowning.html"?>
+
+  <title>Changing the Ownership Of The CLFS System</title>
+
+  <para>Throughout the book, every package has been compiled and installed as
+  the <systemitem class="username">lfs</systemitem> user. The final system
+  should be owned by <systemitem class="username">root</systemitem>.</para>
+
+  <important>
+
+    <para>The commands in the remainder of this book must be performed while
+    logged in as <systemitem class="username">root</systemitem>. Check that
+    ${CLFS} is still set:</para>
+
+    <screen><userinput>echo ${CLFS}</userinput></screen>
+
+  </important>
+
+  <para>Make <systemitem class="username">root</systemitem> the owner of the
+  entire CLFS system.</para>
+
+<screen><userinput>chown -Rv root:root ${CLFS}</userinput></screen>
+
+  <para>The following files are not the be owned by
+  <systemitem class="username">root</systemitem>.</para>
+
+<screen><userinput>chgrp -v utmp ${CLFS}/var/run/utmp ${CLFS}/var/log/lastlog</userinput></screen>
+
+  <para>The following device nodes need to be created for the system to
+  boot.</para>
+
+<screen><userinput>mknod -m 0666 ${CLFS}/dev/null c 1 3
+mknod -m 0600 ${CLFS}/dev/console c 5 1</userinput></screen>
+
+  <para>If you did not create the following rules in <xref linkend="ch-scripts-udev-rules"/>. You
+  need to create them now.</para>
+
+<screen><userinput>mknod -m 0666 ${CLFS}/lib/udev/devices/null c 1 3
+mknod -m 0600 ${CLFS}/lib/udev/devices/console c 5 1</userinput></screen>
+
+</sect1>
Index: BOOK/bootable/common/fstab.xml
===================================================================
--- BOOK/bootable/common/fstab.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/bootable/common/fstab.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -18,14 +18,38 @@
   programs to determine where file systems are to be mounted by default,
   in which order, and which must be checked (for integrity errors) prior
-  to mounting.  For our embedded system, the bootloader will tell Linux where to
-  find the root file system and we will not mount any additional file systems,
-  so we can create an empty file system table like this:</para>
+  to mounting. Create a new file systems table like this:</para>
 
-<screen><userinput>cat &gt; ${CLFS}/targetfs/etc/fstab &lt;&lt; "EOF"
-<literal># file-system  mount-point  type   options          dump  fsck</literal>
+<screen><userinput>cat &gt; ${CLFS}/etc/fstab &lt;&lt; "EOF"
+<literal># Begin /etc/fstab
+
+# file system  mount-point  type   options          dump  fsck
+#                                                         order
+
+/dev/<replaceable>[xxx]</replaceable>     /            <replaceable>[fff]</replaceable>  defaults         1     1
+/dev/<replaceable>[yyy]</replaceable>     swap         swap   pri=1            0     0
+proc           /proc        proc   defaults         0     0
+sysfs          /sys         sysfs  defaults         0     0
+devpts         /dev/pts     devpts gid=4,mode=620  0     0
+shm            /dev/shm     tmpfs  defaults         0     0
+# End /etc/fstab</literal>
 EOF</userinput></screen>
 
-  <para>You may add any other file systems, such as swap or other partitions
-  or network file systems, to this fstab if you wish.</para>
+  <para os="b">Replace <replaceable>[xxx]</replaceable>,
+  <replaceable>[yyy]</replaceable>, and <replaceable>[fff]</replaceable>
+  with the values appropriate for the system, for example, <filename
+  class="partition">hda2</filename>, <filename
+  class="partition">hda5</filename>, and <systemitem
+  class="filesystem">ext2</systemitem>. For details on the six
+  fields in this file, see <command>man 5 fstab</command>.</para>
+
+  <para os="c">The <filename class="directory">/dev/shm</filename> mount point
+  for <systemitem class="filesystem">tmpfs</systemitem> is included to
+  allow enabling POSIX-shared memory. The kernel must have the required
+  support built into it for this to work (more about this is in the next
+  section). Please note that very little software currently uses
+  POSIX-shared memory.  Therefore, consider the <filename
+  class="directory">/dev/shm</filename> mount point optional. For more
+  information, see <filename>Documentation/filesystems/tmpfs.txt</filename>
+  in the kernel source tree.</para>
 
 </sect1>
Index: BOOK/bootable/common/introduction.xml
===================================================================
--- BOOK/bootable/common/introduction.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/bootable/common/introduction.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
Index: OK/bootable/common/kernel.xml
===================================================================
--- BOOK/bootable/common/kernel.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,139 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-bootable-kernel" role="wrap">
-  <?dbhtml filename="kernel.html"?>
-
-  <title>Linux-&linux-version;</title>
-
-  <indexterm zone="ch-bootable-kernel">
-    <primary sortas="a-Linux">Linux</primary>
-  </indexterm>
-
-  <sect2 role="package"><title/>
-    <para>The Linux package contains the Linux kernel.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of the kernel</title>
-
-    <para os="a">Building the kernel involves a few steps&mdash;configuration,
-    compilation, and installation. Read the <filename>README</filename>
-    file in the kernel source tree for alternative methods to the way this
-    book configures the kernel.</para>
-
-    <para os="b">Prepare for compilation by running the following command:</para>
-
-<screen os="c"><userinput>make mrproper</userinput></screen>
-
-    <para os="d">This ensures that the kernel tree is absolutely clean. The
-    kernel team recommends that this command be issued prior to each
-    kernel compilation. Do not rely on the source tree being clean after
-    un-tarring.</para>
-
-    <para os="e">Configure the kernel via a menu-driven interface.  Be sure to
-      enable DEVTMPFS so that <filename class="directory">/dev</filename> will
-      be populated automatically.</para>
-
-    <note os="f"><para>Since you are building for an embedded system make sure
-        all key components are built into the kernel and not as modules. The key
-        components are console/video, disk, and network. Without these built
-        in, the system will not function properly. It is recommended to
-        configure the kernel without modules in order to conserve disk space
-        and to reduce the complexity of booting.</para></note>
-
-<screen os="g"><userinput>make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- menuconfig</userinput></screen>
-
-<para os="h">Alternatively, the <command>make oldconfig</command> or
-  <command>make <replaceable>${CLFS_TARGET}</replaceable>_defconfig</command>
-    may be more appropriate in some situations. See the
-    <filename>README</filename> file for more information.</para>
-
-    <para os="i">If desired, skip kernel configuration by copying the kernel
-    config file, <filename>.config</filename>, from an example system
-    (assuming it is available) to the root directory of the unpacked kernel
-    sources.</para>
-
-  <note><para>If you are using the u-boot bootloader, creating a
-      <filename>uImage</filename> type kernel is recommended.  Install the
-      u-boot tools (not documented here) and append "uImage" when compiling the
-      kernel.</para></note>
- 
-  <para os="j">Compile the configured kernel image and modules:</para>
-
-<screen os="k"><userinput>make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}-</userinput></screen>
-
-    <para os="l">If using kernel modules, an
-      <filename>/etc/modprobe.conf</filename> file may be needed.  Information
-      pertaining to modules and kernel configuration is located in the kernel
-      documentation in the <filename class="directory">Documentation</filename>
-      directory of the kernel sources tree. Also,
-      <filename>modprobe.conf(5)</filename> may be of interest.</para>
-
-  <para os="p">If building modules, install the modules:</para>
-
-<screen os="q"><userinput>make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- \
-    INSTALL_MOD_PATH=${CLFS}/targetfs modules_install</userinput></screen>
-
-    <para os="y">The kernel configuration file <filename>.config</filename>
-    produced by the <command>make menuconfig</command> step above contains
-    all the configuration selections for the kernel that was just compiled.
-    It is a good idea to keep this file for future reference.</para>
-
-  <para>The resulting kernel will be located within the <filename
-      class="directory">arch/${CLFS_ARCH}/boot</filename>.  There may be more
-    than one version of the same kernel, simply with different compression or
-    bootloader helpers added.  Follow your bootloader's instructions on how to
-    copy the kernel to the final system.</para>
-
-  </sect2>
-
-  <sect2 id="contents-kernel" role="content">
-    <title>Contents of Linux</title>
-
-    <segmentedlist>
-      <segtitle>Installed files</segtitle>
-
-      <seglistitem>
-        <seg>.config, Image files, and System.map</seg>
-      </seglistitem>
-    </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="config">
-        <term><filename>.config</filename></term>
-        <listitem>
-          <para>Contains all the configuration selections for the kernel</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="kernel">
-        <term><filename>zImage, uImage, bzImage, vmlinux</filename></term>
-        <listitem>
-          <para>The compiled Linux kernel.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="System.map">
-        <term><filename>System.map</filename></term>
-        <listitem>
-          <para>A list of addresses and symbols; it maps the entry points
-          and addresses of all the functions and data structures in the
-          kernel.  Useful for debugging, sometimes.</para>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-  </sect2>
-
-</sect1>
Index: BOOK/bootable/x86-chapter.xml
===================================================================
--- BOOK/bootable/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootable/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<chapter id="chapter-bootable" xreflabel="Making the CLFS System Bootable">
+  <?dbhtml dir="bootable"?>
+  <?dbhtml filename="chapter.html"?>
+
+  <title>Making the CLFS System Bootable</title>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/fstab.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/kernel.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/chowning.xml"/>
+
+</chapter>
Index: BOOK/bootable/x86/kernel.xml
===================================================================
--- BOOK/bootable/x86/kernel.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootable/x86/kernel.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-bootable-kernel" role="wrap">
+  <?dbhtml filename="kernel.html"?>
+
+  <title>Linux-&linux-version;</title>
+
+  <indexterm zone="ch-bootable-kernel">
+    <primary sortas="a-Linux">Linux</primary>
+  </indexterm>
+
+  <sect2 role="package"><title/>
+    <para>The Linux package contains the Linux kernel.</para>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of the kernel</title>
+
+    <para os="a">Building the kernel involves a few steps&mdash;configuration,
+    compilation, and installation. Read the <filename>README</filename>
+    file in the kernel source tree for alternative methods to the way this
+    book configures the kernel.</para>
+
+    <para os="b">Prepare for compilation by running the following command:</para>
+
+<screen os="c"><userinput>make mrproper</userinput></screen>
+
+    <para os="d">This ensures that the kernel tree is absolutely clean. The
+    kernel team recommends that this command be issued prior to each
+    kernel compilation. Do not rely on the source tree being clean after
+    un-tarring.</para>
+
+    <para os="h">Configure the kernel via a menu-driven interface.
+    Please note that the udev bootscript requires "rtc" and "tmpfs" to be
+    enabled and built into the kernel, not as modules. BLFS has
+    some information regarding particular kernel configuration requirements of
+    packages outside of CLFS at <ulink
+    url="&blfs-root;view/svn/longindex.html#kernel-config-index"/>:</para>
+
+<screen os="i"><userinput>make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}- menuconfig</userinput></screen>
+
+    <para os="j">Alternatively, <command>make oldconfig</command> may be more
+    appropriate in some situations. See the <filename>README</filename>
+    file for more information.</para>
+
+    <para os="k">If desired, skip kernel configuration by copying the kernel
+    config file, <filename>.config</filename>, from the host system
+    (assuming it is available) to the root directory of the unpacked kernel
+    sources. However, we do not recommend this option. It is often better
+    to explore all the configuration menus and create the kernel configuration
+    from scratch.</para>
+
+    <para os="m">Compile the kernel image and modules:</para>
+
+<screen os="n"><userinput>make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}-</userinput></screen>
+
+    <para os="o">If using kernel modules, an
+    <filename>/etc/modprobe.conf</filename> file may be needed.
+    Information pertaining to modules and kernel configuration is
+    located in the kernel documentation in the <filename
+    class="directory">Documentation</filename> directory of the kernel
+    sources tree. Also, <filename>modprobe.conf(5)</filename> may
+    be of interest.</para>
+
+    <para os="p">Be very careful when reading other documentation relating to
+    kernel modules because it usually applies to 2.4.x kernels only. As
+    far as we know, kernel configuration issues specific to Hotplug and
+    Udev are not documented. The problem is that Udev will create a device
+    node only if Hotplug or a user-written script inserts the corresponding
+    module into the kernel, and not all modules are detectable by Hotplug.
+    Note that statements like the one below in the
+    <filename>/etc/modprobe.conf</filename> file do not work with Udev:</para>
+
+<screen os="q"><literal>alias char-major-XXX some-module</literal></screen>
+
+    <para os="r">Because of the complications with Udev and modules,
+    we strongly recommend starting with a completely non-modular kernel
+    configuration, especially if this is the first time using Udev.</para>
+
+    <para os="s">Install the modules, if the kernel configuration uses
+    them:</para>
+
+<screen os="t"><userinput>make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}- \
+    INSTALL_MOD_PATH=${CLFS} modules_install</userinput></screen>
+
+    <para os="u">After kernel compilation is complete, additional steps are
+    required to complete the installation. Some files need to be copied to
+    the <filename class="directory">${CLFS}/boot</filename> directory.</para>
+
+    <para os="v">Issue the following command to install the kernel:</para>
+
+<screen><userinput>cp vmlinux ${CLFS}/boot/clfskernel-&linux-version;</userinput></screen>
+
+    <para os="w"><filename>System.map</filename> is a symbol file for the kernel.
+    It maps the function entry points of every function in the kernel API,
+    as well as the addresses of the kernel data structures for the running
+    kernel. Issue the following command to install the map file:</para>
+
+<screen os="w1"><userinput>cp System.map ${CLFS}/boot/System.map-&linux-version;</userinput></screen>
+
+    <para os="x">The kernel configuration file <filename>.config</filename>
+    produced by the <command>make menuconfig</command> step above contains
+    all the configuration selections for the kernel that was just compiled.
+    It is a good idea to keep this file for future reference:</para>
+
+<screen os="y"><userinput>cp .config ${CLFS}/boot/config-&linux-version;</userinput></screen>
+
+    <warning os="z">
+      <para>Some kernel documentation recommends creating a symlink from
+      <filename class="symlink">/usr/src/linux</filename> pointing to the
+      kernel source directory. This is specific to kernels prior to the
+      2.6 series and <emphasis>must not</emphasis> be created on an CLFS
+      system as it can cause problems for packages you may wish to build
+      once your base CLFS system is complete.</para>
+
+      <para>Also, the headers in the system's <filename
+      class="directory">include</filename> directory should
+      <emphasis>always</emphasis> be the ones against which Glibc was
+      compiled (from the Linux-Headers package) and should
+      <emphasis>never</emphasis> be replaced by the kernel headers.</para>
+    </warning>
+
+  </sect2>
+
+  <sect2 id="contents-kernel" role="content">
+    <title>Contents of Linux</title>
+
+    <segmentedlist>
+      <segtitle>Installed files</segtitle>
+
+      <seglistitem>
+        <seg>config-[linux-version], clfskernel-[linux-version],
+        and System.map-[linux-version]</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="config">
+        <term><filename>config-[linux-version]</filename></term>
+        <listitem>
+          <para>Contains all the configuration selections for the kernel</para>
+          <indexterm zone="ch-bootable-kernel config">
+            <primary sortas="e-/boot/config">/boot/config-[linux-version]</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="clfskernel">
+        <term><filename>clfskernel-[linux-version]</filename></term>
+        <listitem>
+          <para>The engine of the Linux system. When turning on the
+          computer, the kernel is the first part of the operating system
+          that gets loaded. It detects and initializes all components of
+          the computer's hardware, then makes these components available
+          as a tree of files to the software and turns a single CPU into
+          a multitasking machine capable of running scores of programs
+          seemingly at the same time.</para>
+          <indexterm zone="ch-bootable-kernel clfskernel">
+            <primary sortas="b-clfskernel">clfskernel-[linux-version]</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="System.map">
+        <term><filename>System.map-[linux-version]</filename></term>
+        <listitem>
+          <para>A list of addresses and symbols; it maps the entry points
+          and addresses of all the functions and data structures in the
+          kernel</para>
+          <indexterm zone="ch-bootable-kernel System.map">
+            <primary sortas="e-/boot/System.map">/boot/System.map-[linux-version]</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>
Index: BOOK/bootscripts/chapter.xml
===================================================================
--- BOOK/bootscripts/chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/bootscripts/chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../general.ent">
   %general-entities;
@@ -14,9 +14,15 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/bootscripts.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/mdev.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/udev-rules.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/usage.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/udev.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/setclock.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/console.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/sysklogd.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/inputrc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/profile.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/inittab.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/hostname.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/hosts.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/symlinks.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/network.xml"/>
 
Index: BOOK/bootscripts/common/bootscripts.xml
===================================================================
--- BOOK/bootscripts/common/bootscripts.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/bootscripts/common/bootscripts.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -26,15 +26,7 @@
     <title>Installation of CLFS-Bootscripts</title>
 
-    <important>
-
-      <para>Unlike other chapters, after installing the bootscripts, do not 
-      delete the bootscripts source directory.  The bootscripts source directory
-      may be needed later.</para>
-
-    </important>
-
     <para>Install the package:</para>
 
-<screen><userinput>make DESTDIR=${CLFS}/targetfs install-bootscripts</userinput></screen>
+<screen><userinput>make DESTDIR=${CLFS} install</userinput></screen>
 
   </sect2>
@@ -47,5 +39,7 @@
 
       <seglistitem>
-        <seg>functions, startup, shutdown, and syslog.</seg>
+        <seg>checkfs, cleanfs, console, functions, halt, ifdown,
+        ifup, localnet, mountfs, mountkernfs, network, rc, reboot, sendsignals,
+        setclock, static, swap, sysklogd, and template.</seg>
       </seglistitem>
     </segmentedlist>
@@ -56,4 +50,42 @@
       <?dbhtml list-presentation="table"?>
 
+      <varlistentry id="checkfs-bootscripts">
+        <term><command>checkfs</command></term>
+        <listitem>
+          <para>Checks the integrity of the file systems before they are
+          mounted (with the exception of journal and network based file
+          systems)</para>
+          <indexterm zone="ch-scripts-bootscripts checkfs-bootscripts">
+            <primary sortas="d-checkfs">checkfs</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="cleanfs-bootscripts">
+        <term><command>cleanfs</command></term>
+        <listitem>
+          <para>Removes files that should not be preserved between reboots,
+          such as those in <filename class="directory">/var/run/</filename>
+          and <filename class="directory">/var/lock/</filename>; it re-creates
+          <filename>/var/run/utmp</filename> and removes the possibly present
+          <filename>/etc/nologin</filename>, <filename>/fastboot</filename>,
+          and <filename>/forcefsck</filename> files</para>
+          <indexterm zone="ch-scripts-bootscripts cleanfs-bootscripts">
+            <primary sortas="d-cleanfs">cleanfs</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="console-bootscripts">
+        <term><command>console</command></term>
+        <listitem>
+          <para>Loads the correct keymap table for the desired keyboard
+          layout; it also sets the screen font</para>
+          <indexterm zone="ch-scripts-bootscripts console-bootscripts">
+            <primary sortas="d-console">console</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
       <varlistentry id="functions-bootscripts">
         <term><command>functions</command></term>
@@ -67,30 +99,159 @@
       </varlistentry>
 
-      <varlistentry id="startup-bootscripts">
-        <term><command>startup</command></term>
-        <listitem>
-          <para>Performs all startup script operations</para>
-          <indexterm zone="ch-scripts-bootscripts startup-bootscripts">
-            <primary sortas="d-startup">startup</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="shutdown-bootscripts">
-        <term><command>shutdown</command></term>
-        <listitem>
-          <para>Performs all shutdown operations</para>
-          <indexterm zone="ch-scripts-bootscripts shutdown-bootscripts">
-            <primary sortas="d-shutdown">shutdown</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="syslog-bootscripts">
-        <term><command>syslog</command></term>
-        <listitem>
-          <para>Starts and stops the system log daemons</para>
-          <indexterm zone="ch-scripts-bootscripts syslog-bootscripts">
-            <primary sortas="d-syslog">syslog</primary>
+      <varlistentry id="halt-bootscripts">
+        <term><command>halt</command></term>
+        <listitem>
+          <para>Halts the system</para>
+          <indexterm zone="ch-scripts-bootscripts halt-bootscripts">
+            <primary sortas="d-halt">halt</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="ifdown-bootscripts">
+        <term><command>ifdown</command></term>
+        <listitem>
+          <para>Assists the network script with stopping network devices</para>
+          <indexterm zone="ch-scripts-bootscripts ifdown-bootscripts">
+            <primary sortas="d-ifdown">ifdown</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="ifup-bootscripts">
+        <term><command>ifup</command></term>
+        <listitem>
+          <para>Assists the network script with starting network devices</para>
+          <indexterm zone="ch-scripts-bootscripts ifup-bootscripts">
+            <primary sortas="d-ifup">ifup</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="localnet-bootscripts">
+        <term><command>localnet</command></term>
+        <listitem>
+          <para>Sets up the system's hostname and local loopback device</para>
+          <indexterm zone="ch-scripts-bootscripts localnet-bootscripts">
+            <primary sortas="d-localnet">localnet</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="mountfs-bootscripts">
+        <term><command>mountfs</command></term>
+        <listitem>
+          <para>Mounts all file systems, except ones that are marked
+          <emphasis>noauto</emphasis> or are network based</para>
+          <indexterm zone="ch-scripts-bootscripts mountfs-bootscripts">
+            <primary sortas="d-mountfs">mountfs</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="mountkernfs-bootscripts">
+        <term><command>mountkernfs</command></term>
+        <listitem>
+          <para>Mounts virtual kernel file systems, such as
+          <systemitem class="filesystem">proc</systemitem></para>
+          <indexterm zone="ch-scripts-bootscripts mountkernfs-bootscripts">
+            <primary sortas="d-mountkernfs">mountkernfs</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="network-bootscripts">
+        <term><command>network</command></term>
+        <listitem>
+          <para>Sets up network interfaces, such as network cards, and sets up
+          the default gateway (where applicable)</para>
+          <indexterm zone="ch-scripts-bootscripts network-bootscripts">
+            <primary sortas="d-network">network</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="rc-bootscripts">
+        <term><command>rc</command></term>
+        <listitem>
+          <para>The master run-level control script; it is responsible for
+          running all the other bootscripts one-by-one, in a sequence
+          determined by the name of the symbolic links being processed</para>
+          <indexterm zone="ch-scripts-bootscripts rc-bootscripts">
+            <primary sortas="d-rc">rc</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="reboot-bootscripts">
+        <term><command>reboot</command></term>
+        <listitem>
+          <para>Reboots the system</para>
+          <indexterm zone="ch-scripts-bootscripts reboot-bootscripts">
+            <primary sortas="d-reboot">reboot</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="sendsignals-bootscripts">
+        <term><command>sendsignals</command></term>
+        <listitem>
+          <para>Makes sure every process is terminated before the system reboots
+          or halts</para>
+          <indexterm zone="ch-scripts-bootscripts sendsignals-bootscripts">
+            <primary sortas="d-sendsignals">sendsignals</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="setclock-bootscripts">
+        <term><command>setclock</command></term>
+        <listitem>
+          <para>Resets the kernel clock to local time in case the hardware clock
+          is not set to UTC time</para>
+          <indexterm zone="ch-scripts-bootscripts setclock-bootscripts">
+            <primary sortas="d-setclock">setclock</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="static-bootscripts">
+        <term><command>static</command></term>
+        <listitem>
+          <para>Provides the functionality needed to assign a static Internet
+          Protocol (IP) address to a network interface</para>
+          <indexterm zone="ch-scripts-bootscripts static-bootscripts">
+            <primary sortas="d-static">static</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="swap-bootscripts">
+        <term><command>swap</command></term>
+        <listitem>
+          <para>Enables and disables swap files and partitions</para>
+          <indexterm zone="ch-scripts-bootscripts swap-bootscripts">
+            <primary sortas="d-swap">swap</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="sysklogd-bootscripts">
+        <term><command>sysklogd</command></term>
+        <listitem>
+          <para>Starts and stops the system and kernel log daemons</para>
+          <indexterm zone="ch-scripts-bootscripts sysklogd-bootscripts">
+            <primary sortas="d-sysklogd">sysklogd</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="template-bootscripts">
+        <term><command>template</command></term>
+        <listitem>
+          <para>A template to create custom bootscripts for other
+          daemons</para>
+          <indexterm zone="ch-scripts-bootscripts template-bootscripts">
+            <primary sortas="d-template">template</primary>
           </indexterm>
         </listitem>
Index: BOOK/bootscripts/common/console.xml
===================================================================
--- BOOK/bootscripts/common/console.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootscripts/common/console.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-scripts-console">
+  <?dbhtml filename="console.html"?>
+  <title>Configuring the Linux Console</title>
+
+  <indexterm zone="ch-scripts-console">
+    <primary sortas="d-console">console</primary>
+  <secondary>configuring</secondary></indexterm>
+
+  <para>This section discusses how to configure the <command>console</command>
+  bootscript that sets up the keyboard map and the console font. If non-ASCII
+  characters (e.g., the British pound sign and Euro character) will not be
+  used and the keyboard is a U.S. one, skip this section. Without the
+  configuration file, the <command>console</command> bootscript will do
+  nothing.</para>
+
+  <para>The <command>console</command> script reads the
+  <filename>/etc/sysconfig/console</filename> file for configuration
+  information. Decide which keymap and screen font will be used. Various
+  language-specific HOWTO's can also help with this (see <ulink
+  url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. A pre-made
+  <filename>/etc/sysconfig/console</filename> file with known settings for
+  several countries was installed with the CLFS-Bootscripts package, so the
+  relevant section can be uncommented if the country is supported. If still
+  in doubt, look in the <filename class="directory">/lib/kbd</filename>
+  directory for valid keymaps and screen fonts. Read
+  <filename>loadkeys(1)</filename> and <filename>setfont(8)</filename> to
+  determine the correct arguments for these programs. Once decided, create
+  the configuration file with the following command:</para>
+
+<screen><userinput>cat &gt;${CLFS}/etc/sysconfig/console &lt;&lt;"EOF"
+<literal>KEYMAP="<replaceable>[arguments for loadkeys]</replaceable>"
+FONT="<replaceable>[arguments for setfont]</replaceable>"</literal>
+EOF</userinput></screen>
+
+  <para>For example, for Spanish users who also want to use the Euro
+  character (accessible by pressing AltGr+E), the following settings are
+  correct:</para>
+
+<screen><userinput>cat &gt;${CLFS}/etc/sysconfig/console &lt;&lt;"EOF"
+<literal>KEYMAP="es euro2"
+FONT="lat9-16 -u iso01"</literal>
+EOF</userinput></screen>
+
+  <note>
+    <para>The <envar>FONT</envar> line above is correct only for the ISO
+    8859-15 character set. If using ISO 8859-1 and, therefore, a pound sign
+    instead of Euro, the correct <envar>FONT</envar> line would be:</para>
+
+<screen><userinput>FONT="lat1-16"</userinput></screen>
+
+  </note>
+
+    <para>If the <envar>KEYMAP</envar> or <envar>FONT</envar> variable is not
+    set, the <command>console</command> initscript will not run the
+    corresponding program.</para>
+
+    <para>In some keymaps, the Backspace and Delete keys send characters
+    different from ones in the default keymap built into the kernel. This
+    confuses some applications. For example, Emacs displays its help (instead
+    of erasing the character before the cursor) when Backspace is pressed.
+    To check if the keymap in use is affected (this works only for i386
+    keymaps):</para>
+
+<screen><userinput>zgrep '\W14\W' <replaceable>[/path/to/your/keymap]</replaceable></userinput></screen>
+
+  <para>If the keycode 14 is Backspace instead of Delete, create the
+  following keymap snippet to fix this issue:</para>
+
+<screen><userinput>mkdir -p ${CLFS}/etc/kbd &amp;&amp; cat &gt; ${CLFS}/etc/kbd/bs-sends-del &lt;&lt;"EOF"
+<literal>                  keycode  14 = Delete Delete Delete Delete
+              alt keycode  14 = Meta_Delete
+        altgr alt keycode  14 = Meta_Delete
+                  keycode 111 = Remove
+    altgr control keycode 111 = Boot
+      control alt keycode 111 = Boot
+altgr control alt keycode 111 = Boot</literal>
+EOF</userinput></screen>
+
+  <para>Tell the <command>console</command> script to load this
+  snippet after the main keymap:</para>
+
+<screen><userinput>cat &gt;&gt; ${CLFS}/etc/sysconfig/console &lt;&lt;"EOF"
+<literal>KEYMAP_CORRECTIONS="/etc/kbd/bs-sends-del"</literal>
+EOF</userinput></screen>
+
+</sect1>
Index: BOOK/bootscripts/common/hostname.xml
===================================================================
--- BOOK/bootscripts/common/hostname.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/bootscripts/common/hostname.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -9,5 +9,5 @@
   <?dbhtml filename="hostname.html"?>
 
-  <title>Setting Hostname</title>
+  <title>Configuring the localnet Script</title>
 
   <indexterm zone="ch-scripts-hostname">
@@ -15,14 +15,14 @@
   <secondary>configuring</secondary></indexterm>
 
-  <para>Part of the job of the bootscripts is
+  <para>Part of the job of the <command>localnet</command> script is
   setting the system's hostname. This needs to be configured in the
-  <filename>/etc/HOSTNAME</filename> file.</para>
+  <filename>/etc/sysconfig/network</filename> file.</para>
 
-  <para>Create the <filename>HOSTNAME</filename> file
+  <para>Create the <filename>/etc/sysconfig/network</filename> file
   and enter a hostname by running:</para>
 
-  <screen><userinput>echo "<replaceable>[clfs]</replaceable>" &gt; ${CLFS}/targetfs/etc/HOSTNAME</userinput></screen>
+  <screen><userinput>echo "HOSTNAME=<replaceable>[lfs]</replaceable>" &gt; ${CLFS}/etc/sysconfig/network</userinput></screen>
 
-  <para><replaceable>[clfs]</replaceable> needs to be replaced with the
+  <para><replaceable>[lfs]</replaceable> needs to be replaced with the
   name given to the computer. Do not enter the Fully Qualified
   Domain Name (FQDN) here. That information will be put in the
Index: BOOK/bootscripts/common/hosts.xml
===================================================================
--- BOOK/bootscripts/common/hosts.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/bootscripts/common/hosts.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -50,5 +50,5 @@
   <para>Create the  <filename>/etc/hosts</filename> file by running:</para>
 
-<screen><userinput>cat &gt; ${CLFS}/targetfs/etc/hosts &lt;&lt; "EOF"
+<screen><userinput>cat &gt; ${CLFS}/etc/hosts &lt;&lt; "EOF"
 <literal># Begin /etc/hosts (network card version)
 
@@ -69,5 +69,5 @@
   <filename>/etc/hosts</filename> file by running:</para>
 
-<screen><userinput>cat &gt; ${CLFS}/targetfs/etc/hosts &lt;&lt; "EOF"
+<screen><userinput>cat &gt; ${CLFS}/etc/hosts &lt;&lt; "EOF"
 <literal># Begin /etc/hosts (no network card version)
 
Index: OK/bootscripts/common/inittab.xml
===================================================================
--- BOOK/bootscripts/common/inittab.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,45 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-scripts-inittab">
-  <?dbhtml filename="inittab.html"?>
-
-  <title>Creating /etc/inittab</title>
-
-  <indexterm zone="ch-scripts-inittab">
-    <primary sortas="e-/etc/inittab">/etc/inittab</primary>
-  </indexterm>
-
-  <para>Is the file that specifices how to boot and shutdown a system.</para>
-
-  <para os="a">Now we will create the inittab file for use with our system,
-	  please note that if you'd like a login prompt on a serial console to
-	  uncomment enabling of this and verify the serial port device name as
-	  many embedded boards have serial ports which are not named 'ttyS':</para>
-
-<screen os="b"><userinput>cat &gt; ${CLFS}/targetfs/etc/inittab&lt;&lt; "EOF"
-<literal># /etc/inittab
-
-::sysinit:/etc/rc.d/startup
-
-tty1::respawn:/sbin/getty 38400 tty1
-tty2::respawn:/sbin/getty 38400 tty2
-tty3::respawn:/sbin/getty 38400 tty3
-tty4::respawn:/sbin/getty 38400 tty4
-tty5::respawn:/sbin/getty 38400 tty5
-tty6::respawn:/sbin/getty 38400 tty6
-
-# Put a getty on the serial line (for a terminal).  Uncomment this line if
-# you're using a serial console on ttyS0, or uncomment and adjust it if using a
-# serial console on a different serial port.
-#::respawn:/sbin/getty -L ttyS0 115200 vt100
-
-::shutdown:/etc/rc.d/shutdown
-::ctrlaltdel:/sbin/reboot</literal>
-EOF</userinput></screen>
-
-</sect1>
Index: BOOK/bootscripts/common/inputrc.xml
===================================================================
--- BOOK/bootscripts/common/inputrc.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootscripts/common/inputrc.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+   <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-scripts-inputrc">
+  <?dbhtml filename="inputrc.html"?>
+
+  <title>Creating the /etc/inputrc File</title>
+
+  <indexterm zone="ch-scripts-inputrc">
+    <primary sortas="e-/etc/inputrc">/etc/inputrc</primary>
+  </indexterm>
+
+  <para>The <filename>/etc/inputrc</filename> file deals with mapping
+  the keyboard for specific situations. This file is the start-up file
+  used by Readline &mdash; the input-related library &mdash; used by Bash
+  and most other shells.</para>
+
+  <para>Most people do not need user-specific keyboard mappings so
+  the command below creates a global <filename>/etc/inputrc</filename>
+  used by everyone who logs in. If you later decide you need to override
+  the defaults on a per-user basis, you can create a
+  <filename>.inputrc</filename> file in the user's home directory with
+  the modified mappings.</para>
+
+  <para>For more information on how to edit the <filename>inputrc</filename>
+  file, see <command>info bash</command> under the <emphasis>Readline Init
+  File</emphasis> section. <command>info readline</command> is also a good
+  source of information.</para>
+
+  <para>Below is a generic global <filename>inputrc</filename> along
+  with comments to explain what the various options do. Note that
+  comments cannot be on the same line as commands. Create the file
+  using the following command:</para>
+
+<screen><userinput>cat &gt; ${CLFS}/etc/inputrc &lt;&lt; "EOF"
+<literal># Begin /etc/inputrc
+# Modified by Chris Lynn &lt;roryo@roryo.dynup.net&gt;
+
+# Allow the command prompt to wrap to the next line
+set horizontal-scroll-mode Off
+
+# Enable 8bit input
+set meta-flag On
+set input-meta On
+
+# Turns off 8th bit stripping
+set convert-meta Off
+
+# Keep the 8th bit for display
+set output-meta On
+
+# none, visible or audible
+set bell-style none
+
+# All of the following map the escape sequence of the
+# value contained inside the 1st argument to the
+# readline specific functions
+
+"\eOd": backward-word
+"\eOc": forward-word
+
+# for linux console
+"\e[1~": beginning-of-line
+"\e[4~": end-of-line
+"\e[5~": beginning-of-history
+"\e[6~": end-of-history
+"\e[3~": delete-char
+"\e[2~": quoted-insert
+
+# for xterm
+"\eOH": beginning-of-line
+"\eOF": end-of-line
+
+# for Konsole
+"\e[H": beginning-of-line
+"\e[F": end-of-line
+
+# End /etc/inputrc</literal>
+EOF</userinput></screen>
+
+</sect1>
Index: BOOK/bootscripts/common/introduction.xml
===================================================================
--- BOOK/bootscripts/common/introduction.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/bootscripts/common/introduction.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
Index: OK/bootscripts/common/mdev.xml
===================================================================
--- BOOK/bootscripts/common/mdev.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,145 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-scripts-mdev">
-  <?dbhtml filename="mdev.html"?>
-
-  <title>Configure mdev</title>
-
-  <indexterm zone="ch-scripts-mdev">
-    <primary sortas="a-mdev">mdev</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>Is a BusyBox replacement of udev. With a different rule
-    base.</para>
-
-  </sect2>
-
-  <sect2>
-    <title>Creating /etc/mdev.conf</title>
-
-    <indexterm zone="ch-scripts-mdev">
-      <primary sortas="e-/etc/mdev.conf">/etc/mdev.conf</primary>
-    </indexterm>
-
-<para os="a">Now we will create the mdev.conf file for use with our system:</para>
-
-<screen os="b"><?dbfo keep-together="auto"?><userinput>cat &gt; ${CLFS}/targetfs/etc/mdev.conf&lt;&lt; "EOF"
-<literal># /etc/mdev/conf
-
-# Devices:
-# Syntax: %s %d:%d %s
-# devices user:group mode
-
-# null does already exist; therefore ownership has to be changed with command
-null	root:root 0666	@chmod 666 $MDEV
-zero	root:root 0666
-grsec	root:root 0660
-full	root:root 0666
-
-random	root:root 0666
-urandom	root:root 0444
-hwrandom root:root 0660
-
-# console does already exist; therefore ownership has to be changed with command
-#console	root:tty 0600	@chmod 600 $MDEV &amp;&amp; mkdir -p vc &amp;&amp; ln -sf ../$MDEV vc/0
-console root:tty 0600 @mkdir -pm 755 fd &amp;&amp; cd fd &amp;&amp; for x in 0 1 2 3 ; do ln -sf /proc/self/fd/$x $x; done
-
-fd0	root:floppy 0660
-kmem	root:root 0640
-mem	root:root 0640
-port	root:root 0640
-ptmx	root:tty 0666
-
-# ram.*
-ram([0-9]*)	root:disk 0660 >rd/%1
-loop([0-9]+)	root:disk 0660 >loop/%1
-sd[a-z].*	root:disk 0660 */lib/mdev/usbdisk_link
-hd[a-z][0-9]*	root:disk 0660 */lib/mdev/ide_links
-md[0-9]		root:disk 0660
-
-tty		root:tty 0666
-tty[0-9]	root:root 0600
-tty[0-9][0-9]	root:tty 0660
-ttyS[0-9]*	root:tty 0660
-pty.*		root:tty 0660
-vcs[0-9]*	root:tty 0660
-vcsa[0-9]*	root:tty 0660
-
-ttyLTM[0-9]	root:dialout 0660 @ln -sf $MDEV modem
-ttySHSF[0-9]	root:dialout 0660 @ln -sf $MDEV modem
-slamr		root:dialout 0660 @ln -sf $MDEV slamr0
-slusb		root:dialout 0660 @ln -sf $MDEV slusb0
-fuse		root:root  0666
-
-# dri device
-card[0-9]	root:video 0660 =dri/
-
-# alsa sound devices and audio stuff
-pcm.*		root:audio 0660	=snd/
-control.*	root:audio 0660	=snd/
-midi.*		root:audio 0660	=snd/
-seq		root:audio 0660	=snd/
-timer		root:audio 0660	=snd/
-
-adsp		root:audio 0660 >sound/
-audio		root:audio 0660 >sound/
-dsp		root:audio 0660 >sound/
-mixer		root:audio 0660 >sound/
-sequencer.*	root:audio 0660 >sound/
-
-# misc stuff
-agpgart		root:root 0660  >misc/
-psaux		root:root 0660  >misc/
-rtc		root:root 0664  >misc/
-
-# input stuff
-event[0-9]+	root:root 0640 =input/
-mice		root:root 0640 =input/
-mouse[0-9]	root:root 0640 =input/
-ts[0-9]		root:root 0600 =input/
-
-# v4l stuff
-vbi[0-9]	root:video 0660 >v4l/
-video[0-9]	root:video 0660 >v4l/
-
-# dvb stuff
-dvb.*		root:video 0660 */lib/mdev/dvbdev
-
-# load drivers for usb devices
-usbdev[0-9].[0-9]	root:root 0660 */lib/mdev/usbdev
-usbdev[0-9].[0-9]_.*	root:root 0660
-
-# net devices
-tun[0-9]*	root:root 0600 =net/
-tap[0-9]*	root:root 0600 =net/
-
-# zaptel devices
-zap(.*)		root:dialout 0660 =zap/%1
-dahdi!(.*)	root:dialout 0660 =dahdi/%1
-
-# raid controllers
-cciss!(.*)	root:disk 0660 =cciss/%1
-ida!(.*)	root:disk 0660 =ida/%1
-rd!(.*)		root:disk 0660 =rd/%1
-
-sr[0-9]		root:cdrom 0660 @ln -sf $MDEV cdrom 
-
-# hpilo
-hpilo!(.*)	root:root 0660 =hpilo/%1
-
-# xen stuff
-xvd[a-z]	root:root 0660 */lib/mdev/xvd_links</literal>
-EOF</userinput></screen>
-
-  </sect2>
-
-</sect1>
-
Index: BOOK/bootscripts/common/network.xml
===================================================================
--- BOOK/bootscripts/common/network.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/bootscripts/common/network.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -15,75 +15,188 @@
   <secondary>configuring</secondary></indexterm>
 
+  <para>This section only applies if a network card is to be
+  configured.</para>
+
+  <para>If a network card will not be used, there is likely no need to
+  create any configuration files relating to network cards. If that is
+  the case, remove the <filename class="symlink">network</filename>
+  symlinks from all run-level directories (<filename
+  class="directory">/etc/rc.d/rc*.d</filename>).</para>
+
+  <sect2>
+    <title>Creating stable names for network interfaces</title>
+
+    <para>Instructions in this section are optional if you have only one
+    network card.</para>
+
+    <para>With Udev and modular network drivers, the network interface numbering
+    is not persistent across reboots by default, because the drivers are loaded
+    in parallel and, thus, in random order. For example, on a computer having
+    two network cards made by Intel and Realtek, the network card manufactured
+    by Intel may become <filename class="devicefile">eth0</filename> and the
+    Realtek card becomes  <filename class="devicefile">eth1</filename>. In some
+    cases, after a reboot the cards get renumbered the other way around. To
+    avoid this, create Udev rules that assign stable names to network cards
+    based on their MAC addresses or bus positions.</para>
+
+    <para>If you are going to use MAC addresses to identify your network
+    cards, find the addresses with the following command:</para>
+
+<screen role="nodump"><userinput>grep -H . /sys/class/net/*/address</userinput></screen>
+
+    <para>For each network card (but not for the loopback interface),
+    invent a descriptive name, such as <quote>realtek</quote>, and create
+    Udev rules similar to the following:</para>
+
+<screen role="nodump"><userinput>cat &gt; /etc/udev/rules.d/26-network.rules &lt;&lt; EOF
+<literal>ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="<replaceable>00:e0:4c:12:34:56</replaceable>", \
+    NAME="<replaceable>realtek</replaceable>"
+ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="<replaceable>00:a0:c9:78:9a:bc</replaceable>", \
+    NAME="<replaceable>intel</replaceable>"</literal>
+EOF</userinput></screen>
+
+<!-- Yes, I know that VLANs are beyond BLFS. This is not the reason to get them
+     incorrect by default when every distro does this right. -->
+
+    <note>
+      <para>Although the examples in this book work properly, be aware
+      that Udev does not recognize the backslash for line continuation.
+      If modifying Udev rules with an editor, be sure to leave each rule
+      on one physical line.</para>
+    </note>
+
+    <para>If you are going to use the bus position as a key, create
+    Udev rules similar to the following:</para>
+
+<screen role="nodump"><userinput>cat &gt; /etc/udev/rules.d/26-network.rules &lt;&lt; EOF
+<literal>ACTION=="add", SUBSYSTEM=="net", BUS=="<replaceable>pci</replaceable>", ID=="<replaceable>0000:00:0c.0</replaceable>", \
+    NAME="<replaceable>realtek</replaceable>"
+ACTION=="add", SUBSYSTEM=="net", BUS=="<replaceable>pci</replaceable>", ID=="<replaceable>0000:00:0d.0</replaceable>", \
+    NAME="<replaceable>intel</replaceable>"</literal>
+EOF</userinput></screen>
+
+    <para>These rules will always rename the network cards to
+    <quote>realtek</quote> and <quote>intel</quote>, independently
+    of the original numbering provided by the kernel (i.e.: the original
+    <quote>eth0</quote> and <quote>eth1</quote> interfaces will no longer
+    exist, unless you put such <quote>descriptive</quote> names in the NAME
+    key). Use the descriptive names from the Udev rules instead
+    of <quote>eth0</quote> in the network interface configuration files
+    below.</para>
+
+    <para>Note that the rules above don't work for every setup. For example,
+    MAC-based rules break when bridges or VLANs are used, because bridges and
+    VLANs have the same MAC address as the network card. One wants to rename
+    only the network card interface, not the bridge or VLAN interface, but the
+    example rule matches both. If you use such virtual interfaces, you have two
+    potential solutions. One is to add the DRIVER=="?*" key after
+    SUBSYSTEM=="net" in MAC-based rules which will stop matching the virtual
+    interfaces.  This is known to fail with some older Ethernet cards because
+    they don't have the DRIVER variable in the uevent and thus the rule does
+    not match with such cards. Another solution is to switch to rules that use
+    the bus position as a key.</para>
+
+    <para>The second known non-working case is with wireless cards using the
+    MadWifi or HostAP drivers, because they create at least two interfaces with
+    the same MAC address and bus position. For example, the Madwifi driver
+    creates both an athX and a wifiX interface where X is a digit.  To
+    differentiate these interfaces, add an appropriate KERNEL parameter such as
+    KERNEL=="ath*" after SUBSYSTEM=="net".</para>
+
+    <para>There may be other cases where the rules above don't work. Currently,
+    bugs on this topic are still being reported to Linux distributions, and no
+    solution that covers every case is available.</para>
+
+  </sect2>
+
   <sect2>
     <title>Creating Network Interface Configuration Files</title>
 
-    <para>Which interfaces are brought up and down by the network utilities
-      depends on the files and directories in the
-      <filename class="directory">/etc/network</filename> directory.  The
-      <filename>interfaces</filename> file should contain a
-      description of the interfaces, as done by Debian, and each of the
-      directories contain scripts for actions to perform on each type of network
-      event.</para>
-
-    <para>The following command creates the required directories and the
-      <filename>interfaces</filename> file, assuming DHCP will be used for
-      eth0:</para>
-
-<screen><userinput>mkdir -pv ${CLFS}/targetfs/etc/network/if-{post-{up,down},pre-{up,down},up,down}.d
-mkdir -pv ${CLFS}/targetfs/usr/share/udhcpc
-
-cat &gt; ${CLFS}/targetfs/etc/network/interfaces &lt;&lt; "EOF"
-<literal>auto eth0
-iface eth0 inet dhcp</literal>
-EOF</userinput></screen>
-
-    <para>For DHCP to work properly with udhcpc, the BusyBox dhcp client, a
-      configuration script is needed.  Create a simple script to assign the
-      provided DHCP address and update <filename>/etc/resolv.conf</filename>:</para>
-
-<screen><userinput>cat &gt; ${CLFS}/targetfs/usr/share/udhcpc/default.script &lt;&lt; "EOF"
-<literal>#!/bin/sh
-# udhcpc Interface Configuration
-# Based on http://lists.debian.org/debian-boot/2002/11/msg00500.html
-# udhcpc script edited by Tim Riker &lt;Tim@Rikers.org&gt;
-
-[ -z "$1" ] &amp;&amp; echo "Error: should be called from udhcpc" &amp;&amp; exit 1
-
-RESOLV_CONF="/etc/resolv.conf"
-[ -n "$broadcast" ] &amp;&amp; BROADCAST="broadcast $broadcast"
-[ -n "$subnet" ] &amp;&amp; NETMASK="netmask $subnet"
-
-case "$1" in
-	deconfig)
-		/sbin/ifconfig $interface 0.0.0.0
-		;;
-
-	renew|bound)
-		/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
-
-		if [ -n "$router" ] ; then
-			while route del default gw 0.0.0.0 dev $interface ; do
-				true
-			done
-
-			for i in $router ; do
-				route add default gw $i dev $interface
-			done
-		fi
-
-		echo -n &gt; $RESOLV_CONF
-		[ -n "$domain" ] &amp;&amp; echo search $domain &gt;&gt; $RESOLV_CONF
-		for i in $dns ; do
-			echo nameserver $i &gt;&gt; $RESOLV_CONF
-		done
-		;;
-esac
-
-exit 0
-</literal>EOF
-
-chmod +x ${CLFS}/targetfs/usr/share/udhcpc/default.script</userinput></screen>
+    <para>Which interfaces are brought up and down by the network script
+    depends on the files and directories in the <filename
+    class="directory">/etc/sysconfig/network-devices</filename> hierarchy.
+    This directory should contain a sub-directory for each interface to be
+    configured, such as <filename>ifconfig.xyz</filename>, where
+    <quote>xyz</quote> is a network interface name. Inside this directory
+    would be files defining the attributes to this interface, such as its IP
+    address(es), subnet masks, and so forth.</para>
+
+    <para>The following command creates a sample <filename>ipv4</filename>
+    file for the <emphasis>eth0</emphasis> device:</para>
+
+<screen><userinput>cd /etc/sysconfig/network-devices &amp;&amp;
+mkdir -v ifconfig.eth0 &amp;&amp;
+cat &gt; ifconfig.eth0/ipv4 &lt;&lt; "EOF"
+<literal>ONBOOT=yes
+SERVICE=ipv4-static
+IP=192.168.1.1
+GATEWAY=192.168.1.2
+PREFIX=24
+BROADCAST=192.168.1.255</literal>
+EOF</userinput></screen>
+
+    <para>The values of these variables must be changed in every file to match
+    the proper setup. If the <envar>ONBOOT</envar> variable is set to
+    <quote>yes</quote> the network script will bring up the Network Interface
+    Card (NIC) during booting of the system. If set to anything but
+    <quote>yes</quote> the NIC will be ignored by the network script and not
+    be brought up.</para>
+
+    <para>The <envar>SERVICE</envar> variable defines the method used for
+    obtaining the IP address. The CLFS-Bootscripts package has a modular IP
+    assignment format, and creating additional files in the <filename
+    class="directory">/etc/sysconfig/network-devices/services</filename>
+    directory allows other IP assignment methods. This is commonly used for
+    Dynamic Host Configuration Protocol (DHCP), which is addressed in the
+    BLFS book.</para>
+
+    <para>The <envar>GATEWAY</envar> variable should contain the default
+    gateway IP address, if one is present. If not, then comment out the
+    variable entirely.</para>
+
+    <para>The <envar>PREFIX</envar> variable needs to contain the number of
+    bits used in the subnet. Each octet in an IP address is 8 bits. If the
+    subnet's netmask is 255.255.255.0, then it is using the first three octets
+    (24 bits) to specify the network number. If the netmask is 255.255.255.240,
+    it would be using the first 28 bits.  Prefixes longer than 24 bits are
+    commonly used by DSL and cable-based Internet Service Providers (ISPs).
+    In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the
+    <envar>PREFIX</envar> variable according to your specific subnet.</para>
 
   </sect2>
 
+  <sect2 id="resolv.conf">
+    <title>Creating the /etc/resolv.conf File</title>
+
+    <indexterm zone="resolv.conf">
+      <primary sortas="e-/etc/resolv.conf">/etc/resolv.conf</primary>
+    </indexterm>
+
+    <para>If the system is going to be connected to the Internet, it will
+    need some means of Domain Name Service (DNS) name resolution to
+    resolve Internet domain names to IP addresses, and vice versa. This is
+    best achieved by placing the IP address of the DNS server, available
+    from the ISP or network administrator, into
+    <filename>/etc/resolv.conf</filename>. Create the file by running the
+    following:</para>
+
+<screen><userinput>cat &gt; /etc/resolv.conf &lt;&lt; "EOF"
+<literal># Begin /etc/resolv.conf
+
+domain <replaceable>[Your Domain Name]</replaceable>
+nameserver <replaceable>[IP address of your primary nameserver]</replaceable>
+nameserver <replaceable>[IP address of your secondary nameserver]</replaceable>
+
+# End /etc/resolv.conf</literal>
+EOF</userinput></screen>
+
+    <para>Replace <replaceable>[IP address of the nameserver]</replaceable>
+    with the IP address of the DNS most appropriate for the setup. There will
+    often be more than one entry (requirements demand secondary servers for
+    fallback capability). If you only need or want one DNS server, remove the
+    second <emphasis>nameserver</emphasis> line from the file. The IP address
+    may also be a router on the local network.</para>
+
+  </sect2>
+
 </sect1>
Index: BOOK/bootscripts/common/profile.xml
===================================================================
--- BOOK/bootscripts/common/profile.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/bootscripts/common/profile.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -7,7 +7,6 @@
 
 <sect1 id="ch-scripts-profile">
+  <title>The Bash Shell Startup Files</title>
   <?dbhtml filename="profile.html"?>
-
-  <title>Creating /etc/profile</title>
 
   <indexterm zone="ch-scripts-profile">
@@ -15,30 +14,153 @@
   </indexterm>
 
-  <para>Is the file that specifices how your environment will function.</para>
+  <para>The shell program <command>/bin/bash</command> (hereafter
+  referred to as <quote>the shell</quote>) uses a collection of startup
+  files to help create an environment to run in. Each file has a
+  specific use and may affect login and interactive environments
+  differently. The files in the <filename
+  class="directory">/etc</filename> directory provide global settings.
+  If an equivalent file exists in the home directory, it may override
+  the global settings.</para>
 
-  <para os="a">Now we will create the profile file for use with our system:</para>
+  <para>An interactive login shell is started after a successful login,
+  using <command>/bin/login</command>, by reading the
+  <filename>/etc/passwd</filename> file. An interactive non-login shell
+  is started at the command-line (e.g.,
+  <prompt>[prompt]$</prompt><command>/bin/bash</command>). A
+  non-interactive shell is usually present when a shell script is
+  running. It is non-interactive because it is processing a script and
+  not waiting for user input between commands.</para>
 
-<screen os="b"><userinput>cat &gt; ${CLFS}/targetfs/etc/profile &lt;&lt; "EOF"
-<literal># /etc/profile
+  <para>For more information, see <command>info bash</command> under the
+  <emphasis>Bash Startup Files and Interactive Shells</emphasis> section.</para>
 
-# Set the initial path
-export PATH=/bin:/usr/bin
+  <para>The files <filename>/etc/profile</filename> and
+  <filename>~/.bash_profile</filename> are read when the shell is
+  invoked as an interactive login shell.</para>
 
-if [ `id -u` -eq 0 ] ; then
-        PATH=/bin:/sbin:/usr/bin:/usr/sbin
-        unset HISTFILE
-fi
+  <para>The base <filename>/etc/profile</filename> below sets some
+  environment variables necessary for native language support. Setting
+  them properly results in:</para>
 
-# Setup some environment variables.
-export USER=`id -un`
-export LOGNAME=$USER
-export HOSTNAME=`/bin/hostname`
-export HISTSIZE=1000
-export HISTFILESIZE=1000
-export PAGER='/bin/more '
-export EDITOR='/bin/vi'
+  <itemizedlist>
+    <listitem>
+      <para>The output of programs translated into the native language</para>
+    </listitem>
+    <listitem>
+      <para>Correct classification of characters into letters, digits and
+      other classes. This is necessary for <command>bash</command> to
+      properly accept non-ASCII characters in command lines in non-English
+      locales</para>
+    </listitem>
+    <listitem>
+      <para>The correct alphabetical sorting order for the country</para>
+    </listitem>
+    <listitem>
+      <para>Appropriate default paper size</para>
+    </listitem>
+    <listitem>
+      <para>Correct formatting of monetary, time, and date values</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>This script also sets the <envar>INPUTRC</envar> environment variable
+  that makes Bash and Readline use the <filename>/etc/inputrc</filename> file
+  created earlier.</para>
+
+  <para>Replace <replaceable>[ll]</replaceable> below with the
+  two-letter code for the desired language (e.g., <quote>en</quote>) and
+  <replaceable>[CC]</replaceable> with the two-letter code for the
+  appropriate country (e.g., <quote>GB</quote>).
+  <replaceable>[charmap]</replaceable> should be replaced with the
+  canonical charmap for your chosen locale.</para>
+
+  <para>The list of all locales supported by Glibc can be obtained by running
+  the following command:</para>
+
+<screen role="nodump"><userinput>locale -a</userinput></screen>
+
+  <para>Locales can have a number of synonyms, e.g. <quote>ISO-8859-1</quote>
+  is also referred to as <quote>iso8859-1</quote> and <quote>iso88591</quote>.
+  Some applications cannot handle the various synonyms correctly, so it is
+  safest to choose the canonical name for a particular locale. To determine
+  the canonical name, run the following command, where <replaceable>[locale
+  name]</replaceable> is the output given by <command>locale -a</command> for
+  your preferred locale (<quote>en_GB.iso88591</quote> in our example).</para>
+
+<screen role="nodump"><userinput>LC_ALL=<replaceable>[locale name]</replaceable> locale charmap</userinput></screen>
+
+  <para>For the <quote>en_GB.iso88591</quote> locale, the above command
+  will print:</para>
+
+<screen><computeroutput>ISO-8859-1</computeroutput></screen>
+
+  <para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>.
+  It is important that the locale found using the heuristic above is tested prior
+  to it being added to the Bash startup files:</para>
+
+<screen role="nodump"><userinput>LC_ALL=[locale name] locale country
+LC_ALL=[locale name] locale language
+LC_ALL=[locale name] locale charmap
+LC_ALL=[locale name] locale int_curr_symbol
+LC_ALL=[locale name] locale int_prefix</userinput></screen>
+
+  <para>The above commands should print the country and language names, the
+  character encoding used by the locale, the local currency and the prefix
+  to dial before the telephone number in order to get into the country. If
+  any of the commands above fail with a message similar to the one shown
+  below, this means that your locale was either not installed in Chapter 6
+  or is not supported by the default installation of Glibc.</para>
+
+<screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen>
+
+  <para>If this happens, you should either install the desired locale using
+  the <command>localedef</command> command, or consider choosing a different
+  locale. Further instructions assume that there are no such error messages
+  from Glibc.</para>
+
+  <para>Some packages beyond CLFS may also lack support for your chosen locale.
+  One example is the X library (part of the X Window System), which outputs
+  the following error message:</para>
+
+<screen><computeroutput>Warning: locale not supported by Xlib, locale set to C</computeroutput></screen>
+
+  <para>Sometimes it is possible to fix this by removing the charmap part of
+  the locale specification, as long as that does not change the character map
+  that Glibc associates with the locale (this can be checked by running the
+  <command>locale charmap</command> command in both locales). For example,
+  one would have to change &quot;de_DE.ISO-8859-15@euro&quot; to
+  &quot;de_DE@euro&quot; in order to get this locale recognized by Xlib.</para>
+
+  <para>Other packages can also function incorrectly (but may not necessarily
+  display any error messages) if the locale name does not meet their expectations.
+  In those cases, investigating how other Linux distributions support your locale
+  might provide some useful information.</para>
+
+  <para>Once the proper locale settings have been determined, create the
+  <filename>/etc/profile</filename> file:</para>
+
+<screen><userinput>cat &gt; ${CLFS}/etc/profile &lt;&lt; "EOF"
+<literal># Begin /etc/profile
+
+export LANG=<replaceable>[ll]</replaceable>_<replaceable>[CC]</replaceable>.<replaceable>[charmap]</replaceable>
+export INPUTRC=/etc/inputrc
 
 # End /etc/profile</literal>
 EOF</userinput></screen>
 
+  <note>
+    <para>The <quote>C</quote> (default) and <quote>en_US</quote>
+    (the recommended one for United States English users) locales are
+    different.</para>
+  </note>
+
+  <para>Setting the keyboard layout, screen font, and locale-related
+  environment variables are the only internationalization steps needed to
+  support locales that use ordinary single-byte encodings and left-to-right
+  writing direction. More complex cases (including UTF-8 based locales)
+  require additional steps and additional patches because many applications
+  tend to not work properly under such conditions. These steps and patches
+  are not included in the CLFS book and such locales are not yet supported
+  by CLFS.</para>
+
 </sect1>
Index: BOOK/bootscripts/common/setclock.xml
===================================================================
--- BOOK/bootscripts/common/setclock.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootscripts/common/setclock.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-scripts-setclock">
+  <?dbhtml filename="setclock.html"?>
+
+  <title>Configuring the setclock Script</title>
+
+  <indexterm zone="ch-scripts-setclock">
+    <primary sortas="d-setclock">setclock</primary>
+  <secondary>configuring</secondary></indexterm>
+
+  <para os="a">The <command>setclock</command> script reads the time from the
+  hardware clock, also known as the BIOS or the Complementary Metal Oxide
+  Semiconductor (CMOS) clock. If the hardware clock is set to UTC, this
+  script will convert the hardware clock's time to the local time using
+  the <filename>/etc/localtime</filename> file (which tells the
+  <command>hwclock</command> program which timezone the user is in). There
+  is no way to detect whether or not the hardware clock is set to UTC, so
+  this needs to be configured manually.</para>
+
+  <para os="b">If you cannot remember whether or not the hardware clock is set
+  to UTC, find out by running the <userinput>hwclock --localtime
+  --show</userinput> command. This will display what the current time is
+  according to the hardware clock. If this time matches whatever your
+  watch says, then the hardware clock is set to local time. If the output
+  from <command>hwclock</command> is not local time, chances are it is set
+  to UTC time. Verify this by adding or subtracting the proper amount of
+  hours for the timezone to the time shown by <command>hwclock</command>.
+  For example, if you are currently in the MST timezone, which is also
+  known as GMT -0700, add seven hours to the local time.</para>
+
+  <para os="c">Change the value of the <envar>UTC</envar> variable below
+  to a value of <option>0</option> (zero) if the hardware clock
+  is <emphasis>not</emphasis> set to UTC time.</para>
+
+  <para os="d">Create a new file <filename>${CLFS}/etc/sysconfig/clock</filename> by running
+  the following:</para>
+
+<screen><userinput>cat &gt; ${CLFS}/etc/sysconfig/clock &lt;&lt; "EOF"
+<literal># Begin /etc/sysconfig/clock
+
+UTC=1
+
+# End /etc/sysconfig/clock</literal>
+EOF</userinput></screen>
+
+  <para os="e">A good hint explaining how to deal with time on CLFS is available
+  at <ulink url="&hints-root;time.txt"/>. It explains issues such as
+  time zones, UTC, and the <envar>TZ</envar> environment variable.</para>
+
+</sect1>
Index: BOOK/bootscripts/common/symlinks.xml
===================================================================
--- BOOK/bootscripts/common/symlinks.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootscripts/common/symlinks.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-scripts-symlinks">
+  <?dbhtml filename="symlinks.html"?>
+
+  <title>Creating custom symlinks to devices</title>
+
+  <sect2>
+
+    <title>CD-ROM symlinks</title>
+
+    <para>Some software that you may want to install later (e.g., various
+    media players) expect the /dev/cdrom and /dev/dvd symlinks to exist.
+    Also, it may be convenient to put references to those symlinks into
+    <filename>/etc/fstab</filename>. For each of your CD-ROM devices,
+    find the corresponding directory under
+    <filename class="directory">/sys</filename> (e.g., this can be
+    <filename class="directory">/sys/block/hdd</filename>) and
+    run a command similar to the following:</para>
+
+<screen role="nodump"><userinput>udevtest /block/hdd</userinput></screen>
+
+    <para>Look at the lines containing the output of various *_id programs.</para>
+
+    <para>There are two approaches to creating symlinks. The first one is to
+    use the model name and the serial number, the second one is based on the
+    location of the device on the bus. If you are going to use the first
+    approach, create a file similar to the following:</para>
+
+<screen role="nodump"><userinput>cat &gt; ${CLFS}/etc/udev/rules.d/82-cdrom.rules &lt;&lt; EOF
+<literal>
+# Custom CD-ROM symlinks
+SUBSYSTEM=="block", ENV{ID_MODEL}=="SAMSUNG_CD-ROM_SC-148F", \
+    ENV{ID_REVISION}=="PS05", SYMLINK+="cdrom"
+SUBSYSTEM=="block", ENV{ID_MODEL}=="PHILIPS_CDD5301", \
+    ENV{ID_SERIAL}=="5VO1306DM00190", SYMLINK+="cdrom1 dvd"
+</literal>
+EOF</userinput></screen>
+
+    <note>
+      <para>Although the examples in this book work properly, be aware
+      that Udev does not recognize the backslash for line continuation.
+      If modifying Udev rules with an editor, be sure to leave each rule
+      on one physical line.</para>
+    </note>
+
+    <para>This way, the symlinks will stay correct even if you move the drives
+    to different positions on the IDE bus, but the
+    <filename>/dev/cdrom</filename> symlink won't be created if you replace
+    the old SAMSUNG CD-ROM with a new drive.</para>
+<!-- The symlinks in the first approach survive even the transition
+     to libata for IDE drives, but that is not for the book. -->
+
+    <para>The SUBSYSTEM==&quot;block&quot; key is needed in order to avoid
+    matching SCSI generic devices. Without it, in the case with SCSI
+    CD-ROMs, the symlinks will sometimes point to the correct
+    <filename>/dev/srX</filename> devices, and sometimes to
+    <filename>/dev/sgX</filename>, which is wrong.</para>
+
+    <para>The second approach yields:</para>
+
+<screen role="nodump"><userinput>cat &gt; ${CLFS}/etc/udev/rules.d/82-cdrom.rules &lt;&lt; EOF
+<literal>
+# Custom CD-ROM symlinks
+SUBSYSTEM=="block", ENV{ID_TYPE}=="cd", \
+    ENV{ID_PATH}=="pci-0000:00:07.1-ide-0:1", SYMLINK+="cdrom"
+SUBSYSTEM=="block", ENV{ID_TYPE}=="cd", \
+    ENV{ID_PATH}=="pci-0000:00:07.1-ide-1:1", SYMLINK+="cdrom1 dvd"
+</literal>
+EOF</userinput></screen>
+
+    <para>This way, the symlinks will stay correct even if you replace drives
+    with different models, but place them to the old positions on the IDE
+    bus. The ENV{ID_TYPE}==&quot;cd&quot; key makes sure that the symlink
+    disappears if you put something other than a CD-ROM in that position on
+    the bus.</para>
+
+    <para>Of course, it is possible to mix the two approaches.</para>
+
+  </sect2>
+
+  <sect2>
+
+    <title>Dealing with duplicate devices</title>
+
+    <para>As explained in <xref linkend="ch-scripts-udev"/>, the order in
+    which devices with the same function appear in
+    <filename class="directory">/dev</filename> is essentially random.
+    E.g., if you have a USB web camera and a TV tuner, sometimes
+    <filename>/dev/video0</filename> refers to the camera and
+    <filename>/dev/video1</filename> refers to the tuner, and sometimes
+    after a reboot the order changes to the opposite one.
+    For all classes of hardware except sound cards and network cards, this is
+    fixable by creating udev rules for custom persistent symlinks.
+    The case of network cards is covered separately in
+    <xref linkend="ch-scripts-network"/>, and sound card configuration can
+    be found in <ulink url="&blfs-root;">BLFS</ulink>.</para>
+
+    <para>For each of your devices that is likely to have this problem
+    (even if the problem doesn't exist in your current Linux distribution),
+    find the corresponding directory under
+    <filename class="directory">/sys/class</filename> or
+    <filename class="directory">/sys/block</filename>.
+    For video devices, this may be
+    <filename
+    class="directory">/sys/class/video4linux/video<replaceable>X</replaceable></filename>.
+    Figure out the attributes that identify the device uniquely (usually,
+    vendor and product IDs and/or serial numbers work):</para>
+
+<screen role="nodump"><userinput>udevinfo -a -p /sys/class/video4linux/video0</userinput></screen>
+
+    <para>Then write rules that create the symlinks, e.g.:</para>
+
+<screen role="nodump"><userinput>cat &gt; ${CLFS}/etc/udev/rules.d/83-duplicate_devs.rules &lt;&lt; EOF
+<literal>
+# Persistent symlinks for webcam and tuner
+KERNEL=="video*", SYSFS{idProduct}=="1910", SYSFS{idVendor}=="0d81", \
+    SYMLINK+="webcam"
+KERNEL=="video*", SYSFS{device}=="0x036f", SYSFS{vendor}=="0x109e", \
+    SYMLINK+="tvtuner"
+</literal>
+EOF</userinput></screen>
+
+    <para>The result is that <filename>/dev/video0</filename> and
+    <filename>/dev/video1</filename> devices still refer randomly to the tuner
+    and the web camera (and thus should never be used directly), but there are
+    symlinks <filename>/dev/tvtuner</filename> and
+    <filename>/dev/webcam</filename> that always point to the correct
+    device.</para>
+
+    <para>More information on writing Udev rules can be found in
+    <filename>/usr/share/doc/udev-&udev-version;/index.html</filename>.</para>
+
+ </sect2>
+
+</sect1>
Index: BOOK/bootscripts/common/sysklogd.xml
===================================================================
--- BOOK/bootscripts/common/sysklogd.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootscripts/common/sysklogd.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-scripts-sysklogd">
+  <?dbhtml filename="sysklogd.html"?>
+
+  <title>Configuring the sysklogd script</title>
+
+  <indexterm zone="ch-scripts-sysklogd">
+    <primary sortas="d-sysklogd">sysklogd</primary>
+  <secondary>configuring</secondary></indexterm>
+
+  <para>The <filename>sysklogd</filename> script invokes the
+  <command>syslogd</command> program with the <option>-m 0</option> option.
+  This option turns off the periodic timestamp mark that
+  <command>syslogd</command> writes to the log files every 20 minutes by
+  default. If you want to turn on this periodic timestamp mark, edit the
+  <filename>sysklogd</filename> script and make the changes accordingly.
+  See <userinput>man syslogd</userinput> for more information.</para>
+
+</sect1>
Index: BOOK/bootscripts/common/udev-rules.xml
===================================================================
--- BOOK/bootscripts/common/udev-rules.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootscripts/common/udev-rules.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-scripts-udev-rules" role="wrap">
+  <?dbhtml filename="udev-rules.html"?>
+
+  <title>Udev Rules-&udev-cross-lfs-version;</title>
+
+  <indexterm zone="ch-scripts-udev-rules">
+    <primary sortas="a-Udev Rules">Udev Rules</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The Udev Cross-LFS rules package contains the necessary
+    rules set for a basic functional system.</para>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of Udev-Rules</title>
+
+    <para os="a">Install the package:</para>
+
+<screen os="b"><userinput>make DESTDIR=${CLFS} install</userinput></screen>
+
+  </sect2>
+
+  <sect2 id="contents-udev-rules" role="content">
+    <title>Contents of Udev Rules</title>
+
+    <segmentedlist>
+      <segtitle>Installed Rules</segtitle>
+      <segtitle>Installed Programs</segtitle>
+      <segtitle>Installed Bootscripts</segtitle>
+
+      <seglistitem>
+        <seg>05-udev-early.rules, 35-helper.rules, 40-modprobe.rules,
+        50-udev.rules, 55-sound.rules, 60-persistent-disk.rules,
+        61-persistent-input.rules, 90-user.rules, 95-debug.rules,
+        load_floppy_module.sh, show_event_log, udev, and udev_retry</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="z05-udev-early.rules-udev-rules">
+        <term><command>05-udev-early.rules</command></term>
+        <listitem>
+          <para>Rules that are run early in the boot process. These rules check
+          for the ability to do hotplug events connect to the network, and
+          make sure that sysfs is ready before running any other rules.</para>
+          <indexterm zone="ch-scripts-udev-rules z05-udev-early.rules-udev-rules">
+            <primary sortas="d-05-udev-early.rules">05-udev-early.rules</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="z35-helper.rules-udev-rules">
+        <term><command>35-helper.rules</command></term>
+        <listitem>
+          <para>Rules that use helper programs.</para>
+          <indexterm zone="ch-scripts-udev-rules z35-helper.rules-udev-rules">
+            <primary sortas="d-35-helper.rules">35-helper.rules</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="z40-modprobe.rules">
+        <term><command>40-modprobe.rules</command></term>
+        <listitem>
+          <para>Rules that use modprobe to load kernel modules.</para>
+          <indexterm zone="ch-scripts-udev-rules z40-modprobe.rules">
+            <primary sortas="d-40-modprobe.rules">40-modprobe.rules</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="z50-udev.rules">
+        <term><command>50-udev.rules</command></term>
+        <listitem>
+          <para>Creates basic system devices and permissions.</para>
+          <indexterm zone="ch-scripts-udev-rules z50-udev.rules">
+            <primary sortas="d-50-udev.rules">50-udev.rules</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="z55-sound.rules">
+        <term><command>55-sound.rules</command></term>
+        <listitem>
+          <para>Gives proper permissions to audio device and restores sound
+          volumes.</para>
+          <indexterm zone="ch-scripts-udev-rules z55-sound.rules">
+            <primary sortas="d-55-sound.rules">55-sound.rules</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="z60-persistent-disk.rules">
+        <term><command>60-persistent-disk.rules</command></term>
+        <listitem>
+          <para>Allows persistent naming of disk drives.</para>
+          <indexterm zone="ch-scripts-udev-rules z60-persistent-disk.rules">
+            <primary sortas="d-60-persistent-disk.rules">60-persistent-disk.rules</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="z61-persistent-input.rules">
+        <term><command>61-persistent-input.rules</command></term>
+        <listitem>
+          <para>Allows persistent naming of input devices.</para>
+          <indexterm zone="ch-scripts-udev-rules z61-persistent-input.rules">
+            <primary sortas="d-61-persistent-input.rules">61-persistent-input.rules</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="z90-user.rules">
+        <term><command>90-user.rules</command></term>
+        <listitem>
+          <para>Rules defined by the user.</para>
+          <indexterm zone="ch-scripts-udev-rules z90-user.rules">
+            <primary sortas="d-90-user.rules">90-user.rules</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="z95-debug.rules">
+        <term><command>95-debug.rules</command></term>
+        <listitem>
+          <para>Rules for debugging udev.</para>
+          <indexterm zone="ch-scripts-udev-rules z95-debug.rules">
+            <primary sortas="d-95-debug.rules">95-debug.rules</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="load_floppy_module.sh">
+        <term><command>load_floppy_module.sh</command></term>
+        <listitem>
+          <para>Checks to see if a floppy drive exists before loading
+          the floppy drive module into memory.</para>
+          <indexterm zone="ch-scripts-udev-rules load_floppy_module.sh">
+            <primary sortas="d-load_floppy_module.sh">load_floppy_module.sh</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="show_event_log">
+        <term><command>show_event_log</command></term>
+        <listitem>
+          <para>Displays Udev log messages from /var/log/messages.</para>
+          <indexterm zone="ch-scripts-udev-rules show_event_log">
+            <primary sortas="d-show_event_log">show_event_log</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="udev">
+        <term><command>udev</command></term>
+        <listitem>
+          <para>To be Written.</para>
+          <indexterm zone="ch-scripts-udev-rules udev">
+            <primary sortas="d-udev">udev</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>
Index: BOOK/bootscripts/common/udev.xml
===================================================================
--- BOOK/bootscripts/common/udev.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootscripts/common/udev.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,352 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-scripts-udev">
+  <?dbhtml filename="udev.html"?>
+
+  <title>Device and Module Handling on a CLFS System</title>
+
+  <indexterm zone="ch-scripts-udev">
+    <primary sortas="a-Udev">Udev</primary>
+    <secondary>usage</secondary>
+  </indexterm>
+
+  <para>In <xref linkend="chapter-building-system"/>, we installed the Udev
+  package. Before we go into the details regarding how this works,
+  a brief history of previous methods of handling devices is in
+  order.</para>
+
+  <para>Linux systems in general traditionally use a static device creation
+  method, whereby a great many device nodes are created under <filename
+  class="directory">/dev</filename> (sometimes literally thousands of nodes),
+  regardless of whether the corresponding hardware devices actually exist. This
+  is typically done via a <command>MAKEDEV</command> script, which contains a
+  number of calls to the <command>mknod</command> program with the relevant
+  major and minor device numbers for every possible device that might exist in
+  the world.</para>
+
+  <para>Using the Udev method, only those devices which are detected by the
+  kernel get device nodes created for them. Because these device nodes will be
+  created each time the system boots, they will be stored on a <systemitem
+  class="filesystem">tmpfs</systemitem> file system (a virtual file system that
+  resides entirely in system memory). Device nodes do not require much space, so
+  the memory that is used is negligible.</para>
+
+  <sect2>
+    <title>History</title>
+
+    <para>In February 2000, a new filesystem called <systemitem
+    class="filesystem">devfs</systemitem> was merged into the 2.3.46 kernel
+    and was made available during the 2.4 series of stable kernels. Although
+    it was present in the kernel source itself, this method of creating devices
+    dynamically never received overwhelming support from the core kernel
+    developers.</para>
+
+    <para>The main problem with the approach adopted by <systemitem
+    class="filesystem">devfs</systemitem> was the way it handled device
+    detection, creation, and naming. The latter issue, that of device node
+    naming, was perhaps the most critical. It is generally accepted that if
+    device names are allowed to be configurable, then the device naming policy
+    should be up to a system administrator, not imposed on them by any
+    particular developer(s). The <systemitem
+    class="filesystem">devfs</systemitem> file system also suffers from race
+    conditions that are inherent in its design and cannot be fixed without a
+    substantial revision to the kernel. It has also been marked as deprecated
+    due to a lack of recent maintenance.</para>
+
+    <para>With the development of the unstable 2.5 kernel tree, later released
+    as the 2.6 series of stable kernels, a new virtual filesystem called
+    <systemitem class="filesystem">sysfs</systemitem> came to be. The job of
+    <systemitem class="filesystem">sysfs</systemitem> is to export a view of
+    the system's hardware configuration to userspace processes. With this
+    userspace-visible representation, the possibility of seeing a userspace
+    replacement for <systemitem class="filesystem">devfs</systemitem> became
+    much more realistic.</para>
+
+  </sect2>
+
+  <sect2>
+    <title>Udev Implementation</title>
+
+    <sect3>
+      <title>Sysfs</title>
+
+      <para>The <systemitem class="filesystem">sysfs</systemitem> filesystem was
+      mentioned briefly above. One may wonder how <systemitem
+      class="filesystem">sysfs</systemitem> knows about the devices present on
+      a system and what device numbers should be used for them. Drivers that
+      have been compiled into the kernel directly register their objects with
+      <systemitem class="filesystem">sysfs</systemitem> as they are detected by
+      the kernel. For drivers compiled as modules, this registration will happen
+      when the module is loaded. Once the <systemitem
+      class="filesystem">sysfs</systemitem> filesystem is mounted (on <filename
+      class="directory">/sys</filename>), data which the built-in drivers
+      registered with <systemitem class="filesystem">sysfs</systemitem> are
+      available to userspace processes and to <command>udevd</command> for device
+      node creation.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Udev Bootscript</title>
+
+      <para>The <command>S10udev</command> initscript takes care of creating
+      device nodes when Linux is booted. The script unsets the uevent handler
+      from the default of <command>/sbin/hotplug</command>.  This is done
+      because the kernel no longer needs to call out to an external binary.
+      Instead <command>udevd</command> will listen on a netlink socket for
+      uevents that the kernel raises. Next, the bootscript copies any static
+      device nodes that exist in <filename
+      class="directory">/lib/udev/devices</filename> to <filename
+      class="directory">/dev</filename>. This is necessary because some devices,
+      directories, and symlinks are needed before the dynamic device handling
+      processes are available during the early stages of booting a system.
+      Creating static device nodes in <filename
+      class="directory">/lib/udev/devices</filename> also provides an easy
+      workaround for devices that are not supported by the dynamic device
+      handling infrastructure. The bootscript then starts the Udev daemon,
+      <command>udevd</command>, which will act on any uevents it receives.
+      Finally, the bootscript forces the kernel to replay uevents for any
+      devices that have already been registered and then waits for
+      <command>udevd</command> to handle them.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Device Node Creation</title>
+
+      <para>To obtain the right major and minor number for a device, Udev relies
+      on the information provided by <systemitem
+      class="filesystem">sysfs</systemitem> in <filename
+      class="directory">/sys</filename>.  For example,
+      <filename>/sys/class/tty/vcs/dev</filename> contains the string
+      <quote>7:0</quote>. This string is used by <command>udevd</command>
+      to create a device node with major number <emphasis>7</emphasis> and minor
+      <emphasis>0</emphasis>. The names and permissions of the nodes created
+      under the <filename class="directory">/dev</filename> directory are
+      determined by rules specified in the files within the <filename
+      class="directory">/etc/udev/rules.d/</filename> directory. These are
+      numbered in a similar fashion to the CLFS-Bootscripts package. If
+      <command>udevd</command> can't find a rule for the device it is creating,
+      it will default permissions to <emphasis>660</emphasis> and ownership to
+      <emphasis>root:root</emphasis>. Documentation on the syntax of the Udev
+      rules configuration files are available in
+      <filename>/usr/share/doc/udev-&udev-version;/index.html</filename></para>
+
+    </sect3>
+
+    <sect3>
+      <title>Module Loading</title>
+
+      <para>Device drivers compiled as modules may have aliases built into them.
+      Aliases are visible in the output of the <command>modinfo</command>
+      program and are usually related to the bus-specific identifiers of devices
+      supported by a module. For example, the <emphasis>snd-fm801</emphasis>
+      driver supports PCI devices with vendor ID 0x1319 and device ID 0x0801,
+      and has an alias of <quote>pci:v00001319d00000801sv*sd*bc04sc01i*</quote>.
+      For most devices, the bus driver exports the alias of the driver that
+      would handle the device via <systemitem
+      class="filesystem">sysfs</systemitem>. E.g., the
+      <filename>/sys/bus/pci/devices/0000:00:0d.0/modalias</filename> file
+      might contain the string
+      <quote>pci:v00001319d00000801sv00001319sd00001319bc04sc01i00</quote>.
+      The rules that CLFS installs will cause <command>udevd</command> to call
+      out to <command>/sbin/modprobe</command> with the contents of the
+      <envar>MODALIAS</envar> uevent environment variable (that should be the
+      same as the contents of the <filename>modalias</filename> file in sysfs),
+      thus loading all modules whose aliases match this string after wildcard
+      expansion.</para>
+
+      <para>In this example, this means that, in addition to
+      <emphasis>snd-fm801</emphasis>, the obsolete (and unwanted)
+      <emphasis>forte</emphasis> driver will be loaded if it is
+      available. See below for ways in which the loading of unwanted drivers can
+      be prevented.</para>
+
+      <para>The kernel itself is also able to load modules for network
+      protocols, filesystems and NLS support on demand.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Handling Hotpluggable/Dynamic Devices</title>
+
+      <para>When you plug in a device, such as a Universal Serial Bus (USB) MP3
+      player, the kernel recognizes that the device is now connected and
+      generates a uevent. This uevent is then handled by
+      <command>udevd</command> as described above.</para>
+
+    </sect3>
+
+  </sect2>
+
+  <sect2>
+    <title>Problems with Loading Modules and Creating Devices</title>
+
+    <para>There are a few possible problems when it comes to automatically
+    creating device nodes.</para>
+
+    <sect3>
+      <title>A kernel module is not loaded automatically</title>
+
+      <para>Udev will only load a module if it has a bus-specific alias and the
+      bus driver properly exports the necessary aliases to <systemitem
+      class="filesystem">sysfs</systemitem>. In other cases, one should
+      arrange module loading by other means. With Linux-&linux-version;, Udev is
+      known to load properly-written drivers for INPUT, IDE, PCI, USB, SCSI,
+      SERIO and FireWire devices.</para>
+
+      <para>To determine if the device driver you require has the necessary
+      support for Udev, run <command>modinfo</command> with the module name as
+      the argument.  Now try locating the device directory under
+      <filename class="directory">/sys/bus</filename> and check whether there is
+      a <filename>modalias</filename> file there.</para>
+
+      <para>If the <filename>modalias</filename> file exists in <systemitem
+      class="filesystem">sysfs</systemitem>, the driver supports the device and
+      can talk to it directly, but doesn't have the alias, it is a bug in the
+      driver. Load the driver without the help from Udev and expect the issue
+      to be fixed later.</para>
+
+      <para>If there is no <filename>modalias</filename> file in the relevant
+      directory under <filename class="directory">/sys/bus</filename>, this
+      means that the kernel developers have not yet added modalias support to
+      this bus type. With Linux-&linux-version;, this is the case with ISA
+      busses. Expect this issue to be fixed in later kernel versions.</para>
+
+      <para>Udev is not intended to load <quote>wrapper</quote> drivers such as
+      <emphasis>snd-pcm-oss</emphasis> and non-hardware drivers such as
+      <emphasis>loop</emphasis> at all.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>A kernel module is not loaded automatically, and Udev is not
+      intended to load it</title>
+
+      <para>If the <quote>wrapper</quote> module only enhances the functionality
+      provided by some other module (e.g., <emphasis>snd-pcm-oss</emphasis>
+      enhances the functionality of <emphasis>snd-pcm</emphasis> by making the
+      sound cards available to OSS applications), configure
+      <command>modprobe</command> to load the wrapper after Udev loads the
+      wrapped module. To do this, add an <quote>install</quote> line in
+      <filename>/etc/modprobe.conf</filename>. For example:</para>
+
+<screen role="nodump"><literal>install snd-pcm /sbin/modprobe -i snd-pcm ; \
+    /sbin/modprobe snd-pcm-oss ; true</literal></screen>
+
+      <para>If the module in question is not a wrapper and is useful by itself,
+      configure the <command>S05modules</command> bootscript to load this
+      module on system boot. To do this, add the module name to the
+      <filename>/etc/sysconfig/modules</filename> file on a separate line.
+      This works for wrapper modules too, but is suboptimal in that case.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Udev loads some unwanted module</title>
+
+      <para>Either don't build the module, or blacklist it in
+      <filename>/etc/modprobe.conf</filename> file as done with the
+      <emphasis>forte</emphasis> module in the example below:</para>
+
+<screen role="nodump"><literal>blacklist forte</literal></screen>
+
+      <para>Blacklisted modules can still be loaded manually with the
+      explicit <command>modprobe</command> command.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Udev creates a device incorrectly, or makes a wrong symlink</title>
+
+      <para>This usually happens if a rule unexpectedly matches a device. For
+      example, a poorly-writen rule can match both a SCSI disk (as desired)
+      and the corresponding SCSI generic device (incorrectly) by vendor.
+      Find the offending rule and make it more specific.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Udev rule works unreliably</title>
+
+      <para>This may be another manifestation of the previous problem. If not,
+      and your rule uses <systemitem class="filesystem">sysfs</systemitem>
+      attributes, it may be a kernel timing issue, to be fixed in later kernels.
+      For now, you can work around it by creating a rule that waits for the used
+      <systemitem class="filesystem">sysfs</systemitem> attribute and appending
+      it to the <filename>/etc/udev/rules.d/10-wait_for_sysfs.rules</filename>
+      file. Please notify the CLFS Development list if you do so and it
+      helps.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Udev does not create a device</title>
+
+      <para>Further text assumes that the driver is built statically into the
+      kernel or already loaded as a module, and that you have already checked
+      that Udev doesn't create a misnamed device.</para>
+
+      <para>Udev has no information needed to create a device node if a kernel
+      driver does not export its data to <systemitem
+      class="filesystem">sysfs</systemitem>.
+      This is most common with third party drivers from outside the kernel
+      tree. Create a static device node in
+      <filename>/lib/udev/devices</filename> with the appropriate major/minor
+      numbers (see the file <filename>devices.txt</filename> inside the kernel
+      documentation or the documentation provided by the third party driver
+      vendor). The static device node will be copied to
+      <filename class="directory">/dev</filename> by the
+      <command>S10udev</command> bootscript.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Device naming order changes randomly after rebooting</title>
+
+      <para>This is due to the fact that Udev, by design, handles uevents and
+      loads modules in parallel, and thus in an unpredictable order. This will
+      never be <quote>fixed</quote>. You should not rely upon the kernel device
+      names being stable. Instead, create your own rules that make symlinks with
+      stable names based on some stable attributes of the device, such as a
+      serial number or the output of various *_id utilities installed by Udev.
+      See <xref linkend="ch-scripts-symlinks"/> and
+      <xref linkend="ch-scripts-network"/> for examples.</para>
+
+    </sect3>
+
+  </sect2>
+
+  <sect2>
+    <title>Useful Reading</title>
+
+    <para>Additional helpful documentation is available at the following
+    sites:</para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para remap="verbatim">A Userspace Implementation of <systemitem class="filesystem">devfs</systemitem>
+        <ulink url="http://www.kroah.com/linux/talks/ols_2003_udev_paper/Reprint-Kroah-Hartman-OLS2003.pdf"/></para>
+      </listitem>
+
+      <listitem>
+        <para remap="verbatim">udev FAQ
+        <ulink url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ"/></para>
+      </listitem>
+
+      <listitem>
+        <para remap="verbatim">The <systemitem class="filesystem">sysfs</systemitem> Filesystem
+        <ulink url="http://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel.pdf"/></para>
+      </listitem>
+
+    </itemizedlist>
+
+  </sect2>
+
+</sect1>
Index: BOOK/bootscripts/common/usage.xml
===================================================================
--- BOOK/bootscripts/common/usage.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/bootscripts/common/usage.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-scripts-usage">
+  <?dbhtml filename="usage.html"?>
+
+  <title>How Do These Bootscripts Work?</title>
+
+  <indexterm zone="ch-scripts-usage">
+    <primary sortas="a-Bootscripts">Bootscripts</primary>
+  <secondary>usage</secondary></indexterm>
+
+  <para>Linux uses a special booting facility named SysVinit that is
+  based on a concept of <emphasis>run-levels</emphasis>. It can be quite
+  different from one system to another, so it cannot be assumed that
+  because things worked in one particular Linux distribution, they should work
+  the same in CLFS too. CLFS has its own way of doing things, but it
+  respects generally accepted standards.</para>
+
+  <para>SysVinit (which will be referred to as <quote>init</quote> from
+  now on) works using a run-levels scheme. There are seven (numbered 0 to 6)
+  run-levels (actually, there are more run-levels, but they are for
+  special cases and are generally not used. See <filename>init(8)</filename>
+  for more details), and each one of those corresponds to the actions the
+  computer is supposed to perform when it starts up. The default
+  run-level is 3. Here are the descriptions of the different run-levels
+  as they are implemented:</para>
+
+<literallayout>0: halt the computer
+1: single-user mode
+2: multi-user mode without networking
+3: multi-user mode with networking
+4: reserved for customization, otherwise does the same as 3
+5: same as 4, it is usually used for GUI login (like X's <command>xdm</command> or KDE's <command>kdm</command>)
+6: reboot the computer</literallayout>
+
+  <para>The command used to change run-levels is <command>init
+  <replaceable>[runlevel]</replaceable></command>, where
+  <replaceable>[runlevel]</replaceable> is the target run-level. For example,
+  to reboot the computer, a user could issue the <command>init 6</command>
+  command, which is an alias for the <command>reboot</command> command.
+  Likewise, <command>init 0</command> is an alias for the
+  <command>halt</command> command.</para>
+
+  <para>There are a number of directories under <filename
+  class="directory">/etc/rc.d</filename> that look like <filename
+  class="directory">rc?.d</filename> (where ? is the number of the
+  run-level) and <filename class="directory">rcsysinit.d</filename>, all
+  containing a number of symbolic links. Some begin with a
+  <emphasis>K</emphasis>, the others begin with an
+  <emphasis>S</emphasis>, and all of them have two numbers following the
+  initial letter. The K means to stop (kill) a service and the S means
+  to start a service. The numbers determine the order in which the
+  scripts are run, from 00 to 99&mdash;the lower the number the earlier it
+  gets executed. When <command>init</command> switches to another run-level,
+  the appropriate services are either started or stopped, depending on the
+  runlevel chosen.</para>
+
+  <para>The real scripts are in <filename
+  class="directory">/etc/rc.d/init.d</filename>. They do the actual work,
+  and the symlinks all point to them. Killing links and starting links point
+  to the same script in <filename class="directory">/etc/rc.d/init.d</filename>.
+  This is because the scripts can be called with different parameters like
+  <option>start</option>, <option>stop</option>, <option>restart</option>,
+  <option>reload</option>, and <option>status</option>. When a K link is
+  encountered, the appropriate script is run with the <option>stop</option>
+  argument. When an S link is encountered, the appropriate script is run
+  with the <option>start</option> argument.</para>
+
+  <para>There is one exception to this explanation. Links that start
+  with an <emphasis>S</emphasis> in the <filename
+  class="directory">rc0.d</filename> and <filename
+  class="directory">rc6.d</filename> directories will not cause anything
+  to be started. They will be called with the parameter
+  <option>stop</option> to stop something. The logic behind this
+  is that when a user is going to reboot or halt the system, nothing
+  needs to be started. The system only needs to be stopped.</para>
+
+  <para>These are descriptions of what the arguments make the scripts
+  do:</para>
+
+  <variablelist>
+    <varlistentry>
+      <term><option>start</option></term>
+      <listitem>
+        <para>The service is started.</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><option>stop</option></term>
+      <listitem>
+        <para>The service is stopped.</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><option>restart</option></term>
+      <listitem>
+        <para>The service is stopped and then started again.</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><option>reload</option></term>
+      <listitem>
+        <para>The configuration of the service is updated. This is used
+        after the configuration file of a service was modified, when the
+        service does not need to be restarted.</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><option>status</option></term>
+      <listitem>
+        <para>Tells if the service is running and with which PIDs.</para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+
+  <para>Feel free to modify the way the boot process works (after all,
+  it is your own CLFS system). The files given here are an example of how
+  it can be done.</para>
+
+</sect1>
Index: OK/cleanup/chapter.xml
===================================================================
--- BOOK/cleanup/chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,17 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<chapter id="chapter-cleanup" xreflabel="Cleanup">
-  <?dbhtml dir="cleanup"?>
-  <?dbhtml filename="chapter.html"?>
-
-  <title>Backup and Cleanup</title>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chowning.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="copy-to-target.xml"/>
-
-</chapter>
Index: OK/cleanup/chowning.xml
===================================================================
--- BOOK/cleanup/chowning.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,38 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-bootable-chowning">
-  <?dbhtml filename="chowning.html"?>
-
-  <title>Changing the Ownership of the CLFS System</title>
-
-  <para>Throughout the book, every package has been compiled and installed as
-  the <systemitem class="username">clfs</systemitem> user. The final system
-  should be owned by <systemitem class="username">root</systemitem>.</para>
-
-  <important>
-
-    <para>The commands on this page of the book must be performed while
-    logged in as <systemitem class="username">root</systemitem>. Check that
-    ${CLFS} is still set:</para>
-
-    <screen><userinput>echo ${CLFS}</userinput></screen>
-
-  </important>
-
-  <para>Make <systemitem class="username">root</systemitem> the owner of the
-  entire CLFS system:</para>
-
-<screen><userinput>chown -Rv root:root ${CLFS}/targetfs</userinput></screen>
-
-  <para>The following file should not to belong to the
-  <systemitem class="groupname">root</systemitem> group, it should belong
-  to the <systemitem class="groupname">utmp</systemitem> group (group 13):</para>
-
-<screen><userinput>chgrp -v 13 ${CLFS}/targetfs/var/log/lastlog</userinput></screen>
-
-</sect1>
Index: OK/cleanup/copy-to-target.xml
===================================================================
--- BOOK/cleanup/copy-to-target.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,28 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-cleanup-copy-to-target">
-  <?dbhtml filename="copy-to-target.html"?>
-
-  <title>Copy to Target</title>
-
-  <para>We just created a cleaned-up version of our build, now
-  compress it so it can be archived and transferred to the target.</para>
-
-  <para>Create a tarball of the build:</para>
-
-<screen><userinput>install -dv ${CLFS}/build
-cd ${CLFS}/targetfs
-tar jcfv ${CLFS}/build/clfs-embedded.tar.bz2 *</userinput></screen>
-
-  <para>Now you can move your compressed tarball to your target
-  system. This will be different on  every embedded device.</para>
-
-  <para>When uncompressing the tarball, make sure to pass tar the "-p"
-  switch to ensure permissions are preserved.</para>
-
-</sect1>
Index: OK/cross-tools/arm-chapter.xml
===================================================================
--- BOOK/cross-tools/arm-chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,26 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<chapter id="chapter-cross-tools" xreflabel="Constructing Cross-Compile Tools">
-  <?dbhtml dir="cross-tools"?>
-  <?dbhtml filename="chapter.html"?>
-
-  <title>Constructing Cross-Compile Tools</title>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/cflags.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="arm/variables.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/sysroot.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/linux-headers.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/binutils.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="arm/gcc-static.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/libc.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="arm/gcc-final.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/create-targetfs.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/toolchain.xml"/>
-
-</chapter>
Index: OK/cross-tools/arm/gcc-final.xml
===================================================================
--- BOOK/cross-tools/arm/gcc-final.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,95 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<!-- ARM GCC-Final -->
-
-<sect1 id="ch-cross-tools-gcc-final" role="wrap">
-  <?dbhtml filename="gcc-final.html"?>
-
-  <title>GCC-&gcc-version; - Final</title>
-
-  <indexterm zone="ch-cross-tools-gcc-final">
-    <primary sortas="a-GCC">GCC</primary>
-    <secondary>cross tools, final</secondary>
-  </indexterm>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-final.xml"
-  xpointer="xpointer(//*[@role='package'])"/>
-
-  <sect2 role="installation">
-    <title>Installation of GCC Cross Compiler</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='b'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ba'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='c'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='d'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='e'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='f'])"/>
-
-<screen os="ae"><userinput>../gcc-&gcc-version;/configure \
-  --prefix=${CLFS}/cross-tools \
-  --build=${CLFS_HOST} \
-  --host=${CLFS_HOST} \
-  --target=${CLFS_TARGET} \
-  --with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET} \
-  --disable-nls \
-  --enable-languages=c \
-  --enable-c99 \
-  --enable-long-long \
-  --disable-libmudflap \
-  --disable-multilib \
-  --with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src \
-  --with-mpfr-lib=$(pwd)/mpfr/src/.libs \
-  --with-arch=${CLFS_ARM_ARCH} \
-  --with-float=${CLFS_FLOAT} \
-  --with-fpu=${CLFS_FPU}</userinput></screen>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='af'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ah'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ai'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='aj'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ak'])"/>
-
-  </sect2>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@role='content'])"/>
-
-</sect1>
Index: OK/cross-tools/arm/gcc-static.xml
===================================================================
--- BOOK/cross-tools/arm/gcc-static.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,127 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<!-- ARM GCC-Static -->
-
-<sect1 id="ch-cross-tools-gcc-static" role="wrap">
-  <?dbhtml filename="gcc-static.html"?>
-
-  <title>GCC-&gcc-version; - Static</title>
-
-  <indexterm zone="ch-cross-tools-gcc-static">
-    <primary sortas="a-GCC">GCC</primary>
-    <secondary>cross tools, static</secondary>
-  </indexterm>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@role='package'])"/>
-
-  <sect2 role="installation">
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='a'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='b'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ba'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='c'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='d'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='e'])"/>
-
-<screen os="ae"><userinput>../gcc-&gcc-version;/configure \
-  --prefix=${CLFS}/cross-tools \
-  --build=${CLFS_HOST} \
-  --host=${CLFS_HOST} \
-  --target=${CLFS_TARGET} \
-  --with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET} \
-  --disable-nls \
-  --disable-shared \
-  --without-headers \
-  --with-newlib \
-  --disable-decimal-float \
-  --disable-libgomp \
-  --disable-libmudflap \
-  --disable-libssp \
-  --disable-libatomic \
-  --disable-libquadmath \
-  --disable-threads \
-  --enable-languages=c \
-  --disable-multilib \
-  --with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src \
-  --with-mpfr-lib=$(pwd)/mpfr/src/.libs \
-  --with-arch=${CLFS_ARM_ARCH} \
-  --with-float=${CLFS_FLOAT} \
-  --with-fpu=${CLFS_FPU}</userinput></screen>
-
-<!-- Common configure switches for all archs -->
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='af'])"/>
-
-<!-- Specific configure switches for ARM -->
-  <variablelist os="ag">
-
-    <varlistentry os="ag2">
-      <term><parameter>--with-arch=${CLFS_ARM_ARCH}</parameter></term>
-      <listitem>
-        <para>This option sets the ARM architecture selected earlier.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry os="ag4">
-      <term><parameter>--with-float=${CLFS_FLOAT}</parameter></term>
-      <listitem>
-        <para>This option sets the floating point mode selected earlier.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry os="ag5">
-      <term><parameter>--with-fpu=${CLFS_FPU}</parameter></term>
-      <listitem>
-        <para>This option sets the hardware floating point type selected 
-        earlier.  If soft floating point was selected, this value is ignored.</para>
-      </listitem>
-    </varlistentry>
-
-  </variablelist>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ah'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ai'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='aj'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ak'])"/>
-
-  </sect2>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@role='content'])"/>
-
-</sect1>
Index: OK/cross-tools/arm/variables.xml
===================================================================
--- BOOK/cross-tools/arm/variables.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,183 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-cross-tools-variables">
-  <?dbhtml filename="variables.html"?>
-
-  <title>Build Variables</title>
-
-  <bridgehead renderas="sect4">Setting Host and Target</bridgehead>
-
-  <para os="a">During the building of the cross-compile tools, you will need to
-  set a few variables that will be dependent on your particular needs.
-  You will need to select the target triplet for the target architecture,
-  the CPU architecture, the CPU floating point hardware
-  availability, and (if available) the type of floating point hardware. If you 
-  do not know what values can be chosen for each of these, you can use the 
-  tables as a reference.</para>
-
-  <para os="a1">If your processor is an ARM9, good choices include: triplet of
-  arm-linux-musleabi, ARM arch of armv5t, and float of soft.  ARM9
-  processors do not usually have hardware floating point abilities. If your
-  processor is a Cortex-A series, which often have hardware floating point
-  capability, good choices include: triplet of
-  arm-linux-musleabihf, ARM arch of armv7-a, float of hard, and fpu
-  of vfpv3-d16.</para>
-
-  <para os="f1">If your target CPU has hardware floating point support (not all
-  ARM CPUs do), then set the following CLFS_FLOAT variable to either "hard" or
-  "softfp".  Use "softfp" if you need to integrate binaries compiled with
-  "soft".  Use "hard" if you don't.  If your target CPU does not have hard
-  floating point support, set the following CLFS_FLOAT vairable to
-  "soft".</para>
-
-<screen os="f2"><userinput>export CLFS_FLOAT="<replaceable>[hard, softfp, or soft]"</replaceable></userinput></screen>
-
-  <para os="f3">If you chose either "hard" or "softfp" for CLFS_FLOAT, you now
-  need to set which floating point hardware is actually included (see table below)
-  with your ARM CPU:</para>
-
-<screen os="f4"><userinput>export CLFS_FPU="<replaceable>[fpu version]</replaceable>"</userinput></screen>
-
-  <table os="j">
-    <title>ARM Hard Floating Point Versions</title>
-    <?dbfo table-width="4in" ?>
-
-    <tgroup cols="4">
-
-      <colspec colnum="1" colwidth="1in" colname="FPU Choice"/>
-      <colspec colnum="2" colwidth="1in" colname="FPU Choice"/>
-      <colspec colnum="3" colwidth="1in" colname="FPU Choice"/>
-      <colspec colnum="4" colwidth="1in" colname="FPU Choice"/>
-
-      <tbody>
-        <row>
-          <entry>fpa</entry>
-          <entry>fpe2</entry>
-          <entry>fpe3</entry>
-          <entry>maverick</entry>
-        </row>
-        <row>
-          <entry>vfp</entry>
-          <entry>vfpv3</entry>
-          <entry>vfpv3-fp16</entry>
-          <entry>vfpv3-d16</entry>
-        </row>
-        <row>
-          <entry>vfpv3-d16-fp16</entry>
-          <entry>vfpv3xd</entry>
-          <entry>vfpv3xd-fp16</entry>
-          <entry>neon</entry>
-        </row>
-        <row>
-          <entry>neon-fp16</entry>
-          <entry>vfpv4</entry>
-          <entry>vfpv4-d16</entry>
-          <entry>fpv4-sp-d16</entry>
-        </row>
-        <row>
-          <entry>neon-vfpv4</entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </table>
-
-  <para os="a2">Then, set the host and target triplets:</para>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/variables.xml"
-  xpointer="xpointer(//*[@os='b'])"/>
-
-  <table os="i">
-    <title>Target Triplets</title>
-    <?dbfo table-width="7in" ?>
-
-    <tgroup cols="2">
-
-      <colspec colnum="1" colwidth="2.5in" colname="Float Type"/>
-      <colspec colnum="2" colwidth="2.5in" colname="Triplet"/>
-
-      <thead>
-        <row>
-          <entry>Float Type</entry>
-          <entry>Triplet</entry>
-        </row>
-      </thead>
-
-      <tbody>
-        <row>
-          <entry>soft or softfp</entry>
-          <entry>arm-linux-musleabi</entry>
-        </row>
-        <row>
-          <entry>hard</entry>
-          <entry>arm-linux-musleabihf</entry>
-        </row>
-      </tbody>
-
-    </tgroup>
-
-  </table>
-
-  <para os="c">Now set the architecture of the CPU:</para>
-
-<screen os="d"><userinput>export CLFS_ARCH=arm</userinput></screen>
-
-  <para os="e">Choose the ARM architecture (see table below):</para>
-
-<screen os="f"><userinput>export CLFS_ARM_ARCH="<replaceable>[architecture]</replaceable>"</userinput></screen>
-
-  <table os="j">
-    <title>ARM Archiecture Choices</title>
-    <?dbfo table-width="4in" ?>
-
-    <tgroup cols="4">
-
-      <colspec colnum="1" colwidth="1in" colname="Arch Choice"/>
-      <colspec colnum="2" colwidth="1in" colname="Arch Choice"/>
-      <colspec colnum="3" colwidth="1in" colname="Arch Choice"/>
-      <colspec colnum="4" colwidth="1in" colname="Arch Choice"/>
-
-      <tbody>
-        <row>
-          <entry>armv4t</entry>
-          <entry>armv5</entry>
-          <entry>armv5t</entry>
-          <entry>armv5te</entry>
-        </row>
-        <row>
-          <entry>armv6</entry>
-          <entry>armv6j</entry>
-          <entry>armv6t2</entry>
-          <entry>armv6z</entry>
-        </row>
-        <row>
-          <entry>armv6zk</entry>
-          <entry>armv6-m</entry>
-          <entry>armv7</entry>
-          <entry>armv7-a</entry>
-        </row>
-        <row>
-          <entry>armv7-r</entry>
-          <entry>armv7-m</entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </table>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/variables.xml"
-  xpointer="xpointer(//*[@os='g'])"/>
-
-<screen os="h"><userinput>echo export CLFS_HOST=\""${CLFS_HOST}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_TARGET=\""${CLFS_TARGET}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_ARCH=\""${CLFS_ARCH}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_ARM_ARCH=\""${CLFS_ARM_ARCH}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_FLOAT=\""${CLFS_FLOAT}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_FPU=\""${CLFS_FPU}\"" &gt;&gt; ~/.bashrc</userinput></screen>
-
-</sect1>
Index: OK/cross-tools/common/abi.xml
===================================================================
--- BOOK/cross-tools/common/abi.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,24 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-system-abi">
-  <?dbhtml filename="abi.html"?>
-
-  <title>ABI Variables</title>
-
-  <para os="a" >Setup for a Particular ABI:</para>
-
-<screen os="b"><userinput>export CLFS_ABI="<replaceable>[From Chart]</replaceable>"
-echo export CLFS_ABI=\""${CLFS_ABI}\"" &gt;&gt; ~/.bashrc</userinput></screen>
-
-  <para os="c">The following table gives the entires for the different ABI's 
-  that CLFS Embedded supports. Make sure you select one for your build, this
-  will ensure capatibilty of your build with your target architecture.</para>
-
-
-</sect1>
-
Index: BOOK/cross-tools/common/binutils.xml
===================================================================
--- BOOK/cross-tools/common/binutils.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/cross-tools/common/binutils.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -9,5 +9,5 @@
   <?dbhtml filename="binutils.html"?>
 
-  <title>Binutils-&binutils-version;</title>
+  <title>Cross Binutils-&binutils-version;</title>
 
   <indexterm zone="ch-cross-tools-binutils">
@@ -27,28 +27,31 @@
     <title>Installation of Cross Binutils</title>
 
-    <para os="a">It is important that Binutils be the first package compiled
-    because both the C library and GCC perform various tests on the available
+    <para os="da">It is important that Binutils be the first package compiled
+    because both Glibc and GCC perform various tests on the available
     linker and assembler to determine which of their own features to
     enable.</para>
 
-    <para os="b">The Binutils documentation recommends building Binutils outside of the
+
+    <para os="p1">To make sure that the proper syntax is used for a couple of
+    tools, apply the following patch:</para>
+
+<screen os="p2"><userinput>patch -Np1 -i ../&binutils-posix-patch;</userinput></screen>
+
+    <para os="a">The Binutils documentation recommends building Binutils outside of the
     source directory in a dedicated build directory:</para>
 
-<screen os="c"><userinput>mkdir -v ../binutils-build
+<screen os="b"><userinput>mkdir -v ../binutils-build
 cd ../binutils-build</userinput></screen>
 
-    <para os="d">Prepare Binutils for compilation:</para>
-
-<screen os="e"><userinput>../binutils-&binutils-version;/configure \
-   --prefix=${CLFS}/cross-tools \
-   --target=${CLFS_TARGET} \
-   --with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET} \
-   --disable-nls \
-   --disable-multilib</userinput></screen>
-
-    <variablelist os="f">
+    <para os="c">Prepare Binutils for compilation:</para>
+
+<screen os="bc"><userinput>../binutils-&binutils-version;/configure --prefix=${CLFS}/cross-tools \
+   --host=${CLFS_HOST} --target=${CLFS_TARGET} --with-sysroot=${CLFS} \
+   --disable-nls --enable-shared --disable-multilib</userinput></screen>
+
+    <variablelist os="bd">
       <title>The meaning of the configure options:</title>
 
-      <varlistentry os="f1">
+      <varlistentry os="bd1">
         <term><parameter>--prefix=${CLFS}/cross-tools</parameter></term>
         <listitem>
@@ -59,14 +62,24 @@
       </varlistentry>
 
-      <varlistentry os="f3">
+      <varlistentry os="bd2">
+        <term><parameter>--host=${CLFS_HOST}</parameter></term>
+        <listitem>
+          <para>When used with --target, this creates a cross-architecture
+          executable that creates files for ${CLFS_TARGET} but runs on
+          ${CLFS_HOST}.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry os="bd3">
         <term><parameter>--target=${CLFS_TARGET}</parameter></term>
         <listitem>
-          <para>This creates a cross-architecture executable that creates files
-            for ${CLFS_TARGET} but runs on the host system.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="f4">
-        <term><parameter>--with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET}</parameter></term>
+          <para>When used with --host, this creates a cross-architecture
+          executable that creates files for ${CLFS_TARGET} but runs on
+          ${CLFS_HOST}.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry os="bd4">
+        <term><parameter>--with-sysroot=${CLFS}</parameter></term>
         <listitem>
           <para>This tells configure that ${CLFS} is going to be the root
@@ -76,5 +89,5 @@
       </varlistentry>
 
-      <varlistentry os="f5">
+      <varlistentry os="bd5">
         <term><parameter>--disable-nls</parameter></term>
         <listitem>
@@ -84,5 +97,12 @@
       </varlistentry>
 
-      <varlistentry os="f7">
+      <varlistentry os="bd6">
+        <term><parameter>--enable-shared</parameter></term>
+        <listitem>
+          <para>Enable the creation of the shared libraries.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry os="bd7">
         <term><parameter>--disable-multilib</parameter></term>
         <listitem>
@@ -94,13 +114,13 @@
     </variablelist>
 
-    <para os="g">Compile the package:</para>
-
-<screen os="h"><userinput>make configure-host
+    <para os="be">Compile the package:</para>
+
+<screen os="bf"><userinput>make configure-host
 make</userinput></screen>
 
-    <variablelist os="i">
+    <variablelist os="bg">
       <title>The meaning of the make options:</title>
 
-      <varlistentry os="i1">
+      <varlistentry os="bg1">
         <term><parameter>configure-host</parameter></term>
         <listitem>
@@ -112,7 +132,12 @@
     </variablelist>
 
-    <para os="j">Install the package:</para>
-
-<screen os="k"><userinput>make install</userinput></screen>
+    <para os="bh">Install the package:</para>
+
+<screen os="bi"><userinput>make install</userinput></screen>
+
+    <para os="bj">Copy the <filename class="headerfile">libiberty.h</filename> file to
+    <filename class="directory">${CLFS}/usr/include</filename> directory:</para>
+
+<screen os="bk"><userinput>cp -v ../binutils-&binutils-version;/include/libiberty.h ${CLFS}/usr/include</userinput></screen>
 
   </sect2>
@@ -126,6 +151,6 @@
 
       <seglistitem>
-        <seg>addr2line, ar, as, c++filt, elfedit, gprof, ld, nm, objcopy, 
-        objdump, ranlib, readelf, size, strings, and strip</seg>
+        <seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
+        ranlib, readelf, size, strings, and strip</seg>
         <seg>libiberty.a, libbfd.[a,so], and libopcodes.[a,so]</seg>
       </seglistitem>
@@ -144,5 +169,5 @@
           information in the executable to determine which source file and line
           number are associated with the address</para>
-          <indexterm zone="ch-cross-tools-binutils addr2line">
+          <indexterm zone="ch-system-binutils addr2line">
             <primary sortas="b-addr2line">addr2line</primary>
           </indexterm>
@@ -154,5 +179,5 @@
         <listitem>
           <para>Creates, modifies, and extracts from archives</para>
-          <indexterm zone="ch-cross-tools-binutils ar">
+          <indexterm zone="ch-system-binutils ar">
             <primary sortas="b-ar">ar</primary>
           </indexterm>
@@ -165,5 +190,5 @@
           <para>An assembler that assembles the output of <command>gcc</command>
           into object files</para>
-          <indexterm zone="ch-cross-tools-binutils as">
+          <indexterm zone="ch-system-binutils as">
             <primary sortas="b-as">as</primary>
           </indexterm>
@@ -176,16 +201,6 @@
           <para>Used by the linker to de-mangle C++ and Java symbols and to keep
           overloaded functions from clashing</para>
-          <indexterm zone="ch-cross-tools-binutils c-filt">
+          <indexterm zone="ch-system-binutils c-filt">
             <primary sortas="b-c++filt">c++filt</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="elfedit">
-        <term><command>elfedit</command></term>
-        <listitem>
-          <para>Examine and modify ELF metadata within an ELF object</para>
-          <indexterm zone="ch-cross-tools-binutils elfedit">
-            <primary sortas="b-elfedit">elfedit</primary>
           </indexterm>
         </listitem>
@@ -196,5 +211,5 @@
         <listitem>
           <para>Displays call graph profile data</para>
-          <indexterm zone="ch-cross-tools-binutils gprof">
+          <indexterm zone="ch-system-binutils gprof">
             <primary sortas="b-gprof">gprof</primary>
           </indexterm>
@@ -208,5 +223,5 @@
           into a single file, relocating their data and tying up symbol
           references</para>
-          <indexterm zone="ch-cross-tools-binutils ld">
+          <indexterm zone="ch-system-binutils ld">
             <primary sortas="b-ld">ld</primary>
           </indexterm>
@@ -218,16 +233,6 @@
         <listitem>
           <para>Lists the symbols occurring in a given object file</para>
-          <indexterm zone="ch-cross-tools-binutils nm">
+          <indexterm zone="ch-system-binutils nm">
             <primary sortas="b-nm">nm</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="objcopy">
-        <term><command>objcopy</command></term>
-        <listitem>
-          <para>Copy the contents of one object file to another</para>
-          <indexterm zone="ch-cross-tools-binutils objcopy">
-            <primary sortas="b-objcopy">objcopy</primary>
           </indexterm>
         </listitem>
@@ -241,5 +246,5 @@
           shown is useful to programmers who are working on the compilation
           tools</para>
-          <indexterm zone="ch-cross-tools-binutils objdump">
+          <indexterm zone="ch-system-binutils objdump">
             <primary sortas="b-objdump">objdump</primary>
           </indexterm>
@@ -253,5 +258,5 @@
           in the archive; the index lists all of the symbols defined by archive
           members that are relocatable object files</para>
-          <indexterm zone="ch-cross-tools-binutils ranlib">
+          <indexterm zone="ch-system-binutils ranlib">
             <primary sortas="b-ranlib">ranlib</primary>
           </indexterm>
@@ -263,5 +268,5 @@
         <listitem>
           <para>Displays information about ELF type binaries</para>
-          <indexterm zone="ch-cross-tools-binutils readelf">
+          <indexterm zone="ch-system-binutils readelf">
             <primary sortas="b-readelf">readelf</primary>
           </indexterm>
@@ -274,5 +279,5 @@
           <para>Lists the section sizes and the total size for the given
           object files</para>
-          <indexterm zone="ch-cross-tools-binutils size">
+          <indexterm zone="ch-system-binutils size">
             <primary sortas="b-size">size</primary>
           </indexterm>
@@ -288,5 +293,5 @@
           the initializing and loading sections while for other types of files,
           it scans the entire file</para>
-          <indexterm zone="ch-cross-tools-binutils strings">
+          <indexterm zone="ch-system-binutils strings">
             <primary sortas="b-strings">strings</primary>
           </indexterm>
@@ -298,5 +303,5 @@
         <listitem>
           <para>Discards symbols from object files</para>
-          <indexterm zone="ch-cross-tools-binutils strip">
+          <indexterm zone="ch-system-binutils strip">
             <primary sortas="b-strip">strip</primary>
           </indexterm>
@@ -311,5 +316,5 @@
           <command>strerror</command>, <command>strtol</command>, and
           <command>strtoul</command></para>
-          <indexterm zone="ch-cross-tools-binutils libiberty">
+          <indexterm zone="ch-system-binutils libiberty">
             <primary sortas="c-libiberty">libiberty</primary>
           </indexterm>
@@ -321,5 +326,5 @@
         <listitem>
           <para>The Binary File Descriptor library</para>
-          <indexterm zone="ch-cross-tools-binutils libbfd">
+          <indexterm zone="ch-system-binutils libbfd">
             <primary sortas="c-libbfd">libbfd</primary>
           </indexterm>
@@ -334,5 +339,5 @@
           it is used for building utilities like
           <command>objdump</command>.</para>
-          <indexterm zone="ch-cross-tools-binutils libopcodes">
+          <indexterm zone="ch-system-binutils libopcodes">
             <primary sortas="c-libopcodes">libopcodes</primary>
           </indexterm>
Index: BOOK/cross-tools/common/cflags.xml
===================================================================
--- BOOK/cross-tools/common/cflags.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/cross-tools/common/cflags.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -11,12 +11,18 @@
   <title>Build CFLAGS</title>
 
-  <para><envar>CFLAGS</envar> must not be
+  <para><envar>CFLAGS</envar> and <envar>CXXFLAGS</envar> must not be
   set during the building of cross-tools.</para>
 
-  <para>To disable <envar>CFLAGS</envar>
+  <para>To disable <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>
   use the following commands:</para>
 
 <screen><userinput>unset CFLAGS
-echo unset CFLAGS &gt;&gt; ~/.bashrc</userinput></screen>
+unset CXXFLAGS</userinput></screen>
+
+  <para>Now add these to <filename>~/.bashrc</filename>, just in
+  case you have to exit and restart building later:</para>
+
+<screen><userinput>echo unset CFLAGS &gt;&gt; ~/.bashrc
+echo unset CXXFLAGS &gt;&gt; ~/.bashrc</userinput></screen>
 
 </sect1>
Index: OK/cross-tools/common/create-targetfs.xml
===================================================================
--- BOOK/cross-tools/common/create-targetfs.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,19 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-cross-tools-create-targetfs">
-  <?dbhtml filename="create-targetfs.html"?>
-
-  <title>Create the Target File System Directory</title>
-
-  <para>Create a target file system directory which will be used when building
-    the programs and libraries which will deploy to the target system:</para>
-
-<screen><userinput>mkdir -pv ${CLFS}/targetfs</userinput></screen>
-
-</sect1>
-
Index: BOOK/cross-tools/common/gcc-final.xml
===================================================================
--- BOOK/cross-tools/common/gcc-final.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/cross-tools/common/gcc-final.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,15 +1,13 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
 ]>
 
-<!-- Common GCC-Final -->
-
 <sect1 id="ch-cross-tools-gcc-final" role="wrap">
   <?dbhtml filename="gcc-final.html"?>
 
-  <title>GCC-&gcc-version; - Final</title>
+  <title>GCC-&gcc-version; - Cross Compiler Final</title>
 
   <indexterm zone="ch-cross-tools-gcc-final">
@@ -18,68 +16,75 @@
   </indexterm>
 
-  <sect2 role="package">
-    <title/>
-
-    <para>The GCC package contains the GNU compiler collection, which includes
-    the C compiler.  This second build of GCC will produce the final cross
-    compiler which will use the previously built C library.</para>
-
-  </sect2>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+  href="gcc-static.xml"
+  xpointer="xpointer(//*[@role='package'])"/>
 
   <sect2 role="installation">
     <title>Installation of GCC Cross Compiler</title>
 
-    <para os="b">GCC requires the GMP, MPFR, and MPC packages to either be
-    present on the host or to be present in source form within the gcc source
-    tree.  Unpack these into the GCC directory after unpacking GCC:</para>
-
-<screen os="ba"><userinput>tar xf ../mpfr-&mpfr-version;.tar.bz2
-mv -v mpfr-&mpfr-version; mpfr
-tar xf ../gmp-&gmp-version;.tar.bz2
-mv -v gmp-&gmp-version; gmp
-tar xf ../mpc-&mpc-version;.tar.gz
-mv -v mpc-&mpc-version; mpc</userinput></screen>
-
-    <xi:include os="c" xmlns:xi="http://www.w3.org/2003/XInclude"
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='p1'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='p2'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='p3'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='p4'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='ac'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='ad'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     href="gcc-static.xml"
     xpointer="xpointer(//*[@os='c'])"/>
 
-    <xi:include os="d" xmlns:xi="http://www.w3.org/2003/XInclude"
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     href="gcc-static.xml"
     xpointer="xpointer(//*[@os='d'])"/>
 
-    <xi:include os="e" xmlns:xi="http://www.w3.org/2003/XInclude"
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     href="gcc-static.xml"
     xpointer="xpointer(//*[@os='e'])"/>
 
-    <note os="f"><para>If you would like to build a C++ compiler in addition
-    to the C compiler, change the following --enable-languages=c option to be
-    --enable-languages=c,c++ instead.  A C++ compiler is not required for
-    any of the software included in this book.</para></note>
-
-<!-- This is the common configure line for GCC-Final -->
-<!-- It's not actually used by any arch but is here for reference. -->
-<screen os="ae"><userinput>../gcc-&gcc-version;/configure \
-  --prefix=${CLFS}/cross-tools \
-  --build=${CLFS_HOST} \
-  --host=${CLFS_HOST} \
-  --target=${CLFS_TARGET} \
-  --with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET} \
-  --disable-nls \
-  --enable-languages=c \
-  --enable-c99 \
-  --enable-long-long \
-  --disable-libmudflap \
-  --with-mpfr=${CLFS}/cross-tools \
-  --with-gmp=${CLFS}/cross-tools \
-  --with-mpc=${CLFS}/cross-tools \
-  --disable-multilib \
-  --with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src \
-  --with-mpfr-lib=$(pwd)/mpfr/src/.libs</userinput></screen>
+<screen os="ae"><userinput>../gcc-&gcc-version;/configure --prefix=${CLFS}/cross-tools \
+    --host=${CLFS_HOST} --target=${CLFS_TARGET} --disable-multilib \
+    --with-sysroot=${CLFS} --disable-nls --enable-shared \
+    --enable-languages=c --enable-__cxa_atexit \
+    --enable-c99 --enable-long-long --enable-threads=posix</userinput></screen>
 
     <variablelist os="af">
-      <title>The meaning of the configure options not used previously:</title>
+      <title>The meaning of the new configure options:</title>
+
+      <varlistentry os="af1">
+        <term><parameter>--enable-languages=c,c++</parameter></term>
+        <listitem>
+          <para>This option ensures that only the C compiler is built.</para>
+        </listitem>
+      </varlistentry>
 
       <varlistentry os="af2">
+        <term><parameter>--enable-__cxa_atexit</parameter></term>
+        <listitem>
+          <para>This option allows use of __cxa_atexit, rather than atexit,
+          to register C++ destructors for local statics and global objects
+          and is essential for fully standards-compliant handling of destructors.
+          It also affects the C++ ABI and therefore results in C++ shared libraries
+          and C++ programs that are interoperable with other Linux distributions.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry os="af3">
         <term><parameter>--enable-c99</parameter></term>
         <listitem>
@@ -88,5 +93,5 @@
       </varlistentry>
 
-      <varlistentry os="af3">
+      <varlistentry os="af4">
         <term><parameter>--enable-long-long</parameter></term>
         <listitem>
@@ -95,17 +100,24 @@
       </varlistentry>
 
+      <varlistentry os="af5">
+        <term><parameter>--enable-threads=posix</parameter></term>
+        <listitem>
+          <para>This enables C++ exception handling for multi-threaded code.</para>
+        </listitem>
+      </varlistentry>
+
     </variablelist>
 
-    <xi:include os="ah" xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="gcc-static.xml"
-    xpointer="xpointer(//*[@os='ah'])"/>
-
-<screen os="ai"><userinput>make</userinput></screen>
-
-    <xi:include os="aj" xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="gcc-static.xml"
-    xpointer="xpointer(//*[@os='aj'])"/>
-
-<screen os="ak"><userinput>make install</userinput></screen>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='ag'])"/>
+
+<screen os="ah"><userinput>make</userinput></screen>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='ai'])"/>
+
+<screen os="aj"><userinput>make install</userinput></screen>
 
   </sect2>
@@ -119,6 +131,8 @@
 
       <seglistitem>
-        <seg>gcc, and gcov</seg>
-        <seg>libgcc.a, libgcc_eh.a, and libgcc_s.so</seg>
+        <seg>c++, cc (link to gcc), cpp, g++, gcc, gccbug, and gcov</seg>
+        <seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libmudflap.[a,so],
+        libmudflapth.[a,so], libstdc++.[a,so], and
+        libsupc++.a</seg>
       </seglistitem>
     </segmentedlist>
@@ -129,10 +143,61 @@
       <?dbhtml list-presentation="table"?>
 
+      <varlistentry id="cc">
+        <term><command>cc</command></term>
+        <listitem>
+          <para>The C compiler</para>
+          <indexterm zone="ch-system-gcc cc">
+            <primary sortas="b-cc">cc</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="cpp">
+        <term><command>cpp</command></term>
+        <listitem>
+          <para>The C preprocessor; it is used by the compiler to expand the
+          #include, #define, and similar statements in the source files</para>
+          <indexterm zone="ch-system-gcc cpp">
+            <primary sortas="b-cpp">cpp</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="c">
+        <term><command>c++</command></term>
+        <listitem>
+          <para>The C++ compiler</para>
+          <indexterm zone="ch-system-gcc c">
+            <primary sortas="b-c++">c++</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="g">
+        <term><command>g++</command></term>
+        <listitem>
+          <para>The C++ compiler</para>
+          <indexterm zone="ch-system-gcc g">
+            <primary sortas="b-g++">g++</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
       <varlistentry id="gcc">
         <term><command>gcc</command></term>
         <listitem>
           <para>The C compiler</para>
-          <indexterm zone="ch-cross-tools-gcc-final gcc">
+          <indexterm zone="ch-system-gcc gcc">
             <primary sortas="b-gcc">gcc</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="gccbug">
+        <term><command>gccbug</command></term>
+        <listitem>
+          <para>A shell script used to help create useful bug reports</para>
+          <indexterm zone="ch-system-gcc gccbug">
+            <primary sortas="b-gccbug">gccbug</primary>
           </indexterm>
         </listitem>
@@ -144,5 +209,5 @@
           <para>A coverage testing tool; it is used to analyze programs to
           determine where optimizations will have the most effect</para>
-          <indexterm zone="ch-cross-tools-gcc-final gcov">
+          <indexterm zone="ch-system-gcc gcov">
             <primary sortas="b-gcov">gcov</primary>
           </indexterm>
@@ -154,5 +219,5 @@
         <listitem>
           <para>Contains run-time support for <command>gcc</command></para>
-          <indexterm zone="ch-cross-tools-gcc-final libgcc">
+          <indexterm zone="ch-system-gcc libgcc">
             <primary sortas="c-libgcc*">libgcc*</primary>
           </indexterm>
@@ -160,4 +225,36 @@
       </varlistentry>
 
+      <varlistentry id="libmudflap">
+        <term><filename class="libraryfile">libmudflap</filename></term>
+        <listitem>
+          <para>The libmudflap libraries are used by GCC for instrumenting
+          pointer and array dereferencing operations.</para>
+          <indexterm zone="ch-system-gcc libmudflap">
+            <primary sortas="c-libmudflap*">libmudflap*</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libstdc">
+        <term><filename class="libraryfile">libstdc++</filename></term>
+        <listitem>
+          <para>The standard C++ library</para>
+          <indexterm zone="ch-system-gcc libstdc">
+            <primary sortas="c-libstdc++">libstdc++</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libsupc">
+        <term><filename class="libraryfile">libsupc++</filename></term>
+        <listitem>
+          <para>Provides supporting routines for the C++ programming
+          language</para>
+          <indexterm zone="ch-system-gcc libsupc">
+            <primary sortas="c-libsupc++">libsupc++</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
     </variablelist>
 
Index: BOOK/cross-tools/common/gcc-static.xml
===================================================================
--- BOOK/cross-tools/common/gcc-static.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/cross-tools/common/gcc-static.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,15 +1,13 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
 ]>
 
-<!-- Common GCC-Static -->
-
 <sect1 id="ch-cross-tools-gcc-static" role="wrap">
   <?dbhtml filename="gcc-static.html"?>
 
-  <title>GCC-&gcc-version; - Static</title>
+  <title>Cross GCC-&gcc-version; - Static</title>
 
   <indexterm zone="ch-cross-tools-gcc-static">
@@ -22,23 +20,30 @@
 
     <para>The GCC package contains the GNU compiler collection, which includes
-    the C compiler.  This build of GCC is mainly done so that the C library
-    can be built next.</para>
+    the C and C++ compilers.</para>
 
   </sect2>
 
   <sect2 role="installation">
-    <title os="a">Installation of Cross GCC Compiler with Static libgcc
+    <title>Installation of Cross GCC Compiler with Static libgcc
     and no Threads</title>
 
-    <para os="b">GCC requires the GMP, MPFR, and MPC packages to either be
-    present on the host or to be present in source form within the gcc source
-    tree.  Unpack these into the GCC directory after unpacking GCC:</para>
+    <para os="p1">To make sure that a couple of tools use the proper syntax,
+    apply the following patch:</para>
 
-<screen os="ba"><userinput>tar xf ../mpfr-&mpfr-version;.tar.bz2
-mv -v mpfr-&mpfr-version; mpfr
-tar xf ../gmp-&gmp-version;.tar.bz2
-mv -v gmp-&gmp-version; gmp
-tar xf ../mpc-&mpc-version;.tar.gz
-mv -v mpc-&mpc-version; mpc</userinput></screen>
+<screen os="p2"><userinput>patch -Np1 -i ../gcc-4.1.1-posix-1.patch</userinput></screen>
+
+    <para os="p3">The following patch fixes the searching of multilib dirs for
+    specs file.The patch standardizes the gcc drivers path iteration functions,
+    ensuring multilib directories are searched in the correct order. This fixes
+    various issues, most noticably with libtool on multilib systems:</para>
+
+<screen os="p4"><userinput>patch -Np1 -i ../&gcc-PR20425-patch;</userinput></screen>
+
+    <para os="ac">The following patch ensures that <command>gcc</command> does not
+    search the <filename class="directory">/usr</filename> directory for
+    <filename class="libraryfile">libgcc_s.so</filename> when
+    cross-compiling:</para>
+
+<screen os="ad"><userinput>patch -Np1 -i ../&gcc-cross_search-patch;</userinput></screen>
 
     <para os="c">The GCC documentation recommends building GCC outside of the source
@@ -50,86 +55,13 @@
     <para os="e">Prepare GCC for compilation:</para>
 
-<!-- This is the common configure line for GCC-Static. -->
-<!-- It's not actually used by any arch but is here for reference. -->
-<screen os="ae"><userinput>../gcc-&gcc-version;/configure \
-  --prefix=${CLFS}/cross-tools \
-  --build=${CLFS_HOST} \
-  --host=${CLFS_HOST} \
-  --target=${CLFS_TARGET} \
-  --with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET} \
-  --disable-nls  \
-  --disable-shared \
-  --without-headers \
-  --with-newlib \
-  --disable-decimal-float \
-  --disable-libgomp \
-  --disable-libmudflap \
-  --disable-libssp \
-  --disable-libatomic \
-  --disable-libquadmath \
-  --disable-threads \
-  --enable-languages=c \
-  --disable-multilib \
-  --with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src \
-  --with-mpfr-lib=$(pwd)/mpfr/src/.libs</userinput></screen>
+<screen os="ae"><userinput>../gcc-&gcc-version;/configure --prefix=${CLFS}/cross-tools \
+    --host=${CLFS_HOST} --target=${CLFS_TARGET} --disable-multilib \
+    --with-sysroot=${CLFS} --disable-nls --disable-shared \
+    --enable-languages=c</userinput></screen>
 
     <variablelist os="af">
       <title>The meaning of the configure options:</title>
 
-      <varlistentry os="af1">
-        <term><parameter>--prefix=${CLFS}/cross-tools</parameter></term>
-        <listitem>
-          <para>This tells the configure script to prepare to install the
-          package in the <filename class="directory">${CLFS}/cross-tools</filename>
-          directory.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af2">
-        <term><parameter>--build=${CLFS_HOST}</parameter></term>
-        <listitem>
-          <para>This tells the configure script the triplet to use to build GCC.
-          It will use ${CLFS_HOST} as that's where it's being built.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af3">
-        <term><parameter>--host=${CLFS_HOST}</parameter></term>
-        <listitem>
-          <para>This tells the configure script the triplet of the machine GCC 
-          will be executed on when actually cross compiling.  It will use 
-          ${CLFS_HOST} as that's where GCC will execute when cross compiling
-          software later.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af4">
-        <term><parameter>--target=${CLFS_TARGET}</parameter></term>
-        <listitem>
-          <para>This tells the configure script the triplet of the machine GCC
-          will build executables for.  It will use ${CLFS_TARGET} so that software
-          compiled with this version of GCC can be executed on the embedded machine
-          target.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af5">
-        <term><parameter>--with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET}</parameter></term>
-        <listitem>
-          <para>This tells configure that ${CLFS}/cross-tools/${CLFS_TARGET} is going
-          to be the temporary root of our system. It will now use the specified
-          sysroot as a prefix of the default search paths.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af6">
-        <term><parameter>--disable-nls</parameter></term>
-        <listitem>
-          <para>This disables internationalization as i18n is not needed for the
-          cross-compile tools.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af7">
+      <varlistentry>
         <term><parameter>--disable-shared</parameter></term>
         <listitem>
@@ -138,69 +70,5 @@
       </varlistentry>
 
-      <varlistentry os="af11">
-        <term><parameter>--without-headers</parameter></term>
-        <listitem>
-          <para>Tells configure to not use any headers from any C libraries.
-          This is needed as we haven't yet built the C library and to prevent
-          influence from the host environment.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af12">
-        <term><parameter>--with-newlib</parameter></term>
-        <listitem>
-          <para>Tells configure to build libgcc without needing any C
-          libraries.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af13">
-        <term><parameter>--disable-decimal-float</parameter></term>
-        <listitem>
-          <para>Tells configure to disable IEEE 754-2008 decimal floating
-          point support.  Decimal floating point support isn't needed yet.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af14">
-        <term><parameter>--disable-libgomp</parameter></term>
-        <listitem>
-          <para>Tells configure to not build the GOMP run-time libraries.
-          GOMP is the GNU implementation of OpenMP, a API for shared-memory
-          parallel programming.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af15">
-        <term><parameter>--disable-libmudflap</parameter></term>
-        <listitem>
-          <para>Tells configure to not build libmudflap.  Mudflap is a 
-          library that can be used to help check for proper pointer usage.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af16">
-        <term><parameter>--disable-libssp</parameter></term>
-        <listitem>
-          <para>Tells configure not to build run-time libraries for stack
-          smashing detection.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af17">
-        <term><parameter>--disable-libatomic</parameter></term>
-        <listitem>
-          <para>Tells configure not to build atomic operations.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af18">
-        <term><parameter>--disable-libquadmath</parameter></term>
-        <listitem>
-          <para>Tells configure not to build quad math operations.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af19">
+      <varlistentry>
         <term><parameter>--disable-threads</parameter></term>
         <listitem>
@@ -208,9 +76,9 @@
           include files, since they haven't been created for this architecture
           yet. GCC will be able to find the multi-thread information after
-          the glibc headers are created.</para>
+          the Glibc headers are created.</para>
         </listitem>
       </varlistentry>
 
-      <varlistentry os="af20">
+      <varlistentry>
         <term><parameter>--enable-languages=c</parameter></term>
         <listitem>
@@ -219,37 +87,13 @@
       </varlistentry>
 
-      <varlistentry os="af21">
-        <term><parameter>--disable-multilib</parameter></term>
-        <listitem>
-          <para>This option specifies that multiple target libraries should
-          not be built.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af22">
-        <term><parameter>--with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src</parameter></term>
-        <listitem>
-          <para>Tells configure how to find the mpfr headers.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry os="af23">
-        <term><parameter>--with-mpfr-lib=$(pwd)/mpfr/src/.libs</parameter></term>
-        <listitem>
-          <para>Tells configure to use the mpfr libraries built within the GCC
-            build directory.  This happens automatically but is needed to
-            prevent GCC from searching the host's normal library paths.</para>
-        </listitem>
-      </varlistentry>
-
     </variablelist>
 
-    <para os="ah">Continue with compiling the package:</para>
+    <para os="ag">Continue with compiling the package:</para>
 
-<screen os="ai"><userinput>make all-gcc all-target-libgcc</userinput></screen>
+<screen os="ah"><userinput>make all-gcc</userinput></screen>
 
-    <para os="aj">Install the package:</para>
+    <para os="ai">Install the package:</para>
 
-<screen os="ak"><userinput>make install-gcc install-target-libgcc</userinput></screen>
+<screen os="aj"><userinput>make install-gcc</userinput></screen>
 
   </sect2>
Index: BOOK/cross-tools/common/introduction.xml
===================================================================
--- BOOK/cross-tools/common/introduction.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/cross-tools/common/introduction.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -29,6 +29,8 @@
 
     <para>Several of the packages are patched before compilation, but only
-    when the patch is needed to circumvent a problem or supply a default 
-    configuration. Warning messages about <emphasis>offset</emphasis> or
+    when the patch is needed to circumvent a problem. A patch is often needed
+    in both this and the next chapters, but sometimes in only one or the other.
+    Therefore, do not be concerned if instructions for a downloaded patch seem
+    to be missing. Warning messages about <emphasis>offset</emphasis> or
     <emphasis>fuzz</emphasis> may also be encountered when applying a patch.
     Do not worry about these warnings, as the patch was still successfully
@@ -45,5 +47,6 @@
       <para>After installing each package, both in this and the next chapters,
       delete its source and build directories, unless specifically instructed
-      otherwise.</para>
+      otherwise. Deleting the sources prevents mis-configuration
+      when the same package is reinstalled later.</para>
     </important>
 
Index: OK/cross-tools/common/libc.xml
===================================================================
--- BOOK/cross-tools/common/libc.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,140 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-cross-tools-libc" role="wrap">
-  <?dbhtml filename="libc.html"?>
-
-  <title>musl-&musl-version;</title>
-
-  <indexterm zone="ch-cross-tools-libc">
-    <primary sortas="a-libc">musl</primary>
-    <secondary>cross tools</secondary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>The musl package contains the main C library. This library provides
-    the basic routines for allocating memory, searching directories, opening and
-    closing files, reading and writing files, string handling, pattern matching,
-    arithmetic, and so on.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of musl</title>
-
-    <para os="h">Configure the package:</para>
-
-<screen os="i"><userinput>./configure \
-  CROSS_COMPILE=${CLFS_TARGET}- \
-  --prefix=/ \
-  --target=${CLFS_TARGET}</userinput></screen>
-
-    <para os="h">Compile the package:</para>
-
-<screen os="i"><userinput>make</userinput></screen>
-
-    <para os="l">Install the package:</para>
-
-<screen os="j"><userinput>DESTDIR=${CLFS}/cross-tools/${CLFS_TARGET} make install</userinput></screen>
-
-  </sect2>
-
-  <sect2 id="contents-musl" role="content">
-    <title>Contents of musl</title>
-
-    <segmentedlist>
-      <segtitle>Installed Programs</segtitle>
-      <segtitle>Installed Libraries</segtitle>
-      <segtitle>Installed Headers</segtitle>
-      <seglistitem>
-        <seg>ld-musl.so.0</seg>
-        <seg> libc.so.0, libcrypt.so.0, libdl.so.0, libm.so.0, libpthread.so.0,
-        librt.so.0</seg>
-        <seg>To be written...</seg>
-      </seglistitem>
-    </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="ld-musl">
-        <term><command>ld-musl</command></term>
-        <listitem>
-          <para>The musl dynamic linker / loader</para>
-          <indexterm zone="ch-cross-tools-libc ld-musl">
-            <primary sortas="b-ld-musl">ld-musl</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="libc">
-        <term><filename class="libraryfile">libc</filename></term>
-        <listitem>
-          <para>The C library</para>
-          <indexterm zone="ch-cross-tools-libc libc">
-            <primary sortas="c-libc">libc</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="libcrypt">
-        <term><filename class="libraryfile">libcrypt</filename></term>
-        <listitem>
-          <para>The cryptographic library</para>
-          <indexterm zone="ch-cross-tools-libc libcrypt">
-            <primary sortas="c-libcrypt">libcrypt</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="libdl">
-        <term><filename class="libraryfile">libdl</filename></term>
-        <listitem>
-          <para>The musl dynamic linker / loader library</para>
-          <indexterm zone="ch-cross-tools-libc libdl">
-            <primary sortas="c-libdl">libdl</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="libm">
-        <term><filename class="libraryfile">libm</filename></term>
-        <listitem>
-          <para>The math library</para>
-          <indexterm zone="ch-cross-tools-libc libm">
-            <primary sortas="c-libm">libm</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="libpthread">
-        <term><filename class="libraryfile">libpthread</filename></term>
-        <listitem>
-          <para>The POSIX thread library</para>
-          <indexterm zone="ch-cross-tools-libc libpthread">
-            <primary sortas="c-libpthread">libpthread</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="librt">
-        <term><filename class="libraryfile">librt</filename></term>
-        <listitem>
-          <para>The clock and timer library</para>
-          <indexterm zone="ch-cross-tools-libc librt">
-            <primary sortas="c-librt">librt</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-  </sect2>
-</sect1>
Index: OK/cross-tools/common/linux-headers.xml
===================================================================
--- BOOK/cross-tools/common/linux-headers.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,69 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-cross-tools-linux-headers" role="wrap">
-  <?dbhtml filename="linux-headers.html"?>
-
-  <title>Linux-Headers-&linux-version;</title>
-
-  <indexterm zone="ch-cross-tools-linux-headers">
-    <primary sortas="a-Linux-Headers">Linux-Headers</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>The Linux Kernel contains a make target that installs
-    <quote>sanitized</quote> kernel headers.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of Linux Headers</title>
-
-    <para os="a">For this step you will need the kernel tarball.</para>
-
-    <para os="b">Install the header files that are common to all architectures:</para>
-
-<screen os="c"><userinput>make mrproper
-make ARCH=${CLFS_ARCH} headers_check
-make ARCH=${CLFS_ARCH} INSTALL_HDR_PATH=${CLFS}/cross-tools/${CLFS_TARGET} headers_install</userinput></screen>
-
-  </sect2>
-
-  <sect2 id="contents-linux-headers" role="content">
-    <title>Contents of Linux-Headers</title>
-
-    <segmentedlist>
-      <segtitle>Installed headers</segtitle>
-
-      <seglistitem>
-        <seg>${CLFS}/cross-tools/${CLFS_TARGET}/include/{asm,asm-generic,drm,linux,mtd,rdma,scsi,sound,video,xen}/*.h</seg>
-      </seglistitem>
-    </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="linux-headers">
-        <term><filename class="headerfile">${CLFS}/cross-tools/${CLFS_TARGET}/include/{asm,asm-generic,drm,linux,mtd,rdma,scsi,sound,video,xen}/*.h</filename></term>
-        <listitem>
-          <para>The Linux API headers</para>
-          <indexterm zone="ch-cross-tools-linux-headers linux-headers">
-            <primary
-            sortas="e-${CLFS}/cross-tools/${CLFS_TARGET}/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-  </sect2>
-
-</sect1>
Index: OK/cross-tools/common/sysroot.xml
===================================================================
--- BOOK/cross-tools/common/sysroot.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,20 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-cross-tools-sysroot">
-  <?dbhtml filename="sysroot.html"?>
-
-  <title>Create the Cross Tools Sysroot Directory</title>
-
-  <para>Create a sysroot directory which will be used when building the cross
-    compiler and link its <filename class="directory">usr</filename> directory
-    to itself such that everything installs to the sysroot:</para>
-
-<screen><userinput>mkdir -p ${CLFS}/cross-tools/${CLFS_TARGET}
-ln -sfv . ${CLFS}/cross-tools/${CLFS_TARGET}/usr</userinput></screen>
-
-</sect1>
Index: OK/cross-tools/common/toolchain.xml
===================================================================
--- BOOK/cross-tools/common/toolchain.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,29 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-system-toolchain">
-  <?dbhtml filename="toolchain.html"?>
-
-  <title>ToolChain Variables</title>
-
-  <para>Setup target-specific variables for the compiler, linker, and other
-    compile-time tools.  For the compiler and linker, use the target file system
-    directory as a sysroot rather than the sysroot we setup before for the
-    cross-tools. This time we write them to <filename>~/.bashrc</filename> so
-    that they persist even if the clfs user logs out:</para>
-
-<screen><userinput>echo <literal>export CC=\""${CLFS_TARGET}-gcc --sysroot=${CLFS}/targetfs\""</literal> &gt;&gt; ~/.bashrc
-echo <literal>export CXX=\""${CLFS_TARGET}-g++ --sysroot=${CLFS}/targetfs\""</literal> &gt;&gt; ~/.bashrc
-echo <literal>export AR=\""${CLFS_TARGET}-ar\""</literal> &gt;&gt; ~/.bashrc
-echo <literal>export AS=\""${CLFS_TARGET}-as\""</literal> &gt;&gt; ~/.bashrc
-echo <literal>export LD=\""${CLFS_TARGET}-ld --sysroot=${CLFS}/targetfs\""</literal> &gt;&gt; ~/.bashrc
-echo <literal>export RANLIB=\""${CLFS_TARGET}-ranlib\""</literal> &gt;&gt; ~/.bashrc
-echo <literal>export READELF=\""${CLFS_TARGET}-readelf\""</literal> &gt;&gt; ~/.bashrc
-echo <literal>export STRIP=\""${CLFS_TARGET}-strip\""</literal> &gt;&gt; ~/.bashrc
-source ~/.bashrc</userinput></screen>
-
-</sect1>
Index: OK/cross-tools/common/variables.xml
===================================================================
--- BOOK/cross-tools/common/variables.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,32 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-cross-tools-variables">
-  <?dbhtml filename="variables.html"?>
-
-  <title>Build Variables</title>
-
-  <bridgehead renderas="sect4">Setting Host and Target</bridgehead>
-
-<screen os="b"><userinput>export CLFS_HOST=$(echo ${MACHTYPE} | sed "s/-[^-]*/-cross/")
-export CLFS_TARGET="<replaceable>[target triplet]</replaceable>"</userinput></screen>
-
-  <para os="c">Now we will set the architecture and endianess of the CPU based
-  on the target triplet provided above:</para>
-
-<screen os="d"><userinput>export CLFS_ARCH=$(echo ${CLFS_TARGET} | sed -e 's/-.*//' -e 's/i.86/i386/')
-export CLFS_ENDIAN=little</userinput></screen>
-
-  <para os="g">Now we will add this to <filename>~/.bashrc</filename>, just in
-  case you have to exit and restart building later:</para>
-
-<screen os="h"><userinput>echo export CLFS_HOST=\""${CLFS_HOST}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_TARGET=\""${CLFS_TARGET}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_ARCH=\""${CLFS_ARCH}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_ENDIAN=\""${CLFS_ENDIAN}\"" &gt;&gt; ~/.bashrc</userinput></screen>
-
-</sect1>
Index: OK/cross-tools/mips-chapter.xml
===================================================================
--- BOOK/cross-tools/mips-chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,26 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<chapter id="chapter-cross-tools" xreflabel="Constructing Cross-Compile Tools">
-  <?dbhtml dir="cross-tools"?>
-  <?dbhtml filename="chapter.html"?>
-
-  <title>Constructing Cross-Compile Tools</title>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/cflags.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mips/abi.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mips/variables.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/sysroot.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/linux-headers.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/binutils.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mips/gcc-static.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/libc.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mips/gcc-final.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/toolchain.xml"/>
-
-</chapter>
Index: OK/cross-tools/mips/abi.xml
===================================================================
--- BOOK/cross-tools/mips/abi.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,66 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-system-abi">
-  <?dbhtml filename="abi.html"?>
-
-  <title>ABI Variables</title>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/abi.xml"
-  xpointer="xpointer(//*[@os='a'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/abi.xml"
-  xpointer="xpointer(//*[@os='b'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/abi.xml"
-  xpointer="xpointer(//*[@os='c'])"/>
-
-  <table>
-    <title>List of Build Variables</title>
-    <?dbfo table-width="5.5in" ?>
-
-    <tgroup cols="3">
-
-      <colspec colnum="1" colwidth="1.5in" colname="ABI to Select"/>
-      <colspec colnum="2" colwidth="1.5in" colname="CLFS_ABI Value"/>
-      <colspec colnum="3" colwidth="2.5in" colname="Notes"/>
-
-      <thead>
-        <row>
-          <entry>ABI</entry>
-          <entry>CLFS_ABI=Value</entry>
-          <entry>Notes</entry>
-        </row>
-      </thead>
-
-      <tbody>
-        <row>
-          <entry>O32</entry>
-          <entry>32</entry>
-          <entry>For 32 bit CPUs only</entry>
-        </row>
-        <row>
-          <entry>N32</entry>
-          <entry>n32</entry>
-          <entry>For 64 bit CPUs operating in 32 bit mode</entry>
-        </row>
-        <row>
-          <entry>N64</entry>
-          <entry>64</entry>
-          <entry>For 64 bit CPUs operating in 64 bit mode</entry>
-        </row>
-      </tbody>
-
-    </tgroup>
-
-  </table>
-
-</sect1>
-
Index: OK/cross-tools/mips/gcc-final.xml
===================================================================
--- BOOK/cross-tools/mips/gcc-final.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,96 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<!-- MIPS GCC-Final -->
-
-<sect1 id="ch-cross-tools-gcc-final" role="wrap">
-  <?dbhtml filename="gcc-final.html"?>
-
-  <title>GCC-&gcc-version; - Final</title>
-
-  <indexterm zone="ch-cross-tools-gcc-final">
-    <primary sortas="a-GCC">GCC</primary>
-    <secondary>cross tools, final</secondary>
-  </indexterm>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-final.xml"
-  xpointer="xpointer(//*[@role='package'])"/>
-
-  <sect2 role="installation">
-    <title>Installation of GCC Cross Compiler</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='b'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ba'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='c'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='d'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='e'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='f'])"/>
-
-<screen os="ae"><userinput>../gcc-&gcc-version;/configure \
-  --prefix=${CLFS}/cross-tools \
-  --build=${CLFS_HOST} \
-  --host=${CLFS_HOST} \
-  --target=${CLFS_TARGET} \
-  --with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET} \
-  --disable-nls \
-  --enable-languages=c \
-  --enable-c99 \
-  --enable-long-long \
-  --disable-libmudflap \
-  --disable-multilib \
-  --with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src \
-  --with-mpfr-lib=$(pwd)/mpfr/src/.libs \
-  --with-abi=${CLFS_ABI} \
-  --with-arch=mips${CLFS_MIPS_LEVEL} \
-  --with-float=${CLFS_FLOAT} \
-  --with-endian=${CLFS_ENDIAN}</userinput></screen>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='af'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ah'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ai'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='aj'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ak'])"/>
-
-  </sect2>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@role='content'])"/>
-
-</sect1>
Index: OK/cross-tools/mips/gcc-static.xml
===================================================================
--- BOOK/cross-tools/mips/gcc-static.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,139 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<!-- MIPS GCC-Static -->
-
-<sect1 id="ch-cross-tools-gcc-static" role="wrap">
-  <?dbhtml filename="gcc-static.html"?>
-
-  <title>GCC-&gcc-version; - Static</title>
-
-  <indexterm zone="ch-cross-tools-gcc-static">
-    <primary sortas="a-GCC">GCC</primary>
-    <secondary>cross tools, static</secondary>
-  </indexterm>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@role='package'])"/>
-
-  <sect2 role="installation">
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='a'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='b'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ba'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='c'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='d'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='e'])"/>
-
-<screen os="ae"><userinput>../gcc-&gcc-version;/configure \
-  --prefix=${CLFS}/cross-tools \
-  --build=${CLFS_HOST} \
-  --host=${CLFS_HOST} \
-  --target=${CLFS_TARGET} \
-  --with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET} \
-  --disable-nls  \
-  --disable-shared \
-  --without-headers \
-  --with-newlib \
-  --disable-decimal-float \
-  --disable-libgomp \
-  --disable-libmudflap \
-  --disable-libssp \
-  --disable-libatomic \
-  --disable-libquadmath \
-  --disable-threads \
-  --enable-languages=c \
-  --disable-multilib \
-  --with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src \
-  --with-mpfr-lib=$(pwd)/mpfr/src/.libs \
-  --with-abi=${CLFS_ABI} \
-  --with-arch=mips${CLFS_MIPS_LEVEL} \
-  --with-float=${CLFS_FLOAT} \
-  --with-endian=${CLFS_ENDIAN}</userinput></screen>
-
-<!-- Common configure switches for all archs -->
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='af'])"/>
-
-<!-- Specific configure switches for MIPS -->
-  <variablelist os="ag">
-
-    <varlistentry os="ag1">
-      <term><parameter>--with-abi=${CLFS_ABI}</parameter></term>
-      <listitem>
-        <para>This option sets the ABI selected earlier.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry os="ag2">
-      <term><parameter>--with-arch=mips${CLFS_MIPS_LEVEL}</parameter></term>
-      <listitem>
-        <para>This option sets the MIPS architecture ISA.  Generic options
-        that apply to this book are of the form "mips${CLFS_MIPS_LEVEL}".
-        For example, "mips1" or "mips3".  For a more expanded list of choices,
-        please see the GCC documentation at
-        <ulink url="http://gcc.gnu.org/onlinedocs/gcc/MIPS-Options.html" /></para>
-      </listitem>
-    </varlistentry>
-    <varlistentry os="ag3">
-      <term><parameter>--with-float=${CLFS_FLOAT}</parameter></term>
-      <listitem>
-        <para>This option sets the floating point mode selected earlier.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry os="ag4">
-      <term><parameter>--with-endian=${CLFS_ENDIAN}</parameter></term>
-      <listitem>
-        <para>This option sets the endianess of the CPU selected earlier.
-        GCC's configure scripts may not be able to determine the endianess
-        based only on the target triplet (as other architectures do).</para>
-      </listitem>
-    </varlistentry>
-
-  </variablelist>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ah'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ai'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='aj'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ak'])"/>
-
-  </sect2>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@role='content'])"/>
-
-</sect1>
Index: OK/cross-tools/mips/variables.xml
===================================================================
--- BOOK/cross-tools/mips/variables.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,102 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-cross-tools-variables">
-  <?dbhtml filename="variables.html"?>
-
-  <title>Build Variables</title>
-
-  <bridgehead renderas="sect4">Setting Host and Target</bridgehead>
-
-  <para os="a">During the building of the cross-compile tools you will need to
-  set a few variables that will be dependent on your particular needs.
-  You will need to set the target triplet for the target architecture, the MIPS
-  level, and CPU endianess. If you do not know what triplet or level you want,
-  you can use the table as a reference. Set
-  the command using the method listed below:</para>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/variables.xml"
-  xpointer="xpointer(//*[@os='b'])"/>
-
-  <table os="i">
-    <title>Processor Type and  Target Triplets</title>
-    <?dbfo table-width="5.5in" ?>
-
-    <tgroup cols="3">
-
-      <colspec colnum="1" colwidth="2in"   colname="Processor"/>
-      <colspec colnum="2" colwidth="2.5in" colname="Triplet"/>
-      <colspec colnum="3" colwidth="1in"   colname="MIPS Level"/>
-
-      <thead>
-        <row>
-          <entry>Processor</entry>
-          <entry>Target Triplet</entry>
-          <entry>MIPS Level</entry>
-        </row>
-      </thead>
-
-      <tbody>
-        <row>
-          <entry>MIPS 32 bits Little Endian</entry>
-          <entry>mipsel-linux-musl</entry>
-          <entry>1</entry>
-        </row>
-        <row>
-          <entry>MIPS 32 bits Big Endian</entry>
-          <entry>mips-linux-musl</entry>
-          <entry>1</entry>
-        </row>
-        <row>
-          <entry>MIPS 64 bits Little Endian</entry>
-          <entry>mips64el-linux-musl</entry>
-          <entry>3</entry>
-        </row>
-        <row>
-          <entry>MIPS 64 bits Big Endian</entry>
-          <entry>mips64-linux-musl</entry>
-          <entry>3</entry>
-        </row>
-      </tbody>
-
-    </tgroup>
-
-  </table>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/variables.xml"
-  xpointer="xpointer(//*[@os='c'])"/>
-
-<screen os="d"><userinput>export CLFS_ARCH=mips
-export CLFS_ENDIAN=$(echo ${CLFS_ARCH} | sed -e 's/mipsel/little/' -e 's/mips/big/')</userinput></screen>
-
-  <para os="m1">Now you will need to set the MIPS LEVEL. This determines how your
-  GCC and C library are built. There are currently 5 MIPS ISA Levels. To keep things 
-  simple we are only using two. For more information, see
-  <ulink url="http://www.linux-mips.org/wiki/Instruction_Set_Architecture"/></para>
-
-<screen os="m2"><userinput>export CLFS_MIPS_LEVEL="<replaceable>[mips level]</replaceable>"</userinput></screen>
-
-  <para os="m3">We also need to select the floating point capability of the CPU.
-  If the CPU has built-in hardware for performing floating point calculations,
-  choose "hard", otherwise choose "soft":</para>
-
-<screen os="m4"><userinput>export CLFS_FLOAT="<replaceable>[hard or soft]</replaceable>"</userinput></screen>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/variables.xml"
-  xpointer="xpointer(//*[@os='g'])"/>
-
-<screen os="h"><userinput>echo export CLFS_HOST=\""${CLFS_HOST}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_TARGET=\""${CLFS_TARGET}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_ARCH=\""${CLFS_ARCH}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_ENDIAN=\""${CLFS_ENDIAN}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_MIPS_LEVEL=\""${CLFS_MIPS_LEVEL}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_FLOAT=\""${CLFS_FLOAT}\"" &gt;&gt; ~/.bashrc</userinput></screen>
-
-</sect1>
Index: BOOK/cross-tools/x86-chapter.xml
===================================================================
--- BOOK/cross-tools/x86-chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/cross-tools/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../general.ent">
   %general-entities;
@@ -15,11 +15,10 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/cflags.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/variables.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/sysroot.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/linux-headers.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/linux-headers.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/binutils.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/gcc-static.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/libc.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/gcc-final.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/toolchain.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/uclibc-headers.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/gcc-static.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/uclibc.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/gcc-final.xml"/>
 
 </chapter>
Index: OK/cross-tools/x86/gcc-final.xml
===================================================================
--- BOOK/cross-tools/x86/gcc-final.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,93 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<!-- x86 GCC-Final -->
-
-<sect1 id="ch-cross-tools-gcc-final" role="wrap">
-  <?dbhtml filename="gcc-final.html"?>
-
-  <title>GCC-&gcc-version; - Final</title>
-
-  <indexterm zone="ch-cross-tools-gcc-final">
-    <primary sortas="a-GCC">GCC</primary>
-    <secondary>cross tools, final</secondary>
-  </indexterm>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-final.xml"
-  xpointer="xpointer(//*[@role='package'])"/>
-
-  <sect2 role="installation">
-    <title>Installation of GCC Cross Compiler</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='b'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ba'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='c'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='d'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='e'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='f'])"/>
-
-<screen os="ae"><userinput>../gcc-&gcc-version;/configure \
-  --prefix=${CLFS}/cross-tools \
-  --build=${CLFS_HOST} \
-  --host=${CLFS_HOST} \
-  --target=${CLFS_TARGET} \
-  --with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET} \
-  --disable-nls \
-  --enable-languages=c \
-  --enable-c99 \
-  --enable-long-long \
-  --disable-libmudflap \
-  --disable-multilib \
-  --with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src \
-  --with-mpfr-lib=$(pwd)/mpfr/src/.libs \
-  --with-arch=${CLFS_CPU}</userinput></screen>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='af'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ah'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ai'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='aj'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@os='ak'])"/>
-
-  </sect2>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/gcc-final.xml"
-    xpointer="xpointer(//*[@role='content'])"/>
-
-</sect1>
Index: OK/cross-tools/x86/gcc-static.xml
===================================================================
--- BOOK/cross-tools/x86/gcc-static.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,113 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<!-- x86 GCC-Static -->
-
-<sect1 id="ch-cross-tools-gcc-static" role="wrap">
-  <?dbhtml filename="gcc-static.html"?>
-
-  <title>GCC-&gcc-version; - Static</title>
-
-  <indexterm zone="ch-cross-tools-gcc-static">
-    <primary sortas="a-GCC">GCC</primary>
-    <secondary>cross tools, static</secondary>
-  </indexterm>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@role='package'])"/>
-
-  <sect2 role="installation">
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='a'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='b'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ba'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='c'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='d'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='e'])"/>
-
-<screen os="ae"><userinput>../gcc-&gcc-version;/configure \
-  --prefix=${CLFS}/cross-tools \
-  --build=${CLFS_HOST} \
-  --host=${CLFS_HOST} \
-  --target=${CLFS_TARGET} \
-  --with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET} \
-  --disable-nls  \
-  --disable-shared \
-  --without-headers \
-  --with-newlib \
-  --disable-decimal-float \
-  --disable-libgomp \
-  --disable-libmudflap \
-  --disable-libssp \
-  --disable-libatomic \
-  --disable-libquadmath \
-  --disable-threads \
-  --enable-languages=c \
-  --disable-multilib \
-  --with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src \
-  --with-mpfr-lib=$(pwd)/mpfr/src/.libs \
-  --with-arch=${CLFS_CPU}</userinput></screen>
-
-<!-- Common configure switches for all archs -->
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='af'])"/>
-
-<!-- Specific configure switches for x86 -->
-  <variablelist os="ag">
-
-    <varlistentry os="ag1">
-      <term><parameter>--with-arch=${CLFS_CPU}</parameter></term>
-      <listitem>
-        <para>This option configures the cross compiler to only output
-        instructions for our previously selected CPU.</para>
-      </listitem>
-    </varlistentry>
-
-  </variablelist>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ah'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ai'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='aj'])"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@os='ak'])"/>
-
-  </sect2>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../common/gcc-static.xml"
-  xpointer="xpointer(//*[@role='content'])"/>
-
-</sect1>
Index: BOOK/cross-tools/x86/linux-headers.xml
===================================================================
--- BOOK/cross-tools/x86/linux-headers.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/cross-tools/x86/linux-headers.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-system-linux-headers" role="wrap">
+  <?dbhtml filename="linux-headers.html"?>
+
+  <title>Linux-Headers-&linux-headers-version;</title>
+
+  <indexterm zone="ch-system-linux-headers">
+    <primary sortas="a-Linux-Headers">Linux-Headers</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The Linux Headers package contains the
+    <quote>sanitized</quote> kernel headers.</para>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of Linux Headers</title>
+
+    <para os="a">For years it has been common practice to use
+    <quote>raw</quote> kernel headers (straight from a kernel tarball) in
+    <filename class="directory">/usr/include</filename>, but over the last few
+    years, the kernel developers have taken a strong stance that this
+    should not be done. This gave birth to the Linux-Libc-Headers Project,
+    which was designed to maintain an API stable version of the Linux
+    headers. Recently this project stopped producing updates, so the Cross-LFS
+    team started development on our own project to sanitize the headers.</para>
+
+    <para os="b">Install the header files that are common to all architectures:</para>
+
+<screen os="c"><userinput>install -dv ${CLFS}/usr/include
+cp -av include/{asm-generic,linux,mtd,scsi,sound} ${CLFS}/usr/include</userinput></screen>
+
+    <para os="d">Install the header files that are specific to this architecture:</para>
+
+<screen><userinput>cp -av include/asm-i386 ${CLFS}/usr/include/asm</userinput></screen>
+
+  </sect2>
+
+  <sect2 id="contents-linux-headers" role="content">
+    <title>Contents of Linux-Headers</title>
+
+    <segmentedlist>
+      <segtitle>Installed headers</segtitle>
+
+      <seglistitem>
+        <seg>/usr/include/{asm,linux}/*.h</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="linux-headers">
+        <term><filename
+        class="headerfile">/usr/include/{asm,linux}/*.h</filename></term>
+        <listitem>
+          <para>The Linux API headers</para>
+          <indexterm zone="ch-system-linux-headers linux-headers">
+            <primary
+            sortas="e-/usr/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>
Index: BOOK/cross-tools/x86/uclibc-headers.xml
===================================================================
--- BOOK/cross-tools/x86/uclibc-headers.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/cross-tools/x86/uclibc-headers.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-cross-tools-uclibc-headers" role="wrap">
+  <?dbhtml filename="uclibc-headers.html"?>
+
+  <title>uClibc-&uclibc-version; Headers</title>
+
+  <indexterm zone="ch-cross-tools-uclibc-headers">
+    <primary sortas="a-uClibc">uClibc</primary>
+    <secondary>cross tools, headers</secondary>
+  </indexterm>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+  href="uclibc.xml"
+  xpointer="xpointer(//*[@role='package'])"/>
+
+  <sect2 role="installation">
+    <title>Installation of uClibc Headers</title>
+
+    <para os="a">By default uClibc symlinks all its headers from the source, we
+    will change this behavious with the following sed:</para>
+ 	
+<screen os="b"><userinput>cp Makefile Makefile.orig
+sed -e 's/$(LN) -fs/cp/g' Makefile.orig > Makefile
+for file in `find libc/sysdeps/linux -name Makefile`; do
+        cp $file $file.orig
+        sed -e 's/$(LN) -fs/cp/g' -e 's@../libc/@$(TOPDIR)libc/@g' $file.orig > $file
+done</userinput></screen>
+
+    <para os="c">Now we will ask uClibc to create a default configuration:</para>
+
+<screen os="d"><userinput>make defconfig</userinput></screen>
+
+   <para os="e">Create the Headers:</para>
+
+<screen os="f"><userinput>make KERNEL_SOURCE=${CLFS}/usr TARGET_ARCH=i386 headers</userinput></screen>
+
+   <para os="g">We will remove the files that were copied over from our Linux Headers, these
+   files were copied into the source directory of uClibc:</para>
+
+<screen os="h"><userinput>rm include/{asm,asm-generic,linux}</userinput></screen>
+
+   <para os="i">Install the Headers:</para>
+
+<screen os="j"><userinput>cp -a include/* ${CLFS}/usr/include</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="content" id="contents-uclibc-headers">
+    <title/>
+
+    <para>Details on this package are located in <xref
+    linkend="contents-uclibc" role="."/></para>
+
+  </sect2>
+
+</sect1>
Index: BOOK/cross-tools/x86/uclibc.xml
===================================================================
--- BOOK/cross-tools/x86/uclibc.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/cross-tools/x86/uclibc.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-cross-tools-uclibc" role="wrap">
+  <?dbhtml filename="uclibc.html"?>
+
+  <title>uClibc-&uclibc-version;</title>
+
+  <indexterm zone="ch-cross-tools-uclibc">
+    <primary sortas="a-uClibc">uClibc</primary>
+    <secondary>cross tools</secondary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The uClibc package contains the main C library. This library provides
+    the basic routines for allocating memory, searching directories, opening and
+    closing files, reading and writing files, string handling, pattern matching,
+    arithmetic, and so on.</para>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of uClibc</title>
+
+    <para os="a">Since we are cross-compiling, we need to make sure when we
+    configuration for our architecture we get the correct information. The
+    following sed makes sure we are using the proper settings for our
+    architecture: (This is a place holder for the other architectures</para>
+
+<screen os="b"><userinput>cp extra/Configs/Config.in extra/Configs/Config.in.orig
+sed -e "s:default TARGET_i386:default TARGET_i386:" \
+   extra/Configs/Config.in.orig > extra/Configs/Config.in</userinput></screen>
+
+    <para os="c">Create default configuration:</para>
+
+<screen os="d"><userinput>make defconfig</userinput></screen>
+
+   <para os="e">We will need to edit the configuration file, to make sure everything gets
+   compiled and put into it's proper locations:</para>
+
+<screen os="f"><userinput>cp .config .config.orig
+sed -e "/^CROSS_COMPILER_PREFIX/s:=.*:=\"${CLFS_TARGET}-\":" \
+    -e "/^KERNEL_SOURCE/s:=.*:=\"${CLFS}/usr\":" \
+    -e "/^SHARED_LIB_LOADER_PREFIX/s:=.*:=\"/lib\":" \
+    -e "/^DEVEL_PREFIX/s:=.*:=\"/usr\":" \
+    -e "/^RUNTIME_PREFIX/s:=.*:=\"/\":" \
+    .config.orig > .config</userinput></screen>
+
+    <para os="g">Compile the package:</para>
+
+<screen os="h"><userinput>make TARGET_ARCH=i386</userinput></screen>
+
+   <para os="i">We will remove the files that were copied over from our Linux Headers, these
+   files were copied into the source directory of uClibc:</para>
+
+<screen os="j"><userinput>rm include/{asm,asm-generic,linux}</userinput></screen>
+
+    <para os="k">Install the package:</para>
+
+<screen os="l"><userinput>make PREFIX=${CLFS} install</userinput></screen>
+
+  </sect2>
+
+  <sect2 id="contents-uclibc" role="content">
+    <title>Contents of uClibc</title>
+
+    <segmentedlist>
+      <segtitle>Installed uClibc</segtitle>
+
+      <seglistitem>
+        <seg>To Be Written</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+<!--      <varlistentry id="uclibc">
+        <term><filename
+        class="headerfile">/usr/include/{asm,linux}/*.h</filename></term>
+        <listitem>
+          <para>The Linux API headers</para>
+          <indexterm zone="ch-system-linux-headers linux-headers">
+            <primary
+            sortas="e-/usr/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+-->
+    </variablelist>
+
+  </sect2>
+</sect1>
Index: BOOK/cross-tools/x86/variables.xml
===================================================================
--- BOOK/cross-tools/x86/variables.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/cross-tools/x86/variables.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -15,81 +15,56 @@
   <para os="a">During the building of the cross-compile tools you will need to
   set a few variables that will be dependent on your particular needs.
-  You will need to set the target triplet for the target architecture, and the
-  CPU type. If you do not know what triplet or CPU type you want,
-  you can use the table as a reference. Set
+  The first variable will be the triplet of the <envar>HOST</envar> machine.
+  You will need to set the <envar>CHOST</envar> triplet to match your
+  particular needs. To set this information you can issue the following
+  command:</para>
+
+<screen os="b"><userinput>export CLFS_HOST="$(echo $MACHTYPE | sed "s/$(echo $MACHTYPE | cut -d- -f2)/cross/")"</userinput></screen>
+
+  <para os="c">Now you will need to set the target triplet for the target
+  architecture. You can do this by running the same command as above, just
+  running it on the target machine. If you can't run the command on the
+  target machine, you can use the table at the bottom of this page. Set
   the command using the method listed below:</para>
 
-<screen os="b"><userinput>export CLFS_HOST=$(echo ${MACHTYPE} | sed "s/-[^-]*/-cross/")
-export CLFS_TARGET=<replaceable>[target triplet]</replaceable>
-export CLFS_CPU=<replaceable>[cpu type]</replaceable></userinput></screen>
+<screen os="d"><userinput>export CLFS_TARGET="{target tripplet}"</userinput></screen>
 
-  <table os="i">
+  <para os="e">Now we will add these to <filename>~/.bashrc</filename>, just in
+  case you have to exit and restart building later:</para>
+
+<screen os="f"><userinput>echo export CLFS_HOST=\""${CLFS_HOST}\"" &gt;&gt; ~/.bashrc
+echo export CLFS_TARGET=\""${CLFS_TARGET}\"" &gt;&gt; ~/.bashrc</userinput></screen>
+
+  <table os="g">
     <title>Processor Type and  Target Triplets</title>
-    <?dbfo table-width="7.5in" ?>
-
-    <tgroup cols="4">
-
-      <colspec colnum="1" colwidth="2.5in"   colname="Processor"/>
-      <colspec colnum="2" colwidth="2in" colname="Triplet"/>
-      <colspec colnum="3" colwidth="0.5in" colname="CPU Type"/>
-      <colspec colnum="4" colwidth="2.5in" colname="Note"/>
-
+    <tgroup cols="2" align="center">
+      <colspec colname="Processor"/>
+      <colspec colname="Triplet"/>
       <thead>
         <row>
           <entry>Processor</entry>
           <entry>Target Triplet</entry>
-          <entry>CPU Type</entry>
-          <entry>Note</entry>
         </row>
       </thead>
-
       <tbody>
         <row>
           <entry>486 Compatibles</entry>
-          <entry>i486-linux-musl</entry>
-          <entry>i486</entry>
-          <entry>Intel's i486</entry>
+          <entry>i486-pc-linux-uclibc</entry>
         </row>
         <row>
           <entry>Pentium, K6, 586 Compatibles</entry>
-          <entry>i586-linux-musl</entry>
-          <entry>i586</entry>
-          <entry>Intel Pentium without MMX</entry>
+          <entry>i586-pc-linux-uclibc</entry>
         </row>
         <row>
           <entry>Pentium II, Pentium III, Pentium 4</entry>
-          <entry>i686-linux-musl</entry>
-          <entry>i686</entry>
-          <entry>PentiumPro instruction set</entry>
+          <entry>i686-pc-linux-uclibc</entry>
         </row>
         <row>
-          <entry>Athlon</entry>
-          <entry>i686-linux-musl</entry>
-          <entry>athlon</entry>
-          <entry>AMD 32 bit Athlon</entry>
-        </row>
-        <row>
-          <entry>Opteron</entry>
-          <entry>x86_64-linux-musl</entry>
-          <entry>k8</entry>
-          <entry>AMD K8 processors with x86-64</entry>
+          <entry>Athlon, Duron</entry>
+          <entry>i686-pc-linux-uclibc</entry>
         </row>
       </tbody>
-
     </tgroup>
-
   </table>
 
-  <para os="c">Now set the architecture of the CPU:</para>
-
-<screen os="d"><userinput>export CLFS_ARCH="x86"</userinput></screen>
-
-  <para os="g">Now we will add this to <filename>~/.bashrc</filename>, just in
-  case you have to exit and restart building later:</para>
-
-<screen os="h"><userinput>echo export CLFS_HOST=\""${CLFS_HOST}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_TARGET=\""${CLFS_TARGET}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_ARCH=\""${CLFS_ARCH}\"" &gt;&gt; ~/.bashrc
-echo export CLFS_CPU=\""${CLFS_CPU}\"" &gt;&gt; ~/.bashrc</userinput></screen>
-
 </sect1>
Index: BOOK/file_sizes
===================================================================
--- BOOK/file_sizes	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/file_sizes	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,6 @@
+How we get files sizes.
+
+We need to have consistency on getting the file sizes. The method
+we should be using is du {filename}.
+
+
Index: OK/filesize.sh
===================================================================
--- BOOK/filesize.sh	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,19 +1,0 @@
-#!/bin/bash
-
-FILENAME=$1
-
-if [ "${FILENAME}" = ""  ]; then
-  echo "To Calculate the proper file size use the following command."
-  echo "$0 filename"
-  exit 255
-else
-  FILESIZE=$(ls -l ${FILENAME} | cut -f5 -d' ')
-  ((size=${FILESIZE}/1024))
-  if [ "${size}" = "0" ]; then
-    size=$(echo .$(echo ${FILESIZE} | cut -b1))
-  fi
-  FILEMD5SUM=$(md5sum ${FILENAME})
-
-  echo "${size} KB"
-  echo "${FILEMD5SUM}"
-fi
Index: BOOK/final-preps/aboutclfs.xml
===================================================================
--- BOOK/final-preps/aboutclfs.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/final-preps/aboutclfs.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../general.ent">
   %general-entities;
@@ -31,4 +31,9 @@
   processes the command line.</para>
 
+  <para>If you haven't created the <filename class="directory">${CLFS}</filename>
+  directory, do so at this time by issuing the following commands:</para>
+
+<screen><userinput>install -dv ${CLFS}</userinput></screen>
+
   <para>Do not forget to check that <envar>${CLFS}</envar> is set whenever
   you leave and reenter the current working environment (as when doing a
Index: BOOK/final-preps/abouttestsuites.xml
===================================================================
--- BOOK/final-preps/abouttestsuites.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/final-preps/abouttestsuites.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-final-preps-abouttestsuites">
+  <?dbhtml filename="abouttestsuites.html"?>
+
+  <title>About the Test Suites</title>
+
+  <para>Most packages provide a test suite. Running the test suite for a
+  newly built package is a good idea because it can provide a <quote>sanity
+  check</quote> indicating that everything compiled correctly. A test suite
+  that passes its set of checks usually proves that the package is
+  functioning as the developer intended. It does not, however, guarantee
+  that the package is totally bug free.</para>
+
+  <para>It is not possible to run testsuites when cross-compiling, so package
+  installation instructions do not explain how to run testsuites.</para>
+
+</sect1>
Index: BOOK/final-preps/addinguser.xml
===================================================================
--- BOOK/final-preps/addinguser.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/final-preps/addinguser.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../general.ent">
   %general-entities;
@@ -18,8 +18,9 @@
   class="username">clfs</systemitem> as a member of a new group (also named
   <systemitem class="groupname">clfs</systemitem>) and use this user during
-  the installation process.  You may need to do this as the root user:</para>
+  the installation process. As <systemitem class="username">root</systemitem>,
+  issue the following commands to add the new user:</para>
 
-<screen><userinput>sudo groupadd clfs
-sudo useradd -s /bin/bash -g clfs -m -k /dev/null clfs</userinput></screen>
+<screen><userinput>groupadd clfs
+useradd -s /bin/bash -g clfs -m -k /dev/null clfs</userinput></screen>
 
   <variablelist>
@@ -73,14 +74,13 @@
   does not require the <systemitem class="username">clfs</systemitem> user
   to have a password), give <systemitem class="username">clfs</systemitem>
-  a password.  You may need to do this as the root user:</para>
+  a password:</para>
 
-<screen><userinput>sudo passwd clfs</userinput></screen>
+<screen><userinput>passwd clfs</userinput></screen>
 
   <para>Grant <systemitem class="username">clfs</systemitem> full access to
   <filename class="directory">${CLFS}</filename> by making <systemitem
-  class="username">clfs</systemitem> the directory's owner.  You may need to do
-  this as the root user:</para>
+  class="username">clfs</systemitem> the directory's owner:</para>
 
-<screen><userinput>sudo chown -Rv clfs ${CLFS}</userinput></screen>
+<screen><userinput>chown -Rv clfs ${CLFS}</userinput></screen>
 
   <para>Next, login as user <systemitem class="username">clfs</systemitem>.
Index: BOOK/final-preps/chapter.xml
===================================================================
--- BOOK/final-preps/chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/final-preps/chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../general.ent">
   %general-entities;
@@ -15,4 +15,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="addinguser.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="settingenviron.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingfiles.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="abouttestsuites.xml"/>
 
 </chapter>
Index: BOOK/final-preps/creatingdirs.xml
===================================================================
--- BOOK/final-preps/creatingdirs.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/final-preps/creatingdirs.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-final-preps-creatingdirs">
+  <?dbhtml filename="creatingdirs.html"?>
+
+  <title>Creating Directories</title>
+
+  <para>It is time to create some structure in the CLFS file system. Create a
+  standard directory tree by issuing the following commands:</para>
+
+<screen><userinput>mkdir -pv ${CLFS}/{bin,boot,dev,{etc/,}opt,home,lib,mnt}
+mkdir -pv ${CLFS}/{proc,media/{floppy,cdrom},sbin,srv,sys}
+mkdir -pv ${CLFS}/var/{lock,log,mail,run,spool}
+mkdir -pv ${CLFS}/var/{opt,cache,lib/{misc,locate},local}
+install -dv -m 0750 ${CLFS}/root
+install -dv -m 1777 ${CLFS}{/var,}/tmp
+mkdir -pv ${CLFS}/usr/{,local/}{bin,include,lib,sbin,src}
+mkdir -pv ${CLFS}/usr/{,local/}share/{doc,info,locale,man}
+mkdir -pv ${CLFS}/usr/{,local/}share/{misc,terminfo,zoneinfo}
+mkdir -pv ${CLFS}/usr/{,local/}share/man/man{1,2,3,4,5,6,7,8}
+for dir in ${CLFS}/usr{,/local}; do
+  ln -sv share/{man,doc,info} ${dir}
+done</userinput></screen>
+
+  <para>Directories are, by default, created with permission mode 755, but
+  this is not desirable for all directories. In the commands above, two
+  changes are made&mdash;one to the home directory of user <systemitem
+  class="username">root</systemitem>, and another to the directories for
+  temporary files.</para>
+
+  <para>The first mode change ensures that not just anybody can enter
+  the <filename class="directory">/root</filename> directory&mdash;the
+  same as a normal user would do with his or her home directory. The
+  second mode change makes sure that any user can write to the
+  <filename class="directory">/tmp</filename> and <filename
+  class="directory">/var/tmp</filename> directories, but cannot remove
+  another user's files from them. The latter is prohibited by the so-called
+  <quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para>
+
+  <sect2>
+    <title>FHS Compliance Note</title>
+
+    <para>The directory tree is based on the Filesystem Hierarchy Standard (FHS)
+    (available at <ulink url="http://www.pathname.com/fhs/"/>). In addition to
+    the FHS, we create compatibility symlinks for the <filename
+    class="directory">man</filename>, <filename
+    class="directory">doc</filename>, and <filename
+    class="directory">info</filename> directories since many packages still try
+    to install their documentation into <filename
+    class="directory">/usr/&lt;directory&gt;</filename> or <filename
+    class="directory">/usr/local/&lt;directory&gt;</filename> as opposed to
+    <filename class="directory">/usr/share/&lt;directory&gt;</filename> or
+    <filename class="directory">/usr/local/share/&lt;directory&gt;</filename>.
+    The FHS also stipulates the existence of <filename
+    class="directory">/usr/local/games</filename> and <filename
+    class="directory">/usr/share/games</filename>. The FHS is not precise as to
+    the structure of the <filename class="directory">/usr/local/share</filename>
+    subdirectory, so we create only the directories that are needed. However,
+    feel free to create these directories if you prefer to conform more strictly
+    to the FHS.</para>
+
+  </sect2>
+
+</sect1>
Index: BOOK/final-preps/creatingfiles.xml
===================================================================
--- BOOK/final-preps/creatingfiles.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/final-preps/creatingfiles.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-final-preps-creatingfiles">
+  <?dbhtml filename="creatingfiles.html"?>
+
+  <title>Creating the passwd, group, and log Files</title>
+
+  <indexterm zone="ch-final-preps-creatingfiles">
+    <primary sortas="e-/etc/passwd">/etc/passwd</primary>
+  </indexterm>
+
+  <indexterm zone="ch-final-preps-creatingfiles">
+    <primary sortas="e-/etc/group">/etc/group</primary>
+  </indexterm>
+
+  <indexterm zone="ch-final-preps-creatingfiles">
+    <primary sortas="e-/var/run/utmp">/var/run/utmp</primary>
+  </indexterm>
+
+  <indexterm zone="ch-final-preps-creatingfiles">
+    <primary sortas="e-/var/log/btmp">/var/log/btmp</primary>
+  </indexterm>
+
+  <indexterm zone="ch-final-preps-creatingfiles">
+    <primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary>
+  </indexterm>
+
+  <indexterm zone="ch-final-preps-creatingfiles">
+    <primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary>
+  </indexterm>
+
+  <para>A proper Linux system maintains a list of the mounted file systems in
+  the file <filename>/etc/mtab</filename>.  Normally, this file would be
+  created when we mount a new file system. Since we will not be mounting any
+  file systems inside our chroot environment, create an empty file for
+  utilities that expect the presence of <filename>/etc/mtab</filename>:</para>
+
+<screen><userinput>touch ${CLFS}/etc/mtab</userinput></screen>
+
+  <para>In order for user <systemitem class="username">root</systemitem> to be
+  able to login and for the name <quote>root</quote> to be recognized, there
+  must be relevant entries in the <filename>/etc/passwd</filename> and
+  <filename>/etc/group</filename> files.</para>
+
+  <para>Create the <filename>/etc/passwd</filename> file by running the following
+  command:</para>
+
+<screen><userinput>cat &gt; ${CLFS}/etc/passwd &lt;&lt; "EOF"
+<literal>root::0:0:root:/root:/bin/bash</literal>
+EOF</userinput></screen>
+
+  <para>The actual password for <systemitem class="username">root</systemitem>
+  (the <quote>::</quote> used here is just a placeholder and allow you to login
+  with no password) will be set later.</para>
+
+  <variablelist os="b">
+
+    <title>Additional users you may want to add:</title>
+
+    <varlistentry>
+      <term><literal>bin:x:1:1:bin:/bin:/bin/false</literal></term>
+      <listitem>
+        <para>Can be useful for compatibility with legacy applications.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>daemon:x:2:6:daemon:/sbin:/bin/false</literal></term>
+      <listitem>
+        <para>It is often recommended to use an unprivileged User ID/Group ID
+        for daemons in order to limit their access to the system.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>adm:x:3:16:adm:/var/adm:/bin/false</literal></term>
+      <listitem>
+        <para>Was used for programs that performed administrative tasks.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>lp:x:10:9:lp:/var/spool/lp:/bin/false</literal></term>
+      <listitem>
+        <para>Used by programs for printing.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>mail:x:30:30:mail:/var/mail:/bin/false</literal></term>
+      <listitem>
+        <para>Often used by email programs.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>news:x:31:31:news:/var/spool/news:/bin/false</literal></term>
+      <listitem>
+        <para>Often used for network news servers.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>uucp:x:32:32:uucp:/var/spool/uucp:/bin/false</literal></term>
+      <listitem>
+        <para>Often used for Unix-to-Unix Copy of files from one server to the next</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>operator:x:50:0:operator:/root:/bin/bash</literal></term>
+      <listitem>
+        <para>Often used to allow system operators to access the system.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>postmaster:x:51:30:postmaster:/var/spool/mail:/bin/false</literal></term>
+      <listitem>
+        <para>Generally used as an account that receives all the information of troubles with the mail server.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>nobody:x:65534:65534:nobody:/:/bin/false</literal></term>
+      <listitem>
+        <para>Used by NFS.</para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+
+  <para>Create the <filename>/etc/group</filename> file by running the following
+  command:</para>
+
+<screen><userinput>cat &gt; ${CLFS}/etc/group &lt;&lt; "EOF"
+<literal>root:x:0:
+bin:x:1:
+sys:x:2:
+kmem:x:3:
+tty:x:4:
+tape:x:5:
+daemon:x:6:
+floppy:x:7:
+disk:x:8:
+lp:x:9:
+dialout:x:10:
+audio:x:11:
+video:x:12:
+utmp:x:13:
+usb:x:14:
+cdrom:x:15:</literal>
+EOF</userinput></screen>
+
+  <variablelist os="c">
+
+    <title>Additional groups you may want to add</title>
+
+    <varlistentry>
+      <term><literal>adm:x:16:root,adm,daemon</literal></term>
+      <listitem>
+        <para>All users in this group are allowed to do administrative tasks</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>console:x:17:</literal></term>
+      <listitem>
+        <para>This group has direct access to the console</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>cdrw:x:18:</literal></term>
+      <listitem>
+        <para>This group is allowed to use the CDRW drive</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>mail:x:30:mail</literal></term>
+      <listitem>
+        <para>Used by MTAs (Mail Transport Agents)</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>news:x:31:news</literal></term>
+      <listitem>
+        <para>Used by Network News Servers</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>uucp:x:32:uucp</literal></term>
+      <listitem>
+        <para>Used by the Unix-to-Unix copy users</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>users:x:100:</literal></term>
+      <listitem>
+        <para>The default GID used by shadow for new users</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>nogroup:x:65533:</literal></term>
+      <listitem>
+        <para>This is a default group used by some programs that do not
+        require a group</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>nobody:x:65534:</literal></term>
+      <listitem>
+        <para>This is used by NFS</para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+
+  <para>The created groups are not part of any standard&mdash;they are groups
+  decided on in part by the requirements of the Udev configuration in this
+  chapter, and in part by common convention employed by a number of existing
+  Linux distributions. The Linux Standard Base (LSB, available at <ulink
+  url="http://www.linuxbase.org"/>) recommends only that, besides the group
+  <systemitem class="groupname">root</systemitem> with a Group ID (GID) of 0,
+  a group <systemitem class="groupname">bin</systemitem> with a GID of 1 be
+  present. All other group names and GIDs can be chosen freely by the system
+  administrator since well-written programs do not depend on GID numbers, but
+  rather use the group's name.</para>
+
+  <para>The <command>login</command>, <command>agetty</command>, and
+  <command>init</command> programs (and others) use a number of log
+  files to record information such as who was logged into the system and
+  when. However, these programs will not write to the log files if they
+  do not already exist. Initialize the log files and give them
+  proper permissions:</para>
+
+<screen><userinput>touch ${CLFS}/var/run/utmp ${CLFS}/var/log/{btmp,lastlog,wtmp}
+chmod -v 664 ${CLFS}/var/run/utmp ${CLFS}/var/log/lastlog</userinput></screen>
+
+  <para>The <filename>/var/run/utmp</filename> file records the users
+  that are currently logged in. The <filename>/var/log/wtmp</filename>
+  file records all logins and logouts. The
+  <filename>/var/log/lastlog</filename> file records when
+  each user last logged in. The <filename>/var/log/btmp</filename> file
+  records the bad login attempts.</para>
+
+</sect1>
Index: BOOK/final-preps/settingenviron.xml
===================================================================
--- BOOK/final-preps/settingenviron.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/final-preps/settingenviron.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../general.ent">
   %general-entities;
@@ -74,5 +74,8 @@
   than 2.2.4, having <envar>LC_ALL</envar> set to something other than
   <quote>POSIX</quote> or <quote>C</quote> (during this chapter) may cause
-  issues.</para>
+  issues if you exit the chroot environment and wish to return later.
+  Setting <envar>LC_ALL</envar> to <quote>POSIX</quote> or <quote>C</quote>
+  (the two are equivalent) ensures that everything will work as expected in
+  the chroot environment.</para>
 
   <para os="j">By putting <filename class="directory">${CLFS}/cross-tools/bin</filename>
Index: OK/final-system/chapter.xml
===================================================================
--- BOOK/final-system/chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,22 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<chapter id="chapter-building-system" xreflabel="Installing Basic System Software">
-  <?dbhtml dir="final-system"?>
-  <?dbhtml filename="chapter.html"?>
-
-  <title>Installing Basic System Software</title>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingdirs.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingfiles.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/libgcc.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/libc.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/busybox.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/iana-etc.xml"/>
-
-</chapter>
Index: OK/final-system/common/busybox.xml
===================================================================
--- BOOK/final-system/common/busybox.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,141 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-system-busybox" role="wrap">
-  <?dbhtml filename="busybox.html"?>
-
-  <title>BusyBox-&busybox-version;</title>
-
-  <indexterm zone="ch-system-busybox">
-    <primary sortas="a-BusyBox">BusyBox</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>BusyBox combines tiny versions of many common UNIX utilities into a 
-    single small executable. It provides replacements for most of the utilities 
-    you usually find in GNU fileutils, shellutils, etc. The utilities in 
-    BusyBox generally have fewer options than their full-featured GNU cousins; 
-    however, the options that are included provide the expected functionality 
-    and behave very much like their GNU counterparts. BusyBox provides
-     a fairly complete environment for any small or embedded system.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of BusyBox</title>
-
-    <para os="a">First ensure the BusyBox source is completely clean:</para>
-
-<screen os="b"><userinput>make distclean</userinput></screen>
-
-    <note os="e"> <para>We tell BusyBox to use the generic defconfig.  For those
-        who are more adventurous, you can use <command>make menuconfig</command>,
-        and create a custom or modified configuration for your build.</para>
-    </note>
-
-    <para os="f">The following tells BusyBox to use the default
-      configuration:</para>
-
-<screen os="g"><userinput>make ARCH="${CLFS_ARCH}" defconfig</userinput></screen>
-
-    <para os="fa">Disable building both ifplugd and inetd as they both have
-      issues building against musl:</para>
-
-<screen os="fb"><userinput>sed -i 's/\(CONFIG_\)\(.*\)\(INETD\)\(.*\)=y/# \1\2\3\4 is not set/g' .config
-sed -i 's/\(CONFIG_IFPLUGD\)=y/# \1 is not set/' .config</userinput></screen>
-
-    <para os="fc">Disable the use of utmp/wtmp as musl does not support
-	    them:</para>
-
-<screen os="fd"><userinput>sed -i 's/\(CONFIG_FEATURE_WTMP\)=y/# \1 is not set/' .config
-sed -i 's/\(CONFIG_FEATURE_UTMP\)=y/# \1 is not set/' .config</userinput></screen>
-
-    <para os="fe">Disable the use of ipsvd for both TCP and UDP as it has issues
-	    building against musl (similar to inetd's issues):</para>
-
-<screen os="ff"><userinput>sed -i 's/\(CONFIG_UDPSVD\)=y/# \1 is not set/' .config
-sed -i 's/\(CONFIG_TCPSVD\)=y/# \1 is not set/' .config</userinput></screen>
-
-    <para os="h">Compile the package:</para>
-
-<screen os="i"><userinput>make ARCH="${CLFS_ARCH}" CROSS_COMPILE="${CLFS_TARGET}-"</userinput></screen>
-
-    <para os="j">Install the package:</para>
-
-<screen os="k"><userinput>make ARCH="${CLFS_ARCH}" CROSS_COMPILE="${CLFS_TARGET}-"\
-  CONFIG_PREFIX="${CLFS}/targetfs" install</userinput></screen>
-
-    <para os="l">If you're going to build your kernel with modules, you will need
-    to make sure <command>depmod.pl</command> is available for your host to
-    execute:</para>
-
-<screen os="m"><userinput>cp -v examples/depmod.pl ${CLFS}/cross-tools/bin
-chmod -v 755 ${CLFS}/cross-tools/bin/depmod.pl</userinput></screen>
-
-  </sect2>
-
-  <sect2 id="contents-busybox" role="content">
-    <title>Contents of BusyBox</title>
-
-    <segmentedlist>
-      <segtitle>Installed programs</segtitle>
-
-      <seglistitem>
-        <seg>To be Written</seg>
-      </seglistitem>
-    </segmentedlist>
-
-<!--
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="bash">
-        <term><command>bash</command></term>
-        <listitem>
-          <para>A widely-used command interpreter; it performs many types of
-          expansions and substitutions on a given command line before executing
-          it, thus making this interpreter a powerful tool</para>
-          <indexterm zone="ch-system-bash bash">
-            <primary sortas="b-bash">bash</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="bashbug">
-        <term><command>bashbug</command></term>
-        <listitem>
-          <para>A shell script to help the user compose and mail standard
-          formatted bug reports concerning <command>bash</command></para>
-          <indexterm zone="ch-system-bash bashbug">
-            <primary sortas="b-bashbug">bashbug</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="sh">
-        <term><command>sh</command></term>
-        <listitem>
-          <para>A symlink to the <command>bash</command> program; when invoked
-          as <command>sh</command>, <command>bash</command> tries to mimic the
-          startup behavior of historical versions of <command>sh</command> as
-          closely as possible, while conforming to the POSIX standard as
-          well</para>
-          <indexterm zone="ch-system-bash sh">
-            <primary sortas="b-sh">sh</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
--->
-  </sect2>
-
-</sect1>
Index: OK/final-system/common/creatingdirs.xml
===================================================================
--- BOOK/final-system/common/creatingdirs.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,46 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-final-system-creatingdirs">
-  <?dbhtml filename="creatingdirs.html"?>
-
-  <title>Creating Directories</title>
-
-  <para>It is time to create some structure in the target CLFS file system.
-  Create a standard directory tree by issuing the following commands:</para>
-
-<screen><userinput>mkdir -pv ${CLFS}/targetfs/{bin,boot,dev,etc,home,lib/{firmware,modules}}
-mkdir -pv ${CLFS}/targetfs/{mnt,opt,proc,sbin,srv,sys}
-mkdir -pv ${CLFS}/targetfs/var/{cache,lib,local,lock,log,opt,run,spool}
-install -dv -m 0750 ${CLFS}/targetfs/root
-install -dv -m 1777 ${CLFS}/targetfs/{var/,}tmp
-mkdir -pv ${CLFS}/targetfs/usr/{,local/}{bin,include,lib,sbin,share,src}</userinput></screen>
-
-  <para>Directories are, by default, created with permission mode 755, but
-  this is not desirable for all directories. In the commands above, two
-  changes are made&mdash;one to the home directory of user <systemitem
-  class="username">root</systemitem>, and another to the directories for
-  temporary files.</para>
-
-  <para>The first mode change ensures that not just anybody can enter
-  the <filename class="directory">/root</filename> directory&mdash;the
-  same as a normal user would do with his or her home directory. The
-  second mode change makes sure that any user can write to the
-  <filename class="directory">/tmp</filename> and <filename
-  class="directory">/var/tmp</filename> directories, but cannot remove
-  another user's files from them. The latter is prohibited by the so-called
-  <quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para>
-
-  <sect2>
-    <title>FHS Compliance Note</title>
-
-    <para>The directory tree is based on the Filesystem Hierarchy Standard (FHS)
-    (available at <ulink url="http://refspecs.linuxfoundation.org/fhs.shtml"/>).</para>
-
-  </sect2>
-
-</sect1>
Index: OK/final-system/common/creatingfiles.xml
===================================================================
--- BOOK/final-system/common/creatingfiles.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,218 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-final-system-creatingfiles">
-  <?dbhtml filename="creatingfiles.html"?>
-
-  <title>Creating the passwd, group, and lastlog Files</title>
-
-  <indexterm zone="ch-final-system-creatingfiles">
-    <primary sortas="e-/etc/passwd">/etc/passwd</primary>
-  </indexterm>
-
-  <indexterm zone="ch-final-system-creatingfiles">
-    <primary sortas="e-/etc/group">/etc/group</primary>
-  </indexterm>
-
-  <indexterm zone="ch-final-system-creatingfiles">
-    <primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary>
-  </indexterm>
-
-  <para>A proper Linux system maintains a list of the mounted file systems in
-  the file <filename>/etc/mtab</filename>.  With the way our embedded system is
-  designed, we will be using a symlink to <filename>/proc/mounts</filename>:</para>
-
-<screen><userinput>ln -svf ../proc/mounts ${CLFS}/targetfs/etc/mtab</userinput></screen>
- 
-  <para>In order for user <systemitem class="username">root</systemitem> to be
-  able to login and for the name <quote>root</quote> to be recognized, there
-  must be relevant entries in the <filename>/etc/passwd</filename> and
-  <filename>/etc/group</filename> files.</para>
-
-  <para>Create the <filename>/etc/passwd</filename> file by running the following
-  command:</para>
-
-<screen><userinput>cat &gt; ${CLFS}/targetfs/etc/passwd &lt;&lt; "EOF"
-<literal>root::0:0:root:/root:/bin/ash</literal>
-EOF</userinput></screen>
-
-  <para>The actual password for <systemitem class="username">root</systemitem>
-  (the <quote>::</quote> used here is just a placeholder and allow you to login
-  with no password) will be set later.</para>
-
-  <variablelist os="b">
-
-    <title>Additional optional users you may want to add:</title>
-
-    <varlistentry>
-      <term><literal>bin:x:1:1:bin:/bin:/bin/false</literal></term>
-      <listitem>
-        <para>Can be useful for compatibility with legacy applications.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>daemon:x:2:6:daemon:/sbin:/bin/false</literal></term>
-      <listitem>
-        <para>It is often recommended to use an unprivileged User ID/Group ID
-        for daemons in order to limit their access to the system.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>adm:x:3:16:adm:/var/adm:/bin/false</literal></term>
-      <listitem>
-        <para>Was used for programs that performed administrative tasks.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>lp:x:10:9:lp:/var/spool/lp:/bin/false</literal></term>
-      <listitem>
-        <para>Used by programs for printing.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>mail:x:30:30:mail:/var/mail:/bin/false</literal></term>
-      <listitem>
-        <para>Often used by email programs.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>news:x:31:31:news:/var/spool/news:/bin/false</literal></term>
-      <listitem>
-        <para>Often used for network news servers.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>uucp:x:32:32:uucp:/var/spool/uucp:/bin/false</literal></term>
-      <listitem>
-        <para>Often used for Unix-to-Unix Copy of files from one server to the next</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>operator:x:50:0:operator:/root:/bin/ash</literal></term>
-      <listitem>
-        <para>Often used to allow system operators to access the system.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>postmaster:x:51:30:postmaster:/var/spool/mail:/bin/false</literal></term>
-      <listitem>
-        <para>Generally used as an account that receives all the information of troubles with the mail server.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>nobody:x:65534:65534:nobody:/:/bin/false</literal></term>
-      <listitem>
-        <para>Used by NFS.</para>
-      </listitem>
-    </varlistentry>
-  </variablelist>
-
-  <para>Create the <filename>/etc/group</filename> file by running the following
-  command:</para>
-
-<screen><userinput>cat &gt; ${CLFS}/targetfs/etc/group &lt;&lt; "EOF"
-<literal>root:x:0:
-bin:x:1:
-sys:x:2:
-kmem:x:3:
-tty:x:4:
-tape:x:5:
-daemon:x:6:
-floppy:x:7:
-disk:x:8:
-lp:x:9:
-dialout:x:10:
-audio:x:11:
-video:x:12:
-utmp:x:13:
-usb:x:14:
-cdrom:x:15:</literal>
-EOF</userinput></screen>
-
-  <variablelist os="c">
-
-    <title>Additional optional groups you may want to add</title>
-
-    <varlistentry>
-      <term><literal>adm:x:16:root,adm,daemon</literal></term>
-      <listitem>
-        <para>All users in this group are allowed to do administrative tasks</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>console:x:17:</literal></term>
-      <listitem>
-        <para>This group has direct access to the console</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>cdrw:x:18:</literal></term>
-      <listitem>
-        <para>This group is allowed to use the CDRW drive</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>mail:x:30:mail</literal></term>
-      <listitem>
-        <para>Used by MTAs (Mail Transport Agents)</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>news:x:31:news</literal></term>
-      <listitem>
-        <para>Used by Network News Servers</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>uucp:x:32:uucp</literal></term>
-      <listitem>
-        <para>Used by the Unix-to-Unix copy users</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>users:x:100:</literal></term>
-      <listitem>
-        <para>The default GID used by shadow for new users</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>nogroup:x:65533:</literal></term>
-      <listitem>
-        <para>This is a default group used by some programs that do not
-        require a group</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term><literal>nobody:x:65534:</literal></term>
-      <listitem>
-        <para>This is used by NFS</para>
-      </listitem>
-    </varlistentry>
-  </variablelist>
-
-  <para>The created groups are not part of any standard&mdash;they are groups
-  decided on in part by the requirements of BusyBox later in this
-  chapter, and in part by common convention employed by a number of existing
-  Linux distributions. The Linux Standard Base (LSB, available at <ulink
-  url="http://www.linuxbase.org"/>) recommends only that, besides the group
-  <systemitem class="groupname">root</systemitem> with a Group ID (GID) of 0,
-  a group <systemitem class="groupname">bin</systemitem> with a GID of 1 be
-  present. All other group names and GIDs can be chosen freely by the system
-  administrator since well-written programs do not depend on GID numbers, but
-  rather use the group's name.</para>
-
-  <para>The <command>login</command>, <command>agetty</command>, and
-  <command>init</command> programs (and others) use the lastlog
-  file to record information such as who was logged into the system and
-  when. However, these programs will not write to the lastlog file if it
-  does not already exist. Initialize the lastlog file and give it
-  proper permissions:</para>
-
-<screen><userinput>touch ${CLFS}/targetfs/var/log/lastlog
-chmod -v 664 ${CLFS}/targetfs/var/log/lastlog</userinput></screen>
-
-</sect1>
Index: OK/final-system/common/iana-etc.xml
===================================================================
--- BOOK/final-system/common/iana-etc.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,93 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-system-iana-etc" role="wrap">
-  <?dbhtml filename="iana-etc.html"?>
-
-  <title>iana-etc-&iana-etc-version;</title>
-
-  <indexterm zone="ch-system-iana-etc">
-    <primary sortas="a-iana-etc">iana-etc</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>The iana-etc package provides data for network services and
-    protocols.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of Iana-Etc</title>
-
-    <para os="a">iana-etc comes with outdated data and IANA has changed the
-    download location used to obtain up-to-date data.  Apply the following patch
-    to correct the download location:</para>
-
-<screen os="b"><userinput>patch -Np1 -i ../&iana-etc-update-patch;</userinput></screen>
-
-    <para>Update the data used to the current IANA lists: 
-<screen><userinput>make get</userinput></screen>
-    </para>
-
-    <para os="d">The following command converts the raw data provided by IANA into
-    the correct formats for the <filename>/etc/protocols</filename> and
-    <filename>/etc/services</filename> data files:</para>
-
-<screen os="e"><userinput>make STRIP=yes</userinput></screen>
-
-    <para os="g">Install the package:</para>
-
-<screen os="h"><userinput>make DESTDIR=${CLFS}/targetfs install</userinput></screen>
-
-  </sect2>
-
-  <sect2 id="contents-iana-etc" role="content">
-    <title>Contents of iana-etc</title>
-
-    <segmentedlist>
-      <segtitle>Installed files</segtitle>
-
-      <seglistitem>
-        <seg>/etc/protocols and /etc/services</seg>
-      </seglistitem>
-    </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="protocols">
-        <term><filename>/etc/protocols</filename></term>
-        <listitem>
-          <para>Describes the various DARPA Internet protocols that are
-          available from the TCP/IP subsystem</para>
-          <indexterm zone="ch-system-iana-etc">
-            <primary sortas="e-/etc/protocols">/etc/protocols</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="services">
-        <term><filename>/etc/services</filename></term>
-        <listitem>
-          <para>Provides a mapping between friendly textual names for internet
-          services, and their underlying assigned port numbers and protocol
-          types</para>
-          <indexterm zone="ch-system-iana-etc">
-            <primary sortas="e-/etc/services">/etc/services</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-  </sect2>
-
-</sect1>
Index: BOOK/final-system/common/introduction.xml
===================================================================
--- BOOK/final-system/common/introduction.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/final-system/common/introduction.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -24,14 +24,15 @@
   <para os="b">The order that packages are installed in this chapter needs to
   be strictly followed to ensure that no program accidentally acquires a
-  path referring to <filename class="directory">${CLFS}/cross-tools</filename>
+  path referring to <filename class="directory">/tools</filename>
   hard-wired into it. For the same reason, do not compile packages in
-  parallel. Compiling more than one package at a time may save time,
-  but it could result in a program containing a hard-wired
-  path to <filename class="directory">${CLFS}/cross-tools</filename>, which will
+  parallel. Compiling in parallel may save time (especially on dual-CPU
+  machines), but it could result in a program containing a hard-wired
+  path to <filename class="directory">/tools</filename>, which will
   cause the program to stop working when that directory is
   removed.</para>
 
-  <para os="c">Compiling any single package using make's parallel job execution
-    option, "-j" is OK if you want to speed up compiling any one package.</para>
+  <para os="d">To keep track of which package installs particular files, a
+  package manager can be used. For a general overview of different styles of
+  package managers, please take a look at the next page.</para>
 
 </sect1>
Index: OK/final-system/common/libc.xml
===================================================================
--- BOOK/final-system/common/libc.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,59 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-final-system-libc" role="wrap">
-  <?dbhtml filename="libc.html"?>
-
-  <title>musl-&musl-version;</title>
-
-  <indexterm zone="ch-final-system-libc">
-    <primary sortas="a-libc">musl</primary>
-    <secondary>final system</secondary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>The musl package contains the main C library. This library provides
-    the basic routines for allocating memory, searching directories, opening and
-    closing files, reading and writing files, string handling, pattern matching,
-    arithmetic, and so on.  We build it again here so that it can be installed
-    into our targetfs sysroot but this time we only build the shared object
-    version.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of musl</title>
-
-    <para os="h">Configure the package:</para>
-
-<screen os="i"><userinput>./configure \
-  CROSS_COMPILE=${CLFS_TARGET}- \
-  --prefix=/ \
-  --disable-static \
-  --target=${CLFS_TARGET}</userinput></screen>
-
-    <para os="h">Compile the package:</para>
-
-<screen os="i"><userinput>make</userinput></screen>
-
-    <para os="l">Install just the shared library:</para>
-
-<screen os="j"><userinput>DESTDIR=${CLFS}/targetfs make install-libs</userinput></screen>
-
-  </sect2>
-
-  <sect2 role="content">
-    <title/>
-
-    <para>Details on this package are located in
-      <xref linkend="contents-musl" role="."/></para>
-
-  </sect2>
-
-</sect1>
Index: OK/final-system/common/libgcc.xml
===================================================================
--- BOOK/final-system/common/libgcc.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,41 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-final-system-libgcc" role="wrap">
-  <?dbhtml filename="libgcc.html"?>
-
-  <title>libgcc-&gcc-version;</title>
-
-  <indexterm zone="ch-final-system-libgcc">
-    <primary sortas="a-libgcc">libgcc</primary>
-    <secondary>final system</secondary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>When compiling dynamically linked software using GCC, GCC requires
-      that libgcc be able to be loaded during runtime when executing the
-      software.  Hence, we must be sure to provide the final system with a copy
-      of the libgcc we previously built for our cross tools.</para>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of libgcc</title>
-
-    <para os="a">Install the package:</para>
-
-    <screen os="b"><userinput>cp -v ${CLFS}/cross-tools/${CLFS_TARGET}/lib/libgcc_s.so.1 ${CLFS}/targetfs/lib/</userinput></screen>
-
-    <para os="c">Strip libgcc to make it smaller:</para>
-
-    <screen os="d"><userinput>${CLFS_TARGET}-strip ${CLFS}/targetfs/lib/libgcc_s.so.1</userinput></screen>
-
-  </sect2>
-
-</sect1>
Index: BOOK/final-system/common/pkgmgt.xml
===================================================================
--- BOOK/final-system/common/pkgmgt.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/final-system/common/pkgmgt.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-system-pkgmgt">
+  <?dbhtml filename="pkgmgt.html"?>
+
+  <title>Package Management</title>
+
+  <para>Package Management is an often-requested addition to the CLFS Book. A
+  Package Manager allows tracking the installation of files making it easy to
+  remove and upgrade packages. Before you begin to wonder, NO&mdash;this section
+  will not talk about nor recommend any particular package manager. What it
+  provides is a roundup of the more popular techniques and how they work. The
+  perfect package manager for you may be among these techniques or may be a
+  combination of two or more of these techniques. This section briefly mentions
+  issues that may arise when upgrading packages.</para>
+
+  <para>Some reasons why no specific package manager is recommended in
+  CLFS or BLFS include:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>Dealing with package management takes the focus away from the goals
+      of these books&mdash;teaching how a Linux system is built.</para>
+    </listitem>
+
+    <listitem>
+      <para>There are multiple solutions for package management, each having
+      its strengths and drawbacks. Including one that satisfies all audiences
+      is difficult.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>There are some hints written on the topic of package management. Visit
+  the <ulink url="&hints-root;">Hints subproject</ulink> and see if one of them
+  fits your need.</para>
+
+  <sect2>
+    <title>Upgrade Issues</title>
+
+    <para>A Package Manager makes it easy to upgrade to newer versions when they
+    are released. Generally the instructions in the CLFS and BLFS Book can be
+    used to upgrade to the newer versions. Here are some points that you should
+    be aware of when upgrading packages, especially on a running system.</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>If one of the toolchain packages (Glibc, GCC or Binutils) needs
+        to be upgraded to a newer minor version, it is safer to
+        rebuild CLFS. Though you <emphasis>may</emphasis> be able to get by
+        rebuilding all the packages in their dependency order, we do not
+        recommend it. For example, if glibc-2.2.x needs to be updated to
+        glibc-2.3.x, it is safer to rebuild. For micro version updates, a
+        simple reinstallation usually works, but is not guaranteed. For
+        example, upgrading from glibc-2.3.4 to glibc-2.3.5 will not
+        usually cause any problems.</para>
+      </listitem>
+
+      <listitem>
+        <para>If a package containing a shared library is updated, and if the
+        name of the library changes, then all the packages dynamically linked
+        to the library need to be recompiled to link against the newer library.
+        (Note that there is no correlation between the package version and the
+        name of the library.) For example, consider a package foo-1.2.3 that
+        installs a shared library with name
+        <filename class='libraryfile'>libfoo.so.1</filename>. Say you upgrade
+        the package to a newer version foo-1.2.4 that installs a shared library
+        with name <filename class='libraryfile'>libfoo.so.2</filename>. In this
+        case, all packages that are dynamically linked to
+        <filename class='libraryfile'>libfoo.so.1</filename> need to be
+        recompiled to link against
+        <filename class='libraryfile'>libfoo.so.2</filename>. Note that you
+        should not remove the previous libraries until the dependent packages
+        are recompiled.</para>
+      </listitem>
+
+      <listitem>
+        <para>If you are upgrading a running system, be on the lookout for
+        packages that use <command>cp</command> instead of
+        <command>install</command> to install files. The latter command is
+        usually safer if the executable or library is already loaded in memory.
+        </para>
+      </listitem>
+    </itemizedlist>
+
+  </sect2>
+
+  <sect2>
+    <title>Package Management Techniques</title>
+
+    <para>The following are some common package management techniques. Before
+    making a decision on a package manager, do some research on the various
+    techniques, particularly the drawbacks of the particular scheme.</para>
+
+    <sect3>
+      <title>It is All in My Head!</title>
+
+      <para>Yes, this is a package management technique. Some folks do not find
+      the need for a package manager because they know the packages intimately
+      and know what files are installed by each package. Some users also do not
+      need any package management because they plan on rebuilding the entire
+      system when a package is changed.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Install in Separate Directories</title>
+
+      <para>This is a simplistic package management that does not need any extra
+      package to manage the installations. Each package is installed in a
+      separate directory. For example, package foo-1.1 is installed in
+      <filename class='directory'>/usr/pkg/foo-1.1</filename>
+      and a symlink is made from <filename>/usr/pkg/foo</filename> to
+      <filename class='directory'>/usr/pkg/foo-1.1</filename>. When installing
+      a new version foo-1.2, it is installed in
+      <filename class='directory'>/usr/pkg/foo-1.2</filename> and the previous
+      symlink is replaced by a symlink to the new version.</para>
+
+      <para>Environment variables such as <envar>PATH</envar>,
+      <envar>LD_LIBRARY_PATH</envar>, <envar>MANPATH</envar>,
+      <envar>INFOPATH</envar> and <envar>CPPFLAGS</envar> need to be expanded to
+      include <filename>/usr/pkg/foo</filename>. For more than a few packages,
+      this scheme becomes unmanageable.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Symlink Style Package Management</title>
+
+      <para>This is a variation of the previous package management technique.
+      Each package is installed similar to the previous scheme. But instead of
+      making the symlink, each file is symlinked into the
+      <filename class='directory'>/usr</filename> hierarchy. This removes the
+      need to expand the environment variables. Though the symlinks can be
+      created by the user to automate the creation, many package managers have
+      been written using this approach. A few of the popular ones include Stow,
+      Epkg, Graft, and Depot.</para>
+
+      <para>The installation needs to be faked, so that the package thinks that
+      it is installed in <filename class="directory">/usr</filename> though in
+      reality it is installed in the
+      <filename class="directory">/usr/pkg</filename> hierarchy. Installing in
+      this manner is not usually a trivial task. For example, consider that you
+      are installing a package libfoo-1.1. The following instructions may
+      not install the package properly:</para>
+
+<screen role="nodump"><userinput>./configure --prefix=/usr/pkg/libfoo/1.1
+make
+make install</userinput></screen>
+
+      <para>The installation will work, but the dependent packages may not link
+      to libfoo as you would expect. If you compile a package that links against
+      libfoo, you may notice that it is linked to
+      <filename class='libraryfile'>/usr/pkg/libfoo/1.1/lib/libfoo.so.1</filename>
+      instead of <filename class='libraryfile'>/usr/lib/libfoo.so.1</filename>
+      as you would expect. The correct approach is to use the
+      <envar>DESTDIR</envar> strategy to fake installation of the package. This
+      approach works as follows:</para>
+
+<screen role="nodump"><userinput>./configure --prefix=/usr
+make
+make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
+
+      <para>Most packages support this approach, but there are some which do not.
+      For the non-compliant packages, you may either need to manually install the
+      package, or you may find that it is easier to install some problematic
+      packages into <filename class='directory'>/opt</filename>.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Timestamp Based</title>
+
+      <para>In this technique, a file is timestamped before the installation of
+      the package. After the installation, a simple use of the
+      <command>find</command> command with the appropriate options can generate
+      a log of all the files installed after the timestamp file was created. A
+      package manager written with this approach is install-log.</para>
+
+      <para>Though this scheme has the advantage of being simple, it has two
+      drawbacks. If, during installation, the files are installed with any
+      timestamp other than the current time, those files will not be tracked by
+      the package manager. Also, this scheme can only be used when one package
+      is installed at a time. The logs are not reliable if two packages are
+      being installed on two different consoles.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>LD_PRELOAD Based</title>
+
+      <para>In this approach, a library is preloaded before installation. During
+      installation, this library tracks the packages that are being installed by
+      attaching itself to various executables such as <command>cp</command>,
+      <command>install</command>, <command>mv</command> and tracking the system
+      calls that modify the filesystem. For this approach to work, all the
+      executables need to be dynamically linked without the suid or sgid bit.
+      Preloading the library may cause some unwanted side-effects during
+      installation. Therefore, it is advised that one performs some tests to
+      ensure that the package manager does not break anything and logs all the
+      appropriate files.</para>
+
+    </sect3>
+
+    <sect3>
+      <title>Creating Package Archives</title>
+
+      <para>In this scheme, the package installation is faked into a separate
+      tree as described in the Symlink style package management. After the
+      installation, a package archive is created using the installed files.
+      This archive is then used to install the package either on the local
+      machine or can even be used to install the package on other machines.</para>
+
+      <para>This approach is used by most of the package managers found in the
+      commercial distributions. Examples of package managers that follow this
+      approach are RPM (which, incidentally, is required by the <ulink
+      url="http://lsbbook.gforge.freestandards.org/package.html#RPM">Linux
+      Standard Base Specification</ulink>), pkg-utils, Debian's apt, and
+      Gentoo's Portage system.  A hint describing how to adopt this style of
+      package management for CLFS systems is located at <ulink
+      url="&hints-root;/fakeroot.txt"/>.</para>
+
+    </sect3>
+
+  </sect2>
+
+</sect1>
Index: BOOK/final-system/x86-chapter.xml
===================================================================
--- BOOK/final-system/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/final-system/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<chapter id="chapter-building-system" xreflabel="Installing Basic System Software">
+  <?dbhtml dir="final-system"?>
+  <?dbhtml filename="chapter.html"?>
+
+  <title>Installing Basic System Software</title>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/pkgmgt.xml"/>
+
+</chapter>
Index: BOOK/general.ent
===================================================================
--- BOOK/general.ent	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/general.ent	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,20 +1,24 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 
-<!ENTITY month "10"> <!-- Use two digits -->
-<!ENTITY month_name "October">
-<!ENTITY day "12"> <!-- Use two digits -->
-<!ENTITY year "2017"> <!-- Use four digits -->
+<!ENTITY month "11"> <!-- Use two digits -->
+<!ENTITY month_name "November">
+<!ENTITY day "5"> <!-- Use two digits -->
+<!ENTITY year "2006"> <!-- Use four digits -->
 
 <!ENTITY releasedate "&month_name; &day;, &year;">
 
-<!ENTITY version "GIT-&year;&month;&day;">
+<!ENTITY major-version "3">
+<!ENTITY minor-version "0">
+<!ENTITY extra-version "0">
+<!ENTITY milestone "3.0.0">
+<!ENTITY generic-version "svn-3.0"> <!-- Use "svn", "testing", or "x.y.z[-pre{x}]" -->
+
+<!ENTITY version "SVN-&major-version;.&minor-version;.&extra-version;-&year;&month;&day;">
 
 <!ENTITY version-x86 "&version;-x86">
-<!ENTITY version-mips "&version;-mips">
-<!ENTITY version-arm "&version;-arm">
 
 <!ENTITY lfs-root "http://www.linuxfromscratch.org/">
-<!ENTITY clfs-root "http://clfs.org/">
-<!ENTITY clfs-wiki "http://trac.clfs.org/">
+<!ENTITY clfs-root "http://cross-lfs.org/">
+<!ENTITY clfs-wiki "http://trac.cross-lfs.org/">
 <!ENTITY blfs-root "&lfs-root;blfs/">
 <!ENTITY faq-root "&clfs-wiki;wiki/faq">
@@ -22,11 +26,13 @@
 <!ENTITY hints-index "&lfs-root;hints/list.html">
 <!ENTITY livecd-root "&lfs-root;livecd/">
-<!ENTITY errata "&clfs-wiki;clfs-embedded/errata/&generic-version;/">
-<!ENTITY cblfs-wiki "http://cblfs.clfs.org/">
+<!ENTITY test-results "&clfs-wiki;clfs/build-logs/&generic-version;/">
+<!ENTITY errata "&clfs-wiki;clfs/errata/&generic-version;/">
 
 <!ENTITY gnu "http://ftp.gnu.org/gnu/">
 <!ENTITY gnu-software "http://www.gnu.org/software/">
+<!ENTITY alpha-gnu "ftp://alpha.gnu.org/gnu/">
+<!ENTITY redhat "ftp://sources.redhat.com/pub/">
 <!ENTITY kernel "http://www.kernel.org/pub/">
-<!ENTITY sourceforge "http://downloads.sourceforge.net/">
+<!ENTITY sourceforge "http://prdownloads.sourceforge.net/">
 
 <!ENTITY dependencies "Installation depends on">
Index: BOOK/index.xml
===================================================================
--- BOOK/index.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/index.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "general.ent">
   %general-entities;
@@ -7,23 +7,11 @@
 
 <bookinfo>
-  <title>Cross-Compiled Linux From Scratch - Embedded</title>
+  <title>Cross-Compiled Linux From Scratch</title>
   <subtitle>Version &version;</subtitle>
 
   <authorgroup>
     <author>
-      <firstname>Andrew</firstname>
-      <surname>Bradford</surname>
-    </author>
-    <author>
-      <firstname>Joe</firstname>
-      <surname>Ciccone</surname>
-    </author>
-    <author>
       <firstname>Jim</firstname>
       <surname>Gifford</surname>
-    </author>
-    <author>
-      <firstname>Maarten</firstname>
-      <surname>Lankhorst</surname>
     </author>
     <author>
@@ -34,8 +22,11 @@
 
   <copyright id="copyright">
-    <year>2005&ndash;&year;</year>
-    <holder>Andrew Bradford, Joe Ciccone, Jim Gifford, Maarten Lankhorst, &amp; Ryan Oliver</holder>
+    <year>2005&ndash;2006</year>
+    <holder>Jim Gifford &amp; Ryan Oliver</holder>
   </copyright>
 
+  <bibliosource>
+    <emphasis>Based on LFS, Copyright &copy; 1999&ndash;2006 Gerard Beekmans</emphasis>
+  </bibliosource>
+
 </bookinfo>
-
Index: OK/introduction/chapter.xml
===================================================================
--- BOOK/introduction/chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,19 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<chapter id="chapter-intro" xreflabel="Introduction">
-  <?dbhtml dir="introduction"?>
-  <?dbhtml filename="chapter.html"?>
-
-  <title>Introduction</title>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/how.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/hostreqs.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/resources.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/askforhelp.xml"/>
-
-</chapter>
Index: BOOK/introduction/common/acknowledgements.xml
===================================================================
--- BOOK/introduction/common/acknowledgements.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/introduction/common/acknowledgements.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-intro-acknowledgements">
+  <title>Cross-LFS Acknowledgements</title>
+  <?dbhtml filename="acknowledgements.html"?>
+
+  <para>The CLFS team would like to acknowledge people who
+  have assisted in making the book what it is today.</para>
+
+ <para>Our Leaders:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>Ryan Oliver - Build Process Developer.</para>
+    </listitem>
+    <listitem>
+      <para>Jim Gifford - Lead Developer.</para>
+    </listitem>
+    <listitem>
+      <para>Jeremy Utley - Release Manager 1.x Series.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>Our CLFS Team:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>Joe Ciccone - Alpha, MIPS, Sparc builds.</para>
+    </listitem>
+    <listitem>
+      <para>Nathan Coulson - Bootscripts.</para>
+    </listitem>
+    <listitem>
+      <para>Matt Darcy - x86, X86_64, and Sparc builds.</para>
+    </listitem>
+    <listitem>
+      <para>Manuel Canales Esparcia - Book XML.</para>
+    </listitem>
+    <listitem>
+      <para>Karen McGuiness - Proofreader.</para>
+    </listitem>
+    <listitem>
+      <para>Jeremy Huntwork - PowerPC, x86, Sparc builds.</para>
+    </listitem>
+    <listitem>
+      <para>Justin Knierim - Website Architect.</para>
+    </listitem>
+    <listitem>
+      <para>Ken Moffat - PowerPC and X86_64 builds. Developer of Pure 64 Hint.</para>
+    </listitem>
+    <listitem>
+      <para>Alexander E. Patrakov - Udev/Hotplug Integration</para>
+    </listitem>
+    <listitem>
+      <para>Chris Staub - x86 builds. Leader of Quality Control.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>Outside the Development Team</para>
+ <itemizedlist>
+    <listitem>
+      <para>Jürg Billeter - Testing and assisting in the development of the Linux Headers Package</para>
+    </listitem>
+    <listitem>
+      <para>Richard Downing - Testing, typo, and content fixes.</para>
+    </listitem>
+    <listitem>
+      <para>Peter Ennis - Typo and content fixes.</para>
+    </listitem>
+    <listitem>
+      <para>Tony Morgan - Typo and content fixes.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>The CLFS team would also like to acknowledge contributions of people
+  from <ulink url="clfs-dev@lists.cross-lfs.org"/> and associated mailing lists
+  who have provided valuable technical and editorial corrections while testing
+  the Cross-LFS book.</para>
+
+ <itemizedlist>
+    <listitem>
+      <para>G. Moko - Text updates and Typos</para>
+    </listitem>
+    <listitem>
+      <para>Maxim Osipov - MIPS Testing.</para>
+    </listitem>
+    <listitem>
+      <para>Doug Ronne - Various x86_64 fixes.</para>
+    </listitem>
+    <listitem>
+      <para>William Zhou - Text updates and Typos</para>
+    </listitem>
+    <listitem>
+      <para>Theo Schneider - Testing of the Linux Headers Package</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>Thank you all for your support.</para>
+
+</sect1>
Index: BOOK/introduction/common/askforhelp.xml
===================================================================
--- BOOK/introduction/common/askforhelp.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/introduction/common/askforhelp.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -37,5 +37,5 @@
       <listitem>
         <para>The version of the book being used (in this case
-        CLFS Embedded &version;)</para>
+        &version;)</para>
       </listitem>
       <listitem>
@@ -47,5 +47,5 @@
       </listitem>
       <listitem>
-        <para>The value of the ${CLFS_TARGET}, and ${BUILD}
+        <para>The value of the ${CLFS_HOST}, ${CLFS_TARGET}, ${BUILD32}, and ${BUILD64}
         environment variables.</para>
       </listitem>
Index: BOOK/introduction/common/changelog.xml
===================================================================
--- BOOK/introduction/common/changelog.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/introduction/common/changelog.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,503 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-intro-changelog" xreflabel="Master Changelog">
+  <?dbhtml filename="changelog.html"?>
+
+  <title>Master Changelog</title>
+
+  <para>This is version &version; of the Cross-Compiled Linux From Scratch book, dated
+  &releasedate;. If this book is more than six months old, a newer and better
+  version is probably already available. To find out, please check one of the
+  mirrors via <ulink url="&clfs-wiki;"/>.</para>
+
+  <para>Below is a list of detailed changes made since the previous release of
+   the book.</para>
+
+  <itemizedlist>
+    <title>Changelog Entries:</title>
+
+<!-- Changelog template
+
+    <listitem>
+      <para>Date</para>
+      <itemizedlist>
+        <listitem>
+          <para>[name] - New changelog entry.</para>
+        </listitem>
+        <listitem>
+          <para>[name] - Previous changelog entry.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+-->
+
+    <listitem>
+      <para>November 5, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to Inetutils 1.5.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Added command to man instructions to comment out
+          MANPATH /usr/local/man (in addition to /usr/man).</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated Bash 3.2 with some unofficial upstream fixes. Thank you Chet Ramey.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>October 14, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated the udev rules tarball to 1.1-09062006.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated the vim fixes patch to -14.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Added patch to fix build issues with
+          Bash 3.2.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated Udev to 102.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated Man-Pages to 2.41.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated Readline to 5.2.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated Bash to 3.2.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - New patch for util-linux, replaces GCC 4 fixes.
+          The new patch fixes the same issues, and removes the use of
+          syscalls. Syscalls were removed from unistd.h during sanitation.
+          </para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated Texinfo to 4.8a.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Added a patch to Util-Linux to fix build issues
+          due to changes in the kernel.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated M4 to 1.4.7</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Linux 2.6.18 and
+          Linux-Headers-2.6.18-09302006.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated Bootscripts to 1.1-pre1. Adding in the
+          boot logging feature.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Removed TeX installation commands from Texinfo
+          instructions.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>October 5, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[manuel] - Changed book license to the Open Publication
+          License v1.0.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>August 31, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Added a Host System Requirements page.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Vim Patch -12, which contains upstream
+          fixes. This patch will be upgraded weekly, no further changelog
+          entries needed.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Add patch to fix gzexe. Used Matts change from LFS,
+          that utilizes Robert's fix. More details at
+          http://wiki.linuxfromscratch.org/lfs/ticket/1876.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Added a patch to fix Inetutils. Telnet on 64 bit
+          systems will fail, it will attempt to connect to 255.255.255.255
+          instead of the ip address entered. This was due to a change in glibc's
+          handling of inet_addr, was long now is u_int32_t. Bug found by
+          Vladimir Vainer.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated Linux to 2.6.17.13 and Linux Headers to 2.6.17.13-09092006.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Replaced the Perl -fPIC patch with a sed.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Removed the keymap settings from the kernel
+          pages.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Added Shadow patch to fix useradd.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>August 30, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to Coreutils Uname Patch -2, which supports all architectures.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Vim Patch -10, which contains upstream
+          fixes.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Udev 098 and udev-cross-lfs to
+          1.1-08272006 rules.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Findutils 4.2.28.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to M4 1.4.6.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Autoconf 2.60.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Man-Pages 2.39.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Procps 3.2.7.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Coreutils 0.97.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Shadow 4.0.18.1.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Gettext 0.15.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Cross-LFS Bootscripts 0.4.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Linux-2.6.17.11 and Linux-Headers to
+          2.6.17.11-08232006.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Added the Perl fPIC patch which makes perl build
+          a shared DynaLoader.a.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Removed mention of package users hint from
+          "Package Management" page.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>August 8, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Moved man-pages to the beginning of the build.
+          (fixes ticket #82).</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>August 7, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Fixed a problem where when bash is cross-compiled
+          it cannot test for the presence of named pipes.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Fixed symlink issue in bootscripts. New package
+          CLFS-bootscropts 0.3.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>July 22, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated the perl cross-compile patch to -2 to
+          support x86.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Added x86 to the book.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>July 21, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Added TZDIR="${CLFS}/usr/share/zoneinfo" to the
+          tzselect command. This makes sure that the tzselect command looks in
+          zoneinfo dir that was just installed by glibc instead of the host.
+          </para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>July 20, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Added groff to cross-tools to satisfy a dependency
+          when cross-compiling it later in the final system.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Udev-096.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to linux-2.6.17.6 and
+          linux-headers-2.6.17.6-07202006.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>July 16, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Added a sed to fix updatedb due to the new
+          location of find.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Removed unneeded chown and chmod commands from
+          the linux-headers installation.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>July 10, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to linux-headers-2.6.17.4-07112006.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>July 10, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to linux-headers-2.6.17.4-07092006.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>July 9, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to linux-2.6.17.4 and
+          linux-headers-2.6.17.4-07072006.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated Udev rules to 07062006, Fixed cdrom
+          permissions and groups. </para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Fixes a possible issue with bootscripts if the
+          /usr partition is not mounted during startup. Moved find to /bin
+          and moved some kbd utilities to /bin.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>July 2, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated passwd and group file creation
+                to only create minimal users and groups and
+                include information on other users/groups.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Cross-LFS Bootscripts. Added check for
+	  for /etc/sysconfig/createfiles.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>June 28, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to linux-headers-2.6.17.1-06272006.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>June 24, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to Binutils-2.17.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>June 22, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated Vim 7.0 fixes patch to -5.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to linux-headers-2.6.17.1-06212006.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated Vim 7.0 fixes patch to -4.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Added mktemp to the Linux dependency list. New
+                dependency as of 2.6.17.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>June 21, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to linux-2.6.17.1 and linux-headers-2.6.17.1-06202006-1.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>June 19, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to man-1.6d.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Added an iconv_fix patch to glibc which fixes an
+                issue that has shown up primarily in samba.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to linux-2.6.17 and
+                linux-headers-2.6.17-06192006.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>June 18, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Added the glibc crosscompile_timezone-fix to glibc
+          which installs timezone info when cross-compiling.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>June 16, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Added information about cross-compiling perl.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>June 15, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to Binutils-2.16.94.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>June 11, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated the list of installed programs for several packages.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Fixed the module-init-tools install in the presence of existing files.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Linux-Headers-2.6.16.20-06092006.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Shadow-4.0.16.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>June 6, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Added information about cross-compiling vim.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>May 29, 2006</para>
+      <itemizedlist>
+	<listitem>
+          <para>[jciccone] - Updated to linux-2.6.16.20, linux-headers-2.6.16.20-06052006, and Bison-2.3.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Added a patch to fix a missing declaration of R_OK in util-linux.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to e2fsprogs-1.39, man-pages-2.33, and linux-headers-2.6.16.19-06042006.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>May 29, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to linux-headers-05292006, udev-093, and binutils-2.16.93.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>May 24, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Created the clfs-2.0 branch. Resetting all Changelogs.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+  </itemizedlist>
+
+  <para>Branch Synced from cross-lfs-1.0 on May 24th, 2006</para>
+
+</sect1>
Index: OK/introduction/common/hostreqs.xml
===================================================================
--- BOOK/introduction/common/hostreqs.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,133 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="hostreqs">
-  <?dbhtml filename="hostreqs.html"?>
-
-  <title>Host System Requirements</title>
-
-    <para>You should be able to build a CLFS system from just about any
-    recent Linux distrubtion. Your host system should have the following
-    software with the minimum versions indicated. Also note that many
-    distributions will place software headers into separate packages, often in
-    the form of <quote>[package-name]-devel</quote> or
-    <quote>[package-name]-dev</quote>. Be sure to install those if
-    your distribution provides them.</para>
-
-  <itemizedlist spacing="compact">
-
-    <listitem>
-      <para><emphasis role="strong">Bash-4.0</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Binutils-2.20</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Bzip2-1.0.5</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Coreutils-8.1</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Diffutils-3.0</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Findutils-4.4.0</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Gawk-3.1</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">GCC-4.4</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Glibc-2.11</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Grep-2.6</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Gzip-1.3</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">M4-1.4.16</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Make-3.81</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">ncurses5</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Patch-2.6</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Sed-4.2.1</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Sudo-1.7.4p4</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Tar-1.23</emphasis></para>
-    </listitem>
-
-    <listitem>
-      <para><emphasis role="strong">Texinfo-4.13</emphasis></para>
-    </listitem>
-
-  </itemizedlist>
-
-  <para>To see whether your host system has all the appropriate versions, run the following:</para>
-
-<screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
-<literal>#!/bin/bash
-
-# Simple script to list version numbers of critical development tools
-set -e
-bash --version | head -n1 | cut -d" " -f2-4
-echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
-bzip2 --version 2&gt;&amp;1 &lt; /dev/null | head -n1 | cut -d" " -f1,6-
-echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
-diff --version | head -n1
-find --version | head -n1
-gawk --version | head -n1
-gcc --version | head -n1
-ldd $(which ${SHELL}) | grep libc.so | cut -d ' ' -f 3 | ${SHELL} | head -n 1 \
-| cut -d ' ' -f 1-10
-grep --version | head -n1
-gzip --version | head -n1
-m4 --version | head -n1
-make --version | head -n1
-echo "#include &lt;ncurses.h&gt;" | gcc -E - &gt; /dev/null
-patch --version | head -n1
-sed --version | head -n1
-sudo -V | head -n1
-tar --version | head -n1
-makeinfo --version | head -n1</literal>
-
-EOF
-
-bash version-check.sh</userinput></screen>
-
-</sect1>
Index: BOOK/introduction/common/how.xml
===================================================================
--- BOOK/introduction/common/how.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/introduction/common/how.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -33,12 +33,14 @@
   LiveCD or to download a copy, visit <ulink url="&livecd-root;"/>.</para>
 
-  <para><xref linkend="chapter-getting-materials"/> of this book describes how
-  to create a temporary build directory and which packages and patches need to
-  be downloaded to build a CLFS system.
-  <xref linkend="chapter-final-preps"/> discusses the setup for an appropriate
-  working environment. Please read <xref linkend="chapter-final-preps"/>
-  carefully as it explains several important issues the developer should be
-  aware of before beginning to work through <xref
-    linkend="chapter-cross-tools"/> and beyond.</para>
+  <para><xref linkend="chapter-partitioning"/> of this book describes how
+  to create a new Linux native partition and file system, the place
+  where the new CLFS system will be compiled and installed. <xref
+  linkend="chapter-getting-materials"/> explains which packages and
+  patches need to be downloaded to build a CLFS system and how to store
+  them on the new file system. <xref linkend="chapter-final-preps"/>
+  discusses the setup for an appropriate working environment. Please read
+  <xref linkend="chapter-final-preps"/> carefully as it explains several
+  important issues the developer should be aware of before beginning to
+  work through <xref linkend="chapter-cross-tools"/> and beyond.</para>
 
   <para><xref linkend="chapter-cross-tools"/> explains the installation of
@@ -50,5 +52,5 @@
   binutils into ${CLFS}/cross-tools, so that we have an asembler and a linker
   for our target architecture. GCC is then compiled statically and installed
-  into ${CLFS}/cross-tools, this cross-compiler is used to build the libc for the
+  into ${CLFS}/cross-tools, this cross-compiler is used to build glibc for the
   final-system. The GCC cross-compiler is then rebuilt dynamically - this final
   cross-compiler is what will be used to build the final-system.</para>
Index: BOOK/introduction/common/resources.xml
===================================================================
--- BOOK/introduction/common/resources.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/introduction/common/resources.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -24,13 +24,23 @@
     <title>Mailing Lists</title>
 
-    <para>The <uri>clfs.org</uri> server hosts a number of
+    <para>The <uri>linuxfromscratch.org</uri> server hosts a number of
     mailing lists used for the development of the CLFS project. These lists
     include the main development and support lists, among others. If the
     FAQ does not solve the problem you are having, the next step would be to
-    search the mailing lists at <ulink url="&clfs-wiki;wiki/lists"/>.</para>
+    search the mailing lists at <ulink url="&lfs-root;search.html"/>.</para>
 
     <para>For information on the different lists, how to subscribe, archive
     locations, and additional information, visit
-    <ulink url="&clfs-wiki;wiki/lists"/>.</para>
+    <ulink url="&lfs-root;mail.html"/>. For mailing lists specifically
+    for CLFS, visit <ulink url="&clfs-wiki;wiki/lists"/>.</para>
+
+  </sect2>
+
+  <sect2 id="ch-intro-newsserver">
+    <title>News Server</title>
+
+    <para> The Linux From Scratch News Server is no longer available.
+    Please use the other support methods listed on this page
+    </para>
 
   </sect2>
@@ -45,6 +55,15 @@
     <uri>chat.freenode.net</uri>. The support channel for cross-lfs
     is named #cross-lfs. If you need to show people the output of your
-    problems, please use <ulink url="http://pastebin.clfs.org"/> and 
-    reference the pastebin URL when asking your questions.</para>
+    problems, please use http://pastebin.cross-lfs.org and reference
+    the pastebin URL when asking your questions.</para>
+
+  </sect2>
+
+  <sect2 id="ch-intro-references">
+    <title>References</title>
+
+    <para>For additional information on the packages, useful tips are
+    available in the LFS Package Reference page located at <ulink
+    url="&lfs-root;~matthew/LFS-references.html"/>.</para>
 
   </sect2>
@@ -53,8 +72,10 @@
     <title>Mirror Sites</title>
 
-    <para>The CLFS project has a number of world-wide mirrors to make
+    <para>The LFS project has a number of world-wide mirrors to make
     accessing the website and downloading the required packages more
-    convenient. Please visit <ulink url="&clfs-wiki;wiki/mirrors"/> for
-    CLFS mirror information.</para>
+    convenient. Please visit the LFS website at <ulink
+    url="&lfs-root;mirrors.html"/> for a list of current mirrors of
+    the LFS website, or <ulink url="&clfs-wiki;wiki/mirrors"/> for
+    mirrors of CLFS.</para>
 
   </sect2>
@@ -63,6 +84,6 @@
     <title>Contact Information</title>
 
-    <para>Please direct all your questions and comments to one of the
-    CLFS mailing lists (see above).</para>
+    <para>Please direct all your questions and comments to one of the LFS
+    or CLFS mailing lists (see above).</para>
 
   </sect2>
Index: BOOK/introduction/common/whatsnew.xml
===================================================================
--- BOOK/introduction/common/whatsnew.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/introduction/common/whatsnew.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-intro-whatsnew" xreflabel="Master WhatsNew">
+  <?dbhtml filename="whatsnew.html"?>
+
+  <title>What's new since the last release.</title>
+
+  <para>Below is a list of package updates  made since the previous release of the book.</para>
+
+  <itemizedlist>
+    <title>Upgraded to:</title>
+
+    <listitem>
+      <para>None</para>
+    </listitem>
+  </itemizedlist>
+
+  <itemizedlist>
+    <title>Added:</title>
+
+    <listitem>
+      <para>None</para>
+    </listitem>
+  </itemizedlist>
+
+  <itemizedlist>
+    <title>Removed:</title>
+
+    <listitem>
+      <para>None</para>
+    </listitem>
+  </itemizedlist>
+
+</sect1>
Index: BOOK/introduction/x86-chapter.xml
===================================================================
--- BOOK/introduction/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/introduction/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<chapter id="chapter-intro" xreflabel="Introduction">
+  <?dbhtml dir="introduction"?>
+  <?dbhtml filename="chapter.html"?>
+
+  <title>Introduction</title>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/acknowledgements.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/how.xml"/>
+  <!-- Uncoment after the first CLFS release
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/whatsnew.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/whatsnew.xml"/>
+  -->
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/changelog.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/changelog.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/resources.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/askforhelp.xml"/>
+  <!-- This page is only for published versions if the LiveCD is included
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/livecd.xml"/>
+  -->
+
+</chapter>
Index: BOOK/introduction/x86/changelog.xml
===================================================================
--- BOOK/introduction/x86/changelog.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/introduction/x86/changelog.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-intro-changelog-x86">
+  <title>Changelog for X86</title>
+  <?dbhtml filename="changelog-x86.html"?>
+
+  <para>Below is a list of changes specifics for this architecture made
+  since the previous release of the book. For general changes see
+  <xref linkend="ch-intro-changelog"/>,</para>
+
+  <itemizedlist>
+    <title>Changelog Entries:</title>
+
+<!-- Changelog template
+
+    <listitem>
+      <para>Date</para>
+      <itemizedlist>
+        <listitem>
+          <para>[name] - Changelog entry.</para>
+        </listitem>
+        <listitem>
+          <para>[name] - Another changelog entry.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+-->
+
+    <listitem>
+      <para>June 22, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Added x86 to the book.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+  </itemizedlist>
+
+</sect1>
Index: BOOK/introduction/x86/livecd.xml
===================================================================
--- BOOK/introduction/x86/livecd.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/introduction/x86/livecd.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-intro-bootcd" arch="arm">
+  <?dbhtml filename="bootcd.html"?>
+
+  <title>About the Included CD</title>
+
+  <para>For your convenience, we have included a CD with this book that
+  contains the source packages needed for creating a Linux From Scratch
+  system.  The CD is bootable and provides a stable working environment
+  for building LFS.  This book refers to this system as the
+  <quote>host system.</quote>  The CD images are actively maintained and
+  updated versions can be found at
+  <ulink url="ftp://ftp.lfs-matrix.de/pub/lfs-livecd/"/></para>
+
+  <para>In addition to the tools required to build LFS, the host system
+  on the CD has a number of other helpful tools installed:</para>
+
+  <itemizedlist>
+
+    <listitem>
+      <para>An HTML version of this book</para>
+    </listitem>
+
+    <listitem>
+      <para>The X Window System Environment</para>
+    </listitem>
+
+    <listitem>
+      <para>Web Tools</para>
+      <itemizedlist>
+        <listitem>
+          <para>Wget (command line file retriever)</para>
+        </listitem>
+        <listitem>
+          <para>Lynx (text web browser)</para>
+        </listitem>
+        <listitem>
+          <para>Irssi (console IRC client)</para>
+        </listitem>
+        <listitem>
+          <para>Firefox (graphical web browser)</para>
+        </listitem>
+        <listitem>
+          <para>Xchat (X-based IRC client)</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>Text Editors</para>
+      <itemizedlist>
+        <listitem>
+          <para>Vim</para>
+        </listitem>
+        <listitem>
+          <para>Nano</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>Network Tools</para>
+      <itemizedlist>
+        <listitem>
+          <para>SSH Server and Client</para>
+        </listitem>
+        <listitem>
+          <para>NFS Server and Client</para>
+        </listitem>
+        <listitem>
+          <para>Smbmount (mount.cifs) for Windows shares</para>
+        </listitem>
+        <listitem>
+          <para>Subversion</para>
+        </listitem>
+        <listitem>
+          <para>Dhcpcd (DHCP client)</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>Filesystem Programs</para>
+      <itemizedlist>
+        <listitem>
+          <para>Reiserfsprogs</para>
+        </listitem>
+        <listitem>
+          <para>Xfsprogs</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>nALFS - A tool for automating LFS builds</para>
+    </listitem>
+
+  </itemizedlist>
+
+</sect1>
Index: BOOK/introduction/x86/whatsnew.xml
===================================================================
--- BOOK/introduction/x86/whatsnew.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/introduction/x86/whatsnew.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-intro-whatsnew-arm">
+  <title>What's New for ARM</title>
+  <?dbhtml filename="whatsnew-arm.html"?>
+
+  <para>Below is a list of changes specifics for this architecture made
+  since the previous release of the book. For general changes see
+  <xref linkend="ch-intro-whatsnew"/>,</para>
+
+  <itemizedlist>
+    <title>Upgraded to:</title>
+
+    <listitem>
+      <para>None</para>
+    </listitem>
+  </itemizedlist>
+
+  <itemizedlist>
+    <title>Added:</title>
+
+    <listitem>
+      <para>None</para>
+    </listitem>
+  </itemizedlist>
+
+  <itemizedlist>
+    <title>Removed:</title>
+
+    <listitem>
+      <para>None</para>
+    </listitem>
+  </itemizedlist>
+
+</sect1>
Index: OK/materials/chapter.xml
===================================================================
--- BOOK/materials/chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,19 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<chapter id="chapter-getting-materials" xreflabel="Build Directory, Packages, and Patches">
-  <?dbhtml dir="materials"?>
-  <?dbhtml filename="chapter.html"?>
-
-  <title>Build Directory, Packages, and Patches</title>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingbuilddir.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/packages.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/patches.xml"/>
-
-</chapter>
Index: OK/materials/common/creatingbuilddir.xml
===================================================================
--- BOOK/materials/common/creatingbuilddir.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,41 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-materials-creatingbuilddir">
-  <?dbhtml filename="creatingbuilddir.html"?>
-
-  <title>Creating Build and Sources Directories</title>
-
-  <para> Create a directory for the CLFS build.  The exact location is up to you
-    but depending on the location you choose, you may need to do this as the
-    root user: </para>
-
-<screen><userinput>sudo mkdir -p /mnt/clfs</userinput></screen>
-
-  <para>Assign it to the <envar>CLFS</envar> environment variable:</para>
-
-<screen><userinput>export CLFS=/mnt/clfs</userinput></screen>
-
-  <para>Ensure that this new directory has permissions that are not too
-    restrictive such that you can write to it as a non-root user.  Depending on
-    the location of the <envar>CLFS</envar> directory, you may need to do this
-    as the root user:</para>
-
-<screen><userinput>sudo chmod 777 ${CLFS}</userinput></screen>
-
-  <para>Downloaded packages and patches will need to be stored somewhere
-  that is conveniently available throughout the entire build. A working
-  directory is also required to unpack the sources and build them.
-  <filename class="directory">${CLFS}/sources</filename> can be used both
-  as the place to store the tarballs and patches and as a working
-  directory.</para>
-
-  <para>Create a directory to store the sources:</para>
-
-<screen><userinput>mkdir -v ${CLFS}/sources</userinput></screen>
-
-</sect1>
Index: BOOK/materials/common/introduction.xml
===================================================================
--- BOOK/materials/common/introduction.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/materials/common/introduction.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -11,18 +11,42 @@
   <title>Introduction</title>
 
-  <para>This chapter creates a directory where the cross compiler toolchain wil
-  be built and a directory where sources are kept.  It includes a list of
-  packages that need to be downloaded for building a basic Linux
-  system.</para>
-
-  <para>The listed version numbers correspond to versions of the software that
-  are known to work, and this book is based on their use. We highly recommend
-  not using newer or older versions because the build commands for one version may not
-  work with another version.</para>
+  <para>This chapter includes a list of packages that need to be downloaded
+  for building a basic Linux system. The listed version numbers correspond
+  to versions of the software that are known to work, and this book is based
+  on their use. We highly recommend not using newer versions because the
+  build commands for one version may not work with a newer version. The
+  newest package versions may also have problems that require work-arounds.
+  These work-arounds will be developed and stabilized in the development
+  version of the book.</para>
 
   <para>Download locations may not always be accessible. If a download
   location has changed since this book was published, Google (<ulink
   url="http://www.google.com/"/>) provides a useful search engine for
-  most packages.</para>
+  most packages. If this search is unsuccessful, try one of the
+  alternative means of downloading discussed at <ulink
+  url="&packages-root;"/>.</para>
+
+  <para>Downloaded packages and patches will need to be stored somewhere
+  that is conveniently available throughout the entire build. A working
+  directory is also required to unpack the sources and build them.
+  <filename class="directory">${CLFS}/sources</filename> can be used both
+  as the place to store the tarballs and patches and as a working
+  directory. By using this directory, the required elements will be
+  located on the CLFS partition and will be available during all stages
+  of the building process.</para>
+
+  <para>To create this directory, execute, as user <systemitem
+  class="username">root</systemitem>, the following command before
+  starting the download session:</para>
+
+<screen><userinput>mkdir -v ${CLFS}/sources</userinput></screen>
+
+  <para>Make this directory writable and sticky. When a directory is
+  marked <quote>sticky</quote>, that means that even if multiple users have
+  write permission on that directory, any file within that directory can only be
+  deleted or modified by its owner. The following command will enable the
+  write and sticky modes:</para>
+
+<screen><userinput>chmod -v a+wt ${CLFS}/sources</userinput></screen>
 
 </sect1>
Index: BOOK/materials/common/packages.xml
===================================================================
--- BOOK/materials/common/packages.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/materials/common/packages.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -25,13 +25,4 @@
 
     <varlistentry>
-      <term>BusyBox (&busybox-version;) - <token>&busybox-size;</token>:</term>
-      <listitem>
-        <para>Home page: <ulink url="&busybox-home;"/></para>
-        <para>Download: <ulink url="&busybox-url;"/></para>
-        <para>MD5 sum: <literal>&busybox-md5;</literal></para>
-      </listitem>
-    </varlistentry>
-
-    <varlistentry>
       <term>CLFS-Bootscripts (&clfs-bootscripts-version;) - <token>&clfs-bootscripts-size;</token>:</term>
       <listitem>
@@ -52,22 +43,4 @@
 
     <varlistentry>
-      <term>GMP (&gmp-version;) - <token>&gmp-size;</token>:</term>
-      <listitem>
-        <para>Home page: <ulink url="&gmp-home;"/></para>
-        <para>Download: <ulink url="&gmp-url;"/></para>
-        <para>MD5 sum: <literal>&gmp-md5;</literal></para>
-      </listitem>
-    </varlistentry>
-
-    <varlistentry>
-      <term>iana-etc (&iana-etc-version;) - <token>&iana-etc-size;</token>:</term>
-      <listitem>
-        <para>Home page: <ulink url="&iana-etc-home;"/></para>
-        <para>Download: <ulink url="&iana-etc-url;"/></para>
-        <para>MD5 sum: <literal>&iana-etc-md5;</literal></para>
-      </listitem>
-    </varlistentry>
-
-    <varlistentry os="linux">
       <term>Linux (&linux-version;) - <token>&linux-size;</token>:</term>
       <listitem>
@@ -79,27 +52,36 @@
 
     <varlistentry>
-      <term>MPC (&mpc-version;) - <token>&mpc-size;</token>:</term>
+      <term>Linux-Headers (&linux-headers-version;) - <token>&linux-headers-size;</token>:</term>
       <listitem>
-        <para>Home page: <ulink url="&mpc-home;"/></para>
-        <para>Download: <ulink url="&mpc-url;"/></para>
-        <para>MD5 sum: <literal>&mpc-md5;</literal></para>
+        <para>Home page: <ulink url="&linux-headers-home;"/></para>
+        <para>Download: <ulink url="&linux-headers-url;"/></para>
+        <para>MD5 sum: <literal>&linux-headers-md5;</literal></para>
       </listitem>
     </varlistentry>
 
     <varlistentry>
-      <term>MPFR (&mpfr-version;) - <token>&mpfr-size;</token>:</term>
+      <term>uClibc (&uclibc-version;) - <token>&uclibc-size;</token>:</term>
       <listitem>
-        <para>Home page: <ulink url="&mpfr-home;"/></para>
-        <para>Download: <ulink url="&mpfr-url;"/></para>
-        <para>MD5 sum: <literal>&mpfr-md5;</literal></para>
+        <para>Home page: <ulink url="&uclibc-home;"/></para>
+        <para>Download: <ulink url="&uclibc-url;"/></para>
+        <para>MD5 sum: <literal>&uclibc-md5;</literal></para>
       </listitem>
     </varlistentry>
 
     <varlistentry>
-      <term>musl (&musl-version;) - <token>&musl-size;</token>:</term>
+      <term>Udev (&udev-version;) - <token>&udev-size;</token>:</term>
       <listitem>
-        <para>Home page: <ulink url="&musl-home;"/></para>
-        <para>Download: <ulink url="&musl-url;"/></para>
-        <para>MD5 sum: <literal>&musl-md5;</literal></para>
+        <para>Home page: <ulink url="&udev-home;"/></para>
+        <para>Download: <ulink url="&udev-url;"/></para>
+        <para>MD5 sum: <literal>&udev-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>Udev Cross-LFS Rules (&udev-cross-lfs-version;) - <token>&udev-cross-lfs-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&udev-cross-lfs-home;"/></para>
+        <para>Download: <ulink url="&udev-cross-lfs-url;"/></para>
+        <para>MD5 sum: <literal>&udev-cross-lfs-md5;</literal></para>
       </listitem>
     </varlistentry>
Index: BOOK/materials/common/patches.xml
===================================================================
--- BOOK/materials/common/patches.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/materials/common/patches.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
@@ -19,21 +19,37 @@
   <variablelist role="materials">
 
-<!--
     <varlistentry>
-      <term>BusyBox Fixes Patch - <token>&busybox-fixes-patch-size;</token>:</term>
+      <term>Binutils Posix Patch - <token>&binutils-posix-patch-size;</token>:</term>
       <listitem>
         <para>Download: <ulink
-        url="&patches-root;&busybox-fixes-patch;"/></para>
-        <para>MD5 sum: <literal>&busybox-fixes-patch-md5;</literal></para>
+        url="&patches-root;&binutils-posix-patch;"/></para>
+        <para>MD5 sum: <literal>&binutils-posix-patch-md5;</literal></para>
       </listitem>
     </varlistentry>
--->
 
     <varlistentry>
-      <term>Iana-Etc Update Patch - <token>&iana-etc-update-patch-size;</token>:</term>
+      <term>GCC Cross Search Paths Patch - <token>&gcc-cross_search-patch-size;</token>:</term>
       <listitem>
         <para>Download: <ulink
-        url="&patches-root;&iana-etc-update-patch;"/></para>
-        <para>MD5 sum: <literal>&iana-etc-update-patch-md5;</literal></para>
+        url="&patches-root;&gcc-cross_search-patch;"/></para>
+        <para>MD5 sum: <literal>&gcc-cross_search-patch-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>GCC PR20425 Patch - <token>&gcc-PR20425-patch-size;</token>:</term>
+      <listitem>
+        <para>Download: <ulink
+        url="&patches-root;&gcc-PR20425-patch;"/></para>
+        <para>MD5 sum: <literal>&gcc-PR20425-patch-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>GCC Posix Patch - <token>&gcc-posix-patch-size;</token>:</term>
+      <listitem>
+        <para>Download: <ulink
+        url="&patches-root;&gcc-posix-patch;"/></para>
+        <para>MD5 sum: <literal>&gcc-posix-patch-md5;</literal></para>
       </listitem>
     </varlistentry>
@@ -43,3 +59,10 @@
   <para os="a">Total size of these patches: about <returnvalue/></para>
 
+  <para>In addition to the above required patches, there exist a number of
+  optional patches created by the CLFS community. These optional patches
+  solve minor problems or enable functionality that is not enabled by
+  default. Feel free to peruse the patches database located at
+  <ulink url="&lfs-root;patches/"/> and acquire any additional
+  patches to suit the system needs.</para>
+
 </sect1>
Index: BOOK/materials/x86-chapter.xml
===================================================================
--- BOOK/materials/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/materials/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<chapter id="chapter-getting-materials" xreflabel="Packages and Patches">
+  <?dbhtml dir="materials"?>
+  <?dbhtml filename="chapter.html"?>
+
+  <title>Packages and Patches</title>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/packages.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/packages.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/patches.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/patches.xml"/>
+
+</chapter>
Index: BOOK/materials/x86/packages.xml
===================================================================
--- BOOK/materials/x86/packages.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/materials/x86/packages.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-materials-packages-x86">
+  <?dbhtml filename="packages-x86.html"?>
+
+  <title>Additional Packages for X86</title>
+
+<!--
+  <variablelist role="materials">
+
+  </variablelist>
+-->
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+  href="../common/packages.xml"
+  xpointer="xpointer(//*[@os='a'])"/>
+
+</sect1>
Index: BOOK/materials/x86/patches.xml
===================================================================
--- BOOK/materials/x86/patches.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/materials/x86/patches.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-materials-patches-x86">
+  <?dbhtml filename="patches-x86.html"?>
+
+  <title>Additional Patches for X86</title>
+
+<!--
+
+  <variablelist role="materials">
+
+    <varlistentry os="coreutils-x86_uname-patch">
+      <term>Coreutils Uname Patch - <token>&coreutils-x86_uname-patch-size;</token>:</term>
+      <listitem>
+        <para>Download: <ulink
+        url="&patches-root;coreutils/&coreutils-x86_uname-patch;"/></para>
+        <para>MD5 sum: <literal>&coreutils-x86_uname-patch-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
+  </variablelist>
+
+-->
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+  href="../common/patches.xml"
+  xpointer="xpointer(//*[@os='a'])"/>
+
+</sect1>
Index: OK/mips-index.xml
===================================================================
--- BOOK/mips-index.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,72 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "general.ent">
-  %general-entities;
-]>
-
-<book>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="preface/mips/bookinfo.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="preface/preface.xml"/>
-
-  <part id="part1">
-    <?dbhtml filename="part1.html"?>
-
-    <title>Introduction</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction/chapter.xml"/>
-
-  </part>
-
-  <part id="part2">
-    <?dbhtml filename="part2.html"?>
-
-    <title>Preparing for the Build</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="materials/chapter.xml"/>
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="final-preps/chapter.xml"/>
-  </part>
-
-  <part id="part3">
-    <?dbhtml filename="part3.html"?>
-
-    <title>Make the Cross-Compile Tools</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="cross-tools/mips-chapter.xml"/>
-
-  </part>
-
-  <part id="part4">
-    <?dbhtml filename="part4.html"?>
-
-    <title>Building the CLFS System</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="final-system/chapter.xml"/>
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootable/chapter.xml"/>
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootscripts/chapter.xml"/>
-
-  </part>
-
-  <part id="part5">
-    <?dbhtml filename="part5.html"?>
-
-    <title>Beyond CLFS Embedded</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="beyond/chapter.xml"/>
-
-  </part>
-
-  <part id="part6">
-    <?dbhtml filename="part6.html"?>
-
-    <title>Cleanup and Boot</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="cleanup/chapter.xml"/>
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="the-end/chapter.xml"/>
-
-  </part>
-
-  <index/>
-
-</book>
Index: BOOK/obfuscate.sh
===================================================================
--- BOOK/obfuscate.sh	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/obfuscate.sh	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+# obfuscate.sh
+# obfuscate email addresses in XML/HTML
+# Script written (and slight perl modification) by Archaic <archaic AT linuxfromscratch D0T org>
+# Original Perl expression by Anderson Lizardo <lizardo AT linuxfromscratch D0T org>
+# Released under the GNU General Public License
+#
+# This script currently only seeks out mailto: addresses. If those same
+# addresses also appear in plaintext, we need to obfuscate those as well.
+#
+# This script was made for a very specific purpose so I was a bit lazy in
+# writing the regex's.
+#
+# Please send comments, enhancements, etc. to the above address
+
+#set -e  # Bail on all errors
+
+# First, ensure that we are given a file to process
+# if [ $# -lt 1 ]; then
+#   echo -e "\nYou must provide an input file."
+#   exit 1
+# fi
+
+# Nothing like a backup plan!
+#cp "$1" "$1".bak
+
+for i in `grep -o '"mailto:.*@.*"' "$1" |sed -e 's|^"mailto:||' -e 's|"$||'`; do
+  link=`echo $i | perl -pe 's/[^\n]/"\\\&#".ord($&)."\;"/ge'`
+  plaintext=`echo $i | sed -e 's|@| AT |' -e 's|\.| D0T |g'`
+  sed -i "s|mailto:$i|mailto:$link|" "$1"
+  sed -i "s|$i|$plaintext|" "$1"
+done
+
+#exit 0
Index: BOOK/packages.ent
===================================================================
--- BOOK/packages.ent	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/packages.ent	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,94 +1,55 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 
-<!ENTITY packages-root "&clfs-root;files/packages/embedded-&generic-version;/">
+<!ENTITY packages-root "&clfs-root;files/packages/&generic-version;/">
 
 <!-- Note: For empty *-home entities use " " not "" -->
 
-<!ENTITY binutils-version "2.27">
-<!ENTITY binutils-size "25488 KB">
+<!ENTITY binutils-version "2.17">
+<!ENTITY binutils-size "13,496 KB">
 <!ENTITY binutils-url "&gnu;binutils/binutils-&binutils-version;.tar.bz2">
-<!ENTITY binutils-md5 "2869c9bf3e60ee97c74ac2a6bf4e9d68">
-<!ENTITY binutils-home "http://www.gnu.org/software/binutils/">
+<!ENTITY binutils-md5 "e26e2e06b6e4bf3acf1dc8688a94c0d1">
+<!ENTITY binutils-home "http://sources.redhat.com/binutils/">
 
-<!ENTITY busybox-version "1.24.2">
-<!ENTITY busybox-size "2019 KB">
-<!ENTITY busybox-url "http://busybox.net/downloads/busybox-&busybox-version;.tar.bz2">
-<!ENTITY busybox-md5 "2eaae519cac1143bcf583636a745381f">
-<!ENTITY busybox-home "http://www.busybox.net">
+<!ENTITY clfs-bootscripts-version "1.1-pre1">
+<!ENTITY clfs-bootscripts-size "28 KB">
+<!ENTITY clfs-bootscripts-url "&packages-root;bootscripts-cross-lfs-&clfs-bootscripts-version;.tar.bz2">
+<!ENTITY clfs-bootscripts-md5 "8b3f03ee50ce339c858406e52e649f74">
+<!ENTITY clfs-bootscripts-home " ">
 
-<!ENTITY clfs-bootscripts-version "git master HEAD">
-<!ENTITY clfs-bootscripts-size "5 KB">
-<!ENTITY clfs-bootscripts-url "http://git.clfs.org/?p=bootscripts-embedded.git;a=snapshot;h=HEAD;sf=tgz">
-<!ENTITY clfs-bootscripts-md5 "N/A">
-<!ENTITY clfs-bootscripts-home "http://git.clfs.org/?p=bootscripts-embedded.git">
+<!ENTITY gcc-version "4.1.1">
+<!ENTITY gcc-size "38,300 KB">
+<!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
+<!ENTITY gcc-md5 "ad9f97a4d04982ccf4fd67cb464879f3">
+<!ENTITY gcc-home "http://gcc.gnu.org/">
 
-<!ENTITY gcc-version "6.2.0">
-<!ENTITY gcc-size "97441 KB">
-<!ENTITY gcc-url "http://gcc.gnu.org/pub/gcc/releases/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
-<!ENTITY gcc-md5 "9768625159663b300ae4de2f4745fcc4">
-<!ENTITY gcc-home "http://gcc.gnu.org">
+<!ENTITY linux-dl-version "2.6">
 
-<!ENTITY gmp-version "6.1.1">
-<!ENTITY gmp-size "2330 KB">
-<!ENTITY gmp-url "&gnu;gmp/gmp-&gmp-version;.tar.bz2">
-<!ENTITY gmp-md5 "4c175f86e11eb32d8bf9872ca3a8e11d">
-<!ENTITY gmp-home "http://gmplib.org/">
+<!ENTITY linux-version "2.6.18">
+<!ENTITY linux-size "40,884 KB">
+<!ENTITY linux-url "&kernel;linux/kernel/v&linux-dl-version;/linux-&linux-version;.tar.bz2">
+<!ENTITY linux-md5 "296a6d150d260144639c3664d127d174">
+<!ENTITY linux-home "http://www.kernel.org/">
 
-<!ENTITY iana-etc-version "2.30">
-<!ENTITY iana-etc-size "200 KB">
-<!ENTITY iana-etc-url "http://sethwklein.net/iana-etc-&iana-etc-version;.tar.bz2">
-<!ENTITY iana-etc-md5 "3ba3afb1d1b261383d247f46cb135ee8">
-<!ENTITY iana-etc-home "http://sethwklein.net/iana-etc">
+<!ENTITY linux-headers-version "&linux-version;-09302006">
+<!ENTITY linux-headers-size "1,572 KB">
+<!ENTITY linux-headers-url "&packages-root;linux-headers-&linux-headers-version;.tar.bz2">
+<!ENTITY linux-headers-md5 "0dbaa9a456bf4f669e40fe9c2f65ff86">
+<!ENTITY linux-headers-home "http://headers.cross-lfs.org/">
 
-<!ENTITY linux-dl-version "4.x">
-<!ENTITY linux-version "4.9.22">
-<!ENTITY linux-size "91034 KB">
-<!ENTITY linux-url "&kernel;linux/kernel/v&linux-dl-version;/linux-&linux-version;.tar.xz">
-<!ENTITY linux-md5 "b6390b3abc02ef4986644fb7051b4568">
-<!ENTITY linux-home "http://www.kernel.org">
+<!ENTITY uclibc-version "0.9.28">
+<!ENTITY uclibc-size "1,724 KB">
+<!ENTITY uclibc-url "http://www.uclibc.org/downloads/uClibc-&uclibc-version;.tar.bz2">
+<!ENTITY uclibc-md5 "1ada58d919a82561061e4741fb6abd29">
+<!ENTITY uclibc-home "http://uclibc.org//">
 
-<!ENTITY mpc-version "1.0.3">
-<!ENTITY mpc-size "655 KB">
-<!ENTITY mpc-url "http://www.multiprecision.org/mpc/download/mpc-&mpc-version;.tar.gz">
-<!ENTITY mpc-md5 "d6a1d5f8ddea3abd2cc3e98f58352d26">
-<!ENTITY mpc-home "http://www.multiprecision.org/">
+<!ENTITY udev-version "102">
+<!ENTITY udev-size "196 KB">
+<!ENTITY udev-url "&kernel;linux/utils/kernel/hotplug/udev-&udev-version;.tar.bz2">
+<!ENTITY udev-md5 "734e4ef5d5aa28b226f9dfa0f47c1806">
+<!ENTITY udev-home "http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html">
 
-<!ENTITY mpfr-version "3.1.4">
-<!ENTITY mpfr-size "1250 KB">
-<!ENTITY mpfr-url "&gnu;mpfr/mpfr-&mpfr-version;.tar.bz2">
-<!ENTITY mpfr-md5 "b8a2f6b0e68bef46e53da2ac439e1cf4">
-<!ENTITY mpfr-home "http://www.mpfr.org/">
-
-<!ENTITY musl-version "1.1.16">
-<!ENTITY musl-size "906 KB">
-<!ENTITY musl-url "http://www.musl-libc.org/releases/musl-&musl-version;.tar.gz">
-<!ENTITY musl-md5 "ac52ccaec6b06ab0f289d37e8436859b">
-<!ENTITY musl-home "http://musl-libc.org/">
-
-<!-- Beyond CLFS library packages -->
-
-<!ENTITY zlib-version "1.2.8">
-<!ENTITY zlib-size "557 KB">
-<!ENTITY zlib-url "&sourceforge;libpng/zlib-&zlib-version;.tar.gz">
-<!ENTITY zlib-md5 "44d667c142d7cda120332623eab69f40">
-<!ENTITY zlib-home "http://www.zlib.net">
-
-<!-- Beyond CLFS networking packages -->
-
-<!ENTITY dropbear-version "2013.60">
-<!ENTITY dropbear-size "1547 KB">
-<!ENTITY dropbear-url "http://matt.ucc.asn.au/dropbear/releases/dropbear-&dropbear-version;.tar.bz2">
-<!ENTITY dropbear-md5 "fffa2fec0c887201bed3a3cc6df7fa35">
-<!ENTITY dropbear-home "http://matt.ucc.asn.au/dropbear/dropbear.html">
-
-<!ENTITY netplug-version "1.2.9.2">
-<!ENTITY netplug-size "21 KB">
-<!ENTITY netplug-url "http://www.red-bean.com/~bos/netplug/netplug-&netplug-version;.tar.bz2">
-<!ENTITY netplug-md5 "1d6db99536bdf875ce441f2c0e45ebf2">
-<!ENTITY netplug-home "http://www.red-bean.com/~bos/">
-
-<!ENTITY wireless_tools-version "29">
-<!ENTITY wireless_tools-size "288 KB">
-<!ENTITY wireless_tools-url "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.&wireless_tools-version;.tar.gz">
-<!ENTITY wireless_tools-md5 "e06c222e186f7cc013fd272d023710cb">
-<!ENTITY wireless_tools-home "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html">
+<!ENTITY udev-cross-lfs-version "1.1-09062006">
+<!ENTITY udev-cross-lfs-size "12 KB">
+<!ENTITY udev-cross-lfs-url "&packages-root;udev-cross-lfs-&udev-cross-lfs-version;.tar.bz2">
+<!ENTITY udev-cross-lfs-md5 "b14319759e8bb215f99cbc3ca99c10d8">
+<!ENTITY udev-cross-lfs-home " ">
Index: BOOK/partitioning/common/creatingfilesystem.xml
===================================================================
--- BOOK/partitioning/common/creatingfilesystem.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/partitioning/common/creatingfilesystem.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-partitioning-creatingfilesystem">
+  <?dbhtml filename="creatingfilesystem.html"?>
+
+  <title>Creating a File System on the Partition</title>
+
+  <para os="a">Now that a blank partition has been set up, the file system can be
+  created. The most widely-used system in the Linux world is the second
+  extended file system (ext2), but with newer high-capacity hard disks,
+  journaling file systems are becoming increasingly popular. We will create
+  an <systemitem class="filesystem">ext2</systemitem> file system.
+  Build instructions for other file systems can be found at
+  <ulink url="&blfs-root;view/svn/postlfs/filesystems.html"/>.</para>
+
+  <para os="b">To create an <systemitem class="filesystem">ext2</systemitem> file
+  system on the CLFS partition, run the following:</para>
+
+<screen os="c"><userinput>mke2fs /dev/<replaceable>[xxx]</replaceable></userinput></screen>
+
+  <para os="d">Replace <replaceable>[xxx]</replaceable> with the name of the CLFS
+  partition (<filename class="devicefile">hda5</filename> in our previous
+  example).</para>
+
+  <note os="e">
+    <para>Some host distributions use custom features in their filesystem
+    creation tools (E2fsprogs). This can cause problems when booting into
+    your new CLFS, as those features will not be supported by the LFS-installed
+    E2fsprogs; you will get an error similar to <computeroutput>unsupported
+    filesystem features, upgrade your e2fsprogs</computeroutput>. To check
+    if your host system uses custom enhancements, run the following
+    command:</para>
+
+<screen os="f"><userinput>debugfs -R feature /dev/<replaceable>[xxx]</replaceable></userinput></screen>
+
+    <para>If the output contains features other than: dir_index; filetype;
+    large_file; resize_inode or sparse_super then your host system may have custom
+    enhancements.  In that case, to avoid later problems, you should compile the
+    stock E2fsprogs package and use the resulting binaries to re-create the
+    filesystem on your CLFS partition:</para>
+
+<screen os="g"><userinput>cd /tmp
+tar xjf /path/to/sources/e2fsprogs-1.39.tar.bz2
+cd e2fsprogs-1.39
+mkdir build
+cd build
+../configure
+make #note that we intentionally don't 'make install' here!
+./misc/mke2fs /dev/<replaceable>[xxx]</replaceable>
+cd /tmp
+rm -rf e2fsprogs-1.39</userinput></screen>
+
+  </note>
+
+  <para os="h">If a swap partition was created, it will need to be initialized
+  for use by issuing the command below. If you are using an existing swap
+  partition, there is no need to format it.</para>
+
+<screen os="i"><userinput>mkswap /dev/<replaceable>[yyy]</replaceable></userinput></screen>
+
+  <para os="j">Replace <replaceable>[yyy]</replaceable> with the name of the
+  swap partition.</para>
+
+</sect1>
Index: BOOK/partitioning/common/creatingpartition.xml
===================================================================
--- BOOK/partitioning/common/creatingpartition.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/partitioning/common/creatingpartition.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-partitioning-creatingpartition">
+  <?dbhtml filename="creatingpartition.html"?>
+
+  <title>Creating a New Partition</title>
+
+  <para os="a">Like most other operating systems, CLFS is usually installed on
+  a dedicated partition. The recommended approach to building a CLFS
+  system is to use an available empty partition or, if you have enough
+  unpartitioned space, to create one. However, a CLFS system (in fact
+  even multiple CLFS systems) may also be installed on a partition already
+  occupied by another operating system and the different systems will
+  co-exist peacefully. The document <ulink
+  url="&hints-root;lfs_next_to_existing_systems.txt"/> explains how to
+  implement this, whereas this book discusses the method of using a fresh
+  partition for the installation.</para>
+
+  <para os="b">A minimal system requires a partition of around 1.3 gigabytes (GB).
+  This is enough to store all the source tarballs and compile the packages.
+  However, if the CLFS system is intended to be the primary Linux system,
+  additional software will probably be installed which will require
+  additional space (2-3 GB). The CLFS system itself will not take up this
+  much room. A large portion of this requirement is to provide sufficient
+  free temporary storage. Compiling packages can require a lot of disk space
+  which will be reclaimed after the package is installed.</para>
+
+  <para os="c">Because there is not always enough Random Access Memory (RAM)
+  available for compilation processes, it is a good idea to use a small disk
+  partition as swap space. This is used by the kernel to store seldom-used
+  data and leave more memory available for active processes. The swap
+  partition for an CLFS system can be the same as the one used by the host
+  system, in which case it is not necessary to create another one.</para>
+
+  <para os="d">Start a disk partitioning program such as <command>cfdisk</command>
+  or <command>fdisk</command> with a command line option naming the hard
+  disk on which the new partition will be created&mdash;for example
+  <filename class="devicefile">/dev/hda</filename> for the primary
+  Integrated Drive Electronics (IDE) disk. Create a Linux native partition
+  and a swap partition, if needed. Please refer to
+  <filename>cfdisk(8)</filename> or <filename>fdisk(8)</filename> if you
+  do not yet know how to use the programs.</para>
+
+  <para os="e">Remember the designation of the new partition (e.g.,
+  <filename class="devicefile">hda5</filename>). This book will refer to
+  this as the CLFS partition. Also remember the designation of the swap
+  partition. These names will be needed later for the
+  <filename>/etc/fstab</filename> file.</para>
+
+</sect1>
Index: BOOK/partitioning/common/introduction.xml
===================================================================
--- BOOK/partitioning/common/introduction.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/partitioning/common/introduction.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-partitioning-introduction">
+  <?dbhtml filename="introduction.html"?>
+
+  <title>Introduction</title>
+
+  <para>In this chapter, the partition which will host the CLFS system is
+  prepared. We will create the partition itself, create a file system
+  on it, and mount it.</para>
+
+</sect1>
Index: BOOK/partitioning/common/mounting.xml
===================================================================
--- BOOK/partitioning/common/mounting.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/partitioning/common/mounting.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-partitioning-mounting">
+  <?dbhtml filename="mounting.html"?>
+
+  <title>Mounting the New Partition</title>
+
+  <para>Now that a file system has been created, the partition needs to
+  be made accessible. In order to do this, the partition needs to be
+  mounted at a chosen mount point. For the purposes of this book, it is
+  assumed that the file system is mounted under <filename
+  class="directory">/mnt/clfs</filename>, but the directory choice is up
+  to you.</para>
+
+  <para>Choose a mount point and assign it to the <envar>CLFS</envar>
+  environment variable by running:</para>
+
+<screen><userinput>export CLFS=/mnt/clfs</userinput></screen>
+
+  <para>Next, create the mount point and mount the CLFS file system by
+  running:</para>
+
+<screen><userinput>mkdir -pv ${CLFS}
+mount -v /dev/<replaceable>[xxx]</replaceable> ${CLFS}</userinput></screen>
+
+  <para>Replace <replaceable>[xxx]</replaceable> with the designation of
+  the CLFS partition.</para>
+
+  <para>If using multiple partitions for CLFS (e.g., one for <filename
+  class="directory">/</filename> and another for <filename
+  class="directory">/usr</filename>), mount them using:</para>
+
+<screen><userinput>mkdir -pv ${CLFS}
+mount -v /dev/<replaceable>[xxx]</replaceable> ${CLFS}
+mkdir -v ${CLFS}/usr
+mount -v /dev/<replaceable>[yyy]</replaceable> ${CLFS}/usr</userinput></screen>
+
+  <para>Replace <replaceable>[xxx]</replaceable> and
+  <replaceable>[yyy]</replaceable> with the appropriate partition
+  names.</para>
+
+  <para>Ensure that this new partition is not mounted with permissions
+  that are too restrictive (such as the nosuid, nodev, or noatime options).
+  Run the <command>mount</command> command without any parameters to see
+  what options are set for the mounted CLFS partition. If
+  <option>nosuid</option>, <option>nodev</option>, and/or
+  <option>noatime</option> are set, the partition will need to be
+  remounted.</para>
+
+  <para>Now that there is an established place to work, it is time to
+  download the packages.</para>
+
+</sect1>
Index: BOOK/partitioning/x86-chapter.xml
===================================================================
--- BOOK/partitioning/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/partitioning/x86-chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<chapter id="chapter-partitioning" xreflabel="Preparing a New Partition">
+  <?dbhtml dir="partitioning"?>
+  <?dbhtml filename="chapter.html"?>
+
+  <title>Preparing a New Partition</title>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingpartition.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingfilesystem.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/mounting.xml"/>
+
+</chapter>
Index: BOOK/patches.ent
===================================================================
--- BOOK/patches.ent	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/patches.ent	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,15 +1,22 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 
-<!ENTITY patches-root "http://patches.clfs.org/embedded-dev/">
+<!ENTITY patches-root "http://svn.cross-lfs.org/svn/repos/cross-lfs/trunk/patches/">
+<!ENTITY patches-3.0-root "http://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-3.0/patches/">
 
-<!-- Core Patches -->
+<!-- Start of Common Patches -->
 
-<!ENTITY iana-etc-update-patch "iana-etc-&iana-etc-version;-update-2.patch">
-<!ENTITY iana-etc-update-patch-md5 "8bf719b313053a482b1e878b75dfc07e">
-<!ENTITY iana-etc-update-patch-size "4 KB">
+<!ENTITY binutils-posix-patch "binutils-&binutils-version;-posix-1.patch">
+<!ENTITY binutils-posix-patch-md5 "7e42a8edc0c59246bbc58c428256113c">
+<!ENTITY binutils-posix-patch-size "4.9 KB">
 
-<!-- Beyond patches -->
+<!ENTITY gcc-cross_search-patch "gcc-&gcc-version;-cross_search_paths-1.patch">
+<!ENTITY gcc-cross_search-patch-md5 "541fe39d228ddaa0d8396a35ec3a0ada">
+<!ENTITY gcc-cross_search-patch-size "2 KB">
 
-<!ENTITY netplug-patch "netplug-&netplug-version;-fixes-1.patch">
-<!ENTITY netplug-patch-md5 "">
-<!ENTITY netplug-patch-size "1 KB">
+<!ENTITY gcc-PR20425-patch "gcc-&gcc-version;-PR20425-1.patch">
+<!ENTITY gcc-PR20425-patch-md5 "95535bda8e4d37d30251db0b121b5374">
+<!ENTITY gcc-PR20425-patch-size "36 KB">
+
+<!ENTITY gcc-posix-patch "gcc-&gcc-version;-posix-1.patch">
+<!ENTITY gcc-posix-patch-md5 "0d88068740a0e00780891f2cb905b808">
+<!ENTITY gcc-posix-patch-size "9 KB">
Index: OK/preface/arm/bookinfo.xml
===================================================================
--- BOOK/preface/arm/bookinfo.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,24 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<bookinfo>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../x86/bookinfo.xml"
-  xpointer="xpointer(/bookinfo/title)"/>
-
-  <subtitle>Version &version-arm;</subtitle>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../x86/bookinfo.xml"
-  xpointer="xpointer(/bookinfo/copyright)"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../x86/bookinfo.xml"
-  xpointer="xpointer(/bookinfo/legalnotice)"/>
-
-</bookinfo>
Index: OK/preface/common/acknowledgements.xml
===================================================================
--- BOOK/preface/common/acknowledgements.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,76 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-preface-acknowledgements">
-  <title>Cross-LFS Acknowledgements</title>
-  <?dbhtml filename="acknowledgements.html"?>
-
-  <para>The CLFS team would like to acknowledge people who
-  have assisted in making the book what it is today.</para>
-
- <para>Our Leaders:</para>
-
-  <itemizedlist>
-    <listitem>
-      <para>Ryan Oliver - Build Process Developer.</para>
-    </listitem>
-    <listitem>
-      <para>Joe Ciccone - Lead Developer.</para>
-    </listitem>
-    <listitem>
-      <para>Jim Gifford - Lead Developer.</para>
-    </listitem>
-  </itemizedlist>
-
-  <para>Our CLFS Team:</para>
-
-  <itemizedlist>
-    <listitem>
-      <para>Andrew Bradford - Embedded Developer.</para>
-    </listitem>
-    <listitem>
-      <para>Manuel Canales Esparcia - Book XML.</para>
-    </listitem>
-    <listitem>
-      <para>Justin Knierim - Website Architect.</para>
-    </listitem>
-    <listitem>
-      <para>Maarten Lankhorst - MIPS/WRT Embedded Developer.</para>
-    </listitem>
-    <listitem>
-      <para>Chris Staub - Testing and Quality Control.</para>
-    </listitem>
-    <listitem>
-      <para>Zack Winkles - Testing and Quality Control.</para>
-    </listitem>
-  </itemizedlist>
-
-<!--
-  <para>Outside the Development Team</para>
-  <itemizedlist>
-    <listitem>
-      <para>Name - Contribution</para>
-    </listitem>
-  </itemizedlist>
--->
-<!--
-
-  <para>The CLFS team would also like to acknowledge contributions of people
-  from <ulink url="clfs-dev@lists.clfs.org"/> and associated mailing lists
-  who have provided valuable technical and editorial corrections while testing
-  the Cross-LFS book.</para>
-
-  <itemizedlist>
-    <listitem>
-      <para>Name - Contribution</para>
-    </listitem>
-  </itemizedlist>
--->
-
-  <para>Thank you all for your support.</para>
-
-</sect1>
Index: OK/preface/common/audience.xml
===================================================================
--- BOOK/preface/common/audience.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,83 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="pre-audience">
-  <?dbhtml filename="audience.html"?>
-
-  <title>Audience</title>
-
-  <para>There are many reasons why somebody would want to read this book.
-  The principal reason is to install a Linux system from the  source code.
-  A question many people raise is, <quote>why go through all the hassle of
-  manually building a Linux system from scratch when you can just download
-  and install an existing one?</quote> That is a good question and is the
-  impetus for this section of the book.</para>
-
-  <para>One important reason for the existence of CLFS is to help people
-  understand how a Linux system works.  Building an CLFS system helps
-  demonstrate what makes Linux tick, and how things work together and
-  depend on each other. One of the best things this learning experience
-  provides is the ability to customize Linux to your own
-  tastes and needs.</para>
-
-  <para>A key benefit of CLFS is that it allows users to have more control
-  over their system without any reliance on a Linux implementation designed
-  by someone else.  With CLFS, <emphasis>you</emphasis> are in the driver's
-  seat and dictate every aspect of the system, such as the directory layout
-  and bootscript setup. You also dictate where, why, and how programs are
-  installed.</para>
-
-  <para>Another benefit of CLFS is the ability to create a very compact
-  Linux system. When installing a regular distribution, one is often forced
-  to include several programs which are probably never used. These programs
-  waste disk space or CPU cycles.  It is not difficult to build an CLFS Embedded
-  system of less than 10 megabytes (MB), which is substantially smaller
-  than the majority of existing installations.  Try that with a
-  regular distribution!</para>
-
-  <para>We could compare Linux distributions to a hamburger purchased at
-  a fast-food restaurant&mdash;you have no idea what might be in what you
-  are eating. CLFS, on the other hand, does not give you a hamburger.
-  Rather, CLFS provides the recipe to make the exact hamburger desired.
-  This allows users to review the recipe, omit unwanted ingredients, and
-  add your own ingredients to enhance the flavor of the burger. When you
-  are satisfied with the recipe, move on to preparing it. It can be made
-  to exact specifications&mdash;broil it, bake it, deep-fry it, or
-  barbecue it.</para>
-
-  <para>Another analogy that we can use is that of comparing CLFS with a
-  finished house. CLFS provides the skeletal plan of a house, but it is up
-  to you to build it. CLFS maintains the freedom to adjust plans throughout
-  the process, customizing it to the needs and preferences of the user.</para>
-
-  <para>Security is an additional advantage of a custom built Linux system.
-  By compiling the entire system from source code, you are empowered to
-  audit everything and apply all the security patches desired. It is no
-  longer necessary to wait for somebody else to compile binary packages
-  that fix a security hole. Unless you examine the patch and implement it
-  yourself, you have no guarantee that the new binary package was built
-  correctly and adequately fixes the problem.</para>
-
-  <para>The goal of Cross Linux From Scratch is to build a complete and
-  usable foundation-level system. Readers who do not wish to build their
-  own Linux system from scratch may not benefit from the information in this
-  book. If you only want to know what happens while the computer boots,
-  we recommend the <quote>From Power Up To Bash Prompt</quote> HOWTO
-  located at <ulink url="http://axiom.anu.edu.au/~okeefe/p2b/"/> or on
-  The Linux Documentation Project's (TLDP) website at <ulink
-  url="http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html"/>.
-  The HOWTO builds a system which is similar to that of this book, but it
-  focuses strictly on creating a system capable of booting to a shell prompt.
-  Consider your objective. If you wish to build a Linux system and learn
-  along the way, this book is your best choice.</para>
-
-  <para>There are too many good reasons to build your own CLFS system to
-  list them all here. This section is only the tip of the iceberg. As
-  you continue in your CLFS experience, you will find the power that
-  information and knowledge truly bring.</para>
-
-</sect1>
Index: OK/preface/common/changelog.xml
===================================================================
--- BOOK/preface/common/changelog.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,626 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-preface-changelog" xreflabel="Master Changelog">
-  <?dbhtml filename="changelog.html"?>
-
-  <title>Master Changelog</title>
-
-  <para>This is version &version; of the Cross-Compiled Linux From Scratch book, dated
-  &releasedate;. If this book is more than six months old, a newer and better
-  version is probably already available. To find out, please check one of the
-  mirrors via <ulink url="&clfs-wiki;"/>.</para>
-
-  <para>Below is a list of detailed changes made since the previous release of
-   the book.</para>
-
-  <itemizedlist>
-    <title>Changelog Entries:</title>
-
-<!-- Changelog template
-
-    <listitem>
-      <para>Date</para>
-      <itemizedlist>
-        <listitem>
-          <para>[name] - New changelog entry.</para>
-        </listitem>
-        <listitem>
-          <para>[name] - Previous changelog entry.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
--->
-    <listitem>
-      <para>October 12, 2017</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Many small fixes submitted by "selk" on IRC and
-            "akhiezer" via email.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update Linux to v4.9.22.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update musl to version 1.1.16.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Add new concept of "targetfs" directory parallel
-            to the cross-tools which allows easier retaining of cross-tools
-            across target builds.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Remove utmp, wtmp, and btmp creation.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>December 28, 2016</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Add apt-get line to INSTALL document.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update binutils to version 2.27.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update busybox to version 1.24.2.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update gmp to version 6.1.1.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update Linux to version 4.4.21.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update mpc to version 1.0.3.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update mpfr to version 3.1.2.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update musl to version 1.1.15.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update GCC to version 6.2 which removes the need
-            for patching GCC for compatibility with musl.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update host requirements and script for m4 and
-            ncurses5.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>June 13, 2014</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Allow for easier starting over of targetfs build.
-          </para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Remove e2fsprogs, busybox version of utilities are
-          good enough.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Remove iptables, untested and largely
-            unused.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Add netplug utility to beyond.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update binutils to v2.24.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update busybox to v1.22.1.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update musl to v1.0.3.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Simplify beyond sections into one section.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>October 24, 2013</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Shorten triplets.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Reorder variable tables for easier reading.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - ARM and x86 are assumed little endian.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Fix musl installation symlinking.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Fix iana-etc 'make get'.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>October 21, 2013</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Cleanup the kernel build.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Move bootloaders into bootable section, just give
-            recommendations no exact steps.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Create top level README and LICENSE.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>October 18, 2013</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Fix the networking configuration to use eth0 and
-            DHCP to obtain a valid IP address.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>October 17, 2013</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Update dropbear to 2013.60 and fix instructions.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Assorted docbook updates for common pages.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Reorganize things people don't need to read into
-            the preface and things that really should be read into the chapters.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Delete hostapd and lib-nl.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Delete dependencies information, most of it was
-            wrong or outdated and so long as you follow the book in order
-            there's no issues.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>October 16, 2013</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Remove uClibc, use musl-libc.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Build cross compiler completely separate from
-            target file system.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Build GMP, MPFR, and MPC within GCC tree.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Linewrap many configure switches for easier
-            reading and editing.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>August 12, 2013</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Don't copy libiberty.h from binutils.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Install linux headers directly without cp.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Revert install of headers to cross-tools.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>July 24, 2013</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Fix binutils build issue with some Texinfo.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Install headers to cross-tools.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>June 17, 2013</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Change partitioning to creating build dir.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>June 13, 2013</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Remove WRT arch.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>June 11, 2013</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Many package updates.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Removal of some LFS specific information.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Update host requirements to at least Debian
-            Squeeze.</para>
-        </listitem>
-        <listitem>
-          <para>[kterrell] - Removal of sources from final tarball.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>September 22, 2012</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Small fixes to prologue and ch 1 and 2.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>September 13, 2012</para>
-      <itemizedlist>
-        <listitem>
-          <para>[ljump] - Fix System.map depmod command.</para>
-        </listitem>
-        <listitem>
-          <para>[ljump] - Fix console and null /dev node creation for final
-            system.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>September 02, 2012</para>
-      <itemizedlist>
-        <listitem>
-          <para>[William Harrington] - Fix uClibc patch MD5 sum.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-   <listitem>
-      <para>August 24, 2012</para>
-      <itemizedlist>
-        <listitem>
-          <para>[William Harrington] - Change Beyond Net hostapd page to include bootscript and configuration sections.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>August 22, 2012</para>
-      <itemizedlist>
-        <listitem>
-          <para>[William Harrington] - Change Beyond Net Dropbear page and edit the installation of bootscripts section.</para>
-        </listitem>
-        <listitem>
-           <para>[William Harrington] - Remove bash reference in hostreqs version script to use $SHELL variable.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>August 08, 2012</para>
-      <itemizedlist>
-        <listitem>
-          <para>[William Harrington] - Update version check script to find the libc version with hosts that use paths other than /lib and /lib64, such as multiarch distro.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-
-    <listitem>
-      <para>May 14, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Updated /etc/mdev.conf to Alpine Linux's example
-          to provide a better baseline example.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Reverted changes that removed the mknod'ing of
-          /dev/console and /dev/null.  These nodes may be needed on some systems
-          for proper booting.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Added Wireless Tools package to Beyond Networking
-          section.  Thanks to Ivan Castell Rovira for providing a set of
-          instructions for the installation of this package.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Fixed some Dropbear issues with symlinks and
-          directory naming.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>April 20, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Created a Beyond section just for extra libraries 
-          and moved zlib into it.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>April 19, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Created a Beyond section just for networking 
-          tools.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Created a Beyond section just for file system tools
-          and moved e2fsprogs into it.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>April 8, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jciccone] - Cleaned up the acknowledgements page.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>March 31, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Updated BusyBox to version 1.18.4.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated GCC to version 4.6.0.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated MPC to version 0.9.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated zlib to version 1.2.5.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated Linux kernel to version 2.6.38.2.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Require Gawk 3.1 or greater because of Iana-Etc
-          requirements.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated "What Now?" section to include CBLFS link.
-          Thanks go to Adrian Grigo.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Link ${CLFS}/etc/init.d/rcS to
-          ${CLFS}/etc/rc.d/startup so that BusyBox's init can find the startup
-          scripts.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated mdev configuration such that video output
-          is disabled by default to ensure no errors if video is not
-          available.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>March 23, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Remove mknod commands as mdev takes care of creating
-          all required entries in /dev automatically.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Moved change ownership section to be as late in the
-          book as possible and only operate on a copy of the file system.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>March 18, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Copy libgcc library to target as it's needed by
-          at least e2fsprogs.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>March 7, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Added optional information for building C++
-          compiler.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated bootscripts install target and package contents
-          to match current bootscripts.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>February 24, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Added --disable-multilib to GCC builds.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>February 10, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Changed GCC Static and Final to build GCC for
-          ${CLFS_ABI} for ARM and MIPS, ${CLFS_CPU} for x86.  This removes the
-          need for using the ${BUILD} variable when building packages.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated Resources section.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-    
-    <listitem>
-      <para>January 30, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[abradford] - Updated MPFR download link.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated GCC to version 4.5.2.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated Binutils to version 2.21.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Added information to GCC's configure options.</para>
-        </listitem>
-        <listitem>
-          <para>[abradford] - Updated Iana-Etc to use more up-to-date data.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>Janurary 10, 2011</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jciccone] - Changes Submitted By Andrew Bradford via the
-          CLFS-Dev Mailing List. Updated E2fsprogs to 1.41.14 and changed some
-          configure switches for uClibc compatibility.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>November 28, 2010</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jciccone] - Updated BusyBox to 1.17.3.</para>
-        </listitem>
-        <listitem>
-          <para>[jciccone] - Updated uClibc to 0.9.31.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>November 21, 2010</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jciccone] - Added MPC 0.8.2.</para>
-        </listitem>
-        <listitem>
-          <para>[jciccone] - Updated GCC to 4.5.1.</para>
-        </listitem>
-        <listitem>
-          <para>[jciccone] - Updated Binutils to 2.20.1.</para>
-        </listitem>
-        <listitem>
-          <para>[jciccone] - Updated MPFR to 3.0.0.</para>
-        </listitem>
-        <listitem>
-          <para>[jciccone] - Updated GMP to 5.0.1.</para>
-        </listitem>
-        <listitem>
-          <para>[jciccone] - Updated the Linux Kernel to 2.6.36.</para>
-        </listitem>
-        <listitem>
-          <para>[jciccone] - Make sure we change CLFS_HOST before we set it.
-          Also make sure that CLFS_HOST gets saved to the bashrc.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>November 8, 2008</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jciccone] - Updated Busybox to 1.12.1.</para>
-        </listitem>
-        <listitem>
-          <para>[jciccone] - Updated uClibc to 0.9.30-rc3.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>November 8, 2008</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jciccone] - Dropped the uClibc Headers Page.</para>
-        </listitem>
-        <listitem>
-          <para>[jciccone] - Updated GCC to 4.3.2.</para>
-        </listitem>
-        <listitem>
-          <para>[jciccone] - Updated Binutils to 2.19.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>Janurary 9, 2008</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jciccone] - Updated Busybox to 1.8.2.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>November 5, 2006</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jim] - Start of CLFS Embedded Development.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-  </itemizedlist>
-
-</sect1>
Index: OK/preface/common/dedication.xml
===================================================================
--- BOOK/preface/common/dedication.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE dedication PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<dedication>
-  <title>Dedication</title>
-  <para>This book is dedicated</para>
-</dedication>
Index: OK/preface/common/errata.xml
===================================================================
--- BOOK/preface/common/errata.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,25 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="pre-errata">
-  <?dbhtml filename="errata.html"?>
-
-  <title>Errata</title>
-
-  <para>The software used to create a CLFS system is constantly being
-  updated and enhanced. Security warnings and bug fixes may become
-  available after the CLFS book has been released. Once a release of
-  the CLFS Embedded book is made, this page will provide a link to the
-  CLFS Embedded errata page.
-  <!--To check whether the
-  package versions or instructions in this release of CLFS need any
-  modifications to accommodate security vulnerabilities or other bug fixes,
-  please visit <ulink url="&errata;"/> before proceeding with your build.
-  You should note any changes shown and apply them to the relevant section
-  of the book as you progress with building the CLFS system.--></para>
-
-</sect1>
Index: OK/preface/common/foreword.xml
===================================================================
--- BOOK/preface/common/foreword.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,53 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="pre-foreword">
-  <?dbhtml filename="foreword.html"?>
-
-  <title>Foreword</title>
-
-  <para>The Linux From Scratch Project has seen many changes in the
-  few years of its existence.  I personally became involved with the
-  project in 2000, around the time of the 3.x releases.  At that time,
-  the build process was to create static binaries with the host system,
-  then chroot and build the final binaries on top of the static ones.</para>
-
-  <para>Later came the use of the /static directory to hold the initial
-  static builds, keeping them separated from the final system, then
-  the PureLFS process developed by Ryan Oliver and Greg Schafer,
-  introducing a new toolchain build process that divorces even our initial
-  builds from the host.  Finally, LFS 6 bought Linux Kernel 2.6, the
-  udev dynamic device structure, sanitized kernel headers, and other
-  improvements to the Linux From Scratch system.</para>
-
-  <para>The one "flaw" in LFS is that it has always been based on an x86
-  class processor.  With the advent of the Athlon 64 and Intel EM64T
-  processors, the x86-only LFS is no longer ideal. Throughout this time,
-  Ryan Oliver developed and documented a process by which you could
-  build Linux for any system and from any system, by use of
-  cross-compilation techniques. Thus, the Cross-Compiled  LFS (CLFS) was
-  born.</para>
-
-  <para>CLFS Embedded follows the same guiding principles the LFS project has
-  always followed, e.g., knowing your system inside and out by virtue
-  of having built the system yourself.  Additionally, during a CLFS Embedded
-  build, you will learn advanced techniques such as cross-build toolchains,
-  and how to create a smaller footprint system supporting architectures
-  such as ARM and MIPS, in addition to x86.</para>
-
-  <para>We hope you enjoy building your own CLFS Embedded system, and the benefits
-  that come from a system tailored to your needs.</para>
-
-<literallayout>--
-Jim Gifford, CLFS Project Co-leader (Page Author)
-Jeremy Utley, CLFS 1.x Release Manager (Page Author)
-Ryan Oliver, CLFS Project Co-leader
-Joe Ciccone, Justin Knierim, Chris Staub, Matt Darcy, Ken Moffat,
-Maarten Lankhorst, Zack Winkles, Manuel Canales Esparcia,
-Nathan Coulson, and Andrew Bradford - CLFS Developers</literallayout>
-
-</sect1>
Index: OK/preface/common/license.xml
===================================================================
--- BOOK/preface/common/license.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,159 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="license" xreflabel="Open Publication License">
-  <?dbhtml filename="license.html"?>
-
-  <title>Open Publication License</title>
-  <bridgehead renderas="sect3">v1.0, 8 June 1999</bridgehead>
-
-
-  <bridgehead renderas="sect2">I. REQUIREMENTS ON BOTH UNMODIFIED AND
-  MODIFIED VERSIONS</bridgehead>
-
-  <para>The Open Publication works may be reproduced and distributed in
-  whole or in part, in any medium physical or electronic, provided that
-  the terms of this license are adhered to, and that this license or an
-  incorporation of it by reference (with any options elected by the
-  author(s) and/or publisher) is displayed in the reproduction.</para>
-
-  <para>Proper form for an incorporation by reference is as follows:</para>
-
-  <blockquote>
-    <para>Copyright &copy; 1999-&year; by each contributor.
-    This material may be distributed only subject to the terms and conditions
-    set forth in the Open Publication License, v1.0 or later (the latest
-    version is presently available at <ulink
-    url="http://www.opencontent.org/openpub/"/>).</para>
-  </blockquote>
-
-  <para>The reference must be immediately followed with any options elected
-  by the author(s) and/or publisher of the document (see section VI).</para>
-
-  <para>Commercial redistribution of Open Publication-licensed material
-  is permitted.</para>
-
-  <para>Any publication in standard (paper) book form shall require the
-  citation of the original publisher and author. The publisher and
-  author's names shall appear on all outer surfaces of the book. On all
-  outer surfaces of the book the original publisher's name shall be as
-  large as the bridgehead of the work and cited as possessive with respect
-  to the bridgehead.</para>
-
-
-  <bridgehead renderas="sect2">II. COPYRIGHT</bridgehead>
-
-  <para>The copyright to each Open Publication is owned by its
-  author(s) or designee.</para>
-
-  <bridgehead renderas="sect2">III. SCOPE OF LICENSE</bridgehead>
-
-  <para>The following license terms apply to all Open Publication works,
-  unless otherwise explicitly stated in the document.</para>
-
-  <para>Mere aggregation of Open Publication works or a portion of an
-  Open Publication work with other works or programs on the same media
-  shall not cause this license to apply to those other works. The
-  aggregate work shall contain a notice specifying the inclusion of the
-  Open Publication material and appropriate copyright notice.</para>
-
-  <para>SEVERABILITY. If any part of this license is found to be
-  unenforceable in any jurisdiction, the remaining portions of the
-  license remain in force.</para>
-
-  <para>NO WARRANTY. Open Publication works are licensed and provided
-  "as is" without warranty of any kind, express or implied, including,
-  but not limited to, the implied warranties of merchantability and
-  fitness for a particular purpose or a warranty of non-infringement.</para>
-
-
-  <bridgehead renderas="sect2">IV. REQUIREMENTS ON MODIFIED WORKS</bridgehead>
-
-  <para>All modified versions of documents covered by this license,
-  including translations, anthologies, compilations and partial documents,
-  must meet the following requirements:</para>
-
-  <orderedlist>
-    <listitem>
-      <para>The modified version must be labeled as such.</para>
-    </listitem>
-    <listitem>
-      <para>The person making the modifications must be identified and
-      the modifications dated.</para>
-    </listitem>
-    <listitem>
-      <para>Acknowledgement of the original author and publisher if
-      applicable must be retained according to normal academic citation
-      practices.</para>
-    </listitem>
-    <listitem>
-      <para>The location of the original unmodified document must be
-      identified.</para>
-    </listitem>
-    <listitem>
-      <para>The original author's (or authors') name(s) may not be used
-      to assert or imply endorsement of the resulting document without
-      the original author's (or authors') permission.</para>
-    </listitem>
-  </orderedlist>
-
-
-  <bridgehead renderas="sect2">V. GOOD-PRACTICE RECOMMENDATIONS</bridgehead>
-
-  <para>In addition to the requirements of this license, it is requested
-  from and strongly recommended of redistributors that:</para>
-
-  <orderedlist>
-    <listitem>
-      <para>If you are distributing Open Publication works on hardcopy
-      or CD-ROM, you provide email notification to the authors of your
-      intent to redistribute at least thirty days before your manuscript
-      or media freeze, to give the authors time to provide updated
-      documents. This notification should describe modifications, if any,
-      made to the document.</para>
-    </listitem>
-    <listitem>
-      <para>All substantive modifications (including deletions) be either
-      clearly marked up in the document or else described in an attachment
-      to the document.</para>
-    </listitem>
-    <listitem>
-      <para>Finally, while it is not mandatory under this license, it is
-      considered good form to offer a free copy of any hardcopy and CD-ROM
-      expression of an Open Publication-licensed work to its author(s).</para>
-    </listitem>
-  </orderedlist>
-
-
-  <bridgehead renderas="sect2">VI. LICENSE OPTIONS</bridgehead>
-
-  <para>The author(s) and/or publisher of an Open Publication-licensed
-  document may elect certain options by appending language to the reference
-  to or copy of the license. These options are considered part of the
-  license instance and must be included with the license (or its
-  incorporation by reference) in derived works.</para>
-
-  <para>A. To prohibit distribution of substantively modified versions
-  without the explicit permission of the author(s). "Substantive modification"
-  is defined as a change to the semantic content of the document, and
-  excludes mere changes in format or typographical corrections.</para>
-
-  <para>To accomplish this, add the phrase `Distribution of substantively
-  modified versions of this document is prohibited without the explicit
-  permission of the copyright holder.' to the license reference or copy.</para>
-
-  <para>B. To prohibit any publication of this work or derivative works in
-  whole or in part in standard (paper) book form for commercial purposes
-  is prohibited unless prior permission is obtained from the copyright
-  holder.</para>
-
-  <para>To accomplish this, add the phrase 'Distribution of the work or
-  derivative of the work in any standard (paper) book form is prohibited
-  unless prior permission is obtained from the copyright holder.' to the
-  license reference or copy.</para>
-
-</sect1>
Index: OK/preface/common/organization.xml
===================================================================
--- BOOK/preface/common/organization.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,66 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-<sect1 id="pre-organization">
-  <?dbhtml filename="organization.html"?>
-
-  <title>Structure</title>
-
-  <para>This book is divided into the following parts.</para>
-
-  <sect2>
-    <title>Part I - Introduction</title>
-
-    <para>Part I explains a few important notes on how to proceed with the
-    Cross-LFS installation. This section also provides meta-information about
-    the book.</para>
-
-  </sect2>
-
-  <sect2>
-    <title>Part II - Preparing for the Build</title>
-
-    <para>Part II describes how to prepare for the building
-    process including downloading the packages.</para>
-
-  </sect2>
-
-  <sect2>
-    <title>Part III - Make the Cross-Compile Tools</title>
-
-    <para>Part III shows you how to make a set of Cross-Compiler
-    tools. These tools can run on your host system but allow you to
-    build packages that will run on your target system.</para>
-
-  </sect2>
-
-  <sect2>
-    <title>Part IV - Building the CLFS System</title>
-
-    <para>Part IV shows you how to build the core CLFS system.  Compiling
-    and installing BusyBox and other required packages, making the system
-    bootable, setting up the bootscripts, and installing a bootloader.</para>
-
-  </sect2>
-
-  <sect2>
-    <title>Part V - Beyond CLFS Embedded</title>
-
-    <para>Part V provides instructions on optional packages that can be
-    installed to enhance your CLFS system.</para>
-
-  </sect2>
-
-  <sect2>
-    <title>Part VI - Cleanup and Boot</title>
-
-    <para>Part VI finishes up the system by making sure the target file system
-      is ready to be booted, copying it to the target, and finally booting the
-      system.</para>
-
-  </sect2>
-
-</sect1>
Index: OK/preface/common/prerequisites.xml
===================================================================
--- BOOK/preface/common/prerequisites.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,52 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="pre-prerequisites">
-  <?dbhtml filename="prerequisites.html"?>
-
-  <title>Prerequisites</title>
-
-  <para>Building a CLFS system is not a simple task. It requires a certain
-  level of existing knowledge of Unix system administration in order to
-  resolve problems, and correctly execute the commands listed. In particular,
-  as an absolute minimum, the reader should already have the ability to use
-  the command line (shell) to copy or move files and directories, list
-  directory and file contents, and change the current directory. It is also
-  expected that the reader has a reasonable knowledge of using and installing
-  Linux software. A basic knowledge of the architectures being used in 
-  the Cross LFS process and the host operating systems in use is also
-  required.</para>
-
-  <para>Because the CLFS book assumes <emphasis>at least</emphasis> this basic
-  level of skill, the various CLFS support forums are unlikely to be able to
-  provide you with much assistance. Your questions regarding such basic knowledge
-  will likely go unanswered, or you will be referred to the CLFS essential
-  pre-reading list.</para>
-
-  <para>Before building a CLFS system, we recommend reading the following
-  HOWTOs:</para>
-
-  <itemizedlist>
-    <listitem>
-      <para remap="verbatim">Software-Building-HOWTO
-      <ulink url="http://www.tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>
-
-      <para>This is a comprehensive guide to building and installing
-      <quote>generic</quote> Unix software distributions under Linux.</para>
-    </listitem>
-    <listitem>
-      <para remap="verbatim">The Essential Pre-Reading Hint
-      <ulink url="&hints-root;essential_prereading.txt"/></para>
-
-      <para>This is a hint written specifically for users new to Linux.
-      It includes a list of links to excellent sources of information on a
-      wide range of topics. Anyone attempting to install CLFS should have an
-      understanding of many of the topics in this hint.</para>
-    </listitem>
-  </itemizedlist>
-
-</sect1>
Index: OK/preface/common/typography.xml
===================================================================
--- BOOK/preface/common/typography.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,74 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="pre-typography">
-  <?dbhtml filename="typography.html"?>
-
-  <title>Typography</title>
-
-  <para>To make things easier to follow, there are a few typographical
-  conventions used throughout this book. This section contains some
-  examples of the typographical format found throughout Linux From
-  Scratch.</para>
-
-<screen role="nodump"><userinput>./configure --prefix=/usr</userinput></screen>
-
-  <para>This form of text is designed to be typed exactly as seen unless
-  otherwise noted in the surrounding text. It is also used in the
-  explanation sections to identify which of the commands is being
-  referenced.</para>
-
-<screen><computeroutput>install-info: unknown option '--dir-file=/mnt/clfs/usr/info/dir'</computeroutput></screen>
-
-  <para>This form of text (fixed-width text) shows screen output,
-  probably as the result of commands issued.  This format is also used
-  to show filenames, such as <filename>/etc/ld.so.conf</filename>.</para>
-
-  <para><emphasis>Emphasis</emphasis></para>
-
-  <para>This form of text is used for several purposes in the book.
-  Its main purpose is to emphasize important points or items.</para>
-
-  <para><ulink url="&clfs-root;"/></para>
-
-  <para>This format is used for hyperlinks, both within the CLFS
-  community and to external pages. It includes HOWTOs, download locations,
-  and websites.</para>
-
-<screen role="nodump"><userinput>cat &gt; ${CLFS}/etc/group &lt;&lt; "EOF"
-<literal>root:x:0:
-bin:x:1:
-......</literal>
-EOF</userinput></screen>
-
-  <para>This format is used when creating configuration files. The first
-  command tells the system to create the file
-  <filename>${CLFS}/etc/group</filename> from whatever is typed on the
-  following lines until the sequence end of file (EOF) is encountered.
-  Therefore, this entire section is generally typed as seen.</para>
-
-  <para><replaceable>[REPLACED TEXT]</replaceable></para>
-
-  <para>This format is used to encapsulate text that is not to be typed
-  as seen or copied-and-pasted.</para>
-
-  <para><filename>passwd(5)</filename></para>
-
-  <para>This format is used to refer to a specific manual page (hereinafter
-  referred to simply as a <quote>man</quote> page). The number inside
-  parentheses indicates a specific section inside of <command>man</command>.
-  For example, <command>passwd</command> has two man pages.
-  <command>man passwd</command> will print the first man page it finds
-  that matches <quote>passwd</quote>, which will be
-  <filename>/usr/share/man/man1/passwd.1</filename>. For this example,
-  you will need to run <command>man 5 passwd</command> in order to read
-  the specific page being referred to. It should be noted that most man
-  pages do not have duplicate page names in different sections. Therefore,
-  <command>man <replaceable>[program name]</replaceable></command> is
-  generally sufficient.</para>
-
-</sect1>
Index: OK/preface/mips/bookinfo.xml
===================================================================
--- BOOK/preface/mips/bookinfo.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,24 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<bookinfo>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../x86/bookinfo.xml"
-  xpointer="xpointer(/bookinfo/title)"/>
-
-  <subtitle>Version &version-mips;</subtitle>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../x86/bookinfo.xml"
-  xpointer="xpointer(/bookinfo/copyright)"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../x86/bookinfo.xml"
-  xpointer="xpointer(/bookinfo/legalnotice)"/>
-
-</bookinfo>
Index: OK/preface/preface.xml
===================================================================
--- BOOK/preface/preface.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,24 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<preface id="preface">
-  <?dbhtml dir="preface"?>
-  <?dbhtml filename="preface.html"?>
-
-  <title>Preface</title>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/foreword.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/audience.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/prerequisites.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/typography.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/organization.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/license.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/changelog.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/acknowledgements.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/errata.xml"/>
-
-</preface>
Index: OK/preface/x86/bookinfo.xml
===================================================================
--- BOOK/preface/x86/bookinfo.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,38 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<bookinfo>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../../index.xml"
-  xpointer="xpointer(/bookinfo/title)"/>
-
-  <subtitle>Version &version-x86;</subtitle>
-
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  href="../../index.xml"
-  xpointer="xpointer(/bookinfo/copyright)"/>
-
-  <legalnotice>
-    <para>Copyright &copy; 2005-&year;, Joe Ciccone, Jim Gifford, Maarten Lankhorst, &amp; Ryan Oliver</para>
-
-    <para>All rights reserved.</para>
-
-    <para>This material may be distributed only subject to the terms and
-    conditions set forth in the <xref linkend="license"/> v1.0 or later
-    (the latest version is presently available at <ulink
-    url="http://www.opencontent.org/openpub/"/>).</para>
-
-    <!-- Modifications and limitations to the OPL (see section VI)
-    can be place here, if needed. -->
-
-    <para><trademark class='registered'>Linux</trademark> is a registered
-    trademark of Linus Torvalds.</para>
-
-  </legalnotice>
-
-</bookinfo>
Index: BOOK/prologue/common/audience.xml
===================================================================
--- BOOK/prologue/common/audience.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/prologue/common/audience.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="pre-audience">
+  <?dbhtml filename="audience.html"?>
+
+  <title>Audience</title>
+
+  <para>There are many reasons why somebody would want to read this book.
+  The principal reason is to install a Linux system from the  source code.
+  A question many people raise is, <quote>why go through all the hassle of
+  manually building a Linux system from scratch when you can just download
+  and install an existing one?</quote> That is a good question and is the
+  impetus for this section of the book.</para>
+
+  <para>One important reason for the existence of CLFS is to help people
+  understand how a Linux system works.  Building an CLFS system helps
+  demonstrate what makes Linux tick, and how things work together and
+  depend on each other. One of the best things this learning experience
+  provides is the ability to customize Linux to your own
+  tastes and needs.</para>
+
+  <para>A key benefit of CLFS is that it allows users to have more control
+  over their system without any reliance on a Linux implementation designed
+  by someone else.  With CLFS, <emphasis>you</emphasis> are in the driver's
+  seat and dictate every aspect of the system, such as the directory layout
+  and bootscript setup. You also dictate where, why, and how programs are
+  installed.</para>
+
+  <para>Another benefit of CLFS is the ability to create a very compact
+  Linux system. When installing a regular distribution, one is often forced
+  to include several programs which are probably never used. These programs
+  waste disk space or CPU cycles.  It is not difficult to build an CLFS
+  system of less than 100 megabytes (MB), which is substantially smaller
+  than the majority of existing installations.  Does this still sound like a
+  lot of space? A few of us have been working on creating a very small
+  embedded CLFS system. We successfully built a system that was specialized
+  to run the Apache web server with approximately 8MB of disk space used.
+  Further stripping could bring this down to 5 MB or less. Try that with a
+  regular distribution! This is only one of the many benefits of designing
+  your own Linux implementation.</para>
+
+  <para>We could compare Linux distributions to a hamburger purchased at
+  a fast-food restaurant&mdash;you have no idea what might be in what you
+  are eating. CLFS, on the other hand, does not give you a hamburger.
+  Rather, CLFS provides the recipe to make the exact hamburger desired.
+  This allows users to review the recipe, omit unwanted ingredients, and
+  add your own ingredients to enhance the flavor of the burger. When you
+  are satisfied with the recipe, move on to preparing it. It can be made
+  to exact specifications&mdash;broil it, bake it, deep-fry it, or
+  barbecue it.</para>
+
+  <para>Another analogy that we can use is that of comparing CLFS with a
+  finished house. CLFS provides the skeletal plan of a house, but it is up
+  to you to build it. CLFS maintains the freedom to adjust plans throughout
+  the process, customizing it to the needs and preferences of the user.</para>
+
+  <para>Security is an additional advantage of a custom built Linux system.
+  By compiling the entire system from source code, you are empowered to
+  audit everything and apply all the security patches desired. It is no
+  longer necessary to wait for somebody else to compile binary packages
+  that fix a security hole. Unless you examine the patch and implement it
+  yourself, you have no guarantee that the new binary package was built
+  correctly and adequately fixes the problem.</para>
+
+  <para>The goal of Cross Linux From Scratch is to build a complete and
+  usable foundation-level system. Readers who do not wish to build their
+  own Linux system from scratch may not benefit from the information in this
+  book. If you only want to know what happens while the computer boots,
+  we recommend the <quote>From Power Up To Bash Prompt</quote> HOWTO
+  located at <ulink url="http://axiom.anu.edu.au/~okeefe/p2b/"/> or on
+  The Linux Documentation Project's (TLDP) website at <ulink
+  url="http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html"/>.
+  The HOWTO builds a system which is similar to that of this book, but it
+  focuses strictly on creating a system capable of booting to a BASH prompt.
+  Consider your objective. If you wish to build a Linux system and learn
+  along the way, this book is your best choice.</para>
+
+  <para>There are too many good reasons to build your own CLFS system to
+  list them all here. This section is only the tip of the iceberg. As
+  you continue in your CLFS experience, you will find the power that
+  information and knowledge truly bring.</para>
+
+</sect1>
Index: BOOK/prologue/common/dedication.xml
===================================================================
--- BOOK/prologue/common/dedication.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/prologue/common/dedication.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE dedication PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<dedication>
+  <title>Dedication</title>
+  <para>This book is dedicated</para>
+</dedication>
Index: BOOK/prologue/common/errata.xml
===================================================================
--- BOOK/prologue/common/errata.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/prologue/common/errata.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="pre-errata">
+  <?dbhtml filename="errata.html"?>
+
+  <title>Errata</title>
+
+  <para>The software used to create a CLFS system is constantly being
+  updated and enhanced. Security warnings and bug fixes may become
+  available after the CLFS book has been released. To check whether the
+  package versions or instructions in this release of CLFS need any
+  modifications to accommodate security vulnerabilities or other bug fixes,
+  please visit <ulink url="&errata;"/> before proceeding with your build.
+  You should note any changes shown and apply them to the relevant section
+  of the book as you progress with building the CLFS system.</para>
+
+</sect1>
Index: BOOK/prologue/common/foreword.xml
===================================================================
--- BOOK/prologue/common/foreword.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/prologue/common/foreword.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="pre-foreword">
+  <?dbhtml filename="foreword.html"?>
+
+  <title>Foreword</title>
+
+  <para>The Linux From Scratch Project has seen many changes in the
+  few years of its existence.  I personally became involved with the
+  project in 1999, around the time of the 2.x releases.  At that time,
+  the build process was to create static binaries with the host system,
+  then chroot and build the final binaries on top of the static ones.</para>
+
+  <para>Later came the use of the /static directory to hold the initial
+  static builds, keeping them separated from the final system, then
+  the PureLFS process developed by Ryan Oliver and Greg Schafer,
+  introducing a new toolchain build process that divorces even our initial
+  builds from the host.  Finally, LFS 6 bought Linux Kernel 2.6, the
+  udev dynamic device structure, sanitized kernel headers, and other
+  improvements to the Linux From Scratch system.</para>
+
+  <para>The one "flaw" in LFS is that it has always been based on an x86
+  class processor.  With the advent of the Athlon 64 and Intel EM64T
+  processors, the x86-only LFS is no longer ideal. Throughout this time,
+  Ryan Oliver developed and documented a process by which you could
+  build Linux for any system and from any system, by use of
+  cross-compilation techniques. Thus, the Cross-Compiled  LFS (CLFS) was
+  born.</para>
+
+  <para>CLFS follows the same guiding principles the LFS project has
+  always followed, e.g., knowing your system inside and out by virtue
+  of having built the system yourself.  Additionally, during a CLFS
+  build, you will learn advanced techniques such as cross-build toolchains,
+  multilib support (32 &amp; 64-bit libraries side-by-side), alternative
+  architectures such as Sparc, MIPS, and Alpha, and much more.</para>
+
+  <para>We hope you enjoy building your own CLFS system, and the benefits
+  that come from a system tailored to your needs.</para>
+
+<literallayout>--
+Jeremy Utley, CLFS 1.x Release Manager (Page Author)
+Jim Gifford, CLFS Project Co-leader
+Ryan Oliver, CLFS Project Co-leader
+Joe Ciccone, Justin Knierim, Chris Staub, Matt Darcy, Ken Moffat,
+Manuel Canales Esparcia, and Nathan Coulson - CLFS Developers</literallayout>
+
+</sect1>
Index: BOOK/prologue/common/hostreqs.xml
===================================================================
--- BOOK/prologue/common/hostreqs.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/prologue/common/hostreqs.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="pre-hostreqs">
+  <?dbhtml filename="hostreqs.html"?>
+
+  <title>Host System Requirements</title>
+
+    <para>You should be able to build a CLFS system from just about any
+    Unix-type operating system. Your host system should have the following
+    software with the minimum versions indicated. Also note that many
+    distributions will place software headers into separate packages, often in
+    the form of <quote>[package-name]-devel</quote> or
+    <quote>[package-name]-dev</quote>. Be sure to install those if
+    your distribution provides them.</para>
+
+  <itemizedlist spacing="compact">
+
+    <listitem>
+      <para><emphasis role="strong">Bash-2.05a</emphasis></para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Binutils-2.12</emphasis> (Versions
+      greater than &binutils-version; are not recommended as they have
+      not been tested)</para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Bzip2-1.0.2</emphasis></para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Coreutils-5.0</emphasis> (or Sh-Utils-2.0,
+      Textutils-2.0, and Fileutils-4.1)</para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Diffutils-2.8</emphasis></para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Findutils-4.1.20</emphasis></para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Gawk-3.0</emphasis></para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Gcc-2.95.3</emphasis> (Versions
+      greater than &gcc-version; are not recommended as they have not
+      been tested)</para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Glibc-2.2.5</emphasis> (Versions
+      greater than 2.5; are not recommended as they have
+      not been tested)</para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Grep-2.5</emphasis></para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Gzip-1.2.4</emphasis></para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Make-3.79.1</emphasis></para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Patch-2.5.4</emphasis></para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Sed-3.0.2</emphasis></para>
+    </listitem>
+
+    <listitem>
+      <para><emphasis role="strong">Tar-1.14</emphasis></para>
+    </listitem>
+
+  </itemizedlist>
+
+  <para>To see whether your host system has all the appropriate versions, run the following:</para>
+
+<screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
+<literal>#!/bin/bash
+
+# Simple script to list version numbers of critical development tools
+
+bash --version | head -n1 | cut -d" " -f2-4
+echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-4
+bzip2 --version 2&gt;&amp;1 &lt; /dev/null | head -n1 | cut -d" " -f1,6-
+echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
+diff --version | head -n1
+find --version | head -n1
+gawk --version | head -n1
+gcc --version | head -n1
+/lib/libc.so.6 | head -n1 | cut -d" " -f1-7
+grep --version | head -n1
+gzip --version | head -n1
+make --version | head -n1
+patch --version | head -n1
+sed --version | head -n1
+tar --version | head -n1</literal>
+
+EOF
+
+bash version-check.sh</userinput></screen>
+
+</sect1>
Index: BOOK/prologue/common/organization.xml
===================================================================
--- BOOK/prologue/common/organization.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/prologue/common/organization.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="pre-organization">
+  <?dbhtml filename="organization.html"?>
+
+  <title>Structure</title>
+
+  <para>This book is divided into the following parts.</para>
+
+  <sect2>
+    <title>Part I - Introduction</title>
+
+    <para>Part I explains a few important notes on how to proceed with the
+    Cross-LFS installation. This section also provides meta-information about
+    the book.</para>
+
+  </sect2>
+
+  <sect2>
+    <title>Part II - Preparing for the Build</title>
+
+    <para>Part II describes how to prepare for the building
+    process&mdash;making a partition and downloading the packages.</para>
+
+  </sect2>
+
+  <sect2>
+    <title>Part III - Make the Cross-Compile Tools</title>
+
+    <para>Part III shows you how to make a set of Cross-Compiler
+          tools. These tools can run on your host system but allow you to
+          build packages that will run on your target system.</para>
+
+  </sect2>
+
+  <sect2>
+    <title>Part IV - Building the Basic Tools</title>
+
+    <para>Part IV explains how to build a tool chain designed
+          to operate on your target system. These are the tools
+          that will allow you to build a working system on your 
+          target computer.</para>
+
+  </sect2>
+
+  <sect2>
+    <title>Part V - Building the CLFS System</title>
+
+    <para>Part V guides the reader through the building of the CLFS
+    system&mdash;compiling and installing all the packages one by one,
+    setting up the boot scripts, and installing the kernel. The resulting
+    Linux system is the foundation on which other software can be built to
+    expand the system as desired. At the end of this book, there is an
+    easy to use reference listing all of the programs, libraries, and
+    important files that have been installed.</para>
+
+  </sect2>
+
+  <sect2>
+    <title>Appendices</title>
+
+    <para>The appendices contain information that doesn't really fit anywhere
+    else in the book. Appendix A contains definitions of acronyms and
+    terms used in the book; Appendix B gives acknowledgments to people
+    who have helped work on the CLFS project and website; Appendix C and
+    D have information about package dependencies and the the build
+    order. Some architectures may have additional appendices for
+    arch-specific issues.</para>
+
+  </sect2>
+
+</sect1>
Index: BOOK/prologue/common/prerequisites.xml
===================================================================
--- BOOK/prologue/common/prerequisites.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/prologue/common/prerequisites.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="pre-prerequisites">
+  <?dbhtml filename="prerequisites.html"?>
+
+  <title>Prerequisites</title>
+
+  <para>Building a CLFS system is not a simple task. It requires a certain
+  level of existing knowledge of Unix system administration in order to
+  resolve problems, and correctly execute the commands listed. In particular,
+  as an absolute minimum, the reader should already have the ability to use
+  the command line (shell) to copy or move files and directories, list
+  directory and file contents, and change the current directory. It is also
+  expected that the reader has a reasonable knowledge of using and installing
+  Linux software. A basic knowledge of the architectures being used in 
+  the Cross LFS process and the host operating systems in use is also
+  required.</para>
+
+  <para>Because the CLFS book assumes <emphasis>at least</emphasis> this basic
+  level of skill, the various CLFS support forums are unlikely to be able to
+  provide you with much assistance. Your questions regarding such basic knowledge
+  will likely go unanswered, or you will be referred to the CLFS essential
+  pre-reading list.</para>
+
+  <para>Before building a CLFS system, we recommend reading the following
+  HOWTOs:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para remap="verbatim">Software-Building-HOWTO
+      <ulink url="http://www.tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>
+
+      <para>This is a comprehensive guide to building and installing
+      <quote>generic</quote> Unix software distributions under Linux.</para>
+    </listitem>
+    <listitem>
+      <para remap="verbatim">The Linux Users' Guide
+      <ulink url="http://www.linuxhq.com/guides/LUG/guide.html"/></para>
+
+      <para>This guide covers the usage of assorted Linux software.</para>
+    </listitem>
+    <listitem>
+      <para remap="verbatim">The Essential Pre-Reading Hint
+      <ulink url="&hints-root;essential_prereading.txt"/></para>
+
+      <para>This is a hint written specifically for users new to Linux.
+      It includes a list of links to excellent sources of information on a
+      wide range of topics. Anyone attempting to install CLFS should have an
+      understanding of many of the topics in this hint.</para>
+    </listitem>
+  </itemizedlist>
+
+</sect1>
Index: BOOK/prologue/common/typography.xml
===================================================================
--- BOOK/prologue/common/typography.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/prologue/common/typography.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="pre-typography">
+  <?dbhtml filename="typography.html"?>
+
+  <title>Typography</title>
+
+  <para>To make things easier to follow, there are a few typographical
+  conventions used throughout this book. This section contains some
+  examples of the typographical format found throughout Linux From
+  Scratch.</para>
+
+<screen role="nodump"><userinput>./configure --prefix=/usr</userinput></screen>
+
+  <para>This form of text is designed to be typed exactly as seen unless
+  otherwise noted in the surrounding text. It is also used in the
+  explanation sections to identify which of the commands is being
+  referenced.</para>
+
+<screen><computeroutput>install-info: unknown option '--dir-file=/mnt/clfs/usr/info/dir'</computeroutput></screen>
+
+  <para>This form of text (fixed-width text) shows screen output,
+  probably as the result of commands issued.  This format is also used
+  to show filenames, such as <filename>/etc/ld.so.conf</filename>.</para>
+
+  <para><emphasis>Emphasis</emphasis></para>
+
+  <para>This form of text is used for several purposes in the book.
+  Its main purpose is to emphasize important points or items.</para>
+
+  <para><ulink url="&clfs-root;"/></para>
+
+  <para>This format is used for hyperlinks, both within the CLFS
+  community and to external pages. It includes HOWTOs, download locations,
+  and websites.</para>
+
+<screen role="nodump"><userinput>cat &gt; ${CLFS}/etc/group &lt;&lt; "EOF"
+<literal>root:x:0:
+bin:x:1:
+......</literal>
+EOF</userinput></screen>
+
+  <para>This format is used when creating configuration files. The first
+  command tells the system to create the file
+  <filename>${CLFS}/etc/group</filename> from whatever is typed on the
+  following lines until the sequence end of file (EOF) is encountered.
+  Therefore, this entire section is generally typed as seen.</para>
+
+  <para><replaceable>[REPLACED TEXT]</replaceable></para>
+
+  <para>This format is used to encapsulate text that is not to be typed
+  as seen or copied-and-pasted.</para>
+
+  <para><filename>passwd(5)</filename></para>
+
+  <para>This format is used to refer to a specific manual page (hereinafter
+  referred to simply as a <quote>man</quote> page). The number inside
+  parentheses indicates a specific section inside of <command>man</command>.
+  For example, <command>passwd</command> has two man pages. Per CLFS
+  installation instructions, those two man pages will be located at
+  <filename>/usr/share/man/man1/passwd.1</filename> and
+  <filename>/usr/share/man/man5/passwd.5</filename>. Both man pages have
+  different information in them. When the book uses
+  <filename>passwd(5)</filename> it is specifically referring to
+  <filename>/usr/share/man/man5/passwd.5</filename>.
+  <command>man passwd</command> will print the first man page it finds
+  that matches <quote>passwd</quote>, which will be
+  <filename>/usr/share/man/man1/passwd.1</filename>. For this example,
+  you will need to run <command>man 5 passwd</command> in order to read
+  the specific page being referred to. It should be noted that most man
+  pages do not have duplicate page names in different sections. Therefore,
+  <command>man <replaceable>[program name]</replaceable></command> is
+  generally sufficient.</para>
+
+</sect1>
Index: BOOK/prologue/preface.xml
===================================================================
--- BOOK/prologue/preface.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/prologue/preface.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<preface id="preface">
+  <?dbhtml dir="prologue"?>
+  <?dbhtml filename="preface.html"?>
+
+  <title>Preface</title>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/foreword.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/audience.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/prerequisites.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/hostreqs.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/typography.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/organization.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/errata.xml"/>
+
+</preface>
Index: BOOK/prologue/x86/bookinfo.xml
===================================================================
--- BOOK/prologue/x86/bookinfo.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/prologue/x86/bookinfo.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<bookinfo>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+  href="../../index.xml"
+  xpointer="xpointer(/bookinfo/title)"/>
+
+  <subtitle>Version &version-x86;</subtitle>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+  href="../../index.xml"
+  xpointer="xpointer(/bookinfo/authorgroup)"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+  href="../../index.xml"
+  xpointer="xpointer(/bookinfo/copyright)"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+  href="../../index.xml"
+  xpointer="xpointer(bookinfo/bibliosource)"/>
+
+  <legalnotice>
+    <para>Copyright &copy; 2005-2006, Jim Gifford &amp; Ryan Oliver</para>
+
+    <para>All rights reserved.</para>
+
+    <para>This material may be distributed only subject to the terms and
+    conditions set forth in the <xref linkend="license"/> v1.0 or later
+    (the latest version is presently available at <ulink
+    url="http://www.opencontent.org/openpub/"/>).</para>
+
+    <!-- Modifications and limitations to the OPL (see section VI)
+    can be place here, if needed. -->
+
+    <para><trademark class='registered'>Linux</trademark> is a registered
+    trademark of Linus Torvalds.</para>
+
+    <para>This book is based on the "Linux From Scratch" book, that was
+    released under the following license:</para>
+
+    <para>Copyright (c) 1999&ndash;2006, Gerard Beekmans</para>
+
+    <para>All rights reserved.</para>
+
+    <para>Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are
+    met:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>Redistributions in any form must retain the above copyright
+        notice, this list of conditions and the following disclaimer</para>
+      </listitem>
+      <listitem>
+        <para>Neither the name of <quote>Linux From Scratch</quote> nor the
+        names of its contributors may be used to endorse or promote products
+        derived from  this material without specific prior written
+        permission</para>
+      </listitem>
+      <listitem>
+        <para>Any material derived from Linux From Scratch must contain
+        a reference to the <quote>Linux From Scratch</quote> project</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    <quote>AS IS</quote> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
+    BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+    OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+    ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</para>
+
+  </legalnotice>
+
+</bookinfo>
Index: OK/schema/docbook/4.5/rng/calstblx.rnc
===================================================================
--- BOOK/schema/docbook/4.5/rng/calstblx.rnc	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,164 +1,0 @@
-# ......................................................................
-
-# DocBook CALS Table Model V4.5 ........................................
-
-# File calstblx.mod ....................................................
-
-# Copyright 1992-2002 HaL Computer Systems, Inc.,
-# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
-# Corporation, Norman Walsh, Sun Microsystems, Inc., and the
-# Organization for the Advancement of Structured Information
-# Standards (OASIS).
-# 
-# This DTD is based on the CALS Table Model
-# PUBLIC "-//USA-DOD//DTD Table Model 951010//EN"
-# 
-# $Id: calstblx.dtd 6340 2006-10-03 13:23:24Z nwalsh $
-# 
-# Permission to use, copy, modify and distribute the DocBook DTD
-# and its accompanying documentation for any purpose and without fee
-# is hereby granted in perpetuity, provided that the above copyright
-# notice and this paragraph appear in all copies.  The copyright
-# holders make no representation about the suitability of the DTD for
-# any purpose.  It is provided "as is" without expressed or implied
-# warranty.
-# 
-# If you modify the DocBook DTD in any way, except for declaring and
-# referencing additional sets of general entities and declaring
-# additional notations, label your DTD as a variant of DocBook.  See
-# the maintenance documentation for more information.
-# 
-# Please direct all questions, bug reports, or suggestions for
-# changes to the docbook@lists.oasis-open.org mailing list. For more
-# information, see http://www.oasis-open.org/docbook/.
-
-# ......................................................................
-
-# This module contains the definitions for the CALS Table Model
-# converted to XML. It has been modified slightly for use in the
-# combined HTML/CALS models supported by DocBook V4.5.
-
-# These definitions are not directly related to the table model, but are
-# used in the default CALS table model and are usually defined elsewhere
-# (and prior to the inclusion of this table module) in a CALS DTD.
-
-# no if zero(s),
-# yes if any other digits value
-
-yesorno = string
-titles = title?
-# default for use in entry content
-
-# The parameter entities as defined below provide the CALS table model
-# as published (as part of the Example DTD) in MIL-HDBK-28001.
-# 
-# These following declarations provide the CALS-compliant default definitions
-# for these entities.  However, these entities can and should be redefined
-# (by giving the appropriate parameter entity declaration(s) prior to the
-# reference to this Table Model declaration set entity) to fit the needs
-# of the current application.
-tbl.table-titles.mdl = titles
-tbl.table-main.mdl = tgroup+ | graphic+
-tbl.tgroup.mdl = colspec*, spanspec*, thead?, tfoot?, tbody
-tbl.tgroup.att = attribute tgroupstyle { text }?
-tbl.row.mdl = (entry | entrytbl)+
-tbl.entrytbl.mdl = colspec*, spanspec*, thead?, tbody
-# =====  Element and attribute declarations follow. =====
-
-# doc:A formal table in a document.
-table = element table { table.attlist, tbl.table.mdl }
-table.attlist &=
-  attribute frame { tbl.frame.attval }?,
-  attribute colsep { yesorno }?,
-  attribute rowsep { yesorno }?,
-  tbl.table.att,
-  bodyatt,
-  secur
-# doc:A wrapper for the main content of a table, or part of a table.
-tgroup = element tgroup { tgroup.attlist, tbl.tgroup.mdl }
-tgroup.attlist &=
-  attribute cols { text },
-  tbl.tgroup.att,
-  attribute colsep { yesorno }?,
-  attribute rowsep { yesorno }?,
-  attribute align { "left" | "right" | "center" | "justify" | "char" }?,
-  attribute char { text }?,
-  attribute charoff { text }?,
-  secur
-# doc:Specifications for a column in a table.
-colspec = element colspec { colspec.attlist, empty }
-colspec.attlist &=
-  attribute colnum { text }?,
-  attribute colname { text }?,
-  attribute colwidth { text }?,
-  attribute colsep { yesorno }?,
-  attribute rowsep { yesorno }?,
-  attribute align { "left" | "right" | "center" | "justify" | "char" }?,
-  attribute char { text }?,
-  attribute charoff { text }?
-# doc:Formatting information for a spanned column in a table.
-spanspec = element spanspec { spanspec.attlist, empty }
-spanspec.attlist &=
-  attribute namest { text },
-  attribute nameend { text },
-  attribute spanname { text },
-  attribute colsep { yesorno }?,
-  attribute rowsep { yesorno }?,
-  attribute align { "left" | "right" | "center" | "justify" | "char" }?,
-  attribute char { text }?,
-  attribute charoff { text }?
-# doc:A table header consisting of one or more rows.
-thead = element thead { thead.attlist, tbl.hdft.mdl }
-thead.attlist &=
-  attribute valign { "top" | "middle" | "bottom" }?,
-  secur
-# doc:A table footer consisting of one or more rows.
-tfoot = element tfoot { tfoot.attlist, tbl.hdft.mdl }
-tfoot.attlist &=
-  attribute valign { "top" | "middle" | "bottom" }?,
-  secur
-# doc:A wrapper for the rows of a table or informal table.
-tbody = element tbody { tbody.attlist, tbl.tbody.mdl }
-tbody.attlist &=
-  attribute valign { "top" | "middle" | "bottom" }?,
-  secur
-# doc:A row in a table.
-row = element row { row.attlist, tbl.row.mdl }
-row.attlist &=
-  attribute rowsep { yesorno }?,
-  attribute valign { "top" | "middle" | "bottom" }?,
-  secur
-# doc:A subtable appearing in place of an Entry in a table.
-entrytbl = element entrytbl { entrytbl.attlist, tbl.entrytbl.mdl }
-entrytbl.attlist &=
-  attribute cols { text },
-  tbl.tgroup.att,
-  attribute colname { text }?,
-  attribute spanname { text }?,
-  attribute namest { text }?,
-  attribute nameend { text }?,
-  attribute colsep { yesorno }?,
-  attribute rowsep { yesorno }?,
-  attribute align { "left" | "right" | "center" | "justify" | "char" }?,
-  attribute char { text }?,
-  attribute charoff { text }?,
-  secur
-# doc:A cell in a table.
-entry = element entry { entry.attlist, tbl.entry.mdl* }
-entry.attlist &=
-  attribute colname { text }?,
-  attribute namest { text }?,
-  attribute nameend { text }?,
-  attribute spanname { text }?,
-  attribute morerows { text }?,
-  attribute colsep { yesorno }?,
-  attribute rowsep { yesorno }?,
-  attribute align { "left" | "right" | "center" | "justify" | "char" }?,
-  attribute char { text }?,
-  attribute charoff { text }?,
-  attribute rotate { yesorno }?,
-  attribute valign { "top" | "middle" | "bottom" }?,
-  secur
-# End of DocBook CALS Table Model V4.5 .................................
-
-# ......................................................................
Index: OK/schema/docbook/4.5/rng/calstblx.rng
===================================================================
--- BOOK/schema/docbook/4.5/rng/calstblx.rng	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,477 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ...................................................................... -->
-<!-- DocBook CALS Table Model V4.5 ........................................ -->
-<!-- File calstblx.mod .................................................... -->
-<!--
-  Copyright 1992-2002 HaL Computer Systems, Inc.,
-  O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
-  Corporation, Norman Walsh, Sun Microsystems, Inc., and the
-  Organization for the Advancement of Structured Information
-  Standards (OASIS).
-  
-  This DTD is based on the CALS Table Model
-  PUBLIC "-//USA-DOD//DTD Table Model 951010//EN"
-  
-  $Id: calstblx.dtd 6340 2006-10-03 13:23:24Z nwalsh $
-  
-  Permission to use, copy, modify and distribute the DocBook DTD
-  and its accompanying documentation for any purpose and without fee
-  is hereby granted in perpetuity, provided that the above copyright
-  notice and this paragraph appear in all copies.  The copyright
-  holders make no representation about the suitability of the DTD for
-  any purpose.  It is provided "as is" without expressed or implied
-  warranty.
-  
-  If you modify the DocBook DTD in any way, except for declaring and
-  referencing additional sets of general entities and declaring
-  additional notations, label your DTD as a variant of DocBook.  See
-  the maintenance documentation for more information.
-  
-  Please direct all questions, bug reports, or suggestions for
-  changes to the docbook@lists.oasis-open.org mailing list. For more
-  information, see http://www.oasis-open.org/docbook/.
--->
-<!-- ...................................................................... -->
-<!--
-  This module contains the definitions for the CALS Table Model
-  converted to XML. It has been modified slightly for use in the
-  combined HTML/CALS models supported by DocBook V4.5.
--->
-<!--
-  These definitions are not directly related to the table model, but are
-  used in the default CALS table model and are usually defined elsewhere
-  (and prior to the inclusion of this table module) in a CALS DTD.
--->
-<!--
-  no if zero(s),
-  yes if any other digits value
--->
-<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="">
-  <define name="yesorno">
-    <data type="string"/>
-  </define>
-  <define name="titles">
-    <optional>
-      <ref name="title"/>
-    </optional>
-  </define>
-  <!-- default for use in entry content -->
-  <!--
-    The parameter entities as defined below provide the CALS table model
-    as published (as part of the Example DTD) in MIL-HDBK-28001.
-    
-    These following declarations provide the CALS-compliant default definitions
-    for these entities.  However, these entities can and should be redefined
-    (by giving the appropriate parameter entity declaration(s) prior to the
-    reference to this Table Model declaration set entity) to fit the needs
-    of the current application.
-  -->
-  <define name="tbl.table-titles.mdl">
-    <ref name="titles"/>
-  </define>
-  <define name="tbl.table-main.mdl">
-    <choice>
-      <oneOrMore>
-        <ref name="tgroup"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="graphic"/>
-      </oneOrMore>
-    </choice>
-  </define>
-  <define name="tbl.tgroup.mdl">
-    <zeroOrMore>
-      <ref name="colspec"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="spanspec"/>
-    </zeroOrMore>
-    <optional>
-      <ref name="thead"/>
-    </optional>
-    <optional>
-      <ref name="tfoot"/>
-    </optional>
-    <ref name="tbody"/>
-  </define>
-  <define name="tbl.tgroup.att">
-    <optional>
-      <attribute name="tgroupstyle"/>
-    </optional>
-  </define>
-  <define name="tbl.row.mdl">
-    <oneOrMore>
-      <choice>
-        <ref name="entry"/>
-        <ref name="entrytbl"/>
-      </choice>
-    </oneOrMore>
-  </define>
-  <define name="tbl.entrytbl.mdl">
-    <zeroOrMore>
-      <ref name="colspec"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="spanspec"/>
-    </zeroOrMore>
-    <optional>
-      <ref name="thead"/>
-    </optional>
-    <ref name="tbody"/>
-  </define>
-  <!-- =====  Element and attribute declarations follow. ===== -->
-  <!-- doc:A formal table in a document. -->
-  <define name="table">
-    <element name="table">
-      <ref name="table.attlist"/>
-      <ref name="tbl.table.mdl"/>
-    </element>
-  </define>
-  <define name="table.attlist" combine="interleave">
-    <optional>
-      <attribute name="frame">
-        <choice>
-          <ref name="tbl.frame.attval"/>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <ref name="tbl.table.att"/>
-    <ref name="bodyatt"/>
-    <ref name="secur"/>
-  </define>
-  <!-- doc:A wrapper for the main content of a table, or part of a table. -->
-  <define name="tgroup">
-    <element name="tgroup">
-      <ref name="tgroup.attlist"/>
-      <ref name="tbl.tgroup.mdl"/>
-    </element>
-  </define>
-  <define name="tgroup.attlist" combine="interleave">
-    <attribute name="cols"/>
-    <ref name="tbl.tgroup.att"/>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <!-- doc:Specifications for a column in a table. -->
-  <define name="colspec">
-    <element name="colspec">
-      <ref name="colspec.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <define name="colspec.attlist" combine="interleave">
-    <optional>
-      <attribute name="colnum"/>
-    </optional>
-    <optional>
-      <attribute name="colname"/>
-    </optional>
-    <optional>
-      <attribute name="colwidth"/>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-  </define>
-  <!-- doc:Formatting information for a spanned column in a table. -->
-  <define name="spanspec">
-    <element name="spanspec">
-      <ref name="spanspec.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <define name="spanspec.attlist" combine="interleave">
-    <attribute name="namest"/>
-    <attribute name="nameend"/>
-    <attribute name="spanname"/>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-  </define>
-  <!-- doc:A table header consisting of one or more rows. -->
-  <define name="thead">
-    <element name="thead">
-      <ref name="thead.attlist"/>
-      <ref name="tbl.hdft.mdl"/>
-    </element>
-  </define>
-  <define name="thead.attlist" combine="interleave">
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <!-- doc:A table footer consisting of one or more rows. -->
-  <define name="tfoot">
-    <element name="tfoot">
-      <ref name="tfoot.attlist"/>
-      <ref name="tbl.hdft.mdl"/>
-    </element>
-  </define>
-  <define name="tfoot.attlist" combine="interleave">
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <!-- doc:A wrapper for the rows of a table or informal table. -->
-  <define name="tbody">
-    <element name="tbody">
-      <ref name="tbody.attlist"/>
-      <ref name="tbl.tbody.mdl"/>
-    </element>
-  </define>
-  <define name="tbody.attlist" combine="interleave">
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <!-- doc:A row in a table. -->
-  <define name="row">
-    <element name="row">
-      <ref name="row.attlist"/>
-      <ref name="tbl.row.mdl"/>
-    </element>
-  </define>
-  <define name="row.attlist" combine="interleave">
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <!-- doc:A subtable appearing in place of an Entry in a table. -->
-  <define name="entrytbl">
-    <element name="entrytbl">
-      <ref name="entrytbl.attlist"/>
-      <ref name="tbl.entrytbl.mdl"/>
-    </element>
-  </define>
-  <define name="entrytbl.attlist" combine="interleave">
-    <attribute name="cols"/>
-    <ref name="tbl.tgroup.att"/>
-    <optional>
-      <attribute name="colname"/>
-    </optional>
-    <optional>
-      <attribute name="spanname"/>
-    </optional>
-    <optional>
-      <attribute name="namest"/>
-    </optional>
-    <optional>
-      <attribute name="nameend"/>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <!-- doc:A cell in a table. -->
-  <define name="entry">
-    <element name="entry">
-      <ref name="entry.attlist"/>
-      <zeroOrMore>
-        <ref name="tbl.entry.mdl"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <define name="entry.attlist" combine="interleave">
-    <optional>
-      <attribute name="colname"/>
-    </optional>
-    <optional>
-      <attribute name="namest"/>
-    </optional>
-    <optional>
-      <attribute name="nameend"/>
-    </optional>
-    <optional>
-      <attribute name="spanname"/>
-    </optional>
-    <optional>
-      <attribute name="morerows"/>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-    <optional>
-      <attribute name="rotate">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="secur"/>
-  </define>
-</grammar>
-<!-- End of DocBook CALS Table Model V4.5 ................................. -->
-<!-- ...................................................................... -->
Index: OK/schema/docbook/4.5/rng/dbhierx.rnc
===================================================================
--- BOOK/schema/docbook/4.5/rng/dbhierx.rnc	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1549 +1,0 @@
-# ......................................................................
-
-# DocBook document hierarchy module V4.5 ...............................
-
-# File dbhierx.mod .....................................................
-
-# Copyright 1992-2004 HaL Computer Systems, Inc.,
-# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
-# Corporation, Norman Walsh, Sun Microsystems, Inc., and the
-# Organization for the Advancement of Structured Information
-# Standards (OASIS).
-# 
-# $Id: dbhierx.mod 6340 2006-10-03 13:23:24Z nwalsh $
-# 
-# Permission to use, copy, modify and distribute the DocBook DTD
-# and its accompanying documentation for any purpose and without fee
-# is hereby granted in perpetuity, provided that the above copyright
-# notice and this paragraph appear in all copies.  The copyright
-# holders make no representation about the suitability of the DTD for
-# any purpose.  It is provided "as is" without expressed or implied
-# warranty.
-# 
-# If you modify the DocBook DTD in any way, except for declaring and
-# referencing additional sets of general entities and declaring
-# additional notations, label your DTD as a variant of DocBook.  See
-# the maintenance documentation for more information.
-# 
-# Please direct all questions, bug reports, or suggestions for
-# changes to the docbook@lists.oasis-open.org mailing list. For more
-# information, see http://www.oasis-open.org/docbook/.
-
-# ......................................................................
-
-# This module contains the definitions for the overall document
-# hierarchies of DocBook documents.  It covers computer documentation
-# manuals and manual fragments, as well as reference entries (such as
-# man pages) and technical journals or anthologies containing
-# articles.
-# 
-# This module depends on the DocBook information pool module.  All
-# elements and entities referenced but not defined here are assumed
-# to be defined in the information pool module.
-# 
-# In DTD driver files referring to this module, please use an entity
-# declaration that uses the public identifier shown below:
-# 
-# <!ENTITY % dbhier PUBLIC
-# "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.5//EN"
-# "dbhierx.mod">
-# %dbhier;
-# 
-# See the documentation for detailed information on the parameter
-# entity and module scheme used in DocBook, customizing DocBook and
-# planning for interchange, and changes made since the last release
-# of DocBook.
-
-# ......................................................................
-
-# Entities for module inclusions .......................................
-
-# ......................................................................
-
-# Entities for element classes .........................................
-
-local.appendix.class = notAllowed
-appendix.class = appendix | local.appendix.class
-local.article.class = notAllowed
-article.class = article | local.article.class
-local.book.class = notAllowed
-book.class = book | local.book.class
-local.chapter.class = notAllowed
-chapter.class = chapter | local.chapter.class
-local.index.class = notAllowed
-index.class = index | setindex | local.index.class
-local.refentry.class = notAllowed
-refentry.class = refentry | local.refentry.class
-local.section.class = notAllowed
-section.class = section | local.section.class
-local.nav.class = notAllowed
-nav.class =
-  toc | lot | index | glossary | bibliography | local.nav.class
-# Redeclaration placeholder ............................................
-
-# For redeclaring entities that are declared after this point while
-# retaining their references to the entities that are declared before
-# this point
-
-# ......................................................................
-
-# Entities for element mixtures ........................................
-local.divcomponent.mix = notAllowed
-divcomponent.mix =
-  list.class
-  | admon.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | formal.class
-  | compound.class
-  | genobj.class
-  | descobj.class
-  | ndxterm.class
-  | beginpage
-  | forms.hook
-  | local.divcomponent.mix
-local.refcomponent.mix = notAllowed
-refcomponent.mix =
-  list.class
-  | admon.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | formal.class
-  | compound.class
-  | genobj.class
-  | descobj.class
-  | ndxterm.class
-  | beginpage
-  | forms.hook
-  | local.refcomponent.mix
-local.indexdivcomponent.mix = notAllowed
-indexdivcomponent.mix =
-  itemizedlist
-  | orderedlist
-  | variablelist
-  | simplelist
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | anchor
-  | remark
-  | link.char.class
-  | beginpage
-  | local.indexdivcomponent.mix
-local.refname.char.mix = notAllowed
-refname.char.mix = text | tech.char.class | local.refname.char.mix
-local.partcontent.mix = notAllowed
-partcontent.mix =
-  appendix.class
-  | chapter.class
-  | nav.class
-  | article.class
-  | preface
-  | refentry.class
-  | reference
-  | local.partcontent.mix
-local.refinline.char.mix = notAllowed
-refinline.char.mix =
-  text
-  | xref.char.class
-  | gen.char.class
-  | link.char.class
-  | tech.char.class
-  | base.char.class
-  | docinfo.char.class
-  | other.char.class
-  | ndxterm.class
-  | beginpage
-  | local.refinline.char.mix
-local.refclass.char.mix = notAllowed
-refclass.char.mix = text | application | local.refclass.char.mix
-# Redeclaration placeholder 2 ..........................................
-
-# For redeclaring entities that are declared after this point while
-# retaining their references to the entities that are declared before
-# this point
-
-# ......................................................................
-
-# Entities for content models ..........................................
-div.title.content = title, subtitle?, titleabbrev?
-bookcomponent.title.content = title, subtitle?, titleabbrev?
-sect.title.content = title, subtitle?, titleabbrev?
-refsect.title.content = title, subtitle?, titleabbrev?
-bookcomponent.content =
-  (divcomponent.mix+,
-   (sect1* | refentry.class* | simplesect* | section.class*))
-  | (sect1+ | refentry.class+ | simplesect+ | section.class+)
-# ......................................................................
-
-# Set and SetInfo ......................................................
-local.set.attrib = empty
-set.role.attrib = role.attrib
-# doc:A collection of books.
-set =
-  element set {
-    set.attlist,
-    div.title.content?,
-    setinfo?,
-    toc?,
-    (set | book.class)+,
-    setindex?
-  }
-# end of set.element
-
-# FPI: SGML formal public identifier
-set.attlist &=
-  attribute fpi { text }?,
-  status.attrib,
-  common.attrib,
-  set.role.attrib,
-  local.set.attrib
-# end of set.attlist
-
-# end of set.module
-local.setinfo.attrib = empty
-setinfo.role.attrib = role.attrib
-# doc:Meta-information for a Set.
-setinfo = element setinfo { setinfo.attlist, info.class+ }
-# end of setinfo.element
-
-# Contents: IDs of the ToC, Books, and SetIndex that comprise
-# the set, in the order of their appearance
-setinfo.attlist &=
-  attribute contents { xsd:IDREFS }?,
-  common.attrib,
-  setinfo.role.attrib,
-  local.setinfo.attrib
-# end of setinfo.attlist
-
-# end of setinfo.module
-
-# end of set.content.module
-
-# ......................................................................
-
-# Book and BookInfo ....................................................
-local.book.attrib = empty
-book.role.attrib = role.attrib
-# doc:A book.
-book =
-  element book {
-    book.attlist,
-    div.title.content?,
-    bookinfo?,
-    (dedication
-     | toc
-     | lot
-     | glossary
-     | bibliography
-     | preface
-     | chapter.class
-     | reference
-     | part
-     | article.class
-     | appendix.class
-     | index.class
-     | colophon)*
-  }
-# end of book.element
-
-# FPI: SGML formal public identifier
-book.attlist &=
-  attribute fpi { text }?,
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  book.role.attrib,
-  local.book.attrib
-# end of book.attlist
-
-# end of book.module
-local.bookinfo.attrib = empty
-bookinfo.role.attrib = role.attrib
-# doc:Meta-information for a Book.
-bookinfo = element bookinfo { bookinfo.attlist, info.class+ }
-# end of bookinfo.element
-
-# Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters,
-# Appendixes, References, GLossary, Bibliography, and indexes
-# comprising the Book, in the order of their appearance
-bookinfo.attlist &=
-  attribute contents { xsd:IDREFS }?,
-  common.attrib,
-  bookinfo.role.attrib,
-  local.bookinfo.attrib
-# end of bookinfo.attlist
-
-# end of bookinfo.module
-
-# end of book.content.module
-
-# ......................................................................
-
-# Dedication, ToC, and LoT .............................................
-local.dedication.attrib = empty
-dedication.role.attrib = role.attrib
-# doc:A wrapper for the dedication section of a book.
-dedication =
-  element dedication {
-    dedication.attlist, sect.title.content?, legalnotice.mix+
-  }
-# end of dedication.element
-dedication.attlist &=
-  status.attrib,
-  common.attrib,
-  dedication.role.attrib,
-  local.dedication.attrib
-# end of dedication.attlist
-
-# end of dedication.module
-local.colophon.attrib = empty
-colophon.role.attrib = role.attrib
-# doc:Text at the back of a book describing facts about its production.
-colophon =
-  element colophon {
-    colophon.attlist, sect.title.content?, textobject.mix+
-  }
-# end of colophon.element
-colophon.attlist &=
-  status.attrib,
-  common.attrib,
-  colophon.role.attrib,
-  local.colophon.attrib
-# end of colophon.attlist
-
-# end of colophon.module
-local.toc.attrib = empty
-toc.role.attrib = role.attrib
-# doc:A table of contents.
-toc =
-  element toc {
-    toc.attlist,
-    beginpage?,
-    bookcomponent.title.content?,
-    tocfront*,
-    (tocpart | tocchap)*,
-    tocback*
-  }
-# end of toc.element
-toc.attlist &=
-  pagenum.attrib, common.attrib, toc.role.attrib, local.toc.attrib
-# end of toc.attlist
-
-# end of toc.module
-local.tocfront.attrib = empty
-tocfront.role.attrib = role.attrib
-# doc:An entry in a table of contents for a front matter component.
-tocfront = element tocfront { tocfront.attlist, para.char.mix* }
-# end of tocfront.element
-
-# to element that this entry represents
-tocfront.attlist &=
-  label.attrib,
-  linkend.attrib,
-  pagenum.attrib,
-  common.attrib,
-  tocfront.role.attrib,
-  local.tocfront.attrib
-# end of tocfront.attlist
-
-# end of tocfront.module
-local.tocentry.attrib = empty
-tocentry.role.attrib = role.attrib
-# doc:A component title in a table of contents.
-tocentry = element tocentry { tocentry.attlist, para.char.mix* }
-# end of tocentry.element
-
-# to element that this entry represents
-tocentry.attlist &=
-  linkend.attrib,
-  pagenum.attrib,
-  common.attrib,
-  tocentry.role.attrib,
-  local.tocentry.attrib
-# end of tocentry.attlist
-
-# end of tocentry.module
-local.tocpart.attrib = empty
-tocpart.role.attrib = role.attrib
-# doc:An entry in a table of contents for a part of a book.
-tocpart = element tocpart { tocpart.attlist, tocentry+, tocchap* }
-# end of tocpart.element
-tocpart.attlist &=
-  common.attrib, tocpart.role.attrib, local.tocpart.attrib
-# end of tocpart.attlist
-
-# end of tocpart.module
-local.tocchap.attrib = empty
-tocchap.role.attrib = role.attrib
-# doc:An entry in a table of contents for a component in the body of a document.
-tocchap = element tocchap { tocchap.attlist, tocentry+, toclevel1* }
-# end of tocchap.element
-tocchap.attlist &=
-  label.attrib, common.attrib, tocchap.role.attrib, local.tocchap.attrib
-# end of tocchap.attlist
-
-# end of tocchap.module
-local.toclevel1.attrib = empty
-toclevel1.role.attrib = role.attrib
-# doc:A top-level entry within a table of contents entry for a chapter-like component.
-toclevel1 =
-  element toclevel1 { toclevel1.attlist, tocentry+, toclevel2* }
-# end of toclevel1.element
-toclevel1.attlist &=
-  common.attrib, toclevel1.role.attrib, local.toclevel1.attrib
-# end of toclevel1.attlist
-
-# end of toclevel1.module
-local.toclevel2.attrib = empty
-toclevel2.role.attrib = role.attrib
-# doc:A second-level entry within a table of contents entry for a chapter-like component.
-toclevel2 =
-  element toclevel2 { toclevel2.attlist, tocentry+, toclevel3* }
-# end of toclevel2.element
-toclevel2.attlist &=
-  common.attrib, toclevel2.role.attrib, local.toclevel2.attrib
-# end of toclevel2.attlist
-
-# end of toclevel2.module
-local.toclevel3.attrib = empty
-toclevel3.role.attrib = role.attrib
-# doc:A third-level entry within a table of contents entry for a chapter-like component.
-toclevel3 =
-  element toclevel3 { toclevel3.attlist, tocentry+, toclevel4* }
-# end of toclevel3.element
-toclevel3.attlist &=
-  common.attrib, toclevel3.role.attrib, local.toclevel3.attrib
-# end of toclevel3.attlist
-
-# end of toclevel3.module
-local.toclevel4.attrib = empty
-toclevel4.role.attrib = role.attrib
-# doc:A fourth-level entry within a table of contents entry for a chapter-like component.
-toclevel4 =
-  element toclevel4 { toclevel4.attlist, tocentry+, toclevel5* }
-# end of toclevel4.element
-toclevel4.attlist &=
-  common.attrib, toclevel4.role.attrib, local.toclevel4.attrib
-# end of toclevel4.attlist
-
-# end of toclevel4.module
-local.toclevel5.attrib = empty
-toclevel5.role.attrib = role.attrib
-# doc:A fifth-level entry within a table of contents entry for a chapter-like component.
-toclevel5 = element toclevel5 { toclevel5.attlist, tocentry+ }
-# end of toclevel5.element
-toclevel5.attlist &=
-  common.attrib, toclevel5.role.attrib, local.toclevel5.attrib
-# end of toclevel5.attlist
-
-# end of toclevel5.module
-local.tocback.attrib = empty
-tocback.role.attrib = role.attrib
-# doc:An entry in a table of contents for a back matter component.
-tocback = element tocback { tocback.attlist, para.char.mix* }
-# end of tocback.element
-
-# to element that this entry represents
-tocback.attlist &=
-  label.attrib,
-  linkend.attrib,
-  pagenum.attrib,
-  common.attrib,
-  tocback.role.attrib,
-  local.tocback.attrib
-# end of tocback.attlist
-
-# end of tocback.module
-
-# end of toc.content.module
-local.lot.attrib = empty
-lot.role.attrib = role.attrib
-# doc:A list of the titles of formal objects (as tables or figures) in a document.
-lot =
-  element lot {
-    lot.attlist, beginpage?, bookcomponent.title.content?, lotentry*
-  }
-# end of lot.element
-lot.attlist &=
-  label.attrib, common.attrib, lot.role.attrib, local.lot.attrib
-# end of lot.attlist
-
-# end of lot.module
-local.lotentry.attrib = empty
-lotentry.role.attrib = role.attrib
-# doc:An entry in a list of titles.
-lotentry = element lotentry { lotentry.attlist, para.char.mix* }
-# end of lotentry.element
-
-# SrcCredit: Information about the source of the entry,
-# as for a list of illustrations
-
-# linkend: to element that this entry represents
-lotentry.attlist &=
-  linkend.attrib,
-  pagenum.attrib,
-  attribute srccredit { text }?,
-  common.attrib,
-  lotentry.role.attrib,
-  local.lotentry.attrib
-# end of lotentry.attlist
-
-# end of lotentry.module
-
-# end of lot.content.module
-
-# ......................................................................
-
-# Appendix, Chapter, Part, Preface, Reference, PartIntro ...............
-local.appendix.attrib = empty
-appendix.role.attrib = role.attrib
-# doc:An appendix in a Book or Article.
-appendix =
-  element appendix {
-    appendix.attlist,
-    beginpage?,
-    appendixinfo?,
-    bookcomponent.title.content,
-    nav.class*,
-    tocchap?,
-    bookcomponent.content,
-    nav.class*
-  }
-# end of appendix.element
-appendix.attlist &=
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  appendix.role.attrib,
-  local.appendix.attrib
-# end of appendix.attlist
-
-# end of appendix.module
-local.chapter.attrib = empty
-chapter.role.attrib = role.attrib
-# doc:A chapter, as of a book.
-chapter =
-  element chapter {
-    chapter.attlist,
-    beginpage?,
-    chapterinfo?,
-    bookcomponent.title.content,
-    nav.class*,
-    tocchap?,
-    bookcomponent.content,
-    nav.class*
-  }
-# end of chapter.element
-chapter.attlist &=
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  chapter.role.attrib,
-  local.chapter.attrib
-# end of chapter.attlist
-
-# end of chapter.module
-
-# Note that Part was to have its content model reduced in V4.5.  This
-# change will not be made after all.
-local.part.attrib = empty
-part.role.attrib = role.attrib
-# doc:A division in a book.
-part =
-  element part {
-    part.attlist,
-    beginpage?,
-    partinfo?,
-    bookcomponent.title.content,
-    partintro?,
-    partcontent.mix+
-  }
-# end of part.element
-part.attlist &=
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  part.role.attrib,
-  local.part.attrib
-# end of part.attlist
-
-# ELEMENT PartIntro (defined below)
-
-# end of part.module
-local.preface.attrib = empty
-preface.role.attrib = role.attrib
-# doc:Introductory matter preceding the first chapter of a book.
-preface =
-  element preface {
-    preface.attlist,
-    beginpage?,
-    prefaceinfo?,
-    bookcomponent.title.content,
-    nav.class*,
-    tocchap?,
-    bookcomponent.content,
-    nav.class*
-  }
-# end of preface.element
-preface.attlist &=
-  status.attrib,
-  common.attrib,
-  preface.role.attrib,
-  local.preface.attrib
-# end of preface.attlist
-
-# end of preface.module
-local.reference.attrib = empty
-reference.role.attrib = role.attrib
-# doc:A collection of reference entries.
-reference =
-  element reference {
-    reference.attlist,
-    beginpage?,
-    referenceinfo?,
-    bookcomponent.title.content,
-    partintro?,
-    refentry.class+
-  }
-# end of reference.element
-reference.attlist &=
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  reference.role.attrib,
-  local.reference.attrib
-# end of reference.attlist
-
-# ELEMENT PartIntro (defined below)
-
-# end of reference.module
-local.partintro.attrib = empty
-partintro.role.attrib = role.attrib
-# doc:An introduction to the contents of a part.
-partintro =
-  element partintro {
-    partintro.attlist, div.title.content?, bookcomponent.content
-  }
-# end of partintro.element
-partintro.attlist &=
-  label.attrib,
-  common.attrib,
-  partintro.role.attrib,
-  local.partintro.attrib
-# end of partintro.attlist
-
-# end of partintro.module
-
-# ......................................................................
-
-# Other Info elements ..................................................
-local.appendixinfo.attrib = empty
-appendixinfo.role.attrib = role.attrib
-# doc:Meta-information for an Appendix.
-appendixinfo =
-  element appendixinfo { appendixinfo.attlist, info.class+ }
-# end of appendixinfo.element
-appendixinfo.attlist &=
-  common.attrib, appendixinfo.role.attrib, local.appendixinfo.attrib
-# end of appendixinfo.attlist
-
-# end of appendixinfo.module
-local.bibliographyinfo.attrib = empty
-bibliographyinfo.role.attrib = role.attrib
-# doc:Meta-information for a Bibliography.
-bibliographyinfo =
-  element bibliographyinfo { bibliographyinfo.attlist, info.class+ }
-# end of bibliographyinfo.element
-bibliographyinfo.attlist &=
-  common.attrib,
-  bibliographyinfo.role.attrib,
-  local.bibliographyinfo.attrib
-# end of bibliographyinfo.attlist
-
-# end of bibliographyinfo.module
-local.chapterinfo.attrib = empty
-chapterinfo.role.attrib = role.attrib
-# doc:Meta-information for a Chapter.
-chapterinfo = element chapterinfo { chapterinfo.attlist, info.class+ }
-# end of chapterinfo.element
-chapterinfo.attlist &=
-  common.attrib, chapterinfo.role.attrib, local.chapterinfo.attrib
-# end of chapterinfo.attlist
-
-# end of chapterinfo.module
-local.glossaryinfo.attrib = empty
-glossaryinfo.role.attrib = role.attrib
-# doc:Meta-information for a Glossary.
-glossaryinfo =
-  element glossaryinfo { glossaryinfo.attlist, info.class+ }
-# end of glossaryinfo.element
-glossaryinfo.attlist &=
-  common.attrib, glossaryinfo.role.attrib, local.glossaryinfo.attrib
-# end of glossaryinfo.attlist
-
-# end of glossaryinfo.module
-local.indexinfo.attrib = empty
-indexinfo.role.attrib = role.attrib
-# doc:Meta-information for an Index.
-indexinfo = element indexinfo { indexinfo.attlist, info.class+ }
-# end of indexinfo.element
-indexinfo.attlist &=
-  common.attrib, indexinfo.role.attrib, local.indexinfo.attrib
-# end of indexinfo.attlist
-
-# end of indexinfo.module
-local.setindexinfo.attrib = empty
-setindexinfo.role.attrib = role.attrib
-# doc:Meta-information for a SetIndex.
-setindexinfo =
-  element setindexinfo { setindexinfo.attlist, info.class+ }
-# end of setindexinfo.element
-setindexinfo.attlist &=
-  common.attrib, setindexinfo.role.attrib, local.setindexinfo.attrib
-# end of setindexinfo.attlist
-
-# end of setindexinfo.module
-local.partinfo.attrib = empty
-partinfo.role.attrib = role.attrib
-# doc:Meta-information for a Part.
-partinfo = element partinfo { partinfo.attlist, info.class+ }
-# end of partinfo.element
-partinfo.attlist &=
-  common.attrib, partinfo.role.attrib, local.partinfo.attrib
-# end of partinfo.attlist
-
-# end of partinfo.module
-local.prefaceinfo.attrib = empty
-prefaceinfo.role.attrib = role.attrib
-# doc:Meta-information for a Preface.
-prefaceinfo = element prefaceinfo { prefaceinfo.attlist, info.class+ }
-# end of prefaceinfo.element
-prefaceinfo.attlist &=
-  common.attrib, prefaceinfo.role.attrib, local.prefaceinfo.attrib
-# end of prefaceinfo.attlist
-
-# end of prefaceinfo.module
-local.refentryinfo.attrib = empty
-refentryinfo.role.attrib = role.attrib
-# doc:Meta-information for a Refentry.
-refentryinfo =
-  element refentryinfo { refentryinfo.attlist, info.class+ }
-# end of refentryinfo.element
-refentryinfo.attlist &=
-  common.attrib, refentryinfo.role.attrib, local.refentryinfo.attrib
-# end of refentryinfo.attlist
-
-# end of refentryinfo.module
-local.refsectioninfo.attrib = empty
-refsectioninfo.role.attrib = role.attrib
-# doc:Meta-information for a refsection.
-refsectioninfo =
-  element refsectioninfo { refsectioninfo.attlist, info.class+ }
-# end of refsectioninfo.element
-refsectioninfo.attlist &=
-  common.attrib, refsectioninfo.role.attrib, local.refsectioninfo.attrib
-# end of refsectioninfo.attlist
-
-# end of refsectioninfo.module
-local.refsect1info.attrib = empty
-refsect1info.role.attrib = role.attrib
-# doc:Meta-information for a RefSect1.
-refsect1info =
-  element refsect1info { refsect1info.attlist, info.class+ }
-# end of refsect1info.element
-refsect1info.attlist &=
-  common.attrib, refsect1info.role.attrib, local.refsect1info.attrib
-# end of refsect1info.attlist
-
-# end of refsect1info.module
-local.refsect2info.attrib = empty
-refsect2info.role.attrib = role.attrib
-# doc:Meta-information for a RefSect2.
-refsect2info =
-  element refsect2info { refsect2info.attlist, info.class+ }
-# end of refsect2info.element
-refsect2info.attlist &=
-  common.attrib, refsect2info.role.attrib, local.refsect2info.attrib
-# end of refsect2info.attlist
-
-# end of refsect2info.module
-local.refsect3info.attrib = empty
-refsect3info.role.attrib = role.attrib
-# doc:Meta-information for a RefSect3.
-refsect3info =
-  element refsect3info { refsect3info.attlist, info.class+ }
-# end of refsect3info.element
-refsect3info.attlist &=
-  common.attrib, refsect3info.role.attrib, local.refsect3info.attrib
-# end of refsect3info.attlist
-
-# end of refsect3info.module
-local.refsynopsisdivinfo.attrib = empty
-refsynopsisdivinfo.role.attrib = role.attrib
-# doc:Meta-information for a RefSynopsisDiv.
-refsynopsisdivinfo =
-  element refsynopsisdivinfo { refsynopsisdivinfo.attlist, info.class+ }
-# end of refsynopsisdivinfo.element
-refsynopsisdivinfo.attlist &=
-  common.attrib,
-  refsynopsisdivinfo.role.attrib,
-  local.refsynopsisdivinfo.attrib
-# end of refsynopsisdivinfo.attlist
-
-# end of refsynopsisdivinfo.module
-local.referenceinfo.attrib = empty
-referenceinfo.role.attrib = role.attrib
-# doc:Meta-information for a Reference.
-referenceinfo =
-  element referenceinfo { referenceinfo.attlist, info.class+ }
-# end of referenceinfo.element
-referenceinfo.attlist &=
-  common.attrib, referenceinfo.role.attrib, local.referenceinfo.attrib
-# end of referenceinfo.attlist
-
-# end of referenceinfo.module
-local.sect1info.attrib = empty
-sect1info.role.attrib = role.attrib
-# doc:Meta-information for a Sect1.
-sect1info = element sect1info { sect1info.attlist, info.class+ }
-# end of sect1info.element
-sect1info.attlist &=
-  common.attrib, sect1info.role.attrib, local.sect1info.attrib
-# end of sect1info.attlist
-local.sect2info.attrib = empty
-sect2info.role.attrib = role.attrib
-# doc:Meta-information for a Sect2.
-sect2info = element sect2info { sect2info.attlist, info.class+ }
-# end of sect2info.element
-sect2info.attlist &=
-  common.attrib, sect2info.role.attrib, local.sect2info.attrib
-# end of sect2info.attlist
-local.sect3info.attrib = empty
-sect3info.role.attrib = role.attrib
-# doc:Meta-information for a Sect3.
-sect3info = element sect3info { sect3info.attlist, info.class+ }
-# end of sect3info.element
-sect3info.attlist &=
-  common.attrib, sect3info.role.attrib, local.sect3info.attrib
-# end of sect3info.attlist
-local.sect4info.attrib = empty
-sect4info.role.attrib = role.attrib
-# doc:Meta-information for a Sect4.
-sect4info = element sect4info { sect4info.attlist, info.class+ }
-# end of sect4info.element
-sect4info.attlist &=
-  common.attrib, sect4info.role.attrib, local.sect4info.attrib
-# end of sect4info.attlist
-local.sect5info.attrib = empty
-sect5info.role.attrib = role.attrib
-# doc:Meta-information for a Sect5.
-sect5info = element sect5info { sect5info.attlist, info.class+ }
-# end of sect5info.element
-sect5info.attlist &=
-  common.attrib, sect5info.role.attrib, local.sect5info.attrib
-# end of sect5info.attlist
-
-# ......................................................................
-
-# Section (parallel to Sect*) .........................................
-local.section.attrib = empty
-section.role.attrib = role.attrib
-# doc:A recursive section.
-section =
-  element section {
-    section.attlist,
-    sectioninfo?,
-    sect.title.content,
-    nav.class*,
-    ((divcomponent.mix+,
-      (refentry.class* | section.class* | simplesect*))
-     | refentry.class+
-     | section.class+
-     | simplesect+),
-    nav.class*
-  }
-# end of section.element
-section.attlist &=
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  section.role.attrib,
-  local.section.attrib
-# end of section.attlist
-
-# end of section.module
-sectioninfo.role.attrib = role.attrib
-local.sectioninfo.attrib = empty
-# doc:Meta-information for a recursive section.
-sectioninfo = element sectioninfo { sectioninfo.attlist, info.class+ }
-# end of sectioninfo.element
-sectioninfo.attlist &=
-  common.attrib, sectioninfo.role.attrib, local.sectioninfo.attrib
-# end of sectioninfo.attlist
-
-# end of sectioninfo.module
-
-# end of section.content.module
-
-# ......................................................................
-
-# Sect1, Sect2, Sect3, Sect4, Sect5 ....................................
-local.sect1.attrib = empty
-sect1.role.attrib = role.attrib
-# doc:A top-level section of document.
-sect1 =
-  element sect1 {
-    sect1.attlist,
-    sect1info?,
-    sect.title.content,
-    nav.class*,
-    ((divcomponent.mix+, (refentry.class* | sect2* | simplesect*))
-     | refentry.class+
-     | sect2+
-     | simplesect+),
-    nav.class*
-  }
-# end of sect1.element
-
-# Renderas: Indicates the format in which the heading should
-# appear
-sect1.attlist &=
-  attribute renderas { "sect2" | "sect3" | "sect4" | "sect5" }?,
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  sect1.role.attrib,
-  local.sect1.attrib
-# end of sect1.attlist
-
-# end of sect1.module
-local.sect2.attrib = empty
-sect2.role.attrib = role.attrib
-# doc:A subsection within a Sect1.
-sect2 =
-  element sect2 {
-    sect2.attlist,
-    sect2info?,
-    sect.title.content,
-    nav.class*,
-    ((divcomponent.mix+, (refentry.class* | sect3* | simplesect*))
-     | refentry.class+
-     | sect3+
-     | simplesect+),
-    nav.class*
-  }
-# end of sect2.element
-
-# Renderas: Indicates the format in which the heading should
-# appear
-sect2.attlist &=
-  attribute renderas { "sect1" | "sect3" | "sect4" | "sect5" }?,
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  sect2.role.attrib,
-  local.sect2.attrib
-# end of sect2.attlist
-
-# end of sect2.module
-local.sect3.attrib = empty
-sect3.role.attrib = role.attrib
-# doc:A subsection within a Sect2.
-sect3 =
-  element sect3 {
-    sect3.attlist,
-    sect3info?,
-    sect.title.content,
-    nav.class*,
-    ((divcomponent.mix+, (refentry.class* | sect4* | simplesect*))
-     | refentry.class+
-     | sect4+
-     | simplesect+),
-    nav.class*
-  }
-# end of sect3.element
-
-# Renderas: Indicates the format in which the heading should
-# appear
-sect3.attlist &=
-  attribute renderas { "sect1" | "sect2" | "sect4" | "sect5" }?,
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  sect3.role.attrib,
-  local.sect3.attrib
-# end of sect3.attlist
-
-# end of sect3.module
-local.sect4.attrib = empty
-sect4.role.attrib = role.attrib
-# doc:A subsection within a Sect3.
-sect4 =
-  element sect4 {
-    sect4.attlist,
-    sect4info?,
-    sect.title.content,
-    nav.class*,
-    ((divcomponent.mix+, (refentry.class* | sect5* | simplesect*))
-     | refentry.class+
-     | sect5+
-     | simplesect+),
-    nav.class*
-  }
-# end of sect4.element
-
-# Renderas: Indicates the format in which the heading should
-# appear
-sect4.attlist &=
-  attribute renderas { "sect1" | "sect2" | "sect3" | "sect5" }?,
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  sect4.role.attrib,
-  local.sect4.attrib
-# end of sect4.attlist
-
-# end of sect4.module
-local.sect5.attrib = empty
-sect5.role.attrib = role.attrib
-# doc:A subsection within a Sect4.
-sect5 =
-  element sect5 {
-    sect5.attlist,
-    sect5info?,
-    sect.title.content,
-    nav.class*,
-    ((divcomponent.mix+, (refentry.class* | simplesect*))
-     | refentry.class+
-     | simplesect+),
-    nav.class*
-  }
-# end of sect5.element
-
-# Renderas: Indicates the format in which the heading should
-# appear
-sect5.attlist &=
-  attribute renderas { "sect1" | "sect2" | "sect3" | "sect4" }?,
-  label.attrib,
-  status.attrib,
-  common.attrib,
-  sect5.role.attrib,
-  local.sect5.attrib
-# end of sect5.attlist
-
-# end of sect5.module
-local.simplesect.attrib = empty
-simplesect.role.attrib = role.attrib
-# doc:A section of a document with no subdivisions.
-simplesect =
-  element simplesect {
-    simplesect.attlist, sect.title.content, divcomponent.mix+
-  }
-# end of simplesect.element
-simplesect.attlist &=
-  common.attrib, simplesect.role.attrib, local.simplesect.attrib
-# end of simplesect.attlist
-
-# end of simplesect.module
-
-# ......................................................................
-
-# Bibliography .........................................................
-local.bibliography.attrib = empty
-bibliography.role.attrib = role.attrib
-# doc:A bibliography.
-bibliography =
-  element bibliography {
-    bibliography.attlist,
-    bibliographyinfo?,
-    bookcomponent.title.content?,
-    component.mix*,
-    (bibliodiv+ | (biblioentry | bibliomixed)+)
-  }
-# end of bibliography.element
-bibliography.attlist &=
-  status.attrib,
-  common.attrib,
-  bibliography.role.attrib,
-  local.bibliography.attrib
-# end of bibliography.attlist
-
-# end of bibliography.module
-local.bibliodiv.attrib = empty
-bibliodiv.role.attrib = role.attrib
-# doc:A section of a Bibliography.
-bibliodiv =
-  element bibliodiv {
-    bibliodiv.attlist,
-    sect.title.content?,
-    component.mix*,
-    (biblioentry | bibliomixed)+
-  }
-# end of bibliodiv.element
-bibliodiv.attlist &=
-  status.attrib,
-  common.attrib,
-  bibliodiv.role.attrib,
-  local.bibliodiv.attrib
-# end of bibliodiv.attlist
-
-# end of bibliodiv.module
-
-# end of bibliography.content.module
-
-# ......................................................................
-
-# Glossary .............................................................
-local.glossary.attrib = empty
-glossary.role.attrib = role.attrib
-# doc:A glossary.
-glossary =
-  element glossary {
-    glossary.attlist,
-    glossaryinfo?,
-    bookcomponent.title.content?,
-    component.mix*,
-    (glossdiv+ | glossentry+),
-    bibliography?
-  }
-# end of glossary.element
-glossary.attlist &=
-  status.attrib,
-  common.attrib,
-  glossary.role.attrib,
-  local.glossary.attrib
-# end of glossary.attlist
-
-# end of glossary.module
-local.glossdiv.attrib = empty
-glossdiv.role.attrib = role.attrib
-# doc:A division in a Glossary.
-glossdiv =
-  element glossdiv {
-    glossdiv.attlist, sect.title.content, component.mix*, glossentry+
-  }
-# end of glossdiv.element
-glossdiv.attlist &=
-  status.attrib,
-  common.attrib,
-  glossdiv.role.attrib,
-  local.glossdiv.attrib
-# end of glossdiv.attlist
-
-# end of glossdiv.module
-
-# end of glossary.content.module
-
-# ......................................................................
-
-# Index and SetIndex ...................................................
-local.indexes.attrib = empty
-indexes.role.attrib = role.attrib
-# doc:An index.
-index =
-  element index {
-    index.attlist,
-    indexinfo?,
-    bookcomponent.title.content?,
-    component.mix*,
-    (indexdiv* | indexentry*)
-  }
-# end of index.element
-index.attlist &=
-  attribute type { text }?,
-  common.attrib,
-  indexes.role.attrib,
-  local.indexes.attrib
-# end of index.attlist
-
-# doc:An index to a set of books.
-setindex =
-  element setindex {
-    setindex.attlist,
-    setindexinfo?,
-    bookcomponent.title.content?,
-    component.mix*,
-    (indexdiv* | indexentry*)
-  }
-# end of setindex.element
-setindex.attlist &=
-  common.attrib, indexes.role.attrib, local.indexes.attrib
-# end of setindex.attlist
-
-# end of indexes.module
-
-# SegmentedList in this content is useful for marking up permuted
-# indices.
-local.indexdiv.attrib = empty
-indexdiv.role.attrib = role.attrib
-# doc:A division in an index.
-indexdiv =
-  element indexdiv {
-    indexdiv.attlist,
-    sect.title.content?,
-    (indexdivcomponent.mix*, (indexentry+ | segmentedlist))
-  }
-# end of indexdiv.element
-indexdiv.attlist &=
-  common.attrib, indexdiv.role.attrib, local.indexdiv.attrib
-# end of indexdiv.attlist
-
-# end of indexdiv.module
-
-# Index entries appear in the index, not the text.
-local.indexentry.attrib = empty
-indexentry.role.attrib = role.attrib
-# doc:An entry in an index.
-indexentry =
-  element indexentry {
-    indexentry.attlist,
-    primaryie,
-    (seeie | seealsoie)*,
-    (secondaryie, (seeie | seealsoie | tertiaryie)*)*
-  }
-# end of indexentry.element
-indexentry.attlist &=
-  common.attrib, indexentry.role.attrib, local.indexentry.attrib
-# end of indexentry.attlist
-
-# end of indexentry.module
-local.primsecterie.attrib = empty
-primsecterie.role.attrib = role.attrib
-# doc:A primary term in an index entry, not in the text.
-primaryie = element primaryie { primaryie.attlist, ndxterm.char.mix* }
-# end of primaryie.element
-
-# to IndexTerms that these entries represent
-primaryie.attlist &=
-  linkends.attrib,
-  common.attrib,
-  primsecterie.role.attrib,
-  local.primsecterie.attrib
-# end of primaryie.attlist
-
-# doc:A secondary term in an index entry, rather than in the text.
-secondaryie =
-  element secondaryie { secondaryie.attlist, ndxterm.char.mix* }
-# end of secondaryie.element
-
-# to IndexTerms that these entries represent
-secondaryie.attlist &=
-  linkends.attrib,
-  common.attrib,
-  primsecterie.role.attrib,
-  local.primsecterie.attrib
-# end of secondaryie.attlist
-
-# doc:A tertiary term in an index entry, rather than in the text.
-tertiaryie =
-  element tertiaryie { tertiaryie.attlist, ndxterm.char.mix* }
-# end of tertiaryie.element
-
-# to IndexTerms that these entries represent
-tertiaryie.attlist &=
-  linkends.attrib,
-  common.attrib,
-  primsecterie.role.attrib,
-  local.primsecterie.attrib
-# end of tertiaryie.attlist
-
-# end of primsecterie.module
-local.seeie.attrib = empty
-seeie.role.attrib = role.attrib
-# doc:A See entry in an index, rather than in the text.
-seeie = element seeie { seeie.attlist, ndxterm.char.mix* }
-# end of seeie.element
-
-# to IndexEntry to look up
-seeie.attlist &=
-  linkend.attrib, common.attrib, seeie.role.attrib, local.seeie.attrib
-# end of seeie.attlist
-
-# end of seeie.module
-local.seealsoie.attrib = empty
-seealsoie.role.attrib = role.attrib
-# doc:A See also entry in an index, rather than in the text.
-seealsoie = element seealsoie { seealsoie.attlist, ndxterm.char.mix* }
-# end of seealsoie.element
-
-# to related IndexEntries
-seealsoie.attlist &=
-  linkends.attrib,
-  common.attrib,
-  seealsoie.role.attrib,
-  local.seealsoie.attrib
-# end of seealsoie.attlist
-
-# end of seealsoie.module
-
-# end of index.content.module
-
-# ......................................................................
-
-# RefEntry .............................................................
-local.refentry.attrib = empty
-refentry.role.attrib = role.attrib
-# doc:A reference page (originally a UNIX man-style reference page).
-refentry =
-  element refentry {
-    refentry.attlist,
-    beginpage?,
-    ndxterm.class*,
-    refentryinfo?,
-    refmeta?,
-    (remark | link.char.class)*,
-    refnamediv+,
-    refsynopsisdiv?,
-    (refsect1+ | refsection+)
-  }
-# end of refentry.element
-refentry.attlist &=
-  status.attrib,
-  common.attrib,
-  refentry.role.attrib,
-  local.refentry.attrib
-# end of refentry.attlist
-
-# end of refentry.module
-local.refmeta.attrib = empty
-refmeta.role.attrib = role.attrib
-# doc:Meta-information for a reference entry.
-refmeta =
-  element refmeta {
-    refmeta.attlist,
-    ndxterm.class*,
-    refentrytitle,
-    manvolnum?,
-    refmiscinfo*,
-    ndxterm.class*
-  }
-# end of refmeta.element
-refmeta.attlist &=
-  common.attrib, refmeta.role.attrib, local.refmeta.attrib
-# end of refmeta.attlist
-
-# end of refmeta.module
-local.refmiscinfo.attrib = empty
-refmiscinfo.role.attrib = role.attrib
-# doc:Meta-information for a reference entry other than the title and volume number.
-refmiscinfo =
-  element refmiscinfo { refmiscinfo.attlist, docinfo.char.mix* }
-# end of refmiscinfo.element
-
-# Class: Freely assignable parameter; no default
-refmiscinfo.attlist &=
-  attribute class { text }?,
-  common.attrib,
-  refmiscinfo.role.attrib,
-  local.refmiscinfo.attrib
-# end of refmiscinfo.attlist
-
-# end of refmiscinfo.module
-local.refnamediv.attrib = empty
-refnamediv.role.attrib = role.attrib
-# doc:The name, purpose, and classification of a reference page.
-refnamediv =
-  element refnamediv {
-    refnamediv.attlist,
-    refdescriptor?,
-    refname+,
-    refpurpose,
-    refclass*,
-    (remark | link.char.class)*
-  }
-# end of refnamediv.element
-refnamediv.attlist &=
-  common.attrib, refnamediv.role.attrib, local.refnamediv.attrib
-# end of refnamediv.attlist
-
-# end of refnamediv.module
-local.refdescriptor.attrib = empty
-refdescriptor.role.attrib = role.attrib
-# doc:A description of the topic of a reference page.
-refdescriptor =
-  element refdescriptor { refdescriptor.attlist, refname.char.mix* }
-# end of refdescriptor.element
-refdescriptor.attlist &=
-  common.attrib, refdescriptor.role.attrib, local.refdescriptor.attrib
-# end of refdescriptor.attlist
-
-# end of refdescriptor.module
-local.refname.attrib = empty
-refname.role.attrib = role.attrib
-# doc:The name of (one of) the subject(s) of a reference page.
-refname = element refname { refname.attlist, refname.char.mix* }
-# end of refname.element
-refname.attlist &=
-  common.attrib, refname.role.attrib, local.refname.attrib
-# end of refname.attlist
-
-# end of refname.module
-local.refpurpose.attrib = empty
-refpurpose.role.attrib = role.attrib
-# doc:A short (one sentence) synopsis of the topic of a reference page.
-refpurpose =
-  element refpurpose { refpurpose.attlist, refinline.char.mix* }
-# end of refpurpose.element
-refpurpose.attlist &=
-  common.attrib, refpurpose.role.attrib, local.refpurpose.attrib
-# end of refpurpose.attlist
-
-# end of refpurpose.module
-local.refclass.attrib = empty
-refclass.role.attrib = role.attrib
-# doc:The scope or other indication of applicability of a reference entry.
-refclass = element refclass { refclass.attlist, refclass.char.mix* }
-# end of refclass.element
-refclass.attlist &=
-  common.attrib, refclass.role.attrib, local.refclass.attrib
-# end of refclass.attlist
-
-# end of refclass.module
-local.refsynopsisdiv.attrib = empty
-refsynopsisdiv.role.attrib = role.attrib
-# doc:A syntactic synopsis of the subject of the reference page.
-refsynopsisdiv =
-  element refsynopsisdiv {
-    refsynopsisdiv.attlist,
-    refsynopsisdivinfo?,
-    refsect.title.content?,
-    ((refcomponent.mix+, refsect2*) | refsect2+)
-  }
-# end of refsynopsisdiv.element
-refsynopsisdiv.attlist &=
-  common.attrib, refsynopsisdiv.role.attrib, local.refsynopsisdiv.attrib
-# end of refsynopsisdiv.attlist
-
-# end of refsynopsisdiv.module
-local.refsection.attrib = empty
-refsection.role.attrib = role.attrib
-# doc:A recursive section in a refentry.
-refsection =
-  element refsection {
-    refsection.attlist,
-    refsectioninfo?,
-    refsect.title.content,
-    ((refcomponent.mix+, refsection*) | refsection+)
-  }
-# end of refsection.element
-refsection.attlist &=
-  status.attrib,
-  common.attrib,
-  refsection.role.attrib,
-  local.refsection.attrib
-# end of refsection.attlist
-
-# end of refsection.module
-local.refsect1.attrib = empty
-refsect1.role.attrib = role.attrib
-# doc:A major subsection of a reference entry.
-refsect1 =
-  element refsect1 {
-    refsect1.attlist,
-    refsect1info?,
-    refsect.title.content,
-    ((refcomponent.mix+, refsect2*) | refsect2+)
-  }
-# end of refsect1.element
-refsect1.attlist &=
-  status.attrib,
-  common.attrib,
-  refsect1.role.attrib,
-  local.refsect1.attrib
-# end of refsect1.attlist
-
-# end of refsect1.module
-local.refsect2.attrib = empty
-refsect2.role.attrib = role.attrib
-# doc:A subsection of a RefSect1.
-refsect2 =
-  element refsect2 {
-    refsect2.attlist,
-    refsect2info?,
-    refsect.title.content,
-    ((refcomponent.mix+, refsect3*) | refsect3+)
-  }
-# end of refsect2.element
-refsect2.attlist &=
-  status.attrib,
-  common.attrib,
-  refsect2.role.attrib,
-  local.refsect2.attrib
-# end of refsect2.attlist
-
-# end of refsect2.module
-local.refsect3.attrib = empty
-refsect3.role.attrib = role.attrib
-# doc:A subsection of a RefSect2.
-refsect3 =
-  element refsect3 {
-    refsect3.attlist,
-    refsect3info?,
-    refsect.title.content,
-    refcomponent.mix+
-  }
-# end of refsect3.element
-refsect3.attlist &=
-  status.attrib,
-  common.attrib,
-  refsect3.role.attrib,
-  local.refsect3.attrib
-# end of refsect3.attlist
-
-# end of refsect3.module
-
-# end of refentry.content.module
-
-# ......................................................................
-
-# Article ..............................................................
-
-# An Article is a chapter-level, stand-alone document that is often,
-# but need not be, collected into a Book.
-local.article.attrib = empty
-article.role.attrib = role.attrib
-# doc:An article.
-article =
-  element article {
-    article.attlist,
-    div.title.content?,
-    articleinfo?,
-    tocchap?,
-    lot*,
-    bookcomponent.content,
-    (nav.class | appendix.class | colophon | ackno)*
-  }
-# end of article.element
-
-# Class: Indicates the type of a particular article;
-# all articles have the same structure and general purpose.
-# No default.
-
-# ParentBook: ID of the enclosing Book
-article.attlist &=
-  attribute class {
-    "journalarticle"
-    | "productsheet"
-    | "whitepaper"
-    | "techreport"
-    | "specification"
-    | "faq"
-  }?,
-  attribute parentbook { xsd:IDREF }?,
-  status.attrib,
-  common.attrib,
-  article.role.attrib,
-  local.article.attrib
-# end of article.attlist
-
-# end of article.module
-
-# End of DocBook document hierarchy module V4.5 ........................
-
-# ......................................................................
Index: OK/schema/docbook/4.5/rng/dbhierx.rng
===================================================================
--- BOOK/schema/docbook/4.5/rng/dbhierx.rng	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,2978 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ...................................................................... -->
-<!-- DocBook document hierarchy module V4.5 ............................... -->
-<!-- File dbhierx.mod ..................................................... -->
-<!--
-  Copyright 1992-2004 HaL Computer Systems, Inc.,
-  O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
-  Corporation, Norman Walsh, Sun Microsystems, Inc., and the
-  Organization for the Advancement of Structured Information
-  Standards (OASIS).
-  
-  $Id: dbhierx.mod 6340 2006-10-03 13:23:24Z nwalsh $
-  
-  Permission to use, copy, modify and distribute the DocBook DTD
-  and its accompanying documentation for any purpose and without fee
-  is hereby granted in perpetuity, provided that the above copyright
-  notice and this paragraph appear in all copies.  The copyright
-  holders make no representation about the suitability of the DTD for
-  any purpose.  It is provided "as is" without expressed or implied
-  warranty.
-  
-  If you modify the DocBook DTD in any way, except for declaring and
-  referencing additional sets of general entities and declaring
-  additional notations, label your DTD as a variant of DocBook.  See
-  the maintenance documentation for more information.
-  
-  Please direct all questions, bug reports, or suggestions for
-  changes to the docbook@lists.oasis-open.org mailing list. For more
-  information, see http://www.oasis-open.org/docbook/.
--->
-<!-- ...................................................................... -->
-<!--
-  This module contains the definitions for the overall document
-  hierarchies of DocBook documents.  It covers computer documentation
-  manuals and manual fragments, as well as reference entries (such as
-  man pages) and technical journals or anthologies containing
-  articles.
-  
-  This module depends on the DocBook information pool module.  All
-  elements and entities referenced but not defined here are assumed
-  to be defined in the information pool module.
-  
-  In DTD driver files referring to this module, please use an entity
-  declaration that uses the public identifier shown below:
-  
-  <!ENTITY % dbhier PUBLIC
-  "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.5//EN"
-  "dbhierx.mod">
-  %dbhier;
-  
-  See the documentation for detailed information on the parameter
-  entity and module scheme used in DocBook, customizing DocBook and
-  planning for interchange, and changes made since the last release
-  of DocBook.
--->
-<!-- ...................................................................... -->
-<!-- Entities for module inclusions ....................................... -->
-<!-- ...................................................................... -->
-<!-- Entities for element classes ......................................... -->
-<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-  <define name="local.appendix.class">
-    <notAllowed/>
-  </define>
-  <define name="appendix.class">
-    <choice>
-      <ref name="appendix"/>
-      <ref name="local.appendix.class"/>
-    </choice>
-  </define>
-  <define name="local.article.class">
-    <notAllowed/>
-  </define>
-  <define name="article.class">
-    <choice>
-      <ref name="article"/>
-      <ref name="local.article.class"/>
-    </choice>
-  </define>
-  <define name="local.book.class">
-    <notAllowed/>
-  </define>
-  <define name="book.class">
-    <choice>
-      <ref name="book"/>
-      <ref name="local.book.class"/>
-    </choice>
-  </define>
-  <define name="local.chapter.class">
-    <notAllowed/>
-  </define>
-  <define name="chapter.class">
-    <choice>
-      <ref name="chapter"/>
-      <ref name="local.chapter.class"/>
-    </choice>
-  </define>
-  <define name="local.index.class">
-    <notAllowed/>
-  </define>
-  <define name="index.class">
-    <choice>
-      <ref name="index"/>
-      <ref name="setindex"/>
-      <ref name="local.index.class"/>
-    </choice>
-  </define>
-  <define name="local.refentry.class">
-    <notAllowed/>
-  </define>
-  <define name="refentry.class">
-    <choice>
-      <ref name="refentry"/>
-      <ref name="local.refentry.class"/>
-    </choice>
-  </define>
-  <define name="local.section.class">
-    <notAllowed/>
-  </define>
-  <define name="section.class">
-    <choice>
-      <ref name="section"/>
-      <ref name="local.section.class"/>
-    </choice>
-  </define>
-  <define name="local.nav.class">
-    <notAllowed/>
-  </define>
-  <define name="nav.class">
-    <choice>
-      <ref name="toc"/>
-      <ref name="lot"/>
-      <ref name="index"/>
-      <ref name="glossary"/>
-      <ref name="bibliography"/>
-      <ref name="local.nav.class"/>
-    </choice>
-  </define>
-  <!-- Redeclaration placeholder ............................................ -->
-  <!--
-    For redeclaring entities that are declared after this point while
-    retaining their references to the entities that are declared before
-    this point
-  -->
-  <!-- ...................................................................... -->
-  <!-- Entities for element mixtures ........................................ -->
-  <define name="local.divcomponent.mix">
-    <notAllowed/>
-  </define>
-  <define name="divcomponent.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="compound.class"/>
-      <ref name="genobj.class"/>
-      <ref name="descobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="forms.hook"/>
-      <ref name="local.divcomponent.mix"/>
-    </choice>
-  </define>
-  <define name="local.refcomponent.mix">
-    <notAllowed/>
-  </define>
-  <define name="refcomponent.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="compound.class"/>
-      <ref name="genobj.class"/>
-      <ref name="descobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="forms.hook"/>
-      <ref name="local.refcomponent.mix"/>
-    </choice>
-  </define>
-  <define name="local.indexdivcomponent.mix">
-    <notAllowed/>
-  </define>
-  <define name="indexdivcomponent.mix">
-    <choice>
-      <ref name="itemizedlist"/>
-      <ref name="orderedlist"/>
-      <ref name="variablelist"/>
-      <ref name="simplelist"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="anchor"/>
-      <ref name="remark"/>
-      <ref name="link.char.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.indexdivcomponent.mix"/>
-    </choice>
-  </define>
-  <define name="local.refname.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="refname.char.mix">
-    <choice>
-      <text/>
-      <ref name="tech.char.class"/>
-      <ref name="local.refname.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.partcontent.mix">
-    <notAllowed/>
-  </define>
-  <define name="partcontent.mix">
-    <choice>
-      <ref name="appendix.class"/>
-      <ref name="chapter.class"/>
-      <ref name="nav.class"/>
-      <ref name="article.class"/>
-      <ref name="preface"/>
-      <ref name="refentry.class"/>
-      <ref name="reference"/>
-      <ref name="local.partcontent.mix"/>
-    </choice>
-  </define>
-  <define name="local.refinline.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="refinline.char.mix">
-    <choice>
-      <text/>
-      <ref name="xref.char.class"/>
-      <ref name="gen.char.class"/>
-      <ref name="link.char.class"/>
-      <ref name="tech.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="docinfo.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.refinline.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.refclass.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="refclass.char.mix">
-    <choice>
-      <text/>
-      <ref name="application"/>
-      <ref name="local.refclass.char.mix"/>
-    </choice>
-  </define>
-  <!-- Redeclaration placeholder 2 .......................................... -->
-  <!--
-    For redeclaring entities that are declared after this point while
-    retaining their references to the entities that are declared before
-    this point
-  -->
-  <!-- ...................................................................... -->
-  <!-- Entities for content models .......................................... -->
-  <define name="div.title.content">
-    <ref name="title"/>
-    <optional>
-      <ref name="subtitle"/>
-    </optional>
-    <optional>
-      <ref name="titleabbrev"/>
-    </optional>
-  </define>
-  <define name="bookcomponent.title.content">
-    <ref name="title"/>
-    <optional>
-      <ref name="subtitle"/>
-    </optional>
-    <optional>
-      <ref name="titleabbrev"/>
-    </optional>
-  </define>
-  <define name="sect.title.content">
-    <ref name="title"/>
-    <optional>
-      <ref name="subtitle"/>
-    </optional>
-    <optional>
-      <ref name="titleabbrev"/>
-    </optional>
-  </define>
-  <define name="refsect.title.content">
-    <ref name="title"/>
-    <optional>
-      <ref name="subtitle"/>
-    </optional>
-    <optional>
-      <ref name="titleabbrev"/>
-    </optional>
-  </define>
-  <define name="bookcomponent.content">
-    <choice>
-      <group>
-        <oneOrMore>
-          <ref name="divcomponent.mix"/>
-        </oneOrMore>
-        <choice>
-          <zeroOrMore>
-            <ref name="sect1"/>
-          </zeroOrMore>
-          <zeroOrMore>
-            <ref name="refentry.class"/>
-          </zeroOrMore>
-          <zeroOrMore>
-            <ref name="simplesect"/>
-          </zeroOrMore>
-          <zeroOrMore>
-            <ref name="section.class"/>
-          </zeroOrMore>
-        </choice>
-      </group>
-      <choice>
-        <oneOrMore>
-          <ref name="sect1"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="refentry.class"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="simplesect"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="section.class"/>
-        </oneOrMore>
-      </choice>
-    </choice>
-  </define>
-  <!-- ...................................................................... -->
-  <!-- Set and SetInfo ...................................................... -->
-  <define name="local.set.attrib">
-    <empty/>
-  </define>
-  <define name="set.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A collection of books. -->
-  <define name="set">
-    <element name="set">
-      <ref name="set.attlist"/>
-      <optional>
-        <ref name="div.title.content"/>
-      </optional>
-      <optional>
-        <ref name="setinfo"/>
-      </optional>
-      <optional>
-        <ref name="toc"/>
-      </optional>
-      <oneOrMore>
-        <choice>
-          <ref name="set"/>
-          <ref name="book.class"/>
-        </choice>
-      </oneOrMore>
-      <optional>
-        <ref name="setindex"/>
-      </optional>
-    </element>
-  </define>
-  <!-- end of set.element -->
-  <!-- FPI: SGML formal public identifier -->
-  <define name="set.attlist" combine="interleave">
-    <optional>
-      <attribute name="fpi"/>
-    </optional>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="set.role.attrib"/>
-    <ref name="local.set.attrib"/>
-  </define>
-  <!-- end of set.attlist -->
-  <!-- end of set.module -->
-  <define name="local.setinfo.attrib">
-    <empty/>
-  </define>
-  <define name="setinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Set. -->
-  <define name="setinfo">
-    <element name="setinfo">
-      <ref name="setinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of setinfo.element -->
-  <!--
-    Contents: IDs of the ToC, Books, and SetIndex that comprise
-    the set, in the order of their appearance
-  -->
-  <define name="setinfo.attlist" combine="interleave">
-    <optional>
-      <attribute name="contents">
-        <data type="IDREFS"/>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="setinfo.role.attrib"/>
-    <ref name="local.setinfo.attrib"/>
-  </define>
-  <!-- end of setinfo.attlist -->
-  <!-- end of setinfo.module -->
-  <!-- end of set.content.module -->
-  <!-- ...................................................................... -->
-  <!-- Book and BookInfo .................................................... -->
-  <define name="local.book.attrib">
-    <empty/>
-  </define>
-  <define name="book.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A book. -->
-  <define name="book">
-    <element name="book">
-      <ref name="book.attlist"/>
-      <optional>
-        <ref name="div.title.content"/>
-      </optional>
-      <optional>
-        <ref name="bookinfo"/>
-      </optional>
-      <zeroOrMore>
-        <choice>
-          <ref name="dedication"/>
-          <ref name="toc"/>
-          <ref name="lot"/>
-          <ref name="glossary"/>
-          <ref name="bibliography"/>
-          <ref name="preface"/>
-          <ref name="chapter.class"/>
-          <ref name="reference"/>
-          <ref name="part"/>
-          <ref name="article.class"/>
-          <ref name="appendix.class"/>
-          <ref name="index.class"/>
-          <ref name="colophon"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of book.element -->
-  <!-- FPI: SGML formal public identifier -->
-  <define name="book.attlist" combine="interleave">
-    <optional>
-      <attribute name="fpi"/>
-    </optional>
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="book.role.attrib"/>
-    <ref name="local.book.attrib"/>
-  </define>
-  <!-- end of book.attlist -->
-  <!-- end of book.module -->
-  <define name="local.bookinfo.attrib">
-    <empty/>
-  </define>
-  <define name="bookinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Book. -->
-  <define name="bookinfo">
-    <element name="bookinfo">
-      <ref name="bookinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of bookinfo.element -->
-  <!--
-    Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters,
-    Appendixes, References, GLossary, Bibliography, and indexes
-    comprising the Book, in the order of their appearance
-  -->
-  <define name="bookinfo.attlist" combine="interleave">
-    <optional>
-      <attribute name="contents">
-        <data type="IDREFS"/>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="bookinfo.role.attrib"/>
-    <ref name="local.bookinfo.attrib"/>
-  </define>
-  <!-- end of bookinfo.attlist -->
-  <!-- end of bookinfo.module -->
-  <!-- end of book.content.module -->
-  <!-- ...................................................................... -->
-  <!-- Dedication, ToC, and LoT ............................................. -->
-  <define name="local.dedication.attrib">
-    <empty/>
-  </define>
-  <define name="dedication.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for the dedication section of a book. -->
-  <define name="dedication">
-    <element name="dedication">
-      <ref name="dedication.attlist"/>
-      <optional>
-        <ref name="sect.title.content"/>
-      </optional>
-      <oneOrMore>
-        <ref name="legalnotice.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of dedication.element -->
-  <define name="dedication.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="dedication.role.attrib"/>
-    <ref name="local.dedication.attrib"/>
-  </define>
-  <!-- end of dedication.attlist -->
-  <!-- end of dedication.module -->
-  <define name="local.colophon.attrib">
-    <empty/>
-  </define>
-  <define name="colophon.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Text at the back of a book describing facts about its production. -->
-  <define name="colophon">
-    <element name="colophon">
-      <ref name="colophon.attlist"/>
-      <optional>
-        <ref name="sect.title.content"/>
-      </optional>
-      <oneOrMore>
-        <ref name="textobject.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of colophon.element -->
-  <define name="colophon.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="colophon.role.attrib"/>
-    <ref name="local.colophon.attrib"/>
-  </define>
-  <!-- end of colophon.attlist -->
-  <!-- end of colophon.module -->
-  <define name="local.toc.attrib">
-    <empty/>
-  </define>
-  <define name="toc.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A table of contents. -->
-  <define name="toc">
-    <element name="toc">
-      <ref name="toc.attlist"/>
-      <optional>
-        <ref name="beginpage"/>
-      </optional>
-      <optional>
-        <ref name="bookcomponent.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="tocfront"/>
-      </zeroOrMore>
-      <zeroOrMore>
-        <choice>
-          <ref name="tocpart"/>
-          <ref name="tocchap"/>
-        </choice>
-      </zeroOrMore>
-      <zeroOrMore>
-        <ref name="tocback"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of toc.element -->
-  <define name="toc.attlist" combine="interleave">
-    <ref name="pagenum.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="toc.role.attrib"/>
-    <ref name="local.toc.attrib"/>
-  </define>
-  <!-- end of toc.attlist -->
-  <!-- end of toc.module -->
-  <define name="local.tocfront.attrib">
-    <empty/>
-  </define>
-  <define name="tocfront.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An entry in a table of contents for a front matter component. -->
-  <define name="tocfront">
-    <element name="tocfront">
-      <ref name="tocfront.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of tocfront.element -->
-  <!-- to element that this entry represents -->
-  <define name="tocfront.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="linkend.attrib"/>
-    <ref name="pagenum.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="tocfront.role.attrib"/>
-    <ref name="local.tocfront.attrib"/>
-  </define>
-  <!-- end of tocfront.attlist -->
-  <!-- end of tocfront.module -->
-  <define name="local.tocentry.attrib">
-    <empty/>
-  </define>
-  <define name="tocentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A component title in a table of contents. -->
-  <define name="tocentry">
-    <element name="tocentry">
-      <ref name="tocentry.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of tocentry.element -->
-  <!-- to element that this entry represents -->
-  <define name="tocentry.attlist" combine="interleave">
-    <ref name="linkend.attrib"/>
-    <ref name="pagenum.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="tocentry.role.attrib"/>
-    <ref name="local.tocentry.attrib"/>
-  </define>
-  <!-- end of tocentry.attlist -->
-  <!-- end of tocentry.module -->
-  <define name="local.tocpart.attrib">
-    <empty/>
-  </define>
-  <define name="tocpart.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An entry in a table of contents for a part of a book. -->
-  <define name="tocpart">
-    <element name="tocpart">
-      <ref name="tocpart.attlist"/>
-      <oneOrMore>
-        <ref name="tocentry"/>
-      </oneOrMore>
-      <zeroOrMore>
-        <ref name="tocchap"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of tocpart.element -->
-  <define name="tocpart.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="tocpart.role.attrib"/>
-    <ref name="local.tocpart.attrib"/>
-  </define>
-  <!-- end of tocpart.attlist -->
-  <!-- end of tocpart.module -->
-  <define name="local.tocchap.attrib">
-    <empty/>
-  </define>
-  <define name="tocchap.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An entry in a table of contents for a component in the body of a document. -->
-  <define name="tocchap">
-    <element name="tocchap">
-      <ref name="tocchap.attlist"/>
-      <oneOrMore>
-        <ref name="tocentry"/>
-      </oneOrMore>
-      <zeroOrMore>
-        <ref name="toclevel1"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of tocchap.element -->
-  <define name="tocchap.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="tocchap.role.attrib"/>
-    <ref name="local.tocchap.attrib"/>
-  </define>
-  <!-- end of tocchap.attlist -->
-  <!-- end of tocchap.module -->
-  <define name="local.toclevel1.attrib">
-    <empty/>
-  </define>
-  <define name="toclevel1.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A top-level entry within a table of contents entry for a chapter-like component. -->
-  <define name="toclevel1">
-    <element name="toclevel1">
-      <ref name="toclevel1.attlist"/>
-      <oneOrMore>
-        <ref name="tocentry"/>
-      </oneOrMore>
-      <zeroOrMore>
-        <ref name="toclevel2"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of toclevel1.element -->
-  <define name="toclevel1.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="toclevel1.role.attrib"/>
-    <ref name="local.toclevel1.attrib"/>
-  </define>
-  <!-- end of toclevel1.attlist -->
-  <!-- end of toclevel1.module -->
-  <define name="local.toclevel2.attrib">
-    <empty/>
-  </define>
-  <define name="toclevel2.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A second-level entry within a table of contents entry for a chapter-like component. -->
-  <define name="toclevel2">
-    <element name="toclevel2">
-      <ref name="toclevel2.attlist"/>
-      <oneOrMore>
-        <ref name="tocentry"/>
-      </oneOrMore>
-      <zeroOrMore>
-        <ref name="toclevel3"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of toclevel2.element -->
-  <define name="toclevel2.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="toclevel2.role.attrib"/>
-    <ref name="local.toclevel2.attrib"/>
-  </define>
-  <!-- end of toclevel2.attlist -->
-  <!-- end of toclevel2.module -->
-  <define name="local.toclevel3.attrib">
-    <empty/>
-  </define>
-  <define name="toclevel3.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A third-level entry within a table of contents entry for a chapter-like component. -->
-  <define name="toclevel3">
-    <element name="toclevel3">
-      <ref name="toclevel3.attlist"/>
-      <oneOrMore>
-        <ref name="tocentry"/>
-      </oneOrMore>
-      <zeroOrMore>
-        <ref name="toclevel4"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of toclevel3.element -->
-  <define name="toclevel3.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="toclevel3.role.attrib"/>
-    <ref name="local.toclevel3.attrib"/>
-  </define>
-  <!-- end of toclevel3.attlist -->
-  <!-- end of toclevel3.module -->
-  <define name="local.toclevel4.attrib">
-    <empty/>
-  </define>
-  <define name="toclevel4.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A fourth-level entry within a table of contents entry for a chapter-like component. -->
-  <define name="toclevel4">
-    <element name="toclevel4">
-      <ref name="toclevel4.attlist"/>
-      <oneOrMore>
-        <ref name="tocentry"/>
-      </oneOrMore>
-      <zeroOrMore>
-        <ref name="toclevel5"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of toclevel4.element -->
-  <define name="toclevel4.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="toclevel4.role.attrib"/>
-    <ref name="local.toclevel4.attrib"/>
-  </define>
-  <!-- end of toclevel4.attlist -->
-  <!-- end of toclevel4.module -->
-  <define name="local.toclevel5.attrib">
-    <empty/>
-  </define>
-  <define name="toclevel5.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A fifth-level entry within a table of contents entry for a chapter-like component. -->
-  <define name="toclevel5">
-    <element name="toclevel5">
-      <ref name="toclevel5.attlist"/>
-      <oneOrMore>
-        <ref name="tocentry"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of toclevel5.element -->
-  <define name="toclevel5.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="toclevel5.role.attrib"/>
-    <ref name="local.toclevel5.attrib"/>
-  </define>
-  <!-- end of toclevel5.attlist -->
-  <!-- end of toclevel5.module -->
-  <define name="local.tocback.attrib">
-    <empty/>
-  </define>
-  <define name="tocback.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An entry in a table of contents for a back matter component. -->
-  <define name="tocback">
-    <element name="tocback">
-      <ref name="tocback.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of tocback.element -->
-  <!-- to element that this entry represents -->
-  <define name="tocback.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="linkend.attrib"/>
-    <ref name="pagenum.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="tocback.role.attrib"/>
-    <ref name="local.tocback.attrib"/>
-  </define>
-  <!-- end of tocback.attlist -->
-  <!-- end of tocback.module -->
-  <!-- end of toc.content.module -->
-  <define name="local.lot.attrib">
-    <empty/>
-  </define>
-  <define name="lot.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A list of the titles of formal objects (as tables or figures) in a document. -->
-  <define name="lot">
-    <element name="lot">
-      <ref name="lot.attlist"/>
-      <optional>
-        <ref name="beginpage"/>
-      </optional>
-      <optional>
-        <ref name="bookcomponent.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="lotentry"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of lot.element -->
-  <define name="lot.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="lot.role.attrib"/>
-    <ref name="local.lot.attrib"/>
-  </define>
-  <!-- end of lot.attlist -->
-  <!-- end of lot.module -->
-  <define name="local.lotentry.attrib">
-    <empty/>
-  </define>
-  <define name="lotentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An entry in a list of titles. -->
-  <define name="lotentry">
-    <element name="lotentry">
-      <ref name="lotentry.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of lotentry.element -->
-  <!--
-    SrcCredit: Information about the source of the entry,
-    as for a list of illustrations
-  -->
-  <!--  linkend: to element that this entry represents -->
-  <define name="lotentry.attlist" combine="interleave">
-    <ref name="linkend.attrib"/>
-    <ref name="pagenum.attrib"/>
-    <optional>
-      <attribute name="srccredit"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="lotentry.role.attrib"/>
-    <ref name="local.lotentry.attrib"/>
-  </define>
-  <!-- end of lotentry.attlist -->
-  <!-- end of lotentry.module -->
-  <!-- end of lot.content.module -->
-  <!-- ...................................................................... -->
-  <!-- Appendix, Chapter, Part, Preface, Reference, PartIntro ............... -->
-  <define name="local.appendix.attrib">
-    <empty/>
-  </define>
-  <define name="appendix.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An appendix in a Book or Article. -->
-  <define name="appendix">
-    <element name="appendix">
-      <ref name="appendix.attlist"/>
-      <optional>
-        <ref name="beginpage"/>
-      </optional>
-      <optional>
-        <ref name="appendixinfo"/>
-      </optional>
-      <ref name="bookcomponent.title.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="tocchap"/>
-      </optional>
-      <ref name="bookcomponent.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of appendix.element -->
-  <define name="appendix.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="appendix.role.attrib"/>
-    <ref name="local.appendix.attrib"/>
-  </define>
-  <!-- end of appendix.attlist -->
-  <!-- end of appendix.module -->
-  <define name="local.chapter.attrib">
-    <empty/>
-  </define>
-  <define name="chapter.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A chapter, as of a book. -->
-  <define name="chapter">
-    <element name="chapter">
-      <ref name="chapter.attlist"/>
-      <optional>
-        <ref name="beginpage"/>
-      </optional>
-      <optional>
-        <ref name="chapterinfo"/>
-      </optional>
-      <ref name="bookcomponent.title.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="tocchap"/>
-      </optional>
-      <ref name="bookcomponent.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of chapter.element -->
-  <define name="chapter.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="chapter.role.attrib"/>
-    <ref name="local.chapter.attrib"/>
-  </define>
-  <!-- end of chapter.attlist -->
-  <!-- end of chapter.module -->
-  <!--
-    Note that Part was to have its content model reduced in V4.5.  This
-    change will not be made after all.
-  -->
-  <define name="local.part.attrib">
-    <empty/>
-  </define>
-  <define name="part.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A division in a book. -->
-  <define name="part">
-    <element name="part">
-      <ref name="part.attlist"/>
-      <optional>
-        <ref name="beginpage"/>
-      </optional>
-      <optional>
-        <ref name="partinfo"/>
-      </optional>
-      <ref name="bookcomponent.title.content"/>
-      <optional>
-        <ref name="partintro"/>
-      </optional>
-      <oneOrMore>
-        <ref name="partcontent.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of part.element -->
-  <define name="part.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="part.role.attrib"/>
-    <ref name="local.part.attrib"/>
-  </define>
-  <!-- end of part.attlist -->
-  <!-- ELEMENT PartIntro (defined below) -->
-  <!-- end of part.module -->
-  <define name="local.preface.attrib">
-    <empty/>
-  </define>
-  <define name="preface.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Introductory matter preceding the first chapter of a book. -->
-  <define name="preface">
-    <element name="preface">
-      <ref name="preface.attlist"/>
-      <optional>
-        <ref name="beginpage"/>
-      </optional>
-      <optional>
-        <ref name="prefaceinfo"/>
-      </optional>
-      <ref name="bookcomponent.title.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="tocchap"/>
-      </optional>
-      <ref name="bookcomponent.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of preface.element -->
-  <define name="preface.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="preface.role.attrib"/>
-    <ref name="local.preface.attrib"/>
-  </define>
-  <!-- end of preface.attlist -->
-  <!-- end of preface.module -->
-  <define name="local.reference.attrib">
-    <empty/>
-  </define>
-  <define name="reference.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A collection of reference entries. -->
-  <define name="reference">
-    <element name="reference">
-      <ref name="reference.attlist"/>
-      <optional>
-        <ref name="beginpage"/>
-      </optional>
-      <optional>
-        <ref name="referenceinfo"/>
-      </optional>
-      <ref name="bookcomponent.title.content"/>
-      <optional>
-        <ref name="partintro"/>
-      </optional>
-      <oneOrMore>
-        <ref name="refentry.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of reference.element -->
-  <define name="reference.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="reference.role.attrib"/>
-    <ref name="local.reference.attrib"/>
-  </define>
-  <!-- end of reference.attlist -->
-  <!-- ELEMENT PartIntro (defined below) -->
-  <!-- end of reference.module -->
-  <define name="local.partintro.attrib">
-    <empty/>
-  </define>
-  <define name="partintro.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An introduction to the contents of a part. -->
-  <define name="partintro">
-    <element name="partintro">
-      <ref name="partintro.attlist"/>
-      <optional>
-        <ref name="div.title.content"/>
-      </optional>
-      <ref name="bookcomponent.content"/>
-    </element>
-  </define>
-  <!-- end of partintro.element -->
-  <define name="partintro.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="partintro.role.attrib"/>
-    <ref name="local.partintro.attrib"/>
-  </define>
-  <!-- end of partintro.attlist -->
-  <!-- end of partintro.module -->
-  <!-- ...................................................................... -->
-  <!-- Other Info elements .................................................. -->
-  <define name="local.appendixinfo.attrib">
-    <empty/>
-  </define>
-  <define name="appendixinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for an Appendix. -->
-  <define name="appendixinfo">
-    <element name="appendixinfo">
-      <ref name="appendixinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of appendixinfo.element -->
-  <define name="appendixinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="appendixinfo.role.attrib"/>
-    <ref name="local.appendixinfo.attrib"/>
-  </define>
-  <!-- end of appendixinfo.attlist -->
-  <!-- end of appendixinfo.module -->
-  <define name="local.bibliographyinfo.attrib">
-    <empty/>
-  </define>
-  <define name="bibliographyinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Bibliography. -->
-  <define name="bibliographyinfo">
-    <element name="bibliographyinfo">
-      <ref name="bibliographyinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of bibliographyinfo.element -->
-  <define name="bibliographyinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="bibliographyinfo.role.attrib"/>
-    <ref name="local.bibliographyinfo.attrib"/>
-  </define>
-  <!-- end of bibliographyinfo.attlist -->
-  <!-- end of bibliographyinfo.module -->
-  <define name="local.chapterinfo.attrib">
-    <empty/>
-  </define>
-  <define name="chapterinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Chapter. -->
-  <define name="chapterinfo">
-    <element name="chapterinfo">
-      <ref name="chapterinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of chapterinfo.element -->
-  <define name="chapterinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="chapterinfo.role.attrib"/>
-    <ref name="local.chapterinfo.attrib"/>
-  </define>
-  <!-- end of chapterinfo.attlist -->
-  <!-- end of chapterinfo.module -->
-  <define name="local.glossaryinfo.attrib">
-    <empty/>
-  </define>
-  <define name="glossaryinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Glossary. -->
-  <define name="glossaryinfo">
-    <element name="glossaryinfo">
-      <ref name="glossaryinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of glossaryinfo.element -->
-  <define name="glossaryinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="glossaryinfo.role.attrib"/>
-    <ref name="local.glossaryinfo.attrib"/>
-  </define>
-  <!-- end of glossaryinfo.attlist -->
-  <!-- end of glossaryinfo.module -->
-  <define name="local.indexinfo.attrib">
-    <empty/>
-  </define>
-  <define name="indexinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for an Index. -->
-  <define name="indexinfo">
-    <element name="indexinfo">
-      <ref name="indexinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of indexinfo.element -->
-  <define name="indexinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="indexinfo.role.attrib"/>
-    <ref name="local.indexinfo.attrib"/>
-  </define>
-  <!-- end of indexinfo.attlist -->
-  <!-- end of indexinfo.module -->
-  <define name="local.setindexinfo.attrib">
-    <empty/>
-  </define>
-  <define name="setindexinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a SetIndex. -->
-  <define name="setindexinfo">
-    <element name="setindexinfo">
-      <ref name="setindexinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of setindexinfo.element -->
-  <define name="setindexinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="setindexinfo.role.attrib"/>
-    <ref name="local.setindexinfo.attrib"/>
-  </define>
-  <!-- end of setindexinfo.attlist -->
-  <!-- end of setindexinfo.module -->
-  <define name="local.partinfo.attrib">
-    <empty/>
-  </define>
-  <define name="partinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Part. -->
-  <define name="partinfo">
-    <element name="partinfo">
-      <ref name="partinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of partinfo.element -->
-  <define name="partinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="partinfo.role.attrib"/>
-    <ref name="local.partinfo.attrib"/>
-  </define>
-  <!-- end of partinfo.attlist -->
-  <!-- end of partinfo.module -->
-  <define name="local.prefaceinfo.attrib">
-    <empty/>
-  </define>
-  <define name="prefaceinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Preface. -->
-  <define name="prefaceinfo">
-    <element name="prefaceinfo">
-      <ref name="prefaceinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of prefaceinfo.element -->
-  <define name="prefaceinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="prefaceinfo.role.attrib"/>
-    <ref name="local.prefaceinfo.attrib"/>
-  </define>
-  <!-- end of prefaceinfo.attlist -->
-  <!-- end of prefaceinfo.module -->
-  <define name="local.refentryinfo.attrib">
-    <empty/>
-  </define>
-  <define name="refentryinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Refentry. -->
-  <define name="refentryinfo">
-    <element name="refentryinfo">
-      <ref name="refentryinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of refentryinfo.element -->
-  <define name="refentryinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refentryinfo.role.attrib"/>
-    <ref name="local.refentryinfo.attrib"/>
-  </define>
-  <!-- end of refentryinfo.attlist -->
-  <!-- end of refentryinfo.module -->
-  <define name="local.refsectioninfo.attrib">
-    <empty/>
-  </define>
-  <define name="refsectioninfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a refsection. -->
-  <define name="refsectioninfo">
-    <element name="refsectioninfo">
-      <ref name="refsectioninfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of refsectioninfo.element -->
-  <define name="refsectioninfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refsectioninfo.role.attrib"/>
-    <ref name="local.refsectioninfo.attrib"/>
-  </define>
-  <!-- end of refsectioninfo.attlist -->
-  <!-- end of refsectioninfo.module -->
-  <define name="local.refsect1info.attrib">
-    <empty/>
-  </define>
-  <define name="refsect1info.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a RefSect1. -->
-  <define name="refsect1info">
-    <element name="refsect1info">
-      <ref name="refsect1info.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of refsect1info.element -->
-  <define name="refsect1info.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refsect1info.role.attrib"/>
-    <ref name="local.refsect1info.attrib"/>
-  </define>
-  <!-- end of refsect1info.attlist -->
-  <!-- end of refsect1info.module -->
-  <define name="local.refsect2info.attrib">
-    <empty/>
-  </define>
-  <define name="refsect2info.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a RefSect2. -->
-  <define name="refsect2info">
-    <element name="refsect2info">
-      <ref name="refsect2info.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of refsect2info.element -->
-  <define name="refsect2info.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refsect2info.role.attrib"/>
-    <ref name="local.refsect2info.attrib"/>
-  </define>
-  <!-- end of refsect2info.attlist -->
-  <!-- end of refsect2info.module -->
-  <define name="local.refsect3info.attrib">
-    <empty/>
-  </define>
-  <define name="refsect3info.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a RefSect3. -->
-  <define name="refsect3info">
-    <element name="refsect3info">
-      <ref name="refsect3info.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of refsect3info.element -->
-  <define name="refsect3info.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refsect3info.role.attrib"/>
-    <ref name="local.refsect3info.attrib"/>
-  </define>
-  <!-- end of refsect3info.attlist -->
-  <!-- end of refsect3info.module -->
-  <define name="local.refsynopsisdivinfo.attrib">
-    <empty/>
-  </define>
-  <define name="refsynopsisdivinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a RefSynopsisDiv. -->
-  <define name="refsynopsisdivinfo">
-    <element name="refsynopsisdivinfo">
-      <ref name="refsynopsisdivinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of refsynopsisdivinfo.element -->
-  <define name="refsynopsisdivinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refsynopsisdivinfo.role.attrib"/>
-    <ref name="local.refsynopsisdivinfo.attrib"/>
-  </define>
-  <!-- end of refsynopsisdivinfo.attlist -->
-  <!-- end of refsynopsisdivinfo.module -->
-  <define name="local.referenceinfo.attrib">
-    <empty/>
-  </define>
-  <define name="referenceinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Reference. -->
-  <define name="referenceinfo">
-    <element name="referenceinfo">
-      <ref name="referenceinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of referenceinfo.element -->
-  <define name="referenceinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="referenceinfo.role.attrib"/>
-    <ref name="local.referenceinfo.attrib"/>
-  </define>
-  <!-- end of referenceinfo.attlist -->
-  <!-- end of referenceinfo.module -->
-  <define name="local.sect1info.attrib">
-    <empty/>
-  </define>
-  <define name="sect1info.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Sect1. -->
-  <define name="sect1info">
-    <element name="sect1info">
-      <ref name="sect1info.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of sect1info.element -->
-  <define name="sect1info.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="sect1info.role.attrib"/>
-    <ref name="local.sect1info.attrib"/>
-  </define>
-  <!-- end of sect1info.attlist -->
-  <define name="local.sect2info.attrib">
-    <empty/>
-  </define>
-  <define name="sect2info.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Sect2. -->
-  <define name="sect2info">
-    <element name="sect2info">
-      <ref name="sect2info.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of sect2info.element -->
-  <define name="sect2info.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="sect2info.role.attrib"/>
-    <ref name="local.sect2info.attrib"/>
-  </define>
-  <!-- end of sect2info.attlist -->
-  <define name="local.sect3info.attrib">
-    <empty/>
-  </define>
-  <define name="sect3info.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Sect3. -->
-  <define name="sect3info">
-    <element name="sect3info">
-      <ref name="sect3info.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of sect3info.element -->
-  <define name="sect3info.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="sect3info.role.attrib"/>
-    <ref name="local.sect3info.attrib"/>
-  </define>
-  <!-- end of sect3info.attlist -->
-  <define name="local.sect4info.attrib">
-    <empty/>
-  </define>
-  <define name="sect4info.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Sect4. -->
-  <define name="sect4info">
-    <element name="sect4info">
-      <ref name="sect4info.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of sect4info.element -->
-  <define name="sect4info.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="sect4info.role.attrib"/>
-    <ref name="local.sect4info.attrib"/>
-  </define>
-  <!-- end of sect4info.attlist -->
-  <define name="local.sect5info.attrib">
-    <empty/>
-  </define>
-  <define name="sect5info.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Sect5. -->
-  <define name="sect5info">
-    <element name="sect5info">
-      <ref name="sect5info.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of sect5info.element -->
-  <define name="sect5info.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="sect5info.role.attrib"/>
-    <ref name="local.sect5info.attrib"/>
-  </define>
-  <!-- end of sect5info.attlist -->
-  <!-- ...................................................................... -->
-  <!-- Section (parallel to Sect*) ......................................... -->
-  <define name="local.section.attrib">
-    <empty/>
-  </define>
-  <define name="section.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A recursive section. -->
-  <define name="section">
-    <element name="section">
-      <ref name="section.attlist"/>
-      <optional>
-        <ref name="sectioninfo"/>
-      </optional>
-      <ref name="sect.title.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="divcomponent.mix"/>
-          </oneOrMore>
-          <choice>
-            <zeroOrMore>
-              <ref name="refentry.class"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="section.class"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="simplesect"/>
-            </zeroOrMore>
-          </choice>
-        </group>
-        <oneOrMore>
-          <ref name="refentry.class"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="section.class"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="simplesect"/>
-        </oneOrMore>
-      </choice>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of section.element -->
-  <define name="section.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="section.role.attrib"/>
-    <ref name="local.section.attrib"/>
-  </define>
-  <!-- end of section.attlist -->
-  <!-- end of section.module -->
-  <define name="sectioninfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <define name="local.sectioninfo.attrib">
-    <empty/>
-  </define>
-  <!-- doc:Meta-information for a recursive section. -->
-  <define name="sectioninfo">
-    <element name="sectioninfo">
-      <ref name="sectioninfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of sectioninfo.element -->
-  <define name="sectioninfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="sectioninfo.role.attrib"/>
-    <ref name="local.sectioninfo.attrib"/>
-  </define>
-  <!-- end of sectioninfo.attlist -->
-  <!-- end of sectioninfo.module -->
-  <!-- end of section.content.module -->
-  <!-- ...................................................................... -->
-  <!-- Sect1, Sect2, Sect3, Sect4, Sect5 .................................... -->
-  <define name="local.sect1.attrib">
-    <empty/>
-  </define>
-  <define name="sect1.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A top-level section of document. -->
-  <define name="sect1">
-    <element name="sect1">
-      <ref name="sect1.attlist"/>
-      <optional>
-        <ref name="sect1info"/>
-      </optional>
-      <ref name="sect.title.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="divcomponent.mix"/>
-          </oneOrMore>
-          <choice>
-            <zeroOrMore>
-              <ref name="refentry.class"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="sect2"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="simplesect"/>
-            </zeroOrMore>
-          </choice>
-        </group>
-        <oneOrMore>
-          <ref name="refentry.class"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="sect2"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="simplesect"/>
-        </oneOrMore>
-      </choice>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of sect1.element -->
-  <!--
-    Renderas: Indicates the format in which the heading should
-    appear
-  -->
-  <define name="sect1.attlist" combine="interleave">
-    <optional>
-      <attribute name="renderas">
-        <choice>
-          <value>sect2</value>
-          <value>sect3</value>
-          <value>sect4</value>
-          <value>sect5</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="sect1.role.attrib"/>
-    <ref name="local.sect1.attrib"/>
-  </define>
-  <!-- end of sect1.attlist -->
-  <!-- end of sect1.module -->
-  <define name="local.sect2.attrib">
-    <empty/>
-  </define>
-  <define name="sect2.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A subsection within a Sect1. -->
-  <define name="sect2">
-    <element name="sect2">
-      <ref name="sect2.attlist"/>
-      <optional>
-        <ref name="sect2info"/>
-      </optional>
-      <ref name="sect.title.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="divcomponent.mix"/>
-          </oneOrMore>
-          <choice>
-            <zeroOrMore>
-              <ref name="refentry.class"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="sect3"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="simplesect"/>
-            </zeroOrMore>
-          </choice>
-        </group>
-        <oneOrMore>
-          <ref name="refentry.class"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="sect3"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="simplesect"/>
-        </oneOrMore>
-      </choice>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of sect2.element -->
-  <!--
-    Renderas: Indicates the format in which the heading should
-    appear
-  -->
-  <define name="sect2.attlist" combine="interleave">
-    <optional>
-      <attribute name="renderas">
-        <choice>
-          <value>sect1</value>
-          <value>sect3</value>
-          <value>sect4</value>
-          <value>sect5</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="sect2.role.attrib"/>
-    <ref name="local.sect2.attrib"/>
-  </define>
-  <!-- end of sect2.attlist -->
-  <!-- end of sect2.module -->
-  <define name="local.sect3.attrib">
-    <empty/>
-  </define>
-  <define name="sect3.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A subsection within a Sect2. -->
-  <define name="sect3">
-    <element name="sect3">
-      <ref name="sect3.attlist"/>
-      <optional>
-        <ref name="sect3info"/>
-      </optional>
-      <ref name="sect.title.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="divcomponent.mix"/>
-          </oneOrMore>
-          <choice>
-            <zeroOrMore>
-              <ref name="refentry.class"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="sect4"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="simplesect"/>
-            </zeroOrMore>
-          </choice>
-        </group>
-        <oneOrMore>
-          <ref name="refentry.class"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="sect4"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="simplesect"/>
-        </oneOrMore>
-      </choice>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of sect3.element -->
-  <!--
-    Renderas: Indicates the format in which the heading should
-    appear
-  -->
-  <define name="sect3.attlist" combine="interleave">
-    <optional>
-      <attribute name="renderas">
-        <choice>
-          <value>sect1</value>
-          <value>sect2</value>
-          <value>sect4</value>
-          <value>sect5</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="sect3.role.attrib"/>
-    <ref name="local.sect3.attrib"/>
-  </define>
-  <!-- end of sect3.attlist -->
-  <!-- end of sect3.module -->
-  <define name="local.sect4.attrib">
-    <empty/>
-  </define>
-  <define name="sect4.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A subsection within a Sect3. -->
-  <define name="sect4">
-    <element name="sect4">
-      <ref name="sect4.attlist"/>
-      <optional>
-        <ref name="sect4info"/>
-      </optional>
-      <ref name="sect.title.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="divcomponent.mix"/>
-          </oneOrMore>
-          <choice>
-            <zeroOrMore>
-              <ref name="refentry.class"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="sect5"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="simplesect"/>
-            </zeroOrMore>
-          </choice>
-        </group>
-        <oneOrMore>
-          <ref name="refentry.class"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="sect5"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="simplesect"/>
-        </oneOrMore>
-      </choice>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of sect4.element -->
-  <!--
-    Renderas: Indicates the format in which the heading should
-    appear
-  -->
-  <define name="sect4.attlist" combine="interleave">
-    <optional>
-      <attribute name="renderas">
-        <choice>
-          <value>sect1</value>
-          <value>sect2</value>
-          <value>sect3</value>
-          <value>sect5</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="sect4.role.attrib"/>
-    <ref name="local.sect4.attrib"/>
-  </define>
-  <!-- end of sect4.attlist -->
-  <!-- end of sect4.module -->
-  <define name="local.sect5.attrib">
-    <empty/>
-  </define>
-  <define name="sect5.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A subsection within a Sect4. -->
-  <define name="sect5">
-    <element name="sect5">
-      <ref name="sect5.attlist"/>
-      <optional>
-        <ref name="sect5info"/>
-      </optional>
-      <ref name="sect.title.content"/>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="divcomponent.mix"/>
-          </oneOrMore>
-          <choice>
-            <zeroOrMore>
-              <ref name="refentry.class"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="simplesect"/>
-            </zeroOrMore>
-          </choice>
-        </group>
-        <oneOrMore>
-          <ref name="refentry.class"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="simplesect"/>
-        </oneOrMore>
-      </choice>
-      <zeroOrMore>
-        <ref name="nav.class"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of sect5.element -->
-  <!--
-    Renderas: Indicates the format in which the heading should
-    appear
-  -->
-  <define name="sect5.attlist" combine="interleave">
-    <optional>
-      <attribute name="renderas">
-        <choice>
-          <value>sect1</value>
-          <value>sect2</value>
-          <value>sect3</value>
-          <value>sect4</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="label.attrib"/>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="sect5.role.attrib"/>
-    <ref name="local.sect5.attrib"/>
-  </define>
-  <!-- end of sect5.attlist -->
-  <!-- end of sect5.module -->
-  <define name="local.simplesect.attrib">
-    <empty/>
-  </define>
-  <define name="simplesect.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A section of a document with no subdivisions. -->
-  <define name="simplesect">
-    <element name="simplesect">
-      <ref name="simplesect.attlist"/>
-      <ref name="sect.title.content"/>
-      <oneOrMore>
-        <ref name="divcomponent.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of simplesect.element -->
-  <define name="simplesect.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="simplesect.role.attrib"/>
-    <ref name="local.simplesect.attrib"/>
-  </define>
-  <!-- end of simplesect.attlist -->
-  <!-- end of simplesect.module -->
-  <!-- ...................................................................... -->
-  <!-- Bibliography ......................................................... -->
-  <define name="local.bibliography.attrib">
-    <empty/>
-  </define>
-  <define name="bibliography.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A bibliography. -->
-  <define name="bibliography">
-    <element name="bibliography">
-      <ref name="bibliography.attlist"/>
-      <optional>
-        <ref name="bibliographyinfo"/>
-      </optional>
-      <optional>
-        <ref name="bookcomponent.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="component.mix"/>
-      </zeroOrMore>
-      <choice>
-        <oneOrMore>
-          <ref name="bibliodiv"/>
-        </oneOrMore>
-        <oneOrMore>
-          <choice>
-            <ref name="biblioentry"/>
-            <ref name="bibliomixed"/>
-          </choice>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of bibliography.element -->
-  <define name="bibliography.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="bibliography.role.attrib"/>
-    <ref name="local.bibliography.attrib"/>
-  </define>
-  <!-- end of bibliography.attlist -->
-  <!-- end of bibliography.module -->
-  <define name="local.bibliodiv.attrib">
-    <empty/>
-  </define>
-  <define name="bibliodiv.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A section of a Bibliography. -->
-  <define name="bibliodiv">
-    <element name="bibliodiv">
-      <ref name="bibliodiv.attlist"/>
-      <optional>
-        <ref name="sect.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="component.mix"/>
-      </zeroOrMore>
-      <oneOrMore>
-        <choice>
-          <ref name="biblioentry"/>
-          <ref name="bibliomixed"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of bibliodiv.element -->
-  <define name="bibliodiv.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="bibliodiv.role.attrib"/>
-    <ref name="local.bibliodiv.attrib"/>
-  </define>
-  <!-- end of bibliodiv.attlist -->
-  <!-- end of bibliodiv.module -->
-  <!-- end of bibliography.content.module -->
-  <!-- ...................................................................... -->
-  <!-- Glossary ............................................................. -->
-  <define name="local.glossary.attrib">
-    <empty/>
-  </define>
-  <define name="glossary.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A glossary. -->
-  <define name="glossary">
-    <element name="glossary">
-      <ref name="glossary.attlist"/>
-      <optional>
-        <ref name="glossaryinfo"/>
-      </optional>
-      <optional>
-        <ref name="bookcomponent.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="component.mix"/>
-      </zeroOrMore>
-      <choice>
-        <oneOrMore>
-          <ref name="glossdiv"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="glossentry"/>
-        </oneOrMore>
-      </choice>
-      <optional>
-        <ref name="bibliography"/>
-      </optional>
-    </element>
-  </define>
-  <!-- end of glossary.element -->
-  <define name="glossary.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="glossary.role.attrib"/>
-    <ref name="local.glossary.attrib"/>
-  </define>
-  <!-- end of glossary.attlist -->
-  <!-- end of glossary.module -->
-  <define name="local.glossdiv.attrib">
-    <empty/>
-  </define>
-  <define name="glossdiv.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A division in a Glossary. -->
-  <define name="glossdiv">
-    <element name="glossdiv">
-      <ref name="glossdiv.attlist"/>
-      <ref name="sect.title.content"/>
-      <zeroOrMore>
-        <ref name="component.mix"/>
-      </zeroOrMore>
-      <oneOrMore>
-        <ref name="glossentry"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of glossdiv.element -->
-  <define name="glossdiv.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="glossdiv.role.attrib"/>
-    <ref name="local.glossdiv.attrib"/>
-  </define>
-  <!-- end of glossdiv.attlist -->
-  <!-- end of glossdiv.module -->
-  <!-- end of glossary.content.module -->
-  <!-- ...................................................................... -->
-  <!-- Index and SetIndex ................................................... -->
-  <define name="local.indexes.attrib">
-    <empty/>
-  </define>
-  <define name="indexes.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An index. -->
-  <define name="index">
-    <element name="index">
-      <ref name="index.attlist"/>
-      <optional>
-        <ref name="indexinfo"/>
-      </optional>
-      <optional>
-        <ref name="bookcomponent.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="component.mix"/>
-      </zeroOrMore>
-      <choice>
-        <zeroOrMore>
-          <ref name="indexdiv"/>
-        </zeroOrMore>
-        <zeroOrMore>
-          <ref name="indexentry"/>
-        </zeroOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of index.element -->
-  <define name="index.attlist" combine="interleave">
-    <optional>
-      <attribute name="type"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="indexes.role.attrib"/>
-    <ref name="local.indexes.attrib"/>
-  </define>
-  <!-- end of index.attlist -->
-  <!-- doc:An index to a set of books. -->
-  <define name="setindex">
-    <element name="setindex">
-      <ref name="setindex.attlist"/>
-      <optional>
-        <ref name="setindexinfo"/>
-      </optional>
-      <optional>
-        <ref name="bookcomponent.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="component.mix"/>
-      </zeroOrMore>
-      <choice>
-        <zeroOrMore>
-          <ref name="indexdiv"/>
-        </zeroOrMore>
-        <zeroOrMore>
-          <ref name="indexentry"/>
-        </zeroOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of setindex.element -->
-  <define name="setindex.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="indexes.role.attrib"/>
-    <ref name="local.indexes.attrib"/>
-  </define>
-  <!-- end of setindex.attlist -->
-  <!-- end of indexes.module -->
-  <!--
-    SegmentedList in this content is useful for marking up permuted
-    indices.
-  -->
-  <define name="local.indexdiv.attrib">
-    <empty/>
-  </define>
-  <define name="indexdiv.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A division in an index. -->
-  <define name="indexdiv">
-    <element name="indexdiv">
-      <ref name="indexdiv.attlist"/>
-      <optional>
-        <ref name="sect.title.content"/>
-      </optional>
-      <group>
-        <zeroOrMore>
-          <ref name="indexdivcomponent.mix"/>
-        </zeroOrMore>
-        <choice>
-          <oneOrMore>
-            <ref name="indexentry"/>
-          </oneOrMore>
-          <ref name="segmentedlist"/>
-        </choice>
-      </group>
-    </element>
-  </define>
-  <!-- end of indexdiv.element -->
-  <define name="indexdiv.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="indexdiv.role.attrib"/>
-    <ref name="local.indexdiv.attrib"/>
-  </define>
-  <!-- end of indexdiv.attlist -->
-  <!-- end of indexdiv.module -->
-  <!-- Index entries appear in the index, not the text. -->
-  <define name="local.indexentry.attrib">
-    <empty/>
-  </define>
-  <define name="indexentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An entry in an index. -->
-  <define name="indexentry">
-    <element name="indexentry">
-      <ref name="indexentry.attlist"/>
-      <ref name="primaryie"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="seeie"/>
-          <ref name="seealsoie"/>
-        </choice>
-      </zeroOrMore>
-      <zeroOrMore>
-        <ref name="secondaryie"/>
-        <zeroOrMore>
-          <choice>
-            <ref name="seeie"/>
-            <ref name="seealsoie"/>
-            <ref name="tertiaryie"/>
-          </choice>
-        </zeroOrMore>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of indexentry.element -->
-  <define name="indexentry.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="indexentry.role.attrib"/>
-    <ref name="local.indexentry.attrib"/>
-  </define>
-  <!-- end of indexentry.attlist -->
-  <!-- end of indexentry.module -->
-  <define name="local.primsecterie.attrib">
-    <empty/>
-  </define>
-  <define name="primsecterie.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A primary term in an index entry, not in the text. -->
-  <define name="primaryie">
-    <element name="primaryie">
-      <ref name="primaryie.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of primaryie.element -->
-  <!-- to IndexTerms that these entries represent -->
-  <define name="primaryie.attlist" combine="interleave">
-    <ref name="linkends.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="primsecterie.role.attrib"/>
-    <ref name="local.primsecterie.attrib"/>
-  </define>
-  <!-- end of primaryie.attlist -->
-  <!-- doc:A secondary term in an index entry, rather than in the text. -->
-  <define name="secondaryie">
-    <element name="secondaryie">
-      <ref name="secondaryie.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of secondaryie.element -->
-  <!-- to IndexTerms that these entries represent -->
-  <define name="secondaryie.attlist" combine="interleave">
-    <ref name="linkends.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="primsecterie.role.attrib"/>
-    <ref name="local.primsecterie.attrib"/>
-  </define>
-  <!-- end of secondaryie.attlist -->
-  <!-- doc:A tertiary term in an index entry, rather than in the text. -->
-  <define name="tertiaryie">
-    <element name="tertiaryie">
-      <ref name="tertiaryie.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of tertiaryie.element -->
-  <!-- to IndexTerms that these entries represent -->
-  <define name="tertiaryie.attlist" combine="interleave">
-    <ref name="linkends.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="primsecterie.role.attrib"/>
-    <ref name="local.primsecterie.attrib"/>
-  </define>
-  <!-- end of tertiaryie.attlist -->
-  <!-- end of primsecterie.module -->
-  <define name="local.seeie.attrib">
-    <empty/>
-  </define>
-  <define name="seeie.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A See entry in an index, rather than in the text. -->
-  <define name="seeie">
-    <element name="seeie">
-      <ref name="seeie.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of seeie.element -->
-  <!-- to IndexEntry to look up -->
-  <define name="seeie.attlist" combine="interleave">
-    <ref name="linkend.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="seeie.role.attrib"/>
-    <ref name="local.seeie.attrib"/>
-  </define>
-  <!-- end of seeie.attlist -->
-  <!-- end of seeie.module -->
-  <define name="local.seealsoie.attrib">
-    <empty/>
-  </define>
-  <define name="seealsoie.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A See also entry in an index, rather than in the text. -->
-  <define name="seealsoie">
-    <element name="seealsoie">
-      <ref name="seealsoie.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of seealsoie.element -->
-  <!-- to related IndexEntries -->
-  <define name="seealsoie.attlist" combine="interleave">
-    <ref name="linkends.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="seealsoie.role.attrib"/>
-    <ref name="local.seealsoie.attrib"/>
-  </define>
-  <!-- end of seealsoie.attlist -->
-  <!-- end of seealsoie.module -->
-  <!-- end of index.content.module -->
-  <!-- ...................................................................... -->
-  <!-- RefEntry ............................................................. -->
-  <define name="local.refentry.attrib">
-    <empty/>
-  </define>
-  <define name="refentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A reference page (originally a UNIX man-style reference page). -->
-  <define name="refentry">
-    <element name="refentry">
-      <ref name="refentry.attlist"/>
-      <optional>
-        <ref name="beginpage"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="ndxterm.class"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="refentryinfo"/>
-      </optional>
-      <optional>
-        <ref name="refmeta"/>
-      </optional>
-      <zeroOrMore>
-        <choice>
-          <ref name="remark"/>
-          <ref name="link.char.class"/>
-        </choice>
-      </zeroOrMore>
-      <oneOrMore>
-        <ref name="refnamediv"/>
-      </oneOrMore>
-      <optional>
-        <ref name="refsynopsisdiv"/>
-      </optional>
-      <choice>
-        <oneOrMore>
-          <ref name="refsect1"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="refsection"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of refentry.element -->
-  <define name="refentry.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="refentry.role.attrib"/>
-    <ref name="local.refentry.attrib"/>
-  </define>
-  <!-- end of refentry.attlist -->
-  <!-- end of refentry.module -->
-  <define name="local.refmeta.attrib">
-    <empty/>
-  </define>
-  <define name="refmeta.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a reference entry. -->
-  <define name="refmeta">
-    <element name="refmeta">
-      <ref name="refmeta.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.class"/>
-      </zeroOrMore>
-      <ref name="refentrytitle"/>
-      <optional>
-        <ref name="manvolnum"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="refmiscinfo"/>
-      </zeroOrMore>
-      <zeroOrMore>
-        <ref name="ndxterm.class"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of refmeta.element -->
-  <define name="refmeta.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refmeta.role.attrib"/>
-    <ref name="local.refmeta.attrib"/>
-  </define>
-  <!-- end of refmeta.attlist -->
-  <!-- end of refmeta.module -->
-  <define name="local.refmiscinfo.attrib">
-    <empty/>
-  </define>
-  <define name="refmiscinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a reference entry other than the title and volume number. -->
-  <define name="refmiscinfo">
-    <element name="refmiscinfo">
-      <ref name="refmiscinfo.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of refmiscinfo.element -->
-  <!-- Class: Freely assignable parameter; no default -->
-  <define name="refmiscinfo.attlist" combine="interleave">
-    <optional>
-      <attribute name="class"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="refmiscinfo.role.attrib"/>
-    <ref name="local.refmiscinfo.attrib"/>
-  </define>
-  <!-- end of refmiscinfo.attlist -->
-  <!-- end of refmiscinfo.module -->
-  <define name="local.refnamediv.attrib">
-    <empty/>
-  </define>
-  <define name="refnamediv.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name, purpose, and classification of a reference page. -->
-  <define name="refnamediv">
-    <element name="refnamediv">
-      <ref name="refnamediv.attlist"/>
-      <optional>
-        <ref name="refdescriptor"/>
-      </optional>
-      <oneOrMore>
-        <ref name="refname"/>
-      </oneOrMore>
-      <ref name="refpurpose"/>
-      <zeroOrMore>
-        <ref name="refclass"/>
-      </zeroOrMore>
-      <zeroOrMore>
-        <choice>
-          <ref name="remark"/>
-          <ref name="link.char.class"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of refnamediv.element -->
-  <define name="refnamediv.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refnamediv.role.attrib"/>
-    <ref name="local.refnamediv.attrib"/>
-  </define>
-  <!-- end of refnamediv.attlist -->
-  <!-- end of refnamediv.module -->
-  <define name="local.refdescriptor.attrib">
-    <empty/>
-  </define>
-  <define name="refdescriptor.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A description of the topic of a reference page. -->
-  <define name="refdescriptor">
-    <element name="refdescriptor">
-      <ref name="refdescriptor.attlist"/>
-      <zeroOrMore>
-        <ref name="refname.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of refdescriptor.element -->
-  <define name="refdescriptor.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refdescriptor.role.attrib"/>
-    <ref name="local.refdescriptor.attrib"/>
-  </define>
-  <!-- end of refdescriptor.attlist -->
-  <!-- end of refdescriptor.module -->
-  <define name="local.refname.attrib">
-    <empty/>
-  </define>
-  <define name="refname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of (one of) the subject(s) of a reference page. -->
-  <define name="refname">
-    <element name="refname">
-      <ref name="refname.attlist"/>
-      <zeroOrMore>
-        <ref name="refname.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of refname.element -->
-  <define name="refname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refname.role.attrib"/>
-    <ref name="local.refname.attrib"/>
-  </define>
-  <!-- end of refname.attlist -->
-  <!-- end of refname.module -->
-  <define name="local.refpurpose.attrib">
-    <empty/>
-  </define>
-  <define name="refpurpose.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A short (one sentence) synopsis of the topic of a reference page. -->
-  <define name="refpurpose">
-    <element name="refpurpose">
-      <ref name="refpurpose.attlist"/>
-      <zeroOrMore>
-        <ref name="refinline.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of refpurpose.element -->
-  <define name="refpurpose.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refpurpose.role.attrib"/>
-    <ref name="local.refpurpose.attrib"/>
-  </define>
-  <!-- end of refpurpose.attlist -->
-  <!-- end of refpurpose.module -->
-  <define name="local.refclass.attrib">
-    <empty/>
-  </define>
-  <define name="refclass.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The scope or other indication of applicability of a reference entry. -->
-  <define name="refclass">
-    <element name="refclass">
-      <ref name="refclass.attlist"/>
-      <zeroOrMore>
-        <ref name="refclass.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of refclass.element -->
-  <define name="refclass.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refclass.role.attrib"/>
-    <ref name="local.refclass.attrib"/>
-  </define>
-  <!-- end of refclass.attlist -->
-  <!-- end of refclass.module -->
-  <define name="local.refsynopsisdiv.attrib">
-    <empty/>
-  </define>
-  <define name="refsynopsisdiv.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A syntactic synopsis of the subject of the reference page. -->
-  <define name="refsynopsisdiv">
-    <element name="refsynopsisdiv">
-      <ref name="refsynopsisdiv.attlist"/>
-      <optional>
-        <ref name="refsynopsisdivinfo"/>
-      </optional>
-      <optional>
-        <ref name="refsect.title.content"/>
-      </optional>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="refcomponent.mix"/>
-          </oneOrMore>
-          <zeroOrMore>
-            <ref name="refsect2"/>
-          </zeroOrMore>
-        </group>
-        <oneOrMore>
-          <ref name="refsect2"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of refsynopsisdiv.element -->
-  <define name="refsynopsisdiv.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refsynopsisdiv.role.attrib"/>
-    <ref name="local.refsynopsisdiv.attrib"/>
-  </define>
-  <!-- end of refsynopsisdiv.attlist -->
-  <!-- end of refsynopsisdiv.module -->
-  <define name="local.refsection.attrib">
-    <empty/>
-  </define>
-  <define name="refsection.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A recursive section in a refentry. -->
-  <define name="refsection">
-    <element name="refsection">
-      <ref name="refsection.attlist"/>
-      <optional>
-        <ref name="refsectioninfo"/>
-      </optional>
-      <ref name="refsect.title.content"/>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="refcomponent.mix"/>
-          </oneOrMore>
-          <zeroOrMore>
-            <ref name="refsection"/>
-          </zeroOrMore>
-        </group>
-        <oneOrMore>
-          <ref name="refsection"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of refsection.element -->
-  <define name="refsection.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="refsection.role.attrib"/>
-    <ref name="local.refsection.attrib"/>
-  </define>
-  <!-- end of refsection.attlist -->
-  <!-- end of refsection.module -->
-  <define name="local.refsect1.attrib">
-    <empty/>
-  </define>
-  <define name="refsect1.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A major subsection of a reference entry. -->
-  <define name="refsect1">
-    <element name="refsect1">
-      <ref name="refsect1.attlist"/>
-      <optional>
-        <ref name="refsect1info"/>
-      </optional>
-      <ref name="refsect.title.content"/>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="refcomponent.mix"/>
-          </oneOrMore>
-          <zeroOrMore>
-            <ref name="refsect2"/>
-          </zeroOrMore>
-        </group>
-        <oneOrMore>
-          <ref name="refsect2"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of refsect1.element -->
-  <define name="refsect1.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="refsect1.role.attrib"/>
-    <ref name="local.refsect1.attrib"/>
-  </define>
-  <!-- end of refsect1.attlist -->
-  <!-- end of refsect1.module -->
-  <define name="local.refsect2.attrib">
-    <empty/>
-  </define>
-  <define name="refsect2.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A subsection of a RefSect1. -->
-  <define name="refsect2">
-    <element name="refsect2">
-      <ref name="refsect2.attlist"/>
-      <optional>
-        <ref name="refsect2info"/>
-      </optional>
-      <ref name="refsect.title.content"/>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="refcomponent.mix"/>
-          </oneOrMore>
-          <zeroOrMore>
-            <ref name="refsect3"/>
-          </zeroOrMore>
-        </group>
-        <oneOrMore>
-          <ref name="refsect3"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of refsect2.element -->
-  <define name="refsect2.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="refsect2.role.attrib"/>
-    <ref name="local.refsect2.attrib"/>
-  </define>
-  <!-- end of refsect2.attlist -->
-  <!-- end of refsect2.module -->
-  <define name="local.refsect3.attrib">
-    <empty/>
-  </define>
-  <define name="refsect3.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A subsection of a RefSect2. -->
-  <define name="refsect3">
-    <element name="refsect3">
-      <ref name="refsect3.attlist"/>
-      <optional>
-        <ref name="refsect3info"/>
-      </optional>
-      <ref name="refsect.title.content"/>
-      <oneOrMore>
-        <ref name="refcomponent.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of refsect3.element -->
-  <define name="refsect3.attlist" combine="interleave">
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="refsect3.role.attrib"/>
-    <ref name="local.refsect3.attrib"/>
-  </define>
-  <!-- end of refsect3.attlist -->
-  <!-- end of refsect3.module -->
-  <!-- end of refentry.content.module -->
-  <!-- ...................................................................... -->
-  <!-- Article .............................................................. -->
-  <!--
-    An Article is a chapter-level, stand-alone document that is often,
-    but need not be, collected into a Book.
-  -->
-  <define name="local.article.attrib">
-    <empty/>
-  </define>
-  <define name="article.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An article. -->
-  <define name="article">
-    <element name="article">
-      <ref name="article.attlist"/>
-      <optional>
-        <ref name="div.title.content"/>
-      </optional>
-      <optional>
-        <ref name="articleinfo"/>
-      </optional>
-      <optional>
-        <ref name="tocchap"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="lot"/>
-      </zeroOrMore>
-      <ref name="bookcomponent.content"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="nav.class"/>
-          <ref name="appendix.class"/>
-          <ref name="colophon"/>
-          <ref name="ackno"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of article.element -->
-  <!--
-    Class: Indicates the type of a particular article;
-    all articles have the same structure and general purpose.
-    No default.
-  -->
-  <!-- ParentBook: ID of the enclosing Book -->
-  <define name="article.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>journalarticle</value>
-          <value>productsheet</value>
-          <value>whitepaper</value>
-          <value>techreport</value>
-          <value>specification</value>
-          <value>faq</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="parentbook">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-    <ref name="status.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="article.role.attrib"/>
-    <ref name="local.article.attrib"/>
-  </define>
-</grammar>
-<!-- end of article.attlist -->
-<!-- end of article.module -->
-<!-- End of DocBook document hierarchy module V4.5 ........................ -->
-<!-- ...................................................................... -->
Index: OK/schema/docbook/4.5/rng/dbnotnx.rnc
===================================================================
--- BOOK/schema/docbook/4.5/rng/dbnotnx.rnc	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,85 +1,0 @@
-# ......................................................................
-
-# DocBook notations module V4.5 ........................................
-
-# File dbnotnx.mod .....................................................
-
-# Copyright 1992-2004 HaL Computer Systems, Inc.,
-# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
-# Corporation, Norman Walsh, Sun Microsystems, Inc., and the
-# Organization for the Advancement of Structured Information
-# Standards (OASIS).
-# 
-# $Id: dbnotnx.mod 6340 2006-10-03 13:23:24Z nwalsh $
-# 
-# Permission to use, copy, modify and distribute the DocBook DTD
-# and its accompanying documentation for any purpose and without fee
-# is hereby granted in perpetuity, provided that the above copyright
-# notice and this paragraph appear in all copies.  The copyright
-# holders make no representation about the suitability of the DTD for
-# any purpose.  It is provided "as is" without expressed or implied
-# warranty.
-# 
-# If you modify the DocBook DTD in any way, except for declaring and
-# referencing additional sets of general entities and declaring
-# additional notations, label your DTD as a variant of DocBook.  See
-# the maintenance documentation for more information.
-# 
-# Please direct all questions, bug reports, or suggestions for
-# changes to the docbook@lists.oasis-open.org mailing list. For more
-# information, see http://www.oasis-open.org/docbook/.
-
-# ......................................................................
-
-# This module contains the notation declarations used by DocBook.
-# 
-# In DTD driver files referring to this module, please use an entity
-# declaration that uses the public identifier shown below:
-# 
-# <!ENTITY % dbnotn PUBLIC
-# "-//OASIS//ENTITIES DocBook Notations V4.5//EN"
-# "dbnotnx.mod">
-# %dbnotn;
-# 
-# See the documentation for detailed information on the parameter
-# entity and module scheme used in DocBook, customizing DocBook and
-# planning for interchange, and changes made since the last release
-# of DocBook.
-
-local.notation.class = notAllowed
-notation.class =
-  "BMP"
-  | "CGM-CHAR"
-  | "CGM-BINARY"
-  | "CGM-CLEAR"
-  | "DITROFF"
-  | "DVI"
-  | "EPS"
-  | "EQN"
-  | "FAX"
-  | "GIF"
-  | "GIF87a"
-  | "GIF89a"
-  | "JPG"
-  | "JPEG"
-  | "IGES"
-  | "PCX"
-  | "PIC"
-  | "PNG"
-  | "PS"
-  | "SGML"
-  | "TBL"
-  | "TEX"
-  | "TIFF"
-  | "WMF"
-  | "WPG"
-  | "SVG"
-  | "PDF"
-  | "SWF"
-  | "linespecific"
-  | local.notation.class
-# WordPerfect Graphic format
-
-# End of DocBook notations module V4.5 .................................
-
-# ......................................................................
Index: OK/schema/docbook/4.5/rng/dbnotnx.rng
===================================================================
--- BOOK/schema/docbook/4.5/rng/dbnotnx.rng	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,89 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ...................................................................... -->
-<!-- DocBook notations module V4.5 ........................................ -->
-<!-- File dbnotnx.mod ..................................................... -->
-<!--
-  Copyright 1992-2004 HaL Computer Systems, Inc.,
-  O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
-  Corporation, Norman Walsh, Sun Microsystems, Inc., and the
-  Organization for the Advancement of Structured Information
-  Standards (OASIS).
-  
-  $Id: dbnotnx.mod 6340 2006-10-03 13:23:24Z nwalsh $
-  
-  Permission to use, copy, modify and distribute the DocBook DTD
-  and its accompanying documentation for any purpose and without fee
-  is hereby granted in perpetuity, provided that the above copyright
-  notice and this paragraph appear in all copies.  The copyright
-  holders make no representation about the suitability of the DTD for
-  any purpose.  It is provided "as is" without expressed or implied
-  warranty.
-  
-  If you modify the DocBook DTD in any way, except for declaring and
-  referencing additional sets of general entities and declaring
-  additional notations, label your DTD as a variant of DocBook.  See
-  the maintenance documentation for more information.
-  
-  Please direct all questions, bug reports, or suggestions for
-  changes to the docbook@lists.oasis-open.org mailing list. For more
-  information, see http://www.oasis-open.org/docbook/.
--->
-<!-- ...................................................................... -->
-<!--
-  This module contains the notation declarations used by DocBook.
-  
-  In DTD driver files referring to this module, please use an entity
-  declaration that uses the public identifier shown below:
-  
-  <!ENTITY % dbnotn PUBLIC
-  "-//OASIS//ENTITIES DocBook Notations V4.5//EN"
-  "dbnotnx.mod">
-  %dbnotn;
-  
-  See the documentation for detailed information on the parameter
-  entity and module scheme used in DocBook, customizing DocBook and
-  planning for interchange, and changes made since the last release
-  of DocBook.
--->
-<grammar xmlns="http://relaxng.org/ns/structure/1.0">
-  <define name="local.notation.class">
-    <notAllowed/>
-  </define>
-  <define name="notation.class">
-    <choice>
-      <value>BMP</value>
-      <value>CGM-CHAR</value>
-      <value>CGM-BINARY</value>
-      <value>CGM-CLEAR</value>
-      <value>DITROFF</value>
-      <value>DVI</value>
-      <value>EPS</value>
-      <value>EQN</value>
-      <value>FAX</value>
-      <value>GIF</value>
-      <value>GIF87a</value>
-      <value>GIF89a</value>
-      <value>JPG</value>
-      <value>JPEG</value>
-      <value>IGES</value>
-      <value>PCX</value>
-      <value>PIC</value>
-      <value>PNG</value>
-      <value>PS</value>
-      <value>SGML</value>
-      <value>TBL</value>
-      <value>TEX</value>
-      <value>TIFF</value>
-      <value>WMF</value>
-      <value>WPG</value>
-      <value>SVG</value>
-      <value>PDF</value>
-      <value>SWF</value>
-      <value>linespecific</value>
-      <ref name="local.notation.class"/>
-    </choice>
-  </define>
-</grammar>
-<!-- WordPerfect Graphic format -->
-<!-- End of DocBook notations module V4.5 ................................. -->
-<!-- ...................................................................... -->
Index: OK/schema/docbook/4.5/rng/dbpoolx.rnc
===================================================================
--- BOOK/schema/docbook/4.5/rng/dbpoolx.rnc	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,5785 +1,0 @@
-# ......................................................................
-
-# DocBook XML information pool module V4.5 .............................
-
-# File dbpoolx.mod .....................................................
-
-# Copyright 1992-2004 HaL Computer Systems, Inc.,
-# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
-# Corporation, Norman Walsh, Sun Microsystems, Inc., and the
-# Organization for the Advancement of Structured Information
-# Standards (OASIS).
-# 
-# $Id: dbpoolx.mod 6340 2006-10-03 13:23:24Z nwalsh $
-# 
-# Permission to use, copy, modify and distribute the DocBook XML DTD
-# and its accompanying documentation for any purpose and without fee
-# is hereby granted in perpetuity, provided that the above copyright
-# notice and this paragraph appear in all copies.  The copyright
-# holders make no representation about the suitability of the DTD for
-# any purpose.  It is provided "as is" without expressed or implied
-# warranty.
-# 
-# If you modify the DocBook XML DTD in any way, except for declaring and
-# referencing additional sets of general entities and declaring
-# additional notations, label your DTD as a variant of DocBook.  See
-# the maintenance documentation for more information.
-# 
-# Please direct all questions, bug reports, or suggestions for
-# changes to the docbook@lists.oasis-open.org mailing list. For more
-# information, see http://www.oasis-open.org/docbook/.
-
-# ......................................................................
-
-# This module contains the definitions for the objects, inline
-# elements, and so on that are available to be used as the main
-# content of DocBook documents.  Some elements are useful for general
-# publishing, and others are useful specifically for computer
-# documentation.
-# 
-# This module has the following dependencies on other modules:
-# 
-# o It assumes that a %notation.class; entity is defined by the
-#   driver file or other high-level module.  This entity is
-#   referenced in the NOTATION attributes for the graphic-related and
-#   ModeSpec elements.
-# 
-# o It assumes that an appropriately parameterized table module is
-#   available for use with the table-related elements.
-# 
-# In DTD driver files referring to this module, please use an entity
-# declaration that uses the public identifier shown below:
-# 
-# <!ENTITY % dbpool PUBLIC
-# "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN"
-# "dbpoolx.mod">
-# %dbpool;
-# 
-# See the documentation for detailed information on the parameter
-# entity and module scheme used in DocBook, customizing DocBook and
-# planning for interchange, and changes made since the last release
-# of DocBook.
-
-# ......................................................................
-
-# Forms entities .......................................................
-
-# These PEs provide the hook by which the forms module can be inserted
-
-# into the DTD.
-
-namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
-
-forminlines.hook = notAllowed
-forms.hook = notAllowed
-# ......................................................................
-
-# General-purpose semantics entities ...................................
-yesorno.attvals = string
-# ......................................................................
-
-# Entities for module inclusions .......................................
-
-# ......................................................................
-
-# Entities for element classes and mixtures ............................
-
-# "Ubiquitous" classes: ndxterm.class and beginpage
-local.ndxterm.class = notAllowed
-ndxterm.class = indexterm | local.ndxterm.class
-# Object-level classes .................................................
-local.list.class = notAllowed
-list.class =
-  calloutlist
-  | glosslist
-  | bibliolist
-  | itemizedlist
-  | orderedlist
-  | segmentedlist
-  | simplelist
-  | variablelist
-  | local.list.class
-local.admon.class = notAllowed
-admon.class =
-  caution | important | note | tip | warning | local.admon.class
-local.linespecific.class = notAllowed
-linespecific.class =
-  literallayout
-  | programlisting
-  | programlistingco
-  | screen
-  | screenco
-  | screenshot
-  | local.linespecific.class
-local.method.synop.class = notAllowed
-method.synop.class =
-  constructorsynopsis
-  | destructorsynopsis
-  | methodsynopsis
-  | local.method.synop.class
-local.synop.class = notAllowed
-synop.class =
-  synopsis
-  | cmdsynopsis
-  | funcsynopsis
-  | classsynopsis
-  | fieldsynopsis
-  | method.synop.class
-  | local.synop.class
-local.para.class = notAllowed
-para.class = formalpara | para | simpara | local.para.class
-local.informal.class = notAllowed
-informal.class =
-  address
-  | blockquote
-  | graphic
-  | graphicco
-  | mediaobject
-  | mediaobjectco
-  | informalequation
-  | informalexample
-  | informalfigure
-  | informaltable
-  | local.informal.class
-local.formal.class = notAllowed
-formal.class = equation | example | figure | table | local.formal.class
-# The DocBook TC may produce an official EBNF module for DocBook.
-
-# This PE provides the hook by which it can be inserted into the DTD.
-ebnf.block.hook = notAllowed
-local.compound.class = notAllowed
-compound.class =
-  msgset
-  | procedure
-  | sidebar
-  | qandaset
-  | task
-  | ebnf.block.hook
-  | local.compound.class
-local.genobj.class = notAllowed
-genobj.class =
-  anchor | bridgehead | remark | highlights | local.genobj.class
-local.descobj.class = notAllowed
-descobj.class = abstract | authorblurb | epigraph | local.descobj.class
-# Character-level classes ..............................................
-local.xref.char.class = notAllowed
-xref.char.class = footnoteref | xref | biblioref | local.xref.char.class
-local.gen.char.class = notAllowed
-gen.char.class =
-  abbrev
-  | acronym
-  | citation
-  | citerefentry
-  | citetitle
-  | citebiblioid
-  | emphasis
-  | firstterm
-  | foreignphrase
-  | glossterm
-  | termdef
-  | footnote
-  | phrase
-  | orgname
-  | quote
-  | trademark
-  | wordasword
-  | personname
-  | local.gen.char.class
-local.link.char.class = notAllowed
-link.char.class = link | olink | ulink | local.link.char.class
-# The DocBook TC may produce an official EBNF module for DocBook.
-
-# This PE provides the hook by which it can be inserted into the DTD.
-ebnf.inline.hook = notAllowed
-local.tech.char.class = notAllowed
-tech.char.class =
-  action
-  | application
-  | classname
-  | methodname
-  | interfacename
-  | exceptionname
-  | ooclass
-  | oointerface
-  | ooexception
-  | package
-  | command
-  | computeroutput
-  | database
-  | email
-  | envar
-  | errorcode
-  | errorname
-  | errortype
-  | errortext
-  | filename
-  | function
-  | guibutton
-  | guiicon
-  | guilabel
-  | guimenu
-  | guimenuitem
-  | guisubmenu
-  | hardware
-  | interface
-  | keycap
-  | keycode
-  | keycombo
-  | keysym
-  | literal
-  | code
-  | constant
-  | markup
-  | medialabel
-  | menuchoice
-  | mousebutton
-  | option
-  | optional
-  | parameter
-  | prompt
-  | property
-  | replaceable
-  | returnvalue
-  | sgmltag
-  | structfield
-  | structname
-  | symbol
-  | systemitem
-  | uri
-  | \token
-  | type
-  | userinput
-  | varname
-  | ebnf.inline.hook
-  | local.tech.char.class
-local.base.char.class = notAllowed
-base.char.class = anchor | local.base.char.class
-local.docinfo.char.class = notAllowed
-docinfo.char.class =
-  author
-  | authorinitials
-  | corpauthor
-  | corpcredit
-  | modespec
-  | othercredit
-  | productname
-  | productnumber
-  | revhistory
-  | local.docinfo.char.class
-local.other.char.class = notAllowed
-other.char.class =
-  remark | subscript | superscript | local.other.char.class
-local.inlineobj.char.class = notAllowed
-inlineobj.char.class =
-  inlinegraphic
-  | inlinemediaobject
-  | inlineequation
-  | local.inlineobj.char.class
-# ......................................................................
-
-# Entities for content models ..........................................
-formalobject.title.content = title, titleabbrev?
-# Redeclaration placeholder ............................................
-
-# For redeclaring entities that are declared after this point while
-# retaining their references to the entities that are declared before
-# this point
-
-# Object-level mixtures ................................................
-
-#                       list admn line synp para infm form cmpd gen  desc
-# Component mixture       X    X    X    X    X    X    X    X    X    X
-# Sidebar mixture         X    X    X    X    X    X    X    a    X
-# Footnote mixture        X         X    X    X    X
-# Example mixture         X         X    X    X    X
-# Highlights mixture      X    X              X
-# Paragraph mixture       X         X    X         X
-# Admonition mixture      X         X    X    X    X    X    b    c
-# Figure mixture                    X    X         X
-# Table entry mixture     X    X    X         X    d
-# Glossary def mixture    X         X    X    X    X         e
-# Legal notice mixture    X    X    X         X    f
-# 
-# a. Just Procedure; not Sidebar itself or MsgSet.
-# b. No MsgSet.
-# c. No Highlights.
-# d. Just Graphic; no other informal objects.
-# e. No Anchor, BridgeHead, or Highlights.
-# f. Just BlockQuote; no other informal objects.
-local.component.mix = notAllowed
-component.mix =
-  list.class
-  | admon.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | formal.class
-  | compound.class
-  | genobj.class
-  | descobj.class
-  | ndxterm.class
-  | beginpage
-  | forms.hook
-  | local.component.mix
-local.sidebar.mix = notAllowed
-sidebar.mix =
-  list.class
-  | admon.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | formal.class
-  | procedure
-  | genobj.class
-  | ndxterm.class
-  | beginpage
-  | forms.hook
-  | local.sidebar.mix
-local.qandaset.mix = notAllowed
-qandaset.mix =
-  list.class
-  | admon.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | formal.class
-  | procedure
-  | genobj.class
-  | ndxterm.class
-  | forms.hook
-  | local.qandaset.mix
-local.revdescription.mix = notAllowed
-revdescription.mix =
-  list.class
-  | admon.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | formal.class
-  | procedure
-  | genobj.class
-  | ndxterm.class
-  | local.revdescription.mix
-local.footnote.mix = notAllowed
-footnote.mix =
-  list.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | local.footnote.mix
-local.example.mix = notAllowed
-example.mix =
-  list.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | ndxterm.class
-  | beginpage
-  | procedure
-  | forms.hook
-  | local.example.mix
-local.highlights.mix = notAllowed
-highlights.mix =
-  list.class
-  | admon.class
-  | para.class
-  | ndxterm.class
-  | local.highlights.mix
-# %formal.class; is explicitly excluded from many contexts in which
-# paragraphs are used
-local.para.mix = notAllowed
-para.mix =
-  list.class
-  | admon.class
-  | linespecific.class
-  | informal.class
-  | formal.class
-  | local.para.mix
-local.admon.mix = notAllowed
-admon.mix =
-  list.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | formal.class
-  | procedure
-  | sidebar
-  | anchor
-  | bridgehead
-  | remark
-  | ndxterm.class
-  | beginpage
-  | forms.hook
-  | local.admon.mix
-local.figure.mix = notAllowed
-figure.mix =
-  linespecific.class
-  | synop.class
-  | informal.class
-  | ndxterm.class
-  | beginpage
-  | forms.hook
-  | local.figure.mix
-local.tabentry.mix = notAllowed
-tabentry.mix =
-  list.class
-  | admon.class
-  | linespecific.class
-  | para.class
-  | graphic
-  | mediaobject
-  | forms.hook
-  | local.tabentry.mix
-local.glossdef.mix = notAllowed
-glossdef.mix =
-  list.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | formal.class
-  | remark
-  | ndxterm.class
-  | beginpage
-  | local.glossdef.mix
-local.legalnotice.mix = notAllowed
-legalnotice.mix =
-  list.class
-  | admon.class
-  | linespecific.class
-  | para.class
-  | blockquote
-  | ndxterm.class
-  | beginpage
-  | local.legalnotice.mix
-local.textobject.mix = notAllowed
-textobject.mix =
-  list.class
-  | admon.class
-  | linespecific.class
-  | para.class
-  | blockquote
-  | local.textobject.mix
-local.mediaobject.mix = notAllowed
-mediaobject.mix =
-  videoobject
-  | audioobject
-  | imageobject
-  | imageobjectco
-  | textobject
-  | local.mediaobject.mix
-local.listpreamble.mix = notAllowed
-listpreamble.mix =
-  admon.class
-  | linespecific.class
-  | synop.class
-  | para.class
-  | informal.class
-  | genobj.class
-  | descobj.class
-  | ndxterm.class
-  | beginpage
-  | forms.hook
-  | local.listpreamble.mix
-# Character-level mixtures .............................................
-
-# sgml.features
-
-# not [sgml.features[
-
-# ]] not sgml.features
-
-#                     #PCD xref word link cptr base dnfo othr inob (synop)
-# para.char.mix         X    X    X    X    X    X    X    X    X
-# title.char.mix        X    X    X    X    X    X    X    X    X
-# ndxterm.char.mix      X    X    X    X    X    X    X    X    a
-# cptr.char.mix         X              X    X    X         X    a
-# smallcptr.char.mix    X                   b                   a
-# word.char.mix         X         c    X         X         X    a
-# docinfo.char.mix      X         d    X    b              X    a
-# 
-# a. Just InlineGraphic; no InlineEquation.
-# b. Just Replaceable; no other computer terms.
-# c. Just Emphasis and Trademark; no other word elements.
-# d. Just Acronym, Emphasis, and Trademark; no other word elements.
-local.para.char.mix = notAllowed
-para.char.mix =
-  text
-  | xref.char.class
-  | gen.char.class
-  | link.char.class
-  | tech.char.class
-  | base.char.class
-  | docinfo.char.class
-  | other.char.class
-  | inlineobj.char.class
-  | synop.class
-  | ndxterm.class
-  | beginpage
-  | forminlines.hook
-  | local.para.char.mix
-local.title.char.mix = notAllowed
-title.char.mix =
-  text
-  | xref.char.class
-  | gen.char.class
-  | link.char.class
-  | tech.char.class
-  | base.char.class
-  | docinfo.char.class
-  | other.char.class
-  | inlineobj.char.class
-  | ndxterm.class
-  | local.title.char.mix
-local.ndxterm.char.mix = notAllowed
-ndxterm.char.mix =
-  text
-  | xref.char.class
-  | gen.char.class
-  | link.char.class
-  | tech.char.class
-  | base.char.class
-  | docinfo.char.class
-  | other.char.class
-  | inlinegraphic
-  | inlinemediaobject
-  | local.ndxterm.char.mix
-local.cptr.char.mix = notAllowed
-cptr.char.mix =
-  text
-  | link.char.class
-  | tech.char.class
-  | base.char.class
-  | other.char.class
-  | inlinegraphic
-  | inlinemediaobject
-  | ndxterm.class
-  | beginpage
-  | local.cptr.char.mix
-local.smallcptr.char.mix = notAllowed
-smallcptr.char.mix =
-  text
-  | replaceable
-  | inlinegraphic
-  | inlinemediaobject
-  | ndxterm.class
-  | beginpage
-  | local.smallcptr.char.mix
-local.word.char.mix = notAllowed
-word.char.mix =
-  text
-  | acronym
-  | emphasis
-  | trademark
-  | link.char.class
-  | base.char.class
-  | other.char.class
-  | inlinegraphic
-  | inlinemediaobject
-  | ndxterm.class
-  | beginpage
-  | local.word.char.mix
-local.docinfo.char.mix = notAllowed
-docinfo.char.mix =
-  text
-  | link.char.class
-  | emphasis
-  | trademark
-  | replaceable
-  | other.char.class
-  | inlinegraphic
-  | inlinemediaobject
-  | ndxterm.class
-  | local.docinfo.char.mix
-# ENTITY % bibliocomponent.mix (see Bibliographic section, below)
-
-# ENTITY % person.ident.mix (see Bibliographic section, below)
-
-# ......................................................................
-
-# Entities for attributes and attribute components .....................
-
-# Effectivity attributes ...............................................
-
-# Arch: Computer or chip architecture to which element applies; no
-# default
-arch.attrib = attribute arch { text }?
-# Condition: General-purpose effectivity attribute
-condition.attrib = attribute condition { text }?
-# Conformance: Standards conformance characteristics
-conformance.attrib = attribute conformance { xsd:NMTOKENS }?
-# OS: Operating system to which element applies; no default
-os.attrib = attribute os { text }?
-# Revision: Editorial revision to which element belongs; no default
-revision.attrib = attribute revision { text }?
-# Security: Security classification; no default
-security.attrib = attribute security { text }?
-# UserLevel: Level of user experience to which element applies; no
-# default
-userlevel.attrib = attribute userlevel { text }?
-# Vendor: Computer vendor to which element applies; no default
-vendor.attrib = attribute vendor { text }?
-# Wordsize: Computer word size (32 bit, 64 bit, etc.); no default
-wordsize.attrib = attribute wordsize { text }?
-local.effectivity.attrib = empty
-effectivity.attrib =
-  arch.attrib,
-  condition.attrib,
-  conformance.attrib,
-  os.attrib,
-  revision.attrib,
-  security.attrib,
-  userlevel.attrib,
-  vendor.attrib,
-  wordsize.attrib,
-  local.effectivity.attrib
-# Common attributes ....................................................
-
-# Id: Unique identifier of element; no default
-id.attrib = attribute id { xsd:ID }?
-# Id: Unique identifier of element; a value must be supplied; no
-# default
-idreq.attrib = attribute id { xsd:ID }
-# Lang: Indicator of language in which element is written, for
-# translation, character set management, etc.; no default
-lang.attrib = attribute lang { text }?
-# Remap: Previous role of element before conversion; no default
-remap.attrib = attribute remap { text }?
-# Role: New role of element in local environment; no default
-role.attrib = attribute role { text }?
-# XRefLabel: Alternate labeling string for XRef text generation;
-# default is usually title or other appropriate label text already
-# contained in element
-xreflabel.attrib = attribute xreflabel { text }?
-# RevisionFlag: Revision status of element; default is that element
-# wasn't revised
-revisionflag.attrib =
-  attribute revisionflag { "changed" | "added" | "deleted" | "off" }?
-local.common.attrib = empty
-# dir: Bidirectional override
-dir.attrib = attribute dir { "ltr" | "rtl" | "lro" | "rlo" }?
-# xml:base: base URI
-xml-base.attrib = attribute xml:base { text }?
-# Role is included explicitly on each element
-common.attrib =
-  id.attrib,
-  lang.attrib,
-  remap.attrib,
-  xreflabel.attrib,
-  revisionflag.attrib,
-  effectivity.attrib,
-  dir.attrib,
-  xml-base.attrib,
-  local.common.attrib
-# Role is included explicitly on each element
-idreq.common.attrib =
-  idreq.attrib,
-  lang.attrib,
-  remap.attrib,
-  xreflabel.attrib,
-  revisionflag.attrib,
-  effectivity.attrib,
-  dir.attrib,
-  xml-base.attrib,
-  local.common.attrib
-# Semi-common attributes and other attribute entities ..................
-local.graphics.attrib = empty
-# EntityRef: Name of an external entity containing the content
-# of the graphic
-
-# FileRef: Filename, qualified by a pathname if desired,
-# designating the file containing the content of the graphic
-
-# Format: Notation of the element content, if any
-
-# SrcCredit: Information about the source of the Graphic
-
-# Width: Same as CALS reprowid (desired width)
-
-# Depth: Same as CALS reprodep (desired depth)
-
-# Align: Same as CALS hplace with 'none' removed; #IMPLIED means
-# application-specific
-
-# Scale: Conflation of CALS hscale and vscale
-
-# Scalefit: Same as CALS scalefit
-graphics.attrib =
-  attribute entityref { xsd:ENTITY }?,
-  attribute fileref { text }?,
-  attribute format { notation.class }?,
-  attribute srccredit { text }?,
-  attribute width { text }?,
-  attribute contentwidth { text }?,
-  attribute depth { text }?,
-  attribute contentdepth { text }?,
-  attribute align { "left" | "right" | "center" }?,
-  attribute valign { "top" | "middle" | "bottom" }?,
-  attribute scale { text }?,
-  attribute scalefit { yesorno.attvals }?,
-  local.graphics.attrib
-local.keyaction.attrib = empty
-# Action: Key combination type; default is unspecified if one
-# child element, Simul if there is more than one; if value is
-# Other, the OtherAction attribute must have a nonempty value
-
-# OtherAction: User-defined key combination type
-keyaction.attrib =
-  attribute action {
-    "click" | "double-click" | "press" | "seq" | "simul" | "other"
-  }?,
-  attribute otheraction { text }?,
-  local.keyaction.attrib
-# Label: Identifying number or string; default is usually the
-# appropriate number or string autogenerated by a formatter
-label.attrib = attribute label { text }?
-# xml:space: whitespace treatment
-xml-space.attrib = attribute xml:space { "preserve" }?
-# Format: whether element is assumed to contain significant white
-# space
-linespecific.attrib =
-  [ a:defaultValue = "linespecific" ]
-  attribute format { "linespecific" }?,
-  xml-space.attrib,
-  attribute linenumbering { "numbered" | "unnumbered" }?,
-  attribute continuation { "continues" | "restarts" }?,
-  attribute startinglinenumber { text }?,
-  attribute language { text }?
-# Linkend: link to related information; no default
-linkend.attrib = attribute linkend { xsd:IDREF }?
-# Linkend: required link to related information
-linkendreq.attrib = attribute linkend { xsd:IDREF }
-# Linkends: link to one or more sets of related information; no
-# default
-linkends.attrib = attribute linkends { xsd:IDREFS }?
-local.mark.attrib = empty
-mark.attrib =
-  attribute mark { text }?,
-  local.mark.attrib
-# MoreInfo: whether element's content has an associated RefEntry
-moreinfo.attrib =
-  [ a:defaultValue = "none" ]
-  attribute moreinfo { "refentry" | "none" }?
-# Pagenum: number of page on which element appears; no default
-pagenum.attrib = attribute pagenum { text }?
-local.status.attrib = empty
-# Status: Editorial or publication status of the element
-# it applies to, such as "in review" or "approved for distribution"
-status.attrib =
-  attribute status { text }?,
-  local.status.attrib
-# Width: width of the longest line in the element to which it
-# pertains, in number of characters
-width.attrib = attribute width { text }?
-# ......................................................................
-
-# Title elements .......................................................
-local.title.attrib = empty
-title.role.attrib = role.attrib
-# doc:The text of the title of a section of a document or of a formal block-level element.
-title = element title { title.attlist, title.char.mix* }
-# end of title.element
-title.attlist &=
-  pagenum.attrib, common.attrib, title.role.attrib, local.title.attrib
-# end of title.attlist
-
-# end of title.module
-local.titleabbrev.attrib = empty
-titleabbrev.role.attrib = role.attrib
-# doc:The abbreviation of a Title.
-titleabbrev =
-  element titleabbrev { titleabbrev.attlist, title.char.mix* }
-# end of titleabbrev.element
-titleabbrev.attlist &=
-  common.attrib, titleabbrev.role.attrib, local.titleabbrev.attrib
-# end of titleabbrev.attlist
-
-# end of titleabbrev.module
-local.subtitle.attrib = empty
-subtitle.role.attrib = role.attrib
-# doc:The subtitle of a document.
-subtitle = element subtitle { subtitle.attlist, title.char.mix* }
-# end of subtitle.element
-subtitle.attlist &=
-  common.attrib, subtitle.role.attrib, local.subtitle.attrib
-# end of subtitle.attlist
-
-# end of subtitle.module
-
-# ......................................................................
-
-# Bibliographic entities and elements ..................................
-
-# The bibliographic elements are typically used in the document
-# hierarchy. They do not appear in content models of information
-# pool elements.  See also the document information elements,
-# below.
-local.person.ident.mix = notAllowed
-person.ident.mix =
-  honorific
-  | firstname
-  | surname
-  | lineage
-  | othername
-  | affiliation
-  | authorblurb
-  | contrib
-  | local.person.ident.mix
-local.bibliocomponent.mix = notAllowed
-bibliocomponent.mix =
-  abbrev
-  | abstract
-  | address
-  | artpagenums
-  | author
-  | authorgroup
-  | authorinitials
-  | bibliomisc
-  | biblioset
-  | collab
-  | confgroup
-  | contractnum
-  | contractsponsor
-  | copyright
-  | corpauthor
-  | corpname
-  | corpcredit
-  | date
-  | edition
-  | editor
-  | invpartnumber
-  | isbn
-  | issn
-  | issuenum
-  | orgname
-  | biblioid
-  | citebiblioid
-  | bibliosource
-  | bibliorelation
-  | bibliocoverage
-  | othercredit
-  | pagenums
-  | printhistory
-  | productname
-  | productnumber
-  | pubdate
-  | publisher
-  | publishername
-  | pubsnumber
-  | releaseinfo
-  | revhistory
-  | seriesvolnums
-  | subtitle
-  | title
-  | titleabbrev
-  | volumenum
-  | citetitle
-  | personname
-  | person.ident.mix
-  | ndxterm.class
-  | local.bibliocomponent.mix
-# I don't think this is well placed, but it needs to be here because of
-
-# the reference to bibliocomponent.mix
-local.info.class = notAllowed
-info.class =
-  graphic
-  | mediaobject
-  | legalnotice
-  | modespec
-  | subjectset
-  | keywordset
-  | itermset
-  | bibliocomponent.mix
-  | local.info.class
-# BiblioList ........................
-local.bibliolist.attrib = empty
-bibliolist.role.attrib = role.attrib
-# doc:A wrapper for a set of bibliography entries.
-bibliolist =
-  element bibliolist {
-    bibliolist.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    (biblioentry | bibliomixed)+
-  }
-# end of bibliolist.element
-bibliolist.attlist &=
-  common.attrib, bibliolist.role.attrib, local.bibliolist.attrib
-# end of bibliolist.attlist
-
-# end of bibliolist.module
-local.biblioentry.attrib = empty
-biblioentry.role.attrib = role.attrib
-# doc:An entry in a Bibliography.
-biblioentry =
-  element biblioentry {
-    biblioentry.attlist, (articleinfo | bibliocomponent.mix)+
-  }
-# end of biblioentry.element
-biblioentry.attlist &=
-  common.attrib, biblioentry.role.attrib, local.biblioentry.attrib
-# end of biblioentry.attlist
-
-# end of biblioentry.module
-local.bibliomixed.attrib = empty
-bibliomixed.role.attrib = role.attrib
-# doc:An entry in a Bibliography.
-bibliomixed =
-  element bibliomixed {
-    bibliomixed.attlist, (text | bibliocomponent.mix | bibliomset)*
-  }
-# end of bibliomixed.element
-bibliomixed.attlist &=
-  common.attrib, bibliomixed.role.attrib, local.bibliomixed.attrib
-# end of bibliomixed.attlist
-
-# end of bibliomixed.module
-local.articleinfo.attrib = empty
-articleinfo.role.attrib = role.attrib
-# doc:Meta-information for an Article.
-articleinfo = element articleinfo { articleinfo.attlist, info.class+ }
-# end of articleinfo.element
-articleinfo.attlist &=
-  common.attrib, articleinfo.role.attrib, local.articleinfo.attrib
-# end of articleinfo.attlist
-
-# end of articleinfo.module
-local.biblioset.attrib = empty
-biblioset.role.attrib = role.attrib
-# doc:A "raw" container for related bibliographic information.
-biblioset =
-  element biblioset { biblioset.attlist, bibliocomponent.mix+ }
-# end of biblioset.element
-
-# Relation: Relationship of elements contained within BiblioSet
-biblioset.attlist &=
-  attribute relation { text }?,
-  common.attrib,
-  biblioset.role.attrib,
-  local.biblioset.attrib
-# end of biblioset.attlist
-
-# end of biblioset.module
-bibliomset.role.attrib = role.attrib
-local.bibliomset.attrib = empty
-# doc:A "cooked" container for related bibliographic information.
-bibliomset =
-  element bibliomset {
-    bibliomset.attlist, (text | bibliocomponent.mix | bibliomset)*
-  }
-# end of bibliomset.element
-
-# Relation: Relationship of elements contained within BiblioMSet
-bibliomset.attlist &=
-  attribute relation { text }?,
-  common.attrib,
-  bibliomset.role.attrib,
-  local.bibliomset.attrib
-# end of bibliomset.attlist
-
-# end of bibliomset.module
-local.bibliomisc.attrib = empty
-bibliomisc.role.attrib = role.attrib
-# doc:Untyped bibliographic information.
-bibliomisc = element bibliomisc { bibliomisc.attlist, para.char.mix* }
-# end of bibliomisc.element
-bibliomisc.attlist &=
-  common.attrib, bibliomisc.role.attrib, local.bibliomisc.attrib
-# end of bibliomisc.attlist
-
-# end of bibliomisc.module
-
-# ......................................................................
-
-# Subject, Keyword, and ITermSet elements ..............................
-local.subjectset.attrib = empty
-subjectset.role.attrib = role.attrib
-# doc:A set of terms describing the subject matter of a document.
-subjectset = element subjectset { subjectset.attlist, subject+ }
-# end of subjectset.element
-
-# Scheme: Controlled vocabulary employed in SubjectTerms
-subjectset.attlist &=
-  attribute scheme { xsd:NMTOKEN }?,
-  common.attrib,
-  subjectset.role.attrib,
-  local.subjectset.attrib
-# end of subjectset.attlist
-
-# end of subjectset.module
-local.subject.attrib = empty
-subject.role.attrib = role.attrib
-# doc:One of a group of terms describing the subject matter of a document.
-subject = element subject { subject.attlist, subjectterm+ }
-# end of subject.element
-
-# Weight: Ranking of this group of SubjectTerms relative
-# to others, 0 is low, no highest value specified
-subject.attlist &=
-  attribute weight { text }?,
-  common.attrib,
-  subject.role.attrib,
-  local.subject.attrib
-# end of subject.attlist
-
-# end of subject.module
-local.subjectterm.attrib = empty
-subjectterm.role.attrib = role.attrib
-# doc:A term in a group of terms describing the subject matter of a document.
-subjectterm = element subjectterm { subjectterm.attlist, text }
-# end of subjectterm.element
-subjectterm.attlist &=
-  common.attrib, subjectterm.role.attrib, local.subjectterm.attrib
-# end of subjectterm.attlist
-
-# end of subjectterm.module
-
-# end of subjectset.content.module
-local.keywordset.attrib = empty
-keywordset.role.attrib = role.attrib
-# doc:A set of keywords describing the content of a document.
-keywordset = element keywordset { keywordset.attlist, keyword+ }
-# end of keywordset.element
-keywordset.attlist &=
-  common.attrib, keywordset.role.attrib, local.keywordset.attrib
-# end of keywordset.attlist
-
-# end of keywordset.module
-local.keyword.attrib = empty
-keyword.role.attrib = role.attrib
-# doc:One of a set of keywords describing the content of a document.
-keyword = element keyword { keyword.attlist, text }
-# end of keyword.element
-keyword.attlist &=
-  common.attrib, keyword.role.attrib, local.keyword.attrib
-# end of keyword.attlist
-
-# end of keyword.module
-
-# end of keywordset.content.module
-local.itermset.attrib = empty
-itermset.role.attrib = role.attrib
-# doc:A set of index terms in the meta-information of a document.
-itermset = element itermset { itermset.attlist, indexterm+ }
-# end of itermset.element
-itermset.attlist &=
-  common.attrib, itermset.role.attrib, local.itermset.attrib
-# end of itermset.attlist
-
-# end of itermset.module
-
-# Bibliographic info for "blocks"
-local.blockinfo.attrib = empty
-blockinfo.role.attrib = role.attrib
-# doc:Meta-information for a block element.
-blockinfo = element blockinfo { blockinfo.attlist, info.class+ }
-# end of blockinfo.element
-blockinfo.attlist &=
-  common.attrib, blockinfo.role.attrib, local.blockinfo.attrib
-# end of blockinfo.attlist
-
-# end of blockinfo.module
-
-# ......................................................................
-
-# Compound (section-ish) elements ......................................
-
-# Message set ......................
-local.msgset.attrib = empty
-msgset.role.attrib = role.attrib
-# doc:A detailed set of messages, usually error messages.
-msgset =
-  element msgset {
-    msgset.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    (msgentry+ | simplemsgentry+)
-  }
-# end of msgset.element
-msgset.attlist &= common.attrib, msgset.role.attrib, local.msgset.attrib
-# end of msgset.attlist
-
-# end of msgset.module
-local.msgentry.attrib = empty
-msgentry.role.attrib = role.attrib
-# doc:A wrapper for an entry in a message set.
-msgentry =
-  element msgentry { msgentry.attlist, msg+, msginfo?, msgexplan* }
-# end of msgentry.element
-msgentry.attlist &=
-  common.attrib, msgentry.role.attrib, local.msgentry.attrib
-# end of msgentry.attlist
-
-# end of msgentry.module
-local.simplemsgentry.attrib = empty
-simplemsgentry.role.attrib = role.attrib
-# doc:A wrapper for a simpler entry in a message set.
-simplemsgentry =
-  element simplemsgentry { simplemsgentry.attlist, msgtext, msgexplan+ }
-# end of simplemsgentry.element
-simplemsgentry.attlist &=
-  attribute audience { text }?,
-  attribute level { text }?,
-  attribute origin { text }?,
-  common.attrib,
-  simplemsgentry.role.attrib,
-  local.simplemsgentry.attrib
-# end of simplemsgentry.attlist
-
-# end of simplemsgentry.module
-local.msg.attrib = empty
-msg.role.attrib = role.attrib
-# doc:A message in a message set.
-msg = element msg { msg.attlist, title?, msgmain, (msgsub | msgrel)* }
-# end of msg.element
-msg.attlist &= common.attrib, msg.role.attrib, local.msg.attrib
-# end of msg.attlist
-
-# end of msg.module
-local.msgmain.attrib = empty
-msgmain.role.attrib = role.attrib
-# doc:The primary component of a message in a message set.
-msgmain = element msgmain { msgmain.attlist, title?, msgtext }
-# end of msgmain.element
-msgmain.attlist &=
-  common.attrib, msgmain.role.attrib, local.msgmain.attrib
-# end of msgmain.attlist
-
-# end of msgmain.module
-local.msgsub.attrib = empty
-msgsub.role.attrib = role.attrib
-# doc:A subcomponent of a message in a message set.
-msgsub = element msgsub { msgsub.attlist, title?, msgtext }
-# end of msgsub.element
-msgsub.attlist &= common.attrib, msgsub.role.attrib, local.msgsub.attrib
-# end of msgsub.attlist
-
-# end of msgsub.module
-local.msgrel.attrib = empty
-msgrel.role.attrib = role.attrib
-# doc:A related component of a message in a message set.
-msgrel = element msgrel { msgrel.attlist, title?, msgtext }
-# end of msgrel.element
-msgrel.attlist &= common.attrib, msgrel.role.attrib, local.msgrel.attrib
-# end of msgrel.attlist
-
-# end of msgrel.module
-
-# MsgText (defined in the Inlines section, below)
-local.msginfo.attrib = empty
-msginfo.role.attrib = role.attrib
-# doc:Information about a message in a message set.
-msginfo =
-  element msginfo { msginfo.attlist, (msglevel | msgorig | msgaud)* }
-# end of msginfo.element
-msginfo.attlist &=
-  common.attrib, msginfo.role.attrib, local.msginfo.attrib
-# end of msginfo.attlist
-
-# end of msginfo.module
-local.msglevel.attrib = empty
-msglevel.role.attrib = role.attrib
-# doc:The level of importance or severity of a message in a message set.
-msglevel = element msglevel { msglevel.attlist, smallcptr.char.mix* }
-# end of msglevel.element
-msglevel.attlist &=
-  common.attrib, msglevel.role.attrib, local.msglevel.attrib
-# end of msglevel.attlist
-
-# end of msglevel.module
-local.msgorig.attrib = empty
-msgorig.role.attrib = role.attrib
-# doc:The origin of a message in a message set.
-msgorig = element msgorig { msgorig.attlist, smallcptr.char.mix* }
-# end of msgorig.element
-msgorig.attlist &=
-  common.attrib, msgorig.role.attrib, local.msgorig.attrib
-# end of msgorig.attlist
-
-# end of msgorig.module
-local.msgaud.attrib = empty
-msgaud.role.attrib = role.attrib
-# doc:The audience to which a message in a message set is relevant.
-msgaud = element msgaud { msgaud.attlist, para.char.mix* }
-# end of msgaud.element
-msgaud.attlist &= common.attrib, msgaud.role.attrib, local.msgaud.attrib
-# end of msgaud.attlist
-
-# end of msgaud.module
-local.msgexplan.attrib = empty
-msgexplan.role.attrib = role.attrib
-# doc:Explanatory material relating to a message in a message set.
-msgexplan =
-  element msgexplan { msgexplan.attlist, title?, component.mix+ }
-# end of msgexplan.element
-msgexplan.attlist &=
-  common.attrib, msgexplan.role.attrib, local.msgexplan.attrib
-# end of msgexplan.attlist
-
-# end of msgexplan.module
-
-# end of msgset.content.module
-local.task.attrib = empty
-task.role.attrib = role.attrib
-# doc:A task to be completed.
-task =
-  element task {
-    task.attlist,
-    blockinfo?,
-    ndxterm.class*,
-    formalobject.title.content,
-    tasksummary?,
-    taskprerequisites?,
-    procedure,
-    example*,
-    taskrelated?
-  }
-# end of task.element
-task.attlist &= common.attrib, task.role.attrib, local.task.attrib
-# end of task.attlist
-
-# end of task.module
-local.tasksummary.attrib = empty
-tasksummary.role.attrib = role.attrib
-# doc:A summary of a task.
-tasksummary =
-  element tasksummary {
-    tasksummary.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    component.mix+
-  }
-# end of tasksummary.element
-tasksummary.attlist &=
-  common.attrib, tasksummary.role.attrib, local.tasksummary.attrib
-# end of tasksummary.attlist
-
-# end of tasksummary.module
-local.taskprerequisites.attrib = empty
-taskprerequisites.role.attrib = role.attrib
-# doc:The prerequisites for a task.
-taskprerequisites =
-  element taskprerequisites {
-    taskprerequisites.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    component.mix+
-  }
-# end of taskprerequisites.element
-taskprerequisites.attlist &=
-  common.attrib,
-  taskprerequisites.role.attrib,
-  local.taskprerequisites.attrib
-# end of taskprerequisites.attlist
-
-# end of taskprerequisites.module
-local.taskrelated.attrib = empty
-taskrelated.role.attrib = role.attrib
-# doc:Information related to a task.
-taskrelated =
-  element taskrelated {
-    taskrelated.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    component.mix+
-  }
-# end of taskrelated.element
-taskrelated.attlist &=
-  common.attrib, taskrelated.role.attrib, local.taskrelated.attrib
-# end of taskrelated.attlist
-
-# end of taskrelated.module
-
-# end of task.content.module
-
-# QandASet ........................
-local.qandaset.attrib = empty
-qandaset.role.attrib = role.attrib
-# doc:A question-and-answer set.
-qandaset =
-  element qandaset {
-    qandaset.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    qandaset.mix*,
-    (qandadiv+ | qandaentry+)
-  }
-# end of qandaset.element
-qandaset.attlist &=
-  attribute defaultlabel { "qanda" | "number" | "none" }?,
-  common.attrib,
-  qandaset.role.attrib,
-  local.qandaset.attrib
-# end of qandaset.attlist
-
-# end of qandaset.module
-local.qandadiv.attrib = empty
-qandadiv.role.attrib = role.attrib
-# doc:A titled division in a QandASet.
-qandadiv =
-  element qandadiv {
-    qandadiv.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    qandaset.mix*,
-    (qandadiv+ | qandaentry+)
-  }
-# end of qandadiv.element
-qandadiv.attlist &=
-  common.attrib, qandadiv.role.attrib, local.qandadiv.attrib
-# end of qandadiv.attlist
-
-# end of qandadiv.module
-local.qandaentry.attrib = empty
-qandaentry.role.attrib = role.attrib
-# doc:A question/answer set within a QandASet.
-qandaentry =
-  element qandaentry {
-    qandaentry.attlist, blockinfo?, revhistory?, question, answer*
-  }
-# end of qandaentry.element
-qandaentry.attlist &=
-  common.attrib, qandaentry.role.attrib, local.qandaentry.attrib
-# end of qandaentry.attlist
-
-# end of qandaentry.module
-local.question.attrib = empty
-question.role.attrib = role.attrib
-# doc:A question in a QandASet.
-question = element question { question.attlist, label?, qandaset.mix+ }
-# end of question.element
-question.attlist &=
-  common.attrib, question.role.attrib, local.question.attrib
-# end of question.attlist
-
-# end of question.module
-local.answer.attrib = empty
-answer.role.attrib = role.attrib
-# doc:An answer to a question posed in a QandASet.
-answer =
-  element answer { answer.attlist, label?, qandaset.mix*, qandaentry* }
-# end of answer.element
-answer.attlist &= common.attrib, answer.role.attrib, local.answer.attrib
-# end of answer.attlist
-
-# end of answer.module
-local.label.attrib = empty
-label.role.attrib = role.attrib
-# doc:A label on a Question or Answer.
-label = element label { label.attlist, word.char.mix* }
-# end of label.element
-label.attlist &= common.attrib, label.role.attrib, local.label.attrib
-# end of label.attlist
-
-# end of label.module
-
-# end of qandaset.content.module
-
-# Procedure ........................
-local.procedure.attrib = empty
-procedure.role.attrib = role.attrib
-# doc:A list of operations to be performed in a well-defined sequence.
-procedure =
-  element procedure {
-    procedure.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    component.mix*,
-    step+
-  }
-# end of procedure.element
-procedure.attlist &=
-  common.attrib, procedure.role.attrib, local.procedure.attrib
-# end of procedure.attlist
-
-# end of procedure.module
-local.step.attrib = empty
-step.role.attrib = role.attrib
-# doc:A unit of action in a procedure.
-step =
-  element step {
-    step.attlist,
-    title?,
-    ((component.mix+,
-      ((substeps | stepalternatives), component.mix*)?)
-     | ((substeps | stepalternatives), component.mix*))
-  }
-# end of step.element
-
-# Performance: Whether the Step must be performed
-
-# not #REQUIRED!
-step.attlist &=
-  [ a:defaultValue = "required" ]
-  attribute performance { "optional" | "required" }?,
-  common.attrib,
-  step.role.attrib,
-  local.step.attrib
-# end of step.attlist
-
-# end of step.module
-local.substeps.attrib = empty
-substeps.role.attrib = role.attrib
-# doc:A wrapper for steps that occur within steps in a procedure.
-substeps = element substeps { substeps.attlist, step+ }
-# end of substeps.element
-
-# Performance: whether entire set of substeps must be performed
-
-# not #REQUIRED!
-substeps.attlist &=
-  [ a:defaultValue = "required" ]
-  attribute performance { "optional" | "required" }?,
-  common.attrib,
-  substeps.role.attrib,
-  local.substeps.attrib
-# end of substeps.attlist
-
-# end of substeps.module
-local.stepalternatives.attrib = empty
-stepalternatives.role.attrib = role.attrib
-# doc:Alternative steps in a procedure.
-stepalternatives =
-  element stepalternatives { stepalternatives.attlist, step+ }
-# end of stepalternatives.element
-
-# Performance: Whether (one of) the alternatives must be performed
-
-# not #REQUIRED!
-stepalternatives.attlist &=
-  [ a:defaultValue = "required" ]
-  attribute performance { "optional" | "required" }?,
-  common.attrib,
-  stepalternatives.role.attrib,
-  local.stepalternatives.attrib
-# end of stepalternatives.attlist
-
-# end of stepalternatives.module
-
-# end of procedure.content.module
-
-# Sidebar ..........................
-local.sidebarinfo.attrib = empty
-sidebarinfo.role.attrib = role.attrib
-# doc:Meta-information for a Sidebar.
-sidebarinfo = element sidebarinfo { sidebarinfo.attlist, info.class+ }
-# end of sidebarinfo.element
-sidebarinfo.attlist &=
-  common.attrib, sidebarinfo.role.attrib, local.sidebarinfo.attrib
-# end of sidebarinfo.attlist
-
-# end of sidebarinfo.module
-local.sidebar.attrib = empty
-sidebar.role.attrib = role.attrib
-# doc:A portion of a document that is isolated from the main narrative flow.
-sidebar =
-  element sidebar {
-    sidebar.attlist,
-    sidebarinfo?,
-    formalobject.title.content?,
-    sidebar.mix+
-  }
-# end of sidebar.element
-sidebar.attlist &=
-  common.attrib, sidebar.role.attrib, local.sidebar.attrib
-# end of sidebar.attlist
-
-# end of sidebar.module
-
-# end of sidebar.content.model
-
-# ......................................................................
-
-# Paragraph-related elements ...........................................
-local.abstract.attrib = empty
-abstract.role.attrib = role.attrib
-# doc:A summary.
-abstract = element abstract { abstract.attlist, title?, para.class+ }
-# end of abstract.element
-abstract.attlist &=
-  common.attrib, abstract.role.attrib, local.abstract.attrib
-# end of abstract.attlist
-
-# end of abstract.module
-local.authorblurb.attrib = empty
-authorblurb.role.attrib = role.attrib
-# doc:A short description or note about an author.
-authorblurb =
-  element authorblurb { authorblurb.attlist, title?, para.class+ }
-# end of authorblurb.element
-authorblurb.attlist &=
-  common.attrib, authorblurb.role.attrib, local.authorblurb.attrib
-# end of authorblurb.attlist
-
-# end of authorblurb.module
-local.personblurb.attrib = empty
-personblurb.role.attrib = role.attrib
-# doc:A short description or note about a person.
-personblurb =
-  element personblurb { personblurb.attlist, title?, para.class+ }
-# end of personblurb.element
-personblurb.attlist &=
-  common.attrib, personblurb.role.attrib, local.personblurb.attrib
-# end of personblurb.attlist
-
-# end of personblurb.module
-local.blockquote.attrib = empty
-blockquote.role.attrib = role.attrib
-# doc:A quotation set off from the main text.
-blockquote =
-  element blockquote {
-    blockquote.attlist, blockinfo?, title?, attribution?, component.mix+
-  }
-# end of blockquote.element
-blockquote.attlist &=
-  common.attrib, blockquote.role.attrib, local.blockquote.attrib
-# end of blockquote.attlist
-
-# end of blockquote.module
-local.attribution.attrib = empty
-attribution.role.attrib = role.attrib
-# doc:The source of a block quote or epigraph.
-attribution =
-  element attribution { attribution.attlist, para.char.mix* }
-# end of attribution.element
-attribution.attlist &=
-  common.attrib, attribution.role.attrib, local.attribution.attrib
-# end of attribution.attlist
-
-# end of attribution.module
-local.bridgehead.attrib = empty
-bridgehead.role.attrib = role.attrib
-# doc:A free-floating heading.
-bridgehead = element bridgehead { bridgehead.attlist, title.char.mix* }
-# end of bridgehead.element
-
-# Renderas: Indicates the format in which the BridgeHead
-# should appear
-bridgehead.attlist &=
-  attribute renderas {
-    "other" | "sect1" | "sect2" | "sect3" | "sect4" | "sect5"
-  }?,
-  common.attrib,
-  bridgehead.role.attrib,
-  local.bridgehead.attrib
-# end of bridgehead.attlist
-
-# end of bridgehead.module
-local.remark.attrib = empty
-remark.role.attrib = role.attrib
-# doc:A remark (or comment) intended for presentation in a draft manuscript.
-remark = element remark { remark.attlist, para.char.mix* }
-# end of remark.element
-remark.attlist &= common.attrib, remark.role.attrib, local.remark.attrib
-# end of remark.attlist
-
-# end of remark.module
-local.epigraph.attrib = empty
-epigraph.role.attrib = role.attrib
-# doc:A short inscription at the beginning of a document or component.
-epigraph =
-  element epigraph {
-    epigraph.attlist, attribution?, (para.class | literallayout)+
-  }
-# end of epigraph.element
-epigraph.attlist &=
-  common.attrib, epigraph.role.attrib, local.epigraph.attrib
-# end of epigraph.attlist
-
-# Attribution (defined above)
-
-# end of epigraph.module
-local.footnote.attrib = empty
-footnote.role.attrib = role.attrib
-# doc:A footnote.
-footnote = element footnote { footnote.attlist, footnote.mix+ }
-# end of footnote.element
-footnote.attlist &=
-  label.attrib,
-  common.attrib,
-  footnote.role.attrib,
-  local.footnote.attrib
-# end of footnote.attlist
-
-# end of footnote.module
-local.highlights.attrib = empty
-highlights.role.attrib = role.attrib
-# doc:A summary of the main points of the discussed component.
-highlights = element highlights { highlights.attlist, highlights.mix+ }
-# end of highlights.element
-highlights.attlist &=
-  common.attrib, highlights.role.attrib, local.highlights.attrib
-# end of highlights.attlist
-
-# end of highlights.module
-local.formalpara.attrib = empty
-formalpara.role.attrib = role.attrib
-# doc:A paragraph with a title.
-formalpara =
-  element formalpara { formalpara.attlist, title, ndxterm.class*, para }
-# end of formalpara.element
-formalpara.attlist &=
-  common.attrib, formalpara.role.attrib, local.formalpara.attrib
-# end of formalpara.attlist
-
-# end of formalpara.module
-local.para.attrib = empty
-para.role.attrib = role.attrib
-# doc:A paragraph.
-para = element para { para.attlist, (para.char.mix | para.mix)* }
-# end of para.element
-para.attlist &= common.attrib, para.role.attrib, local.para.attrib
-# end of para.attlist
-
-# end of para.module
-local.simpara.attrib = empty
-simpara.role.attrib = role.attrib
-# doc:A paragraph that contains only text and inline markup, no block elements.
-simpara = element simpara { simpara.attlist, para.char.mix* }
-# end of simpara.element
-simpara.attlist &=
-  common.attrib, simpara.role.attrib, local.simpara.attrib
-# end of simpara.attlist
-
-# end of simpara.module
-local.admon.attrib = empty
-admon.role.attrib = role.attrib
-# doc:A note of caution.
-caution = element caution { caution.attlist, title?, admon.mix+ }
-# end of caution.element
-caution.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
-# end of caution.attlist
-
-# doc:An admonition set off from the text.
-important = element important { important.attlist, title?, admon.mix+ }
-# end of important.element
-important.attlist &=
-  common.attrib, admon.role.attrib, local.admon.attrib
-# end of important.attlist
-
-# doc:A message set off from the text.
-note = element note { note.attlist, title?, admon.mix+ }
-# end of note.element
-note.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
-# end of note.attlist
-
-# doc:A suggestion to the user, set off from the text.
-tip = element tip { tip.attlist, title?, admon.mix+ }
-# end of tip.element
-tip.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
-# end of tip.attlist
-
-# doc:An admonition set off from the text.
-warning = element warning { warning.attlist, title?, admon.mix+ }
-# end of warning.element
-warning.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
-# end of warning.attlist
-
-# end of admon.module
-
-# ......................................................................
-
-# Lists ................................................................
-
-# GlossList ........................
-local.glosslist.attrib = empty
-glosslist.role.attrib = role.attrib
-# doc:A wrapper for a set of GlossEntrys.
-glosslist =
-  element glosslist {
-    glosslist.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    glossentry+
-  }
-# end of glosslist.element
-glosslist.attlist &=
-  common.attrib, glosslist.role.attrib, local.glosslist.attrib
-# end of glosslist.attlist
-
-# end of glosslist.module
-local.glossentry.attrib = empty
-glossentry.role.attrib = role.attrib
-# doc:An entry in a Glossary or GlossList.
-glossentry =
-  element glossentry {
-    glossentry.attlist,
-    glossterm,
-    acronym?,
-    abbrev?,
-    ndxterm.class*,
-    revhistory?,
-    (glosssee | glossdef+)
-  }
-# end of glossentry.element
-
-# SortAs: String by which the GlossEntry is to be sorted
-# (alphabetized) in lieu of its proper content
-glossentry.attlist &=
-  attribute sortas { text }?,
-  common.attrib,
-  glossentry.role.attrib,
-  local.glossentry.attrib
-# end of glossentry.attlist
-
-# end of glossentry.module
-
-# GlossTerm (defined in the Inlines section, below)
-local.glossdef.attrib = empty
-glossdef.role.attrib = role.attrib
-# doc:A definition in a GlossEntry.
-glossdef =
-  element glossdef { glossdef.attlist, glossdef.mix+, glossseealso* }
-# end of glossdef.element
-
-# Subject: List of subjects; keywords for the definition
-glossdef.attlist &=
-  attribute subject { text }?,
-  common.attrib,
-  glossdef.role.attrib,
-  local.glossdef.attrib
-# end of glossdef.attlist
-
-# end of glossdef.module
-local.glosssee.attrib = empty
-glosssee.role.attrib = role.attrib
-# doc:A cross-reference from one GlossEntry to another.
-glosssee = element glosssee { glosssee.attlist, para.char.mix* }
-# end of glosssee.element
-
-# OtherTerm: Reference to the GlossEntry whose GlossTerm
-# should be displayed at the point of the GlossSee
-glosssee.attlist &=
-  attribute otherterm { xsd:IDREF }?,
-  common.attrib,
-  glosssee.role.attrib,
-  local.glosssee.attrib
-# end of glosssee.attlist
-
-# end of glosssee.module
-local.glossseealso.attrib = empty
-glossseealso.role.attrib = role.attrib
-# doc:A cross-reference from one GlossEntry to another.
-glossseealso =
-  element glossseealso { glossseealso.attlist, para.char.mix* }
-# end of glossseealso.element
-
-# OtherTerm: Reference to the GlossEntry whose GlossTerm
-# should be displayed at the point of the GlossSeeAlso
-glossseealso.attlist &=
-  attribute otherterm { xsd:IDREF }?,
-  common.attrib,
-  glossseealso.role.attrib,
-  local.glossseealso.attrib
-# end of glossseealso.attlist
-
-# end of glossseealso.module
-
-# end of glossentry.content.module
-
-# ItemizedList and OrderedList .....
-local.itemizedlist.attrib = empty
-itemizedlist.role.attrib = role.attrib
-# doc:A list in which each entry is marked with a bullet or other dingbat.
-itemizedlist =
-  element itemizedlist {
-    itemizedlist.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    listpreamble.mix*,
-    listitem+
-  }
-# end of itemizedlist.element
-
-# Spacing: Whether the vertical space in the list should be
-# compressed
-
-# Mark: Keyword, e.g., bullet, dash, checkbox, none;
-# list of keywords and defaults are implementation specific
-itemizedlist.attlist &=
-  attribute spacing { "normal" | "compact" }?,
-  mark.attrib,
-  common.attrib,
-  itemizedlist.role.attrib,
-  local.itemizedlist.attrib
-# end of itemizedlist.attlist
-
-# end of itemizedlist.module
-local.orderedlist.attrib = empty
-orderedlist.role.attrib = role.attrib
-# doc:A list in which each entry is marked with a sequentially incremented label.
-orderedlist =
-  element orderedlist {
-    orderedlist.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    listpreamble.mix*,
-    listitem+
-  }
-# end of orderedlist.element
-
-# Numeration: Style of ListItem numbered; default is expected
-# to be Arabic
-
-# InheritNum: Specifies for a nested list that the numbering
-# of ListItems should include the number of the item
-# within which they are nested (e.g., 1a and 1b within 1,
-# rather than a and b)
-
-# Continuation: Where list numbering begins afresh (Restarts,
-# the default) or continues that of the immediately preceding
-# list (Continues)
-
-# Spacing: Whether the vertical space in the list should be
-# compressed
-orderedlist.attlist &=
-  attribute numeration {
-    "arabic" | "upperalpha" | "loweralpha" | "upperroman" | "lowerroman"
-  }?,
-  [ a:defaultValue = "ignore" ]
-  attribute inheritnum { "inherit" | "ignore" }?,
-  [ a:defaultValue = "restarts" ]
-  attribute continuation { "continues" | "restarts" }?,
-  attribute spacing { "normal" | "compact" }?,
-  common.attrib,
-  orderedlist.role.attrib,
-  local.orderedlist.attrib
-# end of orderedlist.attlist
-
-# end of orderedlist.module
-local.listitem.attrib = empty
-listitem.role.attrib = role.attrib
-# doc:A wrapper for the elements of a list item.
-listitem = element listitem { listitem.attlist, component.mix+ }
-# end of listitem.element
-
-# Override: Indicates the mark to be used for this ListItem
-# instead of the default mark or the mark specified by
-# the Mark attribute on the enclosing ItemizedList
-listitem.attlist &=
-  attribute override { text }?,
-  common.attrib,
-  listitem.role.attrib,
-  local.listitem.attrib
-# end of listitem.attlist
-
-# end of listitem.module
-
-# SegmentedList ....................
-local.segmentedlist.attrib = empty
-segmentedlist.role.attrib = role.attrib
-# doc:A segmented list, a list of sets of elements.
-segmentedlist =
-  element segmentedlist {
-    segmentedlist.attlist,
-    formalobject.title.content?,
-    segtitle+,
-    seglistitem+
-  }
-# end of segmentedlist.element
-segmentedlist.attlist &=
-  common.attrib, segmentedlist.role.attrib, local.segmentedlist.attrib
-# end of segmentedlist.attlist
-
-# end of segmentedlist.module
-local.segtitle.attrib = empty
-segtitle.role.attrib = role.attrib
-# doc:The title of an element of a list item in a segmented list.
-segtitle = element segtitle { segtitle.attlist, title.char.mix* }
-# end of segtitle.element
-segtitle.attlist &=
-  common.attrib, segtitle.role.attrib, local.segtitle.attrib
-# end of segtitle.attlist
-
-# end of segtitle.module
-local.seglistitem.attrib = empty
-seglistitem.role.attrib = role.attrib
-# doc:A list item in a segmented list.
-seglistitem = element seglistitem { seglistitem.attlist, seg+ }
-# end of seglistitem.element
-seglistitem.attlist &=
-  common.attrib, seglistitem.role.attrib, local.seglistitem.attrib
-# end of seglistitem.attlist
-
-# end of seglistitem.module
-local.seg.attrib = empty
-seg.role.attrib = role.attrib
-# doc:An element of a list item in a segmented list.
-seg = element seg { seg.attlist, para.char.mix* }
-# end of seg.element
-seg.attlist &= common.attrib, seg.role.attrib, local.seg.attrib
-# end of seg.attlist
-
-# end of seg.module
-
-# end of segmentedlist.content.module
-
-# SimpleList .......................
-local.simplelist.attrib = empty
-simplelist.role.attrib = role.attrib
-# doc:An undecorated list of single words or short phrases.
-simplelist = element simplelist { simplelist.attlist, member+ }
-# end of simplelist.element
-
-# Columns: The number of columns the array should contain
-
-# Type: How the Members of the SimpleList should be
-# formatted: Inline (members separated with commas etc.
-# inline), Vert (top to bottom in n Columns), or Horiz (in
-# the direction of text flow) in n Columns.  If Column
-# is 1 or implied, Type=Vert and Type=Horiz give the same
-# results.
-simplelist.attlist &=
-  attribute columns { text }?,
-  [ a:defaultValue = "vert" ]
-  attribute type { "inline" | "vert" | "horiz" }?,
-  common.attrib,
-  simplelist.role.attrib,
-  local.simplelist.attrib
-# end of simplelist.attlist
-
-# end of simplelist.module
-local.member.attrib = empty
-member.role.attrib = role.attrib
-# doc:An element of a simple list.
-member = element member { member.attlist, para.char.mix* }
-# end of member.element
-member.attlist &= common.attrib, member.role.attrib, local.member.attrib
-# end of member.attlist
-
-# end of member.module
-
-# end of simplelist.content.module
-
-# VariableList .....................
-local.variablelist.attrib = empty
-variablelist.role.attrib = role.attrib
-# doc:A list in which each entry is composed of a set of one or more terms and an associated description.
-variablelist =
-  element variablelist {
-    variablelist.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    listpreamble.mix*,
-    varlistentry+
-  }
-# end of variablelist.element
-
-# TermLength: Length beyond which the presentation engine
-# may consider the Term too long and select an alternate
-# presentation of the Term and, or, its associated ListItem.
-variablelist.attlist &=
-  attribute termlength { text }?,
-  attribute spacing { "normal" | "compact" }?,
-  common.attrib,
-  variablelist.role.attrib,
-  local.variablelist.attrib
-# end of variablelist.attlist
-
-# end of variablelist.module
-local.varlistentry.attrib = empty
-varlistentry.role.attrib = role.attrib
-# doc:A wrapper for a set of terms and the associated description in a variable list.
-varlistentry =
-  element varlistentry { varlistentry.attlist, term+, listitem }
-# end of varlistentry.element
-varlistentry.attlist &=
-  common.attrib, varlistentry.role.attrib, local.varlistentry.attrib
-# end of varlistentry.attlist
-
-# end of varlistentry.module
-local.term.attrib = empty
-term.role.attrib = role.attrib
-# doc:The word or phrase being defined or described in a variable list.
-term = element term { term.attlist, para.char.mix* }
-# end of term.element
-term.attlist &= common.attrib, term.role.attrib, local.term.attrib
-# end of term.attlist
-
-# end of term.module
-
-# ListItem (defined above)
-
-# end of variablelist.content.module
-
-# CalloutList ......................
-local.calloutlist.attrib = empty
-calloutlist.role.attrib = role.attrib
-# doc:A list of Callouts.
-calloutlist =
-  element calloutlist {
-    calloutlist.attlist, formalobject.title.content?, callout+
-  }
-# end of calloutlist.element
-calloutlist.attlist &=
-  common.attrib, calloutlist.role.attrib, local.calloutlist.attrib
-# end of calloutlist.attlist
-
-# end of calloutlist.module
-local.callout.attrib = empty
-callout.role.attrib = role.attrib
-# doc:A &ldquo;called out&rdquo; description of a marked Area.
-callout = element callout { callout.attlist, component.mix+ }
-# end of callout.element
-
-# AreaRefs: IDs of one or more Areas or AreaSets described
-# by this Callout
-callout.attlist &=
-  attribute arearefs { xsd:IDREFS },
-  common.attrib,
-  callout.role.attrib,
-  local.callout.attrib
-# end of callout.attlist
-
-# end of callout.module
-
-# end of calloutlist.content.module
-
-# ......................................................................
-
-# Objects ..............................................................
-
-# Examples etc. ....................
-local.example.attrib = empty
-example.role.attrib = role.attrib
-# doc:A formal example, with a title.
-example =
-  element example {
-    example.attlist,
-    blockinfo?,
-    formalobject.title.content,
-    example.mix+
-  }
-# end of example.element
-example.attlist &=
-  attribute floatstyle { text }?,
-  label.attrib,
-  width.attrib,
-  common.attrib,
-  example.role.attrib,
-  local.example.attrib
-# end of example.attlist
-
-# end of example.module
-local.informalexample.attrib = empty
-informalexample.role.attrib = role.attrib
-# doc:A displayed example without a title.
-informalexample =
-  element informalexample {
-    informalexample.attlist, blockinfo?, example.mix+
-  }
-# end of informalexample.element
-informalexample.attlist &=
-  attribute floatstyle { text }?,
-  width.attrib,
-  common.attrib,
-  informalexample.role.attrib,
-  local.informalexample.attrib
-# end of informalexample.attlist
-
-# end of informalexample.module
-local.programlistingco.attrib = empty
-programlistingco.role.attrib = role.attrib
-# doc:A program listing with associated areas used in callouts.
-programlistingco =
-  element programlistingco {
-    programlistingco.attlist, areaspec, programlisting, calloutlist*
-  }
-# end of programlistingco.element
-programlistingco.attlist &=
-  common.attrib,
-  programlistingco.role.attrib,
-  local.programlistingco.attrib
-# end of programlistingco.attlist
-
-# CalloutList (defined above in Lists)
-
-# end of informalexample.module
-local.areaspec.attrib = empty
-areaspec.role.attrib = role.attrib
-# doc:A collection of regions in a graphic or code example.
-areaspec = element areaspec { areaspec.attlist, (area | areaset)+ }
-# end of areaspec.element
-
-# Units: global unit of measure in which coordinates in
-# this spec are expressed:
-# 
-# - CALSPair "x1,y1 x2,y2": lower-left and upper-right
-# coordinates in a rectangle describing repro area in which
-# graphic is placed, where X and Y dimensions are each some
-# number 0..10000 (taken from CALS graphic attributes)
-# 
-# - LineColumn "line column": line number and column number
-# at which to start callout text in "linespecific" content
-# 
-# - LineRange "startline endline": whole lines from startline
-# to endline in "linespecific" content
-# 
-# - LineColumnPair "line1 col1 line2 col2": starting and ending
-# points of area in "linespecific" content that starts at
-# first position and ends at second position (including the
-# beginnings of any intervening lines)
-# 
-# - Other: directive to look at value of OtherUnits attribute
-# to get implementation-specific keyword
-# 
-# The default is implementation-specific; usually dependent on
-# the parent element (GraphicCO gets CALSPair, ProgramListingCO
-# and ScreenCO get LineColumn)
-
-# OtherUnits: User-defined units
-areaspec.attlist &=
-  attribute units {
-    "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
-  }?,
-  attribute otherunits { xsd:NMTOKEN }?,
-  common.attrib,
-  areaspec.role.attrib,
-  local.areaspec.attrib
-# end of areaspec.attlist
-
-# end of areaspec.module
-local.area.attrib = empty
-area.role.attrib = role.attrib
-# doc:A region defined for a Callout in a graphic or code example.
-area = element area { area.attlist, empty }
-# end of area.element
-
-# bug number/symbol override or initialization
-
-# to any related information
-
-# Units: unit of measure in which coordinates in this
-# area are expressed; inherits from AreaSet and AreaSpec
-
-# OtherUnits: User-defined units
-area.attlist &=
-  label.attrib,
-  linkends.attrib,
-  attribute units {
-    "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
-  }?,
-  attribute otherunits { xsd:NMTOKEN }?,
-  attribute coords { text },
-  idreq.common.attrib,
-  area.role.attrib,
-  local.area.attrib
-# end of area.attlist
-
-# end of area.module
-local.areaset.attrib = empty
-areaset.role.attrib = role.attrib
-# doc:A set of related areas in a graphic or code example.
-areaset = element areaset { areaset.attlist, area+ }
-# end of areaset.element
-
-# bug number/symbol override or initialization
-
-# Units: unit of measure in which coordinates in this
-# area are expressed; inherits from AreaSpec
-areaset.attlist &=
-  label.attrib,
-  attribute units {
-    "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
-  }?,
-  attribute otherunits { xsd:NMTOKEN }?,
-  attribute coords { text },
-  idreq.common.attrib,
-  areaset.role.attrib,
-  local.areaset.attrib
-# end of areaset.attlist
-
-# end of areaset.module
-
-# end of areaspec.content.module
-local.programlisting.attrib = empty
-programlisting.role.attrib = role.attrib
-# doc:A literal listing of all or part of a program.
-programlisting =
-  element programlisting {
-    programlisting.attlist,
-    (para.char.mix | co | coref | lineannotation | textobject)*
-  }
-# end of programlisting.element
-programlisting.attlist &=
-  width.attrib,
-  linespecific.attrib,
-  common.attrib,
-  programlisting.role.attrib,
-  local.programlisting.attrib
-# end of programlisting.attlist
-
-# end of programlisting.module
-local.literallayout.attrib = empty
-literallayout.role.attrib = role.attrib
-# doc:A block of text in which line breaks and white space are to be reproduced faithfully.
-literallayout =
-  element literallayout {
-    literallayout.attlist,
-    (para.char.mix | co | coref | textobject | lineannotation)*
-  }
-# end of literallayout.element
-literallayout.attlist &=
-  width.attrib,
-  linespecific.attrib,
-  [ a:defaultValue = "normal" ]
-  attribute class { "monospaced" | "normal" }?,
-  common.attrib,
-  literallayout.role.attrib,
-  local.literallayout.attrib
-# end of literallayout.attlist
-
-# LineAnnotation (defined in the Inlines section, below)
-
-# end of literallayout.module
-local.screenco.attrib = empty
-screenco.role.attrib = role.attrib
-# doc:A screen with associated areas used in callouts.
-screenco =
-  element screenco { screenco.attlist, areaspec, screen, calloutlist* }
-# end of screenco.element
-screenco.attlist &=
-  common.attrib, screenco.role.attrib, local.screenco.attrib
-# end of screenco.attlist
-
-# AreaSpec (defined above)
-
-# CalloutList (defined above in Lists)
-
-# end of screenco.module
-local.screen.attrib = empty
-screen.role.attrib = role.attrib
-# doc:Text that a user sees or might see on a computer screen.
-screen =
-  element screen {
-    screen.attlist,
-    (para.char.mix | co | coref | textobject | lineannotation)*
-  }
-# end of screen.element
-screen.attlist &=
-  width.attrib,
-  linespecific.attrib,
-  common.attrib,
-  screen.role.attrib,
-  local.screen.attrib
-# end of screen.attlist
-
-# end of screen.module
-local.screenshot.attrib = empty
-screenshot.role.attrib = role.attrib
-# doc:A representation of what the user sees or might see on a computer screen.
-screenshot =
-  element screenshot {
-    screenshot.attlist,
-    screeninfo?,
-    (graphic | graphicco | mediaobject | mediaobjectco)
-  }
-# end of screenshot.element
-screenshot.attlist &=
-  common.attrib, screenshot.role.attrib, local.screenshot.attrib
-# end of screenshot.attlist
-
-# end of screenshot.module
-local.screeninfo.attrib = empty
-screeninfo.role.attrib = role.attrib
-# doc:Information about how a screen shot was produced.
-screeninfo = element screeninfo { screeninfo.attlist, para.char.mix* }
-# end of screeninfo.element
-screeninfo.attlist &=
-  common.attrib, screeninfo.role.attrib, local.screeninfo.attrib
-# end of screeninfo.attlist
-
-# end of screeninfo.module
-
-# end of screenshot.content.module
-
-# Figures etc. .....................
-local.figure.attrib = empty
-figure.role.attrib = role.attrib
-# doc:A formal figure, generally an illustration, with a title.
-figure =
-  element figure {
-    figure.attlist,
-    blockinfo?,
-    formalobject.title.content,
-    (figure.mix | link.char.class)+
-  }
-# end of figure.element
-
-# Float: Whether the Figure is supposed to be rendered
-# where convenient (yes (1) value) or at the place it occurs
-# in the text (no (0) value, the default)
-figure.attlist &=
-  [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?,
-  attribute floatstyle { text }?,
-  attribute pgwide { yesorno.attvals }?,
-  label.attrib,
-  common.attrib,
-  figure.role.attrib,
-  local.figure.attrib
-# end of figure.attlist
-
-# end of figure.module
-local.informalfigure.attrib = empty
-informalfigure.role.attrib = role.attrib
-# doc:A untitled figure.
-informalfigure =
-  element informalfigure {
-    informalfigure.attlist, blockinfo?, (figure.mix | link.char.class)+
-  }
-# end of informalfigure.element
-
-# Float: Whether the Figure is supposed to be rendered
-# where convenient (yes (1) value) or at the place it occurs
-# in the text (no (0) value, the default)
-informalfigure.attlist &=
-  [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?,
-  attribute floatstyle { text }?,
-  attribute pgwide { yesorno.attvals }?,
-  label.attrib,
-  common.attrib,
-  informalfigure.role.attrib,
-  local.informalfigure.attrib
-# end of informalfigure.attlist
-
-# end of informalfigure.module
-local.graphicco.attrib = empty
-graphicco.role.attrib = role.attrib
-# doc:A graphic that contains callout areas.
-graphicco =
-  element graphicco {
-    graphicco.attlist, areaspec, graphic, calloutlist*
-  }
-# end of graphicco.element
-graphicco.attlist &=
-  common.attrib, graphicco.role.attrib, local.graphicco.attrib
-# end of graphicco.attlist
-
-# AreaSpec (defined above in Examples)
-
-# CalloutList (defined above in Lists)
-
-# end of graphicco.module
-
-# Graphical data can be the content of Graphic, or you can reference
-# an external file either as an entity (Entitref) or a filename
-# (Fileref).
-local.graphic.attrib = empty
-graphic.role.attrib = role.attrib
-# doc:A displayed graphical object (not an inline).
-graphic = element graphic { graphic.attlist, empty }
-# end of graphic.element
-graphic.attlist &=
-  graphics.attrib,
-  common.attrib,
-  graphic.role.attrib,
-  local.graphic.attrib
-# end of graphic.attlist
-
-# end of graphic.module
-local.inlinegraphic.attrib = empty
-inlinegraphic.role.attrib = role.attrib
-# doc:An object containing or pointing to graphical data that will be rendered inline.
-inlinegraphic = element inlinegraphic { inlinegraphic.attlist, empty }
-# end of inlinegraphic.element
-inlinegraphic.attlist &=
-  graphics.attrib,
-  common.attrib,
-  inlinegraphic.role.attrib,
-  local.inlinegraphic.attrib
-# end of inlinegraphic.attlist
-
-# end of inlinegraphic.module
-local.mediaobject.attrib = empty
-mediaobject.role.attrib = role.attrib
-# doc:A displayed media object (video, audio, image, etc.).
-mediaobject =
-  element mediaobject {
-    mediaobject.attlist, objectinfo?, mediaobject.mix+, caption?
-  }
-# end of mediaobject.element
-mediaobject.attlist &=
-  common.attrib, mediaobject.role.attrib, local.mediaobject.attrib
-# end of mediaobject.attlist
-
-# end of mediaobject.module
-local.inlinemediaobject.attrib = empty
-inlinemediaobject.role.attrib = role.attrib
-# doc:An inline media object (video, audio, image, and so on).
-inlinemediaobject =
-  element inlinemediaobject {
-    inlinemediaobject.attlist, objectinfo?, mediaobject.mix+
-  }
-# end of inlinemediaobject.element
-inlinemediaobject.attlist &=
-  common.attrib,
-  inlinemediaobject.role.attrib,
-  local.inlinemediaobject.attrib
-# end of inlinemediaobject.attlist
-
-# end of inlinemediaobject.module
-local.videoobject.attrib = empty
-videoobject.role.attrib = role.attrib
-# doc:A wrapper for video data and its associated meta-information.
-videoobject =
-  element videoobject { videoobject.attlist, objectinfo?, videodata }
-# end of videoobject.element
-videoobject.attlist &=
-  common.attrib, videoobject.role.attrib, local.videoobject.attrib
-# end of videoobject.attlist
-
-# end of videoobject.module
-local.audioobject.attrib = empty
-audioobject.role.attrib = role.attrib
-# doc:A wrapper for audio data and its associated meta-information.
-audioobject =
-  element audioobject { audioobject.attlist, objectinfo?, audiodata }
-# end of audioobject.element
-audioobject.attlist &=
-  common.attrib, audioobject.role.attrib, local.audioobject.attrib
-# end of audioobject.attlist
-
-# end of audioobject.module
-local.imageobject.attrib = empty
-imageobject.role.attrib = role.attrib
-# doc:A wrapper for image data and its associated meta-information.
-imageobject =
-  element imageobject { imageobject.attlist, objectinfo?, imagedata }
-# end of imageobject.element
-imageobject.attlist &=
-  common.attrib, imageobject.role.attrib, local.imageobject.attrib
-# end of imageobject.attlist
-
-# end of imageobject.module
-local.textobject.attrib = empty
-textobject.role.attrib = role.attrib
-# doc:A wrapper for a text description of an object and its associated meta-information.
-textobject =
-  element textobject {
-    textobject.attlist,
-    objectinfo?,
-    (phrase | textdata | textobject.mix+)
-  }
-# end of textobject.element
-textobject.attlist &=
-  common.attrib, textobject.role.attrib, local.textobject.attrib
-# end of textobject.attlist
-
-# end of textobject.module
-local.objectinfo.attrib = empty
-objectinfo.role.attrib = role.attrib
-# doc:Meta-information for an object.
-objectinfo = element objectinfo { objectinfo.attlist, info.class+ }
-# end of objectinfo.element
-objectinfo.attlist &=
-  common.attrib, objectinfo.role.attrib, local.objectinfo.attrib
-# end of objectinfo.attlist
-
-# end of objectinfo.module
-
-# EntityRef: Name of an external entity containing the content
-# of the object data
-
-# FileRef: Filename, qualified by a pathname if desired,
-# designating the file containing the content of the object data
-
-# Format: Notation of the element content, if any
-
-# SrcCredit: Information about the source of the image
-local.objectdata.attrib = empty
-objectdata.attrib =
-  attribute entityref { xsd:ENTITY }?,
-  attribute fileref { text }?,
-  attribute format { notation.class }?,
-  attribute srccredit { text }?,
-  local.objectdata.attrib
-local.videodata.attrib = empty
-videodata.role.attrib = role.attrib
-# doc:Pointer to external video data.
-videodata = element videodata { videodata.attlist, empty }
-# end of videodata.element
-
-# Width: Same as CALS reprowid (desired width)
-
-# Depth: Same as CALS reprodep (desired depth)
-
-# Align: Same as CALS hplace with 'none' removed; #IMPLIED means
-# application-specific
-
-# Scale: Conflation of CALS hscale and vscale
-
-# Scalefit: Same as CALS scalefit
-videodata.attlist &=
-  attribute width { text }?,
-  attribute contentwidth { text }?,
-  attribute depth { text }?,
-  attribute contentdepth { text }?,
-  attribute align { "left" | "right" | "center" }?,
-  attribute valign { "top" | "middle" | "bottom" }?,
-  attribute scale { text }?,
-  attribute scalefit { yesorno.attvals }?,
-  objectdata.attrib,
-  common.attrib,
-  videodata.role.attrib,
-  local.videodata.attrib
-# end of videodata.attlist
-
-# end of videodata.module
-local.audiodata.attrib = empty
-audiodata.role.attrib = role.attrib
-# doc:Pointer to external audio data.
-audiodata = element audiodata { audiodata.attlist, empty }
-# end of audiodata.element
-audiodata.attlist &=
-  objectdata.attrib,
-  common.attrib,
-  audiodata.role.attrib,
-  local.audiodata.attrib
-# end of audiodata.attlist
-
-# end of audiodata.module
-local.imagedata.attrib = empty
-imagedata.role.attrib = role.attrib
-# doc:Pointer to external image data.
-imagedata = element imagedata { imagedata.attlist, empty }
-# end of imagedata.element
-
-# Width: Same as CALS reprowid (desired width)
-
-# Depth: Same as CALS reprodep (desired depth)
-
-# Align: Same as CALS hplace with 'none' removed; #IMPLIED means
-# application-specific
-
-# Scale: Conflation of CALS hscale and vscale
-
-# Scalefit: Same as CALS scalefit
-imagedata.attlist &=
-  attribute width { text }?,
-  attribute contentwidth { text }?,
-  attribute depth { text }?,
-  attribute contentdepth { text }?,
-  attribute align { "left" | "right" | "center" }?,
-  attribute valign { "top" | "middle" | "bottom" }?,
-  attribute scale { text }?,
-  attribute scalefit { yesorno.attvals }?,
-  objectdata.attrib,
-  common.attrib,
-  imagedata.role.attrib,
-  local.imagedata.attrib
-# end of imagedata.attlist
-
-# end of imagedata.module
-local.textdata.attrib = empty
-textdata.role.attrib = role.attrib
-# doc:Pointer to external text data.
-textdata = element textdata { textdata.attlist, empty }
-# end of textdata.element
-textdata.attlist &=
-  attribute encoding { text }?,
-  objectdata.attrib,
-  common.attrib,
-  textdata.role.attrib,
-  local.textdata.attrib
-# end of textdata.attlist
-
-# end of textdata.module
-local.mediaobjectco.attrib = empty
-mediaobjectco.role.attrib = role.attrib
-# doc:A media object that contains callouts.
-mediaobjectco =
-  element mediaobjectco {
-    mediaobjectco.attlist,
-    objectinfo?,
-    imageobjectco,
-    (imageobjectco | textobject)*
-  }
-# end of mediaobjectco.element
-mediaobjectco.attlist &=
-  common.attrib, mediaobjectco.role.attrib, local.mediaobjectco.attrib
-# end of mediaobjectco.attlist
-
-# end of mediaobjectco.module
-local.imageobjectco.attrib = empty
-imageobjectco.role.attrib = role.attrib
-# doc:A wrapper for an image object with callouts.
-imageobjectco =
-  element imageobjectco {
-    imageobjectco.attlist, areaspec, imageobject, calloutlist*
-  }
-# end of imageobjectco.element
-imageobjectco.attlist &=
-  common.attrib, imageobjectco.role.attrib, local.imageobjectco.attrib
-# end of imageobjectco.attlist
-
-# end of imageobjectco.module
-
-# end of mediaobject.content.module
-
-# Equations ........................
-
-# This PE provides a mechanism for replacing equation content,
-
-# perhaps adding a new or different model (e.g., MathML)
-equation.content = alt?, (graphic+ | mediaobject+ | mathphrase+)
-inlineequation.content =
-  alt?, (graphic+ | inlinemediaobject+ | mathphrase+)
-local.equation.attrib = empty
-equation.role.attrib = role.attrib
-# doc:A displayed mathematical equation.
-equation =
-  element equation {
-    equation.attlist,
-    blockinfo?,
-    formalobject.title.content?,
-    (informalequation | equation.content)
-  }
-# end of equation.element
-equation.attlist &=
-  attribute floatstyle { text }?,
-  label.attrib,
-  common.attrib,
-  equation.role.attrib,
-  local.equation.attrib
-# end of equation.attlist
-
-# end of equation.module
-local.informalequation.attrib = empty
-informalequation.role.attrib = role.attrib
-# doc:A displayed mathematical equation without a title.
-informalequation =
-  element informalequation {
-    informalequation.attlist, blockinfo?, equation.content
-  }
-# end of informalequation.element
-informalequation.attlist &=
-  attribute floatstyle { text }?,
-  common.attrib,
-  informalequation.role.attrib,
-  local.informalequation.attrib
-# end of informalequation.attlist
-
-# end of informalequation.module
-local.inlineequation.attrib = empty
-inlineequation.role.attrib = role.attrib
-# doc:A mathematical equation or expression occurring inline.
-inlineequation =
-  element inlineequation {
-    inlineequation.attlist, inlineequation.content
-  }
-# end of inlineequation.element
-inlineequation.attlist &=
-  common.attrib, inlineequation.role.attrib, local.inlineequation.attrib
-# end of inlineequation.attlist
-
-# end of inlineequation.module
-local.alt.attrib = empty
-alt.role.attrib = role.attrib
-# doc:Text representation for a graphical element.
-alt = element alt { alt.attlist, text }
-# end of alt.element
-alt.attlist &= common.attrib, alt.role.attrib, local.alt.attrib
-# end of alt.attlist
-
-# end of alt.module
-local.mathphrase.attrib = empty
-mathphrase.role.attrib = role.attrib
-# doc:A mathematical phrase, an expression that can be represented with ordinary text and a small amount of markup.
-mathphrase =
-  element mathphrase {
-    mathphrase.attlist, (text | subscript | superscript | emphasis)*
-  }
-# end of mathphrase.element
-mathphrase.attlist &=
-  common.attrib, mathphrase.role.attrib, local.mathphrase.attrib
-# end of mathphrase.attlist
-
-# end of mathphrase.module
-
-# Tables ...........................
-
-# Choose a table model. CALS or OASIS XML Exchange
-
-# Do we allow the HTML table model as well?
-
-# ======================================================
-
-# xhtmltbl.mod defines HTML tables and sets parameter
-# entities so that, when the CALS table module is read,
-# we end up allowing any table to be CALS or HTML.
-# i.e. This include must come first!
-
-# ======================================================
-include "htmltblx.rnc"
-# end of allow.html.tables
-
-# Add label and role attributes to table and informaltable
-
-# Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
-# EntryTbl, and Entry (and InformalTable element).
-
-# Content model for Table.
-
-# Allow either objects or inlines; beware of REs between elements.
-
-# Reference CALS Table Model
-include "calstblx.rnc"
-# end of table.module
-
-# Note that InformalTable is dependent on some of the entity
-# declarations that customize Table.
-local.informaltable.attrib = empty
-# the following entity may have been declared by the XHTML table module
-
-# doc:A table without a title.
-informaltable =
-  element informaltable {
-    informaltable.attlist, blockinfo?, informal.tbl.table.mdl
-  }
-# end of informaltable.element
-
-# Frame, Colsep, and Rowsep must be repeated because
-# they are not in entities in the table module.
-
-# includes TabStyle, ToCentry, ShortEntry,
-# Orient, PgWide
-
-# includes Label
-
-# includes common attributes
-informaltable.attlist &=
-  attribute frame { tbl.frame.attval }?,
-  attribute colsep { yesorno.attvals }?,
-  attribute rowsep { yesorno.attvals }?,
-  common.table.attribs,
-  tbl.table.att,
-  local.informaltable.attrib
-# end of informaltable.attlist
-
-# end of informaltable.module
-local.caption.attrib = empty
-caption.role.attrib = role.attrib
-# doc:A caption.
-caption = element caption { caption.attlist, (text | textobject.mix)* }
-# end of caption.element
-
-# attrs comes from HTML tables ...
-
-# common.attrib, but without ID because ID is in attrs
-caption.attlist.content =
-  caption.role.attrib,
-  attrs,
-  attribute align { "top" | "bottom" | "left" | "right" }?,
-  local.caption.attrib
-caption.attlist &= caption.attlist.content
-# end of caption.attlist
-
-# end of caption.module
-
-# ......................................................................
-
-# Synopses .............................................................
-
-# Synopsis .........................
-local.synopsis.attrib = empty
-synopsis.role.attrib = role.attrib
-# doc:A general-purpose element for representing the syntax of commands or functions.
-synopsis =
-  element synopsis {
-    synopsis.attlist,
-    (para.char.mix
-     | graphic
-     | mediaobject
-     | co
-     | coref
-     | textobject
-     | lineannotation)*
-  }
-# end of synopsis.element
-synopsis.attlist &=
-  label.attrib,
-  linespecific.attrib,
-  common.attrib,
-  synopsis.role.attrib,
-  local.synopsis.attrib
-# end of synopsis.attlist
-
-# LineAnnotation (defined in the Inlines section, below)
-
-# end of synopsis.module
-
-# CmdSynopsis ......................
-local.cmdsynopsis.attrib = empty
-cmdsynopsis.role.attrib = role.attrib
-# doc:A syntax summary for a software command.
-cmdsynopsis =
-  element cmdsynopsis {
-    cmdsynopsis.attlist, (command | arg | group | sbr)+, synopfragment*
-  }
-# end of cmdsynopsis.element
-
-# Sepchar: Character that should separate command and all
-# top-level arguments; alternate value might be e.g., &Delta;
-cmdsynopsis.attlist &=
-  label.attrib,
-  [ a:defaultValue = " " ] attribute sepchar { text }?,
-  attribute cmdlength { text }?,
-  common.attrib,
-  cmdsynopsis.role.attrib,
-  local.cmdsynopsis.attrib
-# end of cmdsynopsis.attlist
-
-# end of cmdsynopsis.module
-local.arg.attrib = empty
-arg.role.attrib = role.attrib
-# doc:An argument in a CmdSynopsis.
-arg =
-  element arg {
-    arg.attlist,
-    (text
-     | arg
-     | group
-     | option
-     | synopfragmentref
-     | replaceable
-     | sbr)*
-  }
-# end of arg.element
-
-# Choice: Whether Arg must be supplied: Opt (optional to
-# supply, e.g. [arg]; the default), Req (required to supply,
-# e.g. {arg}), or Plain (required to supply, e.g. arg)
-
-# Rep: whether Arg is repeatable: Norepeat (e.g. arg without
-# ellipsis; the default), or Repeat (e.g. arg...)
-arg.attlist &=
-  [ a:defaultValue = "opt" ]
-  attribute choice { "opt" | "req" | "plain" }?,
-  [ a:defaultValue = "norepeat" ]
-  attribute rep { "norepeat" | "repeat" }?,
-  common.attrib,
-  arg.role.attrib,
-  local.arg.attrib
-# end of arg.attlist
-
-# end of arg.module
-local.group.attrib = empty
-group.role.attrib = role.attrib
-# doc:A group of elements in a CmdSynopsis.
-group =
-  element group {
-    group.attlist,
-    (arg | group | option | synopfragmentref | replaceable | sbr)+
-  }
-# end of group.element
-
-# Choice: Whether Group must be supplied: Opt (optional to
-# supply, e.g.  [g1|g2|g3]; the default), Req (required to
-# supply, e.g.  {g1|g2|g3}), Plain (required to supply,
-# e.g.  g1|g2|g3), OptMult (can supply zero or more, e.g.
-# [[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.
-# {{g1|g2|g3}})
-
-# Rep: whether Group is repeatable: Norepeat (e.g. group
-# without ellipsis; the default), or Repeat (e.g. group...)
-group.attlist &=
-  [ a:defaultValue = "opt" ]
-  attribute choice { "opt" | "req" | "plain" }?,
-  [ a:defaultValue = "norepeat" ]
-  attribute rep { "norepeat" | "repeat" }?,
-  common.attrib,
-  group.role.attrib,
-  local.group.attrib
-# end of group.attlist
-
-# end of group.module
-local.sbr.attrib = empty
-# Synopsis break
-sbr.role.attrib = role.attrib
-# doc:An explicit line break in a command synopsis.
-sbr = element sbr { sbr.attlist, empty }
-# end of sbr.element
-sbr.attlist &= common.attrib, sbr.role.attrib, local.sbr.attrib
-# end of sbr.attlist
-
-# end of sbr.module
-local.synopfragmentref.attrib = empty
-synopfragmentref.role.attrib = role.attrib
-# doc:A reference to a fragment of a command synopsis.
-synopfragmentref =
-  element synopfragmentref { synopfragmentref.attlist, text }
-# end of synopfragmentref.element
-
-# to SynopFragment of complex synopsis
-# material for separate referencing
-synopfragmentref.attlist &=
-  linkendreq.attrib,
-  common.attrib,
-  synopfragmentref.role.attrib,
-  local.synopfragmentref.attrib
-# end of synopfragmentref.attlist
-
-# end of synopfragmentref.module
-local.synopfragment.attrib = empty
-synopfragment.role.attrib = role.attrib
-# doc:A portion of a CmdSynopsis broken out from the main body of the synopsis.
-synopfragment =
-  element synopfragment { synopfragment.attlist, (arg | group)+ }
-# end of synopfragment.element
-synopfragment.attlist &=
-  idreq.common.attrib,
-  synopfragment.role.attrib,
-  local.synopfragment.attrib
-# end of synopfragment.attlist
-
-# end of synopfragment.module
-
-# Command (defined in the Inlines section, below)
-
-# Option (defined in the Inlines section, below)
-
-# Replaceable (defined in the Inlines section, below)
-
-# end of cmdsynopsis.content.module
-
-# FuncSynopsis .....................
-local.funcsynopsis.attrib = empty
-funcsynopsis.role.attrib = role.attrib
-# doc:The syntax summary for a function definition.
-funcsynopsis =
-  element funcsynopsis {
-    funcsynopsis.attlist, (funcsynopsisinfo | funcprototype)+
-  }
-# end of funcsynopsis.element
-funcsynopsis.attlist &=
-  label.attrib,
-  common.attrib,
-  funcsynopsis.role.attrib,
-  local.funcsynopsis.attrib
-# end of funcsynopsis.attlist
-
-# end of funcsynopsis.module
-local.funcsynopsisinfo.attrib = empty
-funcsynopsisinfo.role.attrib = role.attrib
-# doc:Information supplementing the FuncDefs of a FuncSynopsis.
-funcsynopsisinfo =
-  element funcsynopsisinfo {
-    funcsynopsisinfo.attlist,
-    (cptr.char.mix | textobject | lineannotation)*
-  }
-# end of funcsynopsisinfo.element
-funcsynopsisinfo.attlist &=
-  linespecific.attrib,
-  common.attrib,
-  funcsynopsisinfo.role.attrib,
-  local.funcsynopsisinfo.attrib
-# end of funcsynopsisinfo.attlist
-
-# end of funcsynopsisinfo.module
-local.funcprototype.attrib = empty
-funcprototype.role.attrib = role.attrib
-# doc:The prototype of a function.
-funcprototype =
-  element funcprototype {
-    funcprototype.attlist,
-    modifier*,
-    funcdef,
-    (void | varargs | (paramdef+, varargs?)),
-    modifier*
-  }
-# end of funcprototype.element
-funcprototype.attlist &=
-  common.attrib, funcprototype.role.attrib, local.funcprototype.attrib
-# end of funcprototype.attlist
-
-# end of funcprototype.module
-local.funcdef.attrib = empty
-funcdef.role.attrib = role.attrib
-# doc:A function (subroutine) name and its return type.
-funcdef =
-  element funcdef {
-    funcdef.attlist, (text | type | replaceable | function)*
-  }
-# end of funcdef.element
-funcdef.attlist &=
-  common.attrib, funcdef.role.attrib, local.funcdef.attrib
-# end of funcdef.attlist
-
-# end of funcdef.module
-local.void.attrib = empty
-void.role.attrib = role.attrib
-# doc:An empty element in a function synopsis indicating that the function in question takes no arguments.
-void = element void { void.attlist, empty }
-# end of void.element
-void.attlist &= common.attrib, void.role.attrib, local.void.attrib
-# end of void.attlist
-
-# end of void.module
-local.varargs.attrib = empty
-varargs.role.attrib = role.attrib
-# doc:An empty element in a function synopsis indicating a variable number of arguments.
-varargs = element varargs { varargs.attlist, empty }
-# end of varargs.element
-varargs.attlist &=
-  common.attrib, varargs.role.attrib, local.varargs.attrib
-# end of varargs.attlist
-
-# end of varargs.module
-
-# Processing assumes that only one Parameter will appear in a
-# ParamDef, and that FuncParams will be used at most once, for
-# providing information on the "inner parameters" for parameters that
-# are pointers to functions.
-local.paramdef.attrib = empty
-paramdef.role.attrib = role.attrib
-# doc:Information about a function parameter in a programming language.
-paramdef =
-  element paramdef {
-    paramdef.attlist,
-    (text | initializer | type | replaceable | parameter | funcparams)*
-  }
-# end of paramdef.element
-paramdef.attlist &=
-  attribute choice { "opt" | "req" }?,
-  common.attrib,
-  paramdef.role.attrib,
-  local.paramdef.attrib
-# end of paramdef.attlist
-
-# end of paramdef.module
-local.funcparams.attrib = empty
-funcparams.role.attrib = role.attrib
-# doc:Parameters for a function referenced through a function pointer in a synopsis.
-funcparams = element funcparams { funcparams.attlist, cptr.char.mix* }
-# end of funcparams.element
-funcparams.attlist &=
-  common.attrib, funcparams.role.attrib, local.funcparams.attrib
-# end of funcparams.attlist
-
-# end of funcparams.module
-
-# LineAnnotation (defined in the Inlines section, below)
-
-# Replaceable (defined in the Inlines section, below)
-
-# Function (defined in the Inlines section, below)
-
-# Parameter (defined in the Inlines section, below)
-
-# end of funcsynopsis.content.module
-
-# ClassSynopsis .....................
-local.classsynopsis.attrib = empty
-classsynopsis.role.attrib = role.attrib
-# doc:The syntax summary for a class definition.
-classsynopsis =
-  element classsynopsis {
-    classsynopsis.attlist,
-    (ooclass | oointerface | ooexception)+,
-    (classsynopsisinfo | fieldsynopsis | method.synop.class)*
-  }
-# end of classsynopsis.element
-classsynopsis.attlist &=
-  attribute language { text }?,
-  [ a:defaultValue = "class" ]
-  attribute class { "class" | "interface" }?,
-  common.attrib,
-  classsynopsis.role.attrib,
-  local.classsynopsis.attrib
-# end of classsynopsis.attlist
-
-# end of classsynopsis.module
-local.classsynopsisinfo.attrib = empty
-classsynopsisinfo.role.attrib = role.attrib
-# doc:Information supplementing the contents of a ClassSynopsis.
-classsynopsisinfo =
-  element classsynopsisinfo {
-    classsynopsisinfo.attlist,
-    (cptr.char.mix | textobject | lineannotation)*
-  }
-# end of classsynopsisinfo.element
-classsynopsisinfo.attlist &=
-  linespecific.attrib,
-  common.attrib,
-  classsynopsisinfo.role.attrib,
-  local.classsynopsisinfo.attrib
-# end of classsynopsisinfo.attlist
-
-# end of classsynopsisinfo.module
-local.ooclass.attrib = empty
-ooclass.role.attrib = role.attrib
-# doc:A class in an object-oriented programming language.
-ooclass =
-  element ooclass { ooclass.attlist, (modifier | package)*, classname }
-# end of ooclass.element
-ooclass.attlist &=
-  common.attrib, ooclass.role.attrib, local.ooclass.attrib
-# end of ooclass.attlist
-
-# end of ooclass.module
-local.oointerface.attrib = empty
-oointerface.role.attrib = role.attrib
-# doc:An interface in an object-oriented programming language.
-oointerface =
-  element oointerface {
-    oointerface.attlist, (modifier | package)*, interfacename
-  }
-# end of oointerface.element
-oointerface.attlist &=
-  common.attrib, oointerface.role.attrib, local.oointerface.attrib
-# end of oointerface.attlist
-
-# end of oointerface.module
-local.ooexception.attrib = empty
-ooexception.role.attrib = role.attrib
-# doc:An exception in an object-oriented programming language.
-ooexception =
-  element ooexception {
-    ooexception.attlist, (modifier | package)*, exceptionname
-  }
-# end of ooexception.element
-ooexception.attlist &=
-  common.attrib, ooexception.role.attrib, local.ooexception.attrib
-# end of ooexception.attlist
-
-# end of ooexception.module
-local.modifier.attrib = empty
-modifier.role.attrib = role.attrib
-# doc:Modifiers in a synopsis.
-modifier = element modifier { modifier.attlist, smallcptr.char.mix* }
-# end of modifier.element
-modifier.attlist &=
-  common.attrib, modifier.role.attrib, local.modifier.attrib
-# end of modifier.attlist
-
-# end of modifier.module
-local.interfacename.attrib = empty
-interfacename.role.attrib = role.attrib
-# doc:The name of an interface.
-interfacename =
-  element interfacename { interfacename.attlist, cptr.char.mix* }
-# end of interfacename.element
-interfacename.attlist &=
-  common.attrib, interfacename.role.attrib, local.interfacename.attrib
-# end of interfacename.attlist
-
-# end of interfacename.module
-local.exceptionname.attrib = empty
-exceptionname.role.attrib = role.attrib
-# doc:The name of an exception.
-exceptionname =
-  element exceptionname { exceptionname.attlist, smallcptr.char.mix* }
-# end of exceptionname.element
-exceptionname.attlist &=
-  common.attrib, exceptionname.role.attrib, local.exceptionname.attrib
-# end of exceptionname.attlist
-
-# end of exceptionname.module
-local.fieldsynopsis.attrib = empty
-fieldsynopsis.role.attrib = role.attrib
-# doc:The name of a field in a class definition.
-fieldsynopsis =
-  element fieldsynopsis {
-    fieldsynopsis.attlist, modifier*, type?, varname, initializer?
-  }
-# end of fieldsynopsis.element
-fieldsynopsis.attlist &=
-  attribute language { text }?,
-  common.attrib,
-  fieldsynopsis.role.attrib,
-  local.fieldsynopsis.attrib
-# end of fieldsynopsis.attlist
-
-# end of fieldsynopsis.module
-local.initializer.attrib = empty
-initializer.role.attrib = role.attrib
-# doc:The initializer for a FieldSynopsis.
-initializer =
-  element initializer { initializer.attlist, smallcptr.char.mix* }
-# end of initializer.element
-initializer.attlist &=
-  common.attrib, initializer.role.attrib, local.initializer.attrib
-# end of initializer.attlist
-
-# end of initializer.module
-local.constructorsynopsis.attrib = empty
-constructorsynopsis.role.attrib = role.attrib
-# doc:A syntax summary for a constructor.
-constructorsynopsis =
-  element constructorsynopsis {
-    constructorsynopsis.attlist,
-    modifier*,
-    methodname?,
-    (methodparam+ | void?),
-    exceptionname*
-  }
-# end of constructorsynopsis.element
-constructorsynopsis.attlist &=
-  attribute language { text }?,
-  common.attrib,
-  constructorsynopsis.role.attrib,
-  local.constructorsynopsis.attrib
-# end of constructorsynopsis.attlist
-
-# end of constructorsynopsis.module
-local.destructorsynopsis.attrib = empty
-destructorsynopsis.role.attrib = role.attrib
-# doc:A syntax summary for a destructor.
-destructorsynopsis =
-  element destructorsynopsis {
-    destructorsynopsis.attlist,
-    modifier*,
-    methodname?,
-    (methodparam+ | void?),
-    exceptionname*
-  }
-# end of destructorsynopsis.element
-destructorsynopsis.attlist &=
-  attribute language { text }?,
-  common.attrib,
-  destructorsynopsis.role.attrib,
-  local.destructorsynopsis.attrib
-# end of destructorsynopsis.attlist
-
-# end of destructorsynopsis.module
-local.methodsynopsis.attrib = empty
-methodsynopsis.role.attrib = role.attrib
-# doc:A syntax summary for a method.
-methodsynopsis =
-  element methodsynopsis {
-    methodsynopsis.attlist,
-    modifier*,
-    (type | void)?,
-    methodname,
-    (methodparam+ | void?),
-    exceptionname*,
-    modifier*
-  }
-# end of methodsynopsis.element
-methodsynopsis.attlist &=
-  attribute language { text }?,
-  common.attrib,
-  methodsynopsis.role.attrib,
-  local.methodsynopsis.attrib
-# end of methodsynopsis.attlist
-
-# end of methodsynopsis.module
-local.methodname.attrib = empty
-methodname.role.attrib = role.attrib
-# doc:The name of a method.
-methodname =
-  element methodname { methodname.attlist, smallcptr.char.mix* }
-# end of methodname.element
-methodname.attlist &=
-  common.attrib, methodname.role.attrib, local.methodname.attrib
-# end of methodname.attlist
-
-# end of methodname.module
-local.methodparam.attrib = empty
-methodparam.role.attrib = role.attrib
-# doc:Parameters to a method.
-methodparam =
-  element methodparam {
-    methodparam.attlist,
-    modifier*,
-    type?,
-    ((parameter, initializer?) | funcparams),
-    modifier*
-  }
-# end of methodparam.element
-methodparam.attlist &=
-  [ a:defaultValue = "req" ]
-  attribute choice { "opt" | "req" | "plain" }?,
-  [ a:defaultValue = "norepeat" ]
-  attribute rep { "norepeat" | "repeat" }?,
-  common.attrib,
-  methodparam.role.attrib,
-  local.methodparam.attrib
-# end of methodparam.attlist
-
-# end of methodparam.module
-
-# end of classsynopsis.content.module
-
-# ......................................................................
-
-# Document information entities and elements ...........................
-
-# The document information elements include some elements that are
-# currently used only in the document hierarchy module. They are
-# defined here so that they will be available for use in customized
-# document hierarchies.
-
-# ..................................
-
-# Ackno ............................
-local.ackno.attrib = empty
-ackno.role.attrib = role.attrib
-# doc:Acknowledgements in an Article.
-ackno = element ackno { ackno.attlist, docinfo.char.mix* }
-# end of ackno.element
-ackno.attlist &= common.attrib, ackno.role.attrib, local.ackno.attrib
-# end of ackno.attlist
-
-# end of ackno.module
-
-# Address ..........................
-local.address.attrib = empty
-address.role.attrib = role.attrib
-# doc:A real-world address, generally a postal address.
-address =
-  element address {
-    address.attlist,
-    (text
-     | personname
-     | person.ident.mix
-     | street
-     | pob
-     | postcode
-     | city
-     | state
-     | country
-     | phone
-     | fax
-     | email
-     | otheraddr)*
-  }
-# end of address.element
-address.attlist &=
-  linespecific.attrib,
-  common.attrib,
-  address.role.attrib,
-  local.address.attrib
-# end of address.attlist
-
-# end of address.module
-local.street.attrib = empty
-street.role.attrib = role.attrib
-# doc:A street address in an address.
-street = element street { street.attlist, docinfo.char.mix* }
-# end of street.element
-street.attlist &= common.attrib, street.role.attrib, local.street.attrib
-# end of street.attlist
-
-# end of street.module
-local.pob.attrib = empty
-pob.role.attrib = role.attrib
-# doc:A post office box in an address.
-pob = element pob { pob.attlist, docinfo.char.mix* }
-# end of pob.element
-pob.attlist &= common.attrib, pob.role.attrib, local.pob.attrib
-# end of pob.attlist
-
-# end of pob.module
-local.postcode.attrib = empty
-postcode.role.attrib = role.attrib
-# doc:A postal code in an address.
-postcode = element postcode { postcode.attlist, docinfo.char.mix* }
-# end of postcode.element
-postcode.attlist &=
-  common.attrib, postcode.role.attrib, local.postcode.attrib
-# end of postcode.attlist
-
-# end of postcode.module
-local.city.attrib = empty
-city.role.attrib = role.attrib
-# doc:The name of a city in an address.
-city = element city { city.attlist, docinfo.char.mix* }
-# end of city.element
-city.attlist &= common.attrib, city.role.attrib, local.city.attrib
-# end of city.attlist
-
-# end of city.module
-local.state.attrib = empty
-state.role.attrib = role.attrib
-# doc:A state or province in an address.
-state = element state { state.attlist, docinfo.char.mix* }
-# end of state.element
-state.attlist &= common.attrib, state.role.attrib, local.state.attrib
-# end of state.attlist
-
-# end of state.module
-local.country.attrib = empty
-country.role.attrib = role.attrib
-# doc:The name of a country.
-country = element country { country.attlist, docinfo.char.mix* }
-# end of country.element
-country.attlist &=
-  common.attrib, country.role.attrib, local.country.attrib
-# end of country.attlist
-
-# end of country.module
-local.phone.attrib = empty
-phone.role.attrib = role.attrib
-# doc:A telephone number.
-phone = element phone { phone.attlist, docinfo.char.mix* }
-# end of phone.element
-phone.attlist &= common.attrib, phone.role.attrib, local.phone.attrib
-# end of phone.attlist
-
-# end of phone.module
-local.fax.attrib = empty
-fax.role.attrib = role.attrib
-# doc:A fax number.
-fax = element fax { fax.attlist, docinfo.char.mix* }
-# end of fax.element
-fax.attlist &= common.attrib, fax.role.attrib, local.fax.attrib
-# end of fax.attlist
-
-# end of fax.module
-
-# Email (defined in the Inlines section, below)
-local.otheraddr.attrib = empty
-otheraddr.role.attrib = role.attrib
-# doc:Uncategorized information in address.
-otheraddr = element otheraddr { otheraddr.attlist, docinfo.char.mix* }
-# end of otheraddr.element
-otheraddr.attlist &=
-  common.attrib, otheraddr.role.attrib, local.otheraddr.attrib
-# end of otheraddr.attlist
-
-# end of otheraddr.module
-
-# end of address.content.module
-
-# Affiliation ......................
-local.affiliation.attrib = empty
-affiliation.role.attrib = role.attrib
-# doc:The institutional affiliation of an individual.
-affiliation =
-  element affiliation {
-    affiliation.attlist,
-    shortaffil?,
-    jobtitle*,
-    orgname?,
-    orgdiv*,
-    address*
-  }
-# end of affiliation.element
-affiliation.attlist &=
-  common.attrib, affiliation.role.attrib, local.affiliation.attrib
-# end of affiliation.attlist
-
-# end of affiliation.module
-local.shortaffil.attrib = empty
-shortaffil.role.attrib = role.attrib
-# doc:A brief description of an affiliation.
-shortaffil =
-  element shortaffil { shortaffil.attlist, docinfo.char.mix* }
-# end of shortaffil.element
-shortaffil.attlist &=
-  common.attrib, shortaffil.role.attrib, local.shortaffil.attrib
-# end of shortaffil.attlist
-
-# end of shortaffil.module
-local.jobtitle.attrib = empty
-jobtitle.role.attrib = role.attrib
-# doc:The title of an individual in an organization.
-jobtitle = element jobtitle { jobtitle.attlist, docinfo.char.mix* }
-# end of jobtitle.element
-jobtitle.attlist &=
-  common.attrib, jobtitle.role.attrib, local.jobtitle.attrib
-# end of jobtitle.attlist
-
-# end of jobtitle.module
-
-# OrgName (defined elsewhere in this section)
-local.orgdiv.attrib = empty
-orgdiv.role.attrib = role.attrib
-# doc:A division of an organization.
-orgdiv = element orgdiv { orgdiv.attlist, docinfo.char.mix* }
-# end of orgdiv.element
-orgdiv.attlist &= common.attrib, orgdiv.role.attrib, local.orgdiv.attrib
-# end of orgdiv.attlist
-
-# end of orgdiv.module
-
-# Address (defined elsewhere in this section)
-
-# end of affiliation.content.module
-
-# ArtPageNums ......................
-local.artpagenums.attrib = empty
-artpagenums.role.attrib = role.attrib
-# doc:The page numbers of an article as published.
-artpagenums =
-  element artpagenums { artpagenums.attlist, docinfo.char.mix* }
-# end of artpagenums.element
-artpagenums.attlist &=
-  common.attrib, artpagenums.role.attrib, local.artpagenums.attrib
-# end of artpagenums.attlist
-
-# end of artpagenums.module
-
-# PersonName
-local.personname.attrib = empty
-personname.role.attrib = role.attrib
-# doc:The personal name of an individual.
-personname =
-  element personname {
-    personname.attlist,
-    (honorific | firstname | surname | lineage | othername)+
-  }
-# end of personname.element
-personname.attlist &=
-  common.attrib, personname.role.attrib, local.personname.attrib
-# end of personname.attlist
-
-# end of personname.module
-
-# Author ...........................
-local.author.attrib = empty
-author.role.attrib = role.attrib
-# doc:The name of an individual author.
-author =
-  element author {
-    author.attlist,
-    (personname | person.ident.mix+),
-    (personblurb | email | address)*
-  }
-# end of author.element
-author.attlist &= common.attrib, author.role.attrib, local.author.attrib
-# end of author.attlist
-
-# (see "Personal identity elements" for %person.ident.mix;)
-
-# end of author.module
-
-# AuthorGroup ......................
-local.authorgroup.attrib = empty
-authorgroup.role.attrib = role.attrib
-# doc:Wrapper for author information when a document has multiple authors or collabarators.
-authorgroup =
-  element authorgroup {
-    authorgroup.attlist,
-    (author | editor | collab | corpauthor | corpcredit | othercredit)+
-  }
-# end of authorgroup.element
-authorgroup.attlist &=
-  common.attrib, authorgroup.role.attrib, local.authorgroup.attrib
-# end of authorgroup.attlist
-
-# end of authorgroup.module
-
-# Author (defined elsewhere in this section)
-
-# Editor (defined elsewhere in this section)
-local.collab.attrib = empty
-collab.role.attrib = role.attrib
-# doc:Identifies a collaborator.
-collab = element collab { collab.attlist, collabname, affiliation* }
-# end of collab.element
-collab.attlist &= common.attrib, collab.role.attrib, local.collab.attrib
-# end of collab.attlist
-
-# end of collab.module
-local.collabname.attrib = empty
-collabname.role.attrib = role.attrib
-# doc:The name of a collaborator.
-collabname =
-  element collabname { collabname.attlist, docinfo.char.mix* }
-# end of collabname.element
-collabname.attlist &=
-  common.attrib, collabname.role.attrib, local.collabname.attrib
-# end of collabname.attlist
-
-# end of collabname.module
-
-# Affiliation (defined elsewhere in this section)
-
-# end of collab.content.module
-
-# CorpAuthor (defined elsewhere in this section)
-
-# OtherCredit (defined elsewhere in this section)
-
-# end of authorgroup.content.module
-
-# AuthorInitials ...................
-local.authorinitials.attrib = empty
-authorinitials.role.attrib = role.attrib
-# doc:The initials or other short identifier for an author.
-authorinitials =
-  element authorinitials { authorinitials.attlist, docinfo.char.mix* }
-# end of authorinitials.element
-authorinitials.attlist &=
-  common.attrib, authorinitials.role.attrib, local.authorinitials.attrib
-# end of authorinitials.attlist
-
-# end of authorinitials.module
-
-# ConfGroup ........................
-local.confgroup.attrib = empty
-confgroup.role.attrib = role.attrib
-# doc:A wrapper for document meta-information about a conference.
-confgroup =
-  element confgroup {
-    confgroup.attlist,
-    (confdates | conftitle | confnum | address | confsponsor)*
-  }
-# end of confgroup.element
-confgroup.attlist &=
-  common.attrib, confgroup.role.attrib, local.confgroup.attrib
-# end of confgroup.attlist
-
-# end of confgroup.module
-local.confdates.attrib = empty
-confdates.role.attrib = role.attrib
-# doc:The dates of a conference for which a document was written.
-confdates = element confdates { confdates.attlist, docinfo.char.mix* }
-# end of confdates.element
-confdates.attlist &=
-  common.attrib, confdates.role.attrib, local.confdates.attrib
-# end of confdates.attlist
-
-# end of confdates.module
-local.conftitle.attrib = empty
-conftitle.role.attrib = role.attrib
-# doc:The title of a conference for which a document was written.
-conftitle = element conftitle { conftitle.attlist, docinfo.char.mix* }
-# end of conftitle.element
-conftitle.attlist &=
-  common.attrib, conftitle.role.attrib, local.conftitle.attrib
-# end of conftitle.attlist
-
-# end of conftitle.module
-local.confnum.attrib = empty
-confnum.role.attrib = role.attrib
-# doc:An identifier, frequently numerical, associated with a conference for which a document was written.
-confnum = element confnum { confnum.attlist, docinfo.char.mix* }
-# end of confnum.element
-confnum.attlist &=
-  common.attrib, confnum.role.attrib, local.confnum.attrib
-# end of confnum.attlist
-
-# end of confnum.module
-
-# Address (defined elsewhere in this section)
-local.confsponsor.attrib = empty
-confsponsor.role.attrib = role.attrib
-# doc:The sponsor of a conference for which a document was written.
-confsponsor =
-  element confsponsor { confsponsor.attlist, docinfo.char.mix* }
-# end of confsponsor.element
-confsponsor.attlist &=
-  common.attrib, confsponsor.role.attrib, local.confsponsor.attrib
-# end of confsponsor.attlist
-
-# end of confsponsor.module
-
-# end of confgroup.content.module
-
-# ContractNum ......................
-local.contractnum.attrib = empty
-contractnum.role.attrib = role.attrib
-# doc:The contract number of a document.
-contractnum =
-  element contractnum { contractnum.attlist, docinfo.char.mix* }
-# end of contractnum.element
-contractnum.attlist &=
-  common.attrib, contractnum.role.attrib, local.contractnum.attrib
-# end of contractnum.attlist
-
-# end of contractnum.module
-
-# ContractSponsor ..................
-local.contractsponsor.attrib = empty
-contractsponsor.role.attrib = role.attrib
-# doc:The sponsor of a contract.
-contractsponsor =
-  element contractsponsor { contractsponsor.attlist, docinfo.char.mix* }
-# end of contractsponsor.element
-contractsponsor.attlist &=
-  common.attrib,
-  contractsponsor.role.attrib,
-  local.contractsponsor.attrib
-# end of contractsponsor.attlist
-
-# end of contractsponsor.module
-
-# Copyright ........................
-local.copyright.attrib = empty
-copyright.role.attrib = role.attrib
-# doc:Copyright information about a document.
-copyright = element copyright { copyright.attlist, year+, holder* }
-# end of copyright.element
-copyright.attlist &=
-  common.attrib, copyright.role.attrib, local.copyright.attrib
-# end of copyright.attlist
-
-# end of copyright.module
-local.year.attrib = empty
-year.role.attrib = role.attrib
-# doc:The year of publication of a document.
-year = element year { year.attlist, docinfo.char.mix* }
-# end of year.element
-year.attlist &= common.attrib, year.role.attrib, local.year.attrib
-# end of year.attlist
-
-# end of year.module
-local.holder.attrib = empty
-holder.role.attrib = role.attrib
-# doc:The name of the individual or organization that holds a copyright.
-holder = element holder { holder.attlist, docinfo.char.mix* }
-# end of holder.element
-holder.attlist &= common.attrib, holder.role.attrib, local.holder.attrib
-# end of holder.attlist
-
-# end of holder.module
-
-# end of copyright.content.module
-
-# CorpAuthor .......................
-local.corpauthor.attrib = empty
-corpauthor.role.attrib = role.attrib
-# doc:A corporate author, as opposed to an individual.
-corpauthor =
-  element corpauthor { corpauthor.attlist, docinfo.char.mix* }
-# end of corpauthor.element
-corpauthor.attlist &=
-  common.attrib, corpauthor.role.attrib, local.corpauthor.attrib
-# end of corpauthor.attlist
-
-# end of corpauthor.module
-
-# CorpCredit ......................
-local.corpcredit.attrib = empty
-corpcredit.role.attrib = role.attrib
-# doc:A corporation or organization credited in a document.
-corpcredit =
-  element corpcredit { corpcredit.attlist, docinfo.char.mix* }
-# end of corpcredit.element
-corpcredit.attlist &=
-  attribute class {
-    "graphicdesigner"
-    | "productioneditor"
-    | "copyeditor"
-    | "technicaleditor"
-    | "translator"
-    | "other"
-  }?,
-  common.attrib,
-  corpcredit.role.attrib,
-  local.corpcredit.attrib
-# end of corpcredit.attlist
-
-# end of corpcredit.module
-
-# CorpName .........................
-local.corpname.attrib = empty
-# doc:The name of a corporation.
-corpname = element corpname { corpname.attlist, docinfo.char.mix* }
-# end of corpname.element
-corpname.role.attrib = role.attrib
-corpname.attlist &=
-  common.attrib, corpname.role.attrib, local.corpname.attrib
-# end of corpname.attlist
-
-# end of corpname.module
-
-# Date .............................
-local.date.attrib = empty
-date.role.attrib = role.attrib
-# doc:The date of publication or revision of a document.
-date = element date { date.attlist, docinfo.char.mix* }
-# end of date.element
-date.attlist &= common.attrib, date.role.attrib, local.date.attrib
-# end of date.attlist
-
-# end of date.module
-
-# Edition ..........................
-local.edition.attrib = empty
-edition.role.attrib = role.attrib
-# doc:The name or number of an edition of a document.
-edition = element edition { edition.attlist, docinfo.char.mix* }
-# end of edition.element
-edition.attlist &=
-  common.attrib, edition.role.attrib, local.edition.attrib
-# end of edition.attlist
-
-# end of edition.module
-
-# Editor ...........................
-local.editor.attrib = empty
-editor.role.attrib = role.attrib
-# doc:The name of the editor of a document.
-editor =
-  element editor {
-    editor.attlist,
-    (personname | person.ident.mix+),
-    (personblurb | email | address)*
-  }
-# end of editor.element
-editor.attlist &= common.attrib, editor.role.attrib, local.editor.attrib
-# end of editor.attlist
-
-# (see "Personal identity elements" for %person.ident.mix;)
-
-# end of editor.module
-
-# ISBN .............................
-local.isbn.attrib = empty
-isbn.role.attrib = role.attrib
-# doc:The International Standard Book Number of a document.
-isbn = element isbn { isbn.attlist, docinfo.char.mix* }
-# end of isbn.element
-isbn.attlist &= common.attrib, isbn.role.attrib, local.isbn.attrib
-# end of isbn.attlist
-
-# end of isbn.module
-
-# ISSN .............................
-local.issn.attrib = empty
-issn.role.attrib = role.attrib
-# doc:The International Standard Serial Number of a periodical.
-issn = element issn { issn.attlist, docinfo.char.mix* }
-# end of issn.element
-issn.attlist &= common.attrib, issn.role.attrib, local.issn.attrib
-# end of issn.attlist
-
-# end of issn.module
-
-# BiblioId .................
-biblio.class.attrib =
-  attribute class {
-    "uri"
-    | "doi"
-    | "isbn"
-    | "isrn"
-    | "issn"
-    | "libraryofcongress"
-    | "pubnumber"
-    | "other"
-  }?,
-  attribute otherclass { text }?
-local.biblioid.attrib = empty
-biblioid.role.attrib = role.attrib
-# doc:An identifier for a document.
-biblioid = element biblioid { biblioid.attlist, docinfo.char.mix* }
-# end of biblioid.element
-biblioid.attlist &=
-  biblio.class.attrib,
-  common.attrib,
-  biblioid.role.attrib,
-  local.biblioid.attrib
-# end of biblioid.attlist
-
-# end of biblioid.module
-
-# CiteBiblioId .................
-local.citebiblioid.attrib = empty
-citebiblioid.role.attrib = role.attrib
-# doc:A citation of a bibliographic identifier.
-citebiblioid =
-  element citebiblioid { citebiblioid.attlist, docinfo.char.mix* }
-# end of citebiblioid.element
-citebiblioid.attlist &=
-  biblio.class.attrib,
-  common.attrib,
-  citebiblioid.role.attrib,
-  local.citebiblioid.attrib
-# end of citebiblioid.attlist
-
-# end of citebiblioid.module
-
-# BiblioSource .................
-local.bibliosource.attrib = empty
-bibliosource.role.attrib = role.attrib
-# doc:The source of a document.
-bibliosource =
-  element bibliosource { bibliosource.attlist, docinfo.char.mix* }
-# end of bibliosource.element
-bibliosource.attlist &=
-  biblio.class.attrib,
-  common.attrib,
-  bibliosource.role.attrib,
-  local.bibliosource.attrib
-# end of bibliosource.attlist
-
-# end of bibliosource.module
-
-# BiblioRelation .................
-local.bibliorelation.attrib = empty
-local.bibliorelation.types = notAllowed
-bibliorelation.type.attrib =
-  attribute type {
-    "isversionof"
-    | "hasversion"
-    | "isreplacedby"
-    | "replaces"
-    | "isrequiredby"
-    | "requires"
-    | "ispartof"
-    | "haspart"
-    | "isreferencedby"
-    | "references"
-    | "isformatof"
-    | "hasformat"
-    | "othertype"
-    | local.bibliorelation.types
-  }?,
-  attribute othertype { text }?
-bibliorelation.role.attrib = role.attrib
-# doc:The relationship of a document to another.
-bibliorelation =
-  element bibliorelation { bibliorelation.attlist, docinfo.char.mix* }
-# end of bibliorelation.element
-bibliorelation.attlist &=
-  biblio.class.attrib,
-  bibliorelation.type.attrib,
-  common.attrib,
-  bibliorelation.role.attrib,
-  local.bibliorelation.attrib
-# end of bibliorelation.attlist
-
-# end of bibliorelation.module
-
-# BiblioCoverage .................
-local.bibliocoverage.attrib = empty
-bibliocoverage.role.attrib = role.attrib
-# doc:The spatial or temporal coverage of a document.
-bibliocoverage =
-  element bibliocoverage { bibliocoverage.attlist, docinfo.char.mix* }
-# end of bibliocoverage.element
-bibliocoverage.attlist &=
-  attribute spatial {
-    "dcmipoint" | "iso3166" | "dcmibox" | "tgn" | "otherspatial"
-  }?,
-  attribute otherspatial { text }?,
-  attribute temporal { "dcmiperiod" | "w3c-dtf" | "othertemporal" }?,
-  attribute othertemporal { text }?,
-  common.attrib,
-  bibliocoverage.role.attrib,
-  local.bibliocoverage.attrib
-# end of bibliocoverage.attlist
-
-# end of bibliocoverage.module
-
-# InvPartNumber ....................
-local.invpartnumber.attrib = empty
-invpartnumber.role.attrib = role.attrib
-# doc:An inventory part number.
-invpartnumber =
-  element invpartnumber { invpartnumber.attlist, docinfo.char.mix* }
-# end of invpartnumber.element
-invpartnumber.attlist &=
-  common.attrib, invpartnumber.role.attrib, local.invpartnumber.attrib
-# end of invpartnumber.attlist
-
-# end of invpartnumber.module
-
-# IssueNum .........................
-local.issuenum.attrib = empty
-issuenum.role.attrib = role.attrib
-# doc:The number of an issue of a journal.
-issuenum = element issuenum { issuenum.attlist, docinfo.char.mix* }
-# end of issuenum.element
-issuenum.attlist &=
-  common.attrib, issuenum.role.attrib, local.issuenum.attrib
-# end of issuenum.attlist
-
-# end of issuenum.module
-
-# LegalNotice ......................
-local.legalnotice.attrib = empty
-legalnotice.role.attrib = role.attrib
-# doc:A statement of legal obligations or requirements.
-legalnotice =
-  element legalnotice {
-    legalnotice.attlist, blockinfo?, title?, legalnotice.mix+
-  }
-# end of legalnotice.element
-legalnotice.attlist &=
-  common.attrib, legalnotice.role.attrib, local.legalnotice.attrib
-# end of legalnotice.attlist
-
-# end of legalnotice.module
-
-# ModeSpec .........................
-local.modespec.attrib = empty
-modespec.role.attrib = role.attrib
-# doc:Application-specific information necessary for the completion of an OLink.
-modespec = element modespec { modespec.attlist, docinfo.char.mix* }
-# end of modespec.element
-
-# Application: Type of action required for completion
-# of the links to which the ModeSpec is relevant (e.g.,
-# retrieval query)
-modespec.attlist &=
-  attribute application { notation.class }?,
-  common.attrib,
-  modespec.role.attrib,
-  local.modespec.attrib
-# end of modespec.attlist
-
-# end of modespec.module
-
-# OrgName ..........................
-local.orgname.attrib = empty
-orgname.role.attrib = role.attrib
-# doc:The name of an organization other than a corporation.
-orgname = element orgname { orgname.attlist, docinfo.char.mix* }
-# end of orgname.element
-orgname.attlist &=
-  common.attrib,
-  attribute class {
-    "corporation" | "nonprofit" | "consortium" | "informal" | "other"
-  }?,
-  attribute otherclass { text }?,
-  orgname.role.attrib,
-  local.orgname.attrib
-# end of orgname.attlist
-
-# end of orgname.module
-
-# OtherCredit ......................
-local.othercredit.attrib = empty
-othercredit.role.attrib = role.attrib
-# doc:A person or entity, other than an author or editor, credited in a document.
-othercredit =
-  element othercredit {
-    othercredit.attlist,
-    (personname | person.ident.mix+),
-    (personblurb | email | address)*
-  }
-# end of othercredit.element
-othercredit.attlist &=
-  attribute class {
-    "graphicdesigner"
-    | "productioneditor"
-    | "copyeditor"
-    | "technicaleditor"
-    | "translator"
-    | "other"
-  }?,
-  common.attrib,
-  othercredit.role.attrib,
-  local.othercredit.attrib
-# end of othercredit.attlist
-
-# (see "Personal identity elements" for %person.ident.mix;)
-
-# end of othercredit.module
-
-# PageNums .........................
-local.pagenums.attrib = empty
-pagenums.role.attrib = role.attrib
-# doc:The numbers of the pages in a book, for use in a bibliographic entry.
-pagenums = element pagenums { pagenums.attlist, docinfo.char.mix* }
-# end of pagenums.element
-pagenums.attlist &=
-  common.attrib, pagenums.role.attrib, local.pagenums.attrib
-# end of pagenums.attlist
-
-# end of pagenums.module
-
-# Personal identity elements .......
-
-# These elements are used only within Author, Editor, and
-# OtherCredit.
-local.contrib.attrib = empty
-contrib.role.attrib = role.attrib
-# doc:A summary of the contributions made to a document by a credited source.
-contrib = element contrib { contrib.attlist, docinfo.char.mix* }
-# end of contrib.element
-contrib.attlist &=
-  common.attrib, contrib.role.attrib, local.contrib.attrib
-# end of contrib.attlist
-
-# end of contrib.module
-local.firstname.attrib = empty
-firstname.role.attrib = role.attrib
-# doc:The first name of a person.
-firstname = element firstname { firstname.attlist, docinfo.char.mix* }
-# end of firstname.element
-firstname.attlist &=
-  common.attrib, firstname.role.attrib, local.firstname.attrib
-# end of firstname.attlist
-
-# end of firstname.module
-local.honorific.attrib = empty
-honorific.role.attrib = role.attrib
-# doc:The title of a person.
-honorific = element honorific { honorific.attlist, docinfo.char.mix* }
-# end of honorific.element
-honorific.attlist &=
-  common.attrib, honorific.role.attrib, local.honorific.attrib
-# end of honorific.attlist
-
-# end of honorific.module
-local.lineage.attrib = empty
-lineage.role.attrib = role.attrib
-# doc:The portion of a person's name indicating a relationship to ancestors.
-lineage = element lineage { lineage.attlist, docinfo.char.mix* }
-# end of lineage.element
-lineage.attlist &=
-  common.attrib, lineage.role.attrib, local.lineage.attrib
-# end of lineage.attlist
-
-# end of lineage.module
-local.othername.attrib = empty
-othername.role.attrib = role.attrib
-# doc:A component of a persons name that is not a first name, surname, or lineage.
-othername = element othername { othername.attlist, docinfo.char.mix* }
-# end of othername.element
-othername.attlist &=
-  common.attrib, othername.role.attrib, local.othername.attrib
-# end of othername.attlist
-
-# end of othername.module
-local.surname.attrib = empty
-surname.role.attrib = role.attrib
-# doc:A family name; in western cultures the last name.
-surname = element surname { surname.attlist, docinfo.char.mix* }
-# end of surname.element
-surname.attlist &=
-  common.attrib, surname.role.attrib, local.surname.attrib
-# end of surname.attlist
-
-# end of surname.module
-
-# end of person.ident.module
-
-# PrintHistory .....................
-local.printhistory.attrib = empty
-printhistory.role.attrib = role.attrib
-# doc:The printing history of a document.
-printhistory =
-  element printhistory { printhistory.attlist, para.class+ }
-# end of printhistory.element
-printhistory.attlist &=
-  common.attrib, printhistory.role.attrib, local.printhistory.attrib
-# end of printhistory.attlist
-
-# end of printhistory.module
-
-# ProductName ......................
-local.productname.attrib = empty
-productname.role.attrib = role.attrib
-# doc:The formal name of a product.
-productname =
-  element productname { productname.attlist, para.char.mix* }
-# end of productname.element
-
-# Class: More precisely identifies the item the element names
-productname.attlist &=
-  [ a:defaultValue = "trade" ]
-  attribute class { "service" | "trade" | "registered" | "copyright" }?,
-  common.attrib,
-  productname.role.attrib,
-  local.productname.attrib
-# end of productname.attlist
-
-# end of productname.module
-
-# ProductNumber ....................
-local.productnumber.attrib = empty
-productnumber.role.attrib = role.attrib
-# doc:A number assigned to a product.
-productnumber =
-  element productnumber { productnumber.attlist, docinfo.char.mix* }
-# end of productnumber.element
-productnumber.attlist &=
-  common.attrib, productnumber.role.attrib, local.productnumber.attrib
-# end of productnumber.attlist
-
-# end of productnumber.module
-
-# PubDate ..........................
-local.pubdate.attrib = empty
-pubdate.role.attrib = role.attrib
-# doc:The date of publication of a document.
-pubdate = element pubdate { pubdate.attlist, docinfo.char.mix* }
-# end of pubdate.element
-pubdate.attlist &=
-  common.attrib, pubdate.role.attrib, local.pubdate.attrib
-# end of pubdate.attlist
-
-# end of pubdate.module
-
-# Publisher ........................
-local.publisher.attrib = empty
-publisher.role.attrib = role.attrib
-# doc:The publisher of a document.
-publisher =
-  element publisher { publisher.attlist, publishername, address* }
-# end of publisher.element
-publisher.attlist &=
-  common.attrib, publisher.role.attrib, local.publisher.attrib
-# end of publisher.attlist
-
-# end of publisher.module
-local.publishername.attrib = empty
-publishername.role.attrib = role.attrib
-# doc:The name of the publisher of a document.
-publishername =
-  element publishername { publishername.attlist, docinfo.char.mix* }
-# end of publishername.element
-publishername.attlist &=
-  common.attrib, publishername.role.attrib, local.publishername.attrib
-# end of publishername.attlist
-
-# end of publishername.module
-
-# Address (defined elsewhere in this section)
-
-# end of publisher.content.module
-
-# PubsNumber .......................
-local.pubsnumber.attrib = empty
-pubsnumber.role.attrib = role.attrib
-# doc:A number assigned to a publication other than an ISBN or ISSN or inventory part number.
-pubsnumber =
-  element pubsnumber { pubsnumber.attlist, docinfo.char.mix* }
-# end of pubsnumber.element
-pubsnumber.attlist &=
-  common.attrib, pubsnumber.role.attrib, local.pubsnumber.attrib
-# end of pubsnumber.attlist
-
-# end of pubsnumber.module
-
-# ReleaseInfo ......................
-local.releaseinfo.attrib = empty
-releaseinfo.role.attrib = role.attrib
-# doc:Information about a particular release of a document.
-releaseinfo =
-  element releaseinfo { releaseinfo.attlist, docinfo.char.mix* }
-# end of releaseinfo.element
-releaseinfo.attlist &=
-  common.attrib, releaseinfo.role.attrib, local.releaseinfo.attrib
-# end of releaseinfo.attlist
-
-# end of releaseinfo.module
-
-# RevHistory .......................
-local.revhistory.attrib = empty
-revhistory.role.attrib = role.attrib
-# doc:A history of the revisions to a document.
-revhistory = element revhistory { revhistory.attlist, revision+ }
-# end of revhistory.element
-revhistory.attlist &=
-  common.attrib, revhistory.role.attrib, local.revhistory.attrib
-# end of revhistory.attlist
-
-# end of revhistory.module
-local.revision.attrib = empty
-revision.role.attrib = role.attrib
-# doc:An entry describing a single revision in the history of the revisions to a document.
-revision =
-  element revision {
-    revision.attlist,
-    revnumber?,
-    date,
-    (author | authorinitials)*,
-    (revremark | revdescription)?
-  }
-# end of revision.element
-revision.attlist &=
-  common.attrib, revision.role.attrib, local.revision.attrib
-# end of revision.attlist
-
-# end of revision.module
-local.revnumber.attrib = empty
-revnumber.role.attrib = role.attrib
-# doc:A document revision number.
-revnumber = element revnumber { revnumber.attlist, docinfo.char.mix* }
-# end of revnumber.element
-revnumber.attlist &=
-  common.attrib, revnumber.role.attrib, local.revnumber.attrib
-# end of revnumber.attlist
-
-# end of revnumber.module
-
-# Date (defined elsewhere in this section)
-
-# AuthorInitials (defined elsewhere in this section)
-local.revremark.attrib = empty
-revremark.role.attrib = role.attrib
-# doc:A description of a revision to a document.
-revremark = element revremark { revremark.attlist, docinfo.char.mix* }
-# end of revremark.element
-revremark.attlist &=
-  common.attrib, revremark.role.attrib, local.revremark.attrib
-# end of revremark.attlist
-
-# end of revremark.module
-local.revdescription.attrib = empty
-revdescription.role.attrib = role.attrib
-# doc:A extended description of a revision to a document.
-revdescription =
-  element revdescription { revdescription.attlist, revdescription.mix+ }
-# end of revdescription.element
-revdescription.attlist &=
-  common.attrib, revdescription.role.attrib, local.revdescription.attrib
-# end of revdescription.attlist
-
-# end of revdescription.module
-
-# end of revhistory.content.module
-
-# SeriesVolNums ....................
-local.seriesvolnums.attrib = empty
-seriesvolnums.role.attrib = role.attrib
-# doc:Numbers of the volumes in a series of books.
-seriesvolnums =
-  element seriesvolnums { seriesvolnums.attlist, docinfo.char.mix* }
-# end of seriesvolnums.element
-seriesvolnums.attlist &=
-  common.attrib, seriesvolnums.role.attrib, local.seriesvolnums.attrib
-# end of seriesvolnums.attlist
-
-# end of seriesvolnums.module
-
-# VolumeNum ........................
-local.volumenum.attrib = empty
-volumenum.role.attrib = role.attrib
-# doc:The volume number of a document in a set (as of books in a set or articles in a journal).
-volumenum = element volumenum { volumenum.attlist, docinfo.char.mix* }
-# end of volumenum.element
-volumenum.attlist &=
-  common.attrib, volumenum.role.attrib, local.volumenum.attrib
-# end of volumenum.attlist
-
-# end of volumenum.module
-
-# ..................................
-
-# end of docinfo.content.module
-
-# ......................................................................
-
-# Inline, link, and ubiquitous elements ................................
-
-# Technical and computer terms .........................................
-local.accel.attrib = empty
-accel.role.attrib = role.attrib
-# doc:A graphical user interface (GUI) keyboard shortcut.
-accel = element accel { accel.attlist, smallcptr.char.mix* }
-# end of accel.element
-accel.attlist &= common.attrib, accel.role.attrib, local.accel.attrib
-# end of accel.attlist
-
-# end of accel.module
-local.action.attrib = empty
-action.role.attrib = role.attrib
-# doc:A response to a user event.
-action = element action { action.attlist, cptr.char.mix* }
-# end of action.element
-action.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  action.role.attrib,
-  local.action.attrib
-# end of action.attlist
-
-# end of action.module
-local.application.attrib = empty
-application.role.attrib = role.attrib
-# doc:The name of a software program.
-application =
-  element application { application.attlist, para.char.mix* }
-# end of application.element
-application.attlist &=
-  attribute class { "hardware" | "software" }?,
-  moreinfo.attrib,
-  common.attrib,
-  application.role.attrib,
-  local.application.attrib
-# end of application.attlist
-
-# end of application.module
-local.classname.attrib = empty
-classname.role.attrib = role.attrib
-# doc:The name of a class, in the object-oriented programming sense.
-classname = element classname { classname.attlist, smallcptr.char.mix* }
-# end of classname.element
-classname.attlist &=
-  common.attrib, classname.role.attrib, local.classname.attrib
-# end of classname.attlist
-
-# end of classname.module
-local.package.attrib = empty
-package.role.attrib = role.attrib
-# doc:A package.
-package = element package { package.attlist, smallcptr.char.mix* }
-# end of package.element
-package.attlist &=
-  common.attrib, package.role.attrib, local.package.attrib
-# end of package.attlist
-
-# end of package.module
-local.co.attrib = empty
-# CO is a callout area of the LineColumn unit type (a single character
-# position); the position is directly indicated by the location of CO.
-co.role.attrib = role.attrib
-# doc:The location of a callout embedded in text.
-co = element co { co.attlist, empty }
-# end of co.element
-
-# bug number/symbol override or initialization
-
-# to any related information
-co.attlist &=
-  label.attrib,
-  linkends.attrib,
-  idreq.common.attrib,
-  co.role.attrib,
-  local.co.attrib
-# end of co.attlist
-
-# end of co.module
-local.coref.attrib = empty
-# COREF is a reference to a CO
-coref.role.attrib = role.attrib
-# doc:A cross reference to a co.
-coref = element coref { coref.attlist, empty }
-# end of coref.element
-
-# bug number/symbol override or initialization
-
-# to any related information
-coref.attlist &=
-  label.attrib,
-  linkendreq.attrib,
-  common.attrib,
-  coref.role.attrib,
-  local.coref.attrib
-# end of coref.attlist
-
-# end of coref.module
-local.command.attrib = empty
-command.role.attrib = role.attrib
-# doc:The name of an executable program or other software command.
-command = element command { command.attlist, cptr.char.mix* }
-# end of command.element
-command.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  command.role.attrib,
-  local.command.attrib
-# end of command.attlist
-
-# end of command.module
-local.computeroutput.attrib = empty
-computeroutput.role.attrib = role.attrib
-# doc:Data, generally text, displayed or presented by a computer.
-computeroutput =
-  element computeroutput {
-    computeroutput.attlist, (cptr.char.mix | co)*
-  }
-# end of computeroutput.element
-computeroutput.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  computeroutput.role.attrib,
-  local.computeroutput.attrib
-# end of computeroutput.attlist
-
-# end of computeroutput.module
-local.database.attrib = empty
-database.role.attrib = role.attrib
-# doc:The name of a database, or part of a database.
-database = element database { database.attlist, cptr.char.mix* }
-# end of database.element
-
-# Class: Type of database the element names; no default
-database.attlist &=
-  attribute class {
-    "name"
-    | "table"
-    | "field"
-    | "key1"
-    | "key2"
-    | "record"
-    | "index"
-    | "view"
-    | "primarykey"
-    | "secondarykey"
-    | "foreignkey"
-    | "altkey"
-    | "procedure"
-    | "datatype"
-    | "constraint"
-    | "rule"
-    | "user"
-    | "group"
-  }?,
-  moreinfo.attrib,
-  common.attrib,
-  database.role.attrib,
-  local.database.attrib
-# end of database.attlist
-
-# end of database.module
-local.email.attrib = empty
-email.role.attrib = role.attrib
-# doc:An email address.
-email = element email { email.attlist, docinfo.char.mix* }
-# end of email.element
-email.attlist &= common.attrib, email.role.attrib, local.email.attrib
-# end of email.attlist
-
-# end of email.module
-local.envar.attrib = empty
-envar.role.attrib = role.attrib
-# doc:A software environment variable.
-envar = element envar { envar.attlist, smallcptr.char.mix* }
-# end of envar.element
-envar.attlist &= common.attrib, envar.role.attrib, local.envar.attrib
-# end of envar.attlist
-
-# end of envar.module
-local.errorcode.attrib = empty
-errorcode.role.attrib = role.attrib
-# doc:An error code.
-errorcode = element errorcode { errorcode.attlist, smallcptr.char.mix* }
-# end of errorcode.element
-errorcode.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  errorcode.role.attrib,
-  local.errorcode.attrib
-# end of errorcode.attlist
-
-# end of errorcode.module
-local.errorname.attrib = empty
-errorname.role.attrib = role.attrib
-# doc:An error name.
-errorname = element errorname { errorname.attlist, smallcptr.char.mix* }
-# end of errorname.element
-errorname.attlist &=
-  common.attrib, errorname.role.attrib, local.errorname.attrib
-# end of errorname.attlist
-
-# end of errorname.module
-local.errortext.attrib = empty
-errortext.role.attrib = role.attrib
-# doc:An error message..
-errortext = element errortext { errortext.attlist, smallcptr.char.mix* }
-# end of errortext.element
-errortext.attlist &=
-  common.attrib, errortext.role.attrib, local.errortext.attrib
-# end of errortext.attlist
-
-# end of errortext.module
-local.errortype.attrib = empty
-errortype.role.attrib = role.attrib
-# doc:The classification of an error message.
-errortype = element errortype { errortype.attlist, smallcptr.char.mix* }
-# end of errortype.element
-errortype.attlist &=
-  common.attrib, errortype.role.attrib, local.errortype.attrib
-# end of errortype.attlist
-
-# end of errortype.module
-local.filename.attrib = empty
-filename.role.attrib = role.attrib
-# doc:The name of a file.
-filename = element filename { filename.attlist, cptr.char.mix* }
-# end of filename.element
-
-# Class: Type of filename the element names; no default
-
-# Path: Search path (possibly system-specific) in which
-# file can be found
-filename.attlist &=
-  attribute class {
-    "headerfile"
-    | "partition"
-    | "devicefile"
-    | "libraryfile"
-    | "directory"
-    | "extension"
-    | "symlink"
-  }?,
-  attribute path { text }?,
-  moreinfo.attrib,
-  common.attrib,
-  filename.role.attrib,
-  local.filename.attrib
-# end of filename.attlist
-
-# end of filename.module
-local.function.attrib = empty
-function.role.attrib = role.attrib
-# doc:The name of a function or subroutine, as in a programming language.
-function = element function { function.attlist, cptr.char.mix* }
-# end of function.element
-function.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  function.role.attrib,
-  local.function.attrib
-# end of function.attlist
-
-# end of function.module
-local.guibutton.attrib = empty
-guibutton.role.attrib = role.attrib
-# doc:The text on a button in a GUI.
-guibutton =
-  element guibutton {
-    guibutton.attlist,
-    (smallcptr.char.mix | accel | superscript | subscript)*
-  }
-# end of guibutton.element
-guibutton.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  guibutton.role.attrib,
-  local.guibutton.attrib
-# end of guibutton.attlist
-
-# end of guibutton.module
-local.guiicon.attrib = empty
-guiicon.role.attrib = role.attrib
-# doc:Graphic and/or text appearing as a icon in a GUI.
-guiicon =
-  element guiicon {
-    guiicon.attlist,
-    (smallcptr.char.mix | accel | superscript | subscript)*
-  }
-# end of guiicon.element
-guiicon.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  guiicon.role.attrib,
-  local.guiicon.attrib
-# end of guiicon.attlist
-
-# end of guiicon.module
-local.guilabel.attrib = empty
-guilabel.role.attrib = role.attrib
-# doc:The text of a label in a GUI.
-guilabel =
-  element guilabel {
-    guilabel.attlist,
-    (smallcptr.char.mix | accel | superscript | subscript)*
-  }
-# end of guilabel.element
-guilabel.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  guilabel.role.attrib,
-  local.guilabel.attrib
-# end of guilabel.attlist
-
-# end of guilabel.module
-local.guimenu.attrib = empty
-guimenu.role.attrib = role.attrib
-# doc:The name of a menu in a GUI.
-guimenu =
-  element guimenu {
-    guimenu.attlist,
-    (smallcptr.char.mix | accel | superscript | subscript)*
-  }
-# end of guimenu.element
-guimenu.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  guimenu.role.attrib,
-  local.guimenu.attrib
-# end of guimenu.attlist
-
-# end of guimenu.module
-local.guimenuitem.attrib = empty
-guimenuitem.role.attrib = role.attrib
-# doc:The name of a terminal menu item in a GUI.
-guimenuitem =
-  element guimenuitem {
-    guimenuitem.attlist,
-    (smallcptr.char.mix | accel | superscript | subscript)*
-  }
-# end of guimenuitem.element
-guimenuitem.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  guimenuitem.role.attrib,
-  local.guimenuitem.attrib
-# end of guimenuitem.attlist
-
-# end of guimenuitem.module
-local.guisubmenu.attrib = empty
-guisubmenu.role.attrib = role.attrib
-# doc:The name of a submenu in a GUI.
-guisubmenu =
-  element guisubmenu {
-    guisubmenu.attlist,
-    (smallcptr.char.mix | accel | superscript | subscript)*
-  }
-# end of guisubmenu.element
-guisubmenu.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  guisubmenu.role.attrib,
-  local.guisubmenu.attrib
-# end of guisubmenu.attlist
-
-# end of guisubmenu.module
-local.hardware.attrib = empty
-hardware.role.attrib = role.attrib
-# doc:A physical part of a computer system.
-hardware = element hardware { hardware.attlist, cptr.char.mix* }
-# end of hardware.element
-hardware.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  hardware.role.attrib,
-  local.hardware.attrib
-# end of hardware.attlist
-
-# end of hardware.module
-local.interface.attrib = empty
-interface.role.attrib = role.attrib
-# doc:An element of a GUI.
-interface =
-  element interface { interface.attlist, (smallcptr.char.mix | accel)* }
-# end of interface.element
-
-# Class: Type of the Interface item; no default
-interface.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  interface.role.attrib,
-  local.interface.attrib
-# end of interface.attlist
-
-# end of interface.module
-local.keycap.attrib = empty
-keycap.role.attrib = role.attrib
-# doc:The text printed on a key on a keyboard.
-keycap = element keycap { keycap.attlist, cptr.char.mix* }
-# end of keycap.element
-keycap.attlist &=
-  attribute function {
-    "alt"
-    | "control"
-    | "shift"
-    | "meta"
-    | "escape"
-    | "enter"
-    | "tab"
-    | "backspace"
-    | "command"
-    | "option"
-    | "space"
-    | "delete"
-    | "insert"
-    | "up"
-    | "down"
-    | "left"
-    | "right"
-    | "home"
-    | "end"
-    | "pageup"
-    | "pagedown"
-    | "other"
-  }?,
-  attribute otherfunction { text }?,
-  moreinfo.attrib,
-  common.attrib,
-  keycap.role.attrib,
-  local.keycap.attrib
-# end of keycap.attlist
-
-# end of keycap.module
-local.keycode.attrib = empty
-keycode.role.attrib = role.attrib
-# doc:The internal, frequently numeric, identifier for a key on a keyboard.
-keycode = element keycode { keycode.attlist, smallcptr.char.mix* }
-# end of keycode.element
-keycode.attlist &=
-  common.attrib, keycode.role.attrib, local.keycode.attrib
-# end of keycode.attlist
-
-# end of keycode.module
-local.keycombo.attrib = empty
-keycombo.role.attrib = role.attrib
-# doc:A combination of input actions.
-keycombo =
-  element keycombo {
-    keycombo.attlist, (keycap | keycombo | keysym | mousebutton)+
-  }
-# end of keycombo.element
-keycombo.attlist &=
-  keyaction.attrib,
-  moreinfo.attrib,
-  common.attrib,
-  keycombo.role.attrib,
-  local.keycombo.attrib
-# end of keycombo.attlist
-
-# end of keycombo.module
-local.keysym.attrib = empty
-keysysm.role.attrib = role.attrib
-# doc:The symbolic name of a key on a keyboard.
-keysym = element keysym { keysym.attlist, smallcptr.char.mix* }
-# end of keysym.element
-keysym.attlist &=
-  common.attrib, keysysm.role.attrib, local.keysym.attrib
-# end of keysym.attlist
-
-# end of keysym.module
-local.lineannotation.attrib = empty
-lineannotation.role.attrib = role.attrib
-# doc:A comment on a line in a verbatim listing.
-lineannotation =
-  element lineannotation { lineannotation.attlist, para.char.mix* }
-# end of lineannotation.element
-lineannotation.attlist &=
-  common.attrib, lineannotation.role.attrib, local.lineannotation.attrib
-# end of lineannotation.attlist
-
-# end of lineannotation.module
-local.literal.attrib = empty
-literal.role.attrib = role.attrib
-# doc:Inline text that is some literal value.
-literal = element literal { literal.attlist, cptr.char.mix* }
-# end of literal.element
-literal.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  literal.role.attrib,
-  local.literal.attrib
-# end of literal.attlist
-
-# end of literal.module
-local.code.attrib = empty
-code.role.attrib = role.attrib
-# doc:An inline code fragment.
-code = element code { code.attlist, cptr.char.mix* }
-# end of code.element
-code.attlist &=
-  attribute language { text }?,
-  common.attrib,
-  code.role.attrib,
-  local.code.attrib
-# end of code.attlist
-
-# end of code.module
-local.constant.attrib = empty
-constant.role.attrib = role.attrib
-# doc:A programming or system constant.
-constant = element constant { constant.attlist, smallcptr.char.mix* }
-# end of constant.element
-constant.attlist &=
-  attribute class { "limit" }?,
-  common.attrib,
-  constant.role.attrib,
-  local.constant.attrib
-# end of constant.attlist
-
-# end of constant.module
-local.varname.attrib = empty
-varname.role.attrib = role.attrib
-# doc:The name of a variable.
-varname = element varname { varname.attlist, smallcptr.char.mix* }
-# end of varname.element
-varname.attlist &=
-  common.attrib, varname.role.attrib, local.varname.attrib
-# end of varname.attlist
-
-# end of varname.module
-local.markup.attrib = empty
-markup.role.attrib = role.attrib
-# doc:A string of formatting markup in text that is to be represented literally.
-markup = element markup { markup.attlist, smallcptr.char.mix* }
-# end of markup.element
-markup.attlist &= common.attrib, markup.role.attrib, local.markup.attrib
-# end of markup.attlist
-
-# end of markup.module
-local.medialabel.attrib = empty
-medialabel.role.attrib = role.attrib
-# doc:A name that identifies the physical medium on which some information resides.
-medialabel =
-  element medialabel { medialabel.attlist, smallcptr.char.mix* }
-# end of medialabel.element
-
-# Class: Type of medium named by the element; no default
-medialabel.attlist &=
-  attribute class { "cartridge" | "cdrom" | "disk" | "tape" }?,
-  common.attrib,
-  medialabel.role.attrib,
-  local.medialabel.attrib
-# end of medialabel.attlist
-
-# end of medialabel.module
-local.menuchoice.attrib = empty
-menuchoice.role.attrib = role.attrib
-# doc:A selection or series of selections from a menu.
-menuchoice =
-  element menuchoice {
-    menuchoice.attlist,
-    shortcut?,
-    (guibutton
-     | guiicon
-     | guilabel
-     | guimenu
-     | guimenuitem
-     | guisubmenu
-     | interface)+
-  }
-# end of menuchoice.element
-menuchoice.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  menuchoice.role.attrib,
-  local.menuchoice.attrib
-# end of menuchoice.attlist
-
-# end of menuchoice.module
-
-# See also KeyCombo
-local.shortcut.attrib = empty
-shortcut.role.attrib = role.attrib
-# doc:A key combination for an action that is also accessible through a menu.
-shortcut =
-  element shortcut {
-    shortcut.attlist, (keycap | keycombo | keysym | mousebutton)+
-  }
-# end of shortcut.element
-shortcut.attlist &=
-  keyaction.attrib,
-  moreinfo.attrib,
-  common.attrib,
-  shortcut.role.attrib,
-  local.shortcut.attrib
-# end of shortcut.attlist
-
-# end of shortcut.module
-
-# end of menuchoice.content.module
-local.mousebutton.attrib = empty
-mousebutton.role.attrib = role.attrib
-# doc:The conventional name of a mouse button.
-mousebutton =
-  element mousebutton { mousebutton.attlist, smallcptr.char.mix* }
-# end of mousebutton.element
-mousebutton.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  mousebutton.role.attrib,
-  local.mousebutton.attrib
-# end of mousebutton.attlist
-
-# end of mousebutton.module
-local.msgtext.attrib = empty
-msgtext.role.attrib = role.attrib
-# doc:The actual text of a message component in a message set.
-msgtext = element msgtext { msgtext.attlist, component.mix+ }
-# end of msgtext.element
-msgtext.attlist &=
-  common.attrib, msgtext.role.attrib, local.msgtext.attrib
-# end of msgtext.attlist
-
-# end of msgtext.module
-local.option.attrib = empty
-option.role.attrib = role.attrib
-# doc:An option for a software command.
-option = element option { option.attlist, cptr.char.mix* }
-# end of option.element
-option.attlist &= common.attrib, option.role.attrib, local.option.attrib
-# end of option.attlist
-
-# end of option.module
-local.optional.attrib = empty
-optional.role.attrib = role.attrib
-# doc:Optional information.
-optional = element optional { optional.attlist, cptr.char.mix* }
-# end of optional.element
-optional.attlist &=
-  common.attrib, optional.role.attrib, local.optional.attrib
-# end of optional.attlist
-
-# end of optional.module
-local.parameter.attrib = empty
-parameter.role.attrib = role.attrib
-# doc:A value or a symbolic reference to a value.
-parameter = element parameter { parameter.attlist, cptr.char.mix* }
-# end of parameter.element
-
-# Class: Type of the Parameter; no default
-parameter.attlist &=
-  attribute class { "command" | "function" | "option" }?,
-  moreinfo.attrib,
-  common.attrib,
-  parameter.role.attrib,
-  local.parameter.attrib
-# end of parameter.attlist
-
-# end of parameter.module
-local.prompt.attrib = empty
-prompt.role.attrib = role.attrib
-# doc:A character or string indicating the start of an input field in a  computer display.
-prompt = element prompt { prompt.attlist, (smallcptr.char.mix | co)* }
-# end of prompt.element
-prompt.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  prompt.role.attrib,
-  local.prompt.attrib
-# end of prompt.attlist
-
-# end of prompt.module
-local.property.attrib = empty
-property.role.attrib = role.attrib
-# doc:A unit of data associated with some part of a computer system.
-property = element property { property.attlist, cptr.char.mix* }
-# end of property.element
-property.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  property.role.attrib,
-  local.property.attrib
-# end of property.attlist
-
-# end of property.module
-local.replaceable.attrib = empty
-replaceable.role.attrib = role.attrib
-# doc:Content that may or must be replaced by the user.
-replaceable =
-  element replaceable {
-    replaceable.attlist,
-    (text
-     | link.char.class
-     | optional
-     | base.char.class
-     | other.char.class
-     | inlinegraphic
-     | inlinemediaobject
-     | co)*
-  }
-# end of replaceable.element
-
-# Class: Type of information the element represents; no
-# default
-replaceable.attlist &=
-  attribute class { "command" | "function" | "option" | "parameter" }?,
-  common.attrib,
-  replaceable.role.attrib,
-  local.replaceable.attrib
-# end of replaceable.attlist
-
-# end of replaceable.module
-local.returnvalue.attrib = empty
-returnvalue.role.attrib = role.attrib
-# doc:The value returned by a function.
-returnvalue =
-  element returnvalue { returnvalue.attlist, smallcptr.char.mix* }
-# end of returnvalue.element
-returnvalue.attlist &=
-  common.attrib, returnvalue.role.attrib, local.returnvalue.attrib
-# end of returnvalue.attlist
-
-# end of returnvalue.module
-local.sgmltag.attrib = empty
-sgmltag.role.attrib = role.attrib
-# doc:A component of SGML markup.
-sgmltag = element sgmltag { sgmltag.attlist, smallcptr.char.mix* }
-# end of sgmltag.element
-
-# Class: Type of SGML construct the element names; no default
-sgmltag.attlist &=
-  attribute class {
-    "attribute"
-    | "attvalue"
-    | "element"
-    | "endtag"
-    | "emptytag"
-    | "genentity"
-    | "numcharref"
-    | "paramentity"
-    | "pi"
-    | "xmlpi"
-    | "starttag"
-    | "sgmlcomment"
-    | "prefix"
-    | "namespace"
-    | "localname"
-  }?,
-  attribute namespace { text }?,
-  common.attrib,
-  sgmltag.role.attrib,
-  local.sgmltag.attrib
-# end of sgmltag.attlist
-
-# end of sgmltag.module
-local.structfield.attrib = empty
-structfield.role.attrib = role.attrib
-# doc:A field in a structure (in the programming language sense).
-structfield =
-  element structfield { structfield.attlist, smallcptr.char.mix* }
-# end of structfield.element
-structfield.attlist &=
-  common.attrib, structfield.role.attrib, local.structfield.attrib
-# end of structfield.attlist
-
-# end of structfield.module
-local.structname.attrib = empty
-structname.role.attrib = role.attrib
-# doc:The name of a structure (in the programming language sense).
-structname =
-  element structname { structname.attlist, smallcptr.char.mix* }
-# end of structname.element
-structname.attlist &=
-  common.attrib, structname.role.attrib, local.structname.attrib
-# end of structname.attlist
-
-# end of structname.module
-local.symbol.attrib = empty
-symbol.role.attrib = role.attrib
-# doc:A name that is replaced by a value before processing.
-symbol = element symbol { symbol.attlist, smallcptr.char.mix* }
-# end of symbol.element
-
-# Class: Type of symbol; no default
-symbol.attlist &=
-  attribute class { "limit" }?,
-  common.attrib,
-  symbol.role.attrib,
-  local.symbol.attrib
-# end of symbol.attlist
-
-# end of symbol.module
-local.systemitem.attrib = empty
-systemitem.role.attrib = role.attrib
-# doc:A system-related item or term.
-systemitem =
-  element systemitem {
-    systemitem.attlist, (cptr.char.mix | acronym | co)*
-  }
-# end of systemitem.element
-
-# Class: Type of system item the element names; no default
-systemitem.attlist &=
-  attribute class {
-    "constant"
-    | "daemon"
-    | "domainname"
-    | "etheraddress"
-    | "event"
-    | "eventhandler"
-    | "filesystem"
-    | "fqdomainname"
-    | "groupname"
-    | "ipaddress"
-    | "library"
-    | "macro"
-    | "netmask"
-    | "newsgroup"
-    | "osname"
-    | "protocol"
-    | "resource"
-    | "systemname"
-    | "username"
-    | "process"
-    | "server"
-    | "service"
-  }?,
-  moreinfo.attrib,
-  common.attrib,
-  systemitem.role.attrib,
-  local.systemitem.attrib
-# end of systemitem.attlist
-
-# end of systemitem.module
-local.uri.attrib = empty
-uri.role.attrib = role.attrib
-# doc:A Uniform Resource Identifier.
-uri = element uri { uri.attlist, smallcptr.char.mix* }
-# end of uri.element
-
-# Type: Type of URI; no default
-uri.attlist &=
-  attribute type { text }?,
-  common.attrib,
-  uri.role.attrib,
-  local.uri.attrib
-# end of uri.attlist
-
-# end of uri.module
-local.token.attrib = empty
-token.role.attrib = role.attrib
-# doc:A unit of information.
-\token = element token { token.attlist, smallcptr.char.mix* }
-# end of token.element
-token.attlist &= common.attrib, token.role.attrib, local.token.attrib
-# end of token.attlist
-
-# end of token.module
-local.type.attrib = empty
-type.role.attrib = role.attrib
-# doc:The classification of a value.
-type = element type { type.attlist, smallcptr.char.mix* }
-# end of type.element
-type.attlist &= common.attrib, type.role.attrib, local.type.attrib
-# end of type.attlist
-
-# end of type.module
-local.userinput.attrib = empty
-userinput.role.attrib = role.attrib
-# doc:Data entered by the user.
-userinput =
-  element userinput { userinput.attlist, (cptr.char.mix | co)* }
-# end of userinput.element
-userinput.attlist &=
-  moreinfo.attrib,
-  common.attrib,
-  userinput.role.attrib,
-  local.userinput.attrib
-# end of userinput.attlist
-
-# end of userinput.module
-local.termdef.attrib = empty
-termdef.role.attrib = role.attrib
-# doc:An inline definition of a term.
-termdef = element termdef { termdef.attlist, para.char.mix* }
-# end of termdef.element
-termdef.attlist &=
-  common.attrib, termdef.role.attrib, local.termdef.attrib
-# end of termdef.attlist
-
-# end of termdef.module
-
-# General words and phrases ............................................
-local.abbrev.attrib = empty
-abbrev.role.attrib = role.attrib
-# doc:An abbreviation, especially one followed by a period.
-abbrev = element abbrev { abbrev.attlist, word.char.mix* }
-# end of abbrev.element
-abbrev.attlist &= common.attrib, abbrev.role.attrib, local.abbrev.attrib
-# end of abbrev.attlist
-
-# end of abbrev.module
-local.acronym.attrib = empty
-acronym.role.attrib = role.attrib
-# doc:An often pronounceable word made from the initial (or selected) letters of a name or phrase.
-acronym = element acronym { acronym.attlist, word.char.mix* }
-# end of acronym.element
-acronym.attlist &=
-  common.attrib, acronym.role.attrib, local.acronym.attrib
-# end of acronym.attlist
-
-# end of acronym.module
-local.citation.attrib = empty
-citation.role.attrib = role.attrib
-# doc:An inline bibliographic reference to another published work.
-citation = element citation { citation.attlist, para.char.mix* }
-# end of citation.element
-citation.attlist &=
-  common.attrib, citation.role.attrib, local.citation.attrib
-# end of citation.attlist
-
-# end of citation.module
-local.citerefentry.attrib = empty
-citerefentry.role.attrib = role.attrib
-# doc:A citation to a reference page.
-citerefentry =
-  element citerefentry {
-    citerefentry.attlist, refentrytitle, manvolnum?
-  }
-# end of citerefentry.element
-citerefentry.attlist &=
-  common.attrib, citerefentry.role.attrib, local.citerefentry.attrib
-# end of citerefentry.attlist
-
-# end of citerefentry.module
-local.refentrytitle.attrib = empty
-refentrytitle.role.attrib = role.attrib
-# doc:The title of a reference page.
-refentrytitle =
-  element refentrytitle { refentrytitle.attlist, para.char.mix* }
-# end of refentrytitle.element
-refentrytitle.attlist &=
-  common.attrib, refentrytitle.role.attrib, local.refentrytitle.attrib
-# end of refentrytitle.attlist
-
-# end of refentrytitle.module
-local.manvolnum.attrib = empty
-namvolnum.role.attrib = role.attrib
-# doc:A reference volume number.
-manvolnum = element manvolnum { manvolnum.attlist, word.char.mix* }
-# end of manvolnum.element
-manvolnum.attlist &=
-  common.attrib, namvolnum.role.attrib, local.manvolnum.attrib
-# end of manvolnum.attlist
-
-# end of manvolnum.module
-local.citetitle.attrib = empty
-citetitle.role.attrib = role.attrib
-# doc:The title of a cited work.
-citetitle = element citetitle { citetitle.attlist, para.char.mix* }
-# end of citetitle.element
-
-# Pubwork: Genre of published work cited; no default
-citetitle.attlist &=
-  attribute pubwork {
-    "article"
-    | "book"
-    | "chapter"
-    | "part"
-    | "refentry"
-    | "section"
-    | "journal"
-    | "series"
-    | "set"
-    | "manuscript"
-    | "cdrom"
-    | "dvd"
-    | "wiki"
-    | "gopher"
-    | "bbs"
-    | "emailmessage"
-    | "webpage"
-    | "newsposting"
-  }?,
-  common.attrib,
-  citetitle.role.attrib,
-  local.citetitle.attrib
-# end of citetitle.attlist
-
-# end of citetitle.module
-local.emphasis.attrib = empty
-emphasis.role.attrib = role.attrib
-# doc:Emphasized text.
-emphasis = element emphasis { emphasis.attlist, para.char.mix* }
-# end of emphasis.element
-emphasis.attlist &=
-  common.attrib, emphasis.role.attrib, local.emphasis.attrib
-# end of emphasis.attlist
-
-# end of emphasis.module
-local.foreignphrase.attrib = empty
-foreignphrase.role.attrib = role.attrib
-# doc:A word or phrase in a language other than the primary language of the document.
-foreignphrase =
-  element foreignphrase { foreignphrase.attlist, para.char.mix* }
-# end of foreignphrase.element
-foreignphrase.attlist &=
-  common.attrib, foreignphrase.role.attrib, local.foreignphrase.attrib
-# end of foreignphrase.attlist
-
-# end of foreignphrase.module
-local.glossterm.attrib = empty
-glossterm.role.attrib = role.attrib
-# doc:A glossary term.
-glossterm = element glossterm { glossterm.attlist, para.char.mix* }
-# end of glossterm.element
-
-# to GlossEntry if Glossterm used in text
-
-# BaseForm: Provides the form of GlossTerm to be used
-# for indexing
-glossterm.attlist &=
-  attribute baseform { text }?,
-  linkend.attrib,
-  common.attrib,
-  glossterm.role.attrib,
-  local.glossterm.attrib
-# end of glossterm.attlist
-
-# end of glossterm.module
-local.firstterm.attrib = empty
-firstterm.role.attrib = role.attrib
-# doc:The first occurrence of a term.
-firstterm = element firstterm { firstterm.attlist, para.char.mix* }
-# end of firstterm.element
-
-# to GlossEntry or other explanation
-firstterm.attlist &=
-  attribute baseform { text }?,
-  linkend.attrib,
-  common.attrib,
-  firstterm.role.attrib,
-  local.firstterm.attrib
-# end of firstterm.attlist
-
-# end of firstterm.module
-local.phrase.attrib = empty
-phrase.role.attrib = role.attrib
-# doc:A span of text.
-phrase = element phrase { phrase.attlist, para.char.mix* }
-# end of phrase.element
-phrase.attlist &= common.attrib, phrase.role.attrib, local.phrase.attrib
-# end of phrase.attlist
-
-# end of phrase.module
-local.quote.attrib = empty
-quote.role.attrib = role.attrib
-# doc:An inline quotation.
-quote = element quote { quote.attlist, para.char.mix* }
-# end of quote.element
-quote.attlist &= common.attrib, quote.role.attrib, local.quote.attrib
-# end of quote.attlist
-
-# end of quote.module
-local.ssscript.attrib = empty
-ssscript.role.attrib = role.attrib
-# doc:A subscript (as in H{^2}O, the molecular formula for water).
-subscript =
-  element subscript {
-    subscript.attlist,
-    (text
-     | link.char.class
-     | emphasis
-     | replaceable
-     | symbol
-     | inlinegraphic
-     | inlinemediaobject
-     | base.char.class
-     | other.char.class)*
-  }
-# end of subscript.element
-subscript.attlist &=
-  common.attrib, ssscript.role.attrib, local.ssscript.attrib
-# end of subscript.attlist
-
-# doc:A superscript (as in x^2, the mathematical notation for x multiplied by itself).
-superscript =
-  element superscript {
-    superscript.attlist,
-    (text
-     | link.char.class
-     | emphasis
-     | replaceable
-     | symbol
-     | inlinegraphic
-     | inlinemediaobject
-     | base.char.class
-     | other.char.class)*
-  }
-# end of superscript.element
-superscript.attlist &=
-  common.attrib, ssscript.role.attrib, local.ssscript.attrib
-# end of superscript.attlist
-
-# end of ssscript.module
-local.trademark.attrib = empty
-trademark.role.attrib = role.attrib
-# doc:A trademark.
-trademark =
-  element trademark {
-    trademark.attlist,
-    (text
-     | link.char.class
-     | tech.char.class
-     | base.char.class
-     | other.char.class
-     | inlinegraphic
-     | inlinemediaobject
-     | emphasis)*
-  }
-# end of trademark.element
-
-# Class: More precisely identifies the item the element names
-trademark.attlist &=
-  [ a:defaultValue = "trade" ]
-  attribute class { "service" | "trade" | "registered" | "copyright" }?,
-  common.attrib,
-  trademark.role.attrib,
-  local.trademark.attrib
-# end of trademark.attlist
-
-# end of trademark.module
-local.wordasword.attrib = empty
-wordasword.role.attrib = role.attrib
-# doc:A word meant specifically as a word and not representing anything else.
-wordasword = element wordasword { wordasword.attlist, word.char.mix* }
-# end of wordasword.element
-wordasword.attlist &=
-  common.attrib, wordasword.role.attrib, local.wordasword.attrib
-# end of wordasword.attlist
-
-# end of wordasword.module
-
-# Links and cross-references ...........................................
-local.link.attrib = empty
-link.role.attrib = role.attrib
-# doc:A hypertext link.
-link = element link { link.attlist, para.char.mix* }
-# end of link.element
-
-# Endterm: ID of element containing text that is to be
-# fetched from elsewhere in the document to appear as
-# the content of this element
-
-# to linked-to object
-
-# Type: Freely assignable parameter
-link.attlist &=
-  attribute endterm { xsd:IDREF }?,
-  attribute xrefstyle { text }?,
-  attribute type { text }?,
-  linkendreq.attrib,
-  common.attrib,
-  link.role.attrib,
-  local.link.attrib
-# end of link.attlist
-
-# end of link.module
-local.olink.attrib = empty
-olink.role.attrib = role.attrib
-# doc:A link that addresses its target indirectly, through an entity.
-olink = element olink { olink.attlist, para.char.mix* }
-# end of olink.element
-
-# TargetDocEnt: Name of an entity to be the target of the link
-
-# LinkMode: ID of a ModeSpec containing instructions for
-# operating on the entity named by TargetDocEnt
-
-# LocalInfo: Information that may be passed to ModeSpec
-
-# Type: Freely assignable parameter
-olink.attlist &=
-  attribute targetdocent { xsd:ENTITY }?,
-  attribute linkmode { xsd:IDREF }?,
-  attribute localinfo { text }?,
-  attribute type { text }?,
-  attribute targetdoc { text }?,
-  attribute targetptr { text }?,
-  attribute xrefstyle { text }?,
-  common.attrib,
-  olink.role.attrib,
-  local.olink.attrib
-# end of olink.attlist
-
-# end of olink.module
-local.ulink.attrib = empty
-ulink.role.attrib = role.attrib
-# doc:A link that addresses its target by means of a URL (Uniform Resource Locator).
-ulink = element ulink { ulink.attlist, para.char.mix* }
-# end of ulink.element
-
-# URL: uniform resource locator; the target of the ULink
-
-# Type: Freely assignable parameter
-ulink.attlist &=
-  attribute url { text },
-  attribute type { text }?,
-  attribute xrefstyle { text }?,
-  common.attrib,
-  ulink.role.attrib,
-  local.ulink.attrib
-# end of ulink.attlist
-
-# end of ulink.module
-local.footnoteref.attrib = empty
-footnoteref.role.attrib = role.attrib
-# doc:A cross reference to a footnote (a footnote mark).
-footnoteref = element footnoteref { footnoteref.attlist, empty }
-# end of footnoteref.element
-
-# to footnote content supplied elsewhere
-footnoteref.attlist &=
-  linkendreq.attrib,
-  label.attrib,
-  common.attrib,
-  footnoteref.role.attrib,
-  local.footnoteref.attrib
-# end of footnoteref.attlist
-
-# end of footnoteref.module
-local.xref.attrib = empty
-xref.role.attrib = role.attrib
-# doc:A cross reference to another part of the document.
-xref = element xref { xref.attlist, empty }
-# end of xref.element
-
-# Endterm: ID of element containing text that is to be
-# fetched from elsewhere in the document to appear as
-# the content of this element
-
-# to linked-to object
-xref.attlist &=
-  attribute endterm { xsd:IDREF }?,
-  attribute xrefstyle { text }?,
-  common.attrib,
-  linkendreq.attrib,
-  xref.role.attrib,
-  local.xref.attrib
-# end of xref.attlist
-
-# end of xref.module
-local.biblioref.attrib = empty
-biblioref.role.attrib = role.attrib
-# doc:A cross reference to a bibliographic entry.
-biblioref = element biblioref { biblioref.attlist, empty }
-# end of biblioref.element
-biblioref.attlist &=
-  attribute endterm { xsd:IDREF }?,
-  attribute xrefstyle { text }?,
-  attribute units { text }?,
-  attribute begin { text }?,
-  attribute end { text }?,
-  common.attrib,
-  linkendreq.attrib,
-  biblioref.role.attrib,
-  local.biblioref.attrib
-# end of biblioref.attlist
-
-# end of biblioref.module
-
-# Ubiquitous elements ..................................................
-local.anchor.attrib = empty
-anchor.role.attrib = role.attrib
-# doc:A spot in the document.
-anchor = element anchor { anchor.attlist, empty }
-# end of anchor.element
-
-# required
-
-# replaces Lang
-anchor.attlist &=
-  idreq.attrib,
-  pagenum.attrib,
-  remap.attrib,
-  xreflabel.attrib,
-  revisionflag.attrib,
-  effectivity.attrib,
-  anchor.role.attrib,
-  local.anchor.attrib
-# end of anchor.attlist
-
-# end of anchor.module
-local.beginpage.attrib = empty
-beginpage.role.attrib = role.attrib
-# doc:The location of a page break in a print version of the document.
-beginpage = element beginpage { beginpage.attlist, empty }
-# end of beginpage.element
-
-# PageNum: Number of page that begins at this point
-beginpage.attlist &=
-  pagenum.attrib,
-  common.attrib,
-  beginpage.role.attrib,
-  local.beginpage.attrib
-# end of beginpage.attlist
-
-# end of beginpage.module
-
-# IndexTerms appear in the text flow for generating or linking an
-# index.
-local.indexterm.attrib = empty
-indexterm.role.attrib = role.attrib
-# doc:A wrapper for terms to be indexed.
-indexterm =
-  element indexterm {
-    indexterm.attlist,
-    primary?,
-    ((secondary,
-      ((tertiary, (see | seealso+)?)
-       | see
-       | seealso+)?)
-     | see
-     | seealso+)?
-  }
-# end of indexterm.element
-
-# Scope: Indicates which generated indices the IndexTerm
-# should appear in: Global (whole document set), Local (this
-# document only), or All (both)
-
-# Significance: Whether this IndexTerm is the most pertinent
-# of its series (Preferred) or not (Normal, the default)
-
-# Class: Indicates type of IndexTerm; default is Singular,
-# or EndOfRange if StartRef is supplied; StartOfRange value
-# must be supplied explicitly on starts of ranges
-
-# StartRef: ID of the IndexTerm that starts the indexing
-# range ended by this IndexTerm
-
-# Zone: IDs of the elements to which the IndexTerm applies,
-# and indicates that the IndexTerm applies to those entire
-# elements rather than the point at which the IndexTerm
-# occurs
-indexterm.attlist &=
-  pagenum.attrib,
-  attribute scope { "all" | "global" | "local" }?,
-  [ a:defaultValue = "normal" ]
-  attribute significance { "preferred" | "normal" }?,
-  attribute class { "singular" | "startofrange" | "endofrange" }?,
-  attribute startref { xsd:IDREF }?,
-  attribute zone { xsd:IDREFS }?,
-  attribute type { text }?,
-  common.attrib,
-  indexterm.role.attrib,
-  local.indexterm.attrib
-# end of indexterm.attlist
-
-# end of indexterm.module
-local.primsecter.attrib = empty
-primsecter.role.attrib = role.attrib
-# doc:The primary word or phrase under which an index term should be sorted.
-primary = element primary { primary.attlist, ndxterm.char.mix* }
-# end of primary.element
-
-# SortAs: Alternate sort string for index sorting, e.g.,
-# "fourteen" for an element containing "14"
-primary.attlist &=
-  attribute sortas { text }?,
-  common.attrib,
-  primsecter.role.attrib,
-  local.primsecter.attrib
-# end of primary.attlist
-
-# doc:A secondary word or phrase in an index term.
-secondary = element secondary { secondary.attlist, ndxterm.char.mix* }
-# end of secondary.element
-
-# SortAs: Alternate sort string for index sorting, e.g.,
-# "fourteen" for an element containing "14"
-secondary.attlist &=
-  attribute sortas { text }?,
-  common.attrib,
-  primsecter.role.attrib,
-  local.primsecter.attrib
-# end of secondary.attlist
-
-# doc:A tertiary word or phrase in an index term.
-tertiary = element tertiary { tertiary.attlist, ndxterm.char.mix* }
-# end of tertiary.element
-
-# SortAs: Alternate sort string for index sorting, e.g.,
-# "fourteen" for an element containing "14"
-tertiary.attlist &=
-  attribute sortas { text }?,
-  common.attrib,
-  primsecter.role.attrib,
-  local.primsecter.attrib
-# end of tertiary.attlist
-
-# end of primsecter.module
-local.seeseealso.attrib = empty
-seeseealso.role.attrib = role.attrib
-# doc:Part of an index term directing the reader instead to another entry in the index.
-see = element see { see.attlist, ndxterm.char.mix* }
-# end of see.element
-see.attlist &=
-  common.attrib, seeseealso.role.attrib, local.seeseealso.attrib
-# end of see.attlist
-
-# doc:Part of an index term directing the reader also to another entry in the index.
-seealso = element seealso { seealso.attlist, ndxterm.char.mix* }
-# end of seealso.element
-seealso.attlist &=
-  common.attrib, seeseealso.role.attrib, local.seeseealso.attrib
-# end of seealso.attlist
-
-# end of seeseealso.module
-
-# end of indexterm.content.module
-
-# End of DocBook XML information pool module V4.5 ......................
-
-# ......................................................................
Index: OK/schema/docbook/4.5/rng/dbpoolx.rng
===================================================================
--- BOOK/schema/docbook/4.5/rng/dbpoolx.rng	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,10774 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ...................................................................... -->
-<!-- DocBook XML information pool module V4.5 ............................. -->
-<!-- File dbpoolx.mod ..................................................... -->
-<!--
-  Copyright 1992-2004 HaL Computer Systems, Inc.,
-  O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
-  Corporation, Norman Walsh, Sun Microsystems, Inc., and the
-  Organization for the Advancement of Structured Information
-  Standards (OASIS).
-  
-  $Id: dbpoolx.mod 6340 2006-10-03 13:23:24Z nwalsh $
-  
-  Permission to use, copy, modify and distribute the DocBook XML DTD
-  and its accompanying documentation for any purpose and without fee
-  is hereby granted in perpetuity, provided that the above copyright
-  notice and this paragraph appear in all copies.  The copyright
-  holders make no representation about the suitability of the DTD for
-  any purpose.  It is provided "as is" without expressed or implied
-  warranty.
-  
-  If you modify the DocBook XML DTD in any way, except for declaring and
-  referencing additional sets of general entities and declaring
-  additional notations, label your DTD as a variant of DocBook.  See
-  the maintenance documentation for more information.
-  
-  Please direct all questions, bug reports, or suggestions for
-  changes to the docbook@lists.oasis-open.org mailing list. For more
-  information, see http://www.oasis-open.org/docbook/.
--->
-<!-- ...................................................................... -->
-<!--
-  This module contains the definitions for the objects, inline
-  elements, and so on that are available to be used as the main
-  content of DocBook documents.  Some elements are useful for general
-  publishing, and others are useful specifically for computer
-  documentation.
-  
-  This module has the following dependencies on other modules:
-  
-  o It assumes that a %notation.class; entity is defined by the
-    driver file or other high-level module.  This entity is
-    referenced in the NOTATION attributes for the graphic-related and
-    ModeSpec elements.
-  
-  o It assumes that an appropriately parameterized table module is
-    available for use with the table-related elements.
-  
-  In DTD driver files referring to this module, please use an entity
-  declaration that uses the public identifier shown below:
-  
-  <!ENTITY % dbpool PUBLIC
-  "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN"
-  "dbpoolx.mod">
-  %dbpool;
-  
-  See the documentation for detailed information on the parameter
-  entity and module scheme used in DocBook, customizing DocBook and
-  planning for interchange, and changes made since the last release
-  of DocBook.
--->
-<!-- ...................................................................... -->
-<!-- Forms entities ....................................................... -->
-<!-- These PEs provide the hook by which the forms module can be inserted -->
-<!-- into the DTD. -->
-<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-  <define name="forminlines.hook">
-    <notAllowed/>
-  </define>
-  <define name="forms.hook">
-    <notAllowed/>
-  </define>
-  <!-- ...................................................................... -->
-  <!-- General-purpose semantics entities ................................... -->
-  <define name="yesorno.attvals">
-    <data type="string" datatypeLibrary=""/>
-  </define>
-  <!-- ...................................................................... -->
-  <!-- Entities for module inclusions ....................................... -->
-  <!-- ...................................................................... -->
-  <!-- Entities for element classes and mixtures ............................ -->
-  <!-- "Ubiquitous" classes: ndxterm.class and beginpage -->
-  <define name="local.ndxterm.class">
-    <notAllowed/>
-  </define>
-  <define name="ndxterm.class">
-    <choice>
-      <ref name="indexterm"/>
-      <ref name="local.ndxterm.class"/>
-    </choice>
-  </define>
-  <!-- Object-level classes ................................................. -->
-  <define name="local.list.class">
-    <notAllowed/>
-  </define>
-  <define name="list.class">
-    <choice>
-      <ref name="calloutlist"/>
-      <ref name="glosslist"/>
-      <ref name="bibliolist"/>
-      <ref name="itemizedlist"/>
-      <ref name="orderedlist"/>
-      <ref name="segmentedlist"/>
-      <ref name="simplelist"/>
-      <ref name="variablelist"/>
-      <ref name="local.list.class"/>
-    </choice>
-  </define>
-  <define name="local.admon.class">
-    <notAllowed/>
-  </define>
-  <define name="admon.class">
-    <choice>
-      <ref name="caution"/>
-      <ref name="important"/>
-      <ref name="note"/>
-      <ref name="tip"/>
-      <ref name="warning"/>
-      <ref name="local.admon.class"/>
-    </choice>
-  </define>
-  <define name="local.linespecific.class">
-    <notAllowed/>
-  </define>
-  <define name="linespecific.class">
-    <choice>
-      <ref name="literallayout"/>
-      <ref name="programlisting"/>
-      <ref name="programlistingco"/>
-      <ref name="screen"/>
-      <ref name="screenco"/>
-      <ref name="screenshot"/>
-      <ref name="local.linespecific.class"/>
-    </choice>
-  </define>
-  <define name="local.method.synop.class">
-    <notAllowed/>
-  </define>
-  <define name="method.synop.class">
-    <choice>
-      <ref name="constructorsynopsis"/>
-      <ref name="destructorsynopsis"/>
-      <ref name="methodsynopsis"/>
-      <ref name="local.method.synop.class"/>
-    </choice>
-  </define>
-  <define name="local.synop.class">
-    <notAllowed/>
-  </define>
-  <define name="synop.class">
-    <choice>
-      <ref name="synopsis"/>
-      <ref name="cmdsynopsis"/>
-      <ref name="funcsynopsis"/>
-      <ref name="classsynopsis"/>
-      <ref name="fieldsynopsis"/>
-      <ref name="method.synop.class"/>
-      <ref name="local.synop.class"/>
-    </choice>
-  </define>
-  <define name="local.para.class">
-    <notAllowed/>
-  </define>
-  <define name="para.class">
-    <choice>
-      <ref name="formalpara"/>
-      <ref name="para"/>
-      <ref name="simpara"/>
-      <ref name="local.para.class"/>
-    </choice>
-  </define>
-  <define name="local.informal.class">
-    <notAllowed/>
-  </define>
-  <define name="informal.class">
-    <choice>
-      <ref name="address"/>
-      <ref name="blockquote"/>
-      <ref name="graphic"/>
-      <ref name="graphicco"/>
-      <ref name="mediaobject"/>
-      <ref name="mediaobjectco"/>
-      <ref name="informalequation"/>
-      <ref name="informalexample"/>
-      <ref name="informalfigure"/>
-      <ref name="informaltable"/>
-      <ref name="local.informal.class"/>
-    </choice>
-  </define>
-  <define name="local.formal.class">
-    <notAllowed/>
-  </define>
-  <define name="formal.class">
-    <choice>
-      <ref name="equation"/>
-      <ref name="example"/>
-      <ref name="figure"/>
-      <ref name="table"/>
-      <ref name="local.formal.class"/>
-    </choice>
-  </define>
-  <!-- The DocBook TC may produce an official EBNF module for DocBook. -->
-  <!-- This PE provides the hook by which it can be inserted into the DTD. -->
-  <define name="ebnf.block.hook">
-    <notAllowed/>
-  </define>
-  <define name="local.compound.class">
-    <notAllowed/>
-  </define>
-  <define name="compound.class">
-    <choice>
-      <ref name="msgset"/>
-      <ref name="procedure"/>
-      <ref name="sidebar"/>
-      <ref name="qandaset"/>
-      <ref name="task"/>
-      <ref name="ebnf.block.hook"/>
-      <ref name="local.compound.class"/>
-    </choice>
-  </define>
-  <define name="local.genobj.class">
-    <notAllowed/>
-  </define>
-  <define name="genobj.class">
-    <choice>
-      <ref name="anchor"/>
-      <ref name="bridgehead"/>
-      <ref name="remark"/>
-      <ref name="highlights"/>
-      <ref name="local.genobj.class"/>
-    </choice>
-  </define>
-  <define name="local.descobj.class">
-    <notAllowed/>
-  </define>
-  <define name="descobj.class">
-    <choice>
-      <ref name="abstract"/>
-      <ref name="authorblurb"/>
-      <ref name="epigraph"/>
-      <ref name="local.descobj.class"/>
-    </choice>
-  </define>
-  <!-- Character-level classes .............................................. -->
-  <define name="local.xref.char.class">
-    <notAllowed/>
-  </define>
-  <define name="xref.char.class">
-    <choice>
-      <ref name="footnoteref"/>
-      <ref name="xref"/>
-      <ref name="biblioref"/>
-      <ref name="local.xref.char.class"/>
-    </choice>
-  </define>
-  <define name="local.gen.char.class">
-    <notAllowed/>
-  </define>
-  <define name="gen.char.class">
-    <choice>
-      <ref name="abbrev"/>
-      <ref name="acronym"/>
-      <ref name="citation"/>
-      <ref name="citerefentry"/>
-      <ref name="citetitle"/>
-      <ref name="citebiblioid"/>
-      <ref name="emphasis"/>
-      <ref name="firstterm"/>
-      <ref name="foreignphrase"/>
-      <ref name="glossterm"/>
-      <ref name="termdef"/>
-      <ref name="footnote"/>
-      <ref name="phrase"/>
-      <ref name="orgname"/>
-      <ref name="quote"/>
-      <ref name="trademark"/>
-      <ref name="wordasword"/>
-      <ref name="personname"/>
-      <ref name="local.gen.char.class"/>
-    </choice>
-  </define>
-  <define name="local.link.char.class">
-    <notAllowed/>
-  </define>
-  <define name="link.char.class">
-    <choice>
-      <ref name="link"/>
-      <ref name="olink"/>
-      <ref name="ulink"/>
-      <ref name="local.link.char.class"/>
-    </choice>
-  </define>
-  <!-- The DocBook TC may produce an official EBNF module for DocBook. -->
-  <!-- This PE provides the hook by which it can be inserted into the DTD. -->
-  <define name="ebnf.inline.hook">
-    <notAllowed/>
-  </define>
-  <define name="local.tech.char.class">
-    <notAllowed/>
-  </define>
-  <define name="tech.char.class">
-    <choice>
-      <ref name="action"/>
-      <ref name="application"/>
-      <ref name="classname"/>
-      <ref name="methodname"/>
-      <ref name="interfacename"/>
-      <ref name="exceptionname"/>
-      <ref name="ooclass"/>
-      <ref name="oointerface"/>
-      <ref name="ooexception"/>
-      <ref name="package"/>
-      <ref name="command"/>
-      <ref name="computeroutput"/>
-      <ref name="database"/>
-      <ref name="email"/>
-      <ref name="envar"/>
-      <ref name="errorcode"/>
-      <ref name="errorname"/>
-      <ref name="errortype"/>
-      <ref name="errortext"/>
-      <ref name="filename"/>
-      <ref name="function"/>
-      <ref name="guibutton"/>
-      <ref name="guiicon"/>
-      <ref name="guilabel"/>
-      <ref name="guimenu"/>
-      <ref name="guimenuitem"/>
-      <ref name="guisubmenu"/>
-      <ref name="hardware"/>
-      <ref name="interface"/>
-      <ref name="keycap"/>
-      <ref name="keycode"/>
-      <ref name="keycombo"/>
-      <ref name="keysym"/>
-      <ref name="literal"/>
-      <ref name="code"/>
-      <ref name="constant"/>
-      <ref name="markup"/>
-      <ref name="medialabel"/>
-      <ref name="menuchoice"/>
-      <ref name="mousebutton"/>
-      <ref name="option"/>
-      <ref name="optional"/>
-      <ref name="parameter"/>
-      <ref name="prompt"/>
-      <ref name="property"/>
-      <ref name="replaceable"/>
-      <ref name="returnvalue"/>
-      <ref name="sgmltag"/>
-      <ref name="structfield"/>
-      <ref name="structname"/>
-      <ref name="symbol"/>
-      <ref name="systemitem"/>
-      <ref name="uri"/>
-      <ref name="token"/>
-      <ref name="type"/>
-      <ref name="userinput"/>
-      <ref name="varname"/>
-      <ref name="ebnf.inline.hook"/>
-      <ref name="local.tech.char.class"/>
-    </choice>
-  </define>
-  <define name="local.base.char.class">
-    <notAllowed/>
-  </define>
-  <define name="base.char.class">
-    <choice>
-      <ref name="anchor"/>
-      <ref name="local.base.char.class"/>
-    </choice>
-  </define>
-  <define name="local.docinfo.char.class">
-    <notAllowed/>
-  </define>
-  <define name="docinfo.char.class">
-    <choice>
-      <ref name="author"/>
-      <ref name="authorinitials"/>
-      <ref name="corpauthor"/>
-      <ref name="corpcredit"/>
-      <ref name="modespec"/>
-      <ref name="othercredit"/>
-      <ref name="productname"/>
-      <ref name="productnumber"/>
-      <ref name="revhistory"/>
-      <ref name="local.docinfo.char.class"/>
-    </choice>
-  </define>
-  <define name="local.other.char.class">
-    <notAllowed/>
-  </define>
-  <define name="other.char.class">
-    <choice>
-      <ref name="remark"/>
-      <ref name="subscript"/>
-      <ref name="superscript"/>
-      <ref name="local.other.char.class"/>
-    </choice>
-  </define>
-  <define name="local.inlineobj.char.class">
-    <notAllowed/>
-  </define>
-  <define name="inlineobj.char.class">
-    <choice>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="inlineequation"/>
-      <ref name="local.inlineobj.char.class"/>
-    </choice>
-  </define>
-  <!-- ...................................................................... -->
-  <!-- Entities for content models .......................................... -->
-  <define name="formalobject.title.content">
-    <ref name="title"/>
-    <optional>
-      <ref name="titleabbrev"/>
-    </optional>
-  </define>
-  <!-- Redeclaration placeholder ............................................ -->
-  <!--
-    For redeclaring entities that are declared after this point while
-    retaining their references to the entities that are declared before
-    this point
-  -->
-  <!-- Object-level mixtures ................................................ -->
-  <!--
-                          list admn line synp para infm form cmpd gen  desc
-    Component mixture       X    X    X    X    X    X    X    X    X    X
-    Sidebar mixture         X    X    X    X    X    X    X    a    X
-    Footnote mixture        X         X    X    X    X
-    Example mixture         X         X    X    X    X
-    Highlights mixture      X    X              X
-    Paragraph mixture       X         X    X         X
-    Admonition mixture      X         X    X    X    X    X    b    c
-    Figure mixture                    X    X         X
-    Table entry mixture     X    X    X         X    d
-    Glossary def mixture    X         X    X    X    X         e
-    Legal notice mixture    X    X    X         X    f
-    
-    a. Just Procedure; not Sidebar itself or MsgSet.
-    b. No MsgSet.
-    c. No Highlights.
-    d. Just Graphic; no other informal objects.
-    e. No Anchor, BridgeHead, or Highlights.
-    f. Just BlockQuote; no other informal objects.
-  -->
-  <define name="local.component.mix">
-    <notAllowed/>
-  </define>
-  <define name="component.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="compound.class"/>
-      <ref name="genobj.class"/>
-      <ref name="descobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="forms.hook"/>
-      <ref name="local.component.mix"/>
-    </choice>
-  </define>
-  <define name="local.sidebar.mix">
-    <notAllowed/>
-  </define>
-  <define name="sidebar.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="procedure"/>
-      <ref name="genobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="forms.hook"/>
-      <ref name="local.sidebar.mix"/>
-    </choice>
-  </define>
-  <define name="local.qandaset.mix">
-    <notAllowed/>
-  </define>
-  <define name="qandaset.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="procedure"/>
-      <ref name="genobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="forms.hook"/>
-      <ref name="local.qandaset.mix"/>
-    </choice>
-  </define>
-  <define name="local.revdescription.mix">
-    <notAllowed/>
-  </define>
-  <define name="revdescription.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="procedure"/>
-      <ref name="genobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.revdescription.mix"/>
-    </choice>
-  </define>
-  <define name="local.footnote.mix">
-    <notAllowed/>
-  </define>
-  <define name="footnote.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="local.footnote.mix"/>
-    </choice>
-  </define>
-  <define name="local.example.mix">
-    <notAllowed/>
-  </define>
-  <define name="example.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="procedure"/>
-      <ref name="forms.hook"/>
-      <ref name="local.example.mix"/>
-    </choice>
-  </define>
-  <define name="local.highlights.mix">
-    <notAllowed/>
-  </define>
-  <define name="highlights.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="para.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.highlights.mix"/>
-    </choice>
-  </define>
-  <!--
-    %formal.class; is explicitly excluded from many contexts in which
-    paragraphs are used
-  -->
-  <define name="local.para.mix">
-    <notAllowed/>
-  </define>
-  <define name="para.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="local.para.mix"/>
-    </choice>
-  </define>
-  <define name="local.admon.mix">
-    <notAllowed/>
-  </define>
-  <define name="admon.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="procedure"/>
-      <ref name="sidebar"/>
-      <ref name="anchor"/>
-      <ref name="bridgehead"/>
-      <ref name="remark"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="forms.hook"/>
-      <ref name="local.admon.mix"/>
-    </choice>
-  </define>
-  <define name="local.figure.mix">
-    <notAllowed/>
-  </define>
-  <define name="figure.mix">
-    <choice>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="informal.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="forms.hook"/>
-      <ref name="local.figure.mix"/>
-    </choice>
-  </define>
-  <define name="local.tabentry.mix">
-    <notAllowed/>
-  </define>
-  <define name="tabentry.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="para.class"/>
-      <ref name="graphic"/>
-      <ref name="mediaobject"/>
-      <ref name="forms.hook"/>
-      <ref name="local.tabentry.mix"/>
-    </choice>
-  </define>
-  <define name="local.glossdef.mix">
-    <notAllowed/>
-  </define>
-  <define name="glossdef.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="remark"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.glossdef.mix"/>
-    </choice>
-  </define>
-  <define name="local.legalnotice.mix">
-    <notAllowed/>
-  </define>
-  <define name="legalnotice.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="para.class"/>
-      <ref name="blockquote"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.legalnotice.mix"/>
-    </choice>
-  </define>
-  <define name="local.textobject.mix">
-    <notAllowed/>
-  </define>
-  <define name="textobject.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="para.class"/>
-      <ref name="blockquote"/>
-      <ref name="local.textobject.mix"/>
-    </choice>
-  </define>
-  <define name="local.mediaobject.mix">
-    <notAllowed/>
-  </define>
-  <define name="mediaobject.mix">
-    <choice>
-      <ref name="videoobject"/>
-      <ref name="audioobject"/>
-      <ref name="imageobject"/>
-      <ref name="imageobjectco"/>
-      <ref name="textobject"/>
-      <ref name="local.mediaobject.mix"/>
-    </choice>
-  </define>
-  <define name="local.listpreamble.mix">
-    <notAllowed/>
-  </define>
-  <define name="listpreamble.mix">
-    <choice>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="genobj.class"/>
-      <ref name="descobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="forms.hook"/>
-      <ref name="local.listpreamble.mix"/>
-    </choice>
-  </define>
-  <!-- Character-level mixtures ............................................. -->
-  <!-- sgml.features -->
-  <!-- not [sgml.features[ -->
-  <!-- ]] not sgml.features -->
-  <!--
-                        #PCD xref word link cptr base dnfo othr inob (synop)
-    para.char.mix         X    X    X    X    X    X    X    X    X
-    title.char.mix        X    X    X    X    X    X    X    X    X
-    ndxterm.char.mix      X    X    X    X    X    X    X    X    a
-    cptr.char.mix         X              X    X    X         X    a
-    smallcptr.char.mix    X                   b                   a
-    word.char.mix         X         c    X         X         X    a
-    docinfo.char.mix      X         d    X    b              X    a
-    
-    a. Just InlineGraphic; no InlineEquation.
-    b. Just Replaceable; no other computer terms.
-    c. Just Emphasis and Trademark; no other word elements.
-    d. Just Acronym, Emphasis, and Trademark; no other word elements.
-  -->
-  <define name="local.para.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="para.char.mix">
-    <choice>
-      <text/>
-      <ref name="xref.char.class"/>
-      <ref name="gen.char.class"/>
-      <ref name="link.char.class"/>
-      <ref name="tech.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="docinfo.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="inlineobj.char.class"/>
-      <ref name="synop.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="forminlines.hook"/>
-      <ref name="local.para.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.title.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="title.char.mix">
-    <choice>
-      <text/>
-      <ref name="xref.char.class"/>
-      <ref name="gen.char.class"/>
-      <ref name="link.char.class"/>
-      <ref name="tech.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="docinfo.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="inlineobj.char.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.title.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.ndxterm.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="ndxterm.char.mix">
-    <choice>
-      <text/>
-      <ref name="xref.char.class"/>
-      <ref name="gen.char.class"/>
-      <ref name="link.char.class"/>
-      <ref name="tech.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="docinfo.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="local.ndxterm.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.cptr.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="cptr.char.mix">
-    <choice>
-      <text/>
-      <ref name="link.char.class"/>
-      <ref name="tech.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.cptr.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.smallcptr.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="smallcptr.char.mix">
-    <choice>
-      <text/>
-      <ref name="replaceable"/>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.smallcptr.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.word.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="word.char.mix">
-    <choice>
-      <text/>
-      <ref name="acronym"/>
-      <ref name="emphasis"/>
-      <ref name="trademark"/>
-      <ref name="link.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.word.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.docinfo.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="docinfo.char.mix">
-    <choice>
-      <text/>
-      <ref name="link.char.class"/>
-      <ref name="emphasis"/>
-      <ref name="trademark"/>
-      <ref name="replaceable"/>
-      <ref name="other.char.class"/>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.docinfo.char.mix"/>
-    </choice>
-  </define>
-  <!-- ENTITY % bibliocomponent.mix (see Bibliographic section, below) -->
-  <!-- ENTITY % person.ident.mix (see Bibliographic section, below) -->
-  <!-- ...................................................................... -->
-  <!-- Entities for attributes and attribute components ..................... -->
-  <!-- Effectivity attributes ............................................... -->
-  <!--
-    Arch: Computer or chip architecture to which element applies; no
-    default
-  -->
-  <define name="arch.attrib">
-    <optional>
-      <attribute name="arch"/>
-    </optional>
-  </define>
-  <!-- Condition: General-purpose effectivity attribute -->
-  <define name="condition.attrib">
-    <optional>
-      <attribute name="condition"/>
-    </optional>
-  </define>
-  <!-- Conformance: Standards conformance characteristics -->
-  <define name="conformance.attrib">
-    <optional>
-      <attribute name="conformance">
-        <data type="NMTOKENS"/>
-      </attribute>
-    </optional>
-  </define>
-  <!-- OS: Operating system to which element applies; no default -->
-  <define name="os.attrib">
-    <optional>
-      <attribute name="os"/>
-    </optional>
-  </define>
-  <!-- Revision: Editorial revision to which element belongs; no default -->
-  <define name="revision.attrib">
-    <optional>
-      <attribute name="revision"/>
-    </optional>
-  </define>
-  <!-- Security: Security classification; no default -->
-  <define name="security.attrib">
-    <optional>
-      <attribute name="security"/>
-    </optional>
-  </define>
-  <!--
-    UserLevel: Level of user experience to which element applies; no
-    default
-  -->
-  <define name="userlevel.attrib">
-    <optional>
-      <attribute name="userlevel"/>
-    </optional>
-  </define>
-  <!-- Vendor: Computer vendor to which element applies; no default -->
-  <define name="vendor.attrib">
-    <optional>
-      <attribute name="vendor"/>
-    </optional>
-  </define>
-  <!-- Wordsize: Computer word size (32 bit, 64 bit, etc.); no default -->
-  <define name="wordsize.attrib">
-    <optional>
-      <attribute name="wordsize"/>
-    </optional>
-  </define>
-  <define name="local.effectivity.attrib">
-    <empty/>
-  </define>
-  <define name="effectivity.attrib">
-    <ref name="arch.attrib"/>
-    <ref name="condition.attrib"/>
-    <ref name="conformance.attrib"/>
-    <ref name="os.attrib"/>
-    <ref name="revision.attrib"/>
-    <ref name="security.attrib"/>
-    <ref name="userlevel.attrib"/>
-    <ref name="vendor.attrib"/>
-    <ref name="wordsize.attrib"/>
-    <ref name="local.effectivity.attrib"/>
-  </define>
-  <!-- Common attributes .................................................... -->
-  <!-- Id: Unique identifier of element; no default -->
-  <define name="id.attrib">
-    <optional>
-      <attribute name="id">
-        <data type="ID"/>
-      </attribute>
-    </optional>
-  </define>
-  <!--
-    Id: Unique identifier of element; a value must be supplied; no
-    default
-  -->
-  <define name="idreq.attrib">
-    <attribute name="id">
-      <data type="ID"/>
-    </attribute>
-  </define>
-  <!--
-    Lang: Indicator of language in which element is written, for
-    translation, character set management, etc.; no default
-  -->
-  <define name="lang.attrib">
-    <optional>
-      <attribute name="lang"/>
-    </optional>
-  </define>
-  <!-- Remap: Previous role of element before conversion; no default -->
-  <define name="remap.attrib">
-    <optional>
-      <attribute name="remap"/>
-    </optional>
-  </define>
-  <!-- Role: New role of element in local environment; no default -->
-  <define name="role.attrib">
-    <optional>
-      <attribute name="role"/>
-    </optional>
-  </define>
-  <!--
-    XRefLabel: Alternate labeling string for XRef text generation;
-    default is usually title or other appropriate label text already
-    contained in element
-  -->
-  <define name="xreflabel.attrib">
-    <optional>
-      <attribute name="xreflabel"/>
-    </optional>
-  </define>
-  <!--
-    RevisionFlag: Revision status of element; default is that element
-    wasn't revised
-  -->
-  <define name="revisionflag.attrib">
-    <optional>
-      <attribute name="revisionflag">
-        <choice>
-          <value>changed</value>
-          <value>added</value>
-          <value>deleted</value>
-          <value>off</value>
-        </choice>
-      </attribute>
-    </optional>
-  </define>
-  <define name="local.common.attrib">
-    <empty/>
-  </define>
-  <!-- dir: Bidirectional override -->
-  <define name="dir.attrib">
-    <optional>
-      <attribute name="dir">
-        <choice>
-          <value>ltr</value>
-          <value>rtl</value>
-          <value>lro</value>
-          <value>rlo</value>
-        </choice>
-      </attribute>
-    </optional>
-  </define>
-  <!-- xml:base: base URI -->
-  <define name="xml-base.attrib">
-    <optional>
-      <attribute name="xml:base"/>
-    </optional>
-  </define>
-  <!-- Role is included explicitly on each element -->
-  <define name="common.attrib">
-    <ref name="id.attrib"/>
-    <ref name="lang.attrib"/>
-    <ref name="remap.attrib"/>
-    <ref name="xreflabel.attrib"/>
-    <ref name="revisionflag.attrib"/>
-    <ref name="effectivity.attrib"/>
-    <ref name="dir.attrib"/>
-    <ref name="xml-base.attrib"/>
-    <ref name="local.common.attrib"/>
-  </define>
-  <!-- Role is included explicitly on each element -->
-  <define name="idreq.common.attrib">
-    <ref name="idreq.attrib"/>
-    <ref name="lang.attrib"/>
-    <ref name="remap.attrib"/>
-    <ref name="xreflabel.attrib"/>
-    <ref name="revisionflag.attrib"/>
-    <ref name="effectivity.attrib"/>
-    <ref name="dir.attrib"/>
-    <ref name="xml-base.attrib"/>
-    <ref name="local.common.attrib"/>
-  </define>
-  <!-- Semi-common attributes and other attribute entities .................. -->
-  <define name="local.graphics.attrib">
-    <empty/>
-  </define>
-  <!--
-    EntityRef: Name of an external entity containing the content
-    of the graphic
-  -->
-  <!--
-    FileRef: Filename, qualified by a pathname if desired,
-    designating the file containing the content of the graphic
-  -->
-  <!-- Format: Notation of the element content, if any -->
-  <!-- SrcCredit: Information about the source of the Graphic -->
-  <!-- Width: Same as CALS reprowid (desired width) -->
-  <!-- Depth: Same as CALS reprodep (desired depth) -->
-  <!--
-    Align: Same as CALS hplace with 'none' removed; #IMPLIED means
-    application-specific
-  -->
-  <!-- Scale: Conflation of CALS hscale and vscale -->
-  <!-- Scalefit: Same as CALS scalefit -->
-  <define name="graphics.attrib">
-    <optional>
-      <attribute name="entityref">
-        <data type="ENTITY"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="fileref"/>
-    </optional>
-    <optional>
-      <attribute name="format">
-        <choice>
-          <ref name="notation.class"/>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="srccredit"/>
-    </optional>
-    <optional>
-      <attribute name="width"/>
-    </optional>
-    <optional>
-      <attribute name="contentwidth"/>
-    </optional>
-    <optional>
-      <attribute name="depth"/>
-    </optional>
-    <optional>
-      <attribute name="contentdepth"/>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="scale"/>
-    </optional>
-    <optional>
-      <attribute name="scalefit">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <ref name="local.graphics.attrib"/>
-  </define>
-  <define name="local.keyaction.attrib">
-    <empty/>
-  </define>
-  <!--
-    Action: Key combination type; default is unspecified if one
-    child element, Simul if there is more than one; if value is
-    Other, the OtherAction attribute must have a nonempty value
-  -->
-  <!-- OtherAction: User-defined key combination type -->
-  <define name="keyaction.attrib">
-    <optional>
-      <attribute name="action">
-        <choice>
-          <value>click</value>
-          <value>double-click</value>
-          <value>press</value>
-          <value>seq</value>
-          <value>simul</value>
-          <value>other</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="otheraction"/>
-    </optional>
-    <ref name="local.keyaction.attrib"/>
-  </define>
-  <!--
-    Label: Identifying number or string; default is usually the
-    appropriate number or string autogenerated by a formatter
-  -->
-  <define name="label.attrib">
-    <optional>
-      <attribute name="label"/>
-    </optional>
-  </define>
-  <!-- xml:space: whitespace treatment -->
-  <define name="xml-space.attrib">
-    <optional>
-      <attribute name="xml:space">
-        <choice>
-          <value>preserve</value>
-        </choice>
-      </attribute>
-    </optional>
-  </define>
-  <!--
-    Format: whether element is assumed to contain significant white
-    space
-  -->
-  <define name="linespecific.attrib">
-    <optional>
-      <attribute name="format" a:defaultValue="linespecific">
-        <choice>
-          <value>linespecific</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="xml-space.attrib"/>
-    <optional>
-      <attribute name="linenumbering">
-        <choice>
-          <value>numbered</value>
-          <value>unnumbered</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="continuation">
-        <choice>
-          <value>continues</value>
-          <value>restarts</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="startinglinenumber"/>
-    </optional>
-    <optional>
-      <attribute name="language"/>
-    </optional>
-  </define>
-  <!-- Linkend: link to related information; no default -->
-  <define name="linkend.attrib">
-    <optional>
-      <attribute name="linkend">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-  </define>
-  <!-- Linkend: required link to related information -->
-  <define name="linkendreq.attrib">
-    <attribute name="linkend">
-      <data type="IDREF"/>
-    </attribute>
-  </define>
-  <!--
-    Linkends: link to one or more sets of related information; no
-    default
-  -->
-  <define name="linkends.attrib">
-    <optional>
-      <attribute name="linkends">
-        <data type="IDREFS"/>
-      </attribute>
-    </optional>
-  </define>
-  <define name="local.mark.attrib">
-    <empty/>
-  </define>
-  <define name="mark.attrib">
-    <optional>
-      <attribute name="mark"/>
-    </optional>
-    <ref name="local.mark.attrib"/>
-  </define>
-  <!-- MoreInfo: whether element's content has an associated RefEntry -->
-  <define name="moreinfo.attrib">
-    <optional>
-      <attribute name="moreinfo" a:defaultValue="none">
-        <choice>
-          <value>refentry</value>
-          <value>none</value>
-        </choice>
-      </attribute>
-    </optional>
-  </define>
-  <!-- Pagenum: number of page on which element appears; no default -->
-  <define name="pagenum.attrib">
-    <optional>
-      <attribute name="pagenum"/>
-    </optional>
-  </define>
-  <define name="local.status.attrib">
-    <empty/>
-  </define>
-  <!--
-    Status: Editorial or publication status of the element
-    it applies to, such as "in review" or "approved for distribution"
-  -->
-  <define name="status.attrib">
-    <optional>
-      <attribute name="status"/>
-    </optional>
-    <ref name="local.status.attrib"/>
-  </define>
-  <!--
-    Width: width of the longest line in the element to which it
-    pertains, in number of characters
-  -->
-  <define name="width.attrib">
-    <optional>
-      <attribute name="width"/>
-    </optional>
-  </define>
-  <!-- ...................................................................... -->
-  <!-- Title elements ....................................................... -->
-  <define name="local.title.attrib">
-    <empty/>
-  </define>
-  <define name="title.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The text of the title of a section of a document or of a formal block-level element. -->
-  <define name="title">
-    <element name="title">
-      <ref name="title.attlist"/>
-      <zeroOrMore>
-        <ref name="title.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of title.element -->
-  <define name="title.attlist" combine="interleave">
-    <ref name="pagenum.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="title.role.attrib"/>
-    <ref name="local.title.attrib"/>
-  </define>
-  <!-- end of title.attlist -->
-  <!-- end of title.module -->
-  <define name="local.titleabbrev.attrib">
-    <empty/>
-  </define>
-  <define name="titleabbrev.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The abbreviation of a Title. -->
-  <define name="titleabbrev">
-    <element name="titleabbrev">
-      <ref name="titleabbrev.attlist"/>
-      <zeroOrMore>
-        <ref name="title.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of titleabbrev.element -->
-  <define name="titleabbrev.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="titleabbrev.role.attrib"/>
-    <ref name="local.titleabbrev.attrib"/>
-  </define>
-  <!-- end of titleabbrev.attlist -->
-  <!-- end of titleabbrev.module -->
-  <define name="local.subtitle.attrib">
-    <empty/>
-  </define>
-  <define name="subtitle.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The subtitle of a document. -->
-  <define name="subtitle">
-    <element name="subtitle">
-      <ref name="subtitle.attlist"/>
-      <zeroOrMore>
-        <ref name="title.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of subtitle.element -->
-  <define name="subtitle.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="subtitle.role.attrib"/>
-    <ref name="local.subtitle.attrib"/>
-  </define>
-  <!-- end of subtitle.attlist -->
-  <!-- end of subtitle.module -->
-  <!-- ...................................................................... -->
-  <!-- Bibliographic entities and elements .................................. -->
-  <!--
-    The bibliographic elements are typically used in the document
-    hierarchy. They do not appear in content models of information
-    pool elements.  See also the document information elements,
-    below.
-  -->
-  <define name="local.person.ident.mix">
-    <notAllowed/>
-  </define>
-  <define name="person.ident.mix">
-    <choice>
-      <ref name="honorific"/>
-      <ref name="firstname"/>
-      <ref name="surname"/>
-      <ref name="lineage"/>
-      <ref name="othername"/>
-      <ref name="affiliation"/>
-      <ref name="authorblurb"/>
-      <ref name="contrib"/>
-      <ref name="local.person.ident.mix"/>
-    </choice>
-  </define>
-  <define name="local.bibliocomponent.mix">
-    <notAllowed/>
-  </define>
-  <define name="bibliocomponent.mix">
-    <choice>
-      <ref name="abbrev"/>
-      <ref name="abstract"/>
-      <ref name="address"/>
-      <ref name="artpagenums"/>
-      <ref name="author"/>
-      <ref name="authorgroup"/>
-      <ref name="authorinitials"/>
-      <ref name="bibliomisc"/>
-      <ref name="biblioset"/>
-      <ref name="collab"/>
-      <ref name="confgroup"/>
-      <ref name="contractnum"/>
-      <ref name="contractsponsor"/>
-      <ref name="copyright"/>
-      <ref name="corpauthor"/>
-      <ref name="corpname"/>
-      <ref name="corpcredit"/>
-      <ref name="date"/>
-      <ref name="edition"/>
-      <ref name="editor"/>
-      <ref name="invpartnumber"/>
-      <ref name="isbn"/>
-      <ref name="issn"/>
-      <ref name="issuenum"/>
-      <ref name="orgname"/>
-      <ref name="biblioid"/>
-      <ref name="citebiblioid"/>
-      <ref name="bibliosource"/>
-      <ref name="bibliorelation"/>
-      <ref name="bibliocoverage"/>
-      <ref name="othercredit"/>
-      <ref name="pagenums"/>
-      <ref name="printhistory"/>
-      <ref name="productname"/>
-      <ref name="productnumber"/>
-      <ref name="pubdate"/>
-      <ref name="publisher"/>
-      <ref name="publishername"/>
-      <ref name="pubsnumber"/>
-      <ref name="releaseinfo"/>
-      <ref name="revhistory"/>
-      <ref name="seriesvolnums"/>
-      <ref name="subtitle"/>
-      <ref name="title"/>
-      <ref name="titleabbrev"/>
-      <ref name="volumenum"/>
-      <ref name="citetitle"/>
-      <ref name="personname"/>
-      <ref name="person.ident.mix"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.bibliocomponent.mix"/>
-    </choice>
-  </define>
-  <!-- I don't think this is well placed, but it needs to be here because of -->
-  <!-- the reference to bibliocomponent.mix -->
-  <define name="local.info.class">
-    <notAllowed/>
-  </define>
-  <define name="info.class">
-    <choice>
-      <ref name="graphic"/>
-      <ref name="mediaobject"/>
-      <ref name="legalnotice"/>
-      <ref name="modespec"/>
-      <ref name="subjectset"/>
-      <ref name="keywordset"/>
-      <ref name="itermset"/>
-      <ref name="bibliocomponent.mix"/>
-      <ref name="local.info.class"/>
-    </choice>
-  </define>
-  <!-- BiblioList ........................ -->
-  <define name="local.bibliolist.attrib">
-    <empty/>
-  </define>
-  <define name="bibliolist.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for a set of bibliography entries. -->
-  <define name="bibliolist">
-    <element name="bibliolist">
-      <ref name="bibliolist.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <oneOrMore>
-        <choice>
-          <ref name="biblioentry"/>
-          <ref name="bibliomixed"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of bibliolist.element -->
-  <define name="bibliolist.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="bibliolist.role.attrib"/>
-    <ref name="local.bibliolist.attrib"/>
-  </define>
-  <!-- end of bibliolist.attlist -->
-  <!-- end of bibliolist.module -->
-  <define name="local.biblioentry.attrib">
-    <empty/>
-  </define>
-  <define name="biblioentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An entry in a Bibliography. -->
-  <define name="biblioentry">
-    <element name="biblioentry">
-      <ref name="biblioentry.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="articleinfo"/>
-          <ref name="bibliocomponent.mix"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of biblioentry.element -->
-  <define name="biblioentry.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="biblioentry.role.attrib"/>
-    <ref name="local.biblioentry.attrib"/>
-  </define>
-  <!-- end of biblioentry.attlist -->
-  <!-- end of biblioentry.module -->
-  <define name="local.bibliomixed.attrib">
-    <empty/>
-  </define>
-  <define name="bibliomixed.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An entry in a Bibliography. -->
-  <define name="bibliomixed">
-    <element name="bibliomixed">
-      <ref name="bibliomixed.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="bibliocomponent.mix"/>
-          <ref name="bibliomset"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of bibliomixed.element -->
-  <define name="bibliomixed.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="bibliomixed.role.attrib"/>
-    <ref name="local.bibliomixed.attrib"/>
-  </define>
-  <!-- end of bibliomixed.attlist -->
-  <!-- end of bibliomixed.module -->
-  <define name="local.articleinfo.attrib">
-    <empty/>
-  </define>
-  <define name="articleinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for an Article. -->
-  <define name="articleinfo">
-    <element name="articleinfo">
-      <ref name="articleinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of articleinfo.element -->
-  <define name="articleinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="articleinfo.role.attrib"/>
-    <ref name="local.articleinfo.attrib"/>
-  </define>
-  <!-- end of articleinfo.attlist -->
-  <!-- end of articleinfo.module -->
-  <define name="local.biblioset.attrib">
-    <empty/>
-  </define>
-  <define name="biblioset.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A "raw" container for related bibliographic information. -->
-  <define name="biblioset">
-    <element name="biblioset">
-      <ref name="biblioset.attlist"/>
-      <oneOrMore>
-        <ref name="bibliocomponent.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of biblioset.element -->
-  <!-- Relation: Relationship of elements contained within BiblioSet -->
-  <define name="biblioset.attlist" combine="interleave">
-    <optional>
-      <attribute name="relation"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="biblioset.role.attrib"/>
-    <ref name="local.biblioset.attrib"/>
-  </define>
-  <!-- end of biblioset.attlist -->
-  <!-- end of biblioset.module -->
-  <define name="bibliomset.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <define name="local.bibliomset.attrib">
-    <empty/>
-  </define>
-  <!-- doc:A "cooked" container for related bibliographic information. -->
-  <define name="bibliomset">
-    <element name="bibliomset">
-      <ref name="bibliomset.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="bibliocomponent.mix"/>
-          <ref name="bibliomset"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of bibliomset.element -->
-  <!-- Relation: Relationship of elements contained within BiblioMSet -->
-  <define name="bibliomset.attlist" combine="interleave">
-    <optional>
-      <attribute name="relation"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="bibliomset.role.attrib"/>
-    <ref name="local.bibliomset.attrib"/>
-  </define>
-  <!-- end of bibliomset.attlist -->
-  <!-- end of bibliomset.module -->
-  <define name="local.bibliomisc.attrib">
-    <empty/>
-  </define>
-  <define name="bibliomisc.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Untyped bibliographic information. -->
-  <define name="bibliomisc">
-    <element name="bibliomisc">
-      <ref name="bibliomisc.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of bibliomisc.element -->
-  <define name="bibliomisc.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="bibliomisc.role.attrib"/>
-    <ref name="local.bibliomisc.attrib"/>
-  </define>
-  <!-- end of bibliomisc.attlist -->
-  <!-- end of bibliomisc.module -->
-  <!-- ...................................................................... -->
-  <!-- Subject, Keyword, and ITermSet elements .............................. -->
-  <define name="local.subjectset.attrib">
-    <empty/>
-  </define>
-  <define name="subjectset.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A set of terms describing the subject matter of a document. -->
-  <define name="subjectset">
-    <element name="subjectset">
-      <ref name="subjectset.attlist"/>
-      <oneOrMore>
-        <ref name="subject"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of subjectset.element -->
-  <!-- Scheme: Controlled vocabulary employed in SubjectTerms -->
-  <define name="subjectset.attlist" combine="interleave">
-    <optional>
-      <attribute name="scheme">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="subjectset.role.attrib"/>
-    <ref name="local.subjectset.attrib"/>
-  </define>
-  <!-- end of subjectset.attlist -->
-  <!-- end of subjectset.module -->
-  <define name="local.subject.attrib">
-    <empty/>
-  </define>
-  <define name="subject.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:One of a group of terms describing the subject matter of a document. -->
-  <define name="subject">
-    <element name="subject">
-      <ref name="subject.attlist"/>
-      <oneOrMore>
-        <ref name="subjectterm"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of subject.element -->
-  <!--
-    Weight: Ranking of this group of SubjectTerms relative
-    to others, 0 is low, no highest value specified
-  -->
-  <define name="subject.attlist" combine="interleave">
-    <optional>
-      <attribute name="weight"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="subject.role.attrib"/>
-    <ref name="local.subject.attrib"/>
-  </define>
-  <!-- end of subject.attlist -->
-  <!-- end of subject.module -->
-  <define name="local.subjectterm.attrib">
-    <empty/>
-  </define>
-  <define name="subjectterm.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A term in a group of terms describing the subject matter of a document. -->
-  <define name="subjectterm">
-    <element name="subjectterm">
-      <ref name="subjectterm.attlist"/>
-      <text/>
-    </element>
-  </define>
-  <!-- end of subjectterm.element -->
-  <define name="subjectterm.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="subjectterm.role.attrib"/>
-    <ref name="local.subjectterm.attrib"/>
-  </define>
-  <!-- end of subjectterm.attlist -->
-  <!-- end of subjectterm.module -->
-  <!-- end of subjectset.content.module -->
-  <define name="local.keywordset.attrib">
-    <empty/>
-  </define>
-  <define name="keywordset.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A set of keywords describing the content of a document. -->
-  <define name="keywordset">
-    <element name="keywordset">
-      <ref name="keywordset.attlist"/>
-      <oneOrMore>
-        <ref name="keyword"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of keywordset.element -->
-  <define name="keywordset.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="keywordset.role.attrib"/>
-    <ref name="local.keywordset.attrib"/>
-  </define>
-  <!-- end of keywordset.attlist -->
-  <!-- end of keywordset.module -->
-  <define name="local.keyword.attrib">
-    <empty/>
-  </define>
-  <define name="keyword.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:One of a set of keywords describing the content of a document. -->
-  <define name="keyword">
-    <element name="keyword">
-      <ref name="keyword.attlist"/>
-      <text/>
-    </element>
-  </define>
-  <!-- end of keyword.element -->
-  <define name="keyword.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="keyword.role.attrib"/>
-    <ref name="local.keyword.attrib"/>
-  </define>
-  <!-- end of keyword.attlist -->
-  <!-- end of keyword.module -->
-  <!-- end of keywordset.content.module -->
-  <define name="local.itermset.attrib">
-    <empty/>
-  </define>
-  <define name="itermset.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A set of index terms in the meta-information of a document. -->
-  <define name="itermset">
-    <element name="itermset">
-      <ref name="itermset.attlist"/>
-      <oneOrMore>
-        <ref name="indexterm"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of itermset.element -->
-  <define name="itermset.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="itermset.role.attrib"/>
-    <ref name="local.itermset.attrib"/>
-  </define>
-  <!-- end of itermset.attlist -->
-  <!-- end of itermset.module -->
-  <!-- Bibliographic info for "blocks" -->
-  <define name="local.blockinfo.attrib">
-    <empty/>
-  </define>
-  <define name="blockinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a block element. -->
-  <define name="blockinfo">
-    <element name="blockinfo">
-      <ref name="blockinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of blockinfo.element -->
-  <define name="blockinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="blockinfo.role.attrib"/>
-    <ref name="local.blockinfo.attrib"/>
-  </define>
-  <!-- end of blockinfo.attlist -->
-  <!-- end of blockinfo.module -->
-  <!-- ...................................................................... -->
-  <!-- Compound (section-ish) elements ...................................... -->
-  <!-- Message set ...................... -->
-  <define name="local.msgset.attrib">
-    <empty/>
-  </define>
-  <define name="msgset.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A detailed set of messages, usually error messages. -->
-  <define name="msgset">
-    <element name="msgset">
-      <ref name="msgset.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <choice>
-        <oneOrMore>
-          <ref name="msgentry"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="simplemsgentry"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of msgset.element -->
-  <define name="msgset.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msgset.role.attrib"/>
-    <ref name="local.msgset.attrib"/>
-  </define>
-  <!-- end of msgset.attlist -->
-  <!-- end of msgset.module -->
-  <define name="local.msgentry.attrib">
-    <empty/>
-  </define>
-  <define name="msgentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for an entry in a message set. -->
-  <define name="msgentry">
-    <element name="msgentry">
-      <ref name="msgentry.attlist"/>
-      <oneOrMore>
-        <ref name="msg"/>
-      </oneOrMore>
-      <optional>
-        <ref name="msginfo"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="msgexplan"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of msgentry.element -->
-  <define name="msgentry.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msgentry.role.attrib"/>
-    <ref name="local.msgentry.attrib"/>
-  </define>
-  <!-- end of msgentry.attlist -->
-  <!-- end of msgentry.module -->
-  <define name="local.simplemsgentry.attrib">
-    <empty/>
-  </define>
-  <define name="simplemsgentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for a simpler entry in a message set. -->
-  <define name="simplemsgentry">
-    <element name="simplemsgentry">
-      <ref name="simplemsgentry.attlist"/>
-      <ref name="msgtext"/>
-      <oneOrMore>
-        <ref name="msgexplan"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of simplemsgentry.element -->
-  <define name="simplemsgentry.attlist" combine="interleave">
-    <optional>
-      <attribute name="audience"/>
-    </optional>
-    <optional>
-      <attribute name="level"/>
-    </optional>
-    <optional>
-      <attribute name="origin"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="simplemsgentry.role.attrib"/>
-    <ref name="local.simplemsgentry.attrib"/>
-  </define>
-  <!-- end of simplemsgentry.attlist -->
-  <!-- end of simplemsgentry.module -->
-  <define name="local.msg.attrib">
-    <empty/>
-  </define>
-  <define name="msg.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A message in a message set. -->
-  <define name="msg">
-    <element name="msg">
-      <ref name="msg.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <ref name="msgmain"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="msgsub"/>
-          <ref name="msgrel"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of msg.element -->
-  <define name="msg.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msg.role.attrib"/>
-    <ref name="local.msg.attrib"/>
-  </define>
-  <!-- end of msg.attlist -->
-  <!-- end of msg.module -->
-  <define name="local.msgmain.attrib">
-    <empty/>
-  </define>
-  <define name="msgmain.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The primary component of a message in a message set. -->
-  <define name="msgmain">
-    <element name="msgmain">
-      <ref name="msgmain.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <ref name="msgtext"/>
-    </element>
-  </define>
-  <!-- end of msgmain.element -->
-  <define name="msgmain.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msgmain.role.attrib"/>
-    <ref name="local.msgmain.attrib"/>
-  </define>
-  <!-- end of msgmain.attlist -->
-  <!-- end of msgmain.module -->
-  <define name="local.msgsub.attrib">
-    <empty/>
-  </define>
-  <define name="msgsub.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A subcomponent of a message in a message set. -->
-  <define name="msgsub">
-    <element name="msgsub">
-      <ref name="msgsub.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <ref name="msgtext"/>
-    </element>
-  </define>
-  <!-- end of msgsub.element -->
-  <define name="msgsub.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msgsub.role.attrib"/>
-    <ref name="local.msgsub.attrib"/>
-  </define>
-  <!-- end of msgsub.attlist -->
-  <!-- end of msgsub.module -->
-  <define name="local.msgrel.attrib">
-    <empty/>
-  </define>
-  <define name="msgrel.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A related component of a message in a message set. -->
-  <define name="msgrel">
-    <element name="msgrel">
-      <ref name="msgrel.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <ref name="msgtext"/>
-    </element>
-  </define>
-  <!-- end of msgrel.element -->
-  <define name="msgrel.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msgrel.role.attrib"/>
-    <ref name="local.msgrel.attrib"/>
-  </define>
-  <!-- end of msgrel.attlist -->
-  <!-- end of msgrel.module -->
-  <!--  MsgText (defined in the Inlines section, below) -->
-  <define name="local.msginfo.attrib">
-    <empty/>
-  </define>
-  <define name="msginfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Information about a message in a message set. -->
-  <define name="msginfo">
-    <element name="msginfo">
-      <ref name="msginfo.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="msglevel"/>
-          <ref name="msgorig"/>
-          <ref name="msgaud"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of msginfo.element -->
-  <define name="msginfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msginfo.role.attrib"/>
-    <ref name="local.msginfo.attrib"/>
-  </define>
-  <!-- end of msginfo.attlist -->
-  <!-- end of msginfo.module -->
-  <define name="local.msglevel.attrib">
-    <empty/>
-  </define>
-  <define name="msglevel.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The level of importance or severity of a message in a message set. -->
-  <define name="msglevel">
-    <element name="msglevel">
-      <ref name="msglevel.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of msglevel.element -->
-  <define name="msglevel.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msglevel.role.attrib"/>
-    <ref name="local.msglevel.attrib"/>
-  </define>
-  <!-- end of msglevel.attlist -->
-  <!-- end of msglevel.module -->
-  <define name="local.msgorig.attrib">
-    <empty/>
-  </define>
-  <define name="msgorig.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The origin of a message in a message set. -->
-  <define name="msgorig">
-    <element name="msgorig">
-      <ref name="msgorig.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of msgorig.element -->
-  <define name="msgorig.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msgorig.role.attrib"/>
-    <ref name="local.msgorig.attrib"/>
-  </define>
-  <!-- end of msgorig.attlist -->
-  <!-- end of msgorig.module -->
-  <define name="local.msgaud.attrib">
-    <empty/>
-  </define>
-  <define name="msgaud.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The audience to which a message in a message set is relevant. -->
-  <define name="msgaud">
-    <element name="msgaud">
-      <ref name="msgaud.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of msgaud.element -->
-  <define name="msgaud.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msgaud.role.attrib"/>
-    <ref name="local.msgaud.attrib"/>
-  </define>
-  <!-- end of msgaud.attlist -->
-  <!-- end of msgaud.module -->
-  <define name="local.msgexplan.attrib">
-    <empty/>
-  </define>
-  <define name="msgexplan.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Explanatory material relating to a message in a message set. -->
-  <define name="msgexplan">
-    <element name="msgexplan">
-      <ref name="msgexplan.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <oneOrMore>
-        <ref name="component.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of msgexplan.element -->
-  <define name="msgexplan.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msgexplan.role.attrib"/>
-    <ref name="local.msgexplan.attrib"/>
-  </define>
-  <!-- end of msgexplan.attlist -->
-  <!-- end of msgexplan.module -->
-  <!-- end of msgset.content.module -->
-  <define name="local.task.attrib">
-    <empty/>
-  </define>
-  <define name="task.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A task to be completed. -->
-  <define name="task">
-    <element name="task">
-      <ref name="task.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="ndxterm.class"/>
-      </zeroOrMore>
-      <ref name="formalobject.title.content"/>
-      <optional>
-        <ref name="tasksummary"/>
-      </optional>
-      <optional>
-        <ref name="taskprerequisites"/>
-      </optional>
-      <ref name="procedure"/>
-      <zeroOrMore>
-        <ref name="example"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="taskrelated"/>
-      </optional>
-    </element>
-  </define>
-  <!-- end of task.element -->
-  <define name="task.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="task.role.attrib"/>
-    <ref name="local.task.attrib"/>
-  </define>
-  <!-- end of task.attlist -->
-  <!-- end of task.module -->
-  <define name="local.tasksummary.attrib">
-    <empty/>
-  </define>
-  <define name="tasksummary.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A summary of a task. -->
-  <define name="tasksummary">
-    <element name="tasksummary">
-      <ref name="tasksummary.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <oneOrMore>
-        <ref name="component.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of tasksummary.element -->
-  <define name="tasksummary.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="tasksummary.role.attrib"/>
-    <ref name="local.tasksummary.attrib"/>
-  </define>
-  <!-- end of tasksummary.attlist -->
-  <!-- end of tasksummary.module -->
-  <define name="local.taskprerequisites.attrib">
-    <empty/>
-  </define>
-  <define name="taskprerequisites.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The prerequisites for a task. -->
-  <define name="taskprerequisites">
-    <element name="taskprerequisites">
-      <ref name="taskprerequisites.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <oneOrMore>
-        <ref name="component.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of taskprerequisites.element -->
-  <define name="taskprerequisites.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="taskprerequisites.role.attrib"/>
-    <ref name="local.taskprerequisites.attrib"/>
-  </define>
-  <!-- end of taskprerequisites.attlist -->
-  <!-- end of taskprerequisites.module -->
-  <define name="local.taskrelated.attrib">
-    <empty/>
-  </define>
-  <define name="taskrelated.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Information related to a task. -->
-  <define name="taskrelated">
-    <element name="taskrelated">
-      <ref name="taskrelated.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <oneOrMore>
-        <ref name="component.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of taskrelated.element -->
-  <define name="taskrelated.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="taskrelated.role.attrib"/>
-    <ref name="local.taskrelated.attrib"/>
-  </define>
-  <!-- end of taskrelated.attlist -->
-  <!-- end of taskrelated.module -->
-  <!-- end of task.content.module -->
-  <!-- QandASet ........................ -->
-  <define name="local.qandaset.attrib">
-    <empty/>
-  </define>
-  <define name="qandaset.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A question-and-answer set. -->
-  <define name="qandaset">
-    <element name="qandaset">
-      <ref name="qandaset.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="qandaset.mix"/>
-      </zeroOrMore>
-      <choice>
-        <oneOrMore>
-          <ref name="qandadiv"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="qandaentry"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of qandaset.element -->
-  <define name="qandaset.attlist" combine="interleave">
-    <optional>
-      <attribute name="defaultlabel">
-        <choice>
-          <value>qanda</value>
-          <value>number</value>
-          <value>none</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="qandaset.role.attrib"/>
-    <ref name="local.qandaset.attrib"/>
-  </define>
-  <!-- end of qandaset.attlist -->
-  <!-- end of qandaset.module -->
-  <define name="local.qandadiv.attrib">
-    <empty/>
-  </define>
-  <define name="qandadiv.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A titled division in a QandASet. -->
-  <define name="qandadiv">
-    <element name="qandadiv">
-      <ref name="qandadiv.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="qandaset.mix"/>
-      </zeroOrMore>
-      <choice>
-        <oneOrMore>
-          <ref name="qandadiv"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="qandaentry"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of qandadiv.element -->
-  <define name="qandadiv.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="qandadiv.role.attrib"/>
-    <ref name="local.qandadiv.attrib"/>
-  </define>
-  <!-- end of qandadiv.attlist -->
-  <!-- end of qandadiv.module -->
-  <define name="local.qandaentry.attrib">
-    <empty/>
-  </define>
-  <define name="qandaentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A question/answer set within a QandASet. -->
-  <define name="qandaentry">
-    <element name="qandaentry">
-      <ref name="qandaentry.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="revhistory"/>
-      </optional>
-      <ref name="question"/>
-      <zeroOrMore>
-        <ref name="answer"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of qandaentry.element -->
-  <define name="qandaentry.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="qandaentry.role.attrib"/>
-    <ref name="local.qandaentry.attrib"/>
-  </define>
-  <!-- end of qandaentry.attlist -->
-  <!-- end of qandaentry.module -->
-  <define name="local.question.attrib">
-    <empty/>
-  </define>
-  <define name="question.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A question in a QandASet. -->
-  <define name="question">
-    <element name="question">
-      <ref name="question.attlist"/>
-      <optional>
-        <ref name="label"/>
-      </optional>
-      <oneOrMore>
-        <ref name="qandaset.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of question.element -->
-  <define name="question.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="question.role.attrib"/>
-    <ref name="local.question.attrib"/>
-  </define>
-  <!-- end of question.attlist -->
-  <!-- end of question.module -->
-  <define name="local.answer.attrib">
-    <empty/>
-  </define>
-  <define name="answer.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An answer to a question posed in a QandASet. -->
-  <define name="answer">
-    <element name="answer">
-      <ref name="answer.attlist"/>
-      <optional>
-        <ref name="label"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="qandaset.mix"/>
-      </zeroOrMore>
-      <zeroOrMore>
-        <ref name="qandaentry"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of answer.element -->
-  <define name="answer.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="answer.role.attrib"/>
-    <ref name="local.answer.attrib"/>
-  </define>
-  <!-- end of answer.attlist -->
-  <!-- end of answer.module -->
-  <define name="local.label.attrib">
-    <empty/>
-  </define>
-  <define name="label.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A label on a Question or Answer. -->
-  <define name="label">
-    <element name="label">
-      <ref name="label.attlist"/>
-      <zeroOrMore>
-        <ref name="word.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of label.element -->
-  <define name="label.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="label.role.attrib"/>
-    <ref name="local.label.attrib"/>
-  </define>
-  <!-- end of label.attlist -->
-  <!-- end of label.module -->
-  <!-- end of qandaset.content.module -->
-  <!-- Procedure ........................ -->
-  <define name="local.procedure.attrib">
-    <empty/>
-  </define>
-  <define name="procedure.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A list of operations to be performed in a well-defined sequence. -->
-  <define name="procedure">
-    <element name="procedure">
-      <ref name="procedure.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="component.mix"/>
-      </zeroOrMore>
-      <oneOrMore>
-        <ref name="step"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of procedure.element -->
-  <define name="procedure.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="procedure.role.attrib"/>
-    <ref name="local.procedure.attrib"/>
-  </define>
-  <!-- end of procedure.attlist -->
-  <!-- end of procedure.module -->
-  <define name="local.step.attrib">
-    <empty/>
-  </define>
-  <define name="step.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A unit of action in a procedure. -->
-  <define name="step">
-    <element name="step">
-      <ref name="step.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <choice>
-        <group>
-          <oneOrMore>
-            <ref name="component.mix"/>
-          </oneOrMore>
-          <optional>
-            <choice>
-              <ref name="substeps"/>
-              <ref name="stepalternatives"/>
-            </choice>
-            <zeroOrMore>
-              <ref name="component.mix"/>
-            </zeroOrMore>
-          </optional>
-        </group>
-        <group>
-          <choice>
-            <ref name="substeps"/>
-            <ref name="stepalternatives"/>
-          </choice>
-          <zeroOrMore>
-            <ref name="component.mix"/>
-          </zeroOrMore>
-        </group>
-      </choice>
-    </element>
-  </define>
-  <!-- end of step.element -->
-  <!-- Performance: Whether the Step must be performed -->
-  <!-- not #REQUIRED! -->
-  <define name="step.attlist" combine="interleave">
-    <optional>
-      <attribute name="performance" a:defaultValue="required">
-        <choice>
-          <value>optional</value>
-          <value>required</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="step.role.attrib"/>
-    <ref name="local.step.attrib"/>
-  </define>
-  <!-- end of step.attlist -->
-  <!-- end of step.module -->
-  <define name="local.substeps.attrib">
-    <empty/>
-  </define>
-  <define name="substeps.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for steps that occur within steps in a procedure. -->
-  <define name="substeps">
-    <element name="substeps">
-      <ref name="substeps.attlist"/>
-      <oneOrMore>
-        <ref name="step"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of substeps.element -->
-  <!-- Performance: whether entire set of substeps must be performed -->
-  <!-- not #REQUIRED! -->
-  <define name="substeps.attlist" combine="interleave">
-    <optional>
-      <attribute name="performance" a:defaultValue="required">
-        <choice>
-          <value>optional</value>
-          <value>required</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="substeps.role.attrib"/>
-    <ref name="local.substeps.attrib"/>
-  </define>
-  <!-- end of substeps.attlist -->
-  <!-- end of substeps.module -->
-  <define name="local.stepalternatives.attrib">
-    <empty/>
-  </define>
-  <define name="stepalternatives.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Alternative steps in a procedure. -->
-  <define name="stepalternatives">
-    <element name="stepalternatives">
-      <ref name="stepalternatives.attlist"/>
-      <oneOrMore>
-        <ref name="step"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of stepalternatives.element -->
-  <!-- Performance: Whether (one of) the alternatives must be performed -->
-  <!-- not #REQUIRED! -->
-  <define name="stepalternatives.attlist" combine="interleave">
-    <optional>
-      <attribute name="performance" a:defaultValue="required">
-        <choice>
-          <value>optional</value>
-          <value>required</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="stepalternatives.role.attrib"/>
-    <ref name="local.stepalternatives.attrib"/>
-  </define>
-  <!-- end of stepalternatives.attlist -->
-  <!-- end of stepalternatives.module -->
-  <!-- end of procedure.content.module -->
-  <!-- Sidebar .......................... -->
-  <define name="local.sidebarinfo.attrib">
-    <empty/>
-  </define>
-  <define name="sidebarinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for a Sidebar. -->
-  <define name="sidebarinfo">
-    <element name="sidebarinfo">
-      <ref name="sidebarinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of sidebarinfo.element -->
-  <define name="sidebarinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="sidebarinfo.role.attrib"/>
-    <ref name="local.sidebarinfo.attrib"/>
-  </define>
-  <!-- end of sidebarinfo.attlist -->
-  <!-- end of sidebarinfo.module -->
-  <define name="local.sidebar.attrib">
-    <empty/>
-  </define>
-  <define name="sidebar.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A portion of a document that is isolated from the main narrative flow. -->
-  <define name="sidebar">
-    <element name="sidebar">
-      <ref name="sidebar.attlist"/>
-      <optional>
-        <ref name="sidebarinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <oneOrMore>
-        <ref name="sidebar.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of sidebar.element -->
-  <define name="sidebar.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="sidebar.role.attrib"/>
-    <ref name="local.sidebar.attrib"/>
-  </define>
-  <!-- end of sidebar.attlist -->
-  <!-- end of sidebar.module -->
-  <!-- end of sidebar.content.model -->
-  <!-- ...................................................................... -->
-  <!-- Paragraph-related elements ........................................... -->
-  <define name="local.abstract.attrib">
-    <empty/>
-  </define>
-  <define name="abstract.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A summary. -->
-  <define name="abstract">
-    <element name="abstract">
-      <ref name="abstract.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <oneOrMore>
-        <ref name="para.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of abstract.element -->
-  <define name="abstract.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="abstract.role.attrib"/>
-    <ref name="local.abstract.attrib"/>
-  </define>
-  <!-- end of abstract.attlist -->
-  <!-- end of abstract.module -->
-  <define name="local.authorblurb.attrib">
-    <empty/>
-  </define>
-  <define name="authorblurb.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A short description or note about an author. -->
-  <define name="authorblurb">
-    <element name="authorblurb">
-      <ref name="authorblurb.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <oneOrMore>
-        <ref name="para.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of authorblurb.element -->
-  <define name="authorblurb.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="authorblurb.role.attrib"/>
-    <ref name="local.authorblurb.attrib"/>
-  </define>
-  <!-- end of authorblurb.attlist -->
-  <!-- end of authorblurb.module -->
-  <define name="local.personblurb.attrib">
-    <empty/>
-  </define>
-  <define name="personblurb.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A short description or note about a person. -->
-  <define name="personblurb">
-    <element name="personblurb">
-      <ref name="personblurb.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <oneOrMore>
-        <ref name="para.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of personblurb.element -->
-  <define name="personblurb.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="personblurb.role.attrib"/>
-    <ref name="local.personblurb.attrib"/>
-  </define>
-  <!-- end of personblurb.attlist -->
-  <!-- end of personblurb.module -->
-  <define name="local.blockquote.attrib">
-    <empty/>
-  </define>
-  <define name="blockquote.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A quotation set off from the main text. -->
-  <define name="blockquote">
-    <element name="blockquote">
-      <ref name="blockquote.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <optional>
-        <ref name="attribution"/>
-      </optional>
-      <oneOrMore>
-        <ref name="component.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of blockquote.element -->
-  <define name="blockquote.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="blockquote.role.attrib"/>
-    <ref name="local.blockquote.attrib"/>
-  </define>
-  <!-- end of blockquote.attlist -->
-  <!-- end of blockquote.module -->
-  <define name="local.attribution.attrib">
-    <empty/>
-  </define>
-  <define name="attribution.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The source of a block quote or epigraph. -->
-  <define name="attribution">
-    <element name="attribution">
-      <ref name="attribution.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of attribution.element -->
-  <define name="attribution.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="attribution.role.attrib"/>
-    <ref name="local.attribution.attrib"/>
-  </define>
-  <!-- end of attribution.attlist -->
-  <!-- end of attribution.module -->
-  <define name="local.bridgehead.attrib">
-    <empty/>
-  </define>
-  <define name="bridgehead.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A free-floating heading. -->
-  <define name="bridgehead">
-    <element name="bridgehead">
-      <ref name="bridgehead.attlist"/>
-      <zeroOrMore>
-        <ref name="title.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of bridgehead.element -->
-  <!--
-    Renderas: Indicates the format in which the BridgeHead
-    should appear
-  -->
-  <define name="bridgehead.attlist" combine="interleave">
-    <optional>
-      <attribute name="renderas">
-        <choice>
-          <value>other</value>
-          <value>sect1</value>
-          <value>sect2</value>
-          <value>sect3</value>
-          <value>sect4</value>
-          <value>sect5</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="bridgehead.role.attrib"/>
-    <ref name="local.bridgehead.attrib"/>
-  </define>
-  <!-- end of bridgehead.attlist -->
-  <!-- end of bridgehead.module -->
-  <define name="local.remark.attrib">
-    <empty/>
-  </define>
-  <define name="remark.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A remark (or comment) intended for presentation in a draft manuscript. -->
-  <define name="remark">
-    <element name="remark">
-      <ref name="remark.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of remark.element -->
-  <define name="remark.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="remark.role.attrib"/>
-    <ref name="local.remark.attrib"/>
-  </define>
-  <!-- end of remark.attlist -->
-  <!-- end of remark.module -->
-  <define name="local.epigraph.attrib">
-    <empty/>
-  </define>
-  <define name="epigraph.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A short inscription at the beginning of a document or component. -->
-  <define name="epigraph">
-    <element name="epigraph">
-      <ref name="epigraph.attlist"/>
-      <optional>
-        <ref name="attribution"/>
-      </optional>
-      <oneOrMore>
-        <choice>
-          <ref name="para.class"/>
-          <ref name="literallayout"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of epigraph.element -->
-  <define name="epigraph.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="epigraph.role.attrib"/>
-    <ref name="local.epigraph.attrib"/>
-  </define>
-  <!-- end of epigraph.attlist -->
-  <!--  Attribution (defined above) -->
-  <!-- end of epigraph.module -->
-  <define name="local.footnote.attrib">
-    <empty/>
-  </define>
-  <define name="footnote.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A footnote. -->
-  <define name="footnote">
-    <element name="footnote">
-      <ref name="footnote.attlist"/>
-      <oneOrMore>
-        <ref name="footnote.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of footnote.element -->
-  <define name="footnote.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="footnote.role.attrib"/>
-    <ref name="local.footnote.attrib"/>
-  </define>
-  <!-- end of footnote.attlist -->
-  <!-- end of footnote.module -->
-  <define name="local.highlights.attrib">
-    <empty/>
-  </define>
-  <define name="highlights.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A summary of the main points of the discussed component. -->
-  <define name="highlights">
-    <element name="highlights">
-      <ref name="highlights.attlist"/>
-      <oneOrMore>
-        <ref name="highlights.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of highlights.element -->
-  <define name="highlights.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="highlights.role.attrib"/>
-    <ref name="local.highlights.attrib"/>
-  </define>
-  <!-- end of highlights.attlist -->
-  <!-- end of highlights.module -->
-  <define name="local.formalpara.attrib">
-    <empty/>
-  </define>
-  <define name="formalpara.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A paragraph with a title. -->
-  <define name="formalpara">
-    <element name="formalpara">
-      <ref name="formalpara.attlist"/>
-      <ref name="title"/>
-      <zeroOrMore>
-        <ref name="ndxterm.class"/>
-      </zeroOrMore>
-      <ref name="para"/>
-    </element>
-  </define>
-  <!-- end of formalpara.element -->
-  <define name="formalpara.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="formalpara.role.attrib"/>
-    <ref name="local.formalpara.attrib"/>
-  </define>
-  <!-- end of formalpara.attlist -->
-  <!-- end of formalpara.module -->
-  <define name="local.para.attrib">
-    <empty/>
-  </define>
-  <define name="para.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A paragraph. -->
-  <define name="para">
-    <element name="para">
-      <ref name="para.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="para.char.mix"/>
-          <ref name="para.mix"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of para.element -->
-  <define name="para.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="para.role.attrib"/>
-    <ref name="local.para.attrib"/>
-  </define>
-  <!-- end of para.attlist -->
-  <!-- end of para.module -->
-  <define name="local.simpara.attrib">
-    <empty/>
-  </define>
-  <define name="simpara.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A paragraph that contains only text and inline markup, no block elements. -->
-  <define name="simpara">
-    <element name="simpara">
-      <ref name="simpara.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of simpara.element -->
-  <define name="simpara.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="simpara.role.attrib"/>
-    <ref name="local.simpara.attrib"/>
-  </define>
-  <!-- end of simpara.attlist -->
-  <!-- end of simpara.module -->
-  <define name="local.admon.attrib">
-    <empty/>
-  </define>
-  <define name="admon.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A note of caution. -->
-  <define name="caution">
-    <element name="caution">
-      <ref name="caution.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <oneOrMore>
-        <ref name="admon.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of caution.element -->
-  <define name="caution.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="admon.role.attrib"/>
-    <ref name="local.admon.attrib"/>
-  </define>
-  <!-- end of caution.attlist -->
-  <!-- doc:An admonition set off from the text. -->
-  <define name="important">
-    <element name="important">
-      <ref name="important.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <oneOrMore>
-        <ref name="admon.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of important.element -->
-  <define name="important.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="admon.role.attrib"/>
-    <ref name="local.admon.attrib"/>
-  </define>
-  <!-- end of important.attlist -->
-  <!-- doc:A message set off from the text. -->
-  <define name="note">
-    <element name="note">
-      <ref name="note.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <oneOrMore>
-        <ref name="admon.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of note.element -->
-  <define name="note.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="admon.role.attrib"/>
-    <ref name="local.admon.attrib"/>
-  </define>
-  <!-- end of note.attlist -->
-  <!-- doc:A suggestion to the user, set off from the text. -->
-  <define name="tip">
-    <element name="tip">
-      <ref name="tip.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <oneOrMore>
-        <ref name="admon.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of tip.element -->
-  <define name="tip.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="admon.role.attrib"/>
-    <ref name="local.admon.attrib"/>
-  </define>
-  <!-- end of tip.attlist -->
-  <!-- doc:An admonition set off from the text. -->
-  <define name="warning">
-    <element name="warning">
-      <ref name="warning.attlist"/>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <oneOrMore>
-        <ref name="admon.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of warning.element -->
-  <define name="warning.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="admon.role.attrib"/>
-    <ref name="local.admon.attrib"/>
-  </define>
-  <!-- end of warning.attlist -->
-  <!-- end of admon.module -->
-  <!-- ...................................................................... -->
-  <!-- Lists ................................................................ -->
-  <!-- GlossList ........................ -->
-  <define name="local.glosslist.attrib">
-    <empty/>
-  </define>
-  <define name="glosslist.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for a set of GlossEntrys. -->
-  <define name="glosslist">
-    <element name="glosslist">
-      <ref name="glosslist.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <oneOrMore>
-        <ref name="glossentry"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of glosslist.element -->
-  <define name="glosslist.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="glosslist.role.attrib"/>
-    <ref name="local.glosslist.attrib"/>
-  </define>
-  <!-- end of glosslist.attlist -->
-  <!-- end of glosslist.module -->
-  <define name="local.glossentry.attrib">
-    <empty/>
-  </define>
-  <define name="glossentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An entry in a Glossary or GlossList. -->
-  <define name="glossentry">
-    <element name="glossentry">
-      <ref name="glossentry.attlist"/>
-      <ref name="glossterm"/>
-      <optional>
-        <ref name="acronym"/>
-      </optional>
-      <optional>
-        <ref name="abbrev"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="ndxterm.class"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="revhistory"/>
-      </optional>
-      <choice>
-        <ref name="glosssee"/>
-        <oneOrMore>
-          <ref name="glossdef"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of glossentry.element -->
-  <!--
-    SortAs: String by which the GlossEntry is to be sorted
-    (alphabetized) in lieu of its proper content
-  -->
-  <define name="glossentry.attlist" combine="interleave">
-    <optional>
-      <attribute name="sortas"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="glossentry.role.attrib"/>
-    <ref name="local.glossentry.attrib"/>
-  </define>
-  <!-- end of glossentry.attlist -->
-  <!-- end of glossentry.module -->
-  <!--  GlossTerm (defined in the Inlines section, below) -->
-  <define name="local.glossdef.attrib">
-    <empty/>
-  </define>
-  <define name="glossdef.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A definition in a GlossEntry. -->
-  <define name="glossdef">
-    <element name="glossdef">
-      <ref name="glossdef.attlist"/>
-      <oneOrMore>
-        <ref name="glossdef.mix"/>
-      </oneOrMore>
-      <zeroOrMore>
-        <ref name="glossseealso"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of glossdef.element -->
-  <!-- Subject: List of subjects; keywords for the definition -->
-  <define name="glossdef.attlist" combine="interleave">
-    <optional>
-      <attribute name="subject"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="glossdef.role.attrib"/>
-    <ref name="local.glossdef.attrib"/>
-  </define>
-  <!-- end of glossdef.attlist -->
-  <!-- end of glossdef.module -->
-  <define name="local.glosssee.attrib">
-    <empty/>
-  </define>
-  <define name="glosssee.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A cross-reference from one GlossEntry to another. -->
-  <define name="glosssee">
-    <element name="glosssee">
-      <ref name="glosssee.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of glosssee.element -->
-  <!--
-    OtherTerm: Reference to the GlossEntry whose GlossTerm
-    should be displayed at the point of the GlossSee
-  -->
-  <define name="glosssee.attlist" combine="interleave">
-    <optional>
-      <attribute name="otherterm">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="glosssee.role.attrib"/>
-    <ref name="local.glosssee.attrib"/>
-  </define>
-  <!-- end of glosssee.attlist -->
-  <!-- end of glosssee.module -->
-  <define name="local.glossseealso.attrib">
-    <empty/>
-  </define>
-  <define name="glossseealso.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A cross-reference from one GlossEntry to another. -->
-  <define name="glossseealso">
-    <element name="glossseealso">
-      <ref name="glossseealso.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of glossseealso.element -->
-  <!--
-    OtherTerm: Reference to the GlossEntry whose GlossTerm
-    should be displayed at the point of the GlossSeeAlso
-  -->
-  <define name="glossseealso.attlist" combine="interleave">
-    <optional>
-      <attribute name="otherterm">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="glossseealso.role.attrib"/>
-    <ref name="local.glossseealso.attrib"/>
-  </define>
-  <!-- end of glossseealso.attlist -->
-  <!-- end of glossseealso.module -->
-  <!-- end of glossentry.content.module -->
-  <!-- ItemizedList and OrderedList ..... -->
-  <define name="local.itemizedlist.attrib">
-    <empty/>
-  </define>
-  <define name="itemizedlist.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A list in which each entry is marked with a bullet or other dingbat. -->
-  <define name="itemizedlist">
-    <element name="itemizedlist">
-      <ref name="itemizedlist.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="listpreamble.mix"/>
-      </zeroOrMore>
-      <oneOrMore>
-        <ref name="listitem"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of itemizedlist.element -->
-  <!--
-    Spacing: Whether the vertical space in the list should be
-    compressed
-  -->
-  <!--
-    Mark: Keyword, e.g., bullet, dash, checkbox, none;
-    list of keywords and defaults are implementation specific
-  -->
-  <define name="itemizedlist.attlist" combine="interleave">
-    <optional>
-      <attribute name="spacing">
-        <choice>
-          <value>normal</value>
-          <value>compact</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="mark.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="itemizedlist.role.attrib"/>
-    <ref name="local.itemizedlist.attrib"/>
-  </define>
-  <!-- end of itemizedlist.attlist -->
-  <!-- end of itemizedlist.module -->
-  <define name="local.orderedlist.attrib">
-    <empty/>
-  </define>
-  <define name="orderedlist.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A list in which each entry is marked with a sequentially incremented label. -->
-  <define name="orderedlist">
-    <element name="orderedlist">
-      <ref name="orderedlist.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="listpreamble.mix"/>
-      </zeroOrMore>
-      <oneOrMore>
-        <ref name="listitem"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of orderedlist.element -->
-  <!--
-    Numeration: Style of ListItem numbered; default is expected
-    to be Arabic
-  -->
-  <!--
-    InheritNum: Specifies for a nested list that the numbering
-    of ListItems should include the number of the item
-    within which they are nested (e.g., 1a and 1b within 1,
-    rather than a and b)
-  -->
-  <!--
-    Continuation: Where list numbering begins afresh (Restarts,
-    the default) or continues that of the immediately preceding
-    list (Continues)
-  -->
-  <!--
-    Spacing: Whether the vertical space in the list should be
-    compressed
-  -->
-  <define name="orderedlist.attlist" combine="interleave">
-    <optional>
-      <attribute name="numeration">
-        <choice>
-          <value>arabic</value>
-          <value>upperalpha</value>
-          <value>loweralpha</value>
-          <value>upperroman</value>
-          <value>lowerroman</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="inheritnum" a:defaultValue="ignore">
-        <choice>
-          <value>inherit</value>
-          <value>ignore</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="continuation" a:defaultValue="restarts">
-        <choice>
-          <value>continues</value>
-          <value>restarts</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="spacing">
-        <choice>
-          <value>normal</value>
-          <value>compact</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="orderedlist.role.attrib"/>
-    <ref name="local.orderedlist.attrib"/>
-  </define>
-  <!-- end of orderedlist.attlist -->
-  <!-- end of orderedlist.module -->
-  <define name="local.listitem.attrib">
-    <empty/>
-  </define>
-  <define name="listitem.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for the elements of a list item. -->
-  <define name="listitem">
-    <element name="listitem">
-      <ref name="listitem.attlist"/>
-      <oneOrMore>
-        <ref name="component.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of listitem.element -->
-  <!--
-    Override: Indicates the mark to be used for this ListItem
-    instead of the default mark or the mark specified by
-    the Mark attribute on the enclosing ItemizedList
-  -->
-  <define name="listitem.attlist" combine="interleave">
-    <optional>
-      <attribute name="override"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="listitem.role.attrib"/>
-    <ref name="local.listitem.attrib"/>
-  </define>
-  <!-- end of listitem.attlist -->
-  <!-- end of listitem.module -->
-  <!-- SegmentedList .................... -->
-  <define name="local.segmentedlist.attrib">
-    <empty/>
-  </define>
-  <define name="segmentedlist.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A segmented list, a list of sets of elements. -->
-  <define name="segmentedlist">
-    <element name="segmentedlist">
-      <ref name="segmentedlist.attlist"/>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <oneOrMore>
-        <ref name="segtitle"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="seglistitem"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of segmentedlist.element -->
-  <define name="segmentedlist.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="segmentedlist.role.attrib"/>
-    <ref name="local.segmentedlist.attrib"/>
-  </define>
-  <!-- end of segmentedlist.attlist -->
-  <!-- end of segmentedlist.module -->
-  <define name="local.segtitle.attrib">
-    <empty/>
-  </define>
-  <define name="segtitle.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The title of an element of a list item in a segmented list. -->
-  <define name="segtitle">
-    <element name="segtitle">
-      <ref name="segtitle.attlist"/>
-      <zeroOrMore>
-        <ref name="title.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of segtitle.element -->
-  <define name="segtitle.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="segtitle.role.attrib"/>
-    <ref name="local.segtitle.attrib"/>
-  </define>
-  <!-- end of segtitle.attlist -->
-  <!-- end of segtitle.module -->
-  <define name="local.seglistitem.attrib">
-    <empty/>
-  </define>
-  <define name="seglistitem.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A list item in a segmented list. -->
-  <define name="seglistitem">
-    <element name="seglistitem">
-      <ref name="seglistitem.attlist"/>
-      <oneOrMore>
-        <ref name="seg"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of seglistitem.element -->
-  <define name="seglistitem.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="seglistitem.role.attrib"/>
-    <ref name="local.seglistitem.attrib"/>
-  </define>
-  <!-- end of seglistitem.attlist -->
-  <!-- end of seglistitem.module -->
-  <define name="local.seg.attrib">
-    <empty/>
-  </define>
-  <define name="seg.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An element of a list item in a segmented list. -->
-  <define name="seg">
-    <element name="seg">
-      <ref name="seg.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of seg.element -->
-  <define name="seg.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="seg.role.attrib"/>
-    <ref name="local.seg.attrib"/>
-  </define>
-  <!-- end of seg.attlist -->
-  <!-- end of seg.module -->
-  <!-- end of segmentedlist.content.module -->
-  <!-- SimpleList ....................... -->
-  <define name="local.simplelist.attrib">
-    <empty/>
-  </define>
-  <define name="simplelist.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An undecorated list of single words or short phrases. -->
-  <define name="simplelist">
-    <element name="simplelist">
-      <ref name="simplelist.attlist"/>
-      <oneOrMore>
-        <ref name="member"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of simplelist.element -->
-  <!-- Columns: The number of columns the array should contain -->
-  <!--
-    Type: How the Members of the SimpleList should be
-    formatted: Inline (members separated with commas etc.
-    inline), Vert (top to bottom in n Columns), or Horiz (in
-    the direction of text flow) in n Columns.  If Column
-    is 1 or implied, Type=Vert and Type=Horiz give the same
-    results.
-  -->
-  <define name="simplelist.attlist" combine="interleave">
-    <optional>
-      <attribute name="columns"/>
-    </optional>
-    <optional>
-      <attribute name="type" a:defaultValue="vert">
-        <choice>
-          <value>inline</value>
-          <value>vert</value>
-          <value>horiz</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="simplelist.role.attrib"/>
-    <ref name="local.simplelist.attrib"/>
-  </define>
-  <!-- end of simplelist.attlist -->
-  <!-- end of simplelist.module -->
-  <define name="local.member.attrib">
-    <empty/>
-  </define>
-  <define name="member.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An element of a simple list. -->
-  <define name="member">
-    <element name="member">
-      <ref name="member.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of member.element -->
-  <define name="member.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="member.role.attrib"/>
-    <ref name="local.member.attrib"/>
-  </define>
-  <!-- end of member.attlist -->
-  <!-- end of member.module -->
-  <!-- end of simplelist.content.module -->
-  <!-- VariableList ..................... -->
-  <define name="local.variablelist.attrib">
-    <empty/>
-  </define>
-  <define name="variablelist.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A list in which each entry is composed of a set of one or more terms and an associated description. -->
-  <define name="variablelist">
-    <element name="variablelist">
-      <ref name="variablelist.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="listpreamble.mix"/>
-      </zeroOrMore>
-      <oneOrMore>
-        <ref name="varlistentry"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of variablelist.element -->
-  <!--
-    TermLength: Length beyond which the presentation engine
-    may consider the Term too long and select an alternate
-    presentation of the Term and, or, its associated ListItem.
-  -->
-  <define name="variablelist.attlist" combine="interleave">
-    <optional>
-      <attribute name="termlength"/>
-    </optional>
-    <optional>
-      <attribute name="spacing">
-        <choice>
-          <value>normal</value>
-          <value>compact</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="variablelist.role.attrib"/>
-    <ref name="local.variablelist.attrib"/>
-  </define>
-  <!-- end of variablelist.attlist -->
-  <!-- end of variablelist.module -->
-  <define name="local.varlistentry.attrib">
-    <empty/>
-  </define>
-  <define name="varlistentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for a set of terms and the associated description in a variable list. -->
-  <define name="varlistentry">
-    <element name="varlistentry">
-      <ref name="varlistentry.attlist"/>
-      <oneOrMore>
-        <ref name="term"/>
-      </oneOrMore>
-      <ref name="listitem"/>
-    </element>
-  </define>
-  <!-- end of varlistentry.element -->
-  <define name="varlistentry.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="varlistentry.role.attrib"/>
-    <ref name="local.varlistentry.attrib"/>
-  </define>
-  <!-- end of varlistentry.attlist -->
-  <!-- end of varlistentry.module -->
-  <define name="local.term.attrib">
-    <empty/>
-  </define>
-  <define name="term.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The word or phrase being defined or described in a variable list. -->
-  <define name="term">
-    <element name="term">
-      <ref name="term.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of term.element -->
-  <define name="term.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="term.role.attrib"/>
-    <ref name="local.term.attrib"/>
-  </define>
-  <!-- end of term.attlist -->
-  <!-- end of term.module -->
-  <!--  ListItem (defined above) -->
-  <!-- end of variablelist.content.module -->
-  <!-- CalloutList ...................... -->
-  <define name="local.calloutlist.attrib">
-    <empty/>
-  </define>
-  <define name="calloutlist.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A list of Callouts. -->
-  <define name="calloutlist">
-    <element name="calloutlist">
-      <ref name="calloutlist.attlist"/>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <oneOrMore>
-        <ref name="callout"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of calloutlist.element -->
-  <define name="calloutlist.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="calloutlist.role.attrib"/>
-    <ref name="local.calloutlist.attrib"/>
-  </define>
-  <!-- end of calloutlist.attlist -->
-  <!-- end of calloutlist.module -->
-  <define name="local.callout.attrib">
-    <empty/>
-  </define>
-  <define name="callout.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A &ldquo;called out&rdquo; description of a marked Area. -->
-  <define name="callout">
-    <element name="callout">
-      <ref name="callout.attlist"/>
-      <oneOrMore>
-        <ref name="component.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of callout.element -->
-  <!--
-    AreaRefs: IDs of one or more Areas or AreaSets described
-    by this Callout
-  -->
-  <define name="callout.attlist" combine="interleave">
-    <attribute name="arearefs">
-      <data type="IDREFS"/>
-    </attribute>
-    <ref name="common.attrib"/>
-    <ref name="callout.role.attrib"/>
-    <ref name="local.callout.attrib"/>
-  </define>
-  <!-- end of callout.attlist -->
-  <!-- end of callout.module -->
-  <!-- end of calloutlist.content.module -->
-  <!-- ...................................................................... -->
-  <!-- Objects .............................................................. -->
-  <!-- Examples etc. .................... -->
-  <define name="local.example.attrib">
-    <empty/>
-  </define>
-  <define name="example.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A formal example, with a title. -->
-  <define name="example">
-    <element name="example">
-      <ref name="example.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <ref name="formalobject.title.content"/>
-      <oneOrMore>
-        <ref name="example.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of example.element -->
-  <define name="example.attlist" combine="interleave">
-    <optional>
-      <attribute name="floatstyle"/>
-    </optional>
-    <ref name="label.attrib"/>
-    <ref name="width.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="example.role.attrib"/>
-    <ref name="local.example.attrib"/>
-  </define>
-  <!-- end of example.attlist -->
-  <!-- end of example.module -->
-  <define name="local.informalexample.attrib">
-    <empty/>
-  </define>
-  <define name="informalexample.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A displayed example without a title. -->
-  <define name="informalexample">
-    <element name="informalexample">
-      <ref name="informalexample.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <oneOrMore>
-        <ref name="example.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of informalexample.element -->
-  <define name="informalexample.attlist" combine="interleave">
-    <optional>
-      <attribute name="floatstyle"/>
-    </optional>
-    <ref name="width.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="informalexample.role.attrib"/>
-    <ref name="local.informalexample.attrib"/>
-  </define>
-  <!-- end of informalexample.attlist -->
-  <!-- end of informalexample.module -->
-  <define name="local.programlistingco.attrib">
-    <empty/>
-  </define>
-  <define name="programlistingco.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A program listing with associated areas used in callouts. -->
-  <define name="programlistingco">
-    <element name="programlistingco">
-      <ref name="programlistingco.attlist"/>
-      <ref name="areaspec"/>
-      <ref name="programlisting"/>
-      <zeroOrMore>
-        <ref name="calloutlist"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of programlistingco.element -->
-  <define name="programlistingco.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="programlistingco.role.attrib"/>
-    <ref name="local.programlistingco.attrib"/>
-  </define>
-  <!-- end of programlistingco.attlist -->
-  <!--  CalloutList (defined above in Lists) -->
-  <!-- end of informalexample.module -->
-  <define name="local.areaspec.attrib">
-    <empty/>
-  </define>
-  <define name="areaspec.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A collection of regions in a graphic or code example. -->
-  <define name="areaspec">
-    <element name="areaspec">
-      <ref name="areaspec.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="area"/>
-          <ref name="areaset"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of areaspec.element -->
-  <!--
-    Units: global unit of measure in which coordinates in
-    this spec are expressed:
-    
-    - CALSPair "x1,y1 x2,y2": lower-left and upper-right
-    coordinates in a rectangle describing repro area in which
-    graphic is placed, where X and Y dimensions are each some
-    number 0..10000 (taken from CALS graphic attributes)
-    
-    - LineColumn "line column": line number and column number
-    at which to start callout text in "linespecific" content
-    
-    - LineRange "startline endline": whole lines from startline
-    to endline in "linespecific" content
-    
-    - LineColumnPair "line1 col1 line2 col2": starting and ending
-    points of area in "linespecific" content that starts at
-    first position and ends at second position (including the
-    beginnings of any intervening lines)
-    
-    - Other: directive to look at value of OtherUnits attribute
-    to get implementation-specific keyword
-    
-    The default is implementation-specific; usually dependent on
-    the parent element (GraphicCO gets CALSPair, ProgramListingCO
-    and ScreenCO get LineColumn)
-  -->
-  <!-- OtherUnits: User-defined units -->
-  <define name="areaspec.attlist" combine="interleave">
-    <optional>
-      <attribute name="units">
-        <choice>
-          <value>calspair</value>
-          <value>linecolumn</value>
-          <value>linerange</value>
-          <value>linecolumnpair</value>
-          <value>other</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="otherunits">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="areaspec.role.attrib"/>
-    <ref name="local.areaspec.attrib"/>
-  </define>
-  <!-- end of areaspec.attlist -->
-  <!-- end of areaspec.module -->
-  <define name="local.area.attrib">
-    <empty/>
-  </define>
-  <define name="area.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A region defined for a Callout in a graphic or code example. -->
-  <define name="area">
-    <element name="area">
-      <ref name="area.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of area.element -->
-  <!-- bug number/symbol override or initialization -->
-  <!-- to any related information -->
-  <!--
-    Units: unit of measure in which coordinates in this
-    area are expressed; inherits from AreaSet and AreaSpec
-  -->
-  <!-- OtherUnits: User-defined units -->
-  <define name="area.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="linkends.attrib"/>
-    <optional>
-      <attribute name="units">
-        <choice>
-          <value>calspair</value>
-          <value>linecolumn</value>
-          <value>linerange</value>
-          <value>linecolumnpair</value>
-          <value>other</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="otherunits">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <attribute name="coords"/>
-    <ref name="idreq.common.attrib"/>
-    <ref name="area.role.attrib"/>
-    <ref name="local.area.attrib"/>
-  </define>
-  <!-- end of area.attlist -->
-  <!-- end of area.module -->
-  <define name="local.areaset.attrib">
-    <empty/>
-  </define>
-  <define name="areaset.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A set of related areas in a graphic or code example. -->
-  <define name="areaset">
-    <element name="areaset">
-      <ref name="areaset.attlist"/>
-      <oneOrMore>
-        <ref name="area"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of areaset.element -->
-  <!-- bug number/symbol override or initialization -->
-  <!--
-    Units: unit of measure in which coordinates in this
-    area are expressed; inherits from AreaSpec
-  -->
-  <define name="areaset.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <optional>
-      <attribute name="units">
-        <choice>
-          <value>calspair</value>
-          <value>linecolumn</value>
-          <value>linerange</value>
-          <value>linecolumnpair</value>
-          <value>other</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="otherunits">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <attribute name="coords"/>
-    <ref name="idreq.common.attrib"/>
-    <ref name="areaset.role.attrib"/>
-    <ref name="local.areaset.attrib"/>
-  </define>
-  <!-- end of areaset.attlist -->
-  <!-- end of areaset.module -->
-  <!-- end of areaspec.content.module -->
-  <define name="local.programlisting.attrib">
-    <empty/>
-  </define>
-  <define name="programlisting.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A literal listing of all or part of a program. -->
-  <define name="programlisting">
-    <element name="programlisting">
-      <ref name="programlisting.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="para.char.mix"/>
-          <ref name="co"/>
-          <ref name="coref"/>
-          <ref name="lineannotation"/>
-          <ref name="textobject"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of programlisting.element -->
-  <define name="programlisting.attlist" combine="interleave">
-    <ref name="width.attrib"/>
-    <ref name="linespecific.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="programlisting.role.attrib"/>
-    <ref name="local.programlisting.attrib"/>
-  </define>
-  <!-- end of programlisting.attlist -->
-  <!-- end of programlisting.module -->
-  <define name="local.literallayout.attrib">
-    <empty/>
-  </define>
-  <define name="literallayout.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A block of text in which line breaks and white space are to be reproduced faithfully. -->
-  <define name="literallayout">
-    <element name="literallayout">
-      <ref name="literallayout.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="para.char.mix"/>
-          <ref name="co"/>
-          <ref name="coref"/>
-          <ref name="textobject"/>
-          <ref name="lineannotation"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of literallayout.element -->
-  <define name="literallayout.attlist" combine="interleave">
-    <ref name="width.attrib"/>
-    <ref name="linespecific.attrib"/>
-    <optional>
-      <attribute name="class" a:defaultValue="normal">
-        <choice>
-          <value>monospaced</value>
-          <value>normal</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="literallayout.role.attrib"/>
-    <ref name="local.literallayout.attrib"/>
-  </define>
-  <!-- end of literallayout.attlist -->
-  <!--  LineAnnotation (defined in the Inlines section, below) -->
-  <!-- end of literallayout.module -->
-  <define name="local.screenco.attrib">
-    <empty/>
-  </define>
-  <define name="screenco.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A screen with associated areas used in callouts. -->
-  <define name="screenco">
-    <element name="screenco">
-      <ref name="screenco.attlist"/>
-      <ref name="areaspec"/>
-      <ref name="screen"/>
-      <zeroOrMore>
-        <ref name="calloutlist"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of screenco.element -->
-  <define name="screenco.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="screenco.role.attrib"/>
-    <ref name="local.screenco.attrib"/>
-  </define>
-  <!-- end of screenco.attlist -->
-  <!--  AreaSpec (defined above) -->
-  <!--  CalloutList (defined above in Lists) -->
-  <!-- end of screenco.module -->
-  <define name="local.screen.attrib">
-    <empty/>
-  </define>
-  <define name="screen.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Text that a user sees or might see on a computer screen. -->
-  <define name="screen">
-    <element name="screen">
-      <ref name="screen.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="para.char.mix"/>
-          <ref name="co"/>
-          <ref name="coref"/>
-          <ref name="textobject"/>
-          <ref name="lineannotation"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of screen.element -->
-  <define name="screen.attlist" combine="interleave">
-    <ref name="width.attrib"/>
-    <ref name="linespecific.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="screen.role.attrib"/>
-    <ref name="local.screen.attrib"/>
-  </define>
-  <!-- end of screen.attlist -->
-  <!-- end of screen.module -->
-  <define name="local.screenshot.attrib">
-    <empty/>
-  </define>
-  <define name="screenshot.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A representation of what the user sees or might see on a computer screen. -->
-  <define name="screenshot">
-    <element name="screenshot">
-      <ref name="screenshot.attlist"/>
-      <optional>
-        <ref name="screeninfo"/>
-      </optional>
-      <choice>
-        <ref name="graphic"/>
-        <ref name="graphicco"/>
-        <ref name="mediaobject"/>
-        <ref name="mediaobjectco"/>
-      </choice>
-    </element>
-  </define>
-  <!-- end of screenshot.element -->
-  <define name="screenshot.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="screenshot.role.attrib"/>
-    <ref name="local.screenshot.attrib"/>
-  </define>
-  <!-- end of screenshot.attlist -->
-  <!-- end of screenshot.module -->
-  <define name="local.screeninfo.attrib">
-    <empty/>
-  </define>
-  <define name="screeninfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Information about how a screen shot was produced. -->
-  <define name="screeninfo">
-    <element name="screeninfo">
-      <ref name="screeninfo.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of screeninfo.element -->
-  <define name="screeninfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="screeninfo.role.attrib"/>
-    <ref name="local.screeninfo.attrib"/>
-  </define>
-  <!-- end of screeninfo.attlist -->
-  <!-- end of screeninfo.module -->
-  <!-- end of screenshot.content.module -->
-  <!-- Figures etc. ..................... -->
-  <define name="local.figure.attrib">
-    <empty/>
-  </define>
-  <define name="figure.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A formal figure, generally an illustration, with a title. -->
-  <define name="figure">
-    <element name="figure">
-      <ref name="figure.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <ref name="formalobject.title.content"/>
-      <oneOrMore>
-        <choice>
-          <ref name="figure.mix"/>
-          <ref name="link.char.class"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of figure.element -->
-  <!--
-    Float: Whether the Figure is supposed to be rendered
-    where convenient (yes (1) value) or at the place it occurs
-    in the text (no (0) value, the default)
-  -->
-  <define name="figure.attlist" combine="interleave">
-    <optional>
-      <attribute name="float" a:defaultValue="0">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="floatstyle"/>
-    </optional>
-    <optional>
-      <attribute name="pgwide">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <ref name="label.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="figure.role.attrib"/>
-    <ref name="local.figure.attrib"/>
-  </define>
-  <!-- end of figure.attlist -->
-  <!-- end of figure.module -->
-  <define name="local.informalfigure.attrib">
-    <empty/>
-  </define>
-  <define name="informalfigure.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A untitled figure. -->
-  <define name="informalfigure">
-    <element name="informalfigure">
-      <ref name="informalfigure.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <oneOrMore>
-        <choice>
-          <ref name="figure.mix"/>
-          <ref name="link.char.class"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of informalfigure.element -->
-  <!--
-    Float: Whether the Figure is supposed to be rendered
-    where convenient (yes (1) value) or at the place it occurs
-    in the text (no (0) value, the default)
-  -->
-  <define name="informalfigure.attlist" combine="interleave">
-    <optional>
-      <attribute name="float" a:defaultValue="0">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="floatstyle"/>
-    </optional>
-    <optional>
-      <attribute name="pgwide">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <ref name="label.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="informalfigure.role.attrib"/>
-    <ref name="local.informalfigure.attrib"/>
-  </define>
-  <!-- end of informalfigure.attlist -->
-  <!-- end of informalfigure.module -->
-  <define name="local.graphicco.attrib">
-    <empty/>
-  </define>
-  <define name="graphicco.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A graphic that contains callout areas. -->
-  <define name="graphicco">
-    <element name="graphicco">
-      <ref name="graphicco.attlist"/>
-      <ref name="areaspec"/>
-      <ref name="graphic"/>
-      <zeroOrMore>
-        <ref name="calloutlist"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of graphicco.element -->
-  <define name="graphicco.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="graphicco.role.attrib"/>
-    <ref name="local.graphicco.attrib"/>
-  </define>
-  <!-- end of graphicco.attlist -->
-  <!--  AreaSpec (defined above in Examples) -->
-  <!--  CalloutList (defined above in Lists) -->
-  <!-- end of graphicco.module -->
-  <!--
-    Graphical data can be the content of Graphic, or you can reference
-    an external file either as an entity (Entitref) or a filename
-    (Fileref).
-  -->
-  <define name="local.graphic.attrib">
-    <empty/>
-  </define>
-  <define name="graphic.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A displayed graphical object (not an inline). -->
-  <define name="graphic">
-    <element name="graphic">
-      <ref name="graphic.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of graphic.element -->
-  <define name="graphic.attlist" combine="interleave">
-    <ref name="graphics.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="graphic.role.attrib"/>
-    <ref name="local.graphic.attrib"/>
-  </define>
-  <!-- end of graphic.attlist -->
-  <!-- end of graphic.module -->
-  <define name="local.inlinegraphic.attrib">
-    <empty/>
-  </define>
-  <define name="inlinegraphic.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An object containing or pointing to graphical data that will be rendered inline. -->
-  <define name="inlinegraphic">
-    <element name="inlinegraphic">
-      <ref name="inlinegraphic.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of inlinegraphic.element -->
-  <define name="inlinegraphic.attlist" combine="interleave">
-    <ref name="graphics.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="inlinegraphic.role.attrib"/>
-    <ref name="local.inlinegraphic.attrib"/>
-  </define>
-  <!-- end of inlinegraphic.attlist -->
-  <!-- end of inlinegraphic.module -->
-  <define name="local.mediaobject.attrib">
-    <empty/>
-  </define>
-  <define name="mediaobject.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A displayed media object (video, audio, image, etc.). -->
-  <define name="mediaobject">
-    <element name="mediaobject">
-      <ref name="mediaobject.attlist"/>
-      <optional>
-        <ref name="objectinfo"/>
-      </optional>
-      <oneOrMore>
-        <ref name="mediaobject.mix"/>
-      </oneOrMore>
-      <optional>
-        <ref name="caption"/>
-      </optional>
-    </element>
-  </define>
-  <!-- end of mediaobject.element -->
-  <define name="mediaobject.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="mediaobject.role.attrib"/>
-    <ref name="local.mediaobject.attrib"/>
-  </define>
-  <!-- end of mediaobject.attlist -->
-  <!-- end of mediaobject.module -->
-  <define name="local.inlinemediaobject.attrib">
-    <empty/>
-  </define>
-  <define name="inlinemediaobject.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An inline media object (video, audio, image, and so on). -->
-  <define name="inlinemediaobject">
-    <element name="inlinemediaobject">
-      <ref name="inlinemediaobject.attlist"/>
-      <optional>
-        <ref name="objectinfo"/>
-      </optional>
-      <oneOrMore>
-        <ref name="mediaobject.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of inlinemediaobject.element -->
-  <define name="inlinemediaobject.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="inlinemediaobject.role.attrib"/>
-    <ref name="local.inlinemediaobject.attrib"/>
-  </define>
-  <!-- end of inlinemediaobject.attlist -->
-  <!-- end of inlinemediaobject.module -->
-  <define name="local.videoobject.attrib">
-    <empty/>
-  </define>
-  <define name="videoobject.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for video data and its associated meta-information. -->
-  <define name="videoobject">
-    <element name="videoobject">
-      <ref name="videoobject.attlist"/>
-      <optional>
-        <ref name="objectinfo"/>
-      </optional>
-      <ref name="videodata"/>
-    </element>
-  </define>
-  <!-- end of videoobject.element -->
-  <define name="videoobject.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="videoobject.role.attrib"/>
-    <ref name="local.videoobject.attrib"/>
-  </define>
-  <!-- end of videoobject.attlist -->
-  <!-- end of videoobject.module -->
-  <define name="local.audioobject.attrib">
-    <empty/>
-  </define>
-  <define name="audioobject.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for audio data and its associated meta-information. -->
-  <define name="audioobject">
-    <element name="audioobject">
-      <ref name="audioobject.attlist"/>
-      <optional>
-        <ref name="objectinfo"/>
-      </optional>
-      <ref name="audiodata"/>
-    </element>
-  </define>
-  <!-- end of audioobject.element -->
-  <define name="audioobject.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="audioobject.role.attrib"/>
-    <ref name="local.audioobject.attrib"/>
-  </define>
-  <!-- end of audioobject.attlist -->
-  <!-- end of audioobject.module -->
-  <define name="local.imageobject.attrib">
-    <empty/>
-  </define>
-  <define name="imageobject.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for image data and its associated meta-information. -->
-  <define name="imageobject">
-    <element name="imageobject">
-      <ref name="imageobject.attlist"/>
-      <optional>
-        <ref name="objectinfo"/>
-      </optional>
-      <ref name="imagedata"/>
-    </element>
-  </define>
-  <!-- end of imageobject.element -->
-  <define name="imageobject.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="imageobject.role.attrib"/>
-    <ref name="local.imageobject.attrib"/>
-  </define>
-  <!-- end of imageobject.attlist -->
-  <!-- end of imageobject.module -->
-  <define name="local.textobject.attrib">
-    <empty/>
-  </define>
-  <define name="textobject.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for a text description of an object and its associated meta-information. -->
-  <define name="textobject">
-    <element name="textobject">
-      <ref name="textobject.attlist"/>
-      <optional>
-        <ref name="objectinfo"/>
-      </optional>
-      <choice>
-        <ref name="phrase"/>
-        <ref name="textdata"/>
-        <oneOrMore>
-          <ref name="textobject.mix"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-  <!-- end of textobject.element -->
-  <define name="textobject.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="textobject.role.attrib"/>
-    <ref name="local.textobject.attrib"/>
-  </define>
-  <!-- end of textobject.attlist -->
-  <!-- end of textobject.module -->
-  <define name="local.objectinfo.attrib">
-    <empty/>
-  </define>
-  <define name="objectinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Meta-information for an object. -->
-  <define name="objectinfo">
-    <element name="objectinfo">
-      <ref name="objectinfo.attlist"/>
-      <oneOrMore>
-        <ref name="info.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of objectinfo.element -->
-  <define name="objectinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="objectinfo.role.attrib"/>
-    <ref name="local.objectinfo.attrib"/>
-  </define>
-  <!-- end of objectinfo.attlist -->
-  <!-- end of objectinfo.module -->
-  <!--
-    EntityRef: Name of an external entity containing the content
-    of the object data
-  -->
-  <!--
-    FileRef: Filename, qualified by a pathname if desired,
-    designating the file containing the content of the object data
-  -->
-  <!-- Format: Notation of the element content, if any -->
-  <!-- SrcCredit: Information about the source of the image -->
-  <define name="local.objectdata.attrib">
-    <empty/>
-  </define>
-  <define name="objectdata.attrib">
-    <optional>
-      <attribute name="entityref">
-        <data type="ENTITY"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="fileref"/>
-    </optional>
-    <optional>
-      <attribute name="format">
-        <choice>
-          <ref name="notation.class"/>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="srccredit"/>
-    </optional>
-    <ref name="local.objectdata.attrib"/>
-  </define>
-  <define name="local.videodata.attrib">
-    <empty/>
-  </define>
-  <define name="videodata.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Pointer to external video data. -->
-  <define name="videodata">
-    <element name="videodata">
-      <ref name="videodata.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of videodata.element -->
-  <!-- Width: Same as CALS reprowid (desired width) -->
-  <!-- Depth: Same as CALS reprodep (desired depth) -->
-  <!--
-    Align: Same as CALS hplace with 'none' removed; #IMPLIED means
-    application-specific
-  -->
-  <!-- Scale: Conflation of CALS hscale and vscale -->
-  <!-- Scalefit: Same as CALS scalefit -->
-  <define name="videodata.attlist" combine="interleave">
-    <optional>
-      <attribute name="width"/>
-    </optional>
-    <optional>
-      <attribute name="contentwidth"/>
-    </optional>
-    <optional>
-      <attribute name="depth"/>
-    </optional>
-    <optional>
-      <attribute name="contentdepth"/>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="scale"/>
-    </optional>
-    <optional>
-      <attribute name="scalefit">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <ref name="objectdata.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="videodata.role.attrib"/>
-    <ref name="local.videodata.attrib"/>
-  </define>
-  <!-- end of videodata.attlist -->
-  <!-- end of videodata.module -->
-  <define name="local.audiodata.attrib">
-    <empty/>
-  </define>
-  <define name="audiodata.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Pointer to external audio data. -->
-  <define name="audiodata">
-    <element name="audiodata">
-      <ref name="audiodata.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of audiodata.element -->
-  <define name="audiodata.attlist" combine="interleave">
-    <ref name="objectdata.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="audiodata.role.attrib"/>
-    <ref name="local.audiodata.attrib"/>
-  </define>
-  <!-- end of audiodata.attlist -->
-  <!-- end of audiodata.module -->
-  <define name="local.imagedata.attrib">
-    <empty/>
-  </define>
-  <define name="imagedata.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Pointer to external image data. -->
-  <define name="imagedata">
-    <element name="imagedata">
-      <ref name="imagedata.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of imagedata.element -->
-  <!-- Width: Same as CALS reprowid (desired width) -->
-  <!-- Depth: Same as CALS reprodep (desired depth) -->
-  <!--
-    Align: Same as CALS hplace with 'none' removed; #IMPLIED means
-    application-specific
-  -->
-  <!-- Scale: Conflation of CALS hscale and vscale -->
-  <!-- Scalefit: Same as CALS scalefit -->
-  <define name="imagedata.attlist" combine="interleave">
-    <optional>
-      <attribute name="width"/>
-    </optional>
-    <optional>
-      <attribute name="contentwidth"/>
-    </optional>
-    <optional>
-      <attribute name="depth"/>
-    </optional>
-    <optional>
-      <attribute name="contentdepth"/>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="scale"/>
-    </optional>
-    <optional>
-      <attribute name="scalefit">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <ref name="objectdata.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="imagedata.role.attrib"/>
-    <ref name="local.imagedata.attrib"/>
-  </define>
-  <!-- end of imagedata.attlist -->
-  <!-- end of imagedata.module -->
-  <define name="local.textdata.attrib">
-    <empty/>
-  </define>
-  <define name="textdata.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Pointer to external text data. -->
-  <define name="textdata">
-    <element name="textdata">
-      <ref name="textdata.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of textdata.element -->
-  <define name="textdata.attlist" combine="interleave">
-    <optional>
-      <attribute name="encoding"/>
-    </optional>
-    <ref name="objectdata.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="textdata.role.attrib"/>
-    <ref name="local.textdata.attrib"/>
-  </define>
-  <!-- end of textdata.attlist -->
-  <!-- end of textdata.module -->
-  <define name="local.mediaobjectco.attrib">
-    <empty/>
-  </define>
-  <define name="mediaobjectco.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A media object that contains callouts. -->
-  <define name="mediaobjectco">
-    <element name="mediaobjectco">
-      <ref name="mediaobjectco.attlist"/>
-      <optional>
-        <ref name="objectinfo"/>
-      </optional>
-      <ref name="imageobjectco"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="imageobjectco"/>
-          <ref name="textobject"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of mediaobjectco.element -->
-  <define name="mediaobjectco.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="mediaobjectco.role.attrib"/>
-    <ref name="local.mediaobjectco.attrib"/>
-  </define>
-  <!-- end of mediaobjectco.attlist -->
-  <!-- end of mediaobjectco.module -->
-  <define name="local.imageobjectco.attrib">
-    <empty/>
-  </define>
-  <define name="imageobjectco.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for an image object with callouts. -->
-  <define name="imageobjectco">
-    <element name="imageobjectco">
-      <ref name="imageobjectco.attlist"/>
-      <ref name="areaspec"/>
-      <ref name="imageobject"/>
-      <zeroOrMore>
-        <ref name="calloutlist"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of imageobjectco.element -->
-  <define name="imageobjectco.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="imageobjectco.role.attrib"/>
-    <ref name="local.imageobjectco.attrib"/>
-  </define>
-  <!-- end of imageobjectco.attlist -->
-  <!-- end of imageobjectco.module -->
-  <!-- end of mediaobject.content.module -->
-  <!-- Equations ........................ -->
-  <!-- This PE provides a mechanism for replacing equation content, -->
-  <!-- perhaps adding a new or different model (e.g., MathML) -->
-  <define name="equation.content">
-    <optional>
-      <ref name="alt"/>
-    </optional>
-    <choice>
-      <oneOrMore>
-        <ref name="graphic"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="mediaobject"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="mathphrase"/>
-      </oneOrMore>
-    </choice>
-  </define>
-  <define name="inlineequation.content">
-    <optional>
-      <ref name="alt"/>
-    </optional>
-    <choice>
-      <oneOrMore>
-        <ref name="graphic"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="inlinemediaobject"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="mathphrase"/>
-      </oneOrMore>
-    </choice>
-  </define>
-  <define name="local.equation.attrib">
-    <empty/>
-  </define>
-  <define name="equation.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A displayed mathematical equation. -->
-  <define name="equation">
-    <element name="equation">
-      <ref name="equation.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <choice>
-        <ref name="informalequation"/>
-        <ref name="equation.content"/>
-      </choice>
-    </element>
-  </define>
-  <!-- end of equation.element -->
-  <define name="equation.attlist" combine="interleave">
-    <optional>
-      <attribute name="floatstyle"/>
-    </optional>
-    <ref name="label.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="equation.role.attrib"/>
-    <ref name="local.equation.attrib"/>
-  </define>
-  <!-- end of equation.attlist -->
-  <!-- end of equation.module -->
-  <define name="local.informalequation.attrib">
-    <empty/>
-  </define>
-  <define name="informalequation.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A displayed mathematical equation without a title. -->
-  <define name="informalequation">
-    <element name="informalequation">
-      <ref name="informalequation.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <ref name="equation.content"/>
-    </element>
-  </define>
-  <!-- end of informalequation.element -->
-  <define name="informalequation.attlist" combine="interleave">
-    <optional>
-      <attribute name="floatstyle"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="informalequation.role.attrib"/>
-    <ref name="local.informalequation.attrib"/>
-  </define>
-  <!-- end of informalequation.attlist -->
-  <!-- end of informalequation.module -->
-  <define name="local.inlineequation.attrib">
-    <empty/>
-  </define>
-  <define name="inlineequation.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A mathematical equation or expression occurring inline. -->
-  <define name="inlineequation">
-    <element name="inlineequation">
-      <ref name="inlineequation.attlist"/>
-      <ref name="inlineequation.content"/>
-    </element>
-  </define>
-  <!-- end of inlineequation.element -->
-  <define name="inlineequation.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="inlineequation.role.attrib"/>
-    <ref name="local.inlineequation.attrib"/>
-  </define>
-  <!-- end of inlineequation.attlist -->
-  <!-- end of inlineequation.module -->
-  <define name="local.alt.attrib">
-    <empty/>
-  </define>
-  <define name="alt.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Text representation for a graphical element. -->
-  <define name="alt">
-    <element name="alt">
-      <ref name="alt.attlist"/>
-      <text/>
-    </element>
-  </define>
-  <!-- end of alt.element -->
-  <define name="alt.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="alt.role.attrib"/>
-    <ref name="local.alt.attrib"/>
-  </define>
-  <!-- end of alt.attlist -->
-  <!-- end of alt.module -->
-  <define name="local.mathphrase.attrib">
-    <empty/>
-  </define>
-  <define name="mathphrase.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A mathematical phrase, an expression that can be represented with ordinary text and a small amount of markup. -->
-  <define name="mathphrase">
-    <element name="mathphrase">
-      <ref name="mathphrase.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="subscript"/>
-          <ref name="superscript"/>
-          <ref name="emphasis"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of mathphrase.element -->
-  <define name="mathphrase.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="mathphrase.role.attrib"/>
-    <ref name="local.mathphrase.attrib"/>
-  </define>
-  <!-- end of mathphrase.attlist -->
-  <!-- end of mathphrase.module -->
-  <!-- Tables ........................... -->
-  <!-- Choose a table model. CALS or OASIS XML Exchange -->
-  <!-- Do we allow the HTML table model as well? -->
-  <!-- ====================================================== -->
-  <!--
-    xhtmltbl.mod defines HTML tables and sets parameter
-    entities so that, when the CALS table module is read,
-    we end up allowing any table to be CALS or HTML.
-    i.e. This include must come first!
-  -->
-  <!-- ====================================================== -->
-  <include href="htmltblx.rng"/>
-  <!-- end of allow.html.tables -->
-  <!-- Add label and role attributes to table and informaltable -->
-  <!--
-    Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
-    EntryTbl, and Entry (and InformalTable element).
-  -->
-  <!-- Content model for Table. -->
-  <!-- Allow either objects or inlines; beware of REs between elements. -->
-  <!-- Reference CALS Table Model -->
-  <include href="calstblx.rng"/>
-  <!-- end of table.module -->
-  <!--
-    Note that InformalTable is dependent on some of the entity
-    declarations that customize Table.
-  -->
-  <define name="local.informaltable.attrib">
-    <empty/>
-  </define>
-  <!-- the following entity may have been declared by the XHTML table module -->
-  <!-- doc:A table without a title. -->
-  <define name="informaltable">
-    <element name="informaltable">
-      <ref name="informaltable.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <ref name="informal.tbl.table.mdl"/>
-    </element>
-  </define>
-  <!-- end of informaltable.element -->
-  <!--
-    Frame, Colsep, and Rowsep must be repeated because
-    they are not in entities in the table module.
-  -->
-  <!--
-    includes TabStyle, ToCentry, ShortEntry,
-    Orient, PgWide
-  -->
-  <!-- includes Label -->
-  <!-- includes common attributes -->
-  <define name="informaltable.attlist" combine="interleave">
-    <optional>
-      <attribute name="frame">
-        <choice>
-          <ref name="tbl.frame.attval"/>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <ref name="common.table.attribs"/>
-    <ref name="tbl.table.att"/>
-    <ref name="local.informaltable.attrib"/>
-  </define>
-  <!-- end of informaltable.attlist -->
-  <!-- end of informaltable.module -->
-  <define name="local.caption.attrib">
-    <empty/>
-  </define>
-  <define name="caption.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A caption. -->
-  <define name="caption">
-    <element name="caption">
-      <ref name="caption.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="textobject.mix"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of caption.element -->
-  <!-- attrs comes from HTML tables ... -->
-  <!-- common.attrib, but without ID because ID is in attrs -->
-  <define name="caption.attlist.content">
-    <ref name="caption.role.attrib"/>
-    <ref name="attrs"/>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>top</value>
-          <value>bottom</value>
-          <value>left</value>
-          <value>right</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="local.caption.attrib"/>
-  </define>
-  <define name="caption.attlist" combine="interleave">
-    <ref name="caption.attlist.content"/>
-  </define>
-  <!-- end of caption.attlist -->
-  <!-- end of caption.module -->
-  <!-- ...................................................................... -->
-  <!-- Synopses ............................................................. -->
-  <!-- Synopsis ......................... -->
-  <define name="local.synopsis.attrib">
-    <empty/>
-  </define>
-  <define name="synopsis.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A general-purpose element for representing the syntax of commands or functions. -->
-  <define name="synopsis">
-    <element name="synopsis">
-      <ref name="synopsis.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="para.char.mix"/>
-          <ref name="graphic"/>
-          <ref name="mediaobject"/>
-          <ref name="co"/>
-          <ref name="coref"/>
-          <ref name="textobject"/>
-          <ref name="lineannotation"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of synopsis.element -->
-  <define name="synopsis.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="linespecific.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="synopsis.role.attrib"/>
-    <ref name="local.synopsis.attrib"/>
-  </define>
-  <!-- end of synopsis.attlist -->
-  <!--  LineAnnotation (defined in the Inlines section, below) -->
-  <!-- end of synopsis.module -->
-  <!-- CmdSynopsis ...................... -->
-  <define name="local.cmdsynopsis.attrib">
-    <empty/>
-  </define>
-  <define name="cmdsynopsis.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A syntax summary for a software command. -->
-  <define name="cmdsynopsis">
-    <element name="cmdsynopsis">
-      <ref name="cmdsynopsis.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="command"/>
-          <ref name="arg"/>
-          <ref name="group"/>
-          <ref name="sbr"/>
-        </choice>
-      </oneOrMore>
-      <zeroOrMore>
-        <ref name="synopfragment"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of cmdsynopsis.element -->
-  <!--
-    Sepchar: Character that should separate command and all
-    top-level arguments; alternate value might be e.g., &Delta;
-  -->
-  <define name="cmdsynopsis.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <optional>
-      <attribute name="sepchar" a:defaultValue=" "/>
-    </optional>
-    <optional>
-      <attribute name="cmdlength"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="cmdsynopsis.role.attrib"/>
-    <ref name="local.cmdsynopsis.attrib"/>
-  </define>
-  <!-- end of cmdsynopsis.attlist -->
-  <!-- end of cmdsynopsis.module -->
-  <define name="local.arg.attrib">
-    <empty/>
-  </define>
-  <define name="arg.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An argument in a CmdSynopsis. -->
-  <define name="arg">
-    <element name="arg">
-      <ref name="arg.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="arg"/>
-          <ref name="group"/>
-          <ref name="option"/>
-          <ref name="synopfragmentref"/>
-          <ref name="replaceable"/>
-          <ref name="sbr"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of arg.element -->
-  <!--
-    Choice: Whether Arg must be supplied: Opt (optional to
-    supply, e.g. [arg]; the default), Req (required to supply,
-    e.g. {arg}), or Plain (required to supply, e.g. arg)
-  -->
-  <!--
-    Rep: whether Arg is repeatable: Norepeat (e.g. arg without
-    ellipsis; the default), or Repeat (e.g. arg...)
-  -->
-  <define name="arg.attlist" combine="interleave">
-    <optional>
-      <attribute name="choice" a:defaultValue="opt">
-        <choice>
-          <value>opt</value>
-          <value>req</value>
-          <value>plain</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rep" a:defaultValue="norepeat">
-        <choice>
-          <value>norepeat</value>
-          <value>repeat</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="arg.role.attrib"/>
-    <ref name="local.arg.attrib"/>
-  </define>
-  <!-- end of arg.attlist -->
-  <!-- end of arg.module -->
-  <define name="local.group.attrib">
-    <empty/>
-  </define>
-  <define name="group.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A group of elements in a CmdSynopsis. -->
-  <define name="group">
-    <element name="group">
-      <ref name="group.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="arg"/>
-          <ref name="group"/>
-          <ref name="option"/>
-          <ref name="synopfragmentref"/>
-          <ref name="replaceable"/>
-          <ref name="sbr"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of group.element -->
-  <!--
-    Choice: Whether Group must be supplied: Opt (optional to
-    supply, e.g.  [g1|g2|g3]; the default), Req (required to
-    supply, e.g.  {g1|g2|g3}), Plain (required to supply,
-    e.g.  g1|g2|g3), OptMult (can supply zero or more, e.g.
-    [[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.
-    {{g1|g2|g3}})
-  -->
-  <!--
-    Rep: whether Group is repeatable: Norepeat (e.g. group
-    without ellipsis; the default), or Repeat (e.g. group...)
-  -->
-  <define name="group.attlist" combine="interleave">
-    <optional>
-      <attribute name="choice" a:defaultValue="opt">
-        <choice>
-          <value>opt</value>
-          <value>req</value>
-          <value>plain</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rep" a:defaultValue="norepeat">
-        <choice>
-          <value>norepeat</value>
-          <value>repeat</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="group.role.attrib"/>
-    <ref name="local.group.attrib"/>
-  </define>
-  <!-- end of group.attlist -->
-  <!-- end of group.module -->
-  <define name="local.sbr.attrib">
-    <empty/>
-  </define>
-  <!-- Synopsis break -->
-  <define name="sbr.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An explicit line break in a command synopsis. -->
-  <define name="sbr">
-    <element name="sbr">
-      <ref name="sbr.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of sbr.element -->
-  <define name="sbr.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="sbr.role.attrib"/>
-    <ref name="local.sbr.attrib"/>
-  </define>
-  <!-- end of sbr.attlist -->
-  <!-- end of sbr.module -->
-  <define name="local.synopfragmentref.attrib">
-    <empty/>
-  </define>
-  <define name="synopfragmentref.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A reference to a fragment of a command synopsis. -->
-  <define name="synopfragmentref">
-    <element name="synopfragmentref">
-      <ref name="synopfragmentref.attlist"/>
-      <text/>
-    </element>
-  </define>
-  <!-- end of synopfragmentref.element -->
-  <!--
-    to SynopFragment of complex synopsis
-    material for separate referencing
-  -->
-  <define name="synopfragmentref.attlist" combine="interleave">
-    <ref name="linkendreq.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="synopfragmentref.role.attrib"/>
-    <ref name="local.synopfragmentref.attrib"/>
-  </define>
-  <!-- end of synopfragmentref.attlist -->
-  <!-- end of synopfragmentref.module -->
-  <define name="local.synopfragment.attrib">
-    <empty/>
-  </define>
-  <define name="synopfragment.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A portion of a CmdSynopsis broken out from the main body of the synopsis. -->
-  <define name="synopfragment">
-    <element name="synopfragment">
-      <ref name="synopfragment.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="arg"/>
-          <ref name="group"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of synopfragment.element -->
-  <define name="synopfragment.attlist" combine="interleave">
-    <ref name="idreq.common.attrib"/>
-    <ref name="synopfragment.role.attrib"/>
-    <ref name="local.synopfragment.attrib"/>
-  </define>
-  <!-- end of synopfragment.attlist -->
-  <!-- end of synopfragment.module -->
-  <!--  Command (defined in the Inlines section, below) -->
-  <!--  Option (defined in the Inlines section, below) -->
-  <!--  Replaceable (defined in the Inlines section, below) -->
-  <!-- end of cmdsynopsis.content.module -->
-  <!-- FuncSynopsis ..................... -->
-  <define name="local.funcsynopsis.attrib">
-    <empty/>
-  </define>
-  <define name="funcsynopsis.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The syntax summary for a function definition. -->
-  <define name="funcsynopsis">
-    <element name="funcsynopsis">
-      <ref name="funcsynopsis.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="funcsynopsisinfo"/>
-          <ref name="funcprototype"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of funcsynopsis.element -->
-  <define name="funcsynopsis.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="funcsynopsis.role.attrib"/>
-    <ref name="local.funcsynopsis.attrib"/>
-  </define>
-  <!-- end of funcsynopsis.attlist -->
-  <!-- end of funcsynopsis.module -->
-  <define name="local.funcsynopsisinfo.attrib">
-    <empty/>
-  </define>
-  <define name="funcsynopsisinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Information supplementing the FuncDefs of a FuncSynopsis. -->
-  <define name="funcsynopsisinfo">
-    <element name="funcsynopsisinfo">
-      <ref name="funcsynopsisinfo.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="cptr.char.mix"/>
-          <ref name="textobject"/>
-          <ref name="lineannotation"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of funcsynopsisinfo.element -->
-  <define name="funcsynopsisinfo.attlist" combine="interleave">
-    <ref name="linespecific.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="funcsynopsisinfo.role.attrib"/>
-    <ref name="local.funcsynopsisinfo.attrib"/>
-  </define>
-  <!-- end of funcsynopsisinfo.attlist -->
-  <!-- end of funcsynopsisinfo.module -->
-  <define name="local.funcprototype.attrib">
-    <empty/>
-  </define>
-  <define name="funcprototype.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The prototype of a function. -->
-  <define name="funcprototype">
-    <element name="funcprototype">
-      <ref name="funcprototype.attlist"/>
-      <zeroOrMore>
-        <ref name="modifier"/>
-      </zeroOrMore>
-      <ref name="funcdef"/>
-      <choice>
-        <ref name="void"/>
-        <ref name="varargs"/>
-        <group>
-          <oneOrMore>
-            <ref name="paramdef"/>
-          </oneOrMore>
-          <optional>
-            <ref name="varargs"/>
-          </optional>
-        </group>
-      </choice>
-      <zeroOrMore>
-        <ref name="modifier"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of funcprototype.element -->
-  <define name="funcprototype.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="funcprototype.role.attrib"/>
-    <ref name="local.funcprototype.attrib"/>
-  </define>
-  <!-- end of funcprototype.attlist -->
-  <!-- end of funcprototype.module -->
-  <define name="local.funcdef.attrib">
-    <empty/>
-  </define>
-  <define name="funcdef.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A function (subroutine) name and its return type. -->
-  <define name="funcdef">
-    <element name="funcdef">
-      <ref name="funcdef.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="type"/>
-          <ref name="replaceable"/>
-          <ref name="function"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of funcdef.element -->
-  <define name="funcdef.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="funcdef.role.attrib"/>
-    <ref name="local.funcdef.attrib"/>
-  </define>
-  <!-- end of funcdef.attlist -->
-  <!-- end of funcdef.module -->
-  <define name="local.void.attrib">
-    <empty/>
-  </define>
-  <define name="void.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An empty element in a function synopsis indicating that the function in question takes no arguments. -->
-  <define name="void">
-    <element name="void">
-      <ref name="void.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of void.element -->
-  <define name="void.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="void.role.attrib"/>
-    <ref name="local.void.attrib"/>
-  </define>
-  <!-- end of void.attlist -->
-  <!-- end of void.module -->
-  <define name="local.varargs.attrib">
-    <empty/>
-  </define>
-  <define name="varargs.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An empty element in a function synopsis indicating a variable number of arguments. -->
-  <define name="varargs">
-    <element name="varargs">
-      <ref name="varargs.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of varargs.element -->
-  <define name="varargs.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="varargs.role.attrib"/>
-    <ref name="local.varargs.attrib"/>
-  </define>
-  <!-- end of varargs.attlist -->
-  <!-- end of varargs.module -->
-  <!--
-    Processing assumes that only one Parameter will appear in a
-    ParamDef, and that FuncParams will be used at most once, for
-    providing information on the "inner parameters" for parameters that
-    are pointers to functions.
-  -->
-  <define name="local.paramdef.attrib">
-    <empty/>
-  </define>
-  <define name="paramdef.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Information about a function parameter in a programming language. -->
-  <define name="paramdef">
-    <element name="paramdef">
-      <ref name="paramdef.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="initializer"/>
-          <ref name="type"/>
-          <ref name="replaceable"/>
-          <ref name="parameter"/>
-          <ref name="funcparams"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of paramdef.element -->
-  <define name="paramdef.attlist" combine="interleave">
-    <optional>
-      <attribute name="choice">
-        <choice>
-          <value>opt</value>
-          <value>req</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="paramdef.role.attrib"/>
-    <ref name="local.paramdef.attrib"/>
-  </define>
-  <!-- end of paramdef.attlist -->
-  <!-- end of paramdef.module -->
-  <define name="local.funcparams.attrib">
-    <empty/>
-  </define>
-  <define name="funcparams.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Parameters for a function referenced through a function pointer in a synopsis. -->
-  <define name="funcparams">
-    <element name="funcparams">
-      <ref name="funcparams.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of funcparams.element -->
-  <define name="funcparams.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="funcparams.role.attrib"/>
-    <ref name="local.funcparams.attrib"/>
-  </define>
-  <!-- end of funcparams.attlist -->
-  <!-- end of funcparams.module -->
-  <!--  LineAnnotation (defined in the Inlines section, below) -->
-  <!--  Replaceable (defined in the Inlines section, below) -->
-  <!--  Function (defined in the Inlines section, below) -->
-  <!--  Parameter (defined in the Inlines section, below) -->
-  <!-- end of funcsynopsis.content.module -->
-  <!-- ClassSynopsis ..................... -->
-  <define name="local.classsynopsis.attrib">
-    <empty/>
-  </define>
-  <define name="classsynopsis.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The syntax summary for a class definition. -->
-  <define name="classsynopsis">
-    <element name="classsynopsis">
-      <ref name="classsynopsis.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="ooclass"/>
-          <ref name="oointerface"/>
-          <ref name="ooexception"/>
-        </choice>
-      </oneOrMore>
-      <zeroOrMore>
-        <choice>
-          <ref name="classsynopsisinfo"/>
-          <ref name="fieldsynopsis"/>
-          <ref name="method.synop.class"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of classsynopsis.element -->
-  <define name="classsynopsis.attlist" combine="interleave">
-    <optional>
-      <attribute name="language"/>
-    </optional>
-    <optional>
-      <attribute name="class" a:defaultValue="class">
-        <choice>
-          <value>class</value>
-          <value>interface</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="classsynopsis.role.attrib"/>
-    <ref name="local.classsynopsis.attrib"/>
-  </define>
-  <!-- end of classsynopsis.attlist -->
-  <!-- end of classsynopsis.module -->
-  <define name="local.classsynopsisinfo.attrib">
-    <empty/>
-  </define>
-  <define name="classsynopsisinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Information supplementing the contents of a ClassSynopsis. -->
-  <define name="classsynopsisinfo">
-    <element name="classsynopsisinfo">
-      <ref name="classsynopsisinfo.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="cptr.char.mix"/>
-          <ref name="textobject"/>
-          <ref name="lineannotation"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of classsynopsisinfo.element -->
-  <define name="classsynopsisinfo.attlist" combine="interleave">
-    <ref name="linespecific.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="classsynopsisinfo.role.attrib"/>
-    <ref name="local.classsynopsisinfo.attrib"/>
-  </define>
-  <!-- end of classsynopsisinfo.attlist -->
-  <!-- end of classsynopsisinfo.module -->
-  <define name="local.ooclass.attrib">
-    <empty/>
-  </define>
-  <define name="ooclass.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A class in an object-oriented programming language. -->
-  <define name="ooclass">
-    <element name="ooclass">
-      <ref name="ooclass.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="modifier"/>
-          <ref name="package"/>
-        </choice>
-      </zeroOrMore>
-      <ref name="classname"/>
-    </element>
-  </define>
-  <!-- end of ooclass.element -->
-  <define name="ooclass.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="ooclass.role.attrib"/>
-    <ref name="local.ooclass.attrib"/>
-  </define>
-  <!-- end of ooclass.attlist -->
-  <!-- end of ooclass.module -->
-  <define name="local.oointerface.attrib">
-    <empty/>
-  </define>
-  <define name="oointerface.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An interface in an object-oriented programming language. -->
-  <define name="oointerface">
-    <element name="oointerface">
-      <ref name="oointerface.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="modifier"/>
-          <ref name="package"/>
-        </choice>
-      </zeroOrMore>
-      <ref name="interfacename"/>
-    </element>
-  </define>
-  <!-- end of oointerface.element -->
-  <define name="oointerface.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="oointerface.role.attrib"/>
-    <ref name="local.oointerface.attrib"/>
-  </define>
-  <!-- end of oointerface.attlist -->
-  <!-- end of oointerface.module -->
-  <define name="local.ooexception.attrib">
-    <empty/>
-  </define>
-  <define name="ooexception.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An exception in an object-oriented programming language. -->
-  <define name="ooexception">
-    <element name="ooexception">
-      <ref name="ooexception.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="modifier"/>
-          <ref name="package"/>
-        </choice>
-      </zeroOrMore>
-      <ref name="exceptionname"/>
-    </element>
-  </define>
-  <!-- end of ooexception.element -->
-  <define name="ooexception.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="ooexception.role.attrib"/>
-    <ref name="local.ooexception.attrib"/>
-  </define>
-  <!-- end of ooexception.attlist -->
-  <!-- end of ooexception.module -->
-  <define name="local.modifier.attrib">
-    <empty/>
-  </define>
-  <define name="modifier.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Modifiers in a synopsis. -->
-  <define name="modifier">
-    <element name="modifier">
-      <ref name="modifier.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of modifier.element -->
-  <define name="modifier.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="modifier.role.attrib"/>
-    <ref name="local.modifier.attrib"/>
-  </define>
-  <!-- end of modifier.attlist -->
-  <!-- end of modifier.module -->
-  <define name="local.interfacename.attrib">
-    <empty/>
-  </define>
-  <define name="interfacename.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of an interface. -->
-  <define name="interfacename">
-    <element name="interfacename">
-      <ref name="interfacename.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of interfacename.element -->
-  <define name="interfacename.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="interfacename.role.attrib"/>
-    <ref name="local.interfacename.attrib"/>
-  </define>
-  <!-- end of interfacename.attlist -->
-  <!-- end of interfacename.module -->
-  <define name="local.exceptionname.attrib">
-    <empty/>
-  </define>
-  <define name="exceptionname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of an exception. -->
-  <define name="exceptionname">
-    <element name="exceptionname">
-      <ref name="exceptionname.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of exceptionname.element -->
-  <define name="exceptionname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="exceptionname.role.attrib"/>
-    <ref name="local.exceptionname.attrib"/>
-  </define>
-  <!-- end of exceptionname.attlist -->
-  <!-- end of exceptionname.module -->
-  <define name="local.fieldsynopsis.attrib">
-    <empty/>
-  </define>
-  <define name="fieldsynopsis.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a field in a class definition. -->
-  <define name="fieldsynopsis">
-    <element name="fieldsynopsis">
-      <ref name="fieldsynopsis.attlist"/>
-      <zeroOrMore>
-        <ref name="modifier"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="type"/>
-      </optional>
-      <ref name="varname"/>
-      <optional>
-        <ref name="initializer"/>
-      </optional>
-    </element>
-  </define>
-  <!-- end of fieldsynopsis.element -->
-  <define name="fieldsynopsis.attlist" combine="interleave">
-    <optional>
-      <attribute name="language"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="fieldsynopsis.role.attrib"/>
-    <ref name="local.fieldsynopsis.attrib"/>
-  </define>
-  <!-- end of fieldsynopsis.attlist -->
-  <!-- end of fieldsynopsis.module -->
-  <define name="local.initializer.attrib">
-    <empty/>
-  </define>
-  <define name="initializer.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The initializer for a FieldSynopsis. -->
-  <define name="initializer">
-    <element name="initializer">
-      <ref name="initializer.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of initializer.element -->
-  <define name="initializer.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="initializer.role.attrib"/>
-    <ref name="local.initializer.attrib"/>
-  </define>
-  <!-- end of initializer.attlist -->
-  <!-- end of initializer.module -->
-  <define name="local.constructorsynopsis.attrib">
-    <empty/>
-  </define>
-  <define name="constructorsynopsis.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A syntax summary for a constructor. -->
-  <define name="constructorsynopsis">
-    <element name="constructorsynopsis">
-      <ref name="constructorsynopsis.attlist"/>
-      <zeroOrMore>
-        <ref name="modifier"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="methodname"/>
-      </optional>
-      <choice>
-        <oneOrMore>
-          <ref name="methodparam"/>
-        </oneOrMore>
-        <optional>
-          <ref name="void"/>
-        </optional>
-      </choice>
-      <zeroOrMore>
-        <ref name="exceptionname"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of constructorsynopsis.element -->
-  <define name="constructorsynopsis.attlist" combine="interleave">
-    <optional>
-      <attribute name="language"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="constructorsynopsis.role.attrib"/>
-    <ref name="local.constructorsynopsis.attrib"/>
-  </define>
-  <!-- end of constructorsynopsis.attlist -->
-  <!-- end of constructorsynopsis.module -->
-  <define name="local.destructorsynopsis.attrib">
-    <empty/>
-  </define>
-  <define name="destructorsynopsis.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A syntax summary for a destructor. -->
-  <define name="destructorsynopsis">
-    <element name="destructorsynopsis">
-      <ref name="destructorsynopsis.attlist"/>
-      <zeroOrMore>
-        <ref name="modifier"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="methodname"/>
-      </optional>
-      <choice>
-        <oneOrMore>
-          <ref name="methodparam"/>
-        </oneOrMore>
-        <optional>
-          <ref name="void"/>
-        </optional>
-      </choice>
-      <zeroOrMore>
-        <ref name="exceptionname"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of destructorsynopsis.element -->
-  <define name="destructorsynopsis.attlist" combine="interleave">
-    <optional>
-      <attribute name="language"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="destructorsynopsis.role.attrib"/>
-    <ref name="local.destructorsynopsis.attrib"/>
-  </define>
-  <!-- end of destructorsynopsis.attlist -->
-  <!-- end of destructorsynopsis.module -->
-  <define name="local.methodsynopsis.attrib">
-    <empty/>
-  </define>
-  <define name="methodsynopsis.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A syntax summary for a method. -->
-  <define name="methodsynopsis">
-    <element name="methodsynopsis">
-      <ref name="methodsynopsis.attlist"/>
-      <zeroOrMore>
-        <ref name="modifier"/>
-      </zeroOrMore>
-      <optional>
-        <choice>
-          <ref name="type"/>
-          <ref name="void"/>
-        </choice>
-      </optional>
-      <ref name="methodname"/>
-      <choice>
-        <oneOrMore>
-          <ref name="methodparam"/>
-        </oneOrMore>
-        <optional>
-          <ref name="void"/>
-        </optional>
-      </choice>
-      <zeroOrMore>
-        <ref name="exceptionname"/>
-      </zeroOrMore>
-      <zeroOrMore>
-        <ref name="modifier"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of methodsynopsis.element -->
-  <define name="methodsynopsis.attlist" combine="interleave">
-    <optional>
-      <attribute name="language"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="methodsynopsis.role.attrib"/>
-    <ref name="local.methodsynopsis.attrib"/>
-  </define>
-  <!-- end of methodsynopsis.attlist -->
-  <!-- end of methodsynopsis.module -->
-  <define name="local.methodname.attrib">
-    <empty/>
-  </define>
-  <define name="methodname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a method. -->
-  <define name="methodname">
-    <element name="methodname">
-      <ref name="methodname.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of methodname.element -->
-  <define name="methodname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="methodname.role.attrib"/>
-    <ref name="local.methodname.attrib"/>
-  </define>
-  <!-- end of methodname.attlist -->
-  <!-- end of methodname.module -->
-  <define name="local.methodparam.attrib">
-    <empty/>
-  </define>
-  <define name="methodparam.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Parameters to a method. -->
-  <define name="methodparam">
-    <element name="methodparam">
-      <ref name="methodparam.attlist"/>
-      <zeroOrMore>
-        <ref name="modifier"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="type"/>
-      </optional>
-      <choice>
-        <group>
-          <ref name="parameter"/>
-          <optional>
-            <ref name="initializer"/>
-          </optional>
-        </group>
-        <ref name="funcparams"/>
-      </choice>
-      <zeroOrMore>
-        <ref name="modifier"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of methodparam.element -->
-  <define name="methodparam.attlist" combine="interleave">
-    <optional>
-      <attribute name="choice" a:defaultValue="req">
-        <choice>
-          <value>opt</value>
-          <value>req</value>
-          <value>plain</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rep" a:defaultValue="norepeat">
-        <choice>
-          <value>norepeat</value>
-          <value>repeat</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="methodparam.role.attrib"/>
-    <ref name="local.methodparam.attrib"/>
-  </define>
-  <!-- end of methodparam.attlist -->
-  <!-- end of methodparam.module -->
-  <!-- end of classsynopsis.content.module -->
-  <!-- ...................................................................... -->
-  <!-- Document information entities and elements ........................... -->
-  <!--
-    The document information elements include some elements that are
-    currently used only in the document hierarchy module. They are
-    defined here so that they will be available for use in customized
-    document hierarchies.
-  -->
-  <!-- .................................. -->
-  <!-- Ackno ............................ -->
-  <define name="local.ackno.attrib">
-    <empty/>
-  </define>
-  <define name="ackno.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Acknowledgements in an Article. -->
-  <define name="ackno">
-    <element name="ackno">
-      <ref name="ackno.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of ackno.element -->
-  <define name="ackno.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="ackno.role.attrib"/>
-    <ref name="local.ackno.attrib"/>
-  </define>
-  <!-- end of ackno.attlist -->
-  <!-- end of ackno.module -->
-  <!-- Address .......................... -->
-  <define name="local.address.attrib">
-    <empty/>
-  </define>
-  <define name="address.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A real-world address, generally a postal address. -->
-  <define name="address">
-    <element name="address">
-      <ref name="address.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="personname"/>
-          <ref name="person.ident.mix"/>
-          <ref name="street"/>
-          <ref name="pob"/>
-          <ref name="postcode"/>
-          <ref name="city"/>
-          <ref name="state"/>
-          <ref name="country"/>
-          <ref name="phone"/>
-          <ref name="fax"/>
-          <ref name="email"/>
-          <ref name="otheraddr"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of address.element -->
-  <define name="address.attlist" combine="interleave">
-    <ref name="linespecific.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="address.role.attrib"/>
-    <ref name="local.address.attrib"/>
-  </define>
-  <!-- end of address.attlist -->
-  <!-- end of address.module -->
-  <define name="local.street.attrib">
-    <empty/>
-  </define>
-  <define name="street.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A street address in an address. -->
-  <define name="street">
-    <element name="street">
-      <ref name="street.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of street.element -->
-  <define name="street.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="street.role.attrib"/>
-    <ref name="local.street.attrib"/>
-  </define>
-  <!-- end of street.attlist -->
-  <!-- end of street.module -->
-  <define name="local.pob.attrib">
-    <empty/>
-  </define>
-  <define name="pob.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A post office box in an address. -->
-  <define name="pob">
-    <element name="pob">
-      <ref name="pob.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of pob.element -->
-  <define name="pob.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="pob.role.attrib"/>
-    <ref name="local.pob.attrib"/>
-  </define>
-  <!-- end of pob.attlist -->
-  <!-- end of pob.module -->
-  <define name="local.postcode.attrib">
-    <empty/>
-  </define>
-  <define name="postcode.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A postal code in an address. -->
-  <define name="postcode">
-    <element name="postcode">
-      <ref name="postcode.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of postcode.element -->
-  <define name="postcode.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="postcode.role.attrib"/>
-    <ref name="local.postcode.attrib"/>
-  </define>
-  <!-- end of postcode.attlist -->
-  <!-- end of postcode.module -->
-  <define name="local.city.attrib">
-    <empty/>
-  </define>
-  <define name="city.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a city in an address. -->
-  <define name="city">
-    <element name="city">
-      <ref name="city.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of city.element -->
-  <define name="city.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="city.role.attrib"/>
-    <ref name="local.city.attrib"/>
-  </define>
-  <!-- end of city.attlist -->
-  <!-- end of city.module -->
-  <define name="local.state.attrib">
-    <empty/>
-  </define>
-  <define name="state.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A state or province in an address. -->
-  <define name="state">
-    <element name="state">
-      <ref name="state.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of state.element -->
-  <define name="state.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="state.role.attrib"/>
-    <ref name="local.state.attrib"/>
-  </define>
-  <!-- end of state.attlist -->
-  <!-- end of state.module -->
-  <define name="local.country.attrib">
-    <empty/>
-  </define>
-  <define name="country.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a country. -->
-  <define name="country">
-    <element name="country">
-      <ref name="country.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of country.element -->
-  <define name="country.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="country.role.attrib"/>
-    <ref name="local.country.attrib"/>
-  </define>
-  <!-- end of country.attlist -->
-  <!-- end of country.module -->
-  <define name="local.phone.attrib">
-    <empty/>
-  </define>
-  <define name="phone.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A telephone number. -->
-  <define name="phone">
-    <element name="phone">
-      <ref name="phone.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of phone.element -->
-  <define name="phone.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="phone.role.attrib"/>
-    <ref name="local.phone.attrib"/>
-  </define>
-  <!-- end of phone.attlist -->
-  <!-- end of phone.module -->
-  <define name="local.fax.attrib">
-    <empty/>
-  </define>
-  <define name="fax.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A fax number. -->
-  <define name="fax">
-    <element name="fax">
-      <ref name="fax.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of fax.element -->
-  <define name="fax.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="fax.role.attrib"/>
-    <ref name="local.fax.attrib"/>
-  </define>
-  <!-- end of fax.attlist -->
-  <!-- end of fax.module -->
-  <!--  Email (defined in the Inlines section, below) -->
-  <define name="local.otheraddr.attrib">
-    <empty/>
-  </define>
-  <define name="otheraddr.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Uncategorized information in address. -->
-  <define name="otheraddr">
-    <element name="otheraddr">
-      <ref name="otheraddr.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of otheraddr.element -->
-  <define name="otheraddr.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="otheraddr.role.attrib"/>
-    <ref name="local.otheraddr.attrib"/>
-  </define>
-  <!-- end of otheraddr.attlist -->
-  <!-- end of otheraddr.module -->
-  <!-- end of address.content.module -->
-  <!-- Affiliation ...................... -->
-  <define name="local.affiliation.attrib">
-    <empty/>
-  </define>
-  <define name="affiliation.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The institutional affiliation of an individual. -->
-  <define name="affiliation">
-    <element name="affiliation">
-      <ref name="affiliation.attlist"/>
-      <optional>
-        <ref name="shortaffil"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="jobtitle"/>
-      </zeroOrMore>
-      <optional>
-        <ref name="orgname"/>
-      </optional>
-      <zeroOrMore>
-        <ref name="orgdiv"/>
-      </zeroOrMore>
-      <zeroOrMore>
-        <ref name="address"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of affiliation.element -->
-  <define name="affiliation.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="affiliation.role.attrib"/>
-    <ref name="local.affiliation.attrib"/>
-  </define>
-  <!-- end of affiliation.attlist -->
-  <!-- end of affiliation.module -->
-  <define name="local.shortaffil.attrib">
-    <empty/>
-  </define>
-  <define name="shortaffil.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A brief description of an affiliation. -->
-  <define name="shortaffil">
-    <element name="shortaffil">
-      <ref name="shortaffil.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of shortaffil.element -->
-  <define name="shortaffil.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="shortaffil.role.attrib"/>
-    <ref name="local.shortaffil.attrib"/>
-  </define>
-  <!-- end of shortaffil.attlist -->
-  <!-- end of shortaffil.module -->
-  <define name="local.jobtitle.attrib">
-    <empty/>
-  </define>
-  <define name="jobtitle.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The title of an individual in an organization. -->
-  <define name="jobtitle">
-    <element name="jobtitle">
-      <ref name="jobtitle.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of jobtitle.element -->
-  <define name="jobtitle.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="jobtitle.role.attrib"/>
-    <ref name="local.jobtitle.attrib"/>
-  </define>
-  <!-- end of jobtitle.attlist -->
-  <!-- end of jobtitle.module -->
-  <!--  OrgName (defined elsewhere in this section) -->
-  <define name="local.orgdiv.attrib">
-    <empty/>
-  </define>
-  <define name="orgdiv.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A division of an organization. -->
-  <define name="orgdiv">
-    <element name="orgdiv">
-      <ref name="orgdiv.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of orgdiv.element -->
-  <define name="orgdiv.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="orgdiv.role.attrib"/>
-    <ref name="local.orgdiv.attrib"/>
-  </define>
-  <!-- end of orgdiv.attlist -->
-  <!-- end of orgdiv.module -->
-  <!--  Address (defined elsewhere in this section) -->
-  <!-- end of affiliation.content.module -->
-  <!-- ArtPageNums ...................... -->
-  <define name="local.artpagenums.attrib">
-    <empty/>
-  </define>
-  <define name="artpagenums.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The page numbers of an article as published. -->
-  <define name="artpagenums">
-    <element name="artpagenums">
-      <ref name="artpagenums.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of artpagenums.element -->
-  <define name="artpagenums.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="artpagenums.role.attrib"/>
-    <ref name="local.artpagenums.attrib"/>
-  </define>
-  <!-- end of artpagenums.attlist -->
-  <!-- end of artpagenums.module -->
-  <!-- PersonName -->
-  <define name="local.personname.attrib">
-    <empty/>
-  </define>
-  <define name="personname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The personal name of an individual. -->
-  <define name="personname">
-    <element name="personname">
-      <ref name="personname.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="honorific"/>
-          <ref name="firstname"/>
-          <ref name="surname"/>
-          <ref name="lineage"/>
-          <ref name="othername"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of personname.element -->
-  <define name="personname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="personname.role.attrib"/>
-    <ref name="local.personname.attrib"/>
-  </define>
-  <!-- end of personname.attlist -->
-  <!-- end of personname.module -->
-  <!-- Author ........................... -->
-  <define name="local.author.attrib">
-    <empty/>
-  </define>
-  <define name="author.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of an individual author. -->
-  <define name="author">
-    <element name="author">
-      <ref name="author.attlist"/>
-      <choice>
-        <ref name="personname"/>
-        <oneOrMore>
-          <ref name="person.ident.mix"/>
-        </oneOrMore>
-      </choice>
-      <zeroOrMore>
-        <choice>
-          <ref name="personblurb"/>
-          <ref name="email"/>
-          <ref name="address"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of author.element -->
-  <define name="author.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="author.role.attrib"/>
-    <ref name="local.author.attrib"/>
-  </define>
-  <!-- end of author.attlist -->
-  <!-- (see "Personal identity elements" for %person.ident.mix;) -->
-  <!-- end of author.module -->
-  <!-- AuthorGroup ...................... -->
-  <define name="local.authorgroup.attrib">
-    <empty/>
-  </define>
-  <define name="authorgroup.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Wrapper for author information when a document has multiple authors or collabarators. -->
-  <define name="authorgroup">
-    <element name="authorgroup">
-      <ref name="authorgroup.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="author"/>
-          <ref name="editor"/>
-          <ref name="collab"/>
-          <ref name="corpauthor"/>
-          <ref name="corpcredit"/>
-          <ref name="othercredit"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of authorgroup.element -->
-  <define name="authorgroup.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="authorgroup.role.attrib"/>
-    <ref name="local.authorgroup.attrib"/>
-  </define>
-  <!-- end of authorgroup.attlist -->
-  <!-- end of authorgroup.module -->
-  <!--  Author (defined elsewhere in this section) -->
-  <!--  Editor (defined elsewhere in this section) -->
-  <define name="local.collab.attrib">
-    <empty/>
-  </define>
-  <define name="collab.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Identifies a collaborator. -->
-  <define name="collab">
-    <element name="collab">
-      <ref name="collab.attlist"/>
-      <ref name="collabname"/>
-      <zeroOrMore>
-        <ref name="affiliation"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of collab.element -->
-  <define name="collab.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="collab.role.attrib"/>
-    <ref name="local.collab.attrib"/>
-  </define>
-  <!-- end of collab.attlist -->
-  <!-- end of collab.module -->
-  <define name="local.collabname.attrib">
-    <empty/>
-  </define>
-  <define name="collabname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a collaborator. -->
-  <define name="collabname">
-    <element name="collabname">
-      <ref name="collabname.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of collabname.element -->
-  <define name="collabname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="collabname.role.attrib"/>
-    <ref name="local.collabname.attrib"/>
-  </define>
-  <!-- end of collabname.attlist -->
-  <!-- end of collabname.module -->
-  <!--  Affiliation (defined elsewhere in this section) -->
-  <!-- end of collab.content.module -->
-  <!--  CorpAuthor (defined elsewhere in this section) -->
-  <!--  OtherCredit (defined elsewhere in this section) -->
-  <!-- end of authorgroup.content.module -->
-  <!-- AuthorInitials ................... -->
-  <define name="local.authorinitials.attrib">
-    <empty/>
-  </define>
-  <define name="authorinitials.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The initials or other short identifier for an author. -->
-  <define name="authorinitials">
-    <element name="authorinitials">
-      <ref name="authorinitials.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of authorinitials.element -->
-  <define name="authorinitials.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="authorinitials.role.attrib"/>
-    <ref name="local.authorinitials.attrib"/>
-  </define>
-  <!-- end of authorinitials.attlist -->
-  <!-- end of authorinitials.module -->
-  <!-- ConfGroup ........................ -->
-  <define name="local.confgroup.attrib">
-    <empty/>
-  </define>
-  <define name="confgroup.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for document meta-information about a conference. -->
-  <define name="confgroup">
-    <element name="confgroup">
-      <ref name="confgroup.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="confdates"/>
-          <ref name="conftitle"/>
-          <ref name="confnum"/>
-          <ref name="address"/>
-          <ref name="confsponsor"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of confgroup.element -->
-  <define name="confgroup.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="confgroup.role.attrib"/>
-    <ref name="local.confgroup.attrib"/>
-  </define>
-  <!-- end of confgroup.attlist -->
-  <!-- end of confgroup.module -->
-  <define name="local.confdates.attrib">
-    <empty/>
-  </define>
-  <define name="confdates.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The dates of a conference for which a document was written. -->
-  <define name="confdates">
-    <element name="confdates">
-      <ref name="confdates.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of confdates.element -->
-  <define name="confdates.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="confdates.role.attrib"/>
-    <ref name="local.confdates.attrib"/>
-  </define>
-  <!-- end of confdates.attlist -->
-  <!-- end of confdates.module -->
-  <define name="local.conftitle.attrib">
-    <empty/>
-  </define>
-  <define name="conftitle.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The title of a conference for which a document was written. -->
-  <define name="conftitle">
-    <element name="conftitle">
-      <ref name="conftitle.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of conftitle.element -->
-  <define name="conftitle.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="conftitle.role.attrib"/>
-    <ref name="local.conftitle.attrib"/>
-  </define>
-  <!-- end of conftitle.attlist -->
-  <!-- end of conftitle.module -->
-  <define name="local.confnum.attrib">
-    <empty/>
-  </define>
-  <define name="confnum.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An identifier, frequently numerical, associated with a conference for which a document was written. -->
-  <define name="confnum">
-    <element name="confnum">
-      <ref name="confnum.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of confnum.element -->
-  <define name="confnum.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="confnum.role.attrib"/>
-    <ref name="local.confnum.attrib"/>
-  </define>
-  <!-- end of confnum.attlist -->
-  <!-- end of confnum.module -->
-  <!--  Address (defined elsewhere in this section) -->
-  <define name="local.confsponsor.attrib">
-    <empty/>
-  </define>
-  <define name="confsponsor.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The sponsor of a conference for which a document was written. -->
-  <define name="confsponsor">
-    <element name="confsponsor">
-      <ref name="confsponsor.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of confsponsor.element -->
-  <define name="confsponsor.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="confsponsor.role.attrib"/>
-    <ref name="local.confsponsor.attrib"/>
-  </define>
-  <!-- end of confsponsor.attlist -->
-  <!-- end of confsponsor.module -->
-  <!-- end of confgroup.content.module -->
-  <!-- ContractNum ...................... -->
-  <define name="local.contractnum.attrib">
-    <empty/>
-  </define>
-  <define name="contractnum.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The contract number of a document. -->
-  <define name="contractnum">
-    <element name="contractnum">
-      <ref name="contractnum.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of contractnum.element -->
-  <define name="contractnum.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="contractnum.role.attrib"/>
-    <ref name="local.contractnum.attrib"/>
-  </define>
-  <!-- end of contractnum.attlist -->
-  <!-- end of contractnum.module -->
-  <!-- ContractSponsor .................. -->
-  <define name="local.contractsponsor.attrib">
-    <empty/>
-  </define>
-  <define name="contractsponsor.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The sponsor of a contract. -->
-  <define name="contractsponsor">
-    <element name="contractsponsor">
-      <ref name="contractsponsor.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of contractsponsor.element -->
-  <define name="contractsponsor.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="contractsponsor.role.attrib"/>
-    <ref name="local.contractsponsor.attrib"/>
-  </define>
-  <!-- end of contractsponsor.attlist -->
-  <!-- end of contractsponsor.module -->
-  <!-- Copyright ........................ -->
-  <define name="local.copyright.attrib">
-    <empty/>
-  </define>
-  <define name="copyright.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Copyright information about a document. -->
-  <define name="copyright">
-    <element name="copyright">
-      <ref name="copyright.attlist"/>
-      <oneOrMore>
-        <ref name="year"/>
-      </oneOrMore>
-      <zeroOrMore>
-        <ref name="holder"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of copyright.element -->
-  <define name="copyright.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="copyright.role.attrib"/>
-    <ref name="local.copyright.attrib"/>
-  </define>
-  <!-- end of copyright.attlist -->
-  <!-- end of copyright.module -->
-  <define name="local.year.attrib">
-    <empty/>
-  </define>
-  <define name="year.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The year of publication of a document. -->
-  <define name="year">
-    <element name="year">
-      <ref name="year.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of year.element -->
-  <define name="year.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="year.role.attrib"/>
-    <ref name="local.year.attrib"/>
-  </define>
-  <!-- end of year.attlist -->
-  <!-- end of year.module -->
-  <define name="local.holder.attrib">
-    <empty/>
-  </define>
-  <define name="holder.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of the individual or organization that holds a copyright. -->
-  <define name="holder">
-    <element name="holder">
-      <ref name="holder.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of holder.element -->
-  <define name="holder.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="holder.role.attrib"/>
-    <ref name="local.holder.attrib"/>
-  </define>
-  <!-- end of holder.attlist -->
-  <!-- end of holder.module -->
-  <!-- end of copyright.content.module -->
-  <!-- CorpAuthor ....................... -->
-  <define name="local.corpauthor.attrib">
-    <empty/>
-  </define>
-  <define name="corpauthor.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A corporate author, as opposed to an individual. -->
-  <define name="corpauthor">
-    <element name="corpauthor">
-      <ref name="corpauthor.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of corpauthor.element -->
-  <define name="corpauthor.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="corpauthor.role.attrib"/>
-    <ref name="local.corpauthor.attrib"/>
-  </define>
-  <!-- end of corpauthor.attlist -->
-  <!-- end of corpauthor.module -->
-  <!-- CorpCredit ...................... -->
-  <define name="local.corpcredit.attrib">
-    <empty/>
-  </define>
-  <define name="corpcredit.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A corporation or organization credited in a document. -->
-  <define name="corpcredit">
-    <element name="corpcredit">
-      <ref name="corpcredit.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of corpcredit.element -->
-  <define name="corpcredit.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>graphicdesigner</value>
-          <value>productioneditor</value>
-          <value>copyeditor</value>
-          <value>technicaleditor</value>
-          <value>translator</value>
-          <value>other</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="corpcredit.role.attrib"/>
-    <ref name="local.corpcredit.attrib"/>
-  </define>
-  <!-- end of corpcredit.attlist -->
-  <!-- end of corpcredit.module -->
-  <!-- CorpName ......................... -->
-  <define name="local.corpname.attrib">
-    <empty/>
-  </define>
-  <!-- doc:The name of a corporation. -->
-  <define name="corpname">
-    <element name="corpname">
-      <ref name="corpname.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of corpname.element -->
-  <define name="corpname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <define name="corpname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="corpname.role.attrib"/>
-    <ref name="local.corpname.attrib"/>
-  </define>
-  <!-- end of corpname.attlist -->
-  <!-- end of corpname.module -->
-  <!-- Date ............................. -->
-  <define name="local.date.attrib">
-    <empty/>
-  </define>
-  <define name="date.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The date of publication or revision of a document. -->
-  <define name="date">
-    <element name="date">
-      <ref name="date.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of date.element -->
-  <define name="date.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="date.role.attrib"/>
-    <ref name="local.date.attrib"/>
-  </define>
-  <!-- end of date.attlist -->
-  <!-- end of date.module -->
-  <!-- Edition .......................... -->
-  <define name="local.edition.attrib">
-    <empty/>
-  </define>
-  <define name="edition.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name or number of an edition of a document. -->
-  <define name="edition">
-    <element name="edition">
-      <ref name="edition.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of edition.element -->
-  <define name="edition.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="edition.role.attrib"/>
-    <ref name="local.edition.attrib"/>
-  </define>
-  <!-- end of edition.attlist -->
-  <!-- end of edition.module -->
-  <!-- Editor ........................... -->
-  <define name="local.editor.attrib">
-    <empty/>
-  </define>
-  <define name="editor.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of the editor of a document. -->
-  <define name="editor">
-    <element name="editor">
-      <ref name="editor.attlist"/>
-      <choice>
-        <ref name="personname"/>
-        <oneOrMore>
-          <ref name="person.ident.mix"/>
-        </oneOrMore>
-      </choice>
-      <zeroOrMore>
-        <choice>
-          <ref name="personblurb"/>
-          <ref name="email"/>
-          <ref name="address"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of editor.element -->
-  <define name="editor.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="editor.role.attrib"/>
-    <ref name="local.editor.attrib"/>
-  </define>
-  <!-- end of editor.attlist -->
-  <!-- (see "Personal identity elements" for %person.ident.mix;) -->
-  <!-- end of editor.module -->
-  <!-- ISBN ............................. -->
-  <define name="local.isbn.attrib">
-    <empty/>
-  </define>
-  <define name="isbn.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The International Standard Book Number of a document. -->
-  <define name="isbn">
-    <element name="isbn">
-      <ref name="isbn.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of isbn.element -->
-  <define name="isbn.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="isbn.role.attrib"/>
-    <ref name="local.isbn.attrib"/>
-  </define>
-  <!-- end of isbn.attlist -->
-  <!-- end of isbn.module -->
-  <!-- ISSN ............................. -->
-  <define name="local.issn.attrib">
-    <empty/>
-  </define>
-  <define name="issn.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The International Standard Serial Number of a periodical. -->
-  <define name="issn">
-    <element name="issn">
-      <ref name="issn.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of issn.element -->
-  <define name="issn.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="issn.role.attrib"/>
-    <ref name="local.issn.attrib"/>
-  </define>
-  <!-- end of issn.attlist -->
-  <!-- end of issn.module -->
-  <!-- BiblioId ................. -->
-  <define name="biblio.class.attrib">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>uri</value>
-          <value>doi</value>
-          <value>isbn</value>
-          <value>isrn</value>
-          <value>issn</value>
-          <value>libraryofcongress</value>
-          <value>pubnumber</value>
-          <value>other</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="otherclass"/>
-    </optional>
-  </define>
-  <define name="local.biblioid.attrib">
-    <empty/>
-  </define>
-  <define name="biblioid.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An identifier for a document. -->
-  <define name="biblioid">
-    <element name="biblioid">
-      <ref name="biblioid.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of biblioid.element -->
-  <define name="biblioid.attlist" combine="interleave">
-    <ref name="biblio.class.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="biblioid.role.attrib"/>
-    <ref name="local.biblioid.attrib"/>
-  </define>
-  <!-- end of biblioid.attlist -->
-  <!-- end of biblioid.module -->
-  <!-- CiteBiblioId ................. -->
-  <define name="local.citebiblioid.attrib">
-    <empty/>
-  </define>
-  <define name="citebiblioid.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A citation of a bibliographic identifier. -->
-  <define name="citebiblioid">
-    <element name="citebiblioid">
-      <ref name="citebiblioid.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of citebiblioid.element -->
-  <define name="citebiblioid.attlist" combine="interleave">
-    <ref name="biblio.class.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="citebiblioid.role.attrib"/>
-    <ref name="local.citebiblioid.attrib"/>
-  </define>
-  <!-- end of citebiblioid.attlist -->
-  <!-- end of citebiblioid.module -->
-  <!-- BiblioSource ................. -->
-  <define name="local.bibliosource.attrib">
-    <empty/>
-  </define>
-  <define name="bibliosource.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The source of a document. -->
-  <define name="bibliosource">
-    <element name="bibliosource">
-      <ref name="bibliosource.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of bibliosource.element -->
-  <define name="bibliosource.attlist" combine="interleave">
-    <ref name="biblio.class.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="bibliosource.role.attrib"/>
-    <ref name="local.bibliosource.attrib"/>
-  </define>
-  <!-- end of bibliosource.attlist -->
-  <!-- end of bibliosource.module -->
-  <!-- BiblioRelation ................. -->
-  <define name="local.bibliorelation.attrib">
-    <empty/>
-  </define>
-  <define name="local.bibliorelation.types">
-    <notAllowed/>
-  </define>
-  <define name="bibliorelation.type.attrib">
-    <optional>
-      <attribute name="type">
-        <choice>
-          <value>isversionof</value>
-          <value>hasversion</value>
-          <value>isreplacedby</value>
-          <value>replaces</value>
-          <value>isrequiredby</value>
-          <value>requires</value>
-          <value>ispartof</value>
-          <value>haspart</value>
-          <value>isreferencedby</value>
-          <value>references</value>
-          <value>isformatof</value>
-          <value>hasformat</value>
-          <value>othertype</value>
-          <ref name="local.bibliorelation.types"/>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="othertype"/>
-    </optional>
-  </define>
-  <define name="bibliorelation.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The relationship of a document to another. -->
-  <define name="bibliorelation">
-    <element name="bibliorelation">
-      <ref name="bibliorelation.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of bibliorelation.element -->
-  <define name="bibliorelation.attlist" combine="interleave">
-    <ref name="biblio.class.attrib"/>
-    <ref name="bibliorelation.type.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="bibliorelation.role.attrib"/>
-    <ref name="local.bibliorelation.attrib"/>
-  </define>
-  <!-- end of bibliorelation.attlist -->
-  <!-- end of bibliorelation.module -->
-  <!-- BiblioCoverage ................. -->
-  <define name="local.bibliocoverage.attrib">
-    <empty/>
-  </define>
-  <define name="bibliocoverage.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The spatial or temporal coverage of a document. -->
-  <define name="bibliocoverage">
-    <element name="bibliocoverage">
-      <ref name="bibliocoverage.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of bibliocoverage.element -->
-  <define name="bibliocoverage.attlist" combine="interleave">
-    <optional>
-      <attribute name="spatial">
-        <choice>
-          <value>dcmipoint</value>
-          <value>iso3166</value>
-          <value>dcmibox</value>
-          <value>tgn</value>
-          <value>otherspatial</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="otherspatial"/>
-    </optional>
-    <optional>
-      <attribute name="temporal">
-        <choice>
-          <value>dcmiperiod</value>
-          <value>w3c-dtf</value>
-          <value>othertemporal</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="othertemporal"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="bibliocoverage.role.attrib"/>
-    <ref name="local.bibliocoverage.attrib"/>
-  </define>
-  <!-- end of bibliocoverage.attlist -->
-  <!-- end of bibliocoverage.module -->
-  <!-- InvPartNumber .................... -->
-  <define name="local.invpartnumber.attrib">
-    <empty/>
-  </define>
-  <define name="invpartnumber.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An inventory part number. -->
-  <define name="invpartnumber">
-    <element name="invpartnumber">
-      <ref name="invpartnumber.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of invpartnumber.element -->
-  <define name="invpartnumber.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="invpartnumber.role.attrib"/>
-    <ref name="local.invpartnumber.attrib"/>
-  </define>
-  <!-- end of invpartnumber.attlist -->
-  <!-- end of invpartnumber.module -->
-  <!-- IssueNum ......................... -->
-  <define name="local.issuenum.attrib">
-    <empty/>
-  </define>
-  <define name="issuenum.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The number of an issue of a journal. -->
-  <define name="issuenum">
-    <element name="issuenum">
-      <ref name="issuenum.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of issuenum.element -->
-  <define name="issuenum.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="issuenum.role.attrib"/>
-    <ref name="local.issuenum.attrib"/>
-  </define>
-  <!-- end of issuenum.attlist -->
-  <!-- end of issuenum.module -->
-  <!-- LegalNotice ...................... -->
-  <define name="local.legalnotice.attrib">
-    <empty/>
-  </define>
-  <define name="legalnotice.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A statement of legal obligations or requirements. -->
-  <define name="legalnotice">
-    <element name="legalnotice">
-      <ref name="legalnotice.attlist"/>
-      <optional>
-        <ref name="blockinfo"/>
-      </optional>
-      <optional>
-        <ref name="title"/>
-      </optional>
-      <oneOrMore>
-        <ref name="legalnotice.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of legalnotice.element -->
-  <define name="legalnotice.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="legalnotice.role.attrib"/>
-    <ref name="local.legalnotice.attrib"/>
-  </define>
-  <!-- end of legalnotice.attlist -->
-  <!-- end of legalnotice.module -->
-  <!-- ModeSpec ......................... -->
-  <define name="local.modespec.attrib">
-    <empty/>
-  </define>
-  <define name="modespec.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Application-specific information necessary for the completion of an OLink. -->
-  <define name="modespec">
-    <element name="modespec">
-      <ref name="modespec.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of modespec.element -->
-  <!--
-    Application: Type of action required for completion
-    of the links to which the ModeSpec is relevant (e.g.,
-    retrieval query)
-  -->
-  <define name="modespec.attlist" combine="interleave">
-    <optional>
-      <attribute name="application">
-        <choice>
-          <ref name="notation.class"/>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="modespec.role.attrib"/>
-    <ref name="local.modespec.attrib"/>
-  </define>
-  <!-- end of modespec.attlist -->
-  <!-- end of modespec.module -->
-  <!-- OrgName .......................... -->
-  <define name="local.orgname.attrib">
-    <empty/>
-  </define>
-  <define name="orgname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of an organization other than a corporation. -->
-  <define name="orgname">
-    <element name="orgname">
-      <ref name="orgname.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of orgname.element -->
-  <define name="orgname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>corporation</value>
-          <value>nonprofit</value>
-          <value>consortium</value>
-          <value>informal</value>
-          <value>other</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="otherclass"/>
-    </optional>
-    <ref name="orgname.role.attrib"/>
-    <ref name="local.orgname.attrib"/>
-  </define>
-  <!-- end of orgname.attlist -->
-  <!-- end of orgname.module -->
-  <!-- OtherCredit ...................... -->
-  <define name="local.othercredit.attrib">
-    <empty/>
-  </define>
-  <define name="othercredit.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A person or entity, other than an author or editor, credited in a document. -->
-  <define name="othercredit">
-    <element name="othercredit">
-      <ref name="othercredit.attlist"/>
-      <choice>
-        <ref name="personname"/>
-        <oneOrMore>
-          <ref name="person.ident.mix"/>
-        </oneOrMore>
-      </choice>
-      <zeroOrMore>
-        <choice>
-          <ref name="personblurb"/>
-          <ref name="email"/>
-          <ref name="address"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of othercredit.element -->
-  <define name="othercredit.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>graphicdesigner</value>
-          <value>productioneditor</value>
-          <value>copyeditor</value>
-          <value>technicaleditor</value>
-          <value>translator</value>
-          <value>other</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="othercredit.role.attrib"/>
-    <ref name="local.othercredit.attrib"/>
-  </define>
-  <!-- end of othercredit.attlist -->
-  <!-- (see "Personal identity elements" for %person.ident.mix;) -->
-  <!-- end of othercredit.module -->
-  <!-- PageNums ......................... -->
-  <define name="local.pagenums.attrib">
-    <empty/>
-  </define>
-  <define name="pagenums.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The numbers of the pages in a book, for use in a bibliographic entry. -->
-  <define name="pagenums">
-    <element name="pagenums">
-      <ref name="pagenums.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of pagenums.element -->
-  <define name="pagenums.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="pagenums.role.attrib"/>
-    <ref name="local.pagenums.attrib"/>
-  </define>
-  <!-- end of pagenums.attlist -->
-  <!-- end of pagenums.module -->
-  <!-- Personal identity elements ....... -->
-  <!--
-    These elements are used only within Author, Editor, and
-    OtherCredit.
-  -->
-  <define name="local.contrib.attrib">
-    <empty/>
-  </define>
-  <define name="contrib.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A summary of the contributions made to a document by a credited source. -->
-  <define name="contrib">
-    <element name="contrib">
-      <ref name="contrib.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of contrib.element -->
-  <define name="contrib.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="contrib.role.attrib"/>
-    <ref name="local.contrib.attrib"/>
-  </define>
-  <!-- end of contrib.attlist -->
-  <!-- end of contrib.module -->
-  <define name="local.firstname.attrib">
-    <empty/>
-  </define>
-  <define name="firstname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The first name of a person. -->
-  <define name="firstname">
-    <element name="firstname">
-      <ref name="firstname.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of firstname.element -->
-  <define name="firstname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="firstname.role.attrib"/>
-    <ref name="local.firstname.attrib"/>
-  </define>
-  <!-- end of firstname.attlist -->
-  <!-- end of firstname.module -->
-  <define name="local.honorific.attrib">
-    <empty/>
-  </define>
-  <define name="honorific.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The title of a person. -->
-  <define name="honorific">
-    <element name="honorific">
-      <ref name="honorific.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of honorific.element -->
-  <define name="honorific.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="honorific.role.attrib"/>
-    <ref name="local.honorific.attrib"/>
-  </define>
-  <!-- end of honorific.attlist -->
-  <!-- end of honorific.module -->
-  <define name="local.lineage.attrib">
-    <empty/>
-  </define>
-  <define name="lineage.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The portion of a person's name indicating a relationship to ancestors. -->
-  <define name="lineage">
-    <element name="lineage">
-      <ref name="lineage.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of lineage.element -->
-  <define name="lineage.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="lineage.role.attrib"/>
-    <ref name="local.lineage.attrib"/>
-  </define>
-  <!-- end of lineage.attlist -->
-  <!-- end of lineage.module -->
-  <define name="local.othername.attrib">
-    <empty/>
-  </define>
-  <define name="othername.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A component of a persons name that is not a first name, surname, or lineage. -->
-  <define name="othername">
-    <element name="othername">
-      <ref name="othername.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of othername.element -->
-  <define name="othername.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="othername.role.attrib"/>
-    <ref name="local.othername.attrib"/>
-  </define>
-  <!-- end of othername.attlist -->
-  <!-- end of othername.module -->
-  <define name="local.surname.attrib">
-    <empty/>
-  </define>
-  <define name="surname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A family name; in western cultures the last name. -->
-  <define name="surname">
-    <element name="surname">
-      <ref name="surname.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of surname.element -->
-  <define name="surname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="surname.role.attrib"/>
-    <ref name="local.surname.attrib"/>
-  </define>
-  <!-- end of surname.attlist -->
-  <!-- end of surname.module -->
-  <!-- end of person.ident.module -->
-  <!-- PrintHistory ..................... -->
-  <define name="local.printhistory.attrib">
-    <empty/>
-  </define>
-  <define name="printhistory.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The printing history of a document. -->
-  <define name="printhistory">
-    <element name="printhistory">
-      <ref name="printhistory.attlist"/>
-      <oneOrMore>
-        <ref name="para.class"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of printhistory.element -->
-  <define name="printhistory.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="printhistory.role.attrib"/>
-    <ref name="local.printhistory.attrib"/>
-  </define>
-  <!-- end of printhistory.attlist -->
-  <!-- end of printhistory.module -->
-  <!-- ProductName ...................... -->
-  <define name="local.productname.attrib">
-    <empty/>
-  </define>
-  <define name="productname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The formal name of a product. -->
-  <define name="productname">
-    <element name="productname">
-      <ref name="productname.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of productname.element -->
-  <!-- Class: More precisely identifies the item the element names -->
-  <define name="productname.attlist" combine="interleave">
-    <optional>
-      <attribute name="class" a:defaultValue="trade">
-        <choice>
-          <value>service</value>
-          <value>trade</value>
-          <value>registered</value>
-          <value>copyright</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="productname.role.attrib"/>
-    <ref name="local.productname.attrib"/>
-  </define>
-  <!-- end of productname.attlist -->
-  <!-- end of productname.module -->
-  <!-- ProductNumber .................... -->
-  <define name="local.productnumber.attrib">
-    <empty/>
-  </define>
-  <define name="productnumber.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A number assigned to a product. -->
-  <define name="productnumber">
-    <element name="productnumber">
-      <ref name="productnumber.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of productnumber.element -->
-  <define name="productnumber.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="productnumber.role.attrib"/>
-    <ref name="local.productnumber.attrib"/>
-  </define>
-  <!-- end of productnumber.attlist -->
-  <!-- end of productnumber.module -->
-  <!-- PubDate .......................... -->
-  <define name="local.pubdate.attrib">
-    <empty/>
-  </define>
-  <define name="pubdate.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The date of publication of a document. -->
-  <define name="pubdate">
-    <element name="pubdate">
-      <ref name="pubdate.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of pubdate.element -->
-  <define name="pubdate.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="pubdate.role.attrib"/>
-    <ref name="local.pubdate.attrib"/>
-  </define>
-  <!-- end of pubdate.attlist -->
-  <!-- end of pubdate.module -->
-  <!-- Publisher ........................ -->
-  <define name="local.publisher.attrib">
-    <empty/>
-  </define>
-  <define name="publisher.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The publisher of a document. -->
-  <define name="publisher">
-    <element name="publisher">
-      <ref name="publisher.attlist"/>
-      <ref name="publishername"/>
-      <zeroOrMore>
-        <ref name="address"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of publisher.element -->
-  <define name="publisher.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="publisher.role.attrib"/>
-    <ref name="local.publisher.attrib"/>
-  </define>
-  <!-- end of publisher.attlist -->
-  <!-- end of publisher.module -->
-  <define name="local.publishername.attrib">
-    <empty/>
-  </define>
-  <define name="publishername.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of the publisher of a document. -->
-  <define name="publishername">
-    <element name="publishername">
-      <ref name="publishername.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of publishername.element -->
-  <define name="publishername.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="publishername.role.attrib"/>
-    <ref name="local.publishername.attrib"/>
-  </define>
-  <!-- end of publishername.attlist -->
-  <!-- end of publishername.module -->
-  <!--  Address (defined elsewhere in this section) -->
-  <!-- end of publisher.content.module -->
-  <!-- PubsNumber ....................... -->
-  <define name="local.pubsnumber.attrib">
-    <empty/>
-  </define>
-  <define name="pubsnumber.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A number assigned to a publication other than an ISBN or ISSN or inventory part number. -->
-  <define name="pubsnumber">
-    <element name="pubsnumber">
-      <ref name="pubsnumber.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of pubsnumber.element -->
-  <define name="pubsnumber.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="pubsnumber.role.attrib"/>
-    <ref name="local.pubsnumber.attrib"/>
-  </define>
-  <!-- end of pubsnumber.attlist -->
-  <!-- end of pubsnumber.module -->
-  <!-- ReleaseInfo ...................... -->
-  <define name="local.releaseinfo.attrib">
-    <empty/>
-  </define>
-  <define name="releaseinfo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Information about a particular release of a document. -->
-  <define name="releaseinfo">
-    <element name="releaseinfo">
-      <ref name="releaseinfo.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of releaseinfo.element -->
-  <define name="releaseinfo.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="releaseinfo.role.attrib"/>
-    <ref name="local.releaseinfo.attrib"/>
-  </define>
-  <!-- end of releaseinfo.attlist -->
-  <!-- end of releaseinfo.module -->
-  <!-- RevHistory ....................... -->
-  <define name="local.revhistory.attrib">
-    <empty/>
-  </define>
-  <define name="revhistory.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A history of the revisions to a document. -->
-  <define name="revhistory">
-    <element name="revhistory">
-      <ref name="revhistory.attlist"/>
-      <oneOrMore>
-        <ref name="revision"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of revhistory.element -->
-  <define name="revhistory.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="revhistory.role.attrib"/>
-    <ref name="local.revhistory.attrib"/>
-  </define>
-  <!-- end of revhistory.attlist -->
-  <!-- end of revhistory.module -->
-  <define name="local.revision.attrib">
-    <empty/>
-  </define>
-  <define name="revision.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An entry describing a single revision in the history of the revisions to a document. -->
-  <define name="revision">
-    <element name="revision">
-      <ref name="revision.attlist"/>
-      <optional>
-        <ref name="revnumber"/>
-      </optional>
-      <ref name="date"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="author"/>
-          <ref name="authorinitials"/>
-        </choice>
-      </zeroOrMore>
-      <optional>
-        <choice>
-          <ref name="revremark"/>
-          <ref name="revdescription"/>
-        </choice>
-      </optional>
-    </element>
-  </define>
-  <!-- end of revision.element -->
-  <define name="revision.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="revision.role.attrib"/>
-    <ref name="local.revision.attrib"/>
-  </define>
-  <!-- end of revision.attlist -->
-  <!-- end of revision.module -->
-  <define name="local.revnumber.attrib">
-    <empty/>
-  </define>
-  <define name="revnumber.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A document revision number. -->
-  <define name="revnumber">
-    <element name="revnumber">
-      <ref name="revnumber.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of revnumber.element -->
-  <define name="revnumber.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="revnumber.role.attrib"/>
-    <ref name="local.revnumber.attrib"/>
-  </define>
-  <!-- end of revnumber.attlist -->
-  <!-- end of revnumber.module -->
-  <!--  Date (defined elsewhere in this section) -->
-  <!--  AuthorInitials (defined elsewhere in this section) -->
-  <define name="local.revremark.attrib">
-    <empty/>
-  </define>
-  <define name="revremark.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A description of a revision to a document. -->
-  <define name="revremark">
-    <element name="revremark">
-      <ref name="revremark.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of revremark.element -->
-  <define name="revremark.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="revremark.role.attrib"/>
-    <ref name="local.revremark.attrib"/>
-  </define>
-  <!-- end of revremark.attlist -->
-  <!-- end of revremark.module -->
-  <define name="local.revdescription.attrib">
-    <empty/>
-  </define>
-  <define name="revdescription.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A extended description of a revision to a document. -->
-  <define name="revdescription">
-    <element name="revdescription">
-      <ref name="revdescription.attlist"/>
-      <oneOrMore>
-        <ref name="revdescription.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of revdescription.element -->
-  <define name="revdescription.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="revdescription.role.attrib"/>
-    <ref name="local.revdescription.attrib"/>
-  </define>
-  <!-- end of revdescription.attlist -->
-  <!-- end of revdescription.module -->
-  <!-- end of revhistory.content.module -->
-  <!-- SeriesVolNums .................... -->
-  <define name="local.seriesvolnums.attrib">
-    <empty/>
-  </define>
-  <define name="seriesvolnums.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Numbers of the volumes in a series of books. -->
-  <define name="seriesvolnums">
-    <element name="seriesvolnums">
-      <ref name="seriesvolnums.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of seriesvolnums.element -->
-  <define name="seriesvolnums.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="seriesvolnums.role.attrib"/>
-    <ref name="local.seriesvolnums.attrib"/>
-  </define>
-  <!-- end of seriesvolnums.attlist -->
-  <!-- end of seriesvolnums.module -->
-  <!-- VolumeNum ........................ -->
-  <define name="local.volumenum.attrib">
-    <empty/>
-  </define>
-  <define name="volumenum.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The volume number of a document in a set (as of books in a set or articles in a journal). -->
-  <define name="volumenum">
-    <element name="volumenum">
-      <ref name="volumenum.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of volumenum.element -->
-  <define name="volumenum.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="volumenum.role.attrib"/>
-    <ref name="local.volumenum.attrib"/>
-  </define>
-  <!-- end of volumenum.attlist -->
-  <!-- end of volumenum.module -->
-  <!-- .................................. -->
-  <!-- end of docinfo.content.module -->
-  <!-- ...................................................................... -->
-  <!-- Inline, link, and ubiquitous elements ................................ -->
-  <!-- Technical and computer terms ......................................... -->
-  <define name="local.accel.attrib">
-    <empty/>
-  </define>
-  <define name="accel.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A graphical user interface (GUI) keyboard shortcut. -->
-  <define name="accel">
-    <element name="accel">
-      <ref name="accel.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of accel.element -->
-  <define name="accel.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="accel.role.attrib"/>
-    <ref name="local.accel.attrib"/>
-  </define>
-  <!-- end of accel.attlist -->
-  <!-- end of accel.module -->
-  <define name="local.action.attrib">
-    <empty/>
-  </define>
-  <define name="action.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A response to a user event. -->
-  <define name="action">
-    <element name="action">
-      <ref name="action.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of action.element -->
-  <define name="action.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="action.role.attrib"/>
-    <ref name="local.action.attrib"/>
-  </define>
-  <!-- end of action.attlist -->
-  <!-- end of action.module -->
-  <define name="local.application.attrib">
-    <empty/>
-  </define>
-  <define name="application.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a software program. -->
-  <define name="application">
-    <element name="application">
-      <ref name="application.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of application.element -->
-  <define name="application.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>hardware</value>
-          <value>software</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="application.role.attrib"/>
-    <ref name="local.application.attrib"/>
-  </define>
-  <!-- end of application.attlist -->
-  <!-- end of application.module -->
-  <define name="local.classname.attrib">
-    <empty/>
-  </define>
-  <define name="classname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a class, in the object-oriented programming sense. -->
-  <define name="classname">
-    <element name="classname">
-      <ref name="classname.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of classname.element -->
-  <define name="classname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="classname.role.attrib"/>
-    <ref name="local.classname.attrib"/>
-  </define>
-  <!-- end of classname.attlist -->
-  <!-- end of classname.module -->
-  <define name="local.package.attrib">
-    <empty/>
-  </define>
-  <define name="package.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A package. -->
-  <define name="package">
-    <element name="package">
-      <ref name="package.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of package.element -->
-  <define name="package.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="package.role.attrib"/>
-    <ref name="local.package.attrib"/>
-  </define>
-  <!-- end of package.attlist -->
-  <!-- end of package.module -->
-  <define name="local.co.attrib">
-    <empty/>
-  </define>
-  <!--
-    CO is a callout area of the LineColumn unit type (a single character
-    position); the position is directly indicated by the location of CO.
-  -->
-  <define name="co.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The location of a callout embedded in text. -->
-  <define name="co">
-    <element name="co">
-      <ref name="co.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of co.element -->
-  <!-- bug number/symbol override or initialization -->
-  <!-- to any related information -->
-  <define name="co.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="linkends.attrib"/>
-    <ref name="idreq.common.attrib"/>
-    <ref name="co.role.attrib"/>
-    <ref name="local.co.attrib"/>
-  </define>
-  <!-- end of co.attlist -->
-  <!-- end of co.module -->
-  <define name="local.coref.attrib">
-    <empty/>
-  </define>
-  <!-- COREF is a reference to a CO -->
-  <define name="coref.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A cross reference to a co. -->
-  <define name="coref">
-    <element name="coref">
-      <ref name="coref.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of coref.element -->
-  <!-- bug number/symbol override or initialization -->
-  <!-- to any related information -->
-  <define name="coref.attlist" combine="interleave">
-    <ref name="label.attrib"/>
-    <ref name="linkendreq.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="coref.role.attrib"/>
-    <ref name="local.coref.attrib"/>
-  </define>
-  <!-- end of coref.attlist -->
-  <!-- end of coref.module -->
-  <define name="local.command.attrib">
-    <empty/>
-  </define>
-  <define name="command.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of an executable program or other software command. -->
-  <define name="command">
-    <element name="command">
-      <ref name="command.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of command.element -->
-  <define name="command.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="command.role.attrib"/>
-    <ref name="local.command.attrib"/>
-  </define>
-  <!-- end of command.attlist -->
-  <!-- end of command.module -->
-  <define name="local.computeroutput.attrib">
-    <empty/>
-  </define>
-  <define name="computeroutput.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Data, generally text, displayed or presented by a computer. -->
-  <define name="computeroutput">
-    <element name="computeroutput">
-      <ref name="computeroutput.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="cptr.char.mix"/>
-          <ref name="co"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of computeroutput.element -->
-  <define name="computeroutput.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="computeroutput.role.attrib"/>
-    <ref name="local.computeroutput.attrib"/>
-  </define>
-  <!-- end of computeroutput.attlist -->
-  <!-- end of computeroutput.module -->
-  <define name="local.database.attrib">
-    <empty/>
-  </define>
-  <define name="database.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a database, or part of a database. -->
-  <define name="database">
-    <element name="database">
-      <ref name="database.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of database.element -->
-  <!-- Class: Type of database the element names; no default -->
-  <define name="database.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>name</value>
-          <value>table</value>
-          <value>field</value>
-          <value>key1</value>
-          <value>key2</value>
-          <value>record</value>
-          <value>index</value>
-          <value>view</value>
-          <value>primarykey</value>
-          <value>secondarykey</value>
-          <value>foreignkey</value>
-          <value>altkey</value>
-          <value>procedure</value>
-          <value>datatype</value>
-          <value>constraint</value>
-          <value>rule</value>
-          <value>user</value>
-          <value>group</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="database.role.attrib"/>
-    <ref name="local.database.attrib"/>
-  </define>
-  <!-- end of database.attlist -->
-  <!-- end of database.module -->
-  <define name="local.email.attrib">
-    <empty/>
-  </define>
-  <define name="email.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An email address. -->
-  <define name="email">
-    <element name="email">
-      <ref name="email.attlist"/>
-      <zeroOrMore>
-        <ref name="docinfo.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of email.element -->
-  <define name="email.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="email.role.attrib"/>
-    <ref name="local.email.attrib"/>
-  </define>
-  <!-- end of email.attlist -->
-  <!-- end of email.module -->
-  <define name="local.envar.attrib">
-    <empty/>
-  </define>
-  <define name="envar.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A software environment variable. -->
-  <define name="envar">
-    <element name="envar">
-      <ref name="envar.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of envar.element -->
-  <define name="envar.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="envar.role.attrib"/>
-    <ref name="local.envar.attrib"/>
-  </define>
-  <!-- end of envar.attlist -->
-  <!-- end of envar.module -->
-  <define name="local.errorcode.attrib">
-    <empty/>
-  </define>
-  <define name="errorcode.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An error code. -->
-  <define name="errorcode">
-    <element name="errorcode">
-      <ref name="errorcode.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of errorcode.element -->
-  <define name="errorcode.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="errorcode.role.attrib"/>
-    <ref name="local.errorcode.attrib"/>
-  </define>
-  <!-- end of errorcode.attlist -->
-  <!-- end of errorcode.module -->
-  <define name="local.errorname.attrib">
-    <empty/>
-  </define>
-  <define name="errorname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An error name. -->
-  <define name="errorname">
-    <element name="errorname">
-      <ref name="errorname.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of errorname.element -->
-  <define name="errorname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="errorname.role.attrib"/>
-    <ref name="local.errorname.attrib"/>
-  </define>
-  <!-- end of errorname.attlist -->
-  <!-- end of errorname.module -->
-  <define name="local.errortext.attrib">
-    <empty/>
-  </define>
-  <define name="errortext.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An error message.. -->
-  <define name="errortext">
-    <element name="errortext">
-      <ref name="errortext.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of errortext.element -->
-  <define name="errortext.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="errortext.role.attrib"/>
-    <ref name="local.errortext.attrib"/>
-  </define>
-  <!-- end of errortext.attlist -->
-  <!-- end of errortext.module -->
-  <define name="local.errortype.attrib">
-    <empty/>
-  </define>
-  <define name="errortype.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The classification of an error message. -->
-  <define name="errortype">
-    <element name="errortype">
-      <ref name="errortype.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of errortype.element -->
-  <define name="errortype.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="errortype.role.attrib"/>
-    <ref name="local.errortype.attrib"/>
-  </define>
-  <!-- end of errortype.attlist -->
-  <!-- end of errortype.module -->
-  <define name="local.filename.attrib">
-    <empty/>
-  </define>
-  <define name="filename.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a file. -->
-  <define name="filename">
-    <element name="filename">
-      <ref name="filename.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of filename.element -->
-  <!-- Class: Type of filename the element names; no default -->
-  <!--
-    Path: Search path (possibly system-specific) in which
-    file can be found
-  -->
-  <define name="filename.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>headerfile</value>
-          <value>partition</value>
-          <value>devicefile</value>
-          <value>libraryfile</value>
-          <value>directory</value>
-          <value>extension</value>
-          <value>symlink</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="path"/>
-    </optional>
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="filename.role.attrib"/>
-    <ref name="local.filename.attrib"/>
-  </define>
-  <!-- end of filename.attlist -->
-  <!-- end of filename.module -->
-  <define name="local.function.attrib">
-    <empty/>
-  </define>
-  <define name="function.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a function or subroutine, as in a programming language. -->
-  <define name="function">
-    <element name="function">
-      <ref name="function.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of function.element -->
-  <define name="function.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="function.role.attrib"/>
-    <ref name="local.function.attrib"/>
-  </define>
-  <!-- end of function.attlist -->
-  <!-- end of function.module -->
-  <define name="local.guibutton.attrib">
-    <empty/>
-  </define>
-  <define name="guibutton.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The text on a button in a GUI. -->
-  <define name="guibutton">
-    <element name="guibutton">
-      <ref name="guibutton.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="smallcptr.char.mix"/>
-          <ref name="accel"/>
-          <ref name="superscript"/>
-          <ref name="subscript"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of guibutton.element -->
-  <define name="guibutton.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="guibutton.role.attrib"/>
-    <ref name="local.guibutton.attrib"/>
-  </define>
-  <!-- end of guibutton.attlist -->
-  <!-- end of guibutton.module -->
-  <define name="local.guiicon.attrib">
-    <empty/>
-  </define>
-  <define name="guiicon.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Graphic and/or text appearing as a icon in a GUI. -->
-  <define name="guiicon">
-    <element name="guiicon">
-      <ref name="guiicon.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="smallcptr.char.mix"/>
-          <ref name="accel"/>
-          <ref name="superscript"/>
-          <ref name="subscript"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of guiicon.element -->
-  <define name="guiicon.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="guiicon.role.attrib"/>
-    <ref name="local.guiicon.attrib"/>
-  </define>
-  <!-- end of guiicon.attlist -->
-  <!-- end of guiicon.module -->
-  <define name="local.guilabel.attrib">
-    <empty/>
-  </define>
-  <define name="guilabel.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The text of a label in a GUI. -->
-  <define name="guilabel">
-    <element name="guilabel">
-      <ref name="guilabel.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="smallcptr.char.mix"/>
-          <ref name="accel"/>
-          <ref name="superscript"/>
-          <ref name="subscript"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of guilabel.element -->
-  <define name="guilabel.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="guilabel.role.attrib"/>
-    <ref name="local.guilabel.attrib"/>
-  </define>
-  <!-- end of guilabel.attlist -->
-  <!-- end of guilabel.module -->
-  <define name="local.guimenu.attrib">
-    <empty/>
-  </define>
-  <define name="guimenu.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a menu in a GUI. -->
-  <define name="guimenu">
-    <element name="guimenu">
-      <ref name="guimenu.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="smallcptr.char.mix"/>
-          <ref name="accel"/>
-          <ref name="superscript"/>
-          <ref name="subscript"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of guimenu.element -->
-  <define name="guimenu.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="guimenu.role.attrib"/>
-    <ref name="local.guimenu.attrib"/>
-  </define>
-  <!-- end of guimenu.attlist -->
-  <!-- end of guimenu.module -->
-  <define name="local.guimenuitem.attrib">
-    <empty/>
-  </define>
-  <define name="guimenuitem.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a terminal menu item in a GUI. -->
-  <define name="guimenuitem">
-    <element name="guimenuitem">
-      <ref name="guimenuitem.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="smallcptr.char.mix"/>
-          <ref name="accel"/>
-          <ref name="superscript"/>
-          <ref name="subscript"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of guimenuitem.element -->
-  <define name="guimenuitem.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="guimenuitem.role.attrib"/>
-    <ref name="local.guimenuitem.attrib"/>
-  </define>
-  <!-- end of guimenuitem.attlist -->
-  <!-- end of guimenuitem.module -->
-  <define name="local.guisubmenu.attrib">
-    <empty/>
-  </define>
-  <define name="guisubmenu.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a submenu in a GUI. -->
-  <define name="guisubmenu">
-    <element name="guisubmenu">
-      <ref name="guisubmenu.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="smallcptr.char.mix"/>
-          <ref name="accel"/>
-          <ref name="superscript"/>
-          <ref name="subscript"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of guisubmenu.element -->
-  <define name="guisubmenu.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="guisubmenu.role.attrib"/>
-    <ref name="local.guisubmenu.attrib"/>
-  </define>
-  <!-- end of guisubmenu.attlist -->
-  <!-- end of guisubmenu.module -->
-  <define name="local.hardware.attrib">
-    <empty/>
-  </define>
-  <define name="hardware.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A physical part of a computer system. -->
-  <define name="hardware">
-    <element name="hardware">
-      <ref name="hardware.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of hardware.element -->
-  <define name="hardware.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="hardware.role.attrib"/>
-    <ref name="local.hardware.attrib"/>
-  </define>
-  <!-- end of hardware.attlist -->
-  <!-- end of hardware.module -->
-  <define name="local.interface.attrib">
-    <empty/>
-  </define>
-  <define name="interface.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An element of a GUI. -->
-  <define name="interface">
-    <element name="interface">
-      <ref name="interface.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="smallcptr.char.mix"/>
-          <ref name="accel"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of interface.element -->
-  <!-- Class: Type of the Interface item; no default -->
-  <define name="interface.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="interface.role.attrib"/>
-    <ref name="local.interface.attrib"/>
-  </define>
-  <!-- end of interface.attlist -->
-  <!-- end of interface.module -->
-  <define name="local.keycap.attrib">
-    <empty/>
-  </define>
-  <define name="keycap.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The text printed on a key on a keyboard. -->
-  <define name="keycap">
-    <element name="keycap">
-      <ref name="keycap.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of keycap.element -->
-  <define name="keycap.attlist" combine="interleave">
-    <optional>
-      <attribute name="function">
-        <choice>
-          <value>alt</value>
-          <value>control</value>
-          <value>shift</value>
-          <value>meta</value>
-          <value>escape</value>
-          <value>enter</value>
-          <value>tab</value>
-          <value>backspace</value>
-          <value>command</value>
-          <value>option</value>
-          <value>space</value>
-          <value>delete</value>
-          <value>insert</value>
-          <value>up</value>
-          <value>down</value>
-          <value>left</value>
-          <value>right</value>
-          <value>home</value>
-          <value>end</value>
-          <value>pageup</value>
-          <value>pagedown</value>
-          <value>other</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="otherfunction"/>
-    </optional>
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="keycap.role.attrib"/>
-    <ref name="local.keycap.attrib"/>
-  </define>
-  <!-- end of keycap.attlist -->
-  <!-- end of keycap.module -->
-  <define name="local.keycode.attrib">
-    <empty/>
-  </define>
-  <define name="keycode.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The internal, frequently numeric, identifier for a key on a keyboard. -->
-  <define name="keycode">
-    <element name="keycode">
-      <ref name="keycode.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of keycode.element -->
-  <define name="keycode.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="keycode.role.attrib"/>
-    <ref name="local.keycode.attrib"/>
-  </define>
-  <!-- end of keycode.attlist -->
-  <!-- end of keycode.module -->
-  <define name="local.keycombo.attrib">
-    <empty/>
-  </define>
-  <define name="keycombo.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A combination of input actions. -->
-  <define name="keycombo">
-    <element name="keycombo">
-      <ref name="keycombo.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="keycap"/>
-          <ref name="keycombo"/>
-          <ref name="keysym"/>
-          <ref name="mousebutton"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of keycombo.element -->
-  <define name="keycombo.attlist" combine="interleave">
-    <ref name="keyaction.attrib"/>
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="keycombo.role.attrib"/>
-    <ref name="local.keycombo.attrib"/>
-  </define>
-  <!-- end of keycombo.attlist -->
-  <!-- end of keycombo.module -->
-  <define name="local.keysym.attrib">
-    <empty/>
-  </define>
-  <define name="keysysm.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The symbolic name of a key on a keyboard. -->
-  <define name="keysym">
-    <element name="keysym">
-      <ref name="keysym.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of keysym.element -->
-  <define name="keysym.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="keysysm.role.attrib"/>
-    <ref name="local.keysym.attrib"/>
-  </define>
-  <!-- end of keysym.attlist -->
-  <!-- end of keysym.module -->
-  <define name="local.lineannotation.attrib">
-    <empty/>
-  </define>
-  <define name="lineannotation.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A comment on a line in a verbatim listing. -->
-  <define name="lineannotation">
-    <element name="lineannotation">
-      <ref name="lineannotation.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of lineannotation.element -->
-  <define name="lineannotation.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="lineannotation.role.attrib"/>
-    <ref name="local.lineannotation.attrib"/>
-  </define>
-  <!-- end of lineannotation.attlist -->
-  <!-- end of lineannotation.module -->
-  <define name="local.literal.attrib">
-    <empty/>
-  </define>
-  <define name="literal.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Inline text that is some literal value. -->
-  <define name="literal">
-    <element name="literal">
-      <ref name="literal.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of literal.element -->
-  <define name="literal.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="literal.role.attrib"/>
-    <ref name="local.literal.attrib"/>
-  </define>
-  <!-- end of literal.attlist -->
-  <!-- end of literal.module -->
-  <define name="local.code.attrib">
-    <empty/>
-  </define>
-  <define name="code.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An inline code fragment. -->
-  <define name="code">
-    <element name="code">
-      <ref name="code.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of code.element -->
-  <define name="code.attlist" combine="interleave">
-    <optional>
-      <attribute name="language"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="code.role.attrib"/>
-    <ref name="local.code.attrib"/>
-  </define>
-  <!-- end of code.attlist -->
-  <!-- end of code.module -->
-  <define name="local.constant.attrib">
-    <empty/>
-  </define>
-  <define name="constant.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A programming or system constant. -->
-  <define name="constant">
-    <element name="constant">
-      <ref name="constant.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of constant.element -->
-  <define name="constant.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>limit</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="constant.role.attrib"/>
-    <ref name="local.constant.attrib"/>
-  </define>
-  <!-- end of constant.attlist -->
-  <!-- end of constant.module -->
-  <define name="local.varname.attrib">
-    <empty/>
-  </define>
-  <define name="varname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a variable. -->
-  <define name="varname">
-    <element name="varname">
-      <ref name="varname.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of varname.element -->
-  <define name="varname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="varname.role.attrib"/>
-    <ref name="local.varname.attrib"/>
-  </define>
-  <!-- end of varname.attlist -->
-  <!-- end of varname.module -->
-  <define name="local.markup.attrib">
-    <empty/>
-  </define>
-  <define name="markup.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A string of formatting markup in text that is to be represented literally. -->
-  <define name="markup">
-    <element name="markup">
-      <ref name="markup.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of markup.element -->
-  <define name="markup.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="markup.role.attrib"/>
-    <ref name="local.markup.attrib"/>
-  </define>
-  <!-- end of markup.attlist -->
-  <!-- end of markup.module -->
-  <define name="local.medialabel.attrib">
-    <empty/>
-  </define>
-  <define name="medialabel.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A name that identifies the physical medium on which some information resides. -->
-  <define name="medialabel">
-    <element name="medialabel">
-      <ref name="medialabel.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of medialabel.element -->
-  <!-- Class: Type of medium named by the element; no default -->
-  <define name="medialabel.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>cartridge</value>
-          <value>cdrom</value>
-          <value>disk</value>
-          <value>tape</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="medialabel.role.attrib"/>
-    <ref name="local.medialabel.attrib"/>
-  </define>
-  <!-- end of medialabel.attlist -->
-  <!-- end of medialabel.module -->
-  <define name="local.menuchoice.attrib">
-    <empty/>
-  </define>
-  <define name="menuchoice.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A selection or series of selections from a menu. -->
-  <define name="menuchoice">
-    <element name="menuchoice">
-      <ref name="menuchoice.attlist"/>
-      <optional>
-        <ref name="shortcut"/>
-      </optional>
-      <oneOrMore>
-        <choice>
-          <ref name="guibutton"/>
-          <ref name="guiicon"/>
-          <ref name="guilabel"/>
-          <ref name="guimenu"/>
-          <ref name="guimenuitem"/>
-          <ref name="guisubmenu"/>
-          <ref name="interface"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of menuchoice.element -->
-  <define name="menuchoice.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="menuchoice.role.attrib"/>
-    <ref name="local.menuchoice.attrib"/>
-  </define>
-  <!-- end of menuchoice.attlist -->
-  <!-- end of menuchoice.module -->
-  <!-- See also KeyCombo -->
-  <define name="local.shortcut.attrib">
-    <empty/>
-  </define>
-  <define name="shortcut.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A key combination for an action that is also accessible through a menu. -->
-  <define name="shortcut">
-    <element name="shortcut">
-      <ref name="shortcut.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="keycap"/>
-          <ref name="keycombo"/>
-          <ref name="keysym"/>
-          <ref name="mousebutton"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of shortcut.element -->
-  <define name="shortcut.attlist" combine="interleave">
-    <ref name="keyaction.attrib"/>
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="shortcut.role.attrib"/>
-    <ref name="local.shortcut.attrib"/>
-  </define>
-  <!-- end of shortcut.attlist -->
-  <!-- end of shortcut.module -->
-  <!-- end of menuchoice.content.module -->
-  <define name="local.mousebutton.attrib">
-    <empty/>
-  </define>
-  <define name="mousebutton.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The conventional name of a mouse button. -->
-  <define name="mousebutton">
-    <element name="mousebutton">
-      <ref name="mousebutton.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of mousebutton.element -->
-  <define name="mousebutton.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="mousebutton.role.attrib"/>
-    <ref name="local.mousebutton.attrib"/>
-  </define>
-  <!-- end of mousebutton.attlist -->
-  <!-- end of mousebutton.module -->
-  <define name="local.msgtext.attrib">
-    <empty/>
-  </define>
-  <define name="msgtext.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The actual text of a message component in a message set. -->
-  <define name="msgtext">
-    <element name="msgtext">
-      <ref name="msgtext.attlist"/>
-      <oneOrMore>
-        <ref name="component.mix"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- end of msgtext.element -->
-  <define name="msgtext.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="msgtext.role.attrib"/>
-    <ref name="local.msgtext.attrib"/>
-  </define>
-  <!-- end of msgtext.attlist -->
-  <!-- end of msgtext.module -->
-  <define name="local.option.attrib">
-    <empty/>
-  </define>
-  <define name="option.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An option for a software command. -->
-  <define name="option">
-    <element name="option">
-      <ref name="option.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of option.element -->
-  <define name="option.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="option.role.attrib"/>
-    <ref name="local.option.attrib"/>
-  </define>
-  <!-- end of option.attlist -->
-  <!-- end of option.module -->
-  <define name="local.optional.attrib">
-    <empty/>
-  </define>
-  <define name="optional.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Optional information. -->
-  <define name="optional">
-    <element name="optional">
-      <ref name="optional.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of optional.element -->
-  <define name="optional.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="optional.role.attrib"/>
-    <ref name="local.optional.attrib"/>
-  </define>
-  <!-- end of optional.attlist -->
-  <!-- end of optional.module -->
-  <define name="local.parameter.attrib">
-    <empty/>
-  </define>
-  <define name="parameter.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A value or a symbolic reference to a value. -->
-  <define name="parameter">
-    <element name="parameter">
-      <ref name="parameter.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of parameter.element -->
-  <!-- Class: Type of the Parameter; no default -->
-  <define name="parameter.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>command</value>
-          <value>function</value>
-          <value>option</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="parameter.role.attrib"/>
-    <ref name="local.parameter.attrib"/>
-  </define>
-  <!-- end of parameter.attlist -->
-  <!-- end of parameter.module -->
-  <define name="local.prompt.attrib">
-    <empty/>
-  </define>
-  <define name="prompt.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A character or string indicating the start of an input field in a  computer display. -->
-  <define name="prompt">
-    <element name="prompt">
-      <ref name="prompt.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="smallcptr.char.mix"/>
-          <ref name="co"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of prompt.element -->
-  <define name="prompt.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="prompt.role.attrib"/>
-    <ref name="local.prompt.attrib"/>
-  </define>
-  <!-- end of prompt.attlist -->
-  <!-- end of prompt.module -->
-  <define name="local.property.attrib">
-    <empty/>
-  </define>
-  <define name="property.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A unit of data associated with some part of a computer system. -->
-  <define name="property">
-    <element name="property">
-      <ref name="property.attlist"/>
-      <zeroOrMore>
-        <ref name="cptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of property.element -->
-  <define name="property.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="property.role.attrib"/>
-    <ref name="local.property.attrib"/>
-  </define>
-  <!-- end of property.attlist -->
-  <!-- end of property.module -->
-  <define name="local.replaceable.attrib">
-    <empty/>
-  </define>
-  <define name="replaceable.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Content that may or must be replaced by the user. -->
-  <define name="replaceable">
-    <element name="replaceable">
-      <ref name="replaceable.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="link.char.class"/>
-          <ref name="optional"/>
-          <ref name="base.char.class"/>
-          <ref name="other.char.class"/>
-          <ref name="inlinegraphic"/>
-          <ref name="inlinemediaobject"/>
-          <ref name="co"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of replaceable.element -->
-  <!--
-    Class: Type of information the element represents; no
-    default
-  -->
-  <define name="replaceable.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>command</value>
-          <value>function</value>
-          <value>option</value>
-          <value>parameter</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="replaceable.role.attrib"/>
-    <ref name="local.replaceable.attrib"/>
-  </define>
-  <!-- end of replaceable.attlist -->
-  <!-- end of replaceable.module -->
-  <define name="local.returnvalue.attrib">
-    <empty/>
-  </define>
-  <define name="returnvalue.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The value returned by a function. -->
-  <define name="returnvalue">
-    <element name="returnvalue">
-      <ref name="returnvalue.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of returnvalue.element -->
-  <define name="returnvalue.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="returnvalue.role.attrib"/>
-    <ref name="local.returnvalue.attrib"/>
-  </define>
-  <!-- end of returnvalue.attlist -->
-  <!-- end of returnvalue.module -->
-  <define name="local.sgmltag.attrib">
-    <empty/>
-  </define>
-  <define name="sgmltag.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A component of SGML markup. -->
-  <define name="sgmltag">
-    <element name="sgmltag">
-      <ref name="sgmltag.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of sgmltag.element -->
-  <!-- Class: Type of SGML construct the element names; no default -->
-  <define name="sgmltag.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>attribute</value>
-          <value>attvalue</value>
-          <value>element</value>
-          <value>endtag</value>
-          <value>emptytag</value>
-          <value>genentity</value>
-          <value>numcharref</value>
-          <value>paramentity</value>
-          <value>pi</value>
-          <value>xmlpi</value>
-          <value>starttag</value>
-          <value>sgmlcomment</value>
-          <value>prefix</value>
-          <value>namespace</value>
-          <value>localname</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="namespace"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="sgmltag.role.attrib"/>
-    <ref name="local.sgmltag.attrib"/>
-  </define>
-  <!-- end of sgmltag.attlist -->
-  <!-- end of sgmltag.module -->
-  <define name="local.structfield.attrib">
-    <empty/>
-  </define>
-  <define name="structfield.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A field in a structure (in the programming language sense). -->
-  <define name="structfield">
-    <element name="structfield">
-      <ref name="structfield.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of structfield.element -->
-  <define name="structfield.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="structfield.role.attrib"/>
-    <ref name="local.structfield.attrib"/>
-  </define>
-  <!-- end of structfield.attlist -->
-  <!-- end of structfield.module -->
-  <define name="local.structname.attrib">
-    <empty/>
-  </define>
-  <define name="structname.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The name of a structure (in the programming language sense). -->
-  <define name="structname">
-    <element name="structname">
-      <ref name="structname.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of structname.element -->
-  <define name="structname.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="structname.role.attrib"/>
-    <ref name="local.structname.attrib"/>
-  </define>
-  <!-- end of structname.attlist -->
-  <!-- end of structname.module -->
-  <define name="local.symbol.attrib">
-    <empty/>
-  </define>
-  <define name="symbol.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A name that is replaced by a value before processing. -->
-  <define name="symbol">
-    <element name="symbol">
-      <ref name="symbol.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of symbol.element -->
-  <!-- Class: Type of symbol; no default -->
-  <define name="symbol.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>limit</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="symbol.role.attrib"/>
-    <ref name="local.symbol.attrib"/>
-  </define>
-  <!-- end of symbol.attlist -->
-  <!-- end of symbol.module -->
-  <define name="local.systemitem.attrib">
-    <empty/>
-  </define>
-  <define name="systemitem.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A system-related item or term. -->
-  <define name="systemitem">
-    <element name="systemitem">
-      <ref name="systemitem.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="cptr.char.mix"/>
-          <ref name="acronym"/>
-          <ref name="co"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of systemitem.element -->
-  <!-- Class: Type of system item the element names; no default -->
-  <define name="systemitem.attlist" combine="interleave">
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>constant</value>
-          <value>daemon</value>
-          <value>domainname</value>
-          <value>etheraddress</value>
-          <value>event</value>
-          <value>eventhandler</value>
-          <value>filesystem</value>
-          <value>fqdomainname</value>
-          <value>groupname</value>
-          <value>ipaddress</value>
-          <value>library</value>
-          <value>macro</value>
-          <value>netmask</value>
-          <value>newsgroup</value>
-          <value>osname</value>
-          <value>protocol</value>
-          <value>resource</value>
-          <value>systemname</value>
-          <value>username</value>
-          <value>process</value>
-          <value>server</value>
-          <value>service</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="systemitem.role.attrib"/>
-    <ref name="local.systemitem.attrib"/>
-  </define>
-  <!-- end of systemitem.attlist -->
-  <!-- end of systemitem.module -->
-  <define name="local.uri.attrib">
-    <empty/>
-  </define>
-  <define name="uri.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A Uniform Resource Identifier. -->
-  <define name="uri">
-    <element name="uri">
-      <ref name="uri.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of uri.element -->
-  <!-- Type: Type of URI; no default -->
-  <define name="uri.attlist" combine="interleave">
-    <optional>
-      <attribute name="type"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="uri.role.attrib"/>
-    <ref name="local.uri.attrib"/>
-  </define>
-  <!-- end of uri.attlist -->
-  <!-- end of uri.module -->
-  <define name="local.token.attrib">
-    <empty/>
-  </define>
-  <define name="token.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A unit of information. -->
-  <define name="token">
-    <element name="token">
-      <ref name="token.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of token.element -->
-  <define name="token.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="token.role.attrib"/>
-    <ref name="local.token.attrib"/>
-  </define>
-  <!-- end of token.attlist -->
-  <!-- end of token.module -->
-  <define name="local.type.attrib">
-    <empty/>
-  </define>
-  <define name="type.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The classification of a value. -->
-  <define name="type">
-    <element name="type">
-      <ref name="type.attlist"/>
-      <zeroOrMore>
-        <ref name="smallcptr.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of type.element -->
-  <define name="type.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="type.role.attrib"/>
-    <ref name="local.type.attrib"/>
-  </define>
-  <!-- end of type.attlist -->
-  <!-- end of type.module -->
-  <define name="local.userinput.attrib">
-    <empty/>
-  </define>
-  <define name="userinput.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Data entered by the user. -->
-  <define name="userinput">
-    <element name="userinput">
-      <ref name="userinput.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="cptr.char.mix"/>
-          <ref name="co"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of userinput.element -->
-  <define name="userinput.attlist" combine="interleave">
-    <ref name="moreinfo.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="userinput.role.attrib"/>
-    <ref name="local.userinput.attrib"/>
-  </define>
-  <!-- end of userinput.attlist -->
-  <!-- end of userinput.module -->
-  <define name="local.termdef.attrib">
-    <empty/>
-  </define>
-  <define name="termdef.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An inline definition of a term. -->
-  <define name="termdef">
-    <element name="termdef">
-      <ref name="termdef.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of termdef.element -->
-  <define name="termdef.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="termdef.role.attrib"/>
-    <ref name="local.termdef.attrib"/>
-  </define>
-  <!-- end of termdef.attlist -->
-  <!-- end of termdef.module -->
-  <!-- General words and phrases ............................................ -->
-  <define name="local.abbrev.attrib">
-    <empty/>
-  </define>
-  <define name="abbrev.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An abbreviation, especially one followed by a period. -->
-  <define name="abbrev">
-    <element name="abbrev">
-      <ref name="abbrev.attlist"/>
-      <zeroOrMore>
-        <ref name="word.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of abbrev.element -->
-  <define name="abbrev.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="abbrev.role.attrib"/>
-    <ref name="local.abbrev.attrib"/>
-  </define>
-  <!-- end of abbrev.attlist -->
-  <!-- end of abbrev.module -->
-  <define name="local.acronym.attrib">
-    <empty/>
-  </define>
-  <define name="acronym.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An often pronounceable word made from the initial (or selected) letters of a name or phrase. -->
-  <define name="acronym">
-    <element name="acronym">
-      <ref name="acronym.attlist"/>
-      <zeroOrMore>
-        <ref name="word.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of acronym.element -->
-  <define name="acronym.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="acronym.role.attrib"/>
-    <ref name="local.acronym.attrib"/>
-  </define>
-  <!-- end of acronym.attlist -->
-  <!-- end of acronym.module -->
-  <define name="local.citation.attrib">
-    <empty/>
-  </define>
-  <define name="citation.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An inline bibliographic reference to another published work. -->
-  <define name="citation">
-    <element name="citation">
-      <ref name="citation.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of citation.element -->
-  <define name="citation.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="citation.role.attrib"/>
-    <ref name="local.citation.attrib"/>
-  </define>
-  <!-- end of citation.attlist -->
-  <!-- end of citation.module -->
-  <define name="local.citerefentry.attrib">
-    <empty/>
-  </define>
-  <define name="citerefentry.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A citation to a reference page. -->
-  <define name="citerefentry">
-    <element name="citerefentry">
-      <ref name="citerefentry.attlist"/>
-      <ref name="refentrytitle"/>
-      <optional>
-        <ref name="manvolnum"/>
-      </optional>
-    </element>
-  </define>
-  <!-- end of citerefentry.element -->
-  <define name="citerefentry.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="citerefentry.role.attrib"/>
-    <ref name="local.citerefentry.attrib"/>
-  </define>
-  <!-- end of citerefentry.attlist -->
-  <!-- end of citerefentry.module -->
-  <define name="local.refentrytitle.attrib">
-    <empty/>
-  </define>
-  <define name="refentrytitle.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The title of a reference page. -->
-  <define name="refentrytitle">
-    <element name="refentrytitle">
-      <ref name="refentrytitle.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of refentrytitle.element -->
-  <define name="refentrytitle.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="refentrytitle.role.attrib"/>
-    <ref name="local.refentrytitle.attrib"/>
-  </define>
-  <!-- end of refentrytitle.attlist -->
-  <!-- end of refentrytitle.module -->
-  <define name="local.manvolnum.attrib">
-    <empty/>
-  </define>
-  <define name="namvolnum.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A reference volume number. -->
-  <define name="manvolnum">
-    <element name="manvolnum">
-      <ref name="manvolnum.attlist"/>
-      <zeroOrMore>
-        <ref name="word.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of manvolnum.element -->
-  <define name="manvolnum.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="namvolnum.role.attrib"/>
-    <ref name="local.manvolnum.attrib"/>
-  </define>
-  <!-- end of manvolnum.attlist -->
-  <!-- end of manvolnum.module -->
-  <define name="local.citetitle.attrib">
-    <empty/>
-  </define>
-  <define name="citetitle.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The title of a cited work. -->
-  <define name="citetitle">
-    <element name="citetitle">
-      <ref name="citetitle.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of citetitle.element -->
-  <!-- Pubwork: Genre of published work cited; no default -->
-  <define name="citetitle.attlist" combine="interleave">
-    <optional>
-      <attribute name="pubwork">
-        <choice>
-          <value>article</value>
-          <value>book</value>
-          <value>chapter</value>
-          <value>part</value>
-          <value>refentry</value>
-          <value>section</value>
-          <value>journal</value>
-          <value>series</value>
-          <value>set</value>
-          <value>manuscript</value>
-          <value>cdrom</value>
-          <value>dvd</value>
-          <value>wiki</value>
-          <value>gopher</value>
-          <value>bbs</value>
-          <value>emailmessage</value>
-          <value>webpage</value>
-          <value>newsposting</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="citetitle.role.attrib"/>
-    <ref name="local.citetitle.attrib"/>
-  </define>
-  <!-- end of citetitle.attlist -->
-  <!-- end of citetitle.module -->
-  <define name="local.emphasis.attrib">
-    <empty/>
-  </define>
-  <define name="emphasis.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Emphasized text. -->
-  <define name="emphasis">
-    <element name="emphasis">
-      <ref name="emphasis.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of emphasis.element -->
-  <define name="emphasis.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="emphasis.role.attrib"/>
-    <ref name="local.emphasis.attrib"/>
-  </define>
-  <!-- end of emphasis.attlist -->
-  <!-- end of emphasis.module -->
-  <define name="local.foreignphrase.attrib">
-    <empty/>
-  </define>
-  <define name="foreignphrase.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A word or phrase in a language other than the primary language of the document. -->
-  <define name="foreignphrase">
-    <element name="foreignphrase">
-      <ref name="foreignphrase.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of foreignphrase.element -->
-  <define name="foreignphrase.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="foreignphrase.role.attrib"/>
-    <ref name="local.foreignphrase.attrib"/>
-  </define>
-  <!-- end of foreignphrase.attlist -->
-  <!-- end of foreignphrase.module -->
-  <define name="local.glossterm.attrib">
-    <empty/>
-  </define>
-  <define name="glossterm.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A glossary term. -->
-  <define name="glossterm">
-    <element name="glossterm">
-      <ref name="glossterm.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of glossterm.element -->
-  <!-- to GlossEntry if Glossterm used in text -->
-  <!--
-    BaseForm: Provides the form of GlossTerm to be used
-    for indexing
-  -->
-  <define name="glossterm.attlist" combine="interleave">
-    <optional>
-      <attribute name="baseform"/>
-    </optional>
-    <ref name="linkend.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="glossterm.role.attrib"/>
-    <ref name="local.glossterm.attrib"/>
-  </define>
-  <!-- end of glossterm.attlist -->
-  <!-- end of glossterm.module -->
-  <define name="local.firstterm.attrib">
-    <empty/>
-  </define>
-  <define name="firstterm.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The first occurrence of a term. -->
-  <define name="firstterm">
-    <element name="firstterm">
-      <ref name="firstterm.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of firstterm.element -->
-  <!-- to GlossEntry or other explanation -->
-  <define name="firstterm.attlist" combine="interleave">
-    <optional>
-      <attribute name="baseform"/>
-    </optional>
-    <ref name="linkend.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="firstterm.role.attrib"/>
-    <ref name="local.firstterm.attrib"/>
-  </define>
-  <!-- end of firstterm.attlist -->
-  <!-- end of firstterm.module -->
-  <define name="local.phrase.attrib">
-    <empty/>
-  </define>
-  <define name="phrase.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A span of text. -->
-  <define name="phrase">
-    <element name="phrase">
-      <ref name="phrase.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of phrase.element -->
-  <define name="phrase.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="phrase.role.attrib"/>
-    <ref name="local.phrase.attrib"/>
-  </define>
-  <!-- end of phrase.attlist -->
-  <!-- end of phrase.module -->
-  <define name="local.quote.attrib">
-    <empty/>
-  </define>
-  <define name="quote.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:An inline quotation. -->
-  <define name="quote">
-    <element name="quote">
-      <ref name="quote.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of quote.element -->
-  <define name="quote.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="quote.role.attrib"/>
-    <ref name="local.quote.attrib"/>
-  </define>
-  <!-- end of quote.attlist -->
-  <!-- end of quote.module -->
-  <define name="local.ssscript.attrib">
-    <empty/>
-  </define>
-  <define name="ssscript.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A subscript (as in H{^2}O, the molecular formula for water). -->
-  <define name="subscript">
-    <element name="subscript">
-      <ref name="subscript.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="link.char.class"/>
-          <ref name="emphasis"/>
-          <ref name="replaceable"/>
-          <ref name="symbol"/>
-          <ref name="inlinegraphic"/>
-          <ref name="inlinemediaobject"/>
-          <ref name="base.char.class"/>
-          <ref name="other.char.class"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of subscript.element -->
-  <define name="subscript.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="ssscript.role.attrib"/>
-    <ref name="local.ssscript.attrib"/>
-  </define>
-  <!-- end of subscript.attlist -->
-  <!-- doc:A superscript (as in x^2, the mathematical notation for x multiplied by itself). -->
-  <define name="superscript">
-    <element name="superscript">
-      <ref name="superscript.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="link.char.class"/>
-          <ref name="emphasis"/>
-          <ref name="replaceable"/>
-          <ref name="symbol"/>
-          <ref name="inlinegraphic"/>
-          <ref name="inlinemediaobject"/>
-          <ref name="base.char.class"/>
-          <ref name="other.char.class"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of superscript.element -->
-  <define name="superscript.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="ssscript.role.attrib"/>
-    <ref name="local.ssscript.attrib"/>
-  </define>
-  <!-- end of superscript.attlist -->
-  <!-- end of ssscript.module -->
-  <define name="local.trademark.attrib">
-    <empty/>
-  </define>
-  <define name="trademark.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A trademark. -->
-  <define name="trademark">
-    <element name="trademark">
-      <ref name="trademark.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="link.char.class"/>
-          <ref name="tech.char.class"/>
-          <ref name="base.char.class"/>
-          <ref name="other.char.class"/>
-          <ref name="inlinegraphic"/>
-          <ref name="inlinemediaobject"/>
-          <ref name="emphasis"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of trademark.element -->
-  <!-- Class: More precisely identifies the item the element names -->
-  <define name="trademark.attlist" combine="interleave">
-    <optional>
-      <attribute name="class" a:defaultValue="trade">
-        <choice>
-          <value>service</value>
-          <value>trade</value>
-          <value>registered</value>
-          <value>copyright</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="trademark.role.attrib"/>
-    <ref name="local.trademark.attrib"/>
-  </define>
-  <!-- end of trademark.attlist -->
-  <!-- end of trademark.module -->
-  <define name="local.wordasword.attrib">
-    <empty/>
-  </define>
-  <define name="wordasword.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A word meant specifically as a word and not representing anything else. -->
-  <define name="wordasword">
-    <element name="wordasword">
-      <ref name="wordasword.attlist"/>
-      <zeroOrMore>
-        <ref name="word.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of wordasword.element -->
-  <define name="wordasword.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="wordasword.role.attrib"/>
-    <ref name="local.wordasword.attrib"/>
-  </define>
-  <!-- end of wordasword.attlist -->
-  <!-- end of wordasword.module -->
-  <!-- Links and cross-references ........................................... -->
-  <define name="local.link.attrib">
-    <empty/>
-  </define>
-  <define name="link.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A hypertext link. -->
-  <define name="link">
-    <element name="link">
-      <ref name="link.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of link.element -->
-  <!--
-    Endterm: ID of element containing text that is to be
-    fetched from elsewhere in the document to appear as
-    the content of this element
-  -->
-  <!-- to linked-to object -->
-  <!-- Type: Freely assignable parameter -->
-  <define name="link.attlist" combine="interleave">
-    <optional>
-      <attribute name="endterm">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="xrefstyle"/>
-    </optional>
-    <optional>
-      <attribute name="type"/>
-    </optional>
-    <ref name="linkendreq.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="link.role.attrib"/>
-    <ref name="local.link.attrib"/>
-  </define>
-  <!-- end of link.attlist -->
-  <!-- end of link.module -->
-  <define name="local.olink.attrib">
-    <empty/>
-  </define>
-  <define name="olink.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A link that addresses its target indirectly, through an entity. -->
-  <define name="olink">
-    <element name="olink">
-      <ref name="olink.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of olink.element -->
-  <!-- TargetDocEnt: Name of an entity to be the target of the link -->
-  <!--
-    LinkMode: ID of a ModeSpec containing instructions for
-    operating on the entity named by TargetDocEnt
-  -->
-  <!-- LocalInfo: Information that may be passed to ModeSpec -->
-  <!-- Type: Freely assignable parameter -->
-  <define name="olink.attlist" combine="interleave">
-    <optional>
-      <attribute name="targetdocent">
-        <data type="ENTITY"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="linkmode">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="localinfo"/>
-    </optional>
-    <optional>
-      <attribute name="type"/>
-    </optional>
-    <optional>
-      <attribute name="targetdoc"/>
-    </optional>
-    <optional>
-      <attribute name="targetptr"/>
-    </optional>
-    <optional>
-      <attribute name="xrefstyle"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="olink.role.attrib"/>
-    <ref name="local.olink.attrib"/>
-  </define>
-  <!-- end of olink.attlist -->
-  <!-- end of olink.module -->
-  <define name="local.ulink.attrib">
-    <empty/>
-  </define>
-  <define name="ulink.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A link that addresses its target by means of a URL (Uniform Resource Locator). -->
-  <define name="ulink">
-    <element name="ulink">
-      <ref name="ulink.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of ulink.element -->
-  <!-- URL: uniform resource locator; the target of the ULink -->
-  <!-- Type: Freely assignable parameter -->
-  <define name="ulink.attlist" combine="interleave">
-    <attribute name="url"/>
-    <optional>
-      <attribute name="type"/>
-    </optional>
-    <optional>
-      <attribute name="xrefstyle"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="ulink.role.attrib"/>
-    <ref name="local.ulink.attrib"/>
-  </define>
-  <!-- end of ulink.attlist -->
-  <!-- end of ulink.module -->
-  <define name="local.footnoteref.attrib">
-    <empty/>
-  </define>
-  <define name="footnoteref.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A cross reference to a footnote (a footnote mark). -->
-  <define name="footnoteref">
-    <element name="footnoteref">
-      <ref name="footnoteref.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of footnoteref.element -->
-  <!-- to footnote content supplied elsewhere -->
-  <define name="footnoteref.attlist" combine="interleave">
-    <ref name="linkendreq.attrib"/>
-    <ref name="label.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="footnoteref.role.attrib"/>
-    <ref name="local.footnoteref.attrib"/>
-  </define>
-  <!-- end of footnoteref.attlist -->
-  <!-- end of footnoteref.module -->
-  <define name="local.xref.attrib">
-    <empty/>
-  </define>
-  <define name="xref.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A cross reference to another part of the document. -->
-  <define name="xref">
-    <element name="xref">
-      <ref name="xref.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of xref.element -->
-  <!--
-    Endterm: ID of element containing text that is to be
-    fetched from elsewhere in the document to appear as
-    the content of this element
-  -->
-  <!-- to linked-to object -->
-  <define name="xref.attlist" combine="interleave">
-    <optional>
-      <attribute name="endterm">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="xrefstyle"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="linkendreq.attrib"/>
-    <ref name="xref.role.attrib"/>
-    <ref name="local.xref.attrib"/>
-  </define>
-  <!-- end of xref.attlist -->
-  <!-- end of xref.module -->
-  <define name="local.biblioref.attrib">
-    <empty/>
-  </define>
-  <define name="biblioref.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A cross reference to a bibliographic entry. -->
-  <define name="biblioref">
-    <element name="biblioref">
-      <ref name="biblioref.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of biblioref.element -->
-  <define name="biblioref.attlist" combine="interleave">
-    <optional>
-      <attribute name="endterm">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="xrefstyle"/>
-    </optional>
-    <optional>
-      <attribute name="units"/>
-    </optional>
-    <optional>
-      <attribute name="begin"/>
-    </optional>
-    <optional>
-      <attribute name="end"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="linkendreq.attrib"/>
-    <ref name="biblioref.role.attrib"/>
-    <ref name="local.biblioref.attrib"/>
-  </define>
-  <!-- end of biblioref.attlist -->
-  <!-- end of biblioref.module -->
-  <!-- Ubiquitous elements .................................................. -->
-  <define name="local.anchor.attrib">
-    <empty/>
-  </define>
-  <define name="anchor.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A spot in the document. -->
-  <define name="anchor">
-    <element name="anchor">
-      <ref name="anchor.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of anchor.element -->
-  <!-- required -->
-  <!-- replaces Lang -->
-  <define name="anchor.attlist" combine="interleave">
-    <ref name="idreq.attrib"/>
-    <ref name="pagenum.attrib"/>
-    <ref name="remap.attrib"/>
-    <ref name="xreflabel.attrib"/>
-    <ref name="revisionflag.attrib"/>
-    <ref name="effectivity.attrib"/>
-    <ref name="anchor.role.attrib"/>
-    <ref name="local.anchor.attrib"/>
-  </define>
-  <!-- end of anchor.attlist -->
-  <!-- end of anchor.module -->
-  <define name="local.beginpage.attrib">
-    <empty/>
-  </define>
-  <define name="beginpage.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The location of a page break in a print version of the document. -->
-  <define name="beginpage">
-    <element name="beginpage">
-      <ref name="beginpage.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- end of beginpage.element -->
-  <!-- PageNum: Number of page that begins at this point -->
-  <define name="beginpage.attlist" combine="interleave">
-    <ref name="pagenum.attrib"/>
-    <ref name="common.attrib"/>
-    <ref name="beginpage.role.attrib"/>
-    <ref name="local.beginpage.attrib"/>
-  </define>
-  <!-- end of beginpage.attlist -->
-  <!-- end of beginpage.module -->
-  <!--
-    IndexTerms appear in the text flow for generating or linking an
-    index.
-  -->
-  <define name="local.indexterm.attrib">
-    <empty/>
-  </define>
-  <define name="indexterm.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:A wrapper for terms to be indexed. -->
-  <define name="indexterm">
-    <element name="indexterm">
-      <ref name="indexterm.attlist"/>
-      <optional>
-        <ref name="primary"/>
-      </optional>
-      <optional>
-        <choice>
-          <group>
-            <ref name="secondary"/>
-            <optional>
-              <choice>
-                <group>
-                  <ref name="tertiary"/>
-                  <optional>
-                    <choice>
-                      <ref name="see"/>
-                      <oneOrMore>
-                        <ref name="seealso"/>
-                      </oneOrMore>
-                    </choice>
-                  </optional>
-                </group>
-                <ref name="see"/>
-                <oneOrMore>
-                  <ref name="seealso"/>
-                </oneOrMore>
-              </choice>
-            </optional>
-          </group>
-          <ref name="see"/>
-          <oneOrMore>
-            <ref name="seealso"/>
-          </oneOrMore>
-        </choice>
-      </optional>
-    </element>
-  </define>
-  <!-- end of indexterm.element -->
-  <!--
-    Scope: Indicates which generated indices the IndexTerm
-    should appear in: Global (whole document set), Local (this
-    document only), or All (both)
-  -->
-  <!--
-    Significance: Whether this IndexTerm is the most pertinent
-    of its series (Preferred) or not (Normal, the default)
-  -->
-  <!--
-    Class: Indicates type of IndexTerm; default is Singular,
-    or EndOfRange if StartRef is supplied; StartOfRange value
-    must be supplied explicitly on starts of ranges
-  -->
-  <!--
-    StartRef: ID of the IndexTerm that starts the indexing
-    range ended by this IndexTerm
-  -->
-  <!--
-    Zone: IDs of the elements to which the IndexTerm applies,
-    and indicates that the IndexTerm applies to those entire
-    elements rather than the point at which the IndexTerm
-    occurs
-  -->
-  <define name="indexterm.attlist" combine="interleave">
-    <ref name="pagenum.attrib"/>
-    <optional>
-      <attribute name="scope">
-        <choice>
-          <value>all</value>
-          <value>global</value>
-          <value>local</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="significance" a:defaultValue="normal">
-        <choice>
-          <value>preferred</value>
-          <value>normal</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="class">
-        <choice>
-          <value>singular</value>
-          <value>startofrange</value>
-          <value>endofrange</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="startref">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="zone">
-        <data type="IDREFS"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="type"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="indexterm.role.attrib"/>
-    <ref name="local.indexterm.attrib"/>
-  </define>
-  <!-- end of indexterm.attlist -->
-  <!-- end of indexterm.module -->
-  <define name="local.primsecter.attrib">
-    <empty/>
-  </define>
-  <define name="primsecter.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:The primary word or phrase under which an index term should be sorted. -->
-  <define name="primary">
-    <element name="primary">
-      <ref name="primary.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of primary.element -->
-  <!--
-    SortAs: Alternate sort string for index sorting, e.g.,
-    "fourteen" for an element containing "14"
-  -->
-  <define name="primary.attlist" combine="interleave">
-    <optional>
-      <attribute name="sortas"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="primsecter.role.attrib"/>
-    <ref name="local.primsecter.attrib"/>
-  </define>
-  <!-- end of primary.attlist -->
-  <!-- doc:A secondary word or phrase in an index term. -->
-  <define name="secondary">
-    <element name="secondary">
-      <ref name="secondary.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of secondary.element -->
-  <!--
-    SortAs: Alternate sort string for index sorting, e.g.,
-    "fourteen" for an element containing "14"
-  -->
-  <define name="secondary.attlist" combine="interleave">
-    <optional>
-      <attribute name="sortas"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="primsecter.role.attrib"/>
-    <ref name="local.primsecter.attrib"/>
-  </define>
-  <!-- end of secondary.attlist -->
-  <!-- doc:A tertiary word or phrase in an index term. -->
-  <define name="tertiary">
-    <element name="tertiary">
-      <ref name="tertiary.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of tertiary.element -->
-  <!--
-    SortAs: Alternate sort string for index sorting, e.g.,
-    "fourteen" for an element containing "14"
-  -->
-  <define name="tertiary.attlist" combine="interleave">
-    <optional>
-      <attribute name="sortas"/>
-    </optional>
-    <ref name="common.attrib"/>
-    <ref name="primsecter.role.attrib"/>
-    <ref name="local.primsecter.attrib"/>
-  </define>
-  <!-- end of tertiary.attlist -->
-  <!-- end of primsecter.module -->
-  <define name="local.seeseealso.attrib">
-    <empty/>
-  </define>
-  <define name="seeseealso.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- doc:Part of an index term directing the reader instead to another entry in the index. -->
-  <define name="see">
-    <element name="see">
-      <ref name="see.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of see.element -->
-  <define name="see.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="seeseealso.role.attrib"/>
-    <ref name="local.seeseealso.attrib"/>
-  </define>
-  <!-- end of see.attlist -->
-  <!-- doc:Part of an index term directing the reader also to another entry in the index. -->
-  <define name="seealso">
-    <element name="seealso">
-      <ref name="seealso.attlist"/>
-      <zeroOrMore>
-        <ref name="ndxterm.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- end of seealso.element -->
-  <define name="seealso.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="seeseealso.role.attrib"/>
-    <ref name="local.seeseealso.attrib"/>
-  </define>
-</grammar>
-<!-- end of seealso.attlist -->
-<!-- end of seeseealso.module -->
-<!-- end of indexterm.content.module -->
-<!-- End of DocBook XML information pool module V4.5 ...................... -->
-<!-- ...................................................................... -->
Index: OK/schema/docbook/4.5/rng/docbook.rnc
===================================================================
--- BOOK/schema/docbook/4.5/rng/docbook.rnc	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,499 +1,0 @@
-# ......................................................................
-
-# DocBook XML DTD V4.5 .................................................
-
-# File docbookx.dtd ....................................................
-
-# Copyright 1992-2006 HaL Computer Systems, Inc.,
-# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
-# Corporation, Norman Walsh, Sun Microsystems, Inc., and the
-# Organization for the Advancement of Structured Information
-# Standards (OASIS).
-# 
-# See also http://docbook.org/specs/
-# 
-# $Id: docbookx.dtd 6340 2006-10-03 13:23:24Z nwalsh $
-# 
-# Permission to use, copy, modify and distribute the DocBook XML DTD
-# and its accompanying documentation for any purpose and without fee
-# is hereby granted in perpetuity, provided that the above copyright
-# notice and this paragraph appear in all copies.  The copyright
-# holders make no representation about the suitability of the DTD for
-# any purpose.  It is provided "as is" without expressed or implied
-# warranty.
-# 
-# If you modify the DocBook DTD in any way, except for declaring and
-# referencing additional sets of general entities and declaring
-# additional notations, label your DTD as a variant of DocBook.  See
-# the maintenance documentation for more information.
-# 
-# Please direct all questions, bug reports, or suggestions for
-# changes to the docbook@lists.oasis-open.org mailing list. For more
-# information, see http://www.oasis-open.org/docbook/.
-
-# ......................................................................
-
-# This is the driver file for V4.5 of the DocBook DTD.
-# Please use the following formal public identifier to identify it:
-# 
-# "-//OASIS//DTD DocBook XML V4.5//EN"
-# 
-# For example, if your document's top-level element is Book, and
-# you are using DocBook directly, use the FPI in the DOCTYPE
-# declaration:
-# 
-# <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-#                "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-#                [...]>
-# 
-# Or, if you have a higher-level driver file that customizes DocBook,
-# use the FPI in the parameter entity declaration:
-# 
-# <!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-#            "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-# %DocBookDTD;
-# 
-# See the documentation for detailed information on the parameter
-# entity and module scheme used in DocBook, customizing DocBook and
-# planning for interchange, and changes made since the last release
-# of DocBook.
-
-# ......................................................................
-
-# Enable SGML features .................................................
-
-# ......................................................................
-
-# Notation declarations ................................................
-
-include "dbnotnx.rnc"
-# ......................................................................
-
-# ISO character entity sets ............................................
-
-# euro sign, U+20AC NEW
-
-# ......................................................................
-
-# DTD modules ..........................................................
-
-# Information pool ..............
-include "dbpoolx.rnc"
-# Redeclaration placeholder .....
-
-# Document hierarchy ............
-include "dbhierx.rnc"
-start =
-  articleinfo
-  | honorific
-  | legalnotice
-  | procedure
-  | simplelist
-  | keycode
-  | refsynopsisdiv
-  | article
-  | phrase
-  | destructorsynopsis
-  | itemizedlist
-  | audioobject
-  | link
-  | sect1info
-  | xref
-  | glossaryinfo
-  | varname
-  | keywordset
-  | informalequation
-  | toc
-  | pagenums
-  | lot
-  | shortcut
-  | glosslist
-  | option
-  | bibliosource
-  | variablelist
-  | filename
-  | pob
-  | colgroup
-  | foreignphrase
-  | group
-  | substeps
-  | conftitle
-  | textobject
-  | menuchoice
-  | colspec
-  | contractsponsor
-  | tocback
-  | contractnum
-  | constant
-  | dedication
-  | inlineequation
-  | bibliographyinfo
-  | country
-  | glossseealso
-  | bridgehead
-  | mousebutton
-  | surname
-  | stepalternatives
-  | tertiaryie
-  | mediaobject
-  | msgentry
-  | fax
-  | initializer
-  | table
-  | task
-  | setinfo
-  | videodata
-  | bibliodiv
-  | issuenum
-  | phone
-  | state
-  | refsynopsisdivinfo
-  | member
-  | glossentry
-  | term
-  | msgtext
-  | tr
-  | errortype
-  | confdates
-  | inlinegraphic
-  | th
-  | segmentedlist
-  | remark
-  | preface
-  | structname
-  | publisher
-  | td
-  | oointerface
-  | refsection
-  | type
-  | taskrelated
-  | msgrel
-  | artpagenums
-  | bibliomixed
-  | revnumber
-  | firstterm
-  | seeie
-  | spanspec
-  | toclevel5
-  | trademark
-  | toclevel4
-  | toclevel3
-  | toclevel2
-  | indexentry
-  | toclevel1
-  | colophon
-  | methodparam
-  | sidebarinfo
-  | productnumber
-  | funcprototype
-  | inlinemediaobject
-  | refclass
-  | lotentry
-  | paramdef
-  | classsynopsisinfo
-  | qandaset
-  | footnote
-  | msglevel
-  | keysym
-  | citation
-  | simplemsgentry
-  | othercredit
-  | subjectset
-  | keycap
-  | orderedlist
-  | refmiscinfo
-  | blockinfo
-  | programlistingco
-  | abbrev
-  | sidebar
-  | informalfigure
-  | tip
-  | primaryie
-  | appendixinfo
-  | partintro
-  | glossdiv
-  | confgroup
-  | segtitle
-  | taskprerequisites
-  | street
-  | tbody
-  | caption
-  | markup
-  | setindex
-  | msgsub
-  | subscript
-  | orgname
-  | fieldsynopsis
-  | refname
-  | void
-  | sect5
-  | sect4
-  | sect3
-  | chapter
-  | sect2
-  | sect1
-  | modifier
-  | col
-  | orgdiv
-  | city
-  | bibliolist
-  | funcparams
-  | application
-  | \token
-  | imageobject
-  | literal
-  | funcsynopsis
-  | olink
-  | package
-  | collab
-  | seealsoie
-  | primary
-  | glossterm
-  | termdef
-  | area
-  | ackno
-  | function
-  | collabname
-  | lineannotation
-  | guisubmenu
-  | msgexplan
-  | errorname
-  | property
-  | synopfragmentref
-  | refentryinfo
-  | entry
-  | manvolnum
-  | synopsis
-  | emphasis
-  | appendix
-  | bookinfo
-  | contrib
-  | otheraddr
-  | copyright
-  | methodname
-  | email
-  | ooclass
-  | videoobject
-  | abstract
-  | firstname
-  | revremark
-  | glossdef
-  | guibutton
-  | informalexample
-  | screen
-  | errorcode
-  | command
-  | seriesvolnums
-  | refpurpose
-  | parameter
-  | equation
-  | tfoot
-  | code
-  | jobtitle
-  | sgmltag
-  | screenco
-  | holder
-  | isbn
-  | corpcredit
-  | biblioset
-  | part
-  | symbol
-  | row
-  | bibliomisc
-  | imagedata
-  | secondary
-  | classname
-  | callout
-  | screenshot
-  | bibliomset
-  | indexterm
-  | refsect3
-  | tocchap
-  | para
-  | refsect2
-  | refsect1
-  | date
-  | refdescriptor
-  | wordasword
-  | epigraph
-  | audiodata
-  | hardware
-  | confsponsor
-  | authorgroup
-  | warning
-  | authorinitials
-  | medialabel
-  | varlistentry
-  | authorblurb
-  | itermset
-  | refsect3info
-  | informaltable
-  | guimenuitem
-  | postcode
-  | subjectterm
-  | refnamediv
-  | note
-  | figure
-  | envar
-  | listitem
-  | methodsynopsis
-  | affiliation
-  | funcsynopsisinfo
-  | structfield
-  | blockquote
-  | keyword
-  | chapterinfo
-  | tertiary
-  | year
-  | subtitle
-  | personblurb
-  | refentry
-  | citebiblioid
-  | seglistitem
-  | bibliography
-  | msg
-  | constructorsynopsis
-  | refsect2info
-  | volumenum
-  | database
-  | funcdef
-  | uri
-  | graphicco
-  | biblioid
-  | msgmain
-  | printhistory
-  | glosssee
-  | beginpage
-  | glossary
-  | set
-  | highlights
-  | objectinfo
-  | tocpart
-  | guiicon
-  | revhistory
-  | seg
-  | see
-  | msgorig
-  | areaspec
-  | partinfo
-  | index
-  | sectioninfo
-  | refsectioninfo
-  | optional
-  | confnum
-  | replaceable
-  | refsect1info
-  | corpauthor
-  | step
-  | anchor
-  | arg
-  | mathphrase
-  | setindexinfo
-  | keycombo
-  | address
-  | cmdsynopsis
-  | computeroutput
-  | literallayout
-  | qandaentry
-  | sect5info
-  | bibliocoverage
-  | coref
-  | editor
-  | superscript
-  | personname
-  | pubsnumber
-  | graphic
-  | simplesect
-  | accel
-  | secondaryie
-  | biblioref
-  | publishername
-  | bibliorelation
-  | prefaceinfo
-  | revision
-  | screeninfo
-  | sbr
-  | example
-  | citetitle
-  | issn
-  | invpartnumber
-  | indexdiv
-  | sect4info
-  | corpname
-  | lineage
-  | ooexception
-  | reference
-  | revdescription
-  | title
-  | edition
-  | co
-  | msgaud
-  | guimenu
-  | shortaffil
-  | titleabbrev
-  | msginfo
-  | refmeta
-  | qandadiv
-  | mediaobjectco
-  | seealso
-  | exceptionname
-  | answer
-  | programlisting
-  | tgroup
-  | refentrytitle
-  | book
-  | errortext
-  | varargs
-  | sect3info
-  | citerefentry
-  | tasksummary
-  | quote
-  | othername
-  | prompt
-  | entrytbl
-  | interfacename
-  | acronym
-  | modespec
-  | msgset
-  | thead
-  | textdata
-  | userinput
-  | attribution
-  | footnoteref
-  | action
-  | tocentry
-  | tocfront
-  | author
-  | imageobjectco
-  | alt
-  | question
-  | ulink
-  | subject
-  | pubdate
-  | returnvalue
-  | label
-  | caution
-  | section
-  | systemitem
-  | referenceinfo
-  | sect2info
-  | calloutlist
-  | classsynopsis
-  | productname
-  | simpara
-  | synopfragment
-  | important
-  | interface
-  | releaseinfo
-  | formalpara
-  | areaset
-  | biblioentry
-  | indexinfo
-  | guilabel
-# ......................................................................
-
-# Other general entities ...............................................
-
-# End of DocBook XML DTD V4.5 ..........................................
-
-# ......................................................................
Index: OK/schema/docbook/4.5/rng/docbook.rng
===================================================================
--- BOOK/schema/docbook/4.5/rng/docbook.rng	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,490 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ...................................................................... -->
-<!-- DocBook XML DTD V4.5 ................................................. -->
-<!-- File docbookx.dtd .................................................... -->
-<!--
-  Copyright 1992-2006 HaL Computer Systems, Inc.,
-  O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
-  Corporation, Norman Walsh, Sun Microsystems, Inc., and the
-  Organization for the Advancement of Structured Information
-  Standards (OASIS).
-  
-  See also http://docbook.org/specs/
-  
-  $Id: docbookx.dtd 6340 2006-10-03 13:23:24Z nwalsh $
-  
-  Permission to use, copy, modify and distribute the DocBook XML DTD
-  and its accompanying documentation for any purpose and without fee
-  is hereby granted in perpetuity, provided that the above copyright
-  notice and this paragraph appear in all copies.  The copyright
-  holders make no representation about the suitability of the DTD for
-  any purpose.  It is provided "as is" without expressed or implied
-  warranty.
-  
-  If you modify the DocBook DTD in any way, except for declaring and
-  referencing additional sets of general entities and declaring
-  additional notations, label your DTD as a variant of DocBook.  See
-  the maintenance documentation for more information.
-  
-  Please direct all questions, bug reports, or suggestions for
-  changes to the docbook@lists.oasis-open.org mailing list. For more
-  information, see http://www.oasis-open.org/docbook/.
--->
-<!-- ...................................................................... -->
-<!--
-  This is the driver file for V4.5 of the DocBook DTD.
-  Please use the following formal public identifier to identify it:
-  
-  "-//OASIS//DTD DocBook XML V4.5//EN"
-  
-  For example, if your document's top-level element is Book, and
-  you are using DocBook directly, use the FPI in the DOCTYPE
-  declaration:
-  
-  <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-                 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-                 [...]>
-  
-  Or, if you have a higher-level driver file that customizes DocBook,
-  use the FPI in the parameter entity declaration:
-  
-  <!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-             "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-  %DocBookDTD;
-  
-  See the documentation for detailed information on the parameter
-  entity and module scheme used in DocBook, customizing DocBook and
-  planning for interchange, and changes made since the last release
-  of DocBook.
--->
-<!-- ...................................................................... -->
-<!-- Enable SGML features ................................................. -->
-<!-- ...................................................................... -->
-<!-- Notation declarations ................................................ -->
-<grammar xmlns="http://relaxng.org/ns/structure/1.0">
-  <include href="dbnotnx.rng"/>
-  <!-- ...................................................................... -->
-  <!-- ISO character entity sets ............................................ -->
-  <!-- euro sign, U+20AC NEW -->
-  <!-- ...................................................................... -->
-  <!-- DTD modules .......................................................... -->
-  <!-- Information pool .............. -->
-  <include href="dbpoolx.rng"/>
-  <!-- Redeclaration placeholder ..... -->
-  <!-- Document hierarchy ............ -->
-  <include href="dbhierx.rng"/>
-  <start>
-    <choice>
-      <ref name="articleinfo"/>
-      <ref name="honorific"/>
-      <ref name="legalnotice"/>
-      <ref name="procedure"/>
-      <ref name="simplelist"/>
-      <ref name="keycode"/>
-      <ref name="refsynopsisdiv"/>
-      <ref name="article"/>
-      <ref name="phrase"/>
-      <ref name="destructorsynopsis"/>
-      <ref name="itemizedlist"/>
-      <ref name="audioobject"/>
-      <ref name="link"/>
-      <ref name="sect1info"/>
-      <ref name="xref"/>
-      <ref name="glossaryinfo"/>
-      <ref name="varname"/>
-      <ref name="keywordset"/>
-      <ref name="informalequation"/>
-      <ref name="toc"/>
-      <ref name="pagenums"/>
-      <ref name="lot"/>
-      <ref name="shortcut"/>
-      <ref name="glosslist"/>
-      <ref name="option"/>
-      <ref name="bibliosource"/>
-      <ref name="variablelist"/>
-      <ref name="filename"/>
-      <ref name="pob"/>
-      <ref name="colgroup"/>
-      <ref name="foreignphrase"/>
-      <ref name="group"/>
-      <ref name="substeps"/>
-      <ref name="conftitle"/>
-      <ref name="textobject"/>
-      <ref name="menuchoice"/>
-      <ref name="colspec"/>
-      <ref name="contractsponsor"/>
-      <ref name="tocback"/>
-      <ref name="contractnum"/>
-      <ref name="constant"/>
-      <ref name="dedication"/>
-      <ref name="inlineequation"/>
-      <ref name="bibliographyinfo"/>
-      <ref name="country"/>
-      <ref name="glossseealso"/>
-      <ref name="bridgehead"/>
-      <ref name="mousebutton"/>
-      <ref name="surname"/>
-      <ref name="stepalternatives"/>
-      <ref name="tertiaryie"/>
-      <ref name="mediaobject"/>
-      <ref name="msgentry"/>
-      <ref name="fax"/>
-      <ref name="initializer"/>
-      <ref name="table"/>
-      <ref name="task"/>
-      <ref name="setinfo"/>
-      <ref name="videodata"/>
-      <ref name="bibliodiv"/>
-      <ref name="issuenum"/>
-      <ref name="phone"/>
-      <ref name="state"/>
-      <ref name="refsynopsisdivinfo"/>
-      <ref name="member"/>
-      <ref name="glossentry"/>
-      <ref name="term"/>
-      <ref name="msgtext"/>
-      <ref name="tr"/>
-      <ref name="errortype"/>
-      <ref name="confdates"/>
-      <ref name="inlinegraphic"/>
-      <ref name="th"/>
-      <ref name="segmentedlist"/>
-      <ref name="remark"/>
-      <ref name="preface"/>
-      <ref name="structname"/>
-      <ref name="publisher"/>
-      <ref name="td"/>
-      <ref name="oointerface"/>
-      <ref name="refsection"/>
-      <ref name="type"/>
-      <ref name="taskrelated"/>
-      <ref name="msgrel"/>
-      <ref name="artpagenums"/>
-      <ref name="bibliomixed"/>
-      <ref name="revnumber"/>
-      <ref name="firstterm"/>
-      <ref name="seeie"/>
-      <ref name="spanspec"/>
-      <ref name="toclevel5"/>
-      <ref name="trademark"/>
-      <ref name="toclevel4"/>
-      <ref name="toclevel3"/>
-      <ref name="toclevel2"/>
-      <ref name="indexentry"/>
-      <ref name="toclevel1"/>
-      <ref name="colophon"/>
-      <ref name="methodparam"/>
-      <ref name="sidebarinfo"/>
-      <ref name="productnumber"/>
-      <ref name="funcprototype"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="refclass"/>
-      <ref name="lotentry"/>
-      <ref name="paramdef"/>
-      <ref name="classsynopsisinfo"/>
-      <ref name="qandaset"/>
-      <ref name="footnote"/>
-      <ref name="msglevel"/>
-      <ref name="keysym"/>
-      <ref name="citation"/>
-      <ref name="simplemsgentry"/>
-      <ref name="othercredit"/>
-      <ref name="subjectset"/>
-      <ref name="keycap"/>
-      <ref name="orderedlist"/>
-      <ref name="refmiscinfo"/>
-      <ref name="blockinfo"/>
-      <ref name="programlistingco"/>
-      <ref name="abbrev"/>
-      <ref name="sidebar"/>
-      <ref name="informalfigure"/>
-      <ref name="tip"/>
-      <ref name="primaryie"/>
-      <ref name="appendixinfo"/>
-      <ref name="partintro"/>
-      <ref name="glossdiv"/>
-      <ref name="confgroup"/>
-      <ref name="segtitle"/>
-      <ref name="taskprerequisites"/>
-      <ref name="street"/>
-      <ref name="tbody"/>
-      <ref name="caption"/>
-      <ref name="markup"/>
-      <ref name="setindex"/>
-      <ref name="msgsub"/>
-      <ref name="subscript"/>
-      <ref name="orgname"/>
-      <ref name="fieldsynopsis"/>
-      <ref name="refname"/>
-      <ref name="void"/>
-      <ref name="sect5"/>
-      <ref name="sect4"/>
-      <ref name="sect3"/>
-      <ref name="chapter"/>
-      <ref name="sect2"/>
-      <ref name="sect1"/>
-      <ref name="modifier"/>
-      <ref name="col"/>
-      <ref name="orgdiv"/>
-      <ref name="city"/>
-      <ref name="bibliolist"/>
-      <ref name="funcparams"/>
-      <ref name="application"/>
-      <ref name="token"/>
-      <ref name="imageobject"/>
-      <ref name="literal"/>
-      <ref name="funcsynopsis"/>
-      <ref name="olink"/>
-      <ref name="package"/>
-      <ref name="collab"/>
-      <ref name="seealsoie"/>
-      <ref name="primary"/>
-      <ref name="glossterm"/>
-      <ref name="termdef"/>
-      <ref name="area"/>
-      <ref name="ackno"/>
-      <ref name="function"/>
-      <ref name="collabname"/>
-      <ref name="lineannotation"/>
-      <ref name="guisubmenu"/>
-      <ref name="msgexplan"/>
-      <ref name="errorname"/>
-      <ref name="property"/>
-      <ref name="synopfragmentref"/>
-      <ref name="refentryinfo"/>
-      <ref name="entry"/>
-      <ref name="manvolnum"/>
-      <ref name="synopsis"/>
-      <ref name="emphasis"/>
-      <ref name="appendix"/>
-      <ref name="bookinfo"/>
-      <ref name="contrib"/>
-      <ref name="otheraddr"/>
-      <ref name="copyright"/>
-      <ref name="methodname"/>
-      <ref name="email"/>
-      <ref name="ooclass"/>
-      <ref name="videoobject"/>
-      <ref name="abstract"/>
-      <ref name="firstname"/>
-      <ref name="revremark"/>
-      <ref name="glossdef"/>
-      <ref name="guibutton"/>
-      <ref name="informalexample"/>
-      <ref name="screen"/>
-      <ref name="errorcode"/>
-      <ref name="command"/>
-      <ref name="seriesvolnums"/>
-      <ref name="refpurpose"/>
-      <ref name="parameter"/>
-      <ref name="equation"/>
-      <ref name="tfoot"/>
-      <ref name="code"/>
-      <ref name="jobtitle"/>
-      <ref name="sgmltag"/>
-      <ref name="screenco"/>
-      <ref name="holder"/>
-      <ref name="isbn"/>
-      <ref name="corpcredit"/>
-      <ref name="biblioset"/>
-      <ref name="part"/>
-      <ref name="symbol"/>
-      <ref name="row"/>
-      <ref name="bibliomisc"/>
-      <ref name="imagedata"/>
-      <ref name="secondary"/>
-      <ref name="classname"/>
-      <ref name="callout"/>
-      <ref name="screenshot"/>
-      <ref name="bibliomset"/>
-      <ref name="indexterm"/>
-      <ref name="refsect3"/>
-      <ref name="tocchap"/>
-      <ref name="para"/>
-      <ref name="refsect2"/>
-      <ref name="refsect1"/>
-      <ref name="date"/>
-      <ref name="refdescriptor"/>
-      <ref name="wordasword"/>
-      <ref name="epigraph"/>
-      <ref name="audiodata"/>
-      <ref name="hardware"/>
-      <ref name="confsponsor"/>
-      <ref name="authorgroup"/>
-      <ref name="warning"/>
-      <ref name="authorinitials"/>
-      <ref name="medialabel"/>
-      <ref name="varlistentry"/>
-      <ref name="authorblurb"/>
-      <ref name="itermset"/>
-      <ref name="refsect3info"/>
-      <ref name="informaltable"/>
-      <ref name="guimenuitem"/>
-      <ref name="postcode"/>
-      <ref name="subjectterm"/>
-      <ref name="refnamediv"/>
-      <ref name="note"/>
-      <ref name="figure"/>
-      <ref name="envar"/>
-      <ref name="listitem"/>
-      <ref name="methodsynopsis"/>
-      <ref name="affiliation"/>
-      <ref name="funcsynopsisinfo"/>
-      <ref name="structfield"/>
-      <ref name="blockquote"/>
-      <ref name="keyword"/>
-      <ref name="chapterinfo"/>
-      <ref name="tertiary"/>
-      <ref name="year"/>
-      <ref name="subtitle"/>
-      <ref name="personblurb"/>
-      <ref name="refentry"/>
-      <ref name="citebiblioid"/>
-      <ref name="seglistitem"/>
-      <ref name="bibliography"/>
-      <ref name="msg"/>
-      <ref name="constructorsynopsis"/>
-      <ref name="refsect2info"/>
-      <ref name="volumenum"/>
-      <ref name="database"/>
-      <ref name="funcdef"/>
-      <ref name="uri"/>
-      <ref name="graphicco"/>
-      <ref name="biblioid"/>
-      <ref name="msgmain"/>
-      <ref name="printhistory"/>
-      <ref name="glosssee"/>
-      <ref name="beginpage"/>
-      <ref name="glossary"/>
-      <ref name="set"/>
-      <ref name="highlights"/>
-      <ref name="objectinfo"/>
-      <ref name="tocpart"/>
-      <ref name="guiicon"/>
-      <ref name="revhistory"/>
-      <ref name="seg"/>
-      <ref name="see"/>
-      <ref name="msgorig"/>
-      <ref name="areaspec"/>
-      <ref name="partinfo"/>
-      <ref name="index"/>
-      <ref name="sectioninfo"/>
-      <ref name="refsectioninfo"/>
-      <ref name="optional"/>
-      <ref name="confnum"/>
-      <ref name="replaceable"/>
-      <ref name="refsect1info"/>
-      <ref name="corpauthor"/>
-      <ref name="step"/>
-      <ref name="anchor"/>
-      <ref name="arg"/>
-      <ref name="mathphrase"/>
-      <ref name="setindexinfo"/>
-      <ref name="keycombo"/>
-      <ref name="address"/>
-      <ref name="cmdsynopsis"/>
-      <ref name="computeroutput"/>
-      <ref name="literallayout"/>
-      <ref name="qandaentry"/>
-      <ref name="sect5info"/>
-      <ref name="bibliocoverage"/>
-      <ref name="coref"/>
-      <ref name="editor"/>
-      <ref name="superscript"/>
-      <ref name="personname"/>
-      <ref name="pubsnumber"/>
-      <ref name="graphic"/>
-      <ref name="simplesect"/>
-      <ref name="accel"/>
-      <ref name="secondaryie"/>
-      <ref name="biblioref"/>
-      <ref name="publishername"/>
-      <ref name="bibliorelation"/>
-      <ref name="prefaceinfo"/>
-      <ref name="revision"/>
-      <ref name="screeninfo"/>
-      <ref name="sbr"/>
-      <ref name="example"/>
-      <ref name="citetitle"/>
-      <ref name="issn"/>
-      <ref name="invpartnumber"/>
-      <ref name="indexdiv"/>
-      <ref name="sect4info"/>
-      <ref name="corpname"/>
-      <ref name="lineage"/>
-      <ref name="ooexception"/>
-      <ref name="reference"/>
-      <ref name="revdescription"/>
-      <ref name="title"/>
-      <ref name="edition"/>
-      <ref name="co"/>
-      <ref name="msgaud"/>
-      <ref name="guimenu"/>
-      <ref name="shortaffil"/>
-      <ref name="titleabbrev"/>
-      <ref name="msginfo"/>
-      <ref name="refmeta"/>
-      <ref name="qandadiv"/>
-      <ref name="mediaobjectco"/>
-      <ref name="seealso"/>
-      <ref name="exceptionname"/>
-      <ref name="answer"/>
-      <ref name="programlisting"/>
-      <ref name="tgroup"/>
-      <ref name="refentrytitle"/>
-      <ref name="book"/>
-      <ref name="errortext"/>
-      <ref name="varargs"/>
-      <ref name="sect3info"/>
-      <ref name="citerefentry"/>
-      <ref name="tasksummary"/>
-      <ref name="quote"/>
-      <ref name="othername"/>
-      <ref name="prompt"/>
-      <ref name="entrytbl"/>
-      <ref name="interfacename"/>
-      <ref name="acronym"/>
-      <ref name="modespec"/>
-      <ref name="msgset"/>
-      <ref name="thead"/>
-      <ref name="textdata"/>
-      <ref name="userinput"/>
-      <ref name="attribution"/>
-      <ref name="footnoteref"/>
-      <ref name="action"/>
-      <ref name="tocentry"/>
-      <ref name="tocfront"/>
-      <ref name="author"/>
-      <ref name="imageobjectco"/>
-      <ref name="alt"/>
-      <ref name="question"/>
-      <ref name="ulink"/>
-      <ref name="subject"/>
-      <ref name="pubdate"/>
-      <ref name="returnvalue"/>
-      <ref name="label"/>
-      <ref name="caution"/>
-      <ref name="section"/>
-      <ref name="systemitem"/>
-      <ref name="referenceinfo"/>
-      <ref name="sect2info"/>
-      <ref name="calloutlist"/>
-      <ref name="classsynopsis"/>
-      <ref name="productname"/>
-      <ref name="simpara"/>
-      <ref name="synopfragment"/>
-      <ref name="important"/>
-      <ref name="interface"/>
-      <ref name="releaseinfo"/>
-      <ref name="formalpara"/>
-      <ref name="areaset"/>
-      <ref name="biblioentry"/>
-      <ref name="indexinfo"/>
-      <ref name="guilabel"/>
-    </choice>
-  </start>
-</grammar>
-<!-- ...................................................................... -->
-<!-- Other general entities ............................................... -->
-<!-- End of DocBook XML DTD V4.5 .......................................... -->
-<!-- ...................................................................... -->
Index: OK/schema/docbook/4.5/rng/htmltblx.rnc
===================================================================
--- BOOK/schema/docbook/4.5/rng/htmltblx.rnc	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,225 +1,0 @@
-# ......................................................................
-
-# DocBook XML HTML Table Module V4.5 ...................................
-
-# File htmltblx.mod ....................................................
-
-# Copyright 2003-2006 ArborText, Inc., Norman Walsh, Sun Microsystems,
-# Inc., and the Organization for the Advancement of Structured Information
-# Standards (OASIS).
-# 
-# $Id: htmltblx.mod 6340 2006-10-03 13:23:24Z nwalsh $
-# 
-# Permission to use, copy, modify and distribute the DocBook XML DTD
-# and its accompanying documentation for any purpose and without fee
-# is hereby granted in perpetuity, provided that the above copyright
-# notice and this paragraph appear in all copies.  The copyright
-# holders make no representation about the suitability of the DTD for
-# any purpose.  It is provided "as is" without expressed or implied
-# warranty.
-# 
-# If you modify the DocBook XML DTD in any way, except for declaring and
-# referencing additional sets of general entities and declaring
-# additional notations, label your DTD as a variant of DocBook.  See
-# the maintenance documentation for more information.
-# 
-# Please direct all questions, bug reports, or suggestions for
-# changes to the docbook@lists.oasis-open.org mailing list. For more
-# information, see http://www.oasis-open.org/docbook/.
-
-# ......................................................................
-
-# This module contains the definitions for elements that are
-# isomorphic to the HTML elements. One could argue we should
-# instead have based ourselves on the XHTML Table Module, but the
-# HTML one is more like what browsers are likely to accept today
-# and users are likely to use.
-# 
-# This module has been developed for use with the DocBook V4.5
-# "union table model" in which elements and attlists common to both
-# models are defined (as the union) in the CALS table module by
-# setting various parameter entities appropriately in this file.
-# 
-# In DTD driver files referring to this module, please use an entity
-# declaration that uses the public identifier shown below:
-# 
-# <!ENTITY % htmltbl PUBLIC
-# "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN"
-# "htmltblx.mod">
-# %htmltbl;
-# 
-# See the documentation for detailed information on the parameter
-# entity and module scheme used in DocBook, customizing DocBook and
-# planning for interchange, and changes made since the last release
-# of DocBook.
-
-# ======================= XHTML Tables =======================================
-
-namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
-
-html.coreattrs =
-  common.attrib,
-  attribute class { text }?,
-  attribute style { text }?,
-  attribute title { text }?
-# Does not contain lang or dir because they are in %common.attribs
-i18n = attribute xml:lang { xsd:NMTOKEN }?
-events =
-  attribute onclick { text }?,
-  attribute ondblclick { text }?,
-  attribute onmousedown { text }?,
-  attribute onmouseup { text }?,
-  attribute onmouseover { text }?,
-  attribute onmousemove { text }?,
-  attribute onmouseout { text }?,
-  attribute onkeypress { text }?,
-  attribute onkeydown { text }?,
-  attribute onkeyup { text }?
-attrs = html.coreattrs, i18n, events
-cellhalign =
-  attribute align { "left" | "center" | "right" | "justify" | "char" }?,
-  attribute char { text }?,
-  attribute charoff { text }?
-cellvalign =
-  attribute valign { "top" | "middle" | "bottom" | "baseline" }?
-# doc:A group of columns in an HTML table.
-colgroup = element colgroup { colgroup.attlist, col* }
-# doc:Specifications for a column in an HTML table.
-col = element col { col.attlist, empty }
-# doc:A row in an HTML table.
-tr = element tr { tr.attlist, (th | td)+ }
-# doc:A table header entry in an HTML table.
-th =
-  element th {
-    th.attlist, (para.char.mix | tabentry.mix | table | informaltable)*
-  }
-# doc:A table ntry in an HTML table.
-td =
-  element td {
-    td.attlist, (para.char.mix | tabentry.mix | table | informaltable)*
-  }
-colgroup.attlist &=
-  attrs,
-  [ a:defaultValue = "1" ] attribute span { text }?,
-  attribute width { text }?,
-  cellhalign,
-  cellvalign
-col.attlist &=
-  attrs,
-  [ a:defaultValue = "1" ] attribute span { text }?,
-  attribute width { text }?,
-  cellhalign,
-  cellvalign
-tr.attlist &=
-  attrs,
-  cellhalign,
-  cellvalign,
-  attribute bgcolor { text }?
-th.attlist &=
-  attrs,
-  attribute abbr { text }?,
-  attribute axis { text }?,
-  attribute headers { xsd:IDREFS }?,
-  attribute scope { "row" | "col" | "rowgroup" | "colgroup" }?,
-  [ a:defaultValue = "1" ] attribute rowspan { text }?,
-  [ a:defaultValue = "1" ] attribute colspan { text }?,
-  cellhalign,
-  cellvalign,
-  attribute nowrap { "nowrap" }?,
-  attribute bgcolor { text }?,
-  attribute width { text }?,
-  attribute height { text }?
-td.attlist &=
-  attrs,
-  attribute abbr { text }?,
-  attribute axis { text }?,
-  attribute headers { xsd:IDREFS }?,
-  attribute scope { "row" | "col" | "rowgroup" | "colgroup" }?,
-  [ a:defaultValue = "1" ] attribute rowspan { text }?,
-  [ a:defaultValue = "1" ] attribute colspan { text }?,
-  cellhalign,
-  cellvalign,
-  attribute nowrap { "nowrap" }?,
-  attribute bgcolor { text }?,
-  attribute width { text }?,
-  attribute height { text }?
-# ======================================================
-
-# Set up to read in the CALS model configured to
-# merge with the XHTML table model
-
-# ======================================================
-tables.role.attrib = role.attrib
-# Add label and role attributes to table and informaltable
-bodyatt =
-  attribute floatstyle { text }?,
-  attribute rowheader { "firstcol" | "norowheader" }?,
-  label.attrib
-# Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, 
-# EntryTbl, and Entry (and InformalTable element).
-secur =
-  common.attrib,
-  attribute class { text }?,
-  attribute style { text }?,
-  attribute title { text }?,
-  i18n,
-  events,
-  tables.role.attrib
-common.table.attribs = bodyatt, secur
-# Content model for Table (that also allows HTML tables)
-tbl.table.mdl =
-  (blockinfo?,
-   formalobject.title.content,
-   ndxterm.class*,
-   textobject*,
-   (graphic+ | mediaobject+ | tgroup+))
-  | (caption, (col* | colgroup*), thead?, tfoot?, (tbody+ | tr+))
-informal.tbl.table.mdl =
-  (textobject*, (graphic+ | mediaobject+ | tgroup+))
-  | ((col* | colgroup*), thead?, tfoot?, (tbody+ | tr+))
-# Attributes for Table (including HTML ones)
-
-# N.B. rules = (none | groups | rows | cols | all) but it can't be spec'd
-
-# that way because 'all' already occurs in a different enumeration in
-
-# CALS tables (frame).
-tbl.table.att =
-  attribute tabstyle { text }?,
-  attribute tocentry { yesorno.attvals }?,
-  attribute shortentry { yesorno.attvals }?,
-  attribute orient { "port" | "land" }?,
-  attribute pgwide { yesorno.attvals }?,
-  attribute summary { text }?,
-  attribute width { text }?,
-  attribute border { text }?,
-  attribute rules { text }?,
-  attribute cellspacing { text }?,
-  attribute cellpadding { text }?,
-  attribute align { "left" | "center" | "right" }?,
-  attribute bgcolor { text }?
-tbl.frame.attval =
-  "void"
-  | "above"
-  | "below"
-  | "hsides"
-  | "lhs"
-  | "rhs"
-  | "vsides"
-  | "box"
-  | "border"
-  | "top"
-  | "bottom"
-  | "topbot"
-  | "all"
-  | "sides"
-  | "none"
-# Allow either objects or inlines; beware of REs between elements.
-tbl.entry.mdl = para.char.mix | tabentry.mix
-# thead, tfoot, and tbody are defined in both table models,
-# so we set up parameter entities to define union models for them
-tbl.hdft.mdl = tr+ | (colspec*, row+)
-tbl.tbody.mdl = tr+ | row+
-# End of DocBook XML HTML Table Module V4.5 ............................
-
-# ......................................................................
Index: OK/schema/docbook/4.5/rng/htmltblx.rng
===================================================================
--- BOOK/schema/docbook/4.5/rng/htmltblx.rng	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,590 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ...................................................................... -->
-<!-- DocBook XML HTML Table Module V4.5 ................................... -->
-<!-- File htmltblx.mod .................................................... -->
-<!--
-  Copyright 2003-2006 ArborText, Inc., Norman Walsh, Sun Microsystems,
-  Inc., and the Organization for the Advancement of Structured Information
-  Standards (OASIS).
-  
-  $Id: htmltblx.mod 6340 2006-10-03 13:23:24Z nwalsh $
-  
-  Permission to use, copy, modify and distribute the DocBook XML DTD
-  and its accompanying documentation for any purpose and without fee
-  is hereby granted in perpetuity, provided that the above copyright
-  notice and this paragraph appear in all copies.  The copyright
-  holders make no representation about the suitability of the DTD for
-  any purpose.  It is provided "as is" without expressed or implied
-  warranty.
-  
-  If you modify the DocBook XML DTD in any way, except for declaring and
-  referencing additional sets of general entities and declaring
-  additional notations, label your DTD as a variant of DocBook.  See
-  the maintenance documentation for more information.
-  
-  Please direct all questions, bug reports, or suggestions for
-  changes to the docbook@lists.oasis-open.org mailing list. For more
-  information, see http://www.oasis-open.org/docbook/.
--->
-<!-- ...................................................................... -->
-<!--
-  This module contains the definitions for elements that are
-  isomorphic to the HTML elements. One could argue we should
-  instead have based ourselves on the XHTML Table Module, but the
-  HTML one is more like what browsers are likely to accept today
-  and users are likely to use.
-  
-  This module has been developed for use with the DocBook V4.5
-  "union table model" in which elements and attlists common to both
-  models are defined (as the union) in the CALS table module by
-  setting various parameter entities appropriately in this file.
-  
-  In DTD driver files referring to this module, please use an entity
-  declaration that uses the public identifier shown below:
-  
-  <!ENTITY % htmltbl PUBLIC
-  "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN"
-  "htmltblx.mod">
-  %htmltbl;
-  
-  See the documentation for detailed information on the parameter
-  entity and module scheme used in DocBook, customizing DocBook and
-  planning for interchange, and changes made since the last release
-  of DocBook.
--->
-<!-- ======================= XHTML Tables ======================================= -->
-<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-  <define name="html.coreattrs">
-    <ref name="common.attrib"/>
-    <optional>
-      <attribute name="class"/>
-    </optional>
-    <optional>
-      <attribute name="style"/>
-    </optional>
-    <optional>
-      <attribute name="title"/>
-    </optional>
-  </define>
-  <!-- Does not contain lang or dir because they are in %common.attribs -->
-  <define name="i18n">
-    <optional>
-      <attribute name="xml:lang">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-  </define>
-  <define name="events">
-    <optional>
-      <attribute name="onclick"/>
-    </optional>
-    <optional>
-      <attribute name="ondblclick"/>
-    </optional>
-    <optional>
-      <attribute name="onmousedown"/>
-    </optional>
-    <optional>
-      <attribute name="onmouseup"/>
-    </optional>
-    <optional>
-      <attribute name="onmouseover"/>
-    </optional>
-    <optional>
-      <attribute name="onmousemove"/>
-    </optional>
-    <optional>
-      <attribute name="onmouseout"/>
-    </optional>
-    <optional>
-      <attribute name="onkeypress"/>
-    </optional>
-    <optional>
-      <attribute name="onkeydown"/>
-    </optional>
-    <optional>
-      <attribute name="onkeyup"/>
-    </optional>
-  </define>
-  <define name="attrs">
-    <ref name="html.coreattrs"/>
-    <ref name="i18n"/>
-    <ref name="events"/>
-  </define>
-  <define name="cellhalign">
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>center</value>
-          <value>right</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-  </define>
-  <define name="cellvalign">
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-          <value>baseline</value>
-        </choice>
-      </attribute>
-    </optional>
-  </define>
-  <!-- doc:A group of columns in an HTML table. -->
-  <define name="colgroup">
-    <element name="colgroup">
-      <ref name="colgroup.attlist"/>
-      <zeroOrMore>
-        <ref name="col"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- doc:Specifications for a column in an HTML table. -->
-  <define name="col">
-    <element name="col">
-      <ref name="col.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <!-- doc:A row in an HTML table. -->
-  <define name="tr">
-    <element name="tr">
-      <ref name="tr.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="th"/>
-          <ref name="td"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <!-- doc:A table header entry in an HTML table. -->
-  <define name="th">
-    <element name="th">
-      <ref name="th.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="para.char.mix"/>
-          <ref name="tabentry.mix"/>
-          <ref name="table"/>
-          <ref name="informaltable"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <!-- doc:A table ntry in an HTML table. -->
-  <define name="td">
-    <element name="td">
-      <ref name="td.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <ref name="para.char.mix"/>
-          <ref name="tabentry.mix"/>
-          <ref name="table"/>
-          <ref name="informaltable"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-  <define name="colgroup.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <optional>
-      <attribute name="span" a:defaultValue="1"/>
-    </optional>
-    <optional>
-      <attribute name="width"/>
-    </optional>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-  </define>
-  <define name="col.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <optional>
-      <attribute name="span" a:defaultValue="1"/>
-    </optional>
-    <optional>
-      <attribute name="width"/>
-    </optional>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-  </define>
-  <define name="tr.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-    <optional>
-      <attribute name="bgcolor"/>
-    </optional>
-  </define>
-  <define name="th.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <optional>
-      <attribute name="abbr"/>
-    </optional>
-    <optional>
-      <attribute name="axis"/>
-    </optional>
-    <optional>
-      <attribute name="headers">
-        <data type="IDREFS"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="scope">
-        <choice>
-          <value>row</value>
-          <value>col</value>
-          <value>rowgroup</value>
-          <value>colgroup</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowspan" a:defaultValue="1"/>
-    </optional>
-    <optional>
-      <attribute name="colspan" a:defaultValue="1"/>
-    </optional>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-    <optional>
-      <attribute name="nowrap">
-        <choice>
-          <value>nowrap</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="bgcolor"/>
-    </optional>
-    <optional>
-      <attribute name="width"/>
-    </optional>
-    <optional>
-      <attribute name="height"/>
-    </optional>
-  </define>
-  <define name="td.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <optional>
-      <attribute name="abbr"/>
-    </optional>
-    <optional>
-      <attribute name="axis"/>
-    </optional>
-    <optional>
-      <attribute name="headers">
-        <data type="IDREFS"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="scope">
-        <choice>
-          <value>row</value>
-          <value>col</value>
-          <value>rowgroup</value>
-          <value>colgroup</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowspan" a:defaultValue="1"/>
-    </optional>
-    <optional>
-      <attribute name="colspan" a:defaultValue="1"/>
-    </optional>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-    <optional>
-      <attribute name="nowrap">
-        <choice>
-          <value>nowrap</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="bgcolor"/>
-    </optional>
-    <optional>
-      <attribute name="width"/>
-    </optional>
-    <optional>
-      <attribute name="height"/>
-    </optional>
-  </define>
-  <!-- ====================================================== -->
-  <!--
-    Set up to read in the CALS model configured to
-    merge with the XHTML table model
-  -->
-  <!-- ====================================================== -->
-  <define name="tables.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-  <!-- Add label and role attributes to table and informaltable -->
-  <define name="bodyatt">
-    <optional>
-      <attribute name="floatstyle"/>
-    </optional>
-    <optional>
-      <attribute name="rowheader">
-        <choice>
-          <value>firstcol</value>
-          <value>norowheader</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="label.attrib"/>
-  </define>
-  <!--
-    Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, 
-    EntryTbl, and Entry (and InformalTable element).
-  -->
-  <define name="secur">
-    <ref name="common.attrib"/>
-    <optional>
-      <attribute name="class"/>
-    </optional>
-    <optional>
-      <attribute name="style"/>
-    </optional>
-    <optional>
-      <attribute name="title"/>
-    </optional>
-    <ref name="i18n"/>
-    <ref name="events"/>
-    <ref name="tables.role.attrib"/>
-  </define>
-  <define name="common.table.attribs">
-    <ref name="bodyatt"/>
-    <ref name="secur"/>
-  </define>
-  <!-- Content model for Table (that also allows HTML tables) -->
-  <define name="tbl.table.mdl">
-    <choice>
-      <group>
-        <optional>
-          <ref name="blockinfo"/>
-        </optional>
-        <ref name="formalobject.title.content"/>
-        <zeroOrMore>
-          <ref name="ndxterm.class"/>
-        </zeroOrMore>
-        <zeroOrMore>
-          <ref name="textobject"/>
-        </zeroOrMore>
-        <choice>
-          <oneOrMore>
-            <ref name="graphic"/>
-          </oneOrMore>
-          <oneOrMore>
-            <ref name="mediaobject"/>
-          </oneOrMore>
-          <oneOrMore>
-            <ref name="tgroup"/>
-          </oneOrMore>
-        </choice>
-      </group>
-      <group>
-        <ref name="caption"/>
-        <choice>
-          <zeroOrMore>
-            <ref name="col"/>
-          </zeroOrMore>
-          <zeroOrMore>
-            <ref name="colgroup"/>
-          </zeroOrMore>
-        </choice>
-        <optional>
-          <ref name="thead"/>
-        </optional>
-        <optional>
-          <ref name="tfoot"/>
-        </optional>
-        <choice>
-          <oneOrMore>
-            <ref name="tbody"/>
-          </oneOrMore>
-          <oneOrMore>
-            <ref name="tr"/>
-          </oneOrMore>
-        </choice>
-      </group>
-    </choice>
-  </define>
-  <define name="informal.tbl.table.mdl">
-    <choice>
-      <group>
-        <zeroOrMore>
-          <ref name="textobject"/>
-        </zeroOrMore>
-        <choice>
-          <oneOrMore>
-            <ref name="graphic"/>
-          </oneOrMore>
-          <oneOrMore>
-            <ref name="mediaobject"/>
-          </oneOrMore>
-          <oneOrMore>
-            <ref name="tgroup"/>
-          </oneOrMore>
-        </choice>
-      </group>
-      <group>
-        <choice>
-          <zeroOrMore>
-            <ref name="col"/>
-          </zeroOrMore>
-          <zeroOrMore>
-            <ref name="colgroup"/>
-          </zeroOrMore>
-        </choice>
-        <optional>
-          <ref name="thead"/>
-        </optional>
-        <optional>
-          <ref name="tfoot"/>
-        </optional>
-        <choice>
-          <oneOrMore>
-            <ref name="tbody"/>
-          </oneOrMore>
-          <oneOrMore>
-            <ref name="tr"/>
-          </oneOrMore>
-        </choice>
-      </group>
-    </choice>
-  </define>
-  <!-- Attributes for Table (including HTML ones) -->
-  <!-- N.B. rules = (none | groups | rows | cols | all) but it can't be spec'd -->
-  <!-- that way because 'all' already occurs in a different enumeration in -->
-  <!-- CALS tables (frame). -->
-  <define name="tbl.table.att">
-    <optional>
-      <attribute name="tabstyle"/>
-    </optional>
-    <optional>
-      <attribute name="tocentry">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="shortentry">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="orient">
-        <choice>
-          <value>port</value>
-          <value>land</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="pgwide">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="summary"/>
-    </optional>
-    <optional>
-      <attribute name="width"/>
-    </optional>
-    <optional>
-      <attribute name="border"/>
-    </optional>
-    <optional>
-      <attribute name="rules"/>
-    </optional>
-    <optional>
-      <attribute name="cellspacing"/>
-    </optional>
-    <optional>
-      <attribute name="cellpadding"/>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>center</value>
-          <value>right</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="bgcolor"/>
-    </optional>
-  </define>
-  <define name="tbl.frame.attval">
-    <choice>
-      <value>void</value>
-      <value>above</value>
-      <value>below</value>
-      <value>hsides</value>
-      <value>lhs</value>
-      <value>rhs</value>
-      <value>vsides</value>
-      <value>box</value>
-      <value>border</value>
-      <value>top</value>
-      <value>bottom</value>
-      <value>topbot</value>
-      <value>all</value>
-      <value>sides</value>
-      <value>none</value>
-    </choice>
-  </define>
-  <!-- Allow either objects or inlines; beware of REs between elements. -->
-  <define name="tbl.entry.mdl">
-    <choice>
-      <ref name="para.char.mix"/>
-      <ref name="tabentry.mix"/>
-    </choice>
-  </define>
-  <!--
-    thead, tfoot, and tbody are defined in both table models,
-    so we set up parameter entities to define union models for them
-  -->
-  <define name="tbl.hdft.mdl">
-    <choice>
-      <oneOrMore>
-        <ref name="tr"/>
-      </oneOrMore>
-      <group>
-        <zeroOrMore>
-          <ref name="colspec"/>
-        </zeroOrMore>
-        <oneOrMore>
-          <ref name="row"/>
-        </oneOrMore>
-      </group>
-    </choice>
-  </define>
-  <define name="tbl.tbody.mdl">
-    <choice>
-      <oneOrMore>
-        <ref name="tr"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="row"/>
-      </oneOrMore>
-    </choice>
-  </define>
-</grammar>
-<!-- End of DocBook XML HTML Table Module V4.5 ............................ -->
-<!-- ...................................................................... -->
Index: OK/stylesheets/clfs-chunked.xsl
===================================================================
--- BOOK/stylesheets/clfs-chunked.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,18 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-    <!-- LFS top-level chunk templates. -->
-  <xsl:import href="lfs-xsl/chunkfast.xsl"/>
-
-    <!-- The LFS book type to be processed (lfs, blfs, clfs, or hlfs) -->
-  <xsl:param name="book-type">clfs</xsl:param>
-
-</xsl:stylesheet>
Index: OK/stylesheets/clfs-nochunks.xsl
===================================================================
--- BOOK/stylesheets/clfs-nochunks.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,18 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-    <!-- LFS top-level no-chunk templates. -->
-  <xsl:import href="lfs-xsl/nochunks.xsl"/>
-
-    <!-- The LFS book type to be processed (lfs, blfs, clfs, or hlfs) -->
-  <xsl:param name="book-type">clfs</xsl:param>
-
-</xsl:stylesheet>
Index: OK/stylesheets/clfs-pdf.xsl
===================================================================
--- BOOK/stylesheets/clfs-pdf.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,18 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-    <!-- LFS top-level pdf templates. -->
-  <xsl:import href="lfs-xsl/pdf.xsl"/>
-
-    <!-- The LFS book type to be processed (lfs, blfs, clfs, or hlfs) -->
-  <xsl:param name="book-type">clfs</xsl:param>
-
-</xsl:stylesheet>
Index: BOOK/stylesheets/lfs-chunked.xsl
===================================================================
--- BOOK/stylesheets/lfs-chunked.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/lfs-chunked.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+  <xsl:import href="lfs-chunked2.xsl"/>
+  <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/chunk-common.xsl"/>
+  <xsl:include href="http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/manifest.xsl"/>
+
+    <!--  From the original chunk.xsl file:
+
+    Why is chunk-code now xsl:included?
+
+    Suppose you want to customize *both* the chunking algorithm used *and* the
+    presentation of some elements that may be chunks. In order to do that, you
+    must get the order of imports "just right". The answer is to make your own
+    copy of this file, where you replace the initial import of "docbook.xsl"
+    with an import of your own base.xsl (that does its own import of docbook.xsl).
+
+    Put the templates for changing the presentation of elements in your base.xsl.
+
+    Put the templates that control chunking after the include of chunk-code.xsl.
+
+    Voila! (Man I hope we can do this better in XSLT 2.0)  -->
+
+  <xsl:include href="http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/profile-chunk-code.xsl"/>
+
+    <!-- Including our others customized chunks templates -->
+  <xsl:include href="xhtml/lfs-legalnotice.xsl"/>
+  <xsl:include href="xhtml/lfs-index.xsl"/>
+  <xsl:include href="xhtml/lfs-navigational.xsl"/>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/lfs-chunked2.xsl
===================================================================
--- BOOK/stylesheets/lfs-chunked2.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/lfs-chunked2.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+    <!-- We use XHTML -->
+  <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/docbook.xsl"/>
+  <xsl:param name="chunker.output.encoding" select="'ISO-8859-1'"/>
+
+    <!-- Including our others customized elements templates -->
+  <xsl:include href="xhtml/lfs-admon.xsl"/>
+  <xsl:include href="xhtml/lfs-sections.xsl"/>
+  <xsl:include href="xhtml/lfs-mixed.xsl"/>
+  <xsl:include href="xhtml/lfs-titles.xsl"/>
+  <xsl:include href="xhtml/lfs-toc.xsl"/>
+  <xsl:include href="xhtml/lfs-xref.xsl"/>
+
+    <!-- This file contains our localization strings (for internationalization) -->
+  <xsl:param name="local.l10n.xml" select="document('lfs-l10n.xml')"/>
+
+    <!-- The CSS Stylesheet -->
+  <xsl:param name="html.stylesheet" select="'../stylesheets/lfs.css'"/>
+  <xsl:template name='user.head.content'>
+     <link rel="stylesheet" href="../stylesheets/lfs-print.css" type="text/css" media="print"/>
+  </xsl:template>
+
+    <!-- Dropping some unwanted style attributes -->
+  <xsl:param name="ulink.target" select="''"></xsl:param>
+  <xsl:param name="css.decoration" select="0"></xsl:param>
+
+    <!-- No XML declaration -->
+  <xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/lfs-l10n.xml
===================================================================
--- BOOK/stylesheets/lfs-l10n.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/lfs-l10n.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,58 @@
+<?xml version='1.0' encoding='US-ASCII'?>
+
+<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
+
+    <!-- Template to add more languages -->
+  <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
+          language="xx" english-language-name="xxxxx">
+
+    <l:gentext key="description" text=""/>
+    <l:gentext key="Libraries" text=""/>
+    <l:gentext key="Others" text=""/>
+    <l:gentext key="Packages" text=""/>
+    <l:gentext key="Programs" text=""/>
+    <l:gentext key="Scripts" text=""/>
+
+  </l:l10n>
+
+
+    <!-- English -->
+  <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
+          language="en" english-language-name="English">
+
+    <l:gentext key="description" text="description"/>
+    <l:gentext key="Libraries" text="Libraries"/>
+    <l:gentext key="Others" text="Others"/>
+    <l:gentext key="Packages" text="Packages"/>
+    <l:gentext key="Programs" text="Programs"/>
+    <l:gentext key="Scripts" text="Scripts"/>
+
+  </l:l10n>
+
+    <!-- Italian -->
+  <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
+          language="it" english-language-name="Italian">
+
+    <l:gentext key="description" text="descrizione"/>
+    <l:gentext key="Libraries" text="Librerie"/>
+    <l:gentext key="Others" text="Altri"/>
+    <l:gentext key="Packages" text="Pacchetti"/>
+    <l:gentext key="Programs" text="Programmi"/>
+    <l:gentext key="Scripts" text="Script"/>
+
+  </l:l10n>
+
+    <!-- Spanish -->
+  <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
+          language="es" english-language-name="Spanish">
+
+    <l:gentext key="description" text="descripci&#243;n"/>
+    <l:gentext key="Libraries" text="Librer&#237;as"/>
+    <l:gentext key="Others" text="Otros"/>
+    <l:gentext key="Packages" text="Paquetes"/>
+    <l:gentext key="Programs" text="Programas"/>
+    <l:gentext key="Scripts" text="Guiones"/>
+
+  </l:l10n>
+
+</l:i18n>
Index: BOOK/stylesheets/lfs-nochunks.xsl
===================================================================
--- BOOK/stylesheets/lfs-nochunks.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/lfs-nochunks.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,335 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+    <!-- We use XHTML -->
+  <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/profile-docbook.xsl"/>
+
+    <!-- Fix encoding issues with default UTF-8 output of the xhtml stylesheet -->
+  <xsl:output method="html" encoding="ISO-8859-1" indent="no" />
+
+   <!-- Including our others customized templates -->
+  <xsl:include href="xhtml/lfs-index.xsl"/>
+  <xsl:include href="xhtml/lfs-mixed.xsl"/>
+  <xsl:include href="xhtml/lfs-sections.xsl"/>
+  <xsl:include href="xhtml/lfs-toc.xsl"/>
+  <xsl:include href="xhtml/lfs-xref.xsl"/>
+
+    <!-- This file contains our localization strings (for internationalization) -->
+  <xsl:param name="local.l10n.xml" select="document('lfs-l10n.xml')"/>
+
+    <!-- Dropping some unwanted style attributes -->
+  <xsl:param name="ulink.target" select="''"></xsl:param>
+  <xsl:param name="css.decoration" select="0"></xsl:param>
+
+    <!-- Don't use graphics in admonitions -->
+  <xsl:param name="admon.graphics" select="0"/>
+
+    <!-- Changing the admonitions output tagging -->
+  <xsl:template name="nongraphical.admonition">
+    <div class="{name(.)}">
+      <div class ="admonhead">
+        <h3 class="admontitle">
+          <xsl:apply-templates select="." mode="object.title.markup"/>
+        </h3>
+      </div>
+      <div class="admonbody">
+        <xsl:apply-templates/>
+      </div>
+    </div>
+  </xsl:template>
+
+    <!-- To drop the remainig dot when title is empty (from lfs-titles.xsl)-->
+  <xsl:template name="sect2.titlepage">
+    <xsl:choose>
+      <xsl:when test="string-length(title) = 0"/>
+      <xsl:otherwise>
+        <div class="titlepage">
+          <xsl:if test="@id">
+            <a id="{@id}" name="{@id}"/>
+          </xsl:if>
+          <h3 class="{name(.)}">
+            <xsl:apply-templates select="." mode="label.markup"/>
+            <xsl:text>. </xsl:text>
+            <xsl:value-of select="title"/>
+          </h3>
+        </div>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+    <!-- Added the role param for proper punctuation in xref calls
+            (from lfs-titles.xsl). -->
+  <xsl:template match="*" mode="insert.title.markup">
+    <xsl:param name="purpose"/>
+    <xsl:param name="xrefstyle"/>
+    <xsl:param name="title"/>
+    <xsl:param name="role"/>
+    <xsl:choose>
+      <xsl:when test="$purpose = 'xref' and titleabbrev">
+        <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:copy-of select="$title"/>
+        <xsl:value-of select="$role"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+    <!-- The CSS Stylesheet -->
+  <xsl:template name='user.head.content'>
+    <style type="text/css">
+      <xsl:text>
+/* Global settings */
+body {
+  font-family: sans-serif;
+  text-align: left;
+  background: #fff;
+  color: #333;
+  margin: 1em;
+  padding: 0;
+  font-size: 1em;
+  line-height: 1.2em
+}
+
+a:link { color: #22b; }
+a:visited { color: #7e4988; }
+a:hover, a:focus { color: #d30e08; }
+a:active { color: #6b77b1;}
+
+/* Headers */
+h1, h2, b, strong {
+  color: #000;
+  font-weight: bold;
+}
+
+h3, h4, h5, h6 {
+  color: #222;
+}
+
+h1 { font-size: 173%; text-align: center; }
+h2 { font-size: 144%; }
+h2.subtitle { text-align: center; }
+h3 { font-size: 120%; padding-top: 0.2em; margin-top: 0.3em; }
+h4 { font-size: 110%;}
+h5, h6 { font-size: 110%; font-style: italic; }
+
+/* TOC and Index*/
+
+div.toc ul, div.index ul, div.navheader ul, div.navfooter ul {
+  list-style: none;
+}
+
+div.toc, div.dedication {
+  padding-left: 1em;
+}
+
+li.preface {
+  margin-left: 1em;
+}
+
+div.toc ul li h3, div.toc ul li h4 {
+  margin: .4em;
+}
+
+.item {
+    width: 15em;
+    float: left;
+}
+
+.secitem {
+    font-weight: normal;
+    width: 14em;
+    float: left;
+}
+
+/* Admonitions */
+div.note, div.tip {
+  background-color: #fffff6;
+  border: 2px solid #dbddec;
+  width: 90%;
+  margin: .5em auto;
+}
+
+div.important, div.warning, div.caution {
+  background-color: #fffff6;
+  border: medium solid #400;
+  width: 90%;
+  margin: 1.5em auto;
+  color: #600;
+  font-size: larger;
+}
+
+div.important h3, div.warning h3, div.caution h3 {
+  color: #900;
+}
+
+h3.admontitle {
+  padding-left: 2.5em;
+  padding-top: 1em;
+}
+
+div.admonbody {
+  margin: .5em;
+}
+
+div.important em, div.warning em, div.caution em {
+  color: #000;
+  font-weight: bold;
+}
+
+div.important tt, div.warning tt, div.caution tt {
+  font-weight: bold;
+}
+
+/* variablelist and segmentedlist */
+dl {
+  margin: 0;
+  padding: 0;
+}
+
+dt {
+  display: list-item;
+  font-weight: bold;
+  margin: .33em 0 0 1em;
+  padding: 0;
+}
+
+div.content dt {
+  list-style: none;
+}
+
+dd  {
+  margin: 0 0 1em 3em;
+  padding: 0;
+}
+
+div.variablelist dd {
+  margin-bottom: 1em;
+}
+
+div.variablelist dd p {
+  margin-top: 0px;
+}
+
+dl.materials dd {
+  margin-left: 0px;
+}
+
+div.segmentedlist {
+  margin-top: 1em;
+}
+
+div.segmentedlist p {
+  margin: 0px auto;
+}
+
+/* itemizedlist */
+
+div.itemizedlist {
+  margin-left: 1em;
+}
+
+/* Indented blocks */
+p, ul, dl, code, blockquote {
+  padding-left: 1em;
+}
+
+/* Monospaced elements */
+tt, code, kbd, pre, .command {
+  font-family: monospace;
+}
+
+pre.userinput {
+  color: #101310;
+  background-color: #e5e5e5;
+  border: 1px solid #050505;
+  padding: .5em 1em;
+  margin: 0 2em;
+  font-weight: bold;
+}
+
+pre.screen {
+  background-color: #e9e9e9;
+  border: 1px solid #050505;
+  padding: .5em 1em;
+  margin: 0 2em;
+}
+
+/* Sections */
+div.package {
+  background: #f5f6f7;
+  border-bottom: 0.2em solid #dbddec;
+  padding: 0.5em 0.5em 0.3em 0.5em;
+  margin: 0px auto;
+}
+
+div.installation {
+  padding: 0 0.5em 0.3em 0.5em;
+  margin: 0.5em 0 0.5em 0;
+}
+
+div.configuration {
+  background:   #fefefe;
+  border-top: 0.2em solid #dbddec;
+  padding: 0.5em;
+  margin: 0.5em 0 .5em 0;
+}
+
+div.content {
+  background: #f5f6f7;
+  border-top: 0.2em solid #dbddec;
+  border-bottom: 0.2em solid #dbddec;
+  padding: 0.5em 0.5em 1em 0.5em;
+  margin: 0.5em 0 .5em 0;
+}
+
+div.installation h3.title, div.content h3.title {
+  padding-top: 0.3em;
+  margin: 0;
+}
+
+div.book, div.preface, div.part, div.chapter, div.sect1, div.index {
+  padding-bottom: 0.5em;
+}
+
+div.preface h2, div.part h1, div.chapter h2.title, div.sect1 h2.title, div.index h1 {
+  background: #f5f6f7;
+  border-bottom: .2em solid #dbddec;
+  border-top: .2em solid #dbddec;
+  margin-top 1em;
+  padding: .5em;
+  text-align: center;
+}
+
+div.book h1 {
+  background: #f5f6f7;
+  margin: 0px auto;
+  padding: 0.5em;
+}
+
+div.book h2.subtitle {
+  background: #dbddec;
+  margin: 0px auto;
+  padding: 0.2em;
+}
+div.authorgroup, div p.copyright, div.abstract {
+  background: #f5f6f7;
+  margin: 0px auto;
+  padding:  1em 0.5em;
+}
+
+hr {
+  background: #dbddec;
+  height: .3em;
+  border: 0px;
+  margin: 0px auto;
+  padding: 0;
+}
+      </xsl:text>
+    </style>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/lfs-pdf.xsl
===================================================================
--- BOOK/stylesheets/lfs-pdf.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/lfs-pdf.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                version="1.0">
+    <!-- We use FO and FOP as the processor -->
+  <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.69.1/fo/docbook.xsl"/>
+  <xsl:param name="fop.extensions" select="1"/>
+  <xsl:param name="draft.mode" select="'no'"/>
+
+    <!-- Including our others customized templates -->
+  <xsl:include href="pdf/lfs-index.xsl"/>
+  <xsl:include href="pdf/lfs-pagesetup.xsl"/>
+  <xsl:include href="pdf/lfs-sections.xsl"/>
+  <xsl:include href="pdf/lfs-admon.xsl"/>
+  <xsl:include href="pdf/lfs-mixed.xsl"/>
+  <xsl:include href="pdf/lfs-xref.xsl"/>
+
+    <!-- This file contains our localization strings (for internationalization) -->
+  <xsl:param name="local.l10n.xml" select="document('lfs-l10n.xml')"/>
+
+   <!-- Standart paper size -->
+  <xsl:param name="paper.type" select="'letter'"/>
+
+    <!-- Paper size required by the publisher
+  <xsl:param name="paper.type" select="'Customized'"/>
+  <xsl:param name="page.width">7.25in</xsl:param>
+  <xsl:param name="page.height">9.25in</xsl:param>
+    -->
+
+    <!-- Printing Style -->
+    <!-- Change "double.sided" to "1" for published versions -->
+  <xsl:param name="double.sided" select="0"/>
+  <xsl:param name="hyphenate">false</xsl:param>
+  <xsl:param name="alignment">justify</xsl:param>
+
+    <!-- Font size -->
+  <xsl:param name="body.font.master">9</xsl:param>
+  <xsl:param name="body.font.size">12pt</xsl:param>
+
+    <!-- TOC stuff -->
+  <xsl:param name="generate.toc">
+    book      toc
+    part      nop
+  </xsl:param>
+  <xsl:param name="toc.section.depth">1</xsl:param>
+  <xsl:param name="generate.section.toc.level" select="-1"></xsl:param>
+  <xsl:param name="toc.indent.width" select="18"></xsl:param>
+
+    <!-- Page number in Xref ?-->
+  <xsl:param name="insert.xref.page.number">no</xsl:param>
+
+    <!-- Prevent duplicate e-mails in the Acknowledgments pages-->
+  <xsl:param name="ulink.show" select="0"/>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/lfs-print.css
===================================================================
--- BOOK/stylesheets/lfs-print.css	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/lfs-print.css	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,6 @@
+
+@import url(lfs.css);
+
+.navfooter, .headerlinks {
+   display: none;
+}
Index: BOOK/stylesheets/lfs-profile.xsl
===================================================================
--- BOOK/stylesheets/lfs-profile.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/lfs-profile.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0">
+
+  <!-- Include common profiling stylesheet -->
+  <xsl:include href="http://docbook.sourceforge.net/release/xsl/1.69.1/profiling/profile-mode.xsl"/>
+
+  <!-- Generate DocBook instance with correct DOCTYPE -->
+  <xsl:output method="xml"
+              doctype-public="-//OASIS//DTD DocBook XML V4.4//EN"
+              doctype-system="http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"/>
+
+  <!-- Profiling parameters -->
+  <xsl:param name="profile.arch" select="''"/>
+  <xsl:param name="profile.condition" select="''"/>
+  <xsl:param name="profile.conformance" select="''"/>
+  <xsl:param name="profile.lang" select="''"/>
+  <xsl:param name="profile.os" select="''"/>
+  <xsl:param name="profile.revision" select="''"/>
+  <xsl:param name="profile.revisionflag" select="''"/>
+  <xsl:param name="profile.role" select="''"/>
+  <xsl:param name="profile.security" select="''"/>
+  <xsl:param name="profile.userlevel" select="''"/>
+  <xsl:param name="profile.vendor" select="''"/>
+  <xsl:param name="profile.attribute" select="''"/>
+  <xsl:param name="profile.value" select="''"/>
+  <xsl:param name="profile.separator" select="';'"/>
+
+  <!-- Call common profiling mode -->
+  <xsl:template match="/">
+    <xsl:apply-templates select="." mode="profile"/>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/lfs-tex.xsl
===================================================================
--- BOOK/stylesheets/lfs-tex.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/lfs-tex.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,76 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- Created by Larry Lawrence <larry@linuxfromscratch.org> -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+version='1.0'>
+
+<xsl:import href="http://db2latex.sourceforge.net/xsl/docbook.xsl"/>
+<xsl:output method="text" encoding="ISO-8859-1" indent="yes"/>
+<xsl:variable name="latex.override">
+
+\documentclass[12pt]{book}
+
+\usepackage{lfs}
+\usepackage{fancyhdr}
+\usepackage{fancyvrb}
+\usepackage{makeidx}
+\usepackage{hyperref}
+\usepackage{fancybox}
+
+\oddsidemargin -0.5in
+\evensidemargin -0.625in
+\textwidth 7in
+\textheight 8.5in
+
+%\ifx\pdfoutput\undefined
+%\else
+%\pdfpagewidth=7in
+%\pdfpageheight=8.5in
+%\fi
+
+\pagestyle{fancy}
+\newenvironment{admonition}[2] {
+ \vspace{8mm}
+ \hspace{0mm}\newline
+ \noindent
+}
+
+
+\fancyhf{}
+\fancyhead[LE,RO]{\bfseries\thepage}
+\fancyhead[LO]{\bfseries\rightmark}
+\fancyhead[RE]{\bfseries\leftmark}
+\renewcommand{\headrulewidth}{0.5pt}
+\renewcommand{\footrulewidth}{0pt}
+\addtolength{\headheight}{3pt}
+\fancypagestyle{plain}{%
+  \fancyhead{}
+  \renewcommand{\headrulewidth}{0pt}
+}
+
+
+\hyphenation{change-log cpp-flags ctrlaltdel ma-cros chil-ton}
+
+<!-- adds \frontmatter to document -->
+
+</xsl:variable>
+
+<xsl:variable name="toc.section.depth">1</xsl:variable>
+
+<xsl:variable name="latex.book.begindocument">
+        <xsl:text>\begin{document}&#10;</xsl:text>
+        <xsl:text>\frontmatter&#10;</xsl:text>
+</xsl:variable>
+
+<!-- This put each section on a new page in the preface section -->
+
+<xsl:template match="preface/sect1">
+        <xsl:text>&#10;</xsl:text>
+        <xsl:text>\newpage&#10;</xsl:text>
+        <xsl:text>\section*{</xsl:text><xsl:copy-of
+select="normalize-space(title)"/><xsl:text>}&#10;</xsl:text>
+        <xsl:apply-templates/>
+</xsl:template>
+
+</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/chunk-master.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/chunk-master.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,53 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-   <!-- Top-level chunked code for normal processing.
-        Import customized output templates.
-        Include customized chunk templates.
-        Replaces {docbook-xsl}/xhtml/chunk.xsl -->
-
-    <!-- Our master non-chunking presentation templates -->
-  <xsl:import href="chunk-slave.xsl"/>
-
-    <!-- Upstream chunk code named templates -->
-  <xsl:import href="docbook-xsl-snapshot/xhtml/chunk-common.xsl"/>
-
-    <!-- Upstream chunk code match templates -->
-  <xsl:include href="docbook-xsl-snapshot/xhtml/chunk-code.xsl"/>
-
-    <!-- Including our customized chunks templates -->
-  <xsl:include href="xhtml/lfs-index.xsl"/>
-  <xsl:include href="xhtml/lfs-legalnotice.xsl"/>
-  <xsl:include href="xhtml/lfs-navigational.xsl"/>
-
-    <!-- sect1:
-           Prevent creation of dummy sect1 files used to emulate sub-chapters. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/chunk-code.xsl
-         It match also others sect* tags. The code for that tags is unchanged. -->
-  <xsl:template match="sect1">
-    <xsl:variable name="ischunk">
-      <xsl:call-template name="chunk"/>
-    </xsl:variable>
-    <xsl:choose>
-      <xsl:when test="@role = 'dummy'"/>
-      <xsl:when test="not(parent::*)">
-        <xsl:call-template name="process-chunk-element"/>
-      </xsl:when>
-      <xsl:when test="$ischunk = 0">
-        <xsl:apply-imports/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="process-chunk-element"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/chunk-slave.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/chunk-slave.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,69 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-   <!-- Second level chunked output template.
-        Sets global params and include customized elements templates. -->
-
-    <!-- Upstream XHTML presentation templates -->
-  <xsl:import href="docbook-xsl-snapshot/xhtml/docbook.xsl"/>
-
-    <!-- Use ISO-8859-1 for output instead of default UTF-8 -->
-  <xsl:param name="chunker.output.encoding" select="'ISO-8859-1'"/>
-
-    <!-- Including our customized elements templates -->
-  <xsl:include href="common.xsl"/>
-  <xsl:include href="xhtml/lfs-admon.xsl"/>
-  <xsl:include href="xhtml/lfs-mixed.xsl"/>
-  <xsl:include href="xhtml/lfs-sections.xsl"/>
-  <xsl:include href="xhtml/lfs-titles.xsl"/>
-  <xsl:include href="xhtml/lfs-toc.xsl"/>
-  <xsl:include href="xhtml/lfs-xref.xsl"/>
-
-    <!-- The CSS Stylesheets. We set here relative path from sub-dirs HTML files.
-    The path from top-level HTML files (index.html, partX.html, etc) MUST be
-    fixed via a sed in the Makefile-->
-    <!-- Master CSS Stylesheet -->
-  <xsl:param name="html.stylesheet" select="'../stylesheets/lfs.css'"/>
-    <!-- Print CSS Stylesheet -->
-    <!-- The original template is in {docbook-xsl}/xhtml/docbook.xsl -->
-  <xsl:template name='user.head.content'>
-     <link rel="stylesheet" href="../stylesheets/lfs-print.css" type="text/css" media="print"/>
-  </xsl:template>
-
-    <!-- Dropping some unwanted style attributes -->
-  <xsl:param name="ulink.target" select="''"/>
-  <xsl:param name="css.decoration" select="0"/>
-
-    <!-- No XML declaration -->
-  <xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
-
-    <!-- Control generation of ToCs and LoTs -->
-  <xsl:param name="generate.toc">
-    book      toc,title
-    preface   toc
-    part      toc
-    chapter   toc
-    appendix  nop
-    sect1     nop
-    sect2     nop
-    sect3     nop
-    sect4     nop
-    sect5     nop
-    section   nop
-  </xsl:param>
-
-    <!-- How deep should recursive sections appear in the TOC? -->
-  <xsl:param name="toc.section.depth">1</xsl:param>
-
-    <!-- How maximaly deep should be each TOC? -->
-  <xsl:param name="toc.max.depth">3</xsl:param>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/chunkfast.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/chunkfast.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,76 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                xmlns:exsl="http://exslt.org/common"
-                xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0"
-                version="1.0"
-                exclude-result-prefixes="cf exsl">
-
-   <!-- Top-level chunked code for fast processing.
-        Import standart customized chunk code.
-        Replaces {docbook-xsl}/xhtml/chunkfast.xsl
-
-        Note: Using this file as the top-level for chunked output implies that
-              profiling must be done on a previous step. -->
-
-    <!-- Our master chunking templates -->
-  <xsl:import href="chunk-master.xsl"/>
-
-    <!-- Use chunk.fast code? 1 = yes, 0 = no -->
-  <xsl:param name="chunk.fast" select="1"/>
-
-  <!-- The code below was copied as-is from {docbook-xsl}/xhtml/chunkfast.xsl -->
-
-  <xsl:variable name="chunks" select="exsl:node-set($chunk.hierarchy)//cf:div"/>
-
-  <xsl:template name="process-chunk-element">
-    <xsl:choose>
-      <xsl:when test="$chunk.fast != 0 and function-available('exsl:node-set')">
-        <xsl:variable name="genid" select="generate-id()"/>
-
-        <xsl:variable name="div" select="$chunks[@id=$genid or @xml:id=$genid]"/>
-
-        <xsl:variable name="prevdiv" select="($div/preceding-sibling::cf:div|$div/preceding::cf:div|$div/parent::cf:div)[last()]"/>
-        <xsl:variable name="prev" select="key('genid', ($prevdiv/@id|$prevdiv/@xml:id)[1])"/>
-
-        <xsl:variable name="nextdiv" select="($div/following-sibling::cf:div|$div/following::cf:div|$div/cf:div)[1]"/>
-        <xsl:variable name="next" select="key('genid', ($nextdiv/@id|$nextdiv/@xml:id)[1])"/>
-
-        <xsl:choose>
-          <xsl:when test="$onechunk != 0 and parent::*">
-            <xsl:apply-imports/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="process-chunk">
-              <xsl:with-param name="prev" select="$prev"/>
-              <xsl:with-param name="next" select="$next"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:choose>
-          <xsl:when test="$onechunk != 0 and not(parent::*)">
-            <xsl:call-template name="chunk-all-sections"/>
-          </xsl:when>
-          <xsl:when test="$onechunk != 0">
-            <xsl:apply-imports/>
-          </xsl:when>
-          <xsl:when test="$chunk.first.sections = 0">
-            <xsl:call-template name="chunk-first-section-with-parent"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="chunk-all-sections"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/common.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/common.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,458 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-  <!-- This stylesheet contains common params and templates for all outputs. -->
-
-    <!-- This file contains our localization strings (for internationalization) -->
-  <xsl:param name="local.l10n.xml" select="document('lfs-l10n.xml')"/>
-
-
-<!-- INDEX -->
-
-    <!-- Should the Index be generated? 1 = yes, 0 = no -->
-  <xsl:param name="generate.index" select="1"></xsl:param>
-
-    <!-- The indexing method used. Only 'basic' is supported by xsltproc -->
-  <xsl:param name="index.method" select="'basic'"></xsl:param>
-
-    <!-- The Index title:
-           We create this param to can have gentext support in both
-           the Index page title and links that point to the Index page.
-           It also allow us to change the title, if wanted.
-           Note: To change the title involves creating the appropiate
-           entries in lfs-l10n.xml -->
-  <xsl:param name="index-title">Index</xsl:param>
-
-    <!-- Index title generation. -->
-    <!-- The original template is in {docbook-xsl}/common/titles.xsl -->
-  <xsl:template match="index" mode="title.markup">
-    <xsl:param name="allow-anchors" select="0"/>
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="$index-title"/>
-    </xsl:call-template>
-  </xsl:template>
-
-    <!-- indexterm:
-           Dropping unneeded anchors and fo:wraper elemments. -->
-    <!-- The original templates are in {docbook-xsl}/{xhtml,fo}/index.xsl -->
-  <xsl:template match="indexterm"/>
-
-<!-- -->
-
-<!-- LABELS -->
-
-    <!-- Are sections enumerated? 1 = yes, 0 = no -->
-  <xsl:param name="section.autolabel" select="1"/>
-
-    <!-- Do section labels include the component label? 1 = yes, 0 = no -->
-  <xsl:param name="section.label.includes.component.label" select="1"/>
-
-    <!-- sect1 label.markup:
-           Use lowercase roman numbers for sect1 in preface. -->
-    <!-- The original template is in {docbook-xsl}/common/labels.xsl -->
-  <xsl:template match="sect1" mode="label.markup">
-    <!-- if the parent is a component, maybe label that too -->
-    <xsl:variable name="parent.is.component">
-      <xsl:call-template name="is.component">
-        <xsl:with-param name="node" select=".."/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:variable name="component.label">
-      <xsl:if test="$section.label.includes.component.label != 0
-                    and $parent.is.component != 0">
-        <xsl:variable name="parent.label">
-          <xsl:apply-templates select=".." mode="label.markup"/>
-        </xsl:variable>
-        <xsl:if test="$parent.label != ''">
-          <xsl:apply-templates select=".." mode="label.markup"/>
-          <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
-        </xsl:if>
-      </xsl:if>
-    </xsl:variable>
-    <xsl:choose>
-      <xsl:when test="@label">
-        <xsl:value-of select="@label"/>
-      </xsl:when>
-      <xsl:when test="$section.autolabel != 0">
-        <xsl:copy-of select="$component.label"/>
-        <xsl:choose>
-          <xsl:when test="ancestor::preface">
-            <xsl:number format="i" count="sect1"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:number format="1" count="sect1"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- sect2 label.markup:
-           Skip numeration for sect2 with empty title. -->
-    <!-- The original template is in {docbook-xsl}/common/labels.xsl
-         It match also sect3, sect4, and sect5, that are unchanged. -->
-  <xsl:template match="sect2" mode="label.markup">
-      <!-- label the parent -->
-      <xsl:variable name="parent.section.label">
-        <xsl:call-template name="label.this.section">
-          <xsl:with-param name="section" select=".."/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:if test="$parent.section.label != '0'">
-        <xsl:apply-templates select=".." mode="label.markup"/>
-        <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
-      </xsl:if>
-      <xsl:choose>
-        <xsl:when test="@label">
-          <xsl:value-of select="@label"/>
-        </xsl:when>
-        <xsl:when test="$section.autolabel != 0">
-          <xsl:choose>
-            <!-- If the first sect2 isn't numbered, renumber the remainig sections -->
-            <xsl:when test="string-length(../sect2[1]/title) = 0">
-              <xsl:variable name="totalsect2">
-                <xsl:number count="sect2"/>
-              </xsl:variable>
-              <xsl:number value="$totalsect2 - 1"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:number count="sect2"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-      </xsl:choose>
-  </xsl:template>
-
-    <!-- object.title.template:
-           Skip numeration for sectX > sect1 in preface. -->
-    <!-- The original template is in {docbook-xsl}/common/gentext.xsl. -->
-  <xsl:template match="section|sect1|sect2|sect3|sect4|sect5|simplesect|bridgehead"
-                mode="object.title.template">
-    <xsl:variable name="is.numbered">
-      <xsl:call-template name="label.this.section"/>
-    </xsl:variable>
-    <xsl:choose>
-      <xsl:when test="$is.numbered != 0 and not(ancestor::preface/sect1)">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'title-numbered'"/>
-          <xsl:with-param name="name">
-            <xsl:call-template name="xpath.location"/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'title-unnumbered'"/>
-          <xsl:with-param name="name">
-            <xsl:call-template name="xpath.location"/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-<!-- -->
-
-<!-- XREF (see {xhtml,pdf}/xref.xsl) -->
-
-    <!-- mode object.xref.markup:
-           Propagate role to named template substitute-markup -->
-    <!-- The original template is in {docbook-xsl}/common/gentext.xsl -->
-  <xsl:template match="*" mode="object.xref.markup">
-    <xsl:param name="purpose"/>
-    <xsl:param name="xrefstyle"/>
-    <xsl:param name="referrer"/>
-    <xsl:param name="verbose" select="1"/>
-    <xsl:param name="role"/>
-    <xsl:variable name="template">
-      <xsl:choose>
-        <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:')">
-          <xsl:call-template name="make.gentext.template">
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-            <xsl:with-param name="purpose" select="$purpose"/>
-            <xsl:with-param name="referrer" select="$referrer"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="starts-with(normalize-space($xrefstyle), 'template:')">
-          <xsl:value-of select="substring-after(normalize-space($xrefstyle), 'template:')"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="." mode="object.xref.template">
-            <xsl:with-param name="purpose" select="$purpose"/>
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-            <xsl:with-param name="referrer" select="$referrer"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="$template = '' and $verbose != 0">
-      <xsl:message>
-        <xsl:text>object.xref.markup: empty xref template</xsl:text>
-        <xsl:text> for linkend="</xsl:text>
-        <xsl:value-of select="@id|@xml:id"/>
-        <xsl:text>" and @xrefstyle="</xsl:text>
-        <xsl:value-of select="$xrefstyle"/>
-        <xsl:text>"</xsl:text>
-      </xsl:message>
-    </xsl:if>
-    <xsl:call-template name="substitute-markup">
-      <xsl:with-param name="purpose" select="$purpose"/>
-      <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-      <xsl:with-param name="referrer" select="$referrer"/>
-      <xsl:with-param name="template" select="$template"/>
-      <xsl:with-param name="verbose" select="$verbose"/>
-      <xsl:with-param name="role" select="$role"/>
-    </xsl:call-template>
-  </xsl:template>
-
-    <!-- substitute-markup:
-           Propagate role to mode insert.title.markup -->
-    <!-- The original template is in {docbook-xsl}/common/gentext.xsl -->
-  <xsl:template name="substitute-markup">
-    <xsl:param name="template" select="''"/>
-    <xsl:param name="allow-anchors" select="'0'"/>
-    <xsl:param name="title" select="''"/>
-    <xsl:param name="subtitle" select="''"/>
-    <xsl:param name="docname" select="''"/>
-    <xsl:param name="label" select="''"/>
-    <xsl:param name="pagenumber" select="''"/>
-    <xsl:param name="purpose"/>
-    <xsl:param name="xrefstyle"/>
-    <xsl:param name="referrer"/>
-    <xsl:param name="verbose"/>
-    <xsl:param name="role"/>
-    <xsl:choose>
-      <xsl:when test="contains($template, '%')">
-        <xsl:value-of select="substring-before($template, '%')"/>
-        <xsl:variable name="candidate"
-                      select="substring(substring-after($template, '%'), 1, 1)"/>
-        <xsl:choose>
-          <xsl:when test="$candidate = 't'">
-            <xsl:apply-templates select="." mode="insert.title.markup">
-              <xsl:with-param name="purpose" select="$purpose"/>
-              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-              <xsl:with-param name="role" select="$role"/>
-              <xsl:with-param name="title">
-                <xsl:choose>
-                  <xsl:when test="$title != ''">
-                    <xsl:copy-of select="$title"/>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:apply-templates select="." mode="title.markup">
-                      <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-                      <xsl:with-param name="verbose" select="$verbose"/>
-                    </xsl:apply-templates>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:with-param>
-            </xsl:apply-templates>
-          </xsl:when>
-          <xsl:when test="$candidate = 's'">
-            <xsl:apply-templates select="." mode="insert.subtitle.markup">
-              <xsl:with-param name="purpose" select="$purpose"/>
-              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-              <xsl:with-param name="subtitle">
-                <xsl:choose>
-                  <xsl:when test="$subtitle != ''">
-                    <xsl:copy-of select="$subtitle"/>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:apply-templates select="." mode="subtitle.markup">
-                      <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-                    </xsl:apply-templates>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:with-param>
-            </xsl:apply-templates>
-          </xsl:when>
-          <xsl:when test="$candidate = 'n'">
-            <xsl:apply-templates select="." mode="insert.label.markup">
-              <xsl:with-param name="purpose" select="$purpose"/>
-              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-              <xsl:with-param name="label">
-                <xsl:choose>
-                  <xsl:when test="$label != ''">
-                    <xsl:copy-of select="$label"/>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:apply-templates select="." mode="label.markup"/>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:with-param>
-            </xsl:apply-templates>
-          </xsl:when>
-          <xsl:when test="$candidate = 'p'">
-            <xsl:apply-templates select="." mode="insert.pagenumber.markup">
-              <xsl:with-param name="purpose" select="$purpose"/>
-              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-              <xsl:with-param name="pagenumber">
-                <xsl:choose>
-                  <xsl:when test="$pagenumber != ''">
-                    <xsl:copy-of select="$pagenumber"/>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:apply-templates select="." mode="pagenumber.markup"/>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:with-param>
-            </xsl:apply-templates>
-          </xsl:when>
-          <xsl:when test="$candidate = 'o'">
-            <!-- olink target document title -->
-            <xsl:apply-templates select="." mode="insert.olink.docname.markup">
-              <xsl:with-param name="purpose" select="$purpose"/>
-              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-              <xsl:with-param name="docname">
-                <xsl:choose>
-                  <xsl:when test="$docname != ''">
-                    <xsl:copy-of select="$docname"/>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:apply-templates select="." mode="olink.docname.markup"/>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:with-param>
-            </xsl:apply-templates>
-          </xsl:when>
-          <xsl:when test="$candidate = 'd'">
-            <xsl:apply-templates select="." mode="insert.direction.markup">
-              <xsl:with-param name="purpose" select="$purpose"/>
-              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-              <xsl:with-param name="direction">
-                <xsl:choose>
-                  <xsl:when test="$referrer">
-                    <xsl:variable name="referent-is-below">
-                      <xsl:for-each select="preceding::xref">
-                        <xsl:if test="generate-id(.) = generate-id($referrer)">1</xsl:if>
-                      </xsl:for-each>
-                    </xsl:variable>
-                    <xsl:choose>
-                      <xsl:when test="$referent-is-below = ''">
-                        <xsl:call-template name="gentext">
-                          <xsl:with-param name="key" select="'above'"/>
-                        </xsl:call-template>
-                      </xsl:when>
-                      <xsl:otherwise>
-                        <xsl:call-template name="gentext">
-                          <xsl:with-param name="key" select="'below'"/>
-                        </xsl:call-template>
-                      </xsl:otherwise>
-                    </xsl:choose>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:message>Attempt to use %d in gentext with no referrer!</xsl:message>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:with-param>
-            </xsl:apply-templates>
-          </xsl:when>
-          <xsl:when test="$candidate = '%' ">
-            <xsl:text>%</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:text>%</xsl:text><xsl:value-of select="$candidate"/>
-          </xsl:otherwise>
-        </xsl:choose>
-        <!-- recurse with the rest of the template string -->
-        <xsl:variable name="rest"
-              select="substring($template,
-              string-length(substring-before($template, '%'))+3)"/>
-        <xsl:call-template name="substitute-markup">
-          <xsl:with-param name="template" select="$rest"/>
-          <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-          <xsl:with-param name="title" select="$title"/>
-          <xsl:with-param name="subtitle" select="$subtitle"/>
-          <xsl:with-param name="docname" select="$docname"/>
-          <xsl:with-param name="label" select="$label"/>
-          <xsl:with-param name="pagenumber" select="$pagenumber"/>
-          <xsl:with-param name="purpose" select="$purpose"/>
-          <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-          <xsl:with-param name="referrer" select="$referrer"/>
-          <xsl:with-param name="verbose" select="$verbose"/>
-          <xsl:with-param name="role" select="$role"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$template"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-<!-- -->
-
-<!-- Total packages size calculation -->
-
-    <!-- returnvalue:
-            If the tag is not empty, apply the original template.
-            Otherwise apply the calculation template. -->
-  <xsl:template match="returnvalue">
-    <xsl:choose>
-      <xsl:when test="count(*)&gt;0">
-        <xsl:apply-imports/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="calculation">
-          <xsl:with-param name="scope" select="../../variablelist"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- Self-made calculation template. -->
-  <xsl:template name="calculation">
-    <xsl:param name="scope"/>
-    <xsl:param name="total">0</xsl:param>
-    <xsl:param name="position">1</xsl:param>
-    <xsl:variable name="tokens" select="count($scope/varlistentry)"/>
-    <xsl:variable name="token" select="$scope/varlistentry[$position]/term/token"/>
-    <xsl:variable name="size" select="substring-before($token,' KB')"/>
-    <xsl:variable name="rawsize">
-      <xsl:choose>
-        <xsl:when test="contains($size,',')">
-          <xsl:value-of select="concat(substring-before($size,','),substring-after($size,','))"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$size"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:choose>
-      <xsl:when test="$position &lt;= $tokens">
-        <xsl:call-template name="calculation">
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="position" select="$position +1"/>
-          <xsl:with-param name="total" select="$total + $rawsize"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:choose>
-          <xsl:when test="$total &lt; '1000'">
-            <xsl:value-of select="$total"/>
-            <xsl:text>  KB</xsl:text>
-          </xsl:when>
-          <xsl:when test="$total &gt; '1000' and $total &lt; '5000'">
-            <xsl:value-of select="substring($total,1,1)"/>
-            <xsl:text>,</xsl:text>
-            <xsl:value-of select="substring($total,2)"/>
-            <xsl:text>  KB</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="round($total div 1024)"/>
-            <xsl:text>  MB</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-<!-- -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/COPYING
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/COPYING	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,47 +1,0 @@
-Copyright
----------
-Copyright (C) 1999-2007 Norman Walsh
-Copyright (C) 2003 JiÅÃ­ Kosek
-Copyright (C) 2004-2007 Steve Ball
-Copyright (C) 2005-2007 The DocBook Project
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the ``Software''), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-Except as contained in this notice, the names of individuals
-credited with contribution to this software shall not be used in
-advertising or otherwise to promote the sale, use or other
-dealings in this Software without prior written authorization
-from the individuals in question.
-
-Any stylesheet derived from this Software that is publically
-distributed will be identified with a different name and the
-version strings in any derived Software will be changed so that
-no possibility of confusion between the derived package and this
-Software will exist.
-
-Warranty
---------
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT.  IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER
-CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-Contacting the Author
----------------------
-The DocBook XSL stylesheets are maintained by Norman Walsh,
-<ndw@nwalsh.com>, and members of the DocBook Project,
-<docbook-developers@sf.net>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/VERSION
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/VERSION	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,111 +1,0 @@
-<?xml version='1.0'?> <!-- -*- nxml -*- vim: set foldlevel=2: -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:sf="http://sourceforge.net/"
-  xmlns:dyn="http://exslt.org/dynamic"
-  xmlns:saxon="http://icl.com/saxon"
-  exclude-result-prefixes="sf"
-  version='1.0'>
-
-<xsl:output omit-xml-declaration="yes"/>
-
-<xsl:param name="get"/>
-<xsl:param name="VERSION" select="string(document('')//sf:Version[1])"/>
-<xsl:param name="Tag" select="concat('V',translate(string(document('')//sf:Version[1]),'.',''))"/>
-<xsl:param name="DistroTitle" select="string(document('')//sf:Branch[1])"/>
-<xsl:param name="sf-relid" select="0"/>
-
-<xsl:param name="DistroName">docbook-xsl</xsl:param>
-<xsl:param name="PreviousRelease">1.72.0</xsl:param>
-<xsl:param name="PreviousReleaseRevision">6549</xsl:param>
-<xsl:param name="Revision">$Revision$</xsl:param>
-<xsl:param name="VersionFileURL">$URL: https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/xsl/VERSION $</xsl:param>
-
-<xsl:strip-space elements="sf:*"/>
-
-<sf:project>
-  <sf:Project>DocBook</sf:Project>
-  <sf:Branch>XSL Stylesheets</sf:Branch>
-  <sf:Version>1.73.2</sf:Version>
-<!--
-  <sf:License>MIT/X Consortium License</sf:License>
--->
-  <sf:Release-Focus>
-<!-- * Documentation -->
-<!-- * Code cleanup -->
-<!-- * Minor feature enhancements -->
-<!-- * Major feature enhancements -->
-Minor bugfixes
-<!-- * Major bugfixes -->
-<!-- * Minor security fixes -->
-<!-- * Major security fixes -->
-  </sf:Release-Focus>
-  <sf:Home-Page-URL>http://sourceforge.net/projects/docbook/</sf:Home-Page-URL>
-  <sf:Gzipped-Tar-URL>http://prdownloads.sourceforge.net/docbook/{DISTRONAME-VERSION}.tar.gz?download</sf:Gzipped-Tar-URL>
-  <sf:Zipped-Tar-URL>http://prdownloads.sourceforge.net/docbook/{DISTRONAME-VERSION}.zip?download</sf:Zipped-Tar-URL>
-  <sf:Bzipped-Tar-URL>http://prdownloads.sourceforge.net/docbook/{DISTRONAME-VERSION}.bz2?download</sf:Bzipped-Tar-URL>
-  <sf:Changelog-URL>http://sourceforge.net/project/shownotes.php?release_id={SFRELID}</sf:Changelog-URL>
-  <sf:CVS-URL>http://docbook.svn.sourceforge.net/viewvc/docbook/</sf:CVS-URL>
-  <sf:Mailing-List-URL>http://lists.oasis-open.org/archives/docbook-apps/</sf:Mailing-List-URL>
-  <sf:Changes>This is a bug-fix update to the 1.73.1 release.
-</sf:Changes>
-</sf:project>
-
-<xsl:template match="/" priority="-100">
-  <xsl:choose>
-    <xsl:when test="$get = 'Tag'">
-      <xsl:value-of select="$Tag"/>
-    </xsl:when>
-    <xsl:when test="$get = 'PreviousRelease'">
-      <xsl:value-of select="$PreviousRelease"/>
-    </xsl:when>
-    <xsl:when test="$get = 'PreviousReleaseRevision'">
-      <xsl:value-of select="$PreviousReleaseRevision"/>
-    </xsl:when>
-    <xsl:when test="$get = 'DistroTitle'">
-      <xsl:value-of select="$DistroTitle"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$sf-relid = 0">
-        <xsl:message terminate="yes">
-         <xsl:text>You must specify the sf-relid as a parameter.</xsl:text>
-        </xsl:message>
-      </xsl:if>
-      <xsl:apply-templates select="//sf:project"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="sf:project">
-  <xsl:apply-templates/>
-  <xsl:text>&#10;</xsl:text>
-  <xsl:apply-templates select="sf:Changes" mode="text"/>
-</xsl:template>
-
-<xsl:template match="sf:Changes"/>
-
-<xsl:template match="sf:Gzipped-Tar-URL|sf:Zipped-Tar-URL|sf:Bzipped-Tar-URL">
-  <xsl:value-of select="local-name(.)"/>
-  <xsl:text>: </xsl:text>
-  <xsl:value-of select="substring-before(., '{DISTRONAME-VERSION}')"/>
-  <xsl:value-of select="concat($DistroName, '-', $VERSION)"/>
-  <xsl:value-of select="substring-after(., '{DISTRONAME-VERSION}')"/>
-  <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="sf:Changelog-URL">
-  <xsl:value-of select="local-name(.)"/>
-  <xsl:text>: </xsl:text>
-  <xsl:value-of select="substring-before(., '{SFRELID}')"/>
-  <xsl:value-of select="$sf-relid"/>
-  <xsl:value-of select="substring-after(., '{SFRELID}')"/>
-  <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="sf:*">
-  <xsl:value-of select="local-name(.)"/>
-  <xsl:text>: </xsl:text>
-  <xsl:value-of select="normalize-space(.)"/>
-  <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/common.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/common.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1981 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                xmlns:dyn="http://exslt.org/dynamic"
-                xmlns:saxon="http://icl.com/saxon"
-                exclude-result-prefixes="doc dyn saxon"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<doc:reference xmlns="" xml:id="base">
-  <info>
-    <title>Common Â» Base Template Reference</title>
-    <releaseinfo role="meta">
-      $Id$
-    </releaseinfo>
-  </info>
-  <!-- * yes, partintro is a valid child of a reference... -->
-  <partintro xml:id="partintro">
-    <title>Introduction</title>
-    <para>This is technical reference documentation for the âbaseâ
-      set of common templates in the DocBook XSL Stylesheets.</para>
-    <para>This is not intended to be user documentation. It is
-      provided for developers writing customization layers for the
-      stylesheets.</para>
-  </partintro>
-</doc:reference>
-
-<!-- ==================================================================== -->
-<!-- Establish strip/preserve whitespace rules -->
-
-<xsl:preserve-space elements="*"/>
-
-<xsl:strip-space elements="
-abstract affiliation anchor answer appendix area areaset areaspec
-artheader article audiodata audioobject author authorblurb authorgroup
-beginpage bibliodiv biblioentry bibliography biblioset blockquote book
-bookbiblio bookinfo callout calloutlist caption caution chapter
-citerefentry cmdsynopsis co collab colophon colspec confgroup
-copyright dedication docinfo editor entrytbl epigraph equation
-example figure footnote footnoteref formalpara funcprototype
-funcsynopsis glossary glossdef glossdiv glossentry glosslist graphicco
-group highlights imagedata imageobject imageobjectco important index
-indexdiv indexentry indexterm info informalequation informalexample
-informalfigure informaltable inlineequation inlinemediaobject
-itemizedlist itermset keycombo keywordset legalnotice listitem lot
-mediaobject mediaobjectco menuchoice msg msgentry msgexplan msginfo
-msgmain msgrel msgset msgsub msgtext note objectinfo
-orderedlist othercredit part partintro preface printhistory procedure
-programlistingco publisher qandadiv qandaentry qandaset question
-refentry reference refmeta refnamediv refsection refsect1 refsect1info refsect2
-refsect2info refsect3 refsect3info refsynopsisdiv refsynopsisdivinfo
-revhistory revision row sbr screenco screenshot sect1 sect1info sect2
-sect2info sect3 sect3info sect4 sect4info sect5 sect5info section
-sectioninfo seglistitem segmentedlist seriesinfo set setindex setinfo
-shortcut sidebar simplelist simplesect spanspec step subject
-subjectset substeps synopfragment table tbody textobject tfoot tgroup
-thead tip toc tocchap toclevel1 toclevel2 toclevel3 toclevel4
-toclevel5 tocpart varargs variablelist varlistentry videodata
-videoobject void warning subjectset
-
-classsynopsis
-constructorsynopsis
-destructorsynopsis
-fieldsynopsis
-methodparam
-methodsynopsis
-ooclass
-ooexception
-oointerface
-simplemsgentry
-manvolnum
-"/>
-<!-- ====================================================================== -->
-
-<doc:template name="is.component" xmlns="">
-<refpurpose>Tests if a given node is a component-level element</refpurpose>
-
-<refdescription id="is.component-desc">
-<para>This template returns '1' if the specified node is a component
-(Chapter, Appendix, etc.), and '0' otherwise.</para>
-</refdescription>
-
-<refparameter id="is.component-params">
-<variablelist>
-<varlistentry><term>node</term>
-<listitem>
-<para>The node which is to be tested.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-
-<refreturn id="is.component-returns">
-<para>This template returns '1' if the specified node is a component
-(Chapter, Appendix, etc.), and '0' otherwise.</para>
-</refreturn>
-</doc:template>
-
-<xsl:template name="is.component">
-  <xsl:param name="node" select="."/>
-  <xsl:choose>
-    <xsl:when test="local-name($node) = 'appendix'
-                    or local-name($node) = 'article'
-                    or local-name($node) = 'chapter'
-                    or local-name($node) = 'preface'
-                    or local-name($node) = 'bibliography'
-                    or local-name($node) = 'glossary'
-                    or local-name($node) = 'index'">1</xsl:when>
-    <xsl:otherwise>0</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<doc:template name="is.section" xmlns="">
-<refpurpose>Tests if a given node is a section-level element</refpurpose>
-
-<refdescription id="is.section-desc">
-<para>This template returns '1' if the specified node is a section
-(Section, Sect1, Sect2, etc.), and '0' otherwise.</para>
-</refdescription>
-
-<refparameter id="is.section-params">
-<variablelist>
-<varlistentry><term>node</term>
-<listitem>
-<para>The node which is to be tested.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-
-<refreturn id="is.section-returns">
-<para>This template returns '1' if the specified node is a section
-(Section, Sect1, Sect2, etc.), and '0' otherwise.</para>
-</refreturn>
-</doc:template>
-
-<xsl:template name="is.section">
-  <xsl:param name="node" select="."/>
-  <xsl:choose>
-    <xsl:when test="local-name($node) = 'section'
-                    or local-name($node) = 'sect1'
-                    or local-name($node) = 'sect2'
-                    or local-name($node) = 'sect3'
-                    or local-name($node) = 'sect4'
-                    or local-name($node) = 'sect5'
-                    or local-name($node) = 'refsect1'
-                    or local-name($node) = 'refsect2'
-                    or local-name($node) = 'refsect3'
-                    or local-name($node) = 'simplesect'">1</xsl:when>
-    <xsl:otherwise>0</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<doc:template name="section.level" xmlns="">
-<refpurpose>Returns the hierarchical level of a section</refpurpose>
-
-<refdescription id="section.level-desc">
-<para>This template calculates the hierarchical level of a section.
-The element <tag>sect1</tag> is at level 1, <tag>sect2</tag> is
-at level 2, etc.</para>
-
-<para>Recursive sections are calculated down to the fifth level.</para>
-</refdescription>
-
-<refparameter id="section.level-params">
-<variablelist>
-<varlistentry><term>node</term>
-<listitem>
-<para>The section node for which the level should be calculated.
-Defaults to the context node.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-
-<refreturn id="section.level-returns">
-<para>The section level, <quote>1</quote>, <quote>2</quote>, etc.
-</para>
-</refreturn>
-</doc:template>
-
-<xsl:template name="section.level">
-  <xsl:param name="node" select="."/>
-  <xsl:choose>
-    <xsl:when test="local-name($node)='sect1'">1</xsl:when>
-    <xsl:when test="local-name($node)='sect2'">2</xsl:when>
-    <xsl:when test="local-name($node)='sect3'">3</xsl:when>
-    <xsl:when test="local-name($node)='sect4'">4</xsl:when>
-    <xsl:when test="local-name($node)='sect5'">5</xsl:when>
-    <xsl:when test="local-name($node)='section'">
-      <xsl:choose>
-        <xsl:when test="$node/../../../../../../section">6</xsl:when>
-        <xsl:when test="$node/../../../../../section">5</xsl:when>
-        <xsl:when test="$node/../../../../section">4</xsl:when>
-        <xsl:when test="$node/../../../section">3</xsl:when>
-        <xsl:when test="$node/../../section">2</xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="local-name($node)='refsect1' or
-                    local-name($node)='refsect2' or
-                    local-name($node)='refsect3' or
-                    local-name($node)='refsection' or
-                    local-name($node)='refsynopsisdiv'">
-      <xsl:call-template name="refentry.section.level">
-        <xsl:with-param name="node" select="$node"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="local-name($node)='simplesect'">
-      <xsl:choose>
-        <xsl:when test="$node/../../sect1">2</xsl:when>
-        <xsl:when test="$node/../../sect2">3</xsl:when>
-        <xsl:when test="$node/../../sect3">4</xsl:when>
-        <xsl:when test="$node/../../sect4">5</xsl:when>
-        <xsl:when test="$node/../../sect5">5</xsl:when>
-        <xsl:when test="$node/../../section">
-          <xsl:choose>
-            <xsl:when test="$node/../../../../../section">5</xsl:when>
-            <xsl:when test="$node/../../../../section">4</xsl:when>
-            <xsl:when test="$node/../../../section">3</xsl:when>
-            <xsl:otherwise>2</xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>1</xsl:otherwise>
-  </xsl:choose>
-</xsl:template><!-- section.level -->
-
-<doc:template name="qanda.section.level" xmlns="">
-<refpurpose>Returns the hierarchical level of a QandASet</refpurpose>
-
-<refdescription id="qanda.section.level-desc">
-<para>This template calculates the hierarchical level of a QandASet.
-</para>
-</refdescription>
-
-<refreturn id="qanda.section.level-returns">
-<para>The level, <quote>1</quote>, <quote>2</quote>, etc.
-</para>
-</refreturn>
-</doc:template>
-
-<xsl:template name="qanda.section.level">
-  <xsl:variable name="section"
-                select="(ancestor::section
-                         |ancestor::simplesect
-                         |ancestor::sect5
-                         |ancestor::sect4
-                         |ancestor::sect3
-                         |ancestor::sect2
-                         |ancestor::sect1
-                         |ancestor::refsect3
-                         |ancestor::refsect2
-                         |ancestor::refsect1)[last()]"/>
-
-  <xsl:choose>
-    <xsl:when test="count($section) = '0'">1</xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="slevel">
-        <xsl:call-template name="section.level">
-          <xsl:with-param name="node" select="$section"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:value-of select="$slevel + 1"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- Finds the total section depth of a section in a refentry -->
-<xsl:template name="refentry.section.level">
-  <xsl:param name="node" select="."/>
-
-  <xsl:variable name="RElevel">
-    <xsl:call-template name="refentry.level">
-      <xsl:with-param name="node" select="$node/ancestor::refentry[1]"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="levelinRE">
-    <xsl:choose>
-      <xsl:when test="local-name($node)='refsynopsisdiv'">1</xsl:when>
-      <xsl:when test="local-name($node)='refsect1'">1</xsl:when>
-      <xsl:when test="local-name($node)='refsect2'">2</xsl:when>
-      <xsl:when test="local-name($node)='refsect3'">3</xsl:when>
-      <xsl:when test="local-name($node)='refsection'">
-        <xsl:choose>
-          <xsl:when test="$node/../../../../../refsection">5</xsl:when>
-          <xsl:when test="$node/../../../../refsection">4</xsl:when>
-          <xsl:when test="$node/../../../refsection">3</xsl:when>
-          <xsl:when test="$node/../../refsection">2</xsl:when>
-          <xsl:otherwise>1</xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:value-of select="$levelinRE + $RElevel"/>
-</xsl:template>
-
-<!-- Finds the section depth of a refentry -->
-<xsl:template name="refentry.level">
-  <xsl:param name="node" select="."/>
-  <xsl:variable name="container"
-                select="($node/ancestor::section |
-                        $node/ancestor::sect1 |
-                        $node/ancestor::sect2 |
-                        $node/ancestor::sect3 |
-                        $node/ancestor::sect4 |
-                        $node/ancestor::sect5)[last()]"/>
-
-  <xsl:choose>
-    <xsl:when test="$container">
-      <xsl:variable name="slevel">
-        <xsl:call-template name="section.level">
-          <xsl:with-param name="node" select="$container"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:value-of select="$slevel + 1"/>
-    </xsl:when>
-    <xsl:otherwise>1</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="qandadiv.section.level">
-  <xsl:variable name="section.level">
-    <xsl:call-template name="qanda.section.level"/>
-  </xsl:variable>
-  <xsl:variable name="anc.divs" select="ancestor::qandadiv"/>
-
-  <xsl:value-of select="count($anc.divs) + number($section.level)"/>
-</xsl:template>
-
-<xsl:template name="question.answer.label">
-  <xsl:variable name="deflabel">
-    <xsl:choose>
-      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
-        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
-                              /@defaultlabel"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$qanda.defaultlabel"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="label" select="@label"/>
-
-<!--
- (hnr      (hierarchical-number-recursive (normalize "qandadiv") node))
-
-         (parsect  (ancestor-member node (section-element-list)))
-
-         (defnum   (if (and %qanda-inherit-numeration% 
-                            %section-autolabel%)
-                       (if (node-list-empty? parsect)
-                           (section-autolabel-prefix node)
-                           (section-autolabel parsect))
-                       ""))
-
-         (hnumber  (let loop ((numlist hnr) (number defnum) 
-                              (sep (if (equal? defnum "") "" ".")))
-                     (if (null? numlist)
-                         number
-                         (loop (cdr numlist) 
-                               (string-append number
-                                              sep
-                                              (number->string (car numlist)))
-                               "."))))
-         (cnumber  (child-number (parent node)))
-         (number   (string-append hnumber 
-                                  (if (equal? hnumber "")
-                                      ""
-                                      ".")
-                                  (number->string cnumber))))
--->
-
-  <xsl:choose>
-    <xsl:when test="$deflabel = 'qanda'">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key">
-          <xsl:choose>
-            <xsl:when test="local-name(.) = 'question'">question</xsl:when>
-            <xsl:when test="local-name(.) = 'answer'">answer</xsl:when>
-            <xsl:when test="local-name(.) = 'qandadiv'">qandadiv</xsl:when>
-            <xsl:otherwise>qandaset</xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$deflabel = 'label'">
-      <xsl:value-of select="$label"/>
-    </xsl:when>
-    <xsl:when test="$deflabel = 'number'
-                    and local-name(.) = 'question'">
-      <xsl:apply-templates select="ancestor::qandaset[1]"
-                           mode="number"/>
-      <xsl:choose>
-        <xsl:when test="ancestor::qandadiv">
-          <xsl:apply-templates select="ancestor::qandadiv[1]"
-                               mode="number"/>
-          <xsl:apply-templates select="ancestor::qandaentry"
-                               mode="number"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="ancestor::qandaentry"
-                               mode="number"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- nothing -->
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="qandaset" mode="number">
-  <!-- FIXME: -->
-</xsl:template>
-
-<xsl:template match="qandadiv" mode="number">
-  <xsl:number level="multiple" from="qandaset" format="1."/>
-</xsl:template>
-
-<xsl:template match="qandaentry" mode="number">
-  <xsl:choose>
-    <xsl:when test="ancestor::qandadiv">
-      <xsl:number level="single" from="qandadiv" format="1."/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:number level="single" from="qandaset" format="1."/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template name="object.id">
-  <xsl:param name="object" select="."/>
-  <xsl:choose>
-    <xsl:when test="$object/@id">
-      <xsl:value-of select="$object/@id"/>
-    </xsl:when>
-    <xsl:when test="$object/@xml:id">
-      <xsl:value-of select="$object/@xml:id"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="generate-id($object)"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="person.name">
-  <!-- Formats a personal name. Handles corpauthor as a special case. -->
-  <xsl:param name="node" select="."/>
-
-  <xsl:variable name="style">
-    <xsl:choose>
-      <xsl:when test="$node/@role">
-        <xsl:value-of select="$node/@role"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'styles'"/>
-          <xsl:with-param name="name" select="'person-name'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <!-- the personname element is a specialcase -->
-    <xsl:when test="$node/personname">
-      <xsl:call-template name="person.name">
-        <xsl:with-param name="node" select="$node/personname"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <!-- handle corpauthor as a special case...-->
-    <!-- * MikeSmith 2007-06: I'm wondering if the person.name template -->
-    <!-- * actually ever gets called to handle corpauthor.. maybe -->
-    <!-- * we don't actually need to check for corpauthor here. -->
-    <xsl:when test="local-name($node)='corpauthor'">
-      <xsl:apply-templates select="$node"/>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:choose>
-        <!-- Handle case when personname contains only general markup (DocBook 5.0) -->
-        <xsl:when test="$node/self::personname and not($node/firstname or $node/honorific or $node/lineage or $node/othername or $node/surname)">
-          <xsl:apply-templates select="$node/node()"/>
-        </xsl:when>
-        <xsl:when test="$style = 'family-given'">
-          <xsl:call-template name="person.name.family-given">
-            <xsl:with-param name="node" select="$node"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="$style = 'last-first'">
-          <xsl:call-template name="person.name.last-first">
-            <xsl:with-param name="node" select="$node"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="person.name.first-last">
-            <xsl:with-param name="node" select="$node"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="person.name.family-given">
-  <xsl:param name="node" select="."/>
-
-  <!-- The family-given style applies a convention for identifying given -->
-  <!-- and family names in locales where it may be ambiguous -->
-  <xsl:apply-templates select="$node//surname[1]"/>
-
-  <xsl:if test="$node//surname and $node//firstname">
-    <xsl:text> </xsl:text>
-  </xsl:if>
-
-  <xsl:apply-templates select="$node//firstname[1]"/>
-
-  <xsl:text> [FAMILY Given]</xsl:text>
-</xsl:template>
-
-<xsl:template name="person.name.last-first">
-  <xsl:param name="node" select="."/>
-
-  <xsl:apply-templates select="$node//surname[1]"/>
-
-  <xsl:if test="$node//surname and $node//firstname">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-
-  <xsl:apply-templates select="$node//firstname[1]"/>
-</xsl:template>
-
-<xsl:template name="person.name.first-last">
-  <xsl:param name="node" select="."/>
-
-  <xsl:if test="$node//honorific">
-    <xsl:apply-templates select="$node//honorific[1]"/>
-    <xsl:value-of select="$punct.honorific"/>
-  </xsl:if>
-
-  <xsl:if test="$node//firstname">
-    <xsl:if test="$node//honorific">
-      <xsl:text> </xsl:text>
-    </xsl:if>
-    <xsl:apply-templates select="$node//firstname[1]"/>
-  </xsl:if>
-
-  <xsl:if test="$node//othername and $author.othername.in.middle != 0">
-    <xsl:if test="$node//honorific or $node//firstname">
-      <xsl:text> </xsl:text>
-    </xsl:if>
-    <xsl:apply-templates select="$node//othername[1]"/>
-  </xsl:if>
-
-  <xsl:if test="$node//surname">
-    <xsl:if test="$node//honorific or $node//firstname
-                  or ($node//othername and $author.othername.in.middle != 0)">
-      <xsl:text> </xsl:text>
-    </xsl:if>
-    <xsl:apply-templates select="$node//surname[1]"/>
-  </xsl:if>
-
-  <xsl:if test="$node//lineage">
-    <xsl:text>, </xsl:text>
-    <xsl:apply-templates select="$node//lineage[1]"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="person.name.list">
-  <!-- Return a formatted string representation of the contents of
-       the current element. The current element must contain one or
-       more AUTHORs, CORPAUTHORs, OTHERCREDITs, and/or EDITORs.
-
-       John Doe
-     or
-       John Doe and Jane Doe
-     or
-       John Doe, Jane Doe, and A. Nonymous
-  -->
-  <xsl:param name="person.list"
-             select="author|corpauthor|othercredit|editor"/>
-  <xsl:param name="person.count" select="count($person.list)"/>
-  <xsl:param name="count" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="$count &gt; $person.count"></xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="person.name">
-        <xsl:with-param name="node" select="$person.list[position()=$count]"/>
-      </xsl:call-template>
-
-      <xsl:choose>
-        <xsl:when test="$person.count = 2 and $count = 1">
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="context" select="'authorgroup'"/>
-            <xsl:with-param name="name" select="'sep2'"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="$person.count &gt; 2 and $count+1 = $person.count">
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="context" select="'authorgroup'"/>
-            <xsl:with-param name="name" select="'seplast'"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="$count &lt; $person.count">
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="context" select="'authorgroup'"/>
-            <xsl:with-param name="name" select="'sep'"/>
-          </xsl:call-template>
-        </xsl:when>
-      </xsl:choose>
-
-      <xsl:call-template name="person.name.list">
-        <xsl:with-param name="person.list" select="$person.list"/>
-        <xsl:with-param name="person.count" select="$person.count"/>
-        <xsl:with-param name="count" select="$count+1"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template><!-- person.name.list -->
-
-<!-- === synopsis ======================================================= -->
-<!-- The following definitions match those given in the reference
-     documentation for DocBook V3.0
--->
-
-<xsl:variable name="arg.choice.opt.open.str">[</xsl:variable>
-<xsl:variable name="arg.choice.opt.close.str">]</xsl:variable>
-<xsl:variable name="arg.choice.req.open.str">{</xsl:variable>
-<xsl:variable name="arg.choice.req.close.str">}</xsl:variable>
-<xsl:variable name="arg.choice.plain.open.str"><xsl:text> </xsl:text></xsl:variable>
-<xsl:variable name="arg.choice.plain.close.str"><xsl:text> </xsl:text></xsl:variable>
-<xsl:variable name="arg.choice.def.open.str">[</xsl:variable>
-<xsl:variable name="arg.choice.def.close.str">]</xsl:variable>
-<xsl:variable name="arg.rep.repeat.str">...</xsl:variable>
-<xsl:variable name="arg.rep.norepeat.str"></xsl:variable>
-<xsl:variable name="arg.rep.def.str"></xsl:variable>
-<xsl:variable name="arg.or.sep"> | </xsl:variable>
-<xsl:variable name="cmdsynopsis.hanging.indent">4pi</xsl:variable>
-
-<!-- ====================================================================== -->
-
-<!--
-<xsl:template name="xref.g.subst">
-  <xsl:param name="string"></xsl:param>
-  <xsl:param name="target" select="."/>
-  <xsl:variable name="subst">%g</xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, $subst)">
-      <xsl:value-of select="substring-before($string, $subst)"/>
-      <xsl:call-template name="gentext.element.name">
-        <xsl:with-param name="element.name" select="local-name($target)"/>
-      </xsl:call-template>
-      <xsl:call-template name="xref.g.subst">
-        <xsl:with-param name="string"
-                        select="substring-after($string, $subst)"/>
-        <xsl:with-param name="target" select="$target"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$string"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="xref.t.subst">
-  <xsl:param name="string"></xsl:param>
-  <xsl:param name="target" select="."/>
-  <xsl:variable name="subst">%t</xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, $subst)">
-      <xsl:call-template name="xref.g.subst">
-        <xsl:with-param name="string"
-                        select="substring-before($string, $subst)"/>
-        <xsl:with-param name="target" select="$target"/>
-      </xsl:call-template>
-      <xsl:call-template name="title.xref">
-        <xsl:with-param name="target" select="$target"/>
-      </xsl:call-template>
-      <xsl:call-template name="xref.t.subst">
-        <xsl:with-param name="string"
-                        select="substring-after($string, $subst)"/>
-        <xsl:with-param name="target" select="$target"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="xref.g.subst">
-        <xsl:with-param name="string" select="$string"/>
-        <xsl:with-param name="target" select="$target"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="xref.n.subst">
-  <xsl:param name="string"></xsl:param>
-  <xsl:param name="target" select="."/>
-  <xsl:variable name="subst">%n</xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, $subst)">
-      <xsl:call-template name="xref.t.subst">
-        <xsl:with-param name="string"
-                        select="substring-before($string, $subst)"/>
-        <xsl:with-param name="target" select="$target"/>
-      </xsl:call-template>
-      <xsl:call-template name="number.xref">
-        <xsl:with-param name="target" select="$target"/>
-      </xsl:call-template>
-      <xsl:call-template name="xref.t.subst">
-        <xsl:with-param name="string"
-                        select="substring-after($string, $subst)"/>
-        <xsl:with-param name="target" select="$target"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="xref.t.subst">
-        <xsl:with-param name="string" select="$string"/>
-        <xsl:with-param name="target" select="$target"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="subst.xref.text">
-  <xsl:param name="xref.text"></xsl:param>
-  <xsl:param name="target" select="."/>
-
-  <xsl:call-template name="xref.n.subst">
-    <xsl:with-param name="string" select="$xref.text"/>
-    <xsl:with-param name="target" select="$target"/>
-  </xsl:call-template>
-</xsl:template>
--->
-
-<!-- ====================================================================== -->
-
-<xsl:template name="filename-basename">
-  <!-- We assume all filenames are really URIs and use "/" -->
-  <xsl:param name="filename"></xsl:param>
-  <xsl:param name="recurse" select="false()"/>
-
-  <xsl:choose>
-    <xsl:when test="substring-after($filename, '/') != ''">
-      <xsl:call-template name="filename-basename">
-        <xsl:with-param name="filename"
-                        select="substring-after($filename, '/')"/>
-        <xsl:with-param name="recurse" select="true()"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$filename"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="filename-extension">
-  <xsl:param name="filename"></xsl:param>
-  <xsl:param name="recurse" select="false()"/>
-
-  <!-- Make sure we only look at the base name... -->
-  <xsl:variable name="basefn">
-    <xsl:choose>
-      <xsl:when test="$recurse">
-        <xsl:value-of select="$filename"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="filename-basename">
-          <xsl:with-param name="filename" select="$filename"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="substring-after($basefn, '.') != ''">
-      <xsl:call-template name="filename-extension">
-        <xsl:with-param name="filename"
-                        select="substring-after($basefn, '.')"/>
-        <xsl:with-param name="recurse" select="true()"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$recurse">
-      <xsl:value-of select="$basefn"/>
-    </xsl:when>
-    <xsl:otherwise></xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<doc:template name="select.mediaobject" xmlns="">
-<refpurpose>Selects and processes an appropriate media object from a list</refpurpose>
-
-<refdescription id="select.mediaobject-desc">
-<para>This template takes a list of media objects (usually the
-children of a mediaobject or inlinemediaobject) and processes
-the "right" object.</para>
-
-<para>This template relies on a template named 
-"select.mediaobject.index" to determine which object
-in the list is appropriate.</para>
-
-<para>If no acceptable object is located, nothing happens.</para>
-</refdescription>
-
-<refparameter id="select.mediaobject-params">
-<variablelist>
-<varlistentry><term>olist</term>
-<listitem>
-<para>The node list of potential objects to examine.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-
-<refreturn id="select.mediaobject-returns">
-<para>Calls &lt;xsl:apply-templates&gt; on the selected object.</para>
-</refreturn>
-</doc:template>
-
-<xsl:template name="select.mediaobject">
-  <xsl:param name="olist"
-             select="imageobject|imageobjectco
-                     |videoobject|audioobject|textobject"/>
-  
-  <xsl:variable name="mediaobject.index">
-    <xsl:call-template name="select.mediaobject.index">
-      <xsl:with-param name="olist" select="$olist"/>
-      <xsl:with-param name="count" select="1"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="$mediaobject.index != ''">
-    <xsl:apply-templates select="$olist[position() = $mediaobject.index]"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<doc:template name="select.mediaobject.index" xmlns="">
-<refpurpose>Selects the position of the appropriate media object from a list</refpurpose>
-
-<refdescription id="select.mediaobject.index-desc">
-<para>This template takes a list of media objects (usually the
-children of a mediaobject or inlinemediaobject) and determines
-the "right" object. It returns the position of that object
-to be used by the calling template.</para>
-
-<para>If the parameter <parameter>use.role.for.mediaobject</parameter>
-is nonzero, then it first checks for an object with
-a role attribute of the appropriate value.  It takes the first
-of those.  Otherwise, it takes the first acceptable object
-through a recursive pass through the list.</para>
-
-<para>This template relies on a template named "is.acceptable.mediaobject"
-to determine if a given object is an acceptable graphic. The semantics
-of media objects is that the first acceptable graphic should be used.
-</para>
-
-<para>If no acceptable object is located, no index is returned.</para>
-</refdescription>
-
-<refparameter id="select.mediaobject.index-params">
-<variablelist>
-<varlistentry><term>olist</term>
-<listitem>
-<para>The node list of potential objects to examine.</para>
-</listitem>
-</varlistentry>
-<varlistentry><term>count</term>
-<listitem>
-<para>The position in the list currently being considered by the 
-recursive process.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-
-<refreturn id="select.mediaobject.index-returns">
-<para>Returns the position in the original list of the selected object.</para>
-</refreturn>
-</doc:template>
-
-<xsl:template name="select.mediaobject.index">
-  <xsl:param name="olist"
-             select="imageobject|imageobjectco
-                     |videoobject|audioobject|textobject"/>
-  <xsl:param name="count">1</xsl:param>
-
-  <xsl:choose>
-    <!-- Test for objects preferred by role -->
-    <xsl:when test="$use.role.for.mediaobject != 0 
-               and $preferred.mediaobject.role != ''
-               and $olist[@role = $preferred.mediaobject.role]"> 
-      
-      <!-- Get the first hit's position index -->
-      <xsl:for-each select="$olist">
-        <xsl:if test="@role = $preferred.mediaobject.role and
-             not(preceding-sibling::*[@role = $preferred.mediaobject.role])"> 
-          <xsl:value-of select="position()"/> 
-        </xsl:if>
-      </xsl:for-each>
-    </xsl:when>
-
-    <xsl:when test="$use.role.for.mediaobject != 0 
-               and $olist[@role = $stylesheet.result.type]">
-      <!-- Get the first hit's position index -->
-      <xsl:for-each select="$olist">
-        <xsl:if test="@role = $stylesheet.result.type and 
-              not(preceding-sibling::*[@role = $stylesheet.result.type])"> 
-          <xsl:value-of select="position()"/> 
-        </xsl:if>
-      </xsl:for-each>
-    </xsl:when>
-    <!-- Accept 'html' for $stylesheet.result.type = 'xhtml' -->
-    <xsl:when test="$use.role.for.mediaobject != 0 
-               and $stylesheet.result.type = 'xhtml'
-               and $olist[@role = 'html']">
-      <!-- Get the first hit's position index -->
-      <xsl:for-each select="$olist">
-        <xsl:if test="@role = 'html' and 
-              not(preceding-sibling::*[@role = 'html'])"> 
-          <xsl:value-of select="position()"/> 
-        </xsl:if>
-      </xsl:for-each>
-    </xsl:when>
-
-    <!-- If no selection by role, and there is only one object, use it -->
-    <xsl:when test="count($olist) = 1 and $count = 1">
-      <xsl:value-of select="$count"/> 
-    </xsl:when>
-
-    <xsl:otherwise>
-      <!-- Otherwise select first acceptable object -->
-      <xsl:if test="$count &lt;= count($olist)">
-        <xsl:variable name="object" select="$olist[position()=$count]"/>
-    
-        <xsl:variable name="useobject">
-          <xsl:choose>
-            <!-- The phrase is used only when contains TeX Math and output is FO -->
-            <xsl:when test="local-name($object)='textobject' and $object/phrase
-                            and $object/@role='tex' and $stylesheet.result.type = 'fo'
-                            and $tex.math.in.alt != ''">
-              <xsl:text>1</xsl:text> 
-            </xsl:when>
-            <!-- The phrase is never used -->
-            <xsl:when test="local-name($object)='textobject' and $object/phrase">
-              <xsl:text>0</xsl:text>
-            </xsl:when>
-            <xsl:when test="local-name($object)='textobject'
-                            and $object/ancestor::equation ">
-            <!-- The first textobject is not a reasonable fallback
-                 for equation image -->
-              <xsl:text>0</xsl:text>
-            </xsl:when>
-            <!-- The first textobject is a reasonable fallback -->
-            <xsl:when test="local-name($object)='textobject'
-                            and $object[not(@role) or @role!='tex']">
-              <xsl:text>1</xsl:text>
-            </xsl:when>
-            <!-- don't use graphic when output is FO, TeX Math is used 
-                 and there is math in alt element -->
-            <xsl:when test="$object/ancestor::equation and 
-                            $object/ancestor::equation/alt[@role='tex']
-                            and $stylesheet.result.type = 'fo'
-                            and $tex.math.in.alt != ''">
-              <xsl:text>0</xsl:text>
-            </xsl:when>
-            <!-- If there's only one object, use it -->
-            <xsl:when test="$count = 1 and count($olist) = 1">
-               <xsl:text>1</xsl:text>
-            </xsl:when>
-            <!-- Otherwise, see if this one is a useable graphic -->
-            <xsl:otherwise>
-              <xsl:choose>
-                <!-- peek inside imageobjectco to simplify the test -->
-                <xsl:when test="local-name($object) = 'imageobjectco'">
-                  <xsl:call-template name="is.acceptable.mediaobject">
-                    <xsl:with-param name="object" select="$object/imageobject"/>
-                  </xsl:call-template>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:call-template name="is.acceptable.mediaobject">
-                    <xsl:with-param name="object" select="$object"/>
-                  </xsl:call-template>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:variable>
-    
-        <xsl:choose>
-          <xsl:when test="$useobject='1'">
-            <xsl:value-of select="$count"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="select.mediaobject.index">
-              <xsl:with-param name="olist" select="$olist"/>
-              <xsl:with-param name="count" select="$count + 1"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<doc:template name="is.acceptable.mediaobject" xmlns="">
-<refpurpose>Returns '1' if the specified media object is recognized</refpurpose>
-
-<refdescription id="is.acceptable.mediaobject-desc">
-<para>This template examines a media object and returns '1' if the
-object is recognized as a graphic.</para>
-</refdescription>
-
-<refparameter id="is.acceptable.mediaobject-params">
-<variablelist>
-<varlistentry><term>object</term>
-<listitem>
-<para>The media object to consider.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-
-<refreturn id="is.acceptable.mediaobject-returns">
-<para>0 or 1</para>
-</refreturn>
-</doc:template>
-
-<xsl:template name="is.acceptable.mediaobject">
-  <xsl:param name="object"></xsl:param>
-
-  <xsl:variable name="filename">
-    <xsl:call-template name="mediaobject.filename">
-      <xsl:with-param name="object" select="$object"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="ext">
-    <xsl:call-template name="filename-extension">
-      <xsl:with-param name="filename" select="$filename"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <!-- there will only be one -->
-  <xsl:variable name="data" select="$object/videodata
-                                    |$object/imagedata
-                                    |$object/audiodata"/>
-
-  <xsl:variable name="format" select="$data/@format"/>
-
-  <xsl:variable name="graphic.format">
-    <xsl:if test="$format">
-      <xsl:call-template name="is.graphic.format">
-        <xsl:with-param name="format" select="$format"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="graphic.ext">
-    <xsl:if test="$ext">
-      <xsl:call-template name="is.graphic.extension">
-        <xsl:with-param name="ext" select="$ext"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$use.svg = 0 and $format = 'SVG'">0</xsl:when>
-    <xsl:when xmlns:svg="http://www.w3.org/2000/svg"
-              test="$use.svg != 0 and $object/svg:*">1</xsl:when>
-    <xsl:when test="$graphic.format = '1'">1</xsl:when>
-    <xsl:when test="$graphic.ext = '1'">1</xsl:when>
-    <xsl:otherwise>0</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="mediaobject.filename">
-  <xsl:param name="object"></xsl:param>
-
-  <xsl:variable name="data" select="$object/videodata
-                                    |$object/imagedata
-                                    |$object/audiodata
-                                    |$object"/>
-
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="$data[@fileref]">
-        <xsl:apply-templates select="$data/@fileref"/>
-      </xsl:when>
-      <xsl:when test="$data[@entityref]">
-        <xsl:value-of select="unparsed-entity-uri($data/@entityref)"/>
-      </xsl:when>
-      <xsl:otherwise></xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="real.ext">
-    <xsl:call-template name="filename-extension">
-      <xsl:with-param name="filename" select="$filename"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="ext">
-    <xsl:choose>
-      <xsl:when test="$real.ext != ''">
-        <xsl:value-of select="$real.ext"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$graphic.default.extension"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="graphic.ext">
-    <xsl:call-template name="is.graphic.extension">
-      <xsl:with-param name="ext" select="$ext"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$real.ext = ''">
-      <xsl:choose>
-        <xsl:when test="$ext != ''">
-          <xsl:value-of select="$filename"/>
-          <xsl:text>.</xsl:text>
-          <xsl:value-of select="$ext"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$filename"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="not($graphic.ext)">
-      <xsl:choose>
-        <xsl:when test="$graphic.default.extension != ''">
-          <xsl:value-of select="$filename"/>
-          <xsl:text>.</xsl:text>
-          <xsl:value-of select="$graphic.default.extension"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$filename"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$filename"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<doc:template name="check.id.unique" xmlns="">
-<refpurpose>Warn users about references to non-unique IDs</refpurpose>
-<refdescription id="check.id.unique-desc">
-<para>If passed an ID in <varname>linkend</varname>,
-<function>check.id.unique</function> prints
-a warning message to the user if either the ID does not exist or
-the ID is not unique.</para>
-</refdescription>
-</doc:template>
-
-<xsl:template name="check.id.unique">
-  <xsl:param name="linkend"></xsl:param>
-  <xsl:if test="$linkend != ''">
-    <xsl:variable name="targets" select="key('id',$linkend)"/>
-    <xsl:variable name="target" select="$targets[1]"/>
-
-    <xsl:if test="count($targets)=0">
-      <xsl:message>
-        <xsl:text>Error: no ID for constraint linkend: </xsl:text>
-        <xsl:value-of select="$linkend"/>
-        <xsl:text>.</xsl:text>
-      </xsl:message>
-      <!--
-      <xsl:message>
-        <xsl:text>If the ID exists in your document, did your </xsl:text>
-        <xsl:text>XSLT Processor load the DTD?</xsl:text>
-      </xsl:message>
-      -->
-    </xsl:if>
-
-    <xsl:if test="count($targets)>1">
-      <xsl:message>
-        <xsl:text>Warning: multiple "IDs" for constraint linkend: </xsl:text>
-        <xsl:value-of select="$linkend"/>
-        <xsl:text>.</xsl:text>
-      </xsl:message>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<doc:template name="check.idref.targets" xmlns="">
-<refpurpose>Warn users about incorrectly typed references</refpurpose>
-<refdescription id="check.idref.targets-desc">
-<para>If passed an ID in <varname>linkend</varname>,
-<function>check.idref.targets</function> makes sure that the element
-pointed to by the link is one of the elements listed in
-<varname>element-list</varname> and warns the user otherwise.</para>
-</refdescription>
-</doc:template>
-
-<xsl:template name="check.idref.targets">
-  <xsl:param name="linkend"></xsl:param>
-  <xsl:param name="element-list"></xsl:param>
-  <xsl:if test="$linkend != ''">
-    <xsl:variable name="targets" select="key('id',$linkend)"/>
-    <xsl:variable name="target" select="$targets[1]"/>
-
-    <xsl:if test="count($target) &gt; 0">
-      <xsl:if test="not(contains(concat(' ', $element-list, ' '), local-name($target)))">
-        <xsl:message>
-          <xsl:text>Error: linkend (</xsl:text>
-          <xsl:value-of select="$linkend"/>
-          <xsl:text>) points to "</xsl:text>
-          <xsl:value-of select="local-name($target)"/>
-          <xsl:text>" not (one of): </xsl:text>
-          <xsl:value-of select="$element-list"/>
-        </xsl:message>
-      </xsl:if>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<!-- Procedure Step Numeration -->
-
-<xsl:param name="procedure.step.numeration.formats" select="'1aiAI'"/>
-
-<xsl:template name="procedure.step.numeration">
-  <xsl:param name="context" select="."/>
-  <xsl:variable name="format.length"
-                select="string-length($procedure.step.numeration.formats)"/>
-  <xsl:choose>
-    <xsl:when test="local-name($context) = 'substeps'">
-      <xsl:variable name="ssdepth"
-                    select="count($context/ancestor::substeps)"/>
-      <xsl:variable name="sstype" select="($ssdepth mod $format.length)+2"/>
-      <xsl:choose>
-        <xsl:when test="$sstype &gt; $format.length">
-          <xsl:value-of select="substring($procedure.step.numeration.formats,1,1)"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="substring($procedure.step.numeration.formats,$sstype,1)"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="local-name($context) = 'step'">
-      <xsl:variable name="sdepth"
-                    select="count($context/ancestor::substeps)"/>
-      <xsl:variable name="stype" select="($sdepth mod $format.length)+1"/>
-      <xsl:value-of select="substring($procedure.step.numeration.formats,$stype,1)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>Unexpected context in procedure.step.numeration: </xsl:text>
-        <xsl:value-of select="local-name($context)"/>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="step" mode="number">
-  <xsl:param name="rest" select="''"/>
-  <xsl:param name="recursive" select="1"/>
-  <xsl:variable name="format">
-    <xsl:call-template name="procedure.step.numeration"/>
-  </xsl:variable>
-  <xsl:variable name="num">
-    <xsl:number count="step" format="{$format}"/>
-  </xsl:variable>
-  <xsl:choose>
-    <xsl:when test="$recursive != 0 and ancestor::step">
-      <xsl:apply-templates select="ancestor::step[1]" mode="number">
-        <xsl:with-param name="rest" select="concat('.', $num, $rest)"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="concat($num, $rest)"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<!-- OrderedList Numeration -->
-<xsl:template name="output-orderedlist-starting-number">
-  <xsl:param name="list"/>
-  <xsl:param name="pi-start"/>
-  <xsl:choose>
-    <xsl:when test="not($list/@continuation = 'continues')">
-      <xsl:choose>
-        <xsl:when test="@startingnumber">
-          <xsl:value-of select="@startingnumber"/>
-        </xsl:when>
-        <xsl:when test="$pi-start != ''">
-          <xsl:value-of select="$pi-start"/>
-        </xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="prevlist"
-        select="$list/preceding::orderedlist[1]"/>
-      <xsl:choose>
-        <xsl:when test="count($prevlist) = 0">2</xsl:when>
-        <xsl:otherwise>
-          <xsl:variable name="prevlength" select="count($prevlist/listitem)"/>
-          <xsl:variable name="prevstart">
-            <xsl:call-template name="orderedlist-starting-number">
-              <xsl:with-param name="list" select="$prevlist"/>
-            </xsl:call-template>
-          </xsl:variable>
-          <xsl:value-of select="$prevstart + $prevlength"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="orderedlist-item-number">
-  <!-- context node must be a listitem in an orderedlist -->
-  <xsl:param name="node" select="."/>
-  <xsl:choose>
-    <xsl:when test="$node/@override">
-      <xsl:value-of select="$node/@override"/>
-    </xsl:when>
-    <xsl:when test="$node/preceding-sibling::listitem">
-      <xsl:variable name="pnum">
-        <xsl:call-template name="orderedlist-item-number">
-          <xsl:with-param name="node" select="$node/preceding-sibling::listitem[1]"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:value-of select="$pnum + 1"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="orderedlist-starting-number">
-        <xsl:with-param name="list" select="parent::*"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="next.numeration">
-  <xsl:param name="numeration" select="'default'"/>
-  <xsl:choose>
-    <!-- Change this list if you want to change the order of numerations -->
-    <xsl:when test="$numeration = 'arabic'">loweralpha</xsl:when>
-    <xsl:when test="$numeration = 'loweralpha'">lowerroman</xsl:when>
-    <xsl:when test="$numeration = 'lowerroman'">upperalpha</xsl:when>
-    <xsl:when test="$numeration = 'upperalpha'">upperroman</xsl:when>
-    <xsl:when test="$numeration = 'upperroman'">arabic</xsl:when>
-    <xsl:otherwise>arabic</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="list.numeration">
-  <xsl:param name="node" select="."/>
-
-  <xsl:choose>
-    <xsl:when test="$node/@numeration">
-      <xsl:value-of select="$node/@numeration"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$node/ancestor::orderedlist">
-          <xsl:call-template name="next.numeration">
-            <xsl:with-param name="numeration">
-              <xsl:call-template name="list.numeration">
-                <xsl:with-param name="node" select="$node/ancestor::orderedlist[1]"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="next.numeration"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<!-- ItemizedList "Numeration" -->
-
-<xsl:template name="next.itemsymbol">
-  <xsl:param name="itemsymbol" select="'default'"/>
-  <xsl:choose>
-    <!-- Change this list if you want to change the order of symbols -->
-    <xsl:when test="$itemsymbol = 'disc'">circle</xsl:when>
-    <xsl:when test="$itemsymbol = 'circle'">square</xsl:when>
-    <xsl:otherwise>disc</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="list.itemsymbol">
-  <xsl:param name="node" select="."/>
-
-  <xsl:choose>
-    <xsl:when test="@override">
-      <xsl:value-of select="@override"/>
-    </xsl:when>
-    <xsl:when test="$node/@mark">
-      <xsl:value-of select="$node/@mark"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$node/ancestor::itemizedlist">
-          <xsl:call-template name="next.itemsymbol">
-            <xsl:with-param name="itemsymbol">
-              <xsl:call-template name="list.itemsymbol">
-                <xsl:with-param name="node" select="$node/ancestor::itemizedlist[1]"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="next.itemsymbol"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<doc:template name="copyright.years" xmlns="">
-<refpurpose>Print a set of years with collapsed ranges</refpurpose>
-
-<refdescription id="copyright.years-desc">
-<para>This template prints a list of year elements with consecutive
-years printed as a range. In other words:</para>
-
-<screen><![CDATA[<year>1992</year>
-<year>1993</year>
-<year>1994</year>]]></screen>
-
-<para>is printed <quote>1992-1994</quote>, whereas:</para>
-
-<screen><![CDATA[<year>1992</year>
-<year>1994</year>]]></screen>
-
-<para>is printed <quote>1992, 1994</quote>.</para>
-
-<para>This template assumes that all the year elements contain only
-decimal year numbers, that the elements are sorted in increasing
-numerical order, that there are no duplicates, and that all the years
-are expressed in full <quote>century+year</quote>
-(<quote>1999</quote> not <quote>99</quote>) notation.</para>
-</refdescription>
-
-<refparameter id="copyright.years-params">
-<variablelist>
-<varlistentry><term>years</term>
-<listitem>
-<para>The initial set of year elements.</para>
-</listitem>
-</varlistentry>
-<varlistentry><term>print.ranges</term>
-<listitem>
-<para>If non-zero, multi-year ranges are collapsed. If zero, all years
-are printed discretely.</para>
-</listitem>
-</varlistentry>
-<varlistentry><term>single.year.ranges</term>
-<listitem>
-<para>If non-zero, two consecutive years will be printed as a range,
-otherwise, they will be printed discretely. In other words, a single
-year range is <quote>1991-1992</quote> but discretely it's
-<quote>1991, 1992</quote>.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-
-<refreturn id="copyright.years-returns">
-<para>This template returns the formatted list of years.</para>
-</refreturn>
-</doc:template>
-
-<xsl:template name="copyright.years">
-  <xsl:param name="years"/>
-  <xsl:param name="print.ranges" select="1"/>
-  <xsl:param name="single.year.ranges" select="0"/>
-  <xsl:param name="firstyear" select="0"/>
-  <xsl:param name="nextyear" select="0"/>
-
-  <!--
-  <xsl:message terminate="no">
-    <xsl:text>CY: </xsl:text>
-    <xsl:value-of select="count($years)"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$firstyear"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$nextyear"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$print.ranges"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$single.year.ranges"/>
-    <xsl:text> (</xsl:text>
-    <xsl:value-of select="$years[1]"/>
-    <xsl:text>)</xsl:text>
-  </xsl:message>
-  -->
-
-  <xsl:choose>
-    <xsl:when test="$print.ranges = 0 and count($years) &gt; 0">
-      <xsl:choose>
-        <xsl:when test="count($years) = 1">
-          <xsl:apply-templates select="$years[1]" mode="titlepage.mode"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$years[1]" mode="titlepage.mode"/>
-          <xsl:text>, </xsl:text>
-          <xsl:call-template name="copyright.years">
-            <xsl:with-param name="years"
-                            select="$years[position() &gt; 1]"/>
-            <xsl:with-param name="print.ranges" select="$print.ranges"/>
-            <xsl:with-param name="single.year.ranges"
-                            select="$single.year.ranges"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="count($years) = 0">
-      <xsl:variable name="lastyear" select="$nextyear - 1"/>
-      <xsl:choose>
-        <xsl:when test="$firstyear = 0">
-          <!-- there weren't any years at all -->
-        </xsl:when>
-        <xsl:when test="$firstyear = $lastyear">
-          <xsl:value-of select="$firstyear"/>
-        </xsl:when>
-        <xsl:when test="$single.year.ranges = 0
-                        and $lastyear = $firstyear + 1">
-          <xsl:value-of select="$firstyear"/>
-          <xsl:text>, </xsl:text>
-          <xsl:value-of select="$lastyear"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$firstyear"/>
-          <xsl:text>-</xsl:text>
-          <xsl:value-of select="$lastyear"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="$firstyear = 0">
-      <xsl:call-template name="copyright.years">
-        <xsl:with-param name="years"
-                        select="$years[position() &gt; 1]"/>
-        <xsl:with-param name="firstyear" select="$years[1]"/>
-        <xsl:with-param name="nextyear" select="$years[1] + 1"/>
-        <xsl:with-param name="print.ranges" select="$print.ranges"/>
-        <xsl:with-param name="single.year.ranges"
-                        select="$single.year.ranges"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$nextyear = $years[1]">
-      <xsl:call-template name="copyright.years">
-        <xsl:with-param name="years"
-                        select="$years[position() &gt; 1]"/>
-        <xsl:with-param name="firstyear" select="$firstyear"/>
-        <xsl:with-param name="nextyear" select="$nextyear + 1"/>
-        <xsl:with-param name="print.ranges" select="$print.ranges"/>
-        <xsl:with-param name="single.year.ranges"
-                        select="$single.year.ranges"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- we have years left, but they aren't in the current range -->
-      <xsl:choose>
-        <xsl:when test="$nextyear = $firstyear + 1">
-          <xsl:value-of select="$firstyear"/>
-          <xsl:text>, </xsl:text>
-        </xsl:when>
-        <xsl:when test="$single.year.ranges = 0
-                        and $nextyear = $firstyear + 2">
-          <xsl:value-of select="$firstyear"/>
-          <xsl:text>, </xsl:text>
-          <xsl:value-of select="$nextyear - 1"/>
-          <xsl:text>, </xsl:text>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$firstyear"/>
-          <xsl:text>-</xsl:text>
-          <xsl:value-of select="$nextyear - 1"/>
-          <xsl:text>, </xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:call-template name="copyright.years">
-        <xsl:with-param name="years"
-                        select="$years[position() &gt; 1]"/>
-        <xsl:with-param name="firstyear" select="$years[1]"/>
-        <xsl:with-param name="nextyear" select="$years[1] + 1"/>
-        <xsl:with-param name="print.ranges" select="$print.ranges"/>
-        <xsl:with-param name="single.year.ranges"
-                        select="$single.year.ranges"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<doc:template name="find.path.params" xmlns="">
-<refpurpose>Search in a table for the "best" match for the node</refpurpose>
-
-<refdescription id="find.path.params-desc">
-<para>This template searches in a table for the value that most-closely
-(in the typical best-match sense of XSLT) matches the current (element)
-node location.</para>
-</refdescription>
-</doc:template>
-
-<xsl:template name="find.path.params">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="table" select="''"/>
-  <xsl:param name="location">
-    <xsl:call-template name="xpath.location">
-      <xsl:with-param name="node" select="$node"/>
-    </xsl:call-template>
-  </xsl:param>
-
-  <xsl:variable name="value">
-    <xsl:call-template name="lookup.key">
-      <xsl:with-param name="key" select="$location"/>
-      <xsl:with-param name="table" select="$table"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$value != ''">
-      <xsl:value-of select="$value"/>
-    </xsl:when>
-    <xsl:when test="contains($location, '/')">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="node" select="$node"/>
-        <xsl:with-param name="table" select="$table"/>
-        <xsl:with-param name="location" select="substring-after($location, '/')"/>
-      </xsl:call-template>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="relative-uri">
-  <xsl:param name="filename" select="."/>
-  <xsl:param name="destdir" select="''"/>
-  
-  <xsl:variable name="srcurl">
-    <xsl:call-template name="strippath">
-      <xsl:with-param name="filename">
-        <xsl:call-template name="xml.base.dirs">
-          <xsl:with-param name="base.elem" 
-                          select="$filename/ancestor-or-self::*
-                                   [@xml:base != ''][1]"/>
-        </xsl:call-template>
-        <xsl:value-of select="$filename"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="srcurl.trimmed">
-    <xsl:call-template name="trim.common.uri.paths">
-      <xsl:with-param name="uriA" select="$srcurl"/>
-      <xsl:with-param name="uriB" select="$destdir"/>
-      <xsl:with-param name="return" select="'A'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="destdir.trimmed">
-    <xsl:call-template name="trim.common.uri.paths">
-      <xsl:with-param name="uriA" select="$srcurl"/>
-      <xsl:with-param name="uriB" select="$destdir"/>
-      <xsl:with-param name="return" select="'B'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="depth">
-    <xsl:call-template name="count.uri.path.depth">
-      <xsl:with-param name="filename" select="$destdir.trimmed"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="copy-string">
-    <xsl:with-param name="string" select="'../'"/>
-    <xsl:with-param name="count" select="$depth"/>
-  </xsl:call-template>
-  <xsl:value-of select="$srcurl.trimmed"/>
-
-</xsl:template>
-
-<!-- ===================================== -->
-
-<xsl:template name="xml.base.dirs">
-  <xsl:param name="base.elem" select="NONODE"/>
-
-  <!-- Recursively resolve xml:base attributes, up to a 
-       full path with : in uri -->
-  <xsl:if test="$base.elem/ancestor::*[@xml:base != ''] and
-                not(contains($base.elem/@xml:base, ':'))">
-    <xsl:call-template name="xml.base.dirs">
-      <xsl:with-param name="base.elem" 
-                      select="$base.elem/ancestor::*[@xml:base != ''][1]"/>
-    </xsl:call-template>
-  </xsl:if>
-  <xsl:call-template name="getdir">
-    <xsl:with-param name="filename" select="$base.elem/@xml:base"/>
-  </xsl:call-template>
-
-</xsl:template>
-
-<!-- ===================================== -->
-
-<xsl:template name="strippath">
-  <xsl:param name="filename" select="''"/>
-  <xsl:choose>
-    <!-- Leading .. are not eliminated -->
-    <xsl:when test="starts-with($filename, '../')">
-      <xsl:value-of select="'../'"/>
-      <xsl:call-template name="strippath">
-        <xsl:with-param name="filename" select="substring-after($filename, '../')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="contains($filename, '/../')">
-      <xsl:call-template name="strippath">
-        <xsl:with-param name="filename">
-          <xsl:call-template name="getdir">
-            <xsl:with-param name="filename" select="substring-before($filename, '/../')"/>
-          </xsl:call-template>
-          <xsl:value-of select="substring-after($filename, '/../')"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$filename"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ===================================== -->
-
-<xsl:template name="getdir">
-  <xsl:param name="filename" select="''"/>
-  <xsl:if test="contains($filename, '/')">
-    <xsl:value-of select="substring-before($filename, '/')"/>
-    <xsl:text>/</xsl:text>
-    <xsl:call-template name="getdir">
-      <xsl:with-param name="filename" select="substring-after($filename, '/')"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<!-- ===================================== -->
-
-<doc:template name="string.upper" xmlns="">
-<refpurpose>Converts a string to all uppercase letters</refpurpose>
-
-<refdescription id="string.upper-desc">
-<para>Given a string, this template does a language-aware conversion
-of that string to all uppercase letters, based on the values of the
-<literal>lowercase.alpha</literal> and
-<literal>uppercase.alpha</literal> gentext keys for the current
-locale. It affects only those characters found in the values of
-<literal>lowercase.alpha</literal> and
-<literal>uppercase.alpha</literal>. All other characters are left
-unchanged.</para>
-</refdescription>
-
-<refparameter id="string.upper-params">
-<variablelist>
-<varlistentry><term>string</term>
-<listitem>
-<para>The string to convert to uppercase.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-</doc:template>
-<xsl:template name="string.upper">
-  <xsl:param name="string" select="''"/>
-  <xsl:variable name="lowercase.alpha">
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'lowercase.alpha'"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="uppercase.alpha">
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'uppercase.alpha'"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:value-of select="translate($string,$lowercase.alpha,$uppercase.alpha)"/>
-</xsl:template>
-
-<!-- ===================================== -->
-
-<doc:template name="string.lower" xmlns="">
-<refpurpose>Converts a string to all lowercase letters</refpurpose>
-
-<refdescription id="string.lower-desc">
-<para>Given a string, this template does a language-aware conversion
-of that string to all lowercase letters, based on the values of the
-<literal>uppercase.alpha</literal> and
-<literal>lowercase.alpha</literal> gentext keys for the current
-locale. It affects only those characters found in the values of
-<literal>uppercase.alpha</literal> and
-<literal>lowercase.alpha</literal>. All other characters are left
-unchanged.</para>
-</refdescription>
-
-<refparameter id="string.lower-params">
-<variablelist>
-<varlistentry><term>string</term>
-<listitem>
-<para>The string to convert to lowercase.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-</doc:template>
-<xsl:template name="string.lower">
-  <xsl:param name="string" select="''"/>
-  <xsl:variable name="uppercase.alpha">
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'uppercase.alpha'"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="lowercase.alpha">
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'lowercase.alpha'"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:value-of select="translate($string,$uppercase.alpha,$lowercase.alpha)"/>
-</xsl:template>
-
-<!-- ===================================== -->
-
-<doc:template name="select.choice.separator" xmlns="">
-  <refpurpose>Returns localized choice separator</refpurpose>
-  <refdescription id="select.choice.separator-desc">
-    <para>This template enables auto-generation of an appropriate
-    localized "choice" separator (for example, "and" or "or") before
-    the final item in an inline list (though it could also be useful
-    for generating choice separators for non-inline lists).</para>
-    <para>It currently works by evaluating a processing instruction
-    (PI) of the form &lt;?dbchoice&#xa0;choice="foo"?> :
-    <itemizedlist>
-      <listitem>
-        <simpara>if the value of the <tag>choice</tag>
-        pseudo-attribute is "and" or "or", returns a localized "and"
-        or "or"</simpara>
-      </listitem>
-      <listitem>
-        <simpara>otherwise returns the literal value of the
-        <tag>choice</tag> pseudo-attribute</simpara>
-      </listitem>
-    </itemizedlist>
-    The latter is provided only as a temporary workaround because the
-    locale files do not currently have translations for the word
-    <wordasword>or</wordasword>. So if you want to generate a a
-    logical "or" separator in French (for example), you currently need
-    to do this:
-    <literallayout>&lt;?dbchoice choice="ou"?></literallayout>
-    </para>
-    <warning>
-      <para>The <tag>dbchoice</tag> processing instruction is
-      an unfortunate hack; support for it may disappear in the future
-      (particularly if and when a more appropriate means for marking
-      up "choice" lists becomes available in DocBook).</para>
-    </warning>
-  </refdescription>
-</doc:template>
-<xsl:template name="select.choice.separator">
-  <xsl:variable name="choice">
-    <xsl:call-template name="pi.dbchoice_choice"/>
-  </xsl:variable>
-  <xsl:choose>
-    <!-- if value of $choice is "and" or "or", translate to equivalent in -->
-    <!-- current locale -->
-    <xsl:when test="$choice = 'and' or $choice = 'or'">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="$choice"/>
-      </xsl:call-template>
-    </xsl:when>
-    <!--  otherwise, just output value of $choice, whatever it is -->
-    <xsl:otherwise>
-      <xsl:value-of select="$choice"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ===================================== -->
-
-<doc:template name="evaluate.info.profile" xmlns="">
-  <refpurpose>Evaluates an info profile</refpurpose>
-  <refdescription id="evaluate.info.profile-desc">
-    <para>This template evaluates an "info profile" matching the XPath
-    expression given by the <parameter>profile</parameter>
-    parameter. It relies on the XSLT <function>evaluate()</function>
-    extension function.</para>
-
-    <para>The value of the <parameter>profile</parameter> parameter
-    can include the literal string <literal>$info</literal>. If found
-    in the value of the <parameter>profile</parameter> parameter, the
-    literal string <literal>$info</literal> string is replaced with
-    the value of the <parameter>info</parameter> parameter, which
-    should be a set of <replaceable>*info</replaceable> nodes; the
-    expression is then evaluated using the XSLT
-    <function>evaluate()</function> extension function.</para>
-  </refdescription>
-  <refparameter id="evaluate.info.profile-params">
-    <variablelist>
-       <varlistentry>
-        <term>profile</term>
-        <listitem>
-          <para>A string representing an XPath expression </para>
-        </listitem>
-      </varlistentry>
-       <varlistentry>
-        <term>info</term>
-        <listitem>
-          <para>A set of *info nodes</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-
-  <refreturn id="evaluate.info.profile-returns">
-    <para>Returns a node (the result of evaluating the
-    <parameter>profile</parameter> parameter)</para>
-  </refreturn>
-</doc:template>
-  <xsl:template name="evaluate.info.profile">
-    <xsl:param name="profile"/>
-    <xsl:param name="info"/>
-    <xsl:choose>
-      <!-- * xsltproc and Xalan both support dyn:evaluate() -->
-      <xsl:when test="function-available('dyn:evaluate')">
-        <xsl:apply-templates
-            select="dyn:evaluate($profile)" mode="get.refentry.metadata"/>
-      </xsl:when>
-      <!-- * Saxon has its own evaluate() & doesn't support dyn:evaluate() -->
-      <xsl:when test="function-available('saxon:evaluate')">
-        <xsl:apply-templates
-            select="saxon:evaluate($profile)" mode="get.refentry.metadata"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:message terminate="yes">
-Error: The "info profiling" mechanism currently requires an XSLT
-engine that supports the evaluate() XSLT extension function. Your XSLT
-engine does not support it.
-</xsl:message>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/de.xml
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/de.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,669 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="de" english-language-name="German">
-
-<!-- * This file is generated automatically. -->
-<!-- * To submit changes to this file upstream (to the DocBook Project) -->
-<!-- * do not submit an edited version of this file. Instead, submit an -->
-<!-- * edited version of the source file at the following location: -->
-<!-- * -->
-<!-- *  https://svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/de.xml -->
-<!-- * -->
-<!-- * E-mail the edited de.xml source file to: -->
-<!-- * -->
-<!-- *  docbook-developers@lists.sourceforge.net -->
-
-<!-- ******************************************************************** -->
-
-<!-- This file is part of the XSL DocBook Stylesheet distribution. -->
-<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->
-<!-- copyright and other information. -->
-
-<!-- ******************************************************************** -->
-<!-- In these files, % with a letter is used for a placeholder: -->
-<!--   %t is the current element's title -->
-<!--   %s is the current element's subtitle (if applicable)-->
-<!--   %n is the current element's number label-->
-<!--   %p is the current element's page number (if applicable)-->
-<!-- ******************************************************************** -->
-
-
-<l:gentext key="Abstract" text="Zusammenfassung"/>
-<l:gentext key="abstract" text="Zusammenfassung"/>
-<l:gentext key="Answer" text="A:"/>
-<l:gentext key="answer" text="A:"/>
-<l:gentext key="Appendix" text="Anhang"/>
-<l:gentext key="appendix" text="Anhang"/>
-<l:gentext key="Article" text="Artikel"/>
-<l:gentext key="article" text="Artikel"/>
-<l:gentext key="Author" text="Autor"/>
-<l:gentext key="Bibliography" text="Literaturverzeichnis"/>
-<l:gentext key="bibliography" text="Literaturverzeichnis"/>
-<l:gentext key="Book" text="Buch"/>
-<l:gentext key="book" text="Buch"/>
-<l:gentext key="CAUTION" text="ACHTUNG"/>
-<l:gentext key="Caution" text="Achtung"/>
-<l:gentext key="caution" text="Achtung"/>
-<l:gentext key="Chapter" text="Kapitel"/>
-<l:gentext key="chapter" text="Kapitel"/>
-<l:gentext key="Colophon" text="Kolophon"/>
-<l:gentext key="colophon" text="Kolophon"/>
-<l:gentext key="Copyright" text="Copyright"/>
-<l:gentext key="copyright" text="Copyright"/>
-<l:gentext key="Dedication" text="Widmung"/>
-<l:gentext key="dedication" text="Widmung"/>
-<l:gentext key="Edition" text="Ausgabe"/>
-<l:gentext key="edition" text="Ausgabe"/>
-<l:gentext key="Editor" text="Editor" lang="en"/>
-<l:gentext key="Equation" text="Gleichung"/>
-<l:gentext key="equation" text="Gleichung"/>
-<l:gentext key="Example" text="Beispiel"/>
-<l:gentext key="example" text="Beispiel"/>
-<l:gentext key="Figure" text="Abbildung"/>
-<l:gentext key="figure" text="Abbildung"/>
-<l:gentext key="Glossary" text="Glossar"/>
-<l:gentext key="glossary" text="Glossar"/>
-<l:gentext key="GlossSee" text="Siehe"/>
-<l:gentext key="glosssee" text="Siehe"/>
-<l:gentext key="GlossSeeAlso" text="Siehe auch"/>
-<l:gentext key="glossseealso" text="Siehe auch"/>
-<l:gentext key="IMPORTANT" text="WICHTIG"/>
-<l:gentext key="important" text="Wichtig"/>
-<l:gentext key="Important" text="Wichtig"/>
-<l:gentext key="Index" text="Stichwortverzeichnis"/>
-<l:gentext key="index" text="Stichwortverzeichnis"/>
-<l:gentext key="ISBN" text="ISBN"/>
-<l:gentext key="isbn" text="ISBN"/>
-<l:gentext key="LegalNotice" text="Rechtlicher Hinweis"/>
-<l:gentext key="legalnotice" text="Rechtlicher Hinweis"/>
-<l:gentext key="MsgAud" text="Zielgruppe"/>
-<l:gentext key="msgaud" text="Zielgruppe"/>
-<l:gentext key="MsgLevel" text="Dringlichkeit"/>
-<l:gentext key="msglevel" text="Dringlichkeit"/>
-<l:gentext key="MsgOrig" text="Ursprung"/>
-<l:gentext key="msgorig" text="Ursprung"/>
-<l:gentext key="NOTE" text="ANMERKUNG"/>
-<l:gentext key="Note" text="Anmerkung"/>
-<l:gentext key="note" text="Anmerkung"/>
-<l:gentext key="Part" text="Teil"/>
-<l:gentext key="part" text="Teil"/>
-<l:gentext key="Preface" text="Vorwort"/>
-<l:gentext key="preface" text="Vorwort"/>
-<l:gentext key="Procedure" text="Prozedur"/>
-<l:gentext key="procedure" text="Prozedur"/>
-<l:gentext key="ProductionSet" text="Produktion"/>
-<l:gentext key="PubDate" text="VerÃ¶ffentlicht"/>
-<l:gentext key="pubdate" text="VerÃ¶ffentlicht"/>
-<l:gentext key="Published" text="VerÃ¶ffentlicht"/>
-<l:gentext key="published" text="VerÃ¶ffentlicht"/>
-<l:gentext key="Publisher" text="Publisher" lang="en"/>
-<l:gentext key="Qandadiv" text="F &amp; A"/>
-<l:gentext key="qandadiv" text="F &amp; A"/>
-<l:gentext key="QandASet" text="Frequently Asked Questions" lang="en"/>
-<l:gentext key="Question" text="F:"/>
-<l:gentext key="question" text="F:"/>
-<l:gentext key="RefEntry" text=""/>
-<l:gentext key="refentry" text=""/>
-<l:gentext key="Reference" text="Verweis"/>
-<l:gentext key="reference" text="Verweis"/>
-<l:gentext key="References" text="References" lang="en"/>
-<l:gentext key="RefName" text="Name"/>
-<l:gentext key="refname" text="Name"/>
-<l:gentext key="RefSection" text="Abschnitt"/>
-<l:gentext key="refsection" text="Abschnitt"/>
-<l:gentext key="RefSynopsisDiv" text="Synopsis"/>
-<l:gentext key="refsynopsisdiv" text="Synopsis"/>
-<l:gentext key="RevHistory" text="Versionsgeschichte"/>
-<l:gentext key="revhistory" text="Versionsgeschichte"/>
-<l:gentext key="revision" text="Version"/>
-<l:gentext key="Revision" text="Version"/>
-<l:gentext key="sect1" text="Abschnitt"/>
-<l:gentext key="sect2" text="Abschnitt"/>
-<l:gentext key="sect3" text="Abschnitt"/>
-<l:gentext key="sect4" text="Abschnitt"/>
-<l:gentext key="sect5" text="Abschnitt"/>
-<l:gentext key="section" text="Abschnitt"/>
-<l:gentext key="Section" text="Abschnitt"/>
-<l:gentext key="see" text="Siehe"/>
-<l:gentext key="See" text="Siehe"/>
-<l:gentext key="seealso" text="Siehe auch"/>
-<l:gentext key="Seealso" text="Siehe auch"/>
-<l:gentext key="SeeAlso" text="Siehe auch"/>
-<l:gentext key="set" text="Satz"/>
-<l:gentext key="Set" text="Satz"/>
-<l:gentext key="setindex" text="Stichwortverzeichnis"/>
-<l:gentext key="SetIndex" text="Stichwortverzeichnis"/>
-<l:gentext key="Sidebar" text="Randnotiz"/>
-<l:gentext key="sidebar" text="randnotiz"/>
-<l:gentext key="step" text="Schritt"/>
-<l:gentext key="Step" text="Schritt"/>
-<l:gentext key="table" text="Tabelle"/>
-<l:gentext key="Table" text="Tabelle"/>
-<l:gentext key="task" text="Task" lang="en"/>
-<l:gentext key="Task" text="Task" lang="en"/>
-<l:gentext key="tip" text="Tipp"/>
-<l:gentext key="TIP" text="TIPP"/>
-<l:gentext key="Tip" text="Tipp"/>
-<l:gentext key="Warning" text="Warnung"/>
-<l:gentext key="warning" text="Warnung"/>
-<l:gentext key="WARNING" text="WARNUNG"/>
-<l:gentext key="and" text="und"/>
-<l:gentext key="by" text="von"/>
-<l:gentext key="Edited" text="Herausgegeben"/>
-<l:gentext key="edited" text="Herausgegeben"/>
-<l:gentext key="Editedby" text="Herausgegeben von"/>
-<l:gentext key="editedby" text="Herausgegeben von"/>
-<l:gentext key="in" text="in"/>
-<l:gentext key="lastlistcomma" text=""/>
-<l:gentext key="listcomma" text=","/>
-<l:gentext key="nonexistantelement" text="nicht existierendes Element"/>
-<l:gentext key="notes" text="FuÃnoten"/>
-<l:gentext key="Notes" text="FuÃnoten"/>
-<l:gentext key="Pgs" text="Seiten"/>
-<l:gentext key="pgs" text="Seiten"/>
-<l:gentext key="Revisedby" text="GeÃ€ndert durch: "/>
-<l:gentext key="revisedby" text="GeÃ€ndert durch: "/>
-<l:gentext key="TableNotes" text="Bemerkungen"/>
-<l:gentext key="tablenotes" text="Bemerkungen"/>
-<l:gentext key="TableofContents" text="Inhaltsverzeichnis"/>
-<l:gentext key="tableofcontents" text="Inhaltsverzeichnis"/>
-<l:gentext key="unexpectedelementname" text="Unerwarteter Elementname"/>
-<l:gentext key="unsupported" text="wird nicht unterstÃŒtzt"/>
-<l:gentext key="xrefto" text="xref auf"/>
-<l:gentext key="Authors" text="Autoren"/>
-<l:gentext key="copyeditor" text="Copy Editor" lang="en"/>
-<l:gentext key="graphicdesigner" text="Graphic Designer" lang="en"/>
-<l:gentext key="productioneditor" text="Production Editor" lang="en"/>
-<l:gentext key="technicaleditor" text="Technical Editor" lang="en"/>
-<l:gentext key="translator" text="Translator" lang="en"/>
-<l:gentext key="listofequations" text="Gleichungen"/>
-<l:gentext key="ListofEquations" text="Gleichungen"/>
-<l:gentext key="ListofExamples" text="Beispiele"/>
-<l:gentext key="listofexamples" text="Beispiele"/>
-<l:gentext key="ListofFigures" text="Abbildungsverzeichnis"/>
-<l:gentext key="listoffigures" text="Abbildungsverzeichnis"/>
-<l:gentext key="ListofProcedures" text="List of Procedures" lang="en"/>
-<l:gentext key="listofprocedures" text="List of Procedures" lang="en"/>
-<l:gentext key="listoftables" text="Tabellenverzeichnis"/>
-<l:gentext key="ListofTables" text="Tabellenverzeichnis"/>
-<l:gentext key="ListofUnknown" text="???-Verzeichnis"/>
-<l:gentext key="listofunknown" text="???-Verzeichnis"/>
-<l:gentext key="nav-home" text="Zum Anfang"/>
-<l:gentext key="nav-next" text="Weiter"/>
-<l:gentext key="nav-next-sibling" text="Schnell weiter"/>
-<l:gentext key="nav-prev" text="ZurÃŒck"/>
-<l:gentext key="nav-prev-sibling" text="Schnell zurÃŒck"/>
-<l:gentext key="nav-up" text="Nach oben"/>
-<l:gentext key="nav-toc" text="InhV"/>
-<l:gentext key="Draft" text="Entwurf"/>
-<l:gentext key="above" text="oben"/>
-<l:gentext key="below" text="unten"/>
-<l:gentext key="sectioncalled" text="der Abschnitt namens"/>
-<l:gentext key="index symbols" text="Symbole"/>
-<l:gentext key="lowercase.alpha" text="abcdefghijklmnopqrstuvwxyzÃ€Ã¶ÃŒÃ"/>
-<l:gentext key="uppercase.alpha" text="ABCDEFGHIJKLMNOPQRSTUVWXYZÃÃÃÃ"/>
-<l:gentext key="normalize.sort.input" text="AaÃÃ ÃÃ¡ÃÃ¢ÃÃ£ÃÃ€Ã
-Ã¥ÄÄÄÄÄÄ
-ÇÇÇÇÇ Ç¡ÇºÇ»ÈÈÈÈÈŠÈ§ážážáºáº áº¡áº¢áº£áº€áº¥áºŠáº§áºšáº©áºªáº«áº¬áº­áº®áº¯áº°áº±áº²áº³áºŽáºµáº¶áº·BbÆÆÉÆÆážážážáž
-ážážCcÃÃ§ÄÄÄÄÄÄÄÄÆÆÉážážDdÄÄÄÄÆÉÆÆÇ
-Ç²È¡ÉážážážážážážážážážážEeÃÃšÃÃ©ÃÃªÃÃ«ÄÄÄÄÄÄÄÄÄÄÈÈ
-ÈÈÈšÈ©ážážážážážážážážážážáºžáº¹áººáº»áºŒáºœáºŸáº¿á»á»á»á»á»á»
-á»á»FfÆÆážážGgÄÄÄÄÄ Ä¡Ä¢Ä£ÆÉ Ç€Ç¥ÇŠÇ§ÇŽÇµáž áž¡HhÄ€Ä¥ÄŠÄ§ÈÈÉŠáž¢áž£áž€áž¥ážŠáž§ážšáž©ážªáž«áºIiÃÃ¬ÃÃ­ÃÃ®ÃÃ¯ÄšÄ©ÄªÄ«Ä¬Ä­Ä®Ä¯Ä°ÆÉšÇÇÈÈÈÈáž¬áž­áž®áž¯á»á»á»á»JjÄŽÄµÇ°ÊKkÄ¶Ä·ÆÆÇšÇ©áž°áž±áž²áž³ážŽážµLlÄ¹ÄºÄ»ÄŒÄœÄŸÄ¿ÅÅÅÆÇÈŽÉ«É¬É­áž¶áž·ážžáž¹ážºáž»ážŒážœMmÉ±ážŸáž¿á¹á¹á¹á¹NnÃÃ±ÅÅÅ
-ÅÅÅÆÉ²ÆÈ ÇÇžÇ¹ÈµÉ³á¹á¹
-á¹á¹á¹á¹á¹á¹OoÃÃ²ÃÃ³ÃÃŽÃÃµÃÃ¶ÃÃžÅÅÅÅÅÅÆÆ Æ¡ÇÇÇªÇ«Ç¬Ç­ÇŸÇ¿ÈÈÈÈÈªÈ«È¬È­È®È¯È°È±á¹á¹á¹á¹á¹á¹á¹á¹á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á» á»¡á»¢á»£PpÆ€Æ¥á¹á¹á¹á¹QqÊ RrÅÅÅÅÅÅÈÈÈÈÉŒÉœÉŸá¹á¹á¹á¹á¹á¹á¹á¹SsÅÅÅÅÅÅÅ Å¡ÈÈÊá¹ á¹¡á¹¢á¹£á¹€á¹¥á¹Šá¹§á¹šá¹©TtÅ¢Å£Å€Å¥ÅŠÅ§Æ«Æ¬Æ­Æ®ÊÈÈÈ¶á¹ªá¹«á¹¬á¹­á¹®á¹¯á¹°á¹±áºUuÃÃ¹ÃÃºÃÃ»ÃÃŒÅšÅ©ÅªÅ«Å¬Å­Å®Å¯Å°Å±Å²Å³Æ¯Æ°ÇÇÇÇÇÇÇÇÇÇÈÈÈÈá¹²á¹³á¹Žá¹µá¹¶á¹·á¹žá¹¹á¹ºá¹»á»€á»¥á»Šá»§á»šá»©á»ªá»«á»¬á»­á»®á»¯á»°á»±VvÆ²Êá¹Œá¹œá¹Ÿá¹¿WwÅŽÅµáºáºáºáºáºáº
-áºáºáºáºáºXxáºáºáºáºYyÃÃœÃ¿ÅžÅ¶Å·Æ³ÆŽÈ²È³áºáºáºá»²á»³á»Žá»µá»¶á»·á»žá»¹ZzÅ¹ÅºÅ»ÅŒÅœÅŸÆµÆ¶È€È¥ÊÊáºáºáºáºáºáºáº" lang="en"/>
-<l:gentext key="normalize.sort.output" text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ" lang="en"/>
-<l:dingbat key="startquote" text="â"/>
-<l:dingbat key="endquote" text="â"/>
-<l:dingbat key="nestedstartquote" text="â"/>
-<l:dingbat key="nestedendquote" text="â"/>
-<l:dingbat key="singlestartquote" text="â"/>
-<l:dingbat key="singleendquote" text="â"/>
-<l:dingbat key="bullet" text="â¢"/>
-<l:gentext key="hyphenation-character" text="-"/>
-<l:gentext key="hyphenation-push-character-count" text="2"/>
-<l:gentext key="hyphenation-remain-character-count" text="3"/>
-<l:context name="styles"><l:template name="person-name" text="first-last"/>
-</l:context>
-<l:context name="title"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="%t"/>
-<l:template name="appendix" text="Anhang %n. %t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="biblioentry" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliolist" text="%t" lang="en"/>
-<l:template name="bibliomixed" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="Kapitel %n. %t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="Gleichung %n. %t"/>
-<l:template name="example" text="Beispiel %n. %t"/>
-<l:template name="figure" text="Abbildung %n. %t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="glosslist" text="%t" lang="en"/>
-<l:template name="glossentry" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text=""/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="Teil %n. %t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="procedure.formal" text="Prozedur %n. %t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="productionset.formal" text="ProduktionÂ %n"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="%t"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="F: %n"/>
-<l:template name="refentry" text="%t"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsection" text="%t"/>
-<l:template name="refsect1" text="%t"/>
-<l:template name="refsect2" text="%t"/>
-<l:template name="refsect3" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="refsynopsisdivinfo" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="step" text="%t"/>
-<l:template name="table" text="Tabelle %n. %t"/>
-<l:template name="task" text="%t"/>
-<l:template name="tasksummary" text="%t" lang="en"/>
-<l:template name="taskprerequisites" text="%t" lang="en"/>
-<l:template name="taskrelated" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text="" lang="en"/>
-<l:template name="warning" text="%t"/>
-</l:context>
-<l:context name="title-unnumbered"><l:template name="appendix" text="%t"/>
-<l:template name="article/appendix" text="%t"/>
-<l:template name="bridgehead" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="sect1" text="%t"/>
-<l:template name="sect2" text="%t"/>
-<l:template name="sect3" text="%t"/>
-<l:template name="sect4" text="%t"/>
-<l:template name="sect5" text="%t"/>
-<l:template name="section" text="%t"/>
-<l:template name="simplesect" text="%t"/>
-<l:template name="part" text="%t" lang="en"/>
-</l:context>
-<l:context name="title-numbered"><l:template name="appendix" text="Anhang %n. %t"/>
-<l:template name="article/appendix" text="%n.Â %t"/>
-<l:template name="bridgehead" text="%n.Â %t"/>
-<l:template name="chapter" text="Kapitel %n. %t"/>
-<l:template name="part" text="TeilÂ %n.Â %t"/>
-<l:template name="sect1" text="%n. %t"/>
-<l:template name="sect2" text="%n. %t"/>
-<l:template name="sect3" text="%n. %t"/>
-<l:template name="sect4" text="%n. %t"/>
-<l:template name="sect5" text="%n. %t"/>
-<l:template name="section" text="%n. %t"/>
-<l:template name="simplesect" text="%n. %t"/>
-</l:context>
-<l:context name="subtitle"><l:template name="appendix" text="%s"/>
-<l:template name="article" text="%s"/>
-<l:template name="bibliodiv" text="%s"/>
-<l:template name="biblioentry" text="%s"/>
-<l:template name="bibliography" text="%s"/>
-<l:template name="bibliomixed" text="%s"/>
-<l:template name="bibliomset" text="%s"/>
-<l:template name="biblioset" text="%s"/>
-<l:template name="book" text="%s"/>
-<l:template name="chapter" text="%s"/>
-<l:template name="colophon" text="%s"/>
-<l:template name="dedication" text="%s"/>
-<l:template name="glossary" text="%s"/>
-<l:template name="glossdiv" text="%s"/>
-<l:template name="index" text="%s"/>
-<l:template name="indexdiv" text="%s"/>
-<l:template name="lot" text="%s"/>
-<l:template name="part" text="%s"/>
-<l:template name="partintro" text="%s"/>
-<l:template name="preface" text="%s"/>
-<l:template name="refentry" text="%s"/>
-<l:template name="reference" text="%s"/>
-<l:template name="refsection" text="%s"/>
-<l:template name="refsect1" text="%s"/>
-<l:template name="refsect2" text="%s"/>
-<l:template name="refsect3" text="%s"/>
-<l:template name="refsynopsisdiv" text="%s"/>
-<l:template name="sect1" text="%s"/>
-<l:template name="sect2" text="%s"/>
-<l:template name="sect3" text="%s"/>
-<l:template name="sect4" text="%s"/>
-<l:template name="sect5" text="%s"/>
-<l:template name="section" text="%s"/>
-<l:template name="set" text="%s"/>
-<l:template name="setindex" text="%s"/>
-<l:template name="sidebar" text="%s"/>
-<l:template name="simplesect" text="%s"/>
-<l:template name="toc" text="%s"/>
-</l:context>
-<l:context name="xref"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="A:Â %n"/>
-<l:template name="appendix" text="%t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="constraintdef" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="%t"/>
-<l:template name="example" text="%t"/>
-<l:template name="figure" text="%t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text="%n"/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="%t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="F:Â %n"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="F: %n"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="table" text="%t"/>
-<l:template name="task" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text="%n"/>
-<l:template name="warning" text="%t"/>
-<l:template name="olink.document.citation" text=" in %o" lang="en"/>
-<l:template name="olink.page.citation" text=" (page %p)" lang="en"/>
-<l:template name="page.citation" text=" [%p]"/>
-<l:template name="page" text="(Seite %p)"/>
-<l:template name="docname" text=" in %o" lang="en"/>
-<l:template name="docnamelong" text=" in the document titled %o" lang="en"/>
-<l:template name="pageabbrev" text="(S. %p)"/>
-<l:template name="Page" text="Seite %p"/>
-<l:template name="bridgehead" text="â%tâ"/>
-<l:template name="refsection" text="â%tâ"/>
-<l:template name="refsect1" text="â%tâ"/>
-<l:template name="refsect2" text="â%tâ"/>
-<l:template name="refsect3" text="â%tâ"/>
-<l:template name="sect1" text="â%tâ"/>
-<l:template name="sect2" text="â%tâ"/>
-<l:template name="sect3" text="â%tâ"/>
-<l:template name="sect4" text="â%tâ"/>
-<l:template name="sect5" text="â%tâ"/>
-<l:template name="section" text="â%tâ"/>
-<l:template name="simplesect" text="â%tâ"/>
-</l:context>
-<l:context name="xref-number"><l:template name="answer" text="A:Â %n"/>
-<l:template name="appendix" text="AnhangÂ %n"/>
-<l:template name="bridgehead" text="AbschnittÂ %n"/>
-<l:template name="chapter" text="KapitelÂ %n"/>
-<l:template name="equation" text="GleichungÂ %n"/>
-<l:template name="example" text="BeispielÂ %n"/>
-<l:template name="figure" text="AbbildungÂ %n"/>
-<l:template name="part" text="TeilÂ %n"/>
-<l:template name="procedure" text="ProzedurÂ %n"/>
-<l:template name="productionset" text="ProduktionÂ %n"/>
-<l:template name="qandadiv" text="F &amp; AÂ %n"/>
-<l:template name="qandaentry" text="F:Â %n"/>
-<l:template name="question" text="F:Â %n"/>
-<l:template name="sect1" text="AbschnittÂ %n"/>
-<l:template name="sect2" text="AbschnittÂ %n"/>
-<l:template name="sect3" text="AbschnittÂ %n"/>
-<l:template name="sect4" text="AbschnittÂ %n"/>
-<l:template name="sect5" text="AbschnittÂ %n"/>
-<l:template name="section" text="AbschnittÂ %n"/>
-<l:template name="table" text="TabelleÂ %n"/>
-</l:context>
-<l:context name="xref-number-and-title"><l:template name="appendix" text="AnhangÂ %n, %t"/>
-<l:template name="bridgehead" text="AbschnittÂ %n, â%tâ"/>
-<l:template name="chapter" text="KapitelÂ %n, %t"/>
-<l:template name="equation" text="GleichungÂ %n, â%tâ"/>
-<l:template name="example" text="BeispielÂ %n, â%tâ"/>
-<l:template name="figure" text="AbbildungÂ %n, â%tâ"/>
-<l:template name="part" text="TeilÂ %n, â%tâ"/>
-<l:template name="procedure" text="ProzedurÂ %n, â%tâ"/>
-<l:template name="productionset" text="ProduktionÂ %n, â%tâ"/>
-<l:template name="qandadiv" text="F &amp; AÂ %n, â%tâ"/>
-<l:template name="refsect1" text="der Abschnitt namens â%tâ"/>
-<l:template name="refsect2" text="der Abschnitt namens â%tâ"/>
-<l:template name="refsect3" text="der Abschnitt namens â%tâ"/>
-<l:template name="refsection" text="der Abschnitt namens â%tâ"/>
-<l:template name="sect1" text="AbschnittÂ %n, â%tâ"/>
-<l:template name="sect2" text="AbschnittÂ %n, â%tâ"/>
-<l:template name="sect3" text="AbschnittÂ %n, â%tâ"/>
-<l:template name="sect4" text="AbschnittÂ %n, â%tâ"/>
-<l:template name="sect5" text="AbschnittÂ %n, â%tâ"/>
-<l:template name="section" text="AbschnittÂ %n, â%tâ"/>
-<l:template name="simplesect" text="der Abschnitt namens â%tâ"/>
-<l:template name="table" text="TabelleÂ %n, â%tâ"/>
-</l:context>
-<l:context name="authorgroup"><l:template name="sep" text=", "/>
-<l:template name="sep2" text=" und "/>
-<l:template name="seplast" text=" und "/>
-</l:context>
-<l:context name="glossary"><l:template name="see" text="Siehe %t"/>
-<l:template name="seealso" text="Siehe auch %t"/>
-</l:context>
-<l:context name="msgset"><l:template name="MsgAud" text="Zielgruppe: "/>
-<l:template name="MsgLevel" text="Dringlichkeit: "/>
-<l:template name="MsgOrig" text="Ursprung: "/>
-</l:context>
-<l:context name="datetime"><l:template name="format" text="d.m.Y"/>
-</l:context>
-<l:context name="termdef"><l:template name="prefix" text="[Definition: " lang="en"/>
-<l:template name="suffix" text="]" lang="en"/>
-</l:context>
-<l:context name="datetime-full"><l:template name="January" text="Januar"/>
-<l:template name="February" text="Februar"/>
-<l:template name="March" text="MÃ€rz"/>
-<l:template name="April" text="April"/>
-<l:template name="May" text="Mai"/>
-<l:template name="June" text="Juni"/>
-<l:template name="July" text="Juli"/>
-<l:template name="August" text="August"/>
-<l:template name="September" text="September"/>
-<l:template name="October" text="Oktober"/>
-<l:template name="November" text="November"/>
-<l:template name="December" text="Dezember"/>
-<l:template name="Monday" text="Montag"/>
-<l:template name="Tuesday" text="Dienstag"/>
-<l:template name="Wednesday" text="Mittwoch"/>
-<l:template name="Thursday" text="Donnerstag"/>
-<l:template name="Friday" text="Freitag"/>
-<l:template name="Saturday" text="Samstag"/>
-<l:template name="Sunday" text="Sonntag"/>
-</l:context>
-<l:context name="datetime-abbrev"><l:template name="Jan" text="Jan"/>
-<l:template name="Feb" text="Feb"/>
-<l:template name="Mar" text="Mar"/>
-<l:template name="Apr" text="Apr"/>
-<l:template name="May" text="Mai"/>
-<l:template name="Jun" text="Jun"/>
-<l:template name="Jul" text="Jul"/>
-<l:template name="Aug" text="Aug"/>
-<l:template name="Sep" text="Sep"/>
-<l:template name="Oct" text="Okt"/>
-<l:template name="Nov" text="Nov"/>
-<l:template name="Dec" text="Dez"/>
-<l:template name="Mon" text="Mo"/>
-<l:template name="Tue" text="Di"/>
-<l:template name="Wed" text="Mi"/>
-<l:template name="Thu" text="Do"/>
-<l:template name="Fri" text="Fr"/>
-<l:template name="Sat" text="Sa"/>
-<l:template name="Sun" text="So"/>
-</l:context>
-<l:context name="htmlhelp"><l:template name="langcode" text="0x0407 German (GERMANY)"/>
-</l:context>
-<l:context name="index"><l:template name="term-separator" text=", " lang="en"/>
-<l:template name="number-separator" text=", " lang="en"/>
-<l:template name="range-separator" text="-" lang="en"/>
-</l:context>
-<l:context name="iso690"><l:template name="lastfirst.sep" text=", " lang="en"/>
-<l:template name="alt.person.two.sep" text=" â " lang="en"/>
-<l:template name="alt.person.last.sep" text=" â " lang="en"/>
-<l:template name="alt.person.more.sep" text=" â " lang="en"/>
-<l:template name="primary.editor" text=" (ed.)" lang="en"/>
-<l:template name="primary.many" text=", et al." lang="en"/>
-<l:template name="primary.sep" text=". " lang="en"/>
-<l:template name="submaintitle.sep" text=": " lang="en"/>
-<l:template name="title.sep" text=". " lang="en"/>
-<l:template name="othertitle.sep" text=", " lang="en"/>
-<l:template name="medium1" text=" [" lang="en"/>
-<l:template name="medium2" text="]" lang="en"/>
-<l:template name="secondary.person.sep" text="; " lang="en"/>
-<l:template name="secondary.sep" text=". " lang="en"/>
-<l:template name="respons.sep" text=". " lang="en"/>
-<l:template name="edition.sep" text=". " lang="en"/>
-<l:template name="edition.serial.sep" text=", " lang="en"/>
-<l:template name="issuing.range" text="-" lang="en"/>
-<l:template name="issuing.div" text=", " lang="en"/>
-<l:template name="issuing.sep" text=". " lang="en"/>
-<l:template name="partnr.sep" text=". " lang="en"/>
-<l:template name="placepubl.sep" text=": " lang="en"/>
-<l:template name="publyear.sep" text=", " lang="en"/>
-<l:template name="pubinfo.sep" text=". " lang="en"/>
-<l:template name="spec.pubinfo.sep" text=", " lang="en"/>
-<l:template name="upd.sep" text=", " lang="en"/>
-<l:template name="datecit1" text=" [cited " lang="en"/>
-<l:template name="datecit2" text="]" lang="en"/>
-<l:template name="extent.sep" text=". " lang="en"/>
-<l:template name="locs.sep" text=", " lang="en"/>
-<l:template name="location.sep" text=". " lang="en"/>
-<l:template name="serie.sep" text=". " lang="en"/>
-<l:template name="notice.sep" text=". " lang="en"/>
-<l:template name="access" text="Available " lang="en"/>
-<l:template name="acctoo" text="Also available " lang="en"/>
-<l:template name="onwww" text="from World Wide Web" lang="en"/>
-<l:template name="oninet" text="from Internet" lang="en"/>
-<l:template name="access.end" text=": " lang="en"/>
-<l:template name="link1" text="&lt;" lang="en"/>
-<l:template name="link2" text="&gt;" lang="en"/>
-<l:template name="access.sep" text=". " lang="en"/>
-<l:template name="isbn" text="ISBN " lang="en"/>
-<l:template name="issn" text="ISSN " lang="en"/>
-<l:template name="stdnum.sep" text=". " lang="en"/>
-<l:template name="patcountry.sep" text=". " lang="en"/>
-<l:template name="pattype.sep" text=", " lang="en"/>
-<l:template name="patnum.sep" text=". " lang="en"/>
-<l:template name="patdate.sep" text=". " lang="en"/>
-</l:context><l:letters><l:l i="-1"/>
-<l:l i="0">Symbole</l:l>
-<l:l i="1">A</l:l>
-<l:l i="1">a</l:l>
-<l:l i="1">Ã</l:l>
-<l:l i="1">Ã€</l:l>
-<l:l i="2">B</l:l>
-<l:l i="2">b</l:l>
-<l:l i="3">C</l:l>
-<l:l i="3">c</l:l>
-<l:l i="4">D</l:l>
-<l:l i="4">d</l:l>
-<l:l i="5">E</l:l>
-<l:l i="5">e</l:l>
-<l:l i="6">F</l:l>
-<l:l i="6">f</l:l>
-<l:l i="7">G</l:l>
-<l:l i="7">g</l:l>
-<l:l i="8">H</l:l>
-<l:l i="8">h</l:l>
-<l:l i="9">I</l:l>
-<l:l i="9">i</l:l>
-<l:l i="10">J</l:l>
-<l:l i="10">j</l:l>
-<l:l i="11">K</l:l>
-<l:l i="11">k</l:l>
-<l:l i="12">L</l:l>
-<l:l i="12">l</l:l>
-<l:l i="13">M</l:l>
-<l:l i="13">m</l:l>
-<l:l i="14">N</l:l>
-<l:l i="14">n</l:l>
-<l:l i="15">O</l:l>
-<l:l i="15">o</l:l>
-<l:l i="15">Ã</l:l>
-<l:l i="15">Ã¶</l:l>
-<l:l i="16">P</l:l>
-<l:l i="16">p</l:l>
-<l:l i="17">Q</l:l>
-<l:l i="17">q</l:l>
-<l:l i="18">R</l:l>
-<l:l i="18">r</l:l>
-<l:l i="19">S</l:l>
-<l:l i="19">s</l:l>
-<l:l i="20">T</l:l>
-<l:l i="20">t</l:l>
-<l:l i="21">U</l:l>
-<l:l i="21">u</l:l>
-<l:l i="21">Ã</l:l>
-<l:l i="21">ÃŒ</l:l>
-<l:l i="22">V</l:l>
-<l:l i="22">v</l:l>
-<l:l i="23">W</l:l>
-<l:l i="23">w</l:l>
-<l:l i="24">X</l:l>
-<l:l i="24">x</l:l>
-<l:l i="25">Y</l:l>
-<l:l i="25">y</l:l>
-<l:l i="26">Z</l:l>
-<l:l i="26">z</l:l>
-</l:letters>
-</l:l10n>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/en.xml
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/en.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1241 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="en" english-language-name="English">
-
-<!-- * This file is generated automatically. -->
-<!-- * To submit changes to this file upstream (to the DocBook Project) -->
-<!-- * do not submit an edited version of this file. Instead, submit an -->
-<!-- * edited version of the source file at the following location: -->
-<!-- * -->
-<!-- *  https://svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/en.xml -->
-<!-- * -->
-<!-- * E-mail the edited en.xml source file to: -->
-<!-- * -->
-<!-- *  docbook-developers@lists.sourceforge.net -->
-
-<!-- ******************************************************************** -->
-
-<!-- This file is part of the XSL DocBook Stylesheet distribution. -->
-<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->
-<!-- copyright and other information. -->
-
-<!-- ******************************************************************** -->
-<!-- In these files, % with a letter is used for a placeholder: -->
-<!--   %t is the current element's title -->
-<!--   %s is the current element's subtitle (if applicable)-->
-<!--   %n is the current element's number label-->
-<!--   %p is the current element's page number (if applicable)-->
-<!-- ******************************************************************** -->
-
-
-<l:gentext key="Abstract" text="Abstract"/>
-<l:gentext key="abstract" text="Abstract"/>
-<l:gentext key="Answer" text="A:"/>
-<l:gentext key="answer" text="A:"/>
-<l:gentext key="Appendix" text="Appendix"/>
-<l:gentext key="appendix" text="Appendix"/>
-<l:gentext key="Article" text="Article"/>
-<l:gentext key="article" text="Article"/>
-<l:gentext key="Author" text="Author"/>
-<l:gentext key="Bibliography" text="Bibliography"/>
-<l:gentext key="bibliography" text="Bibliography"/>
-<l:gentext key="Book" text="Book"/>
-<l:gentext key="book" text="Book"/>
-<l:gentext key="CAUTION" text="CAUTION"/>
-<l:gentext key="Caution" text="Caution"/>
-<l:gentext key="caution" text="Caution"/>
-<l:gentext key="Chapter" text="Chapter"/>
-<l:gentext key="chapter" text="Chapter"/>
-<l:gentext key="Colophon" text="Colophon"/>
-<l:gentext key="colophon" text="Colophon"/>
-<l:gentext key="Copyright" text="Copyright"/>
-<l:gentext key="copyright" text="Copyright"/>
-<l:gentext key="Dedication" text="Dedication"/>
-<l:gentext key="dedication" text="Dedication"/>
-<l:gentext key="Edition" text="Edition"/>
-<l:gentext key="edition" text="Edition"/>
-<l:gentext key="Editor" text="Editor"/>
-<l:gentext key="Equation" text="Equation"/>
-<l:gentext key="equation" text="Equation"/>
-<l:gentext key="Example" text="Example"/>
-<l:gentext key="example" text="Example"/>
-<l:gentext key="Figure" text="Figure"/>
-<l:gentext key="figure" text="Figure"/>
-<l:gentext key="Glossary" text="Glossary"/>
-<l:gentext key="glossary" text="Glossary"/>
-<l:gentext key="GlossSee" text="See"/>
-<l:gentext key="glosssee" text="See"/>
-<l:gentext key="GlossSeeAlso" text="See Also"/>
-<l:gentext key="glossseealso" text="See Also"/>
-<l:gentext key="IMPORTANT" text="IMPORTANT"/>
-<l:gentext key="important" text="Important"/>
-<l:gentext key="Important" text="Important"/>
-<l:gentext key="Index" text="Index"/>
-<l:gentext key="index" text="Index"/>
-<l:gentext key="ISBN" text="ISBN"/>
-<l:gentext key="isbn" text="ISBN"/>
-<l:gentext key="LegalNotice" text="Legal Notice"/>
-<l:gentext key="legalnotice" text="Legal Notice"/>
-<l:gentext key="MsgAud" text="Audience"/>
-<l:gentext key="msgaud" text="Audience"/>
-<l:gentext key="MsgLevel" text="Level"/>
-<l:gentext key="msglevel" text="Level"/>
-<l:gentext key="MsgOrig" text="Origin"/>
-<l:gentext key="msgorig" text="Origin"/>
-<l:gentext key="NOTE" text="NOTE"/>
-<l:gentext key="Note" text="Note"/>
-<l:gentext key="note" text="Note"/>
-<l:gentext key="Part" text="Part"/>
-<l:gentext key="part" text="Part"/>
-<l:gentext key="Preface" text="Preface"/>
-<l:gentext key="preface" text="Preface"/>
-<l:gentext key="Procedure" text="Procedure"/>
-<l:gentext key="procedure" text="Procedure"/>
-<l:gentext key="ProductionSet" text="Production"/>
-<l:gentext key="PubDate" text="Publication Date"/>
-<l:gentext key="pubdate" text="Publication date"/>
-<l:gentext key="Published" text="Published"/>
-<l:gentext key="published" text="Published"/>
-<l:gentext key="Publisher" text="Publisher"/>
-<l:gentext key="Qandadiv" text="Q &amp; A"/>
-<l:gentext key="qandadiv" text="Q &amp; A"/>
-<l:gentext key="QandASet" text="Frequently Asked Questions"/>
-<l:gentext key="Question" text="Q:"/>
-<l:gentext key="question" text="Q:"/>
-<l:gentext key="RefEntry" text=""/>
-<l:gentext key="refentry" text=""/>
-<l:gentext key="Reference" text="Reference"/>
-<l:gentext key="reference" text="Reference"/>
-<l:gentext key="References" text="References"/>
-<l:gentext key="RefName" text="Name"/>
-<l:gentext key="refname" text="Name"/>
-<l:gentext key="RefSection" text=""/>
-<l:gentext key="refsection" text=""/>
-<l:gentext key="RefSynopsisDiv" text="Synopsis"/>
-<l:gentext key="refsynopsisdiv" text="Synopsis"/>
-<l:gentext key="RevHistory" text="Revision History"/>
-<l:gentext key="revhistory" text="Revision History"/>
-<l:gentext key="revision" text="Revision"/>
-<l:gentext key="Revision" text="Revision"/>
-<l:gentext key="sect1" text="Section"/>
-<l:gentext key="sect2" text="Section"/>
-<l:gentext key="sect3" text="Section"/>
-<l:gentext key="sect4" text="Section"/>
-<l:gentext key="sect5" text="Section"/>
-<l:gentext key="section" text="Section"/>
-<l:gentext key="Section" text="Section"/>
-<l:gentext key="see" text="see"/>
-<l:gentext key="See" text="See"/>
-<l:gentext key="seealso" text="see also"/>
-<l:gentext key="Seealso" text="See also"/>
-<l:gentext key="SeeAlso" text="See Also"/>
-<l:gentext key="set" text="Set"/>
-<l:gentext key="Set" text="Set"/>
-<l:gentext key="setindex" text="Set Index"/>
-<l:gentext key="SetIndex" text="Set Index"/>
-<l:gentext key="Sidebar" text=""/>
-<l:gentext key="sidebar" text="sidebar"/>
-<l:gentext key="step" text="step"/>
-<l:gentext key="Step" text="Step"/>
-<l:gentext key="table" text="Table"/>
-<l:gentext key="Table" text="Table"/>
-<l:gentext key="task" text="Task"/>
-<l:gentext key="Task" text="Task"/>
-<l:gentext key="tip" text="Tip"/>
-<l:gentext key="TIP" text="TIP"/>
-<l:gentext key="Tip" text="Tip"/>
-<l:gentext key="Warning" text="Warning"/>
-<l:gentext key="warning" text="Warning"/>
-<l:gentext key="WARNING" text="WARNING"/>
-<l:gentext key="and" text="and"/>
-<l:gentext key="by" text="by"/>
-<l:gentext key="Edited" text="Edited"/>
-<l:gentext key="edited" text="Edited"/>
-<l:gentext key="Editedby" text="Edited by"/>
-<l:gentext key="editedby" text="Edited by"/>
-<l:gentext key="in" text="in"/>
-<l:gentext key="lastlistcomma" text=","/>
-<l:gentext key="listcomma" text=","/>
-<l:gentext key="nonexistantelement" text="non-existant element"/>
-<l:gentext key="notes" text="Notes"/>
-<l:gentext key="Notes" text="Notes"/>
-<l:gentext key="Pgs" text="Pgs."/>
-<l:gentext key="pgs" text="Pgs."/>
-<l:gentext key="Revisedby" text="Revised by: "/>
-<l:gentext key="revisedby" text="Revised by: "/>
-<l:gentext key="TableNotes" text="Notes"/>
-<l:gentext key="tablenotes" text="Notes"/>
-<l:gentext key="TableofContents" text="Table of Contents"/>
-<l:gentext key="tableofcontents" text="Table of Contents"/>
-<l:gentext key="unexpectedelementname" text="Unexpected element name"/>
-<l:gentext key="unsupported" text="unsupported"/>
-<l:gentext key="xrefto" text="xref to"/>
-<l:gentext key="Authors" text="Authors"/>
-<l:gentext key="copyeditor" text="Copy Editor"/>
-<l:gentext key="graphicdesigner" text="Graphic Designer"/>
-<l:gentext key="productioneditor" text="Production Editor"/>
-<l:gentext key="technicaleditor" text="Technical Editor"/>
-<l:gentext key="translator" text="Translator"/>
-<l:gentext key="listofequations" text="List of Equations"/>
-<l:gentext key="ListofEquations" text="List of Equations"/>
-<l:gentext key="ListofExamples" text="List of Examples"/>
-<l:gentext key="listofexamples" text="List of Examples"/>
-<l:gentext key="ListofFigures" text="List of Figures"/>
-<l:gentext key="listoffigures" text="List of Figures"/>
-<l:gentext key="ListofProcedures" text="List of Procedures"/>
-<l:gentext key="listofprocedures" text="List of Procedures"/>
-<l:gentext key="listoftables" text="List of Tables"/>
-<l:gentext key="ListofTables" text="List of Tables"/>
-<l:gentext key="ListofUnknown" text="List of Unknown"/>
-<l:gentext key="listofunknown" text="List of Unknown"/>
-<l:gentext key="nav-home" text="Home"/>
-<l:gentext key="nav-next" text="Next"/>
-<l:gentext key="nav-next-sibling" text="Fast Forward"/>
-<l:gentext key="nav-prev" text="Prev"/>
-<l:gentext key="nav-prev-sibling" text="Fast Backward"/>
-<l:gentext key="nav-up" text="Up"/>
-<l:gentext key="nav-toc" text="ToC"/>
-<l:gentext key="Draft" text="Draft"/>
-<l:gentext key="above" text="above"/>
-<l:gentext key="below" text="below"/>
-<l:gentext key="sectioncalled" text="the section called"/>
-<l:gentext key="index symbols" text="Symbols"/>
-<l:gentext key="lowercase.alpha" text="abcdefghijklmnopqrstuvwxyz"/>
-<l:gentext key="uppercase.alpha" text="ABCDEFGHIJKLMNOPQRSTUVWXYZ"/>
-<l:gentext key="normalize.sort.input" text="AaÃÃ ÃÃ¡ÃÃ¢ÃÃ£ÃÃ€Ã
-Ã¥ÄÄÄÄÄÄ
-ÇÇÇÇÇ Ç¡ÇºÇ»ÈÈÈÈÈŠÈ§ážážáºáº áº¡áº¢áº£áº€áº¥áºŠáº§áºšáº©áºªáº«áº¬áº­áº®áº¯áº°áº±áº²áº³áºŽáºµáº¶áº·BbÆÆÉÆÆážážážáž
-ážážCcÃÃ§ÄÄÄÄÄÄÄÄÆÆÉážážDdÄÄÄÄÆÉÆÆÇ
-Ç²È¡ÉážážážážážážážážážážEeÃÃšÃÃ©ÃÃªÃÃ«ÄÄÄÄÄÄÄÄÄÄÈÈ
-ÈÈÈšÈ©ážážážážážážážážážážáºžáº¹áººáº»áºŒáºœáºŸáº¿á»á»á»á»á»á»
-á»á»FfÆÆážážGgÄÄÄÄÄ Ä¡Ä¢Ä£ÆÉ Ç€Ç¥ÇŠÇ§ÇŽÇµáž áž¡HhÄ€Ä¥ÄŠÄ§ÈÈÉŠáž¢áž£áž€áž¥ážŠáž§ážšáž©ážªáž«áºIiÃÃ¬ÃÃ­ÃÃ®ÃÃ¯ÄšÄ©ÄªÄ«Ä¬Ä­Ä®Ä¯Ä°ÆÉšÇÇÈÈÈÈáž¬áž­áž®áž¯á»á»á»á»JjÄŽÄµÇ°ÊKkÄ¶Ä·ÆÆÇšÇ©áž°áž±áž²áž³ážŽážµLlÄ¹ÄºÄ»ÄŒÄœÄŸÄ¿ÅÅÅÆÇÈŽÉ«É¬É­áž¶áž·ážžáž¹ážºáž»ážŒážœMmÉ±ážŸáž¿á¹á¹á¹á¹NnÃÃ±ÅÅÅ
-ÅÅÅÆÉ²ÆÈ ÇÇžÇ¹ÈµÉ³á¹á¹
-á¹á¹á¹á¹á¹á¹OoÃÃ²ÃÃ³ÃÃŽÃÃµÃÃ¶ÃÃžÅÅÅÅÅÅÆÆ Æ¡ÇÇÇªÇ«Ç¬Ç­ÇŸÇ¿ÈÈÈÈÈªÈ«È¬È­È®È¯È°È±á¹á¹á¹á¹á¹á¹á¹á¹á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á» á»¡á»¢á»£PpÆ€Æ¥á¹á¹á¹á¹QqÊ RrÅÅÅÅÅÅÈÈÈÈÉŒÉœÉŸá¹á¹á¹á¹á¹á¹á¹á¹SsÅÅÅÅÅÅÅ Å¡ÈÈÊá¹ á¹¡á¹¢á¹£á¹€á¹¥á¹Šá¹§á¹šá¹©TtÅ¢Å£Å€Å¥ÅŠÅ§Æ«Æ¬Æ­Æ®ÊÈÈÈ¶á¹ªá¹«á¹¬á¹­á¹®á¹¯á¹°á¹±áºUuÃÃ¹ÃÃºÃÃ»ÃÃŒÅšÅ©ÅªÅ«Å¬Å­Å®Å¯Å°Å±Å²Å³Æ¯Æ°ÇÇÇÇÇÇÇÇÇÇÈÈÈÈá¹²á¹³á¹Žá¹µá¹¶á¹·á¹žá¹¹á¹ºá¹»á»€á»¥á»Šá»§á»šá»©á»ªá»«á»¬á»­á»®á»¯á»°á»±VvÆ²Êá¹Œá¹œá¹Ÿá¹¿WwÅŽÅµáºáºáºáºáºáº
-áºáºáºáºáºXxáºáºáºáºYyÃÃœÃ¿ÅžÅ¶Å·Æ³ÆŽÈ²È³áºáºáºá»²á»³á»Žá»µá»¶á»·á»žá»¹ZzÅ¹ÅºÅ»ÅŒÅœÅŸÆµÆ¶È€È¥ÊÊáºáºáºáºáºáºáº"/>
-<l:gentext key="normalize.sort.output" text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ"/>
-<l:dingbat key="startquote" text="â"/>
-<l:dingbat key="endquote" text="â"/>
-<l:dingbat key="nestedstartquote" text="â"/>
-<l:dingbat key="nestedendquote" text="â"/>
-<l:dingbat key="singlestartquote" text="â"/>
-<l:dingbat key="singleendquote" text="â"/>
-<l:dingbat key="bullet" text="â¢"/>
-<l:gentext key="hyphenation-character" text="-"/>
-<l:gentext key="hyphenation-push-character-count" text="2"/>
-<l:gentext key="hyphenation-remain-character-count" text="2"/>
-<l:context name="styles"><l:template name="person-name" text="first-last"/>
-</l:context>
-<l:context name="title"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="%t"/>
-<l:template name="appendix" text="AppendixÂ %n.Â %t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="biblioentry" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliolist" text="%t"/>
-<l:template name="bibliomixed" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="ChapterÂ %n.Â %t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="EquationÂ %n.Â %t"/>
-<l:template name="example" text="ExampleÂ %n.Â %t"/>
-<l:template name="figure" text="FigureÂ %n.Â %t"/>
-<l:template name="foil" text="%t"/>
-<l:template name="foilgroup" text="%t"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="glosslist" text="%t"/>
-<l:template name="glossentry" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text=""/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="PartÂ %n.Â %t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="procedure.formal" text="ProcedureÂ %n.Â %t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="productionset.formal" text="ProductionÂ %n"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="%t"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="%t"/>
-<l:template name="refentry" text="%t"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsection" text="%t"/>
-<l:template name="refsect1" text="%t"/>
-<l:template name="refsect2" text="%t"/>
-<l:template name="refsect3" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="refsynopsisdivinfo" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="step" text="%t"/>
-<l:template name="table" text="TableÂ %n.Â %t"/>
-<l:template name="task" text="%t"/>
-<l:template name="tasksummary" text="%t"/>
-<l:template name="taskprerequisites" text="%t"/>
-<l:template name="taskrelated" text="%t"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text=""/>
-<l:template name="warning" text="%t"/>
-</l:context>
-<l:context name="title-unnumbered"><l:template name="appendix" text="%t"/>
-<l:template name="article/appendix" text="%t"/>
-<l:template name="bridgehead" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="sect1" text="%t"/>
-<l:template name="sect2" text="%t"/>
-<l:template name="sect3" text="%t"/>
-<l:template name="sect4" text="%t"/>
-<l:template name="sect5" text="%t"/>
-<l:template name="section" text="%t"/>
-<l:template name="simplesect" text="%t"/>
-<l:template name="part" text="%t"/>
-</l:context>
-<l:context name="title-numbered"><l:template name="appendix" text="AppendixÂ %n.Â %t"/>
-<l:template name="article/appendix" text="%n.Â %t"/>
-<l:template name="bridgehead" text="%n.Â %t"/>
-<l:template name="chapter" text="ChapterÂ %n.Â %t"/>
-<l:template name="part" text="PartÂ %n.Â %t"/>
-<l:template name="sect1" text="%n.Â %t"/>
-<l:template name="sect2" text="%n.Â %t"/>
-<l:template name="sect3" text="%n.Â %t"/>
-<l:template name="sect4" text="%n.Â %t"/>
-<l:template name="sect5" text="%n.Â %t"/>
-<l:template name="section" text="%n.Â %t"/>
-<l:template name="simplesect" text="%t"/>
-</l:context>
-<l:context name="subtitle"><l:template name="appendix" text="%s"/>
-<l:template name="article" text="%s"/>
-<l:template name="bibliodiv" text="%s"/>
-<l:template name="biblioentry" text="%s"/>
-<l:template name="bibliography" text="%s"/>
-<l:template name="bibliomixed" text="%s"/>
-<l:template name="bibliomset" text="%s"/>
-<l:template name="biblioset" text="%s"/>
-<l:template name="book" text="%s"/>
-<l:template name="chapter" text="%s"/>
-<l:template name="colophon" text="%s"/>
-<l:template name="dedication" text="%s"/>
-<l:template name="glossary" text="%s"/>
-<l:template name="glossdiv" text="%s"/>
-<l:template name="index" text="%s"/>
-<l:template name="indexdiv" text="%s"/>
-<l:template name="lot" text="%s"/>
-<l:template name="part" text="%s"/>
-<l:template name="partintro" text="%s"/>
-<l:template name="preface" text="%s"/>
-<l:template name="refentry" text="%s"/>
-<l:template name="reference" text="%s"/>
-<l:template name="refsection" text="%s"/>
-<l:template name="refsect1" text="%s"/>
-<l:template name="refsect2" text="%s"/>
-<l:template name="refsect3" text="%s"/>
-<l:template name="refsynopsisdiv" text="%s"/>
-<l:template name="sect1" text="%s"/>
-<l:template name="sect2" text="%s"/>
-<l:template name="sect3" text="%s"/>
-<l:template name="sect4" text="%s"/>
-<l:template name="sect5" text="%s"/>
-<l:template name="section" text="%s"/>
-<l:template name="set" text="%s"/>
-<l:template name="setindex" text="%s"/>
-<l:template name="sidebar" text="%s"/>
-<l:template name="simplesect" text="%s"/>
-<l:template name="toc" text="%s"/>
-</l:context>
-<l:context name="xref"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="A:Â %n"/>
-<l:template name="appendix" text="%t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="constraintdef" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="%t"/>
-<l:template name="example" text="%t"/>
-<l:template name="figure" text="%t"/>
-<l:template name="foil" text="%t"/>
-<l:template name="foilgroup" text="%t"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text="%n"/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="%t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="Q:Â %n"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="Q:Â %n"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="table" text="%t"/>
-<l:template name="task" text="%t"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text="%n"/>
-<l:template name="warning" text="%t"/>
-<l:template name="olink.document.citation" text=" in %o"/>
-<l:template name="olink.page.citation" text=" (page %p)"/>
-<l:template name="page.citation" text=" [%p]"/>
-<l:template name="page" text="(page %p)"/>
-<l:template name="docname" text=" in %o"/>
-<l:template name="docnamelong" text=" in the document titled %o"/>
-<l:template name="pageabbrev" text="(p. %p)"/>
-<l:template name="Page" text="Page %p"/>
-<l:template name="bridgehead" text="the section called â%tâ"/>
-<l:template name="refsection" text="the section called â%tâ"/>
-<l:template name="refsect1" text="the section called â%tâ"/>
-<l:template name="refsect2" text="the section called â%tâ"/>
-<l:template name="refsect3" text="the section called â%tâ"/>
-<l:template name="sect1" text="the section called â%tâ"/>
-<l:template name="sect2" text="the section called â%tâ"/>
-<l:template name="sect3" text="the section called â%tâ"/>
-<l:template name="sect4" text="the section called â%tâ"/>
-<l:template name="sect5" text="the section called â%tâ"/>
-<l:template name="section" text="the section called â%tâ"/>
-<l:template name="simplesect" text="the section called â%tâ"/>
-</l:context>
-<l:context name="xref-number"><l:template name="answer" text="A:Â %n"/>
-<l:template name="appendix" text="AppendixÂ %n"/>
-<l:template name="bridgehead" text="SectionÂ %n"/>
-<l:template name="chapter" text="ChapterÂ %n"/>
-<l:template name="equation" text="EquationÂ %n"/>
-<l:template name="example" text="ExampleÂ %n"/>
-<l:template name="figure" text="FigureÂ %n"/>
-<l:template name="part" text="PartÂ %n"/>
-<l:template name="procedure" text="ProcedureÂ %n"/>
-<l:template name="productionset" text="ProductionÂ %n"/>
-<l:template name="qandadiv" text="Q &amp; AÂ %n"/>
-<l:template name="qandaentry" text="Q:Â %n"/>
-<l:template name="question" text="Q:Â %n"/>
-<l:template name="sect1" text="SectionÂ %n"/>
-<l:template name="sect2" text="SectionÂ %n"/>
-<l:template name="sect3" text="SectionÂ %n"/>
-<l:template name="sect4" text="SectionÂ %n"/>
-<l:template name="sect5" text="SectionÂ %n"/>
-<l:template name="section" text="SectionÂ %n"/>
-<l:template name="table" text="TableÂ %n"/>
-</l:context>
-<l:context name="xref-number-and-title"><l:template name="appendix" text="AppendixÂ %n, %t"/>
-<l:template name="bridgehead" text="SectionÂ %n, â%tâ"/>
-<l:template name="chapter" text="ChapterÂ %n, %t"/>
-<l:template name="equation" text="EquationÂ %n, â%tâ"/>
-<l:template name="example" text="ExampleÂ %n, â%tâ"/>
-<l:template name="figure" text="FigureÂ %n, â%tâ"/>
-<l:template name="part" text="PartÂ %n, â%tâ"/>
-<l:template name="procedure" text="ProcedureÂ %n, â%tâ"/>
-<l:template name="productionset" text="ProductionÂ %n, â%tâ"/>
-<l:template name="qandadiv" text="Q &amp; AÂ %n, â%tâ"/>
-<l:template name="refsect1" text="the section called â%tâ"/>
-<l:template name="refsect2" text="the section called â%tâ"/>
-<l:template name="refsect3" text="the section called â%tâ"/>
-<l:template name="refsection" text="the section called â%tâ"/>
-<l:template name="sect1" text="SectionÂ %n, â%tâ"/>
-<l:template name="sect2" text="SectionÂ %n, â%tâ"/>
-<l:template name="sect3" text="SectionÂ %n, â%tâ"/>
-<l:template name="sect4" text="SectionÂ %n, â%tâ"/>
-<l:template name="sect5" text="SectionÂ %n, â%tâ"/>
-<l:template name="section" text="SectionÂ %n, â%tâ"/>
-<l:template name="simplesect" text="the section called â%tâ"/>
-<l:template name="table" text="TableÂ %n, â%tâ"/>
-</l:context>
-<l:context name="authorgroup"><l:template name="sep" text=", "/>
-<l:template name="sep2" text=" and "/>
-<l:template name="seplast" text=", and "/>
-</l:context>
-<l:context name="glossary"><l:template name="see" text="See %t"/>
-<l:template name="seealso" text="See Also %t"/>
-</l:context>
-<l:context name="msgset"><l:template name="MsgAud" text="Audience: "/>
-<l:template name="MsgLevel" text="Level: "/>
-<l:template name="MsgOrig" text="Origin: "/>
-</l:context>
-<l:context name="datetime"><l:template name="format" text="m/d/Y"/>
-</l:context>
-<l:context name="termdef"><l:template name="prefix" text="[Definition: "/>
-<l:template name="suffix" text="]"/>
-</l:context>
-<l:context name="datetime-full"><l:template name="January" text="January"/>
-<l:template name="February" text="February"/>
-<l:template name="March" text="March"/>
-<l:template name="April" text="April"/>
-<l:template name="May" text="May"/>
-<l:template name="June" text="June"/>
-<l:template name="July" text="July"/>
-<l:template name="August" text="August"/>
-<l:template name="September" text="September"/>
-<l:template name="October" text="October"/>
-<l:template name="November" text="November"/>
-<l:template name="December" text="December"/>
-<l:template name="Monday" text="Monday"/>
-<l:template name="Tuesday" text="Tuesday"/>
-<l:template name="Wednesday" text="Wednesday"/>
-<l:template name="Thursday" text="Thursday"/>
-<l:template name="Friday" text="Friday"/>
-<l:template name="Saturday" text="Saturday"/>
-<l:template name="Sunday" text="Sunday"/>
-</l:context>
-<l:context name="datetime-abbrev"><l:template name="Jan" text="Jan"/>
-<l:template name="Feb" text="Feb"/>
-<l:template name="Mar" text="Mar"/>
-<l:template name="Apr" text="Apr"/>
-<l:template name="May" text="May"/>
-<l:template name="Jun" text="Jun"/>
-<l:template name="Jul" text="Jul"/>
-<l:template name="Aug" text="Aug"/>
-<l:template name="Sep" text="Sep"/>
-<l:template name="Oct" text="Oct"/>
-<l:template name="Nov" text="Nov"/>
-<l:template name="Dec" text="Dec"/>
-<l:template name="Mon" text="Mon"/>
-<l:template name="Tue" text="Tue"/>
-<l:template name="Wed" text="Wed"/>
-<l:template name="Thu" text="Thu"/>
-<l:template name="Fri" text="Fri"/>
-<l:template name="Sat" text="Sat"/>
-<l:template name="Sun" text="Sun"/>
-</l:context>
-<l:context name="htmlhelp"><l:template name="langcode" text="0x0409 English (UNITED STATES)"/>
-</l:context>
-<l:context name="index"><l:template name="term-separator" text=", "/>
-<l:template name="number-separator" text=", "/>
-<l:template name="range-separator" text="-"/>
-</l:context>
-<l:context name="iso690"><l:template name="lastfirst.sep" text=", "/>
-<l:template name="alt.person.two.sep" text=" â "/>
-<l:template name="alt.person.last.sep" text=" â "/>
-<l:template name="alt.person.more.sep" text=" â "/>
-<l:template name="primary.editor" text=" (ed.)"/>
-<l:template name="primary.many" text=", et al."/>
-<l:template name="primary.sep" text=". "/>
-<l:template name="submaintitle.sep" text=": "/>
-<l:template name="title.sep" text=". "/>
-<l:template name="othertitle.sep" text=", "/>
-<l:template name="medium1" text=" ["/>
-<l:template name="medium2" text="]"/>
-<l:template name="secondary.person.sep" text="; "/>
-<l:template name="secondary.sep" text=". "/>
-<l:template name="respons.sep" text=". "/>
-<l:template name="edition.sep" text=". "/>
-<l:template name="edition.serial.sep" text=", "/>
-<l:template name="issuing.range" text="-"/>
-<l:template name="issuing.div" text=", "/>
-<l:template name="issuing.sep" text=". "/>
-<l:template name="partnr.sep" text=". "/>
-<l:template name="placepubl.sep" text=": "/>
-<l:template name="publyear.sep" text=", "/>
-<l:template name="pubinfo.sep" text=". "/>
-<l:template name="spec.pubinfo.sep" text=", "/>
-<l:template name="upd.sep" text=", "/>
-<l:template name="datecit1" text=" [cited "/>
-<l:template name="datecit2" text="]"/>
-<l:template name="extent.sep" text=". "/>
-<l:template name="locs.sep" text=", "/>
-<l:template name="location.sep" text=". "/>
-<l:template name="serie.sep" text=". "/>
-<l:template name="notice.sep" text=". "/>
-<l:template name="access" text="Available "/>
-<l:template name="acctoo" text="Also available "/>
-<l:template name="onwww" text="from World Wide Web"/>
-<l:template name="oninet" text="from Internet"/>
-<l:template name="access.end" text=": "/>
-<l:template name="link1" text="&lt;"/>
-<l:template name="link2" text="&gt;"/>
-<l:template name="access.sep" text=". "/>
-<l:template name="isbn" text="ISBN "/>
-<l:template name="issn" text="ISSN "/>
-<l:template name="stdnum.sep" text=". "/>
-<l:template name="patcountry.sep" text=". "/>
-<l:template name="pattype.sep" text=", "/>
-<l:template name="patnum.sep" text=". "/>
-<l:template name="patdate.sep" text=". "/>
-</l:context><l:letters><l:l i="-1"/>
-<l:l i="0">Symbols</l:l>
-<l:l i="10">A</l:l>
-<l:l i="10">a</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã </l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã¡</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã¢</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã£</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã€</l:l>
-<l:l i="10">Ã
-</l:l>
-<l:l i="10">Ã¥</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä
-</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç </l:l>
-<l:l i="10">Ç¡</l:l>
-<l:l i="10">Çº</l:l>
-<l:l i="10">Ç»</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">ÈŠ</l:l>
-<l:l i="10">È§</l:l>
-<l:l i="10">áž</l:l>
-<l:l i="10">áž</l:l>
-<l:l i="10">áº</l:l>
-<l:l i="10">áº </l:l>
-<l:l i="10">áº¡</l:l>
-<l:l i="10">áº¢</l:l>
-<l:l i="10">áº£</l:l>
-<l:l i="10">áº€</l:l>
-<l:l i="10">áº¥</l:l>
-<l:l i="10">áºŠ</l:l>
-<l:l i="10">áº§</l:l>
-<l:l i="10">áºš</l:l>
-<l:l i="10">áº©</l:l>
-<l:l i="10">áºª</l:l>
-<l:l i="10">áº«</l:l>
-<l:l i="10">áº¬</l:l>
-<l:l i="10">áº­</l:l>
-<l:l i="10">áº®</l:l>
-<l:l i="10">áº¯</l:l>
-<l:l i="10">áº°</l:l>
-<l:l i="10">áº±</l:l>
-<l:l i="10">áº²</l:l>
-<l:l i="10">áº³</l:l>
-<l:l i="10">áºŽ</l:l>
-<l:l i="10">áºµ</l:l>
-<l:l i="10">áº¶</l:l>
-<l:l i="10">áº·</l:l>
-<l:l i="20">B</l:l>
-<l:l i="20">b</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">É</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž
-</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="30">C</l:l>
-<l:l i="30">c</l:l>
-<l:l i="30">Ã</l:l>
-<l:l i="30">Ã§</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Æ</l:l>
-<l:l i="30">Æ</l:l>
-<l:l i="30">É</l:l>
-<l:l i="30">áž</l:l>
-<l:l i="30">áž</l:l>
-<l:l i="40">D</l:l>
-<l:l i="40">d</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Æ</l:l>
-<l:l i="40">É</l:l>
-<l:l i="40">Æ</l:l>
-<l:l i="40">Æ</l:l>
-<l:l i="40">Ç
-</l:l>
-<l:l i="40">Ç²</l:l>
-<l:l i="40">È¡</l:l>
-<l:l i="40">É</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="50">E</l:l>
-<l:l i="50">e</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ãš</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ã©</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ãª</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ã«</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">È</l:l>
-<l:l i="50">È
-</l:l>
-<l:l i="50">È</l:l>
-<l:l i="50">È</l:l>
-<l:l i="50">Èš</l:l>
-<l:l i="50">È©</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áºž</l:l>
-<l:l i="50">áº¹</l:l>
-<l:l i="50">áºº</l:l>
-<l:l i="50">áº»</l:l>
-<l:l i="50">áºŒ</l:l>
-<l:l i="50">áºœ</l:l>
-<l:l i="50">áºŸ</l:l>
-<l:l i="50">áº¿</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»
-</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="60">F</l:l>
-<l:l i="60">f</l:l>
-<l:l i="60">Æ</l:l>
-<l:l i="60">Æ</l:l>
-<l:l i="60">áž</l:l>
-<l:l i="60">áž</l:l>
-<l:l i="70">G</l:l>
-<l:l i="70">g</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä </l:l>
-<l:l i="70">Ä¡</l:l>
-<l:l i="70">Ä¢</l:l>
-<l:l i="70">Ä£</l:l>
-<l:l i="70">Æ</l:l>
-<l:l i="70">É </l:l>
-<l:l i="70">Ç€</l:l>
-<l:l i="70">Ç¥</l:l>
-<l:l i="70">ÇŠ</l:l>
-<l:l i="70">Ç§</l:l>
-<l:l i="70">ÇŽ</l:l>
-<l:l i="70">Çµ</l:l>
-<l:l i="70">áž </l:l>
-<l:l i="70">áž¡</l:l>
-<l:l i="80">H</l:l>
-<l:l i="80">h</l:l>
-<l:l i="80">Ä€</l:l>
-<l:l i="80">Ä¥</l:l>
-<l:l i="80">ÄŠ</l:l>
-<l:l i="80">Ä§</l:l>
-<l:l i="80">È</l:l>
-<l:l i="80">È</l:l>
-<l:l i="80">ÉŠ</l:l>
-<l:l i="80">áž¢</l:l>
-<l:l i="80">áž£</l:l>
-<l:l i="80">áž€</l:l>
-<l:l i="80">áž¥</l:l>
-<l:l i="80">ážŠ</l:l>
-<l:l i="80">áž§</l:l>
-<l:l i="80">ážš</l:l>
-<l:l i="80">áž©</l:l>
-<l:l i="80">ážª</l:l>
-<l:l i="80">áž«</l:l>
-<l:l i="80">áº</l:l>
-<l:l i="90">I</l:l>
-<l:l i="90">i</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã¬</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã­</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã®</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã¯</l:l>
-<l:l i="90">Äš</l:l>
-<l:l i="90">Ä©</l:l>
-<l:l i="90">Äª</l:l>
-<l:l i="90">Ä«</l:l>
-<l:l i="90">Ä¬</l:l>
-<l:l i="90">Ä­</l:l>
-<l:l i="90">Ä®</l:l>
-<l:l i="90">Ä¯</l:l>
-<l:l i="90">Ä°</l:l>
-<l:l i="90">Æ</l:l>
-<l:l i="90">Éš</l:l>
-<l:l i="90">Ç</l:l>
-<l:l i="90">Ç</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">áž¬</l:l>
-<l:l i="90">áž­</l:l>
-<l:l i="90">áž®</l:l>
-<l:l i="90">áž¯</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="100">J</l:l>
-<l:l i="100">j</l:l>
-<l:l i="100">ÄŽ</l:l>
-<l:l i="100">Äµ</l:l>
-<l:l i="100">Ç°</l:l>
-<l:l i="100">Ê</l:l>
-<l:l i="110">K</l:l>
-<l:l i="110">k</l:l>
-<l:l i="110">Ä¶</l:l>
-<l:l i="110">Ä·</l:l>
-<l:l i="110">Æ</l:l>
-<l:l i="110">Æ</l:l>
-<l:l i="110">Çš</l:l>
-<l:l i="110">Ç©</l:l>
-<l:l i="110">áž°</l:l>
-<l:l i="110">áž±</l:l>
-<l:l i="110">áž²</l:l>
-<l:l i="110">áž³</l:l>
-<l:l i="110">ážŽ</l:l>
-<l:l i="110">ážµ</l:l>
-<l:l i="120">L</l:l>
-<l:l i="120">l</l:l>
-<l:l i="120">Ä¹</l:l>
-<l:l i="120">Äº</l:l>
-<l:l i="120">Ä»</l:l>
-<l:l i="120">ÄŒ</l:l>
-<l:l i="120">Äœ</l:l>
-<l:l i="120">ÄŸ</l:l>
-<l:l i="120">Ä¿</l:l>
-<l:l i="120">Å</l:l>
-<l:l i="120">Å</l:l>
-<l:l i="120">Å</l:l>
-<l:l i="120">Æ</l:l>
-<l:l i="120">Ç</l:l>
-<l:l i="120">ÈŽ</l:l>
-<l:l i="120">É«</l:l>
-<l:l i="120">É¬</l:l>
-<l:l i="120">É­</l:l>
-<l:l i="120">áž¶</l:l>
-<l:l i="120">áž·</l:l>
-<l:l i="120">ážž</l:l>
-<l:l i="120">áž¹</l:l>
-<l:l i="120">ážº</l:l>
-<l:l i="120">áž»</l:l>
-<l:l i="120">ážŒ</l:l>
-<l:l i="120">ážœ</l:l>
-<l:l i="130">M</l:l>
-<l:l i="130">m</l:l>
-<l:l i="130">É±</l:l>
-<l:l i="130">ážŸ</l:l>
-<l:l i="130">áž¿</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="140">N</l:l>
-<l:l i="140">n</l:l>
-<l:l i="140">Ã</l:l>
-<l:l i="140">Ã±</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å
-</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Æ</l:l>
-<l:l i="140">É²</l:l>
-<l:l i="140">Æ</l:l>
-<l:l i="140">È </l:l>
-<l:l i="140">Ç</l:l>
-<l:l i="140">Çž</l:l>
-<l:l i="140">Ç¹</l:l>
-<l:l i="140">Èµ</l:l>
-<l:l i="140">É³</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹
-</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="150">O</l:l>
-<l:l i="150">o</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ã²</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ã³</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">ÃŽ</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ãµ</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ã¶</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ãž</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Æ</l:l>
-<l:l i="150">Æ </l:l>
-<l:l i="150">Æ¡</l:l>
-<l:l i="150">Ç</l:l>
-<l:l i="150">Ç</l:l>
-<l:l i="150">Çª</l:l>
-<l:l i="150">Ç«</l:l>
-<l:l i="150">Ç¬</l:l>
-<l:l i="150">Ç­</l:l>
-<l:l i="150">ÇŸ</l:l>
-<l:l i="150">Ç¿</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">Èª</l:l>
-<l:l i="150">È«</l:l>
-<l:l i="150">È¬</l:l>
-<l:l i="150">È­</l:l>
-<l:l i="150">È®</l:l>
-<l:l i="150">È¯</l:l>
-<l:l i="150">È°</l:l>
-<l:l i="150">È±</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á» </l:l>
-<l:l i="150">á»¡</l:l>
-<l:l i="150">á»¢</l:l>
-<l:l i="150">á»£</l:l>
-<l:l i="160">P</l:l>
-<l:l i="160">p</l:l>
-<l:l i="160">Æ€</l:l>
-<l:l i="160">Æ¥</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="170">Q</l:l>
-<l:l i="170">q</l:l>
-<l:l i="170">Ê </l:l>
-<l:l i="180">R</l:l>
-<l:l i="180">r</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">ÉŒ</l:l>
-<l:l i="180">Éœ</l:l>
-<l:l i="180">ÉŸ</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="190">S</l:l>
-<l:l i="190">s</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å </l:l>
-<l:l i="190">Å¡</l:l>
-<l:l i="190">È</l:l>
-<l:l i="190">È</l:l>
-<l:l i="190">Ê</l:l>
-<l:l i="190">á¹ </l:l>
-<l:l i="190">á¹¡</l:l>
-<l:l i="190">á¹¢</l:l>
-<l:l i="190">á¹£</l:l>
-<l:l i="190">á¹€</l:l>
-<l:l i="190">á¹¥</l:l>
-<l:l i="190">á¹Š</l:l>
-<l:l i="190">á¹§</l:l>
-<l:l i="190">á¹š</l:l>
-<l:l i="190">á¹©</l:l>
-<l:l i="200">T</l:l>
-<l:l i="200">t</l:l>
-<l:l i="200">Å¢</l:l>
-<l:l i="200">Å£</l:l>
-<l:l i="200">Å€</l:l>
-<l:l i="200">Å¥</l:l>
-<l:l i="200">ÅŠ</l:l>
-<l:l i="200">Å§</l:l>
-<l:l i="200">Æ«</l:l>
-<l:l i="200">Æ¬</l:l>
-<l:l i="200">Æ­</l:l>
-<l:l i="200">Æ®</l:l>
-<l:l i="200">Ê</l:l>
-<l:l i="200">È</l:l>
-<l:l i="200">È</l:l>
-<l:l i="200">È¶</l:l>
-<l:l i="200">á¹ª</l:l>
-<l:l i="200">á¹«</l:l>
-<l:l i="200">á¹¬</l:l>
-<l:l i="200">á¹­</l:l>
-<l:l i="200">á¹®</l:l>
-<l:l i="200">á¹¯</l:l>
-<l:l i="200">á¹°</l:l>
-<l:l i="200">á¹±</l:l>
-<l:l i="200">áº</l:l>
-<l:l i="210">U</l:l>
-<l:l i="210">u</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">Ã¹</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">Ãº</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">Ã»</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">ÃŒ</l:l>
-<l:l i="210">Åš</l:l>
-<l:l i="210">Å©</l:l>
-<l:l i="210">Åª</l:l>
-<l:l i="210">Å«</l:l>
-<l:l i="210">Å¬</l:l>
-<l:l i="210">Å­</l:l>
-<l:l i="210">Å®</l:l>
-<l:l i="210">Å¯</l:l>
-<l:l i="210">Å°</l:l>
-<l:l i="210">Å±</l:l>
-<l:l i="210">Å²</l:l>
-<l:l i="210">Å³</l:l>
-<l:l i="210">Æ¯</l:l>
-<l:l i="210">Æ°</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">á¹²</l:l>
-<l:l i="210">á¹³</l:l>
-<l:l i="210">á¹Ž</l:l>
-<l:l i="210">á¹µ</l:l>
-<l:l i="210">á¹¶</l:l>
-<l:l i="210">á¹·</l:l>
-<l:l i="210">á¹ž</l:l>
-<l:l i="210">á¹¹</l:l>
-<l:l i="210">á¹º</l:l>
-<l:l i="210">á¹»</l:l>
-<l:l i="210">á»€</l:l>
-<l:l i="210">á»¥</l:l>
-<l:l i="210">á»Š</l:l>
-<l:l i="210">á»§</l:l>
-<l:l i="210">á»š</l:l>
-<l:l i="210">á»©</l:l>
-<l:l i="210">á»ª</l:l>
-<l:l i="210">á»«</l:l>
-<l:l i="210">á»¬</l:l>
-<l:l i="210">á»­</l:l>
-<l:l i="210">á»®</l:l>
-<l:l i="210">á»¯</l:l>
-<l:l i="210">á»°</l:l>
-<l:l i="210">á»±</l:l>
-<l:l i="220">V</l:l>
-<l:l i="220">v</l:l>
-<l:l i="220">Æ²</l:l>
-<l:l i="220">Ê</l:l>
-<l:l i="220">á¹Œ</l:l>
-<l:l i="220">á¹œ</l:l>
-<l:l i="220">á¹Ÿ</l:l>
-<l:l i="220">á¹¿</l:l>
-<l:l i="230">W</l:l>
-<l:l i="230">w</l:l>
-<l:l i="230">ÅŽ</l:l>
-<l:l i="230">Åµ</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº
-</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="240">X</l:l>
-<l:l i="240">x</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="250">Y</l:l>
-<l:l i="250">y</l:l>
-<l:l i="250">Ã</l:l>
-<l:l i="250">Ãœ</l:l>
-<l:l i="250">Ã¿</l:l>
-<l:l i="250">Åž</l:l>
-<l:l i="250">Å¶</l:l>
-<l:l i="250">Å·</l:l>
-<l:l i="250">Æ³</l:l>
-<l:l i="250">ÆŽ</l:l>
-<l:l i="250">È²</l:l>
-<l:l i="250">È³</l:l>
-<l:l i="250">áº</l:l>
-<l:l i="250">áº</l:l>
-<l:l i="250">áº</l:l>
-<l:l i="250">á»²</l:l>
-<l:l i="250">á»³</l:l>
-<l:l i="250">á»Ž</l:l>
-<l:l i="250">á»µ</l:l>
-<l:l i="250">á»¶</l:l>
-<l:l i="250">á»·</l:l>
-<l:l i="250">á»ž</l:l>
-<l:l i="250">á»¹</l:l>
-<l:l i="260">Z</l:l>
-<l:l i="260">z</l:l>
-<l:l i="260">Å¹</l:l>
-<l:l i="260">Åº</l:l>
-<l:l i="260">Å»</l:l>
-<l:l i="260">ÅŒ</l:l>
-<l:l i="260">Åœ</l:l>
-<l:l i="260">ÅŸ</l:l>
-<l:l i="260">Æµ</l:l>
-<l:l i="260">Æ¶</l:l>
-<l:l i="260">È€</l:l>
-<l:l i="260">È¥</l:l>
-<l:l i="260">Ê</l:l>
-<l:l i="260">Ê</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-</l:letters>
-</l:l10n>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/entities.ent
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/entities.ent	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,47 +1,0 @@
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-     
-     This file contains common entity declarations used for
-     sorting by various templates.
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!ENTITY lowercase "'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;'">
-<!ENTITY uppercase "'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'">
-
-<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = ""]))'>
-<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = ""]))'>
-<!ENTITY tertiary  'normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = ""]))'>
-
-
-<!ENTITY section   '(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()]'>
-
-<!ENTITY section.id 'generate-id(&section;)'>
-<!ENTITY sep '" "'>
-
-<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))'>
-
-<!ENTITY setup-language-variable '
-<xsl:variable name="language" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <xsl:call-template name="l10n.language"/>
-</xsl:variable>
-
-<xsl:variable name="lowercase" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-<xsl:variable name="uppercase" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-'>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/es.xml
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/es.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,679 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="es" english-language-name="Spanish">
-
-<!-- * This file is generated automatically. -->
-<!-- * To submit changes to this file upstream (to the DocBook Project) -->
-<!-- * do not submit an edited version of this file. Instead, submit an -->
-<!-- * edited version of the source file at the following location: -->
-<!-- * -->
-<!-- *  https://svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/es.xml -->
-<!-- * -->
-<!-- * E-mail the edited es.xml source file to: -->
-<!-- * -->
-<!-- *  docbook-developers@lists.sourceforge.net -->
-
-<!-- ******************************************************************** -->
-
-<!-- This file is part of the XSL DocBook Stylesheet distribution. -->
-<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->
-<!-- copyright and other information. -->
-
-<!-- ******************************************************************** -->
-<!-- In these files, % with a letter is used for a placeholder: -->
-<!--   %t is the current element's title -->
-<!--   %s is the current element's subtitle (if applicable)-->
-<!--   %n is the current element's number label-->
-<!--   %p is the current element's page number (if applicable)-->
-<!-- ******************************************************************** -->
-
-
-<l:gentext key="Abstract" text="Resumen"/>
-<l:gentext key="abstract" text="resumen"/>
-<l:gentext key="Answer" text="R:"/>
-<l:gentext key="answer" text="r:"/>
-<l:gentext key="Appendix" text="ApÃ©ndice"/>
-<l:gentext key="appendix" text="apÃ©ndice"/>
-<l:gentext key="Article" text="ArtÃ­culo"/>
-<l:gentext key="article" text="artÃ­culo"/>
-<l:gentext key="Author" text="Autor"/>
-<l:gentext key="Bibliography" text="BibliografÃ­a"/>
-<l:gentext key="bibliography" text="bibliografÃ­a"/>
-<l:gentext key="Book" text="Libro"/>
-<l:gentext key="book" text="libro"/>
-<l:gentext key="CAUTION" text="ATENCIÃN"/>
-<l:gentext key="Caution" text="AtenciÃ³n"/>
-<l:gentext key="caution" text="atenciÃ³n"/>
-<l:gentext key="Chapter" text="CapÃ­tulo"/>
-<l:gentext key="chapter" text="capÃ­tulo"/>
-<l:gentext key="Colophon" text="ColofÃ³n"/>
-<l:gentext key="colophon" text="colofÃ³n"/>
-<l:gentext key="Copyright" text="Copyright"/>
-<l:gentext key="copyright" text="copyright"/>
-<l:gentext key="Dedication" text="Dedicatoria"/>
-<l:gentext key="dedication" text="dedicatoria"/>
-<l:gentext key="Edition" text="EdiciÃ³n"/>
-<l:gentext key="edition" text="ediciÃ³n"/>
-<l:gentext key="Editor" text="Editor" lang="en"/>
-<l:gentext key="Equation" text="EcuaciÃ³n"/>
-<l:gentext key="equation" text="ecuaciÃ³n"/>
-<l:gentext key="Example" text="Ejemplo"/>
-<l:gentext key="example" text="ejemplo"/>
-<l:gentext key="Figure" text="Figura"/>
-<l:gentext key="figure" text="figura"/>
-<l:gentext key="Glossary" text="Glosario"/>
-<l:gentext key="glossary" text="glosario"/>
-<l:gentext key="GlossSee" text="Ver"/>
-<l:gentext key="glosssee" text="ver"/>
-<l:gentext key="GlossSeeAlso" text="Ver tambiÃ©n"/>
-<l:gentext key="glossseealso" text="ver tambiÃ©n"/>
-<l:gentext key="IMPORTANT" text="IMPORTANTE"/>
-<l:gentext key="important" text="importante"/>
-<l:gentext key="Important" text="Importante"/>
-<l:gentext key="Index" text="Ãndice"/>
-<l:gentext key="index" text="Ã­ndice"/>
-<l:gentext key="ISBN" text="ISBN"/>
-<l:gentext key="isbn" text="isbn"/>
-<l:gentext key="LegalNotice" text="Aviso Legal"/>
-<l:gentext key="legalnotice" text="aviso legal"/>
-<l:gentext key="MsgAud" text="Audiencia"/>
-<l:gentext key="msgaud" text="audiencia"/>
-<l:gentext key="MsgLevel" text="Nivel"/>
-<l:gentext key="msglevel" text="nivel"/>
-<l:gentext key="MsgOrig" text="Origen"/>
-<l:gentext key="msgorig" text="origen"/>
-<l:gentext key="NOTE" text="NOTA"/>
-<l:gentext key="Note" text="Nota"/>
-<l:gentext key="note" text="nota"/>
-<l:gentext key="Part" text="Parte"/>
-<l:gentext key="part" text="parte"/>
-<l:gentext key="Preface" text="Prefacio"/>
-<l:gentext key="preface" text="prefacio"/>
-<l:gentext key="Procedure" text="Procedimiento"/>
-<l:gentext key="procedure" text="procedimiento"/>
-<l:gentext key="ProductionSet" text="ProducciÃ³n"/>
-<l:gentext key="PubDate" text="Fecha de publicaciÃ³n"/>
-<l:gentext key="pubdate" text="fecha de publicaciÃ³n"/>
-<l:gentext key="Published" text="Publicado"/>
-<l:gentext key="published" text="publicado"/>
-<l:gentext key="Publisher" text="Publisher" lang="en"/>
-<l:gentext key="Qandadiv" text="P y R"/>
-<l:gentext key="qandadiv" text="P y R"/>
-<l:gentext key="QandASet" text="Frequently Asked Questions" lang="en"/>
-<l:gentext key="Question" text="P:"/>
-<l:gentext key="question" text="p:"/>
-<l:gentext key="RefEntry" text="Entrada de referencia"/>
-<l:gentext key="refentry" text="entrada de referencia"/>
-<l:gentext key="Reference" text="Referencia"/>
-<l:gentext key="reference" text="referencia"/>
-<l:gentext key="References" text="References" lang="en"/>
-<l:gentext key="RefName" text="Nombre de referencia"/>
-<l:gentext key="refname" text="nombre de referencia"/>
-<l:gentext key="RefSection" text="SecciÃ³n de referencia"/>
-<l:gentext key="refsection" text="secciÃ³n de referencia"/>
-<l:gentext key="RefSynopsisDiv" text="Sinopsis"/>
-<l:gentext key="refsynopsisdiv" text="sinopsis"/>
-<l:gentext key="RevHistory" text="Historial de revisiones"/>
-<l:gentext key="revhistory" text="Historial de revisiones"/>
-<l:gentext key="revision" text="revisiÃ³n"/>
-<l:gentext key="Revision" text="RevisiÃ³n"/>
-<l:gentext key="sect1" text="SecciÃ³n"/>
-<l:gentext key="sect2" text="SecciÃ³n"/>
-<l:gentext key="sect3" text="SecciÃ³n"/>
-<l:gentext key="sect4" text="SecciÃ³n"/>
-<l:gentext key="sect5" text="SecciÃ³n"/>
-<l:gentext key="section" text="secciÃ³n"/>
-<l:gentext key="Section" text="SecciÃ³n"/>
-<l:gentext key="see" text="ver"/>
-<l:gentext key="See" text="Ver"/>
-<l:gentext key="seealso" text="ver tambiÃ©n"/>
-<l:gentext key="Seealso" text="Ver tambiÃ©n"/>
-<l:gentext key="SeeAlso" text="Ver TambiÃ©n"/>
-<l:gentext key="set" text="conjunto"/>
-<l:gentext key="Set" text="Conjunto"/>
-<l:gentext key="setindex" text="Ã­ndice del conjunto"/>
-<l:gentext key="SetIndex" text="Ãndice del Conjunto"/>
-<l:gentext key="Sidebar" text="Barra lateral"/>
-<l:gentext key="sidebar" text="barra lateral"/>
-<l:gentext key="step" text="paso"/>
-<l:gentext key="Step" text="Paso"/>
-<l:gentext key="table" text="tabla"/>
-<l:gentext key="Table" text="Tabla"/>
-<l:gentext key="task" text="Task" lang="en"/>
-<l:gentext key="Task" text="Task" lang="en"/>
-<l:gentext key="tip" text="sugerencia"/>
-<l:gentext key="TIP" text="SUGERENCIA"/>
-<l:gentext key="Tip" text="Sugerencia"/>
-<l:gentext key="Warning" text="Aviso"/>
-<l:gentext key="warning" text="aviso"/>
-<l:gentext key="WARNING" text="AVISO"/>
-<l:gentext key="and" text="y"/>
-<l:gentext key="by" text="por"/>
-<l:gentext key="Edited" text="Editado"/>
-<l:gentext key="edited" text="editado"/>
-<l:gentext key="Editedby" text="Editado por"/>
-<l:gentext key="editedby" text="editado por"/>
-<l:gentext key="in" text="en"/>
-<l:gentext key="lastlistcomma" text=","/>
-<l:gentext key="listcomma" text=","/>
-<l:gentext key="nonexistantelement" text="elemento inexistente"/>
-<l:gentext key="notes" text="notas"/>
-<l:gentext key="Notes" text="Notas"/>
-<l:gentext key="Pgs" text="PÃ¡gs."/>
-<l:gentext key="pgs" text="pÃ¡gs."/>
-<l:gentext key="Revisedby" text="Revisado por: "/>
-<l:gentext key="revisedby" text="revisado por: "/>
-<l:gentext key="TableNotes" text="Notas de tabla"/>
-<l:gentext key="tablenotes" text="notas de tabla"/>
-<l:gentext key="TableofContents" text="Tabla de contenidos"/>
-<l:gentext key="tableofcontents" text="tabla de contenidos"/>
-<l:gentext key="unexpectedelementname" text="nombre de elemento inesperado"/>
-<l:gentext key="unsupported" text="no soportado"/>
-<l:gentext key="xrefto" text="referencia a"/>
-<l:gentext key="Authors" text="Authors" lang="en"/>
-<l:gentext key="copyeditor" text="Copy Editor" lang="en"/>
-<l:gentext key="graphicdesigner" text="Graphic Designer" lang="en"/>
-<l:gentext key="productioneditor" text="Production Editor" lang="en"/>
-<l:gentext key="technicaleditor" text="Technical Editor" lang="en"/>
-<l:gentext key="translator" text="Translator" lang="en"/>
-<l:gentext key="listofequations" text="lista de ecuaciones"/>
-<l:gentext key="ListofEquations" text="Lista de ecuaciones"/>
-<l:gentext key="ListofExamples" text="Lista de ejemplos"/>
-<l:gentext key="listofexamples" text="lista de ejemplos"/>
-<l:gentext key="ListofFigures" text="Lista de figuras"/>
-<l:gentext key="listoffigures" text="lista de figuras"/>
-<l:gentext key="ListofProcedures" text="List of Procedures" lang="en"/>
-<l:gentext key="listofprocedures" text="List of Procedures" lang="en"/>
-<l:gentext key="listoftables" text="lista de tablas"/>
-<l:gentext key="ListofTables" text="Lista de tablas"/>
-<l:gentext key="ListofUnknown" text="Lista de desconocido"/>
-<l:gentext key="listofunknown" text="lista de desconocido"/>
-<l:gentext key="nav-home" text="Inicio"/>
-<l:gentext key="nav-next" text="Siguiente"/>
-<l:gentext key="nav-next-sibling" text="Avanzar"/>
-<l:gentext key="nav-prev" text="Anterior"/>
-<l:gentext key="nav-prev-sibling" text="Retroceder"/>
-<l:gentext key="nav-up" text="Subir"/>
-<l:gentext key="nav-toc" text="ToC" lang="en"/>
-<l:gentext key="Draft" text="Borrador"/>
-<l:gentext key="above" text="arriba"/>
-<l:gentext key="below" text="abajo"/>
-<l:gentext key="sectioncalled" text="secciÃ³n llamada"/>
-<l:gentext key="index symbols" text="SÃ­mbolos"/>
-<l:gentext key="lowercase.alpha" text="abcdefghijklmnopqrstuvwxyzÃ¡Ã©Ã­Ã³ÃºÃ±"/>
-<l:gentext key="uppercase.alpha" text="ABCDEFGHIJKLMNOPQRSTUVWXYZÃÃÃÃÃÃ"/>
-<l:gentext key="normalize.sort.input" text="AaÃÃ ÃÃ¡ÃÃ¢ÃÃ£ÃÃ€Ã
-Ã¥ÄÄÄÄÄÄ
-ÇÇÇÇÇ Ç¡ÇºÇ»ÈÈÈÈÈŠÈ§ážážáºáº áº¡áº¢áº£áº€áº¥áºŠáº§áºšáº©áºªáº«áº¬áº­áº®áº¯áº°áº±áº²áº³áºŽáºµáº¶áº·BbÆÆÉÆÆážážážáž
-ážážCcÃÃ§ÄÄÄÄÄÄÄÄÆÆÉážážDdÄÄÄÄÆÉÆÆÇ
-Ç²È¡ÉážážážážážážážážážážEeÃÃšÃÃ©ÃÃªÃÃ«ÄÄÄÄÄÄÄÄÄÄÈÈ
-ÈÈÈšÈ©ážážážážážážážážážážáºžáº¹áººáº»áºŒáºœáºŸáº¿á»á»á»á»á»á»
-á»á»FfÆÆážážGgÄÄÄÄÄ Ä¡Ä¢Ä£ÆÉ Ç€Ç¥ÇŠÇ§ÇŽÇµáž áž¡HhÄ€Ä¥ÄŠÄ§ÈÈÉŠáž¢áž£áž€áž¥ážŠáž§ážšáž©ážªáž«áºIiÃÃ¬ÃÃ­ÃÃ®ÃÃ¯ÄšÄ©ÄªÄ«Ä¬Ä­Ä®Ä¯Ä°ÆÉšÇÇÈÈÈÈáž¬áž­áž®áž¯á»á»á»á»JjÄŽÄµÇ°ÊKkÄ¶Ä·ÆÆÇšÇ©áž°áž±áž²áž³ážŽážµLlÄ¹ÄºÄ»ÄŒÄœÄŸÄ¿ÅÅÅÆÇÈŽÉ«É¬É­áž¶áž·ážžáž¹ážºáž»ážŒážœMmÉ±ážŸáž¿á¹á¹á¹á¹NnÃÃ±ÅÅÅ
-ÅÅÅÆÉ²ÆÈ ÇÇžÇ¹ÈµÉ³á¹á¹
-á¹á¹á¹á¹á¹á¹OoÃÃ²ÃÃ³ÃÃŽÃÃµÃÃ¶ÃÃžÅÅÅÅÅÅÆÆ Æ¡ÇÇÇªÇ«Ç¬Ç­ÇŸÇ¿ÈÈÈÈÈªÈ«È¬È­È®È¯È°È±á¹á¹á¹á¹á¹á¹á¹á¹á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á» á»¡á»¢á»£PpÆ€Æ¥á¹á¹á¹á¹QqÊ RrÅÅÅÅÅÅÈÈÈÈÉŒÉœÉŸá¹á¹á¹á¹á¹á¹á¹á¹SsÅÅÅÅÅÅÅ Å¡ÈÈÊá¹ á¹¡á¹¢á¹£á¹€á¹¥á¹Šá¹§á¹šá¹©TtÅ¢Å£Å€Å¥ÅŠÅ§Æ«Æ¬Æ­Æ®ÊÈÈÈ¶á¹ªá¹«á¹¬á¹­á¹®á¹¯á¹°á¹±áºUuÃÃ¹ÃÃºÃÃ»ÃÃŒÅšÅ©ÅªÅ«Å¬Å­Å®Å¯Å°Å±Å²Å³Æ¯Æ°ÇÇÇÇÇÇÇÇÇÇÈÈÈÈá¹²á¹³á¹Žá¹µá¹¶á¹·á¹žá¹¹á¹ºá¹»á»€á»¥á»Šá»§á»šá»©á»ªá»«á»¬á»­á»®á»¯á»°á»±VvÆ²Êá¹Œá¹œá¹Ÿá¹¿WwÅŽÅµáºáºáºáºáºáº
-áºáºáºáºáºXxáºáºáºáºYyÃÃœÃ¿ÅžÅ¶Å·Æ³ÆŽÈ²È³áºáºáºá»²á»³á»Žá»µá»¶á»·á»žá»¹ZzÅ¹ÅºÅ»ÅŒÅœÅŸÆµÆ¶È€È¥ÊÊáºáºáºáºáºáºáº" lang="en"/>
-<l:gentext key="normalize.sort.output" text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ" lang="en"/>
-<l:dingbat key="startquote" text="â"/>
-<l:dingbat key="endquote" text="â"/>
-<l:dingbat key="nestedstartquote" text="â"/>
-<l:dingbat key="nestedendquote" text="â"/>
-<l:dingbat key="singlestartquote" text="â" lang="en"/>
-<l:dingbat key="singleendquote" text="â" lang="en"/>
-<l:dingbat key="bullet" text="â¢"/>
-<l:gentext key="hyphenation-character" text="-" lang="en"/>
-<l:gentext key="hyphenation-push-character-count" text="2" lang="en"/>
-<l:gentext key="hyphenation-remain-character-count" text="2" lang="en"/>
-<l:context name="styles"><l:template name="person-name" text="first-last"/>
-</l:context>
-<l:context name="title"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="%t"/>
-<l:template name="appendix" text="ApÃ©ndice %n. %t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="biblioentry" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliolist" text="%t" lang="en"/>
-<l:template name="bibliomixed" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="CapÃ­tulo %n. %t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="EcuaciÃ³n %n. %t"/>
-<l:template name="example" text="Ejemplo %n. %t"/>
-<l:template name="figure" text="Figura %n. %t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="glosslist" text="%t" lang="en"/>
-<l:template name="glossentry" text="%t" lang="en"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text=""/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="Parte %n. %t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="procedure.formal" text="Procedimiento %n. %t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="productionset.formal" text="ProducciÃ³n %n"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="%t"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="%t"/>
-<l:template name="refentry" text="%t"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsection" text="%t"/>
-<l:template name="refsect1" text="%t"/>
-<l:template name="refsect2" text="%t"/>
-<l:template name="refsect3" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="refsynopsisdivinfo" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="step" text="%t"/>
-<l:template name="table" text="Tabla %n. %t"/>
-<l:template name="task" text="%t" lang="en"/>
-<l:template name="tasksummary" text="%t" lang="en"/>
-<l:template name="taskprerequisites" text="%t" lang="en"/>
-<l:template name="taskrelated" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text="" lang="en"/>
-<l:template name="warning" text="%t"/>
-</l:context>
-<l:context name="title-unnumbered"><l:template name="appendix" text="%t"/>
-<l:template name="article/appendix" text="%t" lang="en"/>
-<l:template name="bridgehead" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="sect1" text="%t"/>
-<l:template name="sect2" text="%t"/>
-<l:template name="sect3" text="%t"/>
-<l:template name="sect4" text="%t"/>
-<l:template name="sect5" text="%t"/>
-<l:template name="section" text="%t"/>
-<l:template name="simplesect" text="%t"/>
-<l:template name="part" text="%t" lang="en"/>
-</l:context>
-<l:context name="title-numbered"><l:template name="appendix" text="ApÃ©ndice %n. %t"/>
-<l:template name="article/appendix" text="%n.Â %t" lang="en"/>
-<l:template name="bridgehead" text="%n. %t"/>
-<l:template name="chapter" text="CapÃ­tulo %n. %t"/>
-<l:template name="part" text="ParteÂ %n.Â %t"/>
-<l:template name="sect1" text="%n. %t"/>
-<l:template name="sect2" text="%n. %t"/>
-<l:template name="sect3" text="%n. %t"/>
-<l:template name="sect4" text="%n. %t"/>
-<l:template name="sect5" text="%n. %t"/>
-<l:template name="section" text="%n. %t"/>
-<l:template name="simplesect" text="%t"/>
-</l:context>
-<l:context name="subtitle"><l:template name="appendix" text="%s"/>
-<l:template name="article" text="%s"/>
-<l:template name="bibliodiv" text="%s"/>
-<l:template name="biblioentry" text="%s"/>
-<l:template name="bibliography" text="%s"/>
-<l:template name="bibliomixed" text="%s"/>
-<l:template name="bibliomset" text="%s"/>
-<l:template name="biblioset" text="%s"/>
-<l:template name="book" text="%s"/>
-<l:template name="chapter" text="%s"/>
-<l:template name="colophon" text="%s"/>
-<l:template name="dedication" text="%s"/>
-<l:template name="glossary" text="%s"/>
-<l:template name="glossdiv" text="%s"/>
-<l:template name="index" text="%s"/>
-<l:template name="indexdiv" text="%s"/>
-<l:template name="lot" text="%s"/>
-<l:template name="part" text="%s"/>
-<l:template name="partintro" text="%s"/>
-<l:template name="preface" text="%s"/>
-<l:template name="refentry" text="%s"/>
-<l:template name="reference" text="%s"/>
-<l:template name="refsection" text="%s"/>
-<l:template name="refsect1" text="%s"/>
-<l:template name="refsect2" text="%s"/>
-<l:template name="refsect3" text="%s"/>
-<l:template name="refsynopsisdiv" text="%s"/>
-<l:template name="sect1" text="%s"/>
-<l:template name="sect2" text="%s"/>
-<l:template name="sect3" text="%s"/>
-<l:template name="sect4" text="%s"/>
-<l:template name="sect5" text="%s"/>
-<l:template name="section" text="%s"/>
-<l:template name="set" text="%s"/>
-<l:template name="setindex" text="%s"/>
-<l:template name="sidebar" text="%s"/>
-<l:template name="simplesect" text="%s"/>
-<l:template name="toc" text="%s"/>
-</l:context>
-<l:context name="xref"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="R:Â %n"/>
-<l:template name="appendix" text="%t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="constraintdef" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="%t"/>
-<l:template name="example" text="%t"/>
-<l:template name="figure" text="%t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text="%n"/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="%t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="P:Â %n"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="P:Â %n"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="table" text="%t"/>
-<l:template name="task" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text="%n"/>
-<l:template name="warning" text="%t"/>
-<l:template name="olink.document.citation" text=" in %o" lang="en"/>
-<l:template name="olink.page.citation" text=" (page %p)" lang="en"/>
-<l:template name="page.citation" text=" [%p]"/>
-<l:template name="page" text="(page %p)" lang="en"/>
-<l:template name="docname" text=" in %o" lang="en"/>
-<l:template name="docnamelong" text=" in the document titled %o" lang="en"/>
-<l:template name="pageabbrev" text="(p. %p)" lang="en"/>
-<l:template name="Page" text="Page %p" lang="en"/>
-<l:template name="bridgehead" text="â%tâ"/>
-<l:template name="refsection" text="â%tâ"/>
-<l:template name="refsect1" text="â%tâ"/>
-<l:template name="refsect2" text="â%tâ"/>
-<l:template name="refsect3" text="â%tâ"/>
-<l:template name="sect1" text="â%tâ"/>
-<l:template name="sect2" text="â%tâ"/>
-<l:template name="sect3" text="â%tâ"/>
-<l:template name="sect4" text="â%tâ"/>
-<l:template name="sect5" text="â%tâ"/>
-<l:template name="section" text="â%tâ"/>
-<l:template name="simplesect" text="â%tâ"/>
-</l:context>
-<l:context name="xref-number"><l:template name="answer" text="R:Â %n"/>
-<l:template name="appendix" text="ApÃ©ndiceÂ %n"/>
-<l:template name="bridgehead" text="SecciÃ³nÂ %n"/>
-<l:template name="chapter" text="CapÃ­tuloÂ %n"/>
-<l:template name="equation" text="EcuaciÃ³nÂ %n"/>
-<l:template name="example" text="EjemploÂ %n"/>
-<l:template name="figure" text="FiguraÂ %n"/>
-<l:template name="part" text="ParteÂ %n"/>
-<l:template name="procedure" text="ProcedimientoÂ %n"/>
-<l:template name="productionset" text="ProducciÃ³nÂ %n"/>
-<l:template name="qandadiv" text="P y RÂ %n"/>
-<l:template name="qandaentry" text="P:Â %n"/>
-<l:template name="question" text="P:Â %n"/>
-<l:template name="sect1" text="SecciÃ³nÂ %n"/>
-<l:template name="sect2" text="SecciÃ³nÂ %n"/>
-<l:template name="sect3" text="SecciÃ³nÂ %n"/>
-<l:template name="sect4" text="SecciÃ³nÂ %n"/>
-<l:template name="sect5" text="SecciÃ³nÂ %n"/>
-<l:template name="section" text="SecciÃ³nÂ %n"/>
-<l:template name="table" text="TablaÂ %n"/>
-</l:context>
-<l:context name="xref-number-and-title"><l:template name="appendix" text="ApÃ©ndiceÂ %n, %t"/>
-<l:template name="bridgehead" text="SecciÃ³nÂ %n, â%tâ"/>
-<l:template name="chapter" text="CapÃ­tuloÂ %n, %t"/>
-<l:template name="equation" text="EcuaciÃ³nÂ %n, â%tâ"/>
-<l:template name="example" text="EjemploÂ %n, â%tâ"/>
-<l:template name="figure" text="FiguraÂ %n, â%tâ"/>
-<l:template name="part" text="ParteÂ %n, â%tâ"/>
-<l:template name="procedure" text="ProcedimientoÂ %n, â%tâ"/>
-<l:template name="productionset" text="ProducciÃ³nÂ %n, â%tâ"/>
-<l:template name="qandadiv" text="P y RÂ %n, â%tâ"/>
-<l:template name="refsect1" text="secciÃ³n llamada â%tâ"/>
-<l:template name="refsect2" text="secciÃ³n llamada â%tâ"/>
-<l:template name="refsect3" text="secciÃ³n llamada â%tâ"/>
-<l:template name="refsection" text="secciÃ³n llamada â%tâ"/>
-<l:template name="sect1" text="SecciÃ³nÂ %n, â%tâ"/>
-<l:template name="sect2" text="SecciÃ³nÂ %n, â%tâ"/>
-<l:template name="sect3" text="SecciÃ³nÂ %n, â%tâ"/>
-<l:template name="sect4" text="SecciÃ³nÂ %n, â%tâ"/>
-<l:template name="sect5" text="SecciÃ³nÂ %n, â%tâ"/>
-<l:template name="section" text="SecciÃ³nÂ %n, â%tâ"/>
-<l:template name="simplesect" text="secciÃ³n llamada â%tâ"/>
-<l:template name="table" text="TablaÂ %n, â%tâ"/>
-</l:context>
-<l:context name="authorgroup"><l:template name="sep" text=", "/>
-<l:template name="sep2" text=" y "/>
-<l:template name="seplast" text=", y "/>
-</l:context>
-<l:context name="glossary"><l:template name="see" text="Ver %t"/>
-<l:template name="seealso" text="Ver tambiÃ©n %t"/>
-</l:context>
-<l:context name="msgset"><l:template name="MsgAud" text="Audiencia: "/>
-<l:template name="MsgLevel" text="Nivel: "/>
-<l:template name="MsgOrig" text="Origen: "/>
-</l:context>
-<l:context name="datetime"><l:template name="format" text="m/d/Y" lang="en"/>
-</l:context>
-<l:context name="termdef"><l:template name="prefix" text="[Definition: " lang="en"/>
-<l:template name="suffix" text="]" lang="en"/>
-</l:context>
-<l:context name="datetime-full"><l:template name="January" text="January" lang="en"/>
-<l:template name="February" text="February" lang="en"/>
-<l:template name="March" text="March" lang="en"/>
-<l:template name="April" text="April" lang="en"/>
-<l:template name="May" text="May" lang="en"/>
-<l:template name="June" text="June" lang="en"/>
-<l:template name="July" text="July" lang="en"/>
-<l:template name="August" text="August" lang="en"/>
-<l:template name="September" text="September" lang="en"/>
-<l:template name="October" text="October" lang="en"/>
-<l:template name="November" text="November" lang="en"/>
-<l:template name="December" text="December" lang="en"/>
-<l:template name="Monday" text="Monday" lang="en"/>
-<l:template name="Tuesday" text="Tuesday" lang="en"/>
-<l:template name="Wednesday" text="Wednesday" lang="en"/>
-<l:template name="Thursday" text="Thursday" lang="en"/>
-<l:template name="Friday" text="Friday" lang="en"/>
-<l:template name="Saturday" text="Saturday" lang="en"/>
-<l:template name="Sunday" text="Sunday" lang="en"/>
-</l:context>
-<l:context name="datetime-abbrev"><l:template name="Jan" text="Jan" lang="en"/>
-<l:template name="Feb" text="Feb" lang="en"/>
-<l:template name="Mar" text="Mar" lang="en"/>
-<l:template name="Apr" text="Apr" lang="en"/>
-<l:template name="May" text="May" lang="en"/>
-<l:template name="Jun" text="Jun" lang="en"/>
-<l:template name="Jul" text="Jul" lang="en"/>
-<l:template name="Aug" text="Aug" lang="en"/>
-<l:template name="Sep" text="Sep" lang="en"/>
-<l:template name="Oct" text="Oct" lang="en"/>
-<l:template name="Nov" text="Nov" lang="en"/>
-<l:template name="Dec" text="Dec" lang="en"/>
-<l:template name="Mon" text="Mon" lang="en"/>
-<l:template name="Tue" text="Tue" lang="en"/>
-<l:template name="Wed" text="Wed" lang="en"/>
-<l:template name="Thu" text="Thu" lang="en"/>
-<l:template name="Fri" text="Fri" lang="en"/>
-<l:template name="Sat" text="Sat" lang="en"/>
-<l:template name="Sun" text="Sun" lang="en"/>
-</l:context>
-<l:context name="htmlhelp"><l:template name="langcode" text="0x040a Spanish (Traditional Sort)"/>
-</l:context>
-<l:context name="index"><l:template name="term-separator" text=", " lang="en"/>
-<l:template name="number-separator" text=", " lang="en"/>
-<l:template name="range-separator" text="-" lang="en"/>
-</l:context>
-<l:context name="iso690"><l:template name="lastfirst.sep" text=", " lang="en"/>
-<l:template name="alt.person.two.sep" text=" â " lang="en"/>
-<l:template name="alt.person.last.sep" text=" â " lang="en"/>
-<l:template name="alt.person.more.sep" text=" â " lang="en"/>
-<l:template name="primary.editor" text=" (ed.)" lang="en"/>
-<l:template name="primary.many" text=", et al." lang="en"/>
-<l:template name="primary.sep" text=". " lang="en"/>
-<l:template name="submaintitle.sep" text=": " lang="en"/>
-<l:template name="title.sep" text=". " lang="en"/>
-<l:template name="othertitle.sep" text=", " lang="en"/>
-<l:template name="medium1" text=" [" lang="en"/>
-<l:template name="medium2" text="]" lang="en"/>
-<l:template name="secondary.person.sep" text="; " lang="en"/>
-<l:template name="secondary.sep" text=". " lang="en"/>
-<l:template name="respons.sep" text=". " lang="en"/>
-<l:template name="edition.sep" text=". " lang="en"/>
-<l:template name="edition.serial.sep" text=", " lang="en"/>
-<l:template name="issuing.range" text="-" lang="en"/>
-<l:template name="issuing.div" text=", " lang="en"/>
-<l:template name="issuing.sep" text=". " lang="en"/>
-<l:template name="partnr.sep" text=". " lang="en"/>
-<l:template name="placepubl.sep" text=": " lang="en"/>
-<l:template name="publyear.sep" text=", " lang="en"/>
-<l:template name="pubinfo.sep" text=". " lang="en"/>
-<l:template name="spec.pubinfo.sep" text=", " lang="en"/>
-<l:template name="upd.sep" text=", " lang="en"/>
-<l:template name="datecit1" text=" [cited " lang="en"/>
-<l:template name="datecit2" text="]" lang="en"/>
-<l:template name="extent.sep" text=". " lang="en"/>
-<l:template name="locs.sep" text=", " lang="en"/>
-<l:template name="location.sep" text=". " lang="en"/>
-<l:template name="serie.sep" text=". " lang="en"/>
-<l:template name="notice.sep" text=". " lang="en"/>
-<l:template name="access" text="Available " lang="en"/>
-<l:template name="acctoo" text="Also available " lang="en"/>
-<l:template name="onwww" text="from World Wide Web" lang="en"/>
-<l:template name="oninet" text="from Internet" lang="en"/>
-<l:template name="access.end" text=": " lang="en"/>
-<l:template name="link1" text="&lt;" lang="en"/>
-<l:template name="link2" text="&gt;" lang="en"/>
-<l:template name="access.sep" text=". " lang="en"/>
-<l:template name="isbn" text="ISBN " lang="en"/>
-<l:template name="issn" text="ISSN " lang="en"/>
-<l:template name="stdnum.sep" text=". " lang="en"/>
-<l:template name="patcountry.sep" text=". " lang="en"/>
-<l:template name="pattype.sep" text=", " lang="en"/>
-<l:template name="patnum.sep" text=". " lang="en"/>
-<l:template name="patdate.sep" text=". " lang="en"/>
-</l:context><l:letters><l:l i="-1"/>
-<l:l i="0">SÃ­mbolos</l:l>
-<l:l i="1">A</l:l>
-<l:l i="1">a</l:l>
-<l:l i="1">Ã¡</l:l>
-<l:l i="1">Ã</l:l>
-<l:l i="2">B</l:l>
-<l:l i="2">b</l:l>
-<l:l i="3">C</l:l>
-<l:l i="3">c</l:l>
-<l:l i="4">CH</l:l>
-<l:l i="4">ch</l:l>
-<l:l i="5">D</l:l>
-<l:l i="5">d</l:l>
-<l:l i="6">E</l:l>
-<l:l i="6">e</l:l>
-<l:l i="6">Ã</l:l>
-<l:l i="6">Ã©</l:l>
-<l:l i="7">F</l:l>
-<l:l i="7">f</l:l>
-<l:l i="8">G</l:l>
-<l:l i="8">g</l:l>
-<l:l i="9">H</l:l>
-<l:l i="9">h</l:l>
-<l:l i="10">I</l:l>
-<l:l i="10">i</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã­</l:l>
-<l:l i="11">J</l:l>
-<l:l i="11">j</l:l>
-<l:l i="12">K</l:l>
-<l:l i="12">k</l:l>
-<l:l i="13">L</l:l>
-<l:l i="13">l</l:l>
-<l:l i="14">LL</l:l>
-<l:l i="14">ll</l:l>
-<l:l i="15">M</l:l>
-<l:l i="15">m</l:l>
-<l:l i="16">N</l:l>
-<l:l i="16">n</l:l>
-<l:l i="17">Ã</l:l>
-<l:l i="17">Ã±</l:l>
-<l:l i="18">O</l:l>
-<l:l i="18">o</l:l>
-<l:l i="18">Ã</l:l>
-<l:l i="18">Ã³</l:l>
-<l:l i="19">P</l:l>
-<l:l i="19">p</l:l>
-<l:l i="20">Q</l:l>
-<l:l i="20">q</l:l>
-<l:l i="21">R</l:l>
-<l:l i="21">r</l:l>
-<l:l i="22">S</l:l>
-<l:l i="22">s</l:l>
-<l:l i="23">T</l:l>
-<l:l i="23">t</l:l>
-<l:l i="24">U</l:l>
-<l:l i="24">u</l:l>
-<l:l i="24">Ã</l:l>
-<l:l i="24">Ãº</l:l>
-<l:l i="25">V</l:l>
-<l:l i="25">v</l:l>
-<l:l i="26">W</l:l>
-<l:l i="26">w</l:l>
-<l:l i="27">X</l:l>
-<l:l i="27">x</l:l>
-<l:l i="28">Y</l:l>
-<l:l i="28">y</l:l>
-<l:l i="29">Z</l:l>
-<l:l i="29">z</l:l>
-</l:letters>
-</l:l10n>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/fr.xml
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/fr.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,693 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="fr" english-language-name="French">
-
-<!-- * This file is generated automatically. -->
-<!-- * To submit changes to this file upstream (to the DocBook Project) -->
-<!-- * do not submit an edited version of this file. Instead, submit an -->
-<!-- * edited version of the source file at the following location: -->
-<!-- * -->
-<!-- *  https://svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/fr.xml -->
-<!-- * -->
-<!-- * E-mail the edited fr.xml source file to: -->
-<!-- * -->
-<!-- *  docbook-developers@lists.sourceforge.net -->
-
-<!-- ******************************************************************** -->
-
-<!-- This file is part of the XSL DocBook Stylesheet distribution. -->
-<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->
-<!-- copyright and other information. -->
-
-<!-- ******************************************************************** -->
-<!-- In these files, % with a letter is used for a placeholder: -->
-<!--   %t is the current element's title -->
-<!--   %s is the current element's subtitle (if applicable)-->
-<!--   %n is the current element's number label-->
-<!--   %p is the current element's page number (if applicable)-->
-<!-- ******************************************************************** -->
-
-
-<l:gentext key="Abstract" text="RÃ©sumÃ©"/>
-<l:gentext key="abstract" text="RÃ©sumÃ©"/>
-<l:gentext key="Answer" text="RÂ :"/>
-<l:gentext key="answer" text="RÂ :"/>
-<l:gentext key="Appendix" text="Annexe"/>
-<l:gentext key="appendix" text="annexe"/>
-<l:gentext key="Article" text="Article"/>
-<l:gentext key="article" text="Article"/>
-<l:gentext key="Author" text="Auteur"/>
-<l:gentext key="Bibliography" text="Bibliographie"/>
-<l:gentext key="bibliography" text="Bibliographie"/>
-<l:gentext key="Book" text="Livre"/>
-<l:gentext key="book" text="Livre"/>
-<l:gentext key="CAUTION" text="ATTENTION"/>
-<l:gentext key="Caution" text="Attention"/>
-<l:gentext key="caution" text="Attention"/>
-<l:gentext key="Chapter" text="Chapitre"/>
-<l:gentext key="chapter" text="chapitre"/>
-<l:gentext key="Colophon" text="AchevÃ© d'imprimer"/>
-<l:gentext key="colophon" text="AchevÃ© d'imprimer"/>
-<l:gentext key="Copyright" text="Copyright"/>
-<l:gentext key="copyright" text="Copyright"/>
-<l:gentext key="Dedication" text="DÃ©dicace"/>
-<l:gentext key="dedication" text="DÃ©dicace"/>
-<l:gentext key="Edition" text="Ãdition"/>
-<l:gentext key="edition" text="Ãdition"/>
-<l:gentext key="Editor" text="Editor" lang="en"/>
-<l:gentext key="Equation" text="Ãquation"/>
-<l:gentext key="equation" text="Ãquation"/>
-<l:gentext key="Example" text="Exemple"/>
-<l:gentext key="example" text="Exemple"/>
-<l:gentext key="Figure" text="Figure"/>
-<l:gentext key="figure" text="Figure"/>
-<l:gentext key="Glossary" text="Glossaire"/>
-<l:gentext key="glossary" text="Glossaire"/>
-<l:gentext key="GlossSee" text="Voir"/>
-<l:gentext key="glosssee" text="Voir"/>
-<l:gentext key="GlossSeeAlso" text="Voir aussi"/>
-<l:gentext key="glossseealso" text="Voir aussi"/>
-<l:gentext key="IMPORTANT" text="IMPORTANT"/>
-<l:gentext key="important" text="Important"/>
-<l:gentext key="Important" text="Important"/>
-<l:gentext key="Index" text="Index"/>
-<l:gentext key="index" text="Index"/>
-<l:gentext key="ISBN" text="ISBN"/>
-<l:gentext key="isbn" text="ISBN"/>
-<l:gentext key="LegalNotice" text="Note lÃ©gale"/>
-<l:gentext key="legalnotice" text="Note lÃ©gale"/>
-<l:gentext key="MsgAud" text="Public visÃ©"/>
-<l:gentext key="msgaud" text="Public visÃ©"/>
-<l:gentext key="MsgLevel" text="Niveau"/>
-<l:gentext key="msglevel" text="Niveau"/>
-<l:gentext key="MsgOrig" text="Origine"/>
-<l:gentext key="msgorig" text="Origine"/>
-<l:gentext key="NOTE" text="NOTE"/>
-<l:gentext key="Note" text="Note"/>
-<l:gentext key="note" text="Note"/>
-<l:gentext key="Part" text="Partie"/>
-<l:gentext key="part" text="Partie"/>
-<l:gentext key="Preface" text="PrÃ©face"/>
-<l:gentext key="preface" text="PrÃ©face"/>
-<l:gentext key="Procedure" text="ProcÃ©dure"/>
-<l:gentext key="procedure" text="ProcÃ©dure"/>
-<l:gentext key="ProductionSet" text="Production"/>
-<l:gentext key="PubDate" text="Date de publication"/>
-<l:gentext key="pubdate" text="Date de publication"/>
-<l:gentext key="Published" text="PubliÃ© le"/>
-<l:gentext key="published" text="PubliÃ© le"/>
-<l:gentext key="Publisher" text="Publisher" lang="en"/>
-<l:gentext key="Qandadiv" text="Q &amp; R"/>
-<l:gentext key="qandadiv" text="Q &amp; R"/>
-<l:gentext key="QandASet" text="Frequently Asked Questions" lang="en"/>
-<l:gentext key="Question" text="QÂ :"/>
-<l:gentext key="question" text="QÂ :"/>
-<l:gentext key="RefEntry" text=""/>
-<l:gentext key="refentry" text=""/>
-<l:gentext key="Reference" text="RÃ©fÃ©rence"/>
-<l:gentext key="reference" text="RÃ©fÃ©rence"/>
-<l:gentext key="References" text="References" lang="en"/>
-<l:gentext key="RefName" text="Nom"/>
-<l:gentext key="refname" text="Nom"/>
-<l:gentext key="RefSection" text=""/>
-<l:gentext key="refsection" text=""/>
-<l:gentext key="RefSynopsisDiv" text="Synopsis"/>
-<l:gentext key="refsynopsisdiv" text="Synopsis"/>
-<l:gentext key="RevHistory" text="Historique des versions"/>
-<l:gentext key="revhistory" text="Historique des versions"/>
-<l:gentext key="revision" text="Version"/>
-<l:gentext key="Revision" text="Version"/>
-<l:gentext key="sect1" text="Section"/>
-<l:gentext key="sect2" text="Section"/>
-<l:gentext key="sect3" text="Section"/>
-<l:gentext key="sect4" text="Section"/>
-<l:gentext key="sect5" text="Section"/>
-<l:gentext key="section" text="section"/>
-<l:gentext key="Section" text="Section"/>
-<l:gentext key="see" text="voir"/>
-<l:gentext key="See" text="Voir"/>
-<l:gentext key="seealso" text="voir aussi"/>
-<l:gentext key="Seealso" text="Voir aussi"/>
-<l:gentext key="SeeAlso" text="Voir Aussi"/>
-<l:gentext key="set" text="Ensemble"/>
-<l:gentext key="Set" text="Ensemble"/>
-<l:gentext key="setindex" text="Index"/>
-<l:gentext key="SetIndex" text="Index"/>
-<l:gentext key="Sidebar" text="Filet vertical"/>
-<l:gentext key="sidebar" text="Filet vertical"/>
-<l:gentext key="step" text="Ã©tape"/>
-<l:gentext key="Step" text="Ãtape"/>
-<l:gentext key="table" text="Tableau"/>
-<l:gentext key="Table" text="Tableau"/>
-<l:gentext key="task" text="Task" lang="en"/>
-<l:gentext key="Task" text="Task" lang="en"/>
-<l:gentext key="tip" text="ASTUCE"/>
-<l:gentext key="TIP" text="ASTUCE"/>
-<l:gentext key="Tip" text="Astuce"/>
-<l:gentext key="Warning" text="Avertissement"/>
-<l:gentext key="warning" text="AVERTISSEMENT"/>
-<l:gentext key="WARNING" text="AVERTISSEMENT"/>
-<l:gentext key="and" text="et"/>
-<l:gentext key="by" text="par"/>
-<l:gentext key="Edited" text="PubliÃ©"/>
-<l:gentext key="edited" text="PubliÃ©"/>
-<l:gentext key="Editedby" text="PubliÃ© par"/>
-<l:gentext key="editedby" text="PubliÃ© par"/>
-<l:gentext key="in" text="dans"/>
-<l:gentext key="lastlistcomma" text=","/>
-<l:gentext key="listcomma" text=","/>
-<l:gentext key="nonexistantelement" text="Cet Ã©lÃ©ment n'existe pas"/>
-<l:gentext key="notes" text="Notes"/>
-<l:gentext key="Notes" text="Notes"/>
-<l:gentext key="Pgs" text="Pages"/>
-<l:gentext key="pgs" text="Pages"/>
-<l:gentext key="Revisedby" text="Revu et corrigÃ© parÂ : "/>
-<l:gentext key="revisedby" text="Revu et corrigÃ© parÂ : "/>
-<l:gentext key="TableNotes" text="Remarques"/>
-<l:gentext key="tablenotes" text="Remarques"/>
-<l:gentext key="TableofContents" text="Table des matiÃšres"/>
-<l:gentext key="tableofcontents" text="Table des matiÃšres"/>
-<l:gentext key="unexpectedelementname" text="Nom d'Ã©lÃ©ment inattendu"/>
-<l:gentext key="unsupported" text="Non reconnu par le systÃšme"/>
-<l:gentext key="xrefto" text="RÃ©fÃ©rence vers"/>
-<l:gentext key="Authors" text="Authors" lang="en"/>
-<l:gentext key="copyeditor" text="Copy Editor" lang="en"/>
-<l:gentext key="graphicdesigner" text="Graphic Designer" lang="en"/>
-<l:gentext key="productioneditor" text="Production Editor" lang="en"/>
-<l:gentext key="technicaleditor" text="Technical Editor" lang="en"/>
-<l:gentext key="translator" text="Translator" lang="en"/>
-<l:gentext key="listofequations" text="Liste des Ã©quations"/>
-<l:gentext key="ListofEquations" text="Liste des Ã©quations"/>
-<l:gentext key="ListofExamples" text="Liste des exemples"/>
-<l:gentext key="listofexamples" text="Liste des exemples"/>
-<l:gentext key="ListofFigures" text="Liste des illustrations"/>
-<l:gentext key="listoffigures" text="Liste des illustrations"/>
-<l:gentext key="ListofProcedures" text="Liste des procÃ©dures"/>
-<l:gentext key="listofprocedures" text="Liste des procÃ©dures"/>
-<l:gentext key="listoftables" text="Liste des tableaux"/>
-<l:gentext key="ListofTables" text="Liste des tableaux"/>
-<l:gentext key="ListofUnknown" text="Liste inconnue"/>
-<l:gentext key="listofunknown" text="Liste inconnue"/>
-<l:gentext key="nav-home" text="Sommaire"/>
-<l:gentext key="nav-next" text="Suivant"/>
-<l:gentext key="nav-next-sibling" text="Avance rapide"/>
-<l:gentext key="nav-prev" text="PrÃ©cÃ©dent"/>
-<l:gentext key="nav-prev-sibling" text="ArriÃšre rapide"/>
-<l:gentext key="nav-up" text="Niveau supÃ©rieur"/>
-<l:gentext key="nav-toc" text="TdM"/>
-<l:gentext key="Draft" text="Brouillon"/>
-<l:gentext key="above" text="au-dessus"/>
-<l:gentext key="below" text="au-dessous"/>
-<l:gentext key="sectioncalled" text="la section intitulÃ©e"/>
-<l:gentext key="index symbols" text="Symboles"/>
-<l:gentext key="lowercase.alpha" text="abcdefghijklmnopqrstuvwxyzÃ¢ÃªÃ®ÃŽÃ»Ã«Ã¯ÃŒÃ ÃšÃ¹Ã©Ã§ÃŠÅ"/>
-<l:gentext key="uppercase.alpha" text="ABCDEFGHIJKLMNOPQRSTUVWXYZÃÃÃÃÃÃÃÃÃÃÃÃÃÃÅ"/>
-<l:gentext key="normalize.sort.input" text="AaÃÃ ÃÃ¡ÃÃ¢ÃÃ£ÃÃ€Ã
-Ã¥ÄÄÄÄÄÄ
-ÇÇÇÇÇ Ç¡ÇºÇ»ÈÈÈÈÈŠÈ§ážážáºáº áº¡áº¢áº£áº€áº¥áºŠáº§áºšáº©áºªáº«áº¬áº­áº®áº¯áº°áº±áº²áº³áºŽáºµáº¶áº·BbÆÆÉÆÆážážážáž
-ážážCcÃÃ§ÄÄÄÄÄÄÄÄÆÆÉážážDdÄÄÄÄÆÉÆÆÇ
-Ç²È¡ÉážážážážážážážážážážEeÃÃšÃÃ©ÃÃªÃÃ«ÄÄÄÄÄÄÄÄÄÄÈÈ
-ÈÈÈšÈ©ážážážážážážážážážážáºžáº¹áººáº»áºŒáºœáºŸáº¿á»á»á»á»á»á»
-á»á»FfÆÆážážGgÄÄÄÄÄ Ä¡Ä¢Ä£ÆÉ Ç€Ç¥ÇŠÇ§ÇŽÇµáž áž¡HhÄ€Ä¥ÄŠÄ§ÈÈÉŠáž¢áž£áž€áž¥ážŠáž§ážšáž©ážªáž«áºIiÃÃ¬ÃÃ­ÃÃ®ÃÃ¯ÄšÄ©ÄªÄ«Ä¬Ä­Ä®Ä¯Ä°ÆÉšÇÇÈÈÈÈáž¬áž­áž®áž¯á»á»á»á»JjÄŽÄµÇ°ÊKkÄ¶Ä·ÆÆÇšÇ©áž°áž±áž²áž³ážŽážµLlÄ¹ÄºÄ»ÄŒÄœÄŸÄ¿ÅÅÅÆÇÈŽÉ«É¬É­áž¶áž·ážžáž¹ážºáž»ážŒážœMmÉ±ážŸáž¿á¹á¹á¹á¹NnÃÃ±ÅÅÅ
-ÅÅÅÆÉ²ÆÈ ÇÇžÇ¹ÈµÉ³á¹á¹
-á¹á¹á¹á¹á¹á¹OoÃÃ²ÃÃ³ÃÃŽÃÃµÃÃ¶ÃÃžÅÅÅÅÅÅÆÆ Æ¡ÇÇÇªÇ«Ç¬Ç­ÇŸÇ¿ÈÈÈÈÈªÈ«È¬È­È®È¯È°È±á¹á¹á¹á¹á¹á¹á¹á¹á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á» á»¡á»¢á»£PpÆ€Æ¥á¹á¹á¹á¹QqÊ RrÅÅÅÅÅÅÈÈÈÈÉŒÉœÉŸá¹á¹á¹á¹á¹á¹á¹á¹SsÅÅÅÅÅÅÅ Å¡ÈÈÊá¹ á¹¡á¹¢á¹£á¹€á¹¥á¹Šá¹§á¹šá¹©TtÅ¢Å£Å€Å¥ÅŠÅ§Æ«Æ¬Æ­Æ®ÊÈÈÈ¶á¹ªá¹«á¹¬á¹­á¹®á¹¯á¹°á¹±áºUuÃÃ¹ÃÃºÃÃ»ÃÃŒÅšÅ©ÅªÅ«Å¬Å­Å®Å¯Å°Å±Å²Å³Æ¯Æ°ÇÇÇÇÇÇÇÇÇÇÈÈÈÈá¹²á¹³á¹Žá¹µá¹¶á¹·á¹žá¹¹á¹ºá¹»á»€á»¥á»Šá»§á»šá»©á»ªá»«á»¬á»­á»®á»¯á»°á»±VvÆ²Êá¹Œá¹œá¹Ÿá¹¿WwÅŽÅµáºáºáºáºáºáº
-áºáºáºáºáºXxáºáºáºáºYyÃÃœÃ¿ÅžÅ¶Å·Æ³ÆŽÈ²È³áºáºáºá»²á»³á»Žá»µá»¶á»·á»žá»¹ZzÅ¹ÅºÅ»ÅŒÅœÅŸÆµÆ¶È€È¥ÊÊáºáºáºáºáºáºáº" lang="en"/>
-<l:gentext key="normalize.sort.output" text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ" lang="en"/>
-<l:dingbat key="startquote" text="Â«Â "/>
-<l:dingbat key="endquote" text="Â Â»"/>
-<l:dingbat key="nestedstartquote" text="â"/>
-<l:dingbat key="nestedendquote" text="â"/>
-<l:dingbat key="singlestartquote" text="â¹"/>
-<l:dingbat key="singleendquote" text="âº"/>
-<l:dingbat key="bullet" text="â¢"/>
-<l:gentext key="hyphenation-character" text="-"/>
-<l:gentext key="hyphenation-push-character-count" text="2"/>
-<l:gentext key="hyphenation-remain-character-count" text="2"/>
-<l:context name="styles"><l:template name="person-name" text="first-last"/>
-</l:context>
-<l:context name="title"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="%t"/>
-<l:template name="appendix" text="AnnexeÂ %n.Â %t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="biblioentry" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliolist" text="%t" lang="en"/>
-<l:template name="bibliomixed" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="ChapitreÂ %n.Â %t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="ÃquationÂ %n.Â %t"/>
-<l:template name="example" text="ExempleÂ %n.Â %t"/>
-<l:template name="figure" text="FigureÂ %n.Â %t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="glosslist" text="%t" lang="en"/>
-<l:template name="glossentry" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text=""/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="%t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="procedure.formal" text="ProcÃ©dureÂ %n.Â %t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="productionset.formal" text="ProductionÂ %n"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="%t"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="%t"/>
-<l:template name="refentry" text="%t"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsection" text="%t"/>
-<l:template name="refsect1" text="%t"/>
-<l:template name="refsect2" text="%t"/>
-<l:template name="refsect3" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="refsynopsisdivinfo" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="step" text="%t"/>
-<l:template name="table" text="TableauÂ %n.Â %t"/>
-<l:template name="task" text="%t"/>
-<l:template name="tasksummary" text="%t" lang="en"/>
-<l:template name="taskprerequisites" text="%t" lang="en"/>
-<l:template name="taskrelated" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text=""/>
-<l:template name="warning" text="%t"/>
-</l:context>
-<l:context name="title-unnumbered"><l:template name="appendix" text="%t"/>
-<l:template name="article/appendix" text="%t"/>
-<l:template name="bridgehead" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="sect1" text="%t"/>
-<l:template name="sect2" text="%t"/>
-<l:template name="sect3" text="%t"/>
-<l:template name="sect4" text="%t"/>
-<l:template name="sect5" text="%t"/>
-<l:template name="section" text="%t"/>
-<l:template name="simplesect" text="%t"/>
-<l:template name="part" text="%t" lang="en"/>
-</l:context>
-<l:context name="title-numbered"><l:template name="appendix" text="AnnexeÂ %n.Â %t"/>
-<l:template name="article/appendix" text="%n.Â %t"/>
-<l:template name="bridgehead" text="%n.Â %t"/>
-<l:template name="chapter" text="ChapitreÂ %n.Â %t"/>
-<l:template name="part" text="PartieÂ %n.Â %t"/>
-<l:template name="sect1" text="%n.Â %t"/>
-<l:template name="sect2" text="%n.Â %t"/>
-<l:template name="sect3" text="%n.Â %t"/>
-<l:template name="sect4" text="%n.Â %t"/>
-<l:template name="sect5" text="%n.Â %t"/>
-<l:template name="section" text="%n.Â %t"/>
-<l:template name="simplesect" text="%t"/>
-</l:context>
-<l:context name="subtitle"><l:template name="appendix" text="%s"/>
-<l:template name="article" text="%s"/>
-<l:template name="bibliodiv" text="%s"/>
-<l:template name="biblioentry" text="%s"/>
-<l:template name="bibliography" text="%s"/>
-<l:template name="bibliomixed" text="%s"/>
-<l:template name="bibliomset" text="%s"/>
-<l:template name="biblioset" text="%s"/>
-<l:template name="book" text="%s"/>
-<l:template name="chapter" text="%s"/>
-<l:template name="colophon" text="%s"/>
-<l:template name="dedication" text="%s"/>
-<l:template name="glossary" text="%s"/>
-<l:template name="glossdiv" text="%s"/>
-<l:template name="index" text="%s"/>
-<l:template name="indexdiv" text="%s"/>
-<l:template name="lot" text="%s"/>
-<l:template name="part" text="%s"/>
-<l:template name="partintro" text="%s"/>
-<l:template name="preface" text="%s"/>
-<l:template name="refentry" text="%s"/>
-<l:template name="reference" text="%s"/>
-<l:template name="refsection" text="%s"/>
-<l:template name="refsect1" text="%s"/>
-<l:template name="refsect2" text="%s"/>
-<l:template name="refsect3" text="%s"/>
-<l:template name="refsynopsisdiv" text="%s"/>
-<l:template name="sect1" text="%s"/>
-<l:template name="sect2" text="%s"/>
-<l:template name="sect3" text="%s"/>
-<l:template name="sect4" text="%s"/>
-<l:template name="sect5" text="%s"/>
-<l:template name="section" text="%s"/>
-<l:template name="set" text="%s"/>
-<l:template name="setindex" text="%s"/>
-<l:template name="sidebar" text="%s"/>
-<l:template name="simplesect" text="%s"/>
-<l:template name="toc" text="%s"/>
-</l:context>
-<l:context name="xref"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="RÂ :Â %n"/>
-<l:template name="appendix" text="%t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="constraintdef" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="%t"/>
-<l:template name="example" text="%t"/>
-<l:template name="figure" text="%t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text="%n"/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="%t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="QÂ :Â %n"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="QÂ :Â %n"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="table" text="%t"/>
-<l:template name="task" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text="%n"/>
-<l:template name="warning" text="%t"/>
-<l:template name="olink.document.citation" text=" in %o" lang="en"/>
-<l:template name="olink.page.citation" text=" (page %p)" lang="en"/>
-<l:template name="page.citation" text=" [%p]"/>
-<l:template name="page" text="(page %p)"/>
-<l:template name="docname" text=" in %o" lang="en"/>
-<l:template name="docnamelong" text=" in the document titled %o" lang="en"/>
-<l:template name="pageabbrev" text="(p. %p)"/>
-<l:template name="Page" text="Page %p"/>
-<l:template name="bridgehead" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="refsection" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="refsect1" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="refsect2" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="refsect3" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="sect1" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="sect2" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="sect3" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="sect4" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="sect5" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="section" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="simplesect" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-</l:context>
-<l:context name="xref-number"><l:template name="answer" text="RÂ :Â %n"/>
-<l:template name="appendix" text="AnnexeÂ %n"/>
-<l:template name="bridgehead" text="SectionÂ %n"/>
-<l:template name="chapter" text="ChapitreÂ %n"/>
-<l:template name="equation" text="ÃquationÂ %n"/>
-<l:template name="example" text="ExempleÂ %n"/>
-<l:template name="figure" text="FigureÂ %n"/>
-<l:template name="part" text="PartieÂ %n"/>
-<l:template name="procedure" text="ProcÃ©dureÂ %n"/>
-<l:template name="productionset" text="ProductionÂ %n"/>
-<l:template name="qandadiv" text="Q &amp; RÂ %n"/>
-<l:template name="qandaentry" text="QÂ :Â %n"/>
-<l:template name="question" text="QÂ :Â %n"/>
-<l:template name="sect1" text="SectionÂ %n"/>
-<l:template name="sect2" text="SectionÂ %n"/>
-<l:template name="sect3" text="SectionÂ %n"/>
-<l:template name="sect4" text="SectionÂ %n"/>
-<l:template name="sect5" text="SectionÂ %n"/>
-<l:template name="section" text="SectionÂ %n"/>
-<l:template name="table" text="TableauÂ %n"/>
-</l:context>
-<l:context name="xref-number-and-title"><l:template name="appendix" text="AnnexeÂ %n, %t"/>
-<l:template name="bridgehead" text="SectionÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="chapter" text="ChapitreÂ %n, %t"/>
-<l:template name="equation" text="ÃquationÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="example" text="ExempleÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="figure" text="FigureÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="part" text="PartieÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="procedure" text="ProcÃ©dureÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="productionset" text="ProductionÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="qandadiv" text="Q &amp; RÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="refsect1" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="refsect2" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="refsect3" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="refsection" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="sect1" text="SectionÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="sect2" text="SectionÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="sect3" text="SectionÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="sect4" text="SectionÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="sect5" text="SectionÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="section" text="SectionÂ %n, Â«Â %tÂ Â»"/>
-<l:template name="simplesect" text="la section intitulÃ©e Â«Â %tÂ Â»"/>
-<l:template name="table" text="TableauÂ %n, Â«Â %tÂ Â»"/>
-</l:context>
-<l:context name="authorgroup"><l:template name="sep" text=", "/>
-<l:template name="sep2" text=" et "/>
-<l:template name="seplast" text=", et "/>
-</l:context>
-<l:context name="glossary"><l:template name="see" text="Voir %t"/>
-<l:template name="seealso" text="Voir aussi %t"/>
-</l:context>
-<l:context name="msgset"><l:template name="MsgAud" text="Public visÃ©: "/>
-<l:template name="MsgLevel" text="Niveau: "/>
-<l:template name="MsgOrig" text="Origine: "/>
-</l:context>
-<l:context name="datetime"><l:template name="format" text="d/m/Y"/>
-</l:context>
-<l:context name="termdef"><l:template name="prefix" text="[Definition: " lang="en"/>
-<l:template name="suffix" text="]" lang="en"/>
-</l:context>
-<l:context name="datetime-full"><l:template name="January" text="janvier"/>
-<l:template name="February" text="fÃ©vrier"/>
-<l:template name="March" text="mars"/>
-<l:template name="April" text="avril"/>
-<l:template name="May" text="mai"/>
-<l:template name="June" text="juin"/>
-<l:template name="July" text="juillet"/>
-<l:template name="August" text="aoÃ»t"/>
-<l:template name="September" text="septembre"/>
-<l:template name="October" text="octobre"/>
-<l:template name="November" text="novembre"/>
-<l:template name="December" text="dÃ©cembre"/>
-<l:template name="Monday" text="lundi"/>
-<l:template name="Tuesday" text="mardi"/>
-<l:template name="Wednesday" text="mercredi"/>
-<l:template name="Thursday" text="jeudi"/>
-<l:template name="Friday" text="vendredi"/>
-<l:template name="Saturday" text="samedi"/>
-<l:template name="Sunday" text="dimanche"/>
-</l:context>
-<l:context name="datetime-abbrev"><l:template name="Jan" text="jan"/>
-<l:template name="Feb" text="fÃ©v"/>
-<l:template name="Mar" text="mar"/>
-<l:template name="Apr" text="avr"/>
-<l:template name="May" text="mai"/>
-<l:template name="Jun" text="jun"/>
-<l:template name="Jul" text="jui"/>
-<l:template name="Aug" text="aoÃ»"/>
-<l:template name="Sep" text="sep"/>
-<l:template name="Oct" text="oct"/>
-<l:template name="Nov" text="nov"/>
-<l:template name="Dec" text="dÃ©c"/>
-<l:template name="Mon" text="lun"/>
-<l:template name="Tue" text="mar"/>
-<l:template name="Wed" text="mer"/>
-<l:template name="Thu" text="jeu"/>
-<l:template name="Fri" text="ven"/>
-<l:template name="Sat" text="sam"/>
-<l:template name="Sun" text="dim"/>
-</l:context>
-<l:context name="htmlhelp"><l:template name="langcode" text="0x040c French (FRANCE)"/>
-</l:context>
-<l:context name="index"><l:template name="term-separator" text=", " lang="en"/>
-<l:template name="number-separator" text=", " lang="en"/>
-<l:template name="range-separator" text="-" lang="en"/>
-</l:context>
-<l:context name="iso690"><l:template name="lastfirst.sep" text=", " lang="en"/>
-<l:template name="alt.person.two.sep" text=" â " lang="en"/>
-<l:template name="alt.person.last.sep" text=" â " lang="en"/>
-<l:template name="alt.person.more.sep" text=" â " lang="en"/>
-<l:template name="primary.editor" text=" (ed.)" lang="en"/>
-<l:template name="primary.many" text=", et al." lang="en"/>
-<l:template name="primary.sep" text=". " lang="en"/>
-<l:template name="submaintitle.sep" text=": " lang="en"/>
-<l:template name="title.sep" text=". " lang="en"/>
-<l:template name="othertitle.sep" text=", " lang="en"/>
-<l:template name="medium1" text=" [" lang="en"/>
-<l:template name="medium2" text="]" lang="en"/>
-<l:template name="secondary.person.sep" text="; " lang="en"/>
-<l:template name="secondary.sep" text=". " lang="en"/>
-<l:template name="respons.sep" text=". " lang="en"/>
-<l:template name="edition.sep" text=". " lang="en"/>
-<l:template name="edition.serial.sep" text=", " lang="en"/>
-<l:template name="issuing.range" text="-" lang="en"/>
-<l:template name="issuing.div" text=", " lang="en"/>
-<l:template name="issuing.sep" text=". " lang="en"/>
-<l:template name="partnr.sep" text=". " lang="en"/>
-<l:template name="placepubl.sep" text=": " lang="en"/>
-<l:template name="publyear.sep" text=", " lang="en"/>
-<l:template name="pubinfo.sep" text=". " lang="en"/>
-<l:template name="spec.pubinfo.sep" text=", " lang="en"/>
-<l:template name="upd.sep" text=", " lang="en"/>
-<l:template name="datecit1" text=" [cited " lang="en"/>
-<l:template name="datecit2" text="]" lang="en"/>
-<l:template name="extent.sep" text=". " lang="en"/>
-<l:template name="locs.sep" text=", " lang="en"/>
-<l:template name="location.sep" text=". " lang="en"/>
-<l:template name="serie.sep" text=". " lang="en"/>
-<l:template name="notice.sep" text=". " lang="en"/>
-<l:template name="access" text="Available " lang="en"/>
-<l:template name="acctoo" text="Also available " lang="en"/>
-<l:template name="onwww" text="from World Wide Web" lang="en"/>
-<l:template name="oninet" text="from Internet" lang="en"/>
-<l:template name="access.end" text=": " lang="en"/>
-<l:template name="link1" text="&lt;" lang="en"/>
-<l:template name="link2" text="&gt;" lang="en"/>
-<l:template name="access.sep" text=". " lang="en"/>
-<l:template name="isbn" text="ISBN " lang="en"/>
-<l:template name="issn" text="ISSN " lang="en"/>
-<l:template name="stdnum.sep" text=". " lang="en"/>
-<l:template name="patcountry.sep" text=". " lang="en"/>
-<l:template name="pattype.sep" text=", " lang="en"/>
-<l:template name="patnum.sep" text=". " lang="en"/>
-<l:template name="patdate.sep" text=". " lang="en"/>
-</l:context><l:letters><l:l i="-1"/>
-<l:l i="0">Symboles</l:l>
-<l:l i="1">A</l:l>
-<l:l i="1">a</l:l>
-<l:l i="1">Ã </l:l>
-<l:l i="1">Ã</l:l>
-<l:l i="1">Ã¢</l:l>
-<l:l i="1">Ã</l:l>
-<l:l i="1">Ã</l:l>
-<l:l i="1">ÃŠ</l:l>
-<l:l i="2">B</l:l>
-<l:l i="2">b</l:l>
-<l:l i="3">C</l:l>
-<l:l i="3">c</l:l>
-<l:l i="3">Ã§</l:l>
-<l:l i="4">D</l:l>
-<l:l i="4">d</l:l>
-<l:l i="5">E</l:l>
-<l:l i="5">e</l:l>
-<l:l i="5">Ãª</l:l>
-<l:l i="5">Ã</l:l>
-<l:l i="5">Ã©</l:l>
-<l:l i="5">Ã</l:l>
-<l:l i="5">Ãš</l:l>
-<l:l i="5">Ã</l:l>
-<l:l i="5">Ã«</l:l>
-<l:l i="5">Ã</l:l>
-<l:l i="5">â¬</l:l>
-<l:l i="6">F</l:l>
-<l:l i="6">f</l:l>
-<l:l i="7">G</l:l>
-<l:l i="7">g</l:l>
-<l:l i="8">H</l:l>
-<l:l i="8">h</l:l>
-<l:l i="9">I</l:l>
-<l:l i="9">i</l:l>
-<l:l i="9">Ã</l:l>
-<l:l i="9">Ã®</l:l>
-<l:l i="9">Ã</l:l>
-<l:l i="9">Ã¯</l:l>
-<l:l i="10">J</l:l>
-<l:l i="10">j</l:l>
-<l:l i="11">K</l:l>
-<l:l i="11">k</l:l>
-<l:l i="12">L</l:l>
-<l:l i="12">l</l:l>
-<l:l i="13">M</l:l>
-<l:l i="13">m</l:l>
-<l:l i="14">N</l:l>
-<l:l i="14">n</l:l>
-<l:l i="15">O</l:l>
-<l:l i="15">o</l:l>
-<l:l i="15">Ã</l:l>
-<l:l i="15">Ã¶</l:l>
-<l:l i="15">Å</l:l>
-<l:l i="15">Å</l:l>
-<l:l i="16">P</l:l>
-<l:l i="16">p</l:l>
-<l:l i="17">Q</l:l>
-<l:l i="17">q</l:l>
-<l:l i="18">R</l:l>
-<l:l i="18">r</l:l>
-<l:l i="19">S</l:l>
-<l:l i="19">s</l:l>
-<l:l i="20">T</l:l>
-<l:l i="20">t</l:l>
-<l:l i="21">U</l:l>
-<l:l i="21">u</l:l>
-<l:l i="21">Ã</l:l>
-<l:l i="21">Ã¹</l:l>
-<l:l i="21">Ã</l:l>
-<l:l i="21">Ã»</l:l>
-<l:l i="21">Ã</l:l>
-<l:l i="21">ÃŒ</l:l>
-<l:l i="22">V</l:l>
-<l:l i="22">v</l:l>
-<l:l i="23">W</l:l>
-<l:l i="23">w</l:l>
-<l:l i="24">X</l:l>
-<l:l i="24">x</l:l>
-<l:l i="25">Y</l:l>
-<l:l i="25">y</l:l>
-<l:l i="26">Z</l:l>
-<l:l i="26">z</l:l>
-</l:letters>
-</l:l10n>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/gentext.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/gentext.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,831 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                exclude-result-prefixes="doc"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-
-<xsl:template match="*" mode="object.title.template">
-  <xsl:call-template name="gentext.template">
-    <xsl:with-param name="context" select="'title'"/>
-    <xsl:with-param name="name">
-      <xsl:call-template name="xpath.location"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="chapter" mode="object.title.template">
-  <xsl:choose>
-    <xsl:when test="string($chapter.autolabel) != 0">
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'title-numbered'"/>
-        <xsl:with-param name="name">
-          <xsl:call-template name="xpath.location"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'title-unnumbered'"/>
-        <xsl:with-param name="name">
-          <xsl:call-template name="xpath.location"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="appendix" mode="object.title.template">
-  <xsl:choose>
-    <xsl:when test="string($appendix.autolabel) != 0">
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'title-numbered'"/>
-        <xsl:with-param name="name">
-          <xsl:call-template name="xpath.location"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'title-unnumbered'"/>
-        <xsl:with-param name="name">
-          <xsl:call-template name="xpath.location"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="part" mode="object.title.template">
-  <xsl:choose>
-    <xsl:when test="string($part.autolabel) != 0">
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'title-numbered'"/>
-        <xsl:with-param name="name">
-          <xsl:call-template name="xpath.location"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'title-unnumbered'"/>
-        <xsl:with-param name="name">
-          <xsl:call-template name="xpath.location"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="section|sect1|sect2|sect3|sect4|sect5|simplesect
-                     |bridgehead"
-              mode="object.title.template">
-  <xsl:variable name="is.numbered">
-    <xsl:call-template name="label.this.section"/>
-  </xsl:variable>
-  <xsl:choose>
-    <xsl:when test="$is.numbered != 0">
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'title-numbered'"/>
-        <xsl:with-param name="name">
-          <xsl:call-template name="xpath.location"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'title-unnumbered'"/>
-        <xsl:with-param name="name">
-          <xsl:call-template name="xpath.location"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="procedure" mode="object.title.template">
-  <xsl:choose>
-    <xsl:when test="$formal.procedures != 0 and title">
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'title'"/>
-        <xsl:with-param name="name">
-          <xsl:call-template name="xpath.location"/>
-          <xsl:text>.formal</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'title'"/>
-        <xsl:with-param name="name">
-          <xsl:call-template name="xpath.location"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="object.subtitle.template">
-  <xsl:call-template name="gentext.template">
-    <xsl:with-param name="context" select="'subtitle'"/>
-    <xsl:with-param name="name">
-      <xsl:call-template name="xpath.location"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="is.autonumber">
-  <xsl:value-of select="'0'"/>
-</xsl:template>
-
-<xsl:template match="section|sect1|sect2|sect3|sect4|sect5" 
-              mode="is.autonumber">
-  <xsl:call-template name="label.this.section"/>
-</xsl:template>
-
-<xsl:template match="figure|example|table|equation" mode="is.autonumber">
-  <xsl:value-of select="'1'"/>
-</xsl:template>
-
-<xsl:template match="appendix" mode="is.autonumber">
-  <xsl:value-of select="$appendix.autolabel"/>
-</xsl:template>
-
-<xsl:template match="chapter" mode="is.autonumber">
-  <xsl:value-of select="$chapter.autolabel"/>
-</xsl:template>
-
-<xsl:template match="part" mode="is.autonumber">
-  <xsl:value-of select="$part.autolabel"/>
-</xsl:template>
-
-<xsl:template match="preface" mode="is.autonumber">
-  <xsl:value-of select="$preface.autolabel"/>
-</xsl:template>
-
-<xsl:template match="question|answer" mode="is.autonumber">
-  <xsl:choose>
-    <xsl:when test="$qanda.defaultlabel = 'number'
-                    and not(label)">
-      <xsl:value-of select="'1'"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="'0'"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="qandadiv" mode="is.autonumber">
-  <xsl:value-of select="$qandadiv.autolabel"/>
-</xsl:template>
-
-<xsl:template match="bridgehead" mode="is.autonumber">
-  <xsl:value-of select="$section.autolabel"/>
-</xsl:template>
-
-<xsl:template match="*" mode="object.xref.template">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="referrer"/>
-
-  <!-- Is autonumbering on? -->
-  <xsl:variable name="autonumber">
-    <xsl:apply-templates select="." mode="is.autonumber"/>
-  </xsl:variable>
-
-  <xsl:variable name="number-and-title-template">
-    <xsl:call-template name="gentext.template.exists">
-      <xsl:with-param name="context" select="'xref-number-and-title'"/>
-      <xsl:with-param name="name">
-        <xsl:call-template name="xpath.location"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="number-template">
-    <xsl:call-template name="gentext.template.exists">
-      <xsl:with-param name="context" select="'xref-number'"/>
-      <xsl:with-param name="name">
-        <xsl:call-template name="xpath.location"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="context">
-    <xsl:choose>
-      <xsl:when test="string($autonumber) != 0 
-                      and $number-and-title-template != 0
-                      and $xref.with.number.and.title != 0">
-         <xsl:value-of select="'xref-number-and-title'"/>
-      </xsl:when>
-      <xsl:when test="string($autonumber) != 0 
-                      and $number-template != 0">
-         <xsl:value-of select="'xref-number'"/>
-      </xsl:when>
-      <xsl:otherwise>
-         <xsl:value-of select="'xref'"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="gentext.template">
-    <xsl:with-param name="context" select="$context"/>
-    <xsl:with-param name="name">
-      <xsl:call-template name="xpath.location"/>
-    </xsl:with-param>
-    <xsl:with-param name="purpose" select="$purpose"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-  </xsl:call-template>
-
-</xsl:template>
-
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="object.title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="template">
-    <xsl:apply-templates select="." mode="object.title.template"/>
-  </xsl:variable>
-
-<!--
-  <xsl:message>
-    <xsl:text>object.title.markup: </xsl:text>
-    <xsl:value-of select="local-name(.)"/>
-    <xsl:text>: </xsl:text>
-    <xsl:value-of select="$template"/>
-  </xsl:message>
--->
-
-  <xsl:call-template name="substitute-markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-    <xsl:with-param name="template" select="$template"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="*" mode="object.title.markup.textonly">
-  <xsl:variable name="title">
-    <xsl:apply-templates select="." mode="object.title.markup"/>
-  </xsl:variable>
-  <xsl:value-of select="normalize-space($title)"/>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="object.titleabbrev.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-
-  <!-- Just for consistency in template naming -->
-
-  <xsl:apply-templates select="." mode="titleabbrev.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="object.subtitle.markup">
-  <xsl:variable name="template">
-    <xsl:apply-templates select="." mode="object.subtitle.template"/>
-  </xsl:variable>
-
-  <xsl:call-template name="substitute-markup">
-    <xsl:with-param name="template" select="$template"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="object.xref.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="referrer"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:variable name="template">
-    <xsl:choose>
-      <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:')">
-        <xsl:call-template name="make.gentext.template">
-          <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-          <xsl:with-param name="purpose" select="$purpose"/>
-          <xsl:with-param name="referrer" select="$referrer"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:when test="starts-with(normalize-space($xrefstyle), 'template:')">
-        <xsl:value-of select="substring-after(normalize-space($xrefstyle), 'template:')"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates select="." mode="object.xref.template">
-          <xsl:with-param name="purpose" select="$purpose"/>
-          <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-          <xsl:with-param name="referrer" select="$referrer"/>
-        </xsl:apply-templates>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-<!-- 
-  <xsl:message>
-    <xsl:text>object.xref.markup: </xsl:text>
-    <xsl:value-of select="local-name(.)"/>
-    <xsl:text>(</xsl:text>
-    <xsl:value-of select="$xrefstyle"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$purpose"/>
-    <xsl:text>)</xsl:text>
-    <xsl:text>: [</xsl:text>
-    <xsl:value-of select="$template"/>
-    <xsl:text>]</xsl:text>
-  </xsl:message>
--->
-
-  <xsl:if test="$template = '' and $verbose != 0">
-    <xsl:message>
-      <xsl:text>object.xref.markup: empty xref template</xsl:text>
-      <xsl:text> for linkend="</xsl:text>
-      <xsl:value-of select="@id|@xml:id"/>
-      <xsl:text>" and @xrefstyle="</xsl:text>
-      <xsl:value-of select="$xrefstyle"/>
-      <xsl:text>"</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:call-template name="substitute-markup">
-    <xsl:with-param name="purpose" select="$purpose"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="template" select="$template"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="listitem" mode="object.xref.markup">
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="parent::orderedlist">
-      <xsl:variable name="template">
-        <xsl:apply-templates select="." mode="object.xref.template"/>
-      </xsl:variable>
-      <xsl:call-template name="substitute-markup">
-        <xsl:with-param name="template" select="$template"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$verbose != 0">
-      <xsl:message>
-        <xsl:text>Xref is only supported to listitems in an</xsl:text>
-        <xsl:text> orderedlist: </xsl:text>
-        <xsl:value-of select="@id|@xml:id"/>
-      </xsl:message>
-      <xsl:text>???</xsl:text>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="question" mode="object.xref.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="referrer"/>
-
-  <xsl:variable name="deflabel">
-    <xsl:choose>
-      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
-        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
-                              /@defaultlabel"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$qanda.defaultlabel"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="template">
-    <xsl:choose>
-      <!-- This avoids double Q: Q: in xref when defaultlabel=qanda -->
-      <xsl:when test="$deflabel = 'qanda' and not(label)">%n</xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates select="." mode="object.xref.template">
-          <xsl:with-param name="purpose" select="$purpose"/>
-          <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-          <xsl:with-param name="referrer" select="$referrer"/>
-        </xsl:apply-templates>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="substitute-markup">
-    <xsl:with-param name="purpose" select="$purpose"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="template" select="$template"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template name="substitute-markup">
-  <xsl:param name="template" select="''"/>
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:param name="title" select="''"/>
-  <xsl:param name="subtitle" select="''"/>
-  <xsl:param name="docname" select="''"/>
-  <xsl:param name="label" select="''"/>
-  <xsl:param name="pagenumber" select="''"/>
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="referrer"/>
-  <xsl:param name="verbose"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($template, '%')">
-      <xsl:value-of select="substring-before($template, '%')"/>
-      <xsl:variable name="candidate"
-             select="substring(substring-after($template, '%'), 1, 1)"/>
-      <xsl:choose>
-        <xsl:when test="$candidate = 't'">
-          <xsl:apply-templates select="." mode="insert.title.markup">
-            <xsl:with-param name="purpose" select="$purpose"/>
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-            <xsl:with-param name="title">
-              <xsl:choose>
-                <xsl:when test="$title != ''">
-                  <xsl:copy-of select="$title"/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:apply-templates select="." mode="title.markup">
-                    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-                    <xsl:with-param name="verbose" select="$verbose"/>
-                  </xsl:apply-templates>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:when test="$candidate = 's'">
-          <xsl:apply-templates select="." mode="insert.subtitle.markup">
-            <xsl:with-param name="purpose" select="$purpose"/>
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-            <xsl:with-param name="subtitle">
-              <xsl:choose>
-                <xsl:when test="$subtitle != ''">
-                  <xsl:copy-of select="$subtitle"/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:apply-templates select="." mode="subtitle.markup">
-                    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-                  </xsl:apply-templates>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:when test="$candidate = 'n'">
-          <xsl:apply-templates select="." mode="insert.label.markup">
-            <xsl:with-param name="purpose" select="$purpose"/>
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-            <xsl:with-param name="label">
-              <xsl:choose>
-                <xsl:when test="$label != ''">
-                  <xsl:copy-of select="$label"/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:apply-templates select="." mode="label.markup"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:when test="$candidate = 'p'">
-          <xsl:apply-templates select="." mode="insert.pagenumber.markup">
-            <xsl:with-param name="purpose" select="$purpose"/>
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-            <xsl:with-param name="pagenumber">
-              <xsl:choose>
-                <xsl:when test="$pagenumber != ''">
-                  <xsl:copy-of select="$pagenumber"/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:apply-templates select="." mode="pagenumber.markup"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:when test="$candidate = 'o'">
-          <!-- olink target document title -->
-          <xsl:apply-templates select="." mode="insert.olink.docname.markup">
-            <xsl:with-param name="purpose" select="$purpose"/>
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-            <xsl:with-param name="docname">
-              <xsl:choose>
-                <xsl:when test="$docname != ''">
-                  <xsl:copy-of select="$docname"/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:apply-templates select="." mode="olink.docname.markup"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:when test="$candidate = 'd'">
-          <xsl:apply-templates select="." mode="insert.direction.markup">
-            <xsl:with-param name="purpose" select="$purpose"/>
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-            <xsl:with-param name="direction">
-              <xsl:choose>
-                <xsl:when test="$referrer">
-                  <xsl:variable name="referent-is-below">
-                    <xsl:for-each select="preceding::xref">
-                      <xsl:if test="generate-id(.) = generate-id($referrer)">1</xsl:if>
-                    </xsl:for-each>
-                  </xsl:variable>
-                  <xsl:choose>
-                    <xsl:when test="$referent-is-below = ''">
-                      <xsl:call-template name="gentext">
-                        <xsl:with-param name="key" select="'above'"/>
-                      </xsl:call-template>
-                    </xsl:when>
-                    <xsl:otherwise>
-                      <xsl:call-template name="gentext">
-                        <xsl:with-param name="key" select="'below'"/>
-                      </xsl:call-template>
-                    </xsl:otherwise>
-                  </xsl:choose>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:message>Attempt to use %d in gentext with no referrer!</xsl:message>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:when test="$candidate = '%' ">
-          <xsl:text>%</xsl:text>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:text>%</xsl:text><xsl:value-of select="$candidate"/>
-        </xsl:otherwise>
-      </xsl:choose>
-      <!-- recurse with the rest of the template string -->
-      <xsl:variable name="rest"
-            select="substring($template,
-            string-length(substring-before($template, '%'))+3)"/>
-      <xsl:call-template name="substitute-markup">
-        <xsl:with-param name="template" select="$rest"/>
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-        <xsl:with-param name="title" select="$title"/>
-        <xsl:with-param name="subtitle" select="$subtitle"/>
-        <xsl:with-param name="docname" select="$docname"/>
-        <xsl:with-param name="label" select="$label"/>
-        <xsl:with-param name="pagenumber" select="$pagenumber"/>
-        <xsl:with-param name="purpose" select="$purpose"/>
-        <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-        <xsl:with-param name="referrer" select="$referrer"/>
-        <xsl:with-param name="verbose" select="$verbose"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$template"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template name="make.gentext.template">
-  <xsl:param name="xrefstyle" select="''"/>
-  <xsl:param name="purpose"/>
-  <xsl:param name="referrer"/>
-  <xsl:param name="lang">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:param>
-  <xsl:param name="target.elem" select="local-name(.)"/>
-
-  <!-- parse xrefstyle to get parts -->
-  <xsl:variable name="parts"
-      select="substring-after(normalize-space($xrefstyle), 'select:')"/>
-
-  <xsl:variable name="labeltype">
-    <xsl:choose>
-      <xsl:when test="contains($parts, 'labelnumber')">
-         <xsl:text>labelnumber</xsl:text>
-      </xsl:when>
-      <xsl:when test="contains($parts, 'labelname')">
-         <xsl:text>labelname</xsl:text>
-      </xsl:when>
-      <xsl:when test="contains($parts, 'label')">
-         <xsl:text>label</xsl:text>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="titletype">
-    <xsl:choose>
-      <xsl:when test="contains($parts, 'quotedtitle')">
-         <xsl:text>quotedtitle</xsl:text>
-      </xsl:when>
-      <xsl:when test="contains($parts, 'title')">
-         <xsl:text>title</xsl:text>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="pagetype">
-    <xsl:choose>
-      <xsl:when test="$insert.olink.page.number = 'no' and
-                      local-name($referrer) = 'olink'">
-        <!-- suppress page numbers -->
-      </xsl:when>
-      <xsl:when test="$insert.xref.page.number = 'no' and
-                      local-name($referrer) != 'olink'">
-        <!-- suppress page numbers -->
-      </xsl:when>
-      <xsl:when test="contains($parts, 'nopage')">
-         <xsl:text>nopage</xsl:text>
-      </xsl:when>
-      <xsl:when test="contains($parts, 'pagenumber')">
-         <xsl:text>pagenumber</xsl:text>
-      </xsl:when>
-      <xsl:when test="contains($parts, 'pageabbrev')">
-         <xsl:text>pageabbrev</xsl:text>
-      </xsl:when>
-      <xsl:when test="contains($parts, 'Page')">
-         <xsl:text>Page</xsl:text>
-      </xsl:when>
-      <xsl:when test="contains($parts, 'page')">
-         <xsl:text>page</xsl:text>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="docnametype">
-    <xsl:choose>
-      <xsl:when test="($olink.doctitle = 0 or
-                       $olink.doctitle = 'no') and
-                      local-name($referrer) = 'olink'">
-        <!-- suppress docname -->
-      </xsl:when>
-      <xsl:when test="contains($parts, 'nodocname')">
-         <xsl:text>nodocname</xsl:text>
-      </xsl:when>
-      <xsl:when test="contains($parts, 'docnamelong')">
-         <xsl:text>docnamelong</xsl:text>
-      </xsl:when>
-      <xsl:when test="contains($parts, 'docname')">
-         <xsl:text>docname</xsl:text>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="$labeltype != ''">
-    <xsl:choose>
-      <xsl:when test="$labeltype = 'labelname'">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key">
-            <xsl:choose>
-              <xsl:when test="local-name($referrer) = 'olink'">
-                <xsl:value-of select="$target.elem"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:value-of select="local-name(.)"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:when test="$labeltype = 'labelnumber'">
-        <xsl:text>%n</xsl:text>
-      </xsl:when>
-      <xsl:when test="$labeltype = 'label'">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'xref-number'"/>
-          <xsl:with-param name="name">
-            <xsl:choose>
-              <xsl:when test="local-name($referrer) = 'olink'">
-                <xsl:value-of select="$target.elem"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:call-template name="xpath.location"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-          <xsl:with-param name="purpose" select="$purpose"/>
-          <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-          <xsl:with-param name="referrer" select="$referrer"/>
-        </xsl:call-template>
-      </xsl:when>
-    </xsl:choose>
-
-    <xsl:choose>
-      <xsl:when test="$titletype != ''">
-        <xsl:value-of select="$xref.label-title.separator"/>
-      </xsl:when>
-      <xsl:when test="$pagetype != ''">
-        <xsl:value-of select="$xref.label-page.separator"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:if>
-
-  <xsl:if test="$titletype != ''">
-    <xsl:choose>
-      <xsl:when test="$titletype = 'title'">
-        <xsl:text>%t</xsl:text>
-      </xsl:when>
-      <xsl:when test="$titletype = 'quotedtitle'">
-        <xsl:call-template name="gentext.dingbat">
-          <xsl:with-param name="dingbat" select="'startquote'"/>
-        </xsl:call-template>
-        <xsl:text>%t</xsl:text>
-        <xsl:call-template name="gentext.dingbat">
-          <xsl:with-param name="dingbat" select="'endquote'"/>
-        </xsl:call-template>
-      </xsl:when>
-    </xsl:choose>
-
-    <xsl:choose>
-      <xsl:when test="$pagetype != '' and $pagetype != 'nopage'">
-        <xsl:value-of select="$xref.title-page.separator"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:if>
-  
-  <!-- special case: use regular xref template if just turning off page -->
-  <xsl:if test="($pagetype = 'nopage' or $docnametype = 'nodocname')
-                  and local-name($referrer) != 'olink'
-                  and $labeltype = '' 
-                  and $titletype = ''">
-    <xsl:apply-templates select="." mode="object.xref.template">
-      <xsl:with-param name="purpose" select="$purpose"/>
-      <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-      <xsl:with-param name="referrer" select="$referrer"/>
-    </xsl:apply-templates>
-  </xsl:if>
-
-  <xsl:if test="$pagetype != ''">
-    <xsl:choose>
-      <xsl:when test="$pagetype = 'page'">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'xref'"/>
-          <xsl:with-param name="name" select="'page'"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:when test="$pagetype = 'Page'">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'xref'"/>
-          <xsl:with-param name="name" select="'Page'"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:when test="$pagetype = 'pageabbrev'">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'xref'"/>
-          <xsl:with-param name="name" select="'pageabbrev'"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:when test="$pagetype = 'pagenumber'">
-        <xsl:text>%p</xsl:text>
-      </xsl:when>
-    </xsl:choose>
-
-  </xsl:if>
-
-  <!-- Add reference to other document title -->
-  <xsl:if test="$docnametype != '' and local-name($referrer) = 'olink'">
-    <!-- Any separator should be in the gentext template -->
-    <xsl:choose>
-      <xsl:when test="$docnametype = 'docnamelong'">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'xref'"/>
-          <xsl:with-param name="name" select="'docnamelong'"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:when test="$docnametype = 'docname'">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'xref'"/>
-          <xsl:with-param name="name" select="'docname'"/>
-        </xsl:call-template>
-      </xsl:when>
-    </xsl:choose>
-
-  </xsl:if>
-  
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/insertfile.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/insertfile.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,111 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:xi="http://www.w3.org/2001/XInclude"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:param name="textdata.default.encoding"></xsl:param>
-
-<!-- * This stylesheet makes a copy of a source tree, replacing all -->
-<!-- * instances of the following with corresponding Xinclude instances -->
-<!-- * in the result tree. -->
-<!-- * -->
-<!-- *   <textobject><textdata fileref="foo.txt"> -->
-<!-- *   <imagedata format="linespecific" fileref="foo.txt"> -->
-<!-- *   <inlinegraphic format="linespecific" fileref="foo.txt"> -->
-<!-- * -->
-<!-- * Those become: -->
-<!-- * -->
-<!-- *   <xi:include href="foo.txt" parse="text"/> -->
-<!-- * -->
-<!-- * It also works as expected with entityref in place of fileref, -->
-<!-- * and copies over the value of the <textdata>âencodingâ atrribute (if -->
-<!-- * found). It is basically intended as an alternative to using the -->
-<!-- * DocBook XSLT Java insertfile() extension. -->
-
-<!-- ==================================================================== -->
-
-<xsl:template name="get.external.filename">
-  <xsl:choose>
-    <xsl:when test="@entityref">
-      <xsl:value-of select="unparsed-entity-uri(@entityref)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="@fileref"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="textobject[child::textdata[@entityref|@fileref]]">
-  <xsl:apply-templates select="textdata"/>
-</xsl:template>
-
-<xsl:template match="textdata[@entityref|@fileref]">
-  <xsl:variable name="filename">
-    <xsl:call-template name="get.external.filename"/>
-  </xsl:variable>
-  <xsl:variable name="encoding">
-    <xsl:choose>
-      <xsl:when test="@encoding">
-        <xsl:value-of select="@encoding"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$textdata.default.encoding"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xi:include href="{$filename}" parse="text" encoding="{$encoding}"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template
-    match="inlinemediaobject
-           [child::imageobject
-           [child::imagedata
-           [@format = 'linespecific' and
-           (@entityref|@fileref)]]]">
-  <xsl:apply-templates select="imageobject/imagedata"/>
-</xsl:template>
-
-<xsl:template match="imagedata
-                     [@format = 'linespecific' and
-                     (@entityref|@fileref)]">
-  <xsl:variable name="filename">
-    <xsl:call-template name="get.external.filename"/>
-  </xsl:variable>
-  <xi:include href="{$filename}" parse="text" encoding="{$textdata.default.encoding}"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="inlinegraphic
-                     [@format = 'linespecific' and
-                     (@entityref|@fileref)]">
-  <xsl:variable name="filename">
-    <xsl:call-template name="get.external.filename"/>
-  </xsl:variable>
-  <xi:include href="{$filename}" parse="text" encoding="{$textdata.default.encoding}"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- * copy everything else into result tree as-is -->
-<xsl:template match="node() | @*">
-  <xsl:copy>
-    <xsl:apply-templates select="@* | node()"/>
-  </xsl:copy>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/it.xml
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/it.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1241 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="it" english-language-name="Italian">
-
-<!-- * This file is generated automatically. -->
-<!-- * To submit changes to this file upstream (to the DocBook Project) -->
-<!-- * do not submit an edited version of this file. Instead, submit an -->
-<!-- * edited version of the source file at the following location: -->
-<!-- * -->
-<!-- *  https://svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/it.xml -->
-<!-- * -->
-<!-- * E-mail the edited it.xml source file to: -->
-<!-- * -->
-<!-- *  docbook-developers@lists.sourceforge.net -->
-
-<!-- ******************************************************************** -->
-
-<!-- This file is part of the XSL DocBook Stylesheet distribution. -->
-<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->
-<!-- copyright and other information. -->
-
-<!-- ******************************************************************** -->
-<!-- In these files, % with a letter is used for a placeholder: -->
-<!--   %t is the current element's title -->
-<!--   %s is the current element's subtitle (if applicable)-->
-<!--   %n is the current element's number label-->
-<!--   %p is the current element's page number (if applicable)-->
-<!-- ******************************************************************** -->
-
-
-<l:gentext key="Abstract" text="Estratto"/>
-<l:gentext key="abstract" text="Estratto"/>
-<l:gentext key="Answer" text="R:"/>
-<l:gentext key="answer" text="R:"/>
-<l:gentext key="Appendix" text="Appendice"/>
-<l:gentext key="appendix" text="appendice"/>
-<l:gentext key="Article" text="Articolo"/>
-<l:gentext key="article" text="Articolo"/>
-<l:gentext key="Author" text="Autori"/>
-<l:gentext key="Bibliography" text="Bibliografia"/>
-<l:gentext key="bibliography" text="Bibliografia"/>
-<l:gentext key="Book" text="Libro"/>
-<l:gentext key="book" text="Libro"/>
-<l:gentext key="CAUTION" text="ATTENZIONE"/>
-<l:gentext key="Caution" text="Attenzione"/>
-<l:gentext key="caution" text="Attenzione"/>
-<l:gentext key="Chapter" text="Capitolo"/>
-<l:gentext key="chapter" text="capitolo"/>
-<l:gentext key="Colophon" text="Colophon"/>
-<l:gentext key="colophon" text="Colophon"/>
-<l:gentext key="Copyright" text="Copyright"/>
-<l:gentext key="copyright" text="Copyright"/>
-<l:gentext key="Dedication" text="Dedica"/>
-<l:gentext key="dedication" text="Dedica"/>
-<l:gentext key="Edition" text="Edizione"/>
-<l:gentext key="edition" text="Edizione"/>
-<l:gentext key="Editor" text="Editor" lang="en"/>
-<l:gentext key="Equation" text="Equazione"/>
-<l:gentext key="equation" text="Equazione"/>
-<l:gentext key="Example" text="Esempio"/>
-<l:gentext key="example" text="Esempio"/>
-<l:gentext key="Figure" text="Figura"/>
-<l:gentext key="figure" text="Figura"/>
-<l:gentext key="Glossary" text="Glossario"/>
-<l:gentext key="glossary" text="Glossario"/>
-<l:gentext key="GlossSee" text="Vedi"/>
-<l:gentext key="glosssee" text="Vedi"/>
-<l:gentext key="GlossSeeAlso" text="Vedi Anche"/>
-<l:gentext key="glossseealso" text="Vedi Anche"/>
-<l:gentext key="IMPORTANT" text="IMPORTANTE"/>
-<l:gentext key="important" text="Importante"/>
-<l:gentext key="Important" text="Importante"/>
-<l:gentext key="Index" text="Indice"/>
-<l:gentext key="index" text="Indice"/>
-<l:gentext key="ISBN" text="ISBN"/>
-<l:gentext key="isbn" text="ISBN"/>
-<l:gentext key="LegalNotice" text="Note Legali"/>
-<l:gentext key="legalnotice" text="Note Legali"/>
-<l:gentext key="MsgAud" text="Pubblico"/>
-<l:gentext key="msgaud" text="Pubblico"/>
-<l:gentext key="MsgLevel" text="Livello"/>
-<l:gentext key="msglevel" text="Livello"/>
-<l:gentext key="MsgOrig" text="Origine"/>
-<l:gentext key="msgorig" text="Origine"/>
-<l:gentext key="NOTE" text="NOTA"/>
-<l:gentext key="Note" text="Nota"/>
-<l:gentext key="note" text="Nota"/>
-<l:gentext key="Part" text="Parte"/>
-<l:gentext key="part" text="Parte"/>
-<l:gentext key="Preface" text="Prefazione"/>
-<l:gentext key="preface" text="Prefazione"/>
-<l:gentext key="Procedure" text="Procedura"/>
-<l:gentext key="procedure" text="Procedura"/>
-<l:gentext key="ProductionSet" text="Produzione"/>
-<l:gentext key="PubDate" text="Data di pubblicazione"/>
-<l:gentext key="pubdate" text="Data di pubblicazione"/>
-<l:gentext key="Published" text="Pubblicato"/>
-<l:gentext key="published" text="Pubblicato"/>
-<l:gentext key="Publisher" text="Publisher" lang="en"/>
-<l:gentext key="Qandadiv" text="D e R"/>
-<l:gentext key="qandadiv" text="D e R"/>
-<l:gentext key="QandASet" text="Frequently Asked Questions" lang="en"/>
-<l:gentext key="Question" text="D:"/>
-<l:gentext key="question" text="D:"/>
-<l:gentext key="RefEntry" text=""/>
-<l:gentext key="refentry" text=""/>
-<l:gentext key="Reference" text="Riferimento"/>
-<l:gentext key="reference" text="Riferimento"/>
-<l:gentext key="References" text="Riferimenti"/>
-<l:gentext key="RefName" text="Nome"/>
-<l:gentext key="refname" text="Nome"/>
-<l:gentext key="RefSection" text=""/>
-<l:gentext key="refsection" text=""/>
-<l:gentext key="RefSynopsisDiv" text="Sinossi"/>
-<l:gentext key="refsynopsisdiv" text="Sinossi"/>
-<l:gentext key="RevHistory" text="Diario delle Revisioni"/>
-<l:gentext key="revhistory" text="Diario delle Revisioni"/>
-<l:gentext key="revision" text="Revisione"/>
-<l:gentext key="Revision" text="Revisione"/>
-<l:gentext key="sect1" text="Sezione"/>
-<l:gentext key="sect2" text="Sezione"/>
-<l:gentext key="sect3" text="Sezione"/>
-<l:gentext key="sect4" text="Sezione"/>
-<l:gentext key="sect5" text="Sezione"/>
-<l:gentext key="section" text="Sezione"/>
-<l:gentext key="Section" text="Sezione"/>
-<l:gentext key="see" text="Vd."/>
-<l:gentext key="See" text="Vd."/>
-<l:gentext key="seealso" text="Vd. Anche"/>
-<l:gentext key="Seealso" text="Vd. anche"/>
-<l:gentext key="SeeAlso" text="Vd. Anche"/>
-<l:gentext key="set" text="Raccolta"/>
-<l:gentext key="Set" text="Raccolta"/>
-<l:gentext key="setindex" text="Indice Raccolta"/>
-<l:gentext key="SetIndex" text="Indice Raccolta"/>
-<l:gentext key="Sidebar" text=""/>
-<l:gentext key="sidebar" text="nota a margine"/>
-<l:gentext key="step" text="passo"/>
-<l:gentext key="Step" text="Passo"/>
-<l:gentext key="table" text="Tabella"/>
-<l:gentext key="Table" text="Tabella"/>
-<l:gentext key="task" text="Task" lang="en"/>
-<l:gentext key="Task" text="Task" lang="en"/>
-<l:gentext key="tip" text="Suggerimento"/>
-<l:gentext key="TIP" text="SUGGERIMENTO"/>
-<l:gentext key="Tip" text="Suggerimento"/>
-<l:gentext key="Warning" text="Avvertimento"/>
-<l:gentext key="warning" text="avvertimento"/>
-<l:gentext key="WARNING" text="AVVERTIMENTO"/>
-<l:gentext key="and" text="e"/>
-<l:gentext key="by" text="di"/>
-<l:gentext key="Edited" text="A cura"/>
-<l:gentext key="edited" text="A cura"/>
-<l:gentext key="Editedby" text="A cura di"/>
-<l:gentext key="editedby" text="A cura di"/>
-<l:gentext key="in" text="in"/>
-<l:gentext key="lastlistcomma" text=","/>
-<l:gentext key="listcomma" text=","/>
-<l:gentext key="nonexistantelement" text="elemento non esistente"/>
-<l:gentext key="notes" text="Note"/>
-<l:gentext key="Notes" text="Note"/>
-<l:gentext key="Pgs" text="pp."/>
-<l:gentext key="pgs" text="pp."/>
-<l:gentext key="Revisedby" text="Revisionato da: "/>
-<l:gentext key="revisedby" text="Revisionato da: "/>
-<l:gentext key="TableNotes" text="Note"/>
-<l:gentext key="tablenotes" text="Note"/>
-<l:gentext key="TableofContents" text="Sommario"/>
-<l:gentext key="tableofcontents" text="Sommario"/>
-<l:gentext key="unexpectedelementname" text="Nome elemento inaspettato"/>
-<l:gentext key="unsupported" text="non supportato"/>
-<l:gentext key="xrefto" text="riferimento a"/>
-<l:gentext key="Authors" text="Autori"/>
-<l:gentext key="copyeditor" text="Copy Editor" lang="en"/>
-<l:gentext key="graphicdesigner" text="Designer Grafico"/>
-<l:gentext key="productioneditor" text="Production Editor" lang="en"/>
-<l:gentext key="technicaleditor" text="Technical Editor" lang="en"/>
-<l:gentext key="translator" text="Traduttore"/>
-<l:gentext key="listofequations" text="Lista delle Equazioni"/>
-<l:gentext key="ListofEquations" text="Lista delle Equazioni"/>
-<l:gentext key="ListofExamples" text="Lista degli Esempi"/>
-<l:gentext key="listofexamples" text="Lista degli Esempi"/>
-<l:gentext key="ListofFigures" text="Lista delle Figure"/>
-<l:gentext key="listoffigures" text="Lista delle Figure"/>
-<l:gentext key="ListofProcedures" text="Lista delle procedure"/>
-<l:gentext key="listofprocedures" text="Lista delle procedure"/>
-<l:gentext key="listoftables" text="Lista delle Tabelle"/>
-<l:gentext key="ListofTables" text="Lista delle Tabelle"/>
-<l:gentext key="ListofUnknown" text="Lista degli Sconosciuti"/>
-<l:gentext key="listofunknown" text="Lista degli Sconosciuti"/>
-<l:gentext key="nav-home" text="Partenza"/>
-<l:gentext key="nav-next" text="Avanti"/>
-<l:gentext key="nav-next-sibling" text="Salta Avanti"/>
-<l:gentext key="nav-prev" text="Indietro"/>
-<l:gentext key="nav-prev-sibling" text="Salta Indietro"/>
-<l:gentext key="nav-up" text="Risali"/>
-<l:gentext key="nav-toc" text="ToC" lang="en"/>
-<l:gentext key="Draft" text="Bozza"/>
-<l:gentext key="above" text="sopra"/>
-<l:gentext key="below" text="sotto"/>
-<l:gentext key="sectioncalled" text="la sezione chiamata"/>
-<l:gentext key="index symbols" text="Simboli"/>
-<l:gentext key="lowercase.alpha" text="abcdefghijklmnopqrstuvwxyz"/>
-<l:gentext key="uppercase.alpha" text="ABCDEFGHIJKLMNOPQRSTUVWXYZ"/>
-<l:gentext key="normalize.sort.input" text="AaÃÃ ÃÃ¡ÃÃ¢ÃÃ£ÃÃ€Ã
-Ã¥ÄÄÄÄÄÄ
-ÇÇÇÇÇ Ç¡ÇºÇ»ÈÈÈÈÈŠÈ§ážážáºáº áº¡áº¢áº£áº€áº¥áºŠáº§áºšáº©áºªáº«áº¬áº­áº®áº¯áº°áº±áº²áº³áºŽáºµáº¶áº·BbÆÆÉÆÆážážážáž
-ážážCcÃÃ§ÄÄÄÄÄÄÄÄÆÆÉážážDdÄÄÄÄÆÉÆÆÇ
-Ç²È¡ÉážážážážážážážážážážEeÃÃšÃÃ©ÃÃªÃÃ«ÄÄÄÄÄÄÄÄÄÄÈÈ
-ÈÈÈšÈ©ážážážážážážážážážážáºžáº¹áººáº»áºŒáºœáºŸáº¿á»á»á»á»á»á»
-á»á»FfÆÆážážGgÄÄÄÄÄ Ä¡Ä¢Ä£ÆÉ Ç€Ç¥ÇŠÇ§ÇŽÇµáž áž¡HhÄ€Ä¥ÄŠÄ§ÈÈÉŠáž¢áž£áž€áž¥ážŠáž§ážšáž©ážªáž«áºIiÃÃ¬ÃÃ­ÃÃ®ÃÃ¯ÄšÄ©ÄªÄ«Ä¬Ä­Ä®Ä¯Ä°ÆÉšÇÇÈÈÈÈáž¬áž­áž®áž¯á»á»á»á»JjÄŽÄµÇ°ÊKkÄ¶Ä·ÆÆÇšÇ©áž°áž±áž²áž³ážŽážµLlÄ¹ÄºÄ»ÄŒÄœÄŸÄ¿ÅÅÅÆÇÈŽÉ«É¬É­áž¶áž·ážžáž¹ážºáž»ážŒážœMmÉ±ážŸáž¿á¹á¹á¹á¹NnÃÃ±ÅÅÅ
-ÅÅÅÆÉ²ÆÈ ÇÇžÇ¹ÈµÉ³á¹á¹
-á¹á¹á¹á¹á¹á¹OoÃÃ²ÃÃ³ÃÃŽÃÃµÃÃ¶ÃÃžÅÅÅÅÅÅÆÆ Æ¡ÇÇÇªÇ«Ç¬Ç­ÇŸÇ¿ÈÈÈÈÈªÈ«È¬È­È®È¯È°È±á¹á¹á¹á¹á¹á¹á¹á¹á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á» á»¡á»¢á»£PpÆ€Æ¥á¹á¹á¹á¹QqÊ RrÅÅÅÅÅÅÈÈÈÈÉŒÉœÉŸá¹á¹á¹á¹á¹á¹á¹á¹SsÅÅÅÅÅÅÅ Å¡ÈÈÊá¹ á¹¡á¹¢á¹£á¹€á¹¥á¹Šá¹§á¹šá¹©TtÅ¢Å£Å€Å¥ÅŠÅ§Æ«Æ¬Æ­Æ®ÊÈÈÈ¶á¹ªá¹«á¹¬á¹­á¹®á¹¯á¹°á¹±áºUuÃÃ¹ÃÃºÃÃ»ÃÃŒÅšÅ©ÅªÅ«Å¬Å­Å®Å¯Å°Å±Å²Å³Æ¯Æ°ÇÇÇÇÇÇÇÇÇÇÈÈÈÈá¹²á¹³á¹Žá¹µá¹¶á¹·á¹žá¹¹á¹ºá¹»á»€á»¥á»Šá»§á»šá»©á»ªá»«á»¬á»­á»®á»¯á»°á»±VvÆ²Êá¹Œá¹œá¹Ÿá¹¿WwÅŽÅµáºáºáºáºáºáº
-áºáºáºáºáºXxáºáºáºáºYyÃÃœÃ¿ÅžÅ¶Å·Æ³ÆŽÈ²È³áºáºáºá»²á»³á»Žá»µá»¶á»·á»žá»¹ZzÅ¹ÅºÅ»ÅŒÅœÅŸÆµÆ¶È€È¥ÊÊáºáºáºáºáºáºáº" lang="en"/>
-<l:gentext key="normalize.sort.output" text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ" lang="en"/>
-<l:dingbat key="startquote" text="Â«"/>
-<l:dingbat key="endquote" text="Â»"/>
-<l:dingbat key="nestedstartquote" text="â"/>
-<l:dingbat key="nestedendquote" text="â"/>
-<l:dingbat key="singlestartquote" text="â" lang="en"/>
-<l:dingbat key="singleendquote" text="â" lang="en"/>
-<l:dingbat key="bullet" text="â¢"/>
-<l:gentext key="hyphenation-character" text="-" lang="en"/>
-<l:gentext key="hyphenation-push-character-count" text="2" lang="en"/>
-<l:gentext key="hyphenation-remain-character-count" text="2" lang="en"/>
-<l:context name="styles"><l:template name="person-name" text="first-last"/>
-</l:context>
-<l:context name="title"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="%t"/>
-<l:template name="appendix" text="AppendiceÂ %n.Â %t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="biblioentry" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliolist" text="%t" lang="en"/>
-<l:template name="bibliomixed" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="CapitoloÂ %n.Â %t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="EquazioneÂ %n.Â %t"/>
-<l:template name="example" text="EsempioÂ %n.Â %t"/>
-<l:template name="figure" text="FiguraÂ %n.Â %t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="glosslist" text="%t" lang="en"/>
-<l:template name="glossentry" text="%t" lang="en"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text=""/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="ParteÂ %n.Â %t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="procedure.formal" text="ProceduraÂ %n.Â %t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="productionset.formal" text="ProduzioneÂ %n"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="%t"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="%t"/>
-<l:template name="refentry" text="%t"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsection" text="%t"/>
-<l:template name="refsect1" text="%t"/>
-<l:template name="refsect2" text="%t"/>
-<l:template name="refsect3" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="refsynopsisdivinfo" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="step" text="%t"/>
-<l:template name="table" text="TabellaÂ %n.Â %t"/>
-<l:template name="task" text="%t" lang="en"/>
-<l:template name="tasksummary" text="%t" lang="en"/>
-<l:template name="taskprerequisites" text="%t" lang="en"/>
-<l:template name="taskrelated" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text=""/>
-<l:template name="warning" text="%t"/>
-</l:context>
-<l:context name="title-unnumbered"><l:template name="appendix" text="%t"/>
-<l:template name="article/appendix" text="%t" lang="en"/>
-<l:template name="bridgehead" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="sect1" text="%t"/>
-<l:template name="sect2" text="%t"/>
-<l:template name="sect3" text="%t"/>
-<l:template name="sect4" text="%t"/>
-<l:template name="sect5" text="%t"/>
-<l:template name="section" text="%t"/>
-<l:template name="simplesect" text="%t"/>
-<l:template name="part" text="%t" lang="en"/>
-</l:context>
-<l:context name="title-numbered"><l:template name="appendix" text="AppendiceÂ %n.Â %t"/>
-<l:template name="article/appendix" text="%n.Â %t" lang="en"/>
-<l:template name="bridgehead" text="%n.Â %t"/>
-<l:template name="chapter" text="CapitoloÂ %n.Â %t"/>
-<l:template name="part" text="ParteÂ %n.Â %t"/>
-<l:template name="sect1" text="%n.Â %t"/>
-<l:template name="sect2" text="%n.Â %t"/>
-<l:template name="sect3" text="%n.Â %t"/>
-<l:template name="sect4" text="%n.Â %t"/>
-<l:template name="sect5" text="%n.Â %t"/>
-<l:template name="section" text="%n.Â %t"/>
-<l:template name="simplesect" text="%t"/>
-</l:context>
-<l:context name="subtitle"><l:template name="appendix" text="%s"/>
-<l:template name="article" text="%s"/>
-<l:template name="bibliodiv" text="%s"/>
-<l:template name="biblioentry" text="%s"/>
-<l:template name="bibliography" text="%s"/>
-<l:template name="bibliomixed" text="%s"/>
-<l:template name="bibliomset" text="%s"/>
-<l:template name="biblioset" text="%s"/>
-<l:template name="book" text="%s"/>
-<l:template name="chapter" text="%s"/>
-<l:template name="colophon" text="%s"/>
-<l:template name="dedication" text="%s"/>
-<l:template name="glossary" text="%s"/>
-<l:template name="glossdiv" text="%s"/>
-<l:template name="index" text="%s"/>
-<l:template name="indexdiv" text="%s"/>
-<l:template name="lot" text="%s"/>
-<l:template name="part" text="%s"/>
-<l:template name="partintro" text="%s"/>
-<l:template name="preface" text="%s"/>
-<l:template name="refentry" text="%s"/>
-<l:template name="reference" text="%s"/>
-<l:template name="refsection" text="%s"/>
-<l:template name="refsect1" text="%s"/>
-<l:template name="refsect2" text="%s"/>
-<l:template name="refsect3" text="%s"/>
-<l:template name="refsynopsisdiv" text="%s"/>
-<l:template name="sect1" text="%s"/>
-<l:template name="sect2" text="%s"/>
-<l:template name="sect3" text="%s"/>
-<l:template name="sect4" text="%s"/>
-<l:template name="sect5" text="%s"/>
-<l:template name="section" text="%s"/>
-<l:template name="set" text="%s"/>
-<l:template name="setindex" text="%s"/>
-<l:template name="sidebar" text="%s"/>
-<l:template name="simplesect" text="%s"/>
-<l:template name="toc" text="%s"/>
-</l:context>
-<l:context name="xref"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="R:Â %n"/>
-<l:template name="appendix" text="%t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="constraintdef" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="%t"/>
-<l:template name="example" text="%t"/>
-<l:template name="figure" text="%t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text="%n"/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="%t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="D:Â %n"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="D:Â %n"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="table" text="%t"/>
-<l:template name="task" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text="%n"/>
-<l:template name="warning" text="%t"/>
-<l:template name="olink.document.citation" text=" in %o" lang="en"/>
-<l:template name="olink.page.citation" text=" (page %p)" lang="en"/>
-<l:template name="page.citation" text=" [%p]"/>
-<l:template name="page" text="(page %p)" lang="en"/>
-<l:template name="docname" text=" in %o" lang="en"/>
-<l:template name="docnamelong" text=" in the document titled %o" lang="en"/>
-<l:template name="pageabbrev" text="(p. %p)" lang="en"/>
-<l:template name="Page" text="Page %p" lang="en"/>
-<l:template name="bridgehead" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="refsection" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="refsect1" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="refsect2" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="refsect3" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="sect1" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="sect2" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="sect3" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="sect4" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="sect5" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="section" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="simplesect" text="la sezione chiamata Â«%tÂ»"/>
-</l:context>
-<l:context name="xref-number"><l:template name="answer" text="R:Â %n"/>
-<l:template name="appendix" text="AppendiceÂ %n"/>
-<l:template name="bridgehead" text="SezioneÂ %n"/>
-<l:template name="chapter" text="CapitoloÂ %n"/>
-<l:template name="equation" text="EquazioneÂ %n"/>
-<l:template name="example" text="EsempioÂ %n"/>
-<l:template name="figure" text="FiguraÂ %n"/>
-<l:template name="part" text="ParteÂ %n"/>
-<l:template name="procedure" text="ProceduraÂ %n"/>
-<l:template name="productionset" text="ProduzioneÂ %n"/>
-<l:template name="qandadiv" text="D e RÂ %n"/>
-<l:template name="qandaentry" text="D:Â %n"/>
-<l:template name="question" text="D:Â %n"/>
-<l:template name="sect1" text="SezioneÂ %n"/>
-<l:template name="sect2" text="SezioneÂ %n"/>
-<l:template name="sect3" text="SezioneÂ %n"/>
-<l:template name="sect4" text="SezioneÂ %n"/>
-<l:template name="sect5" text="SezioneÂ %n"/>
-<l:template name="section" text="SezioneÂ %n"/>
-<l:template name="table" text="TabellaÂ %n"/>
-</l:context>
-<l:context name="xref-number-and-title"><l:template name="appendix" text="AppendiceÂ %n, %t"/>
-<l:template name="bridgehead" text="SezioneÂ %n, Â«%tÂ»"/>
-<l:template name="chapter" text="CapitoloÂ %n, %t"/>
-<l:template name="equation" text="EquazioneÂ %n, Â«%tÂ»"/>
-<l:template name="example" text="EsempioÂ %n, Â«%tÂ»"/>
-<l:template name="figure" text="FiguraÂ %n, Â«%tÂ»"/>
-<l:template name="part" text="ParteÂ %n, Â«%tÂ»"/>
-<l:template name="procedure" text="ProceduraÂ %n, Â«%tÂ»"/>
-<l:template name="productionset" text="ProduzioneÂ %n, Â«%tÂ»"/>
-<l:template name="qandadiv" text="D e RÂ %n, Â«%tÂ»"/>
-<l:template name="refsect1" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="refsect2" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="refsect3" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="refsection" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="sect1" text="SezioneÂ %n, Â«%tÂ»"/>
-<l:template name="sect2" text="SezioneÂ %n, Â«%tÂ»"/>
-<l:template name="sect3" text="SezioneÂ %n, Â«%tÂ»"/>
-<l:template name="sect4" text="SezioneÂ %n, Â«%tÂ»"/>
-<l:template name="sect5" text="SezioneÂ %n, Â«%tÂ»"/>
-<l:template name="section" text="SezioneÂ %n, Â«%tÂ»"/>
-<l:template name="simplesect" text="la sezione chiamata Â«%tÂ»"/>
-<l:template name="table" text="TabellaÂ %n, Â«%tÂ»"/>
-</l:context>
-<l:context name="authorgroup"><l:template name="sep" text=", "/>
-<l:template name="sep2" text=" e "/>
-<l:template name="seplast" text=", e "/>
-</l:context>
-<l:context name="glossary"><l:template name="see" text="Vedi %t"/>
-<l:template name="seealso" text="Vedi Anche %t"/>
-</l:context>
-<l:context name="msgset"><l:template name="MsgAud" text="Pubblico: "/>
-<l:template name="MsgLevel" text="Livello: "/>
-<l:template name="MsgOrig" text="Origine: "/>
-</l:context>
-<l:context name="datetime"><l:template name="format" text="d/m/Y"/>
-</l:context>
-<l:context name="termdef"><l:template name="prefix" text="[Definition: " lang="en"/>
-<l:template name="suffix" text="]" lang="en"/>
-</l:context>
-<l:context name="datetime-full"><l:template name="January" text="gennaio"/>
-<l:template name="February" text="febbraio"/>
-<l:template name="March" text="marzo"/>
-<l:template name="April" text="aprile"/>
-<l:template name="May" text="maggio"/>
-<l:template name="June" text="giugno"/>
-<l:template name="July" text="luglio"/>
-<l:template name="August" text="agosto"/>
-<l:template name="September" text="settembre"/>
-<l:template name="October" text="ottobre"/>
-<l:template name="November" text="novembre"/>
-<l:template name="December" text="dicembre"/>
-<l:template name="Monday" text="lunedÃ¬"/>
-<l:template name="Tuesday" text="martedÃ¬"/>
-<l:template name="Wednesday" text="mercoledÃ¬"/>
-<l:template name="Thursday" text="giovedÃ¬"/>
-<l:template name="Friday" text="venerdÃ¬"/>
-<l:template name="Saturday" text="sabato"/>
-<l:template name="Sunday" text="domenica"/>
-</l:context>
-<l:context name="datetime-abbrev"><l:template name="Jan" text="gen"/>
-<l:template name="Feb" text="feb"/>
-<l:template name="Mar" text="mar"/>
-<l:template name="Apr" text="apr"/>
-<l:template name="May" text="mag"/>
-<l:template name="Jun" text="giu"/>
-<l:template name="Jul" text="lug"/>
-<l:template name="Aug" text="ago"/>
-<l:template name="Sep" text="set"/>
-<l:template name="Oct" text="ott"/>
-<l:template name="Nov" text="nov"/>
-<l:template name="Dec" text="dic"/>
-<l:template name="Mon" text="lun"/>
-<l:template name="Tue" text="mar"/>
-<l:template name="Wed" text="mer"/>
-<l:template name="Thu" text="gio"/>
-<l:template name="Fri" text="ven"/>
-<l:template name="Sat" text="sab"/>
-<l:template name="Sun" text="dom"/>
-</l:context>
-<l:context name="htmlhelp"><l:template name="langcode" text="0x0410 Italian"/>
-</l:context>
-<l:context name="index"><l:template name="term-separator" text=", " lang="en"/>
-<l:template name="number-separator" text=", " lang="en"/>
-<l:template name="range-separator" text="-" lang="en"/>
-</l:context>
-<l:context name="iso690"><l:template name="lastfirst.sep" text=", " lang="en"/>
-<l:template name="alt.person.two.sep" text=" â " lang="en"/>
-<l:template name="alt.person.last.sep" text=" â " lang="en"/>
-<l:template name="alt.person.more.sep" text=" â " lang="en"/>
-<l:template name="primary.editor" text=" (ed.)" lang="en"/>
-<l:template name="primary.many" text=", et al." lang="en"/>
-<l:template name="primary.sep" text=". " lang="en"/>
-<l:template name="submaintitle.sep" text=": " lang="en"/>
-<l:template name="title.sep" text=". " lang="en"/>
-<l:template name="othertitle.sep" text=", " lang="en"/>
-<l:template name="medium1" text=" [" lang="en"/>
-<l:template name="medium2" text="]" lang="en"/>
-<l:template name="secondary.person.sep" text="; " lang="en"/>
-<l:template name="secondary.sep" text=". " lang="en"/>
-<l:template name="respons.sep" text=". " lang="en"/>
-<l:template name="edition.sep" text=". " lang="en"/>
-<l:template name="edition.serial.sep" text=", " lang="en"/>
-<l:template name="issuing.range" text="-" lang="en"/>
-<l:template name="issuing.div" text=", " lang="en"/>
-<l:template name="issuing.sep" text=". " lang="en"/>
-<l:template name="partnr.sep" text=". " lang="en"/>
-<l:template name="placepubl.sep" text=": " lang="en"/>
-<l:template name="publyear.sep" text=", " lang="en"/>
-<l:template name="pubinfo.sep" text=". " lang="en"/>
-<l:template name="spec.pubinfo.sep" text=", " lang="en"/>
-<l:template name="upd.sep" text=", " lang="en"/>
-<l:template name="datecit1" text=" [cited " lang="en"/>
-<l:template name="datecit2" text="]" lang="en"/>
-<l:template name="extent.sep" text=". " lang="en"/>
-<l:template name="locs.sep" text=", " lang="en"/>
-<l:template name="location.sep" text=". " lang="en"/>
-<l:template name="serie.sep" text=". " lang="en"/>
-<l:template name="notice.sep" text=". " lang="en"/>
-<l:template name="access" text="Available " lang="en"/>
-<l:template name="acctoo" text="Also available " lang="en"/>
-<l:template name="onwww" text="from World Wide Web" lang="en"/>
-<l:template name="oninet" text="from Internet" lang="en"/>
-<l:template name="access.end" text=": " lang="en"/>
-<l:template name="link1" text="&lt;" lang="en"/>
-<l:template name="link2" text="&gt;" lang="en"/>
-<l:template name="access.sep" text=". " lang="en"/>
-<l:template name="isbn" text="ISBN " lang="en"/>
-<l:template name="issn" text="ISSN " lang="en"/>
-<l:template name="stdnum.sep" text=". " lang="en"/>
-<l:template name="patcountry.sep" text=". " lang="en"/>
-<l:template name="pattype.sep" text=", " lang="en"/>
-<l:template name="patnum.sep" text=". " lang="en"/>
-<l:template name="patdate.sep" text=". " lang="en"/>
-</l:context><l:letters lang="en"><l:l i="-1"/>
-<l:l i="0">Symbols</l:l>
-<l:l i="10">A</l:l>
-<l:l i="10">a</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã </l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã¡</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã¢</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã£</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã€</l:l>
-<l:l i="10">Ã
-</l:l>
-<l:l i="10">Ã¥</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä
-</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç </l:l>
-<l:l i="10">Ç¡</l:l>
-<l:l i="10">Çº</l:l>
-<l:l i="10">Ç»</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">ÈŠ</l:l>
-<l:l i="10">È§</l:l>
-<l:l i="10">áž</l:l>
-<l:l i="10">áž</l:l>
-<l:l i="10">áº</l:l>
-<l:l i="10">áº </l:l>
-<l:l i="10">áº¡</l:l>
-<l:l i="10">áº¢</l:l>
-<l:l i="10">áº£</l:l>
-<l:l i="10">áº€</l:l>
-<l:l i="10">áº¥</l:l>
-<l:l i="10">áºŠ</l:l>
-<l:l i="10">áº§</l:l>
-<l:l i="10">áºš</l:l>
-<l:l i="10">áº©</l:l>
-<l:l i="10">áºª</l:l>
-<l:l i="10">áº«</l:l>
-<l:l i="10">áº¬</l:l>
-<l:l i="10">áº­</l:l>
-<l:l i="10">áº®</l:l>
-<l:l i="10">áº¯</l:l>
-<l:l i="10">áº°</l:l>
-<l:l i="10">áº±</l:l>
-<l:l i="10">áº²</l:l>
-<l:l i="10">áº³</l:l>
-<l:l i="10">áºŽ</l:l>
-<l:l i="10">áºµ</l:l>
-<l:l i="10">áº¶</l:l>
-<l:l i="10">áº·</l:l>
-<l:l i="20">B</l:l>
-<l:l i="20">b</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">É</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž
-</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="30">C</l:l>
-<l:l i="30">c</l:l>
-<l:l i="30">Ã</l:l>
-<l:l i="30">Ã§</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Æ</l:l>
-<l:l i="30">Æ</l:l>
-<l:l i="30">É</l:l>
-<l:l i="30">áž</l:l>
-<l:l i="30">áž</l:l>
-<l:l i="40">D</l:l>
-<l:l i="40">d</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Æ</l:l>
-<l:l i="40">É</l:l>
-<l:l i="40">Æ</l:l>
-<l:l i="40">Æ</l:l>
-<l:l i="40">Ç
-</l:l>
-<l:l i="40">Ç²</l:l>
-<l:l i="40">È¡</l:l>
-<l:l i="40">É</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="50">E</l:l>
-<l:l i="50">e</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ãš</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ã©</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ãª</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ã«</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">È</l:l>
-<l:l i="50">È
-</l:l>
-<l:l i="50">È</l:l>
-<l:l i="50">È</l:l>
-<l:l i="50">Èš</l:l>
-<l:l i="50">È©</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áºž</l:l>
-<l:l i="50">áº¹</l:l>
-<l:l i="50">áºº</l:l>
-<l:l i="50">áº»</l:l>
-<l:l i="50">áºŒ</l:l>
-<l:l i="50">áºœ</l:l>
-<l:l i="50">áºŸ</l:l>
-<l:l i="50">áº¿</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»
-</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="60">F</l:l>
-<l:l i="60">f</l:l>
-<l:l i="60">Æ</l:l>
-<l:l i="60">Æ</l:l>
-<l:l i="60">áž</l:l>
-<l:l i="60">áž</l:l>
-<l:l i="70">G</l:l>
-<l:l i="70">g</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä </l:l>
-<l:l i="70">Ä¡</l:l>
-<l:l i="70">Ä¢</l:l>
-<l:l i="70">Ä£</l:l>
-<l:l i="70">Æ</l:l>
-<l:l i="70">É </l:l>
-<l:l i="70">Ç€</l:l>
-<l:l i="70">Ç¥</l:l>
-<l:l i="70">ÇŠ</l:l>
-<l:l i="70">Ç§</l:l>
-<l:l i="70">ÇŽ</l:l>
-<l:l i="70">Çµ</l:l>
-<l:l i="70">áž </l:l>
-<l:l i="70">áž¡</l:l>
-<l:l i="80">H</l:l>
-<l:l i="80">h</l:l>
-<l:l i="80">Ä€</l:l>
-<l:l i="80">Ä¥</l:l>
-<l:l i="80">ÄŠ</l:l>
-<l:l i="80">Ä§</l:l>
-<l:l i="80">È</l:l>
-<l:l i="80">È</l:l>
-<l:l i="80">ÉŠ</l:l>
-<l:l i="80">áž¢</l:l>
-<l:l i="80">áž£</l:l>
-<l:l i="80">áž€</l:l>
-<l:l i="80">áž¥</l:l>
-<l:l i="80">ážŠ</l:l>
-<l:l i="80">áž§</l:l>
-<l:l i="80">ážš</l:l>
-<l:l i="80">áž©</l:l>
-<l:l i="80">ážª</l:l>
-<l:l i="80">áž«</l:l>
-<l:l i="80">áº</l:l>
-<l:l i="90">I</l:l>
-<l:l i="90">i</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã¬</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã­</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã®</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã¯</l:l>
-<l:l i="90">Äš</l:l>
-<l:l i="90">Ä©</l:l>
-<l:l i="90">Äª</l:l>
-<l:l i="90">Ä«</l:l>
-<l:l i="90">Ä¬</l:l>
-<l:l i="90">Ä­</l:l>
-<l:l i="90">Ä®</l:l>
-<l:l i="90">Ä¯</l:l>
-<l:l i="90">Ä°</l:l>
-<l:l i="90">Æ</l:l>
-<l:l i="90">Éš</l:l>
-<l:l i="90">Ç</l:l>
-<l:l i="90">Ç</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">áž¬</l:l>
-<l:l i="90">áž­</l:l>
-<l:l i="90">áž®</l:l>
-<l:l i="90">áž¯</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="100">J</l:l>
-<l:l i="100">j</l:l>
-<l:l i="100">ÄŽ</l:l>
-<l:l i="100">Äµ</l:l>
-<l:l i="100">Ç°</l:l>
-<l:l i="100">Ê</l:l>
-<l:l i="110">K</l:l>
-<l:l i="110">k</l:l>
-<l:l i="110">Ä¶</l:l>
-<l:l i="110">Ä·</l:l>
-<l:l i="110">Æ</l:l>
-<l:l i="110">Æ</l:l>
-<l:l i="110">Çš</l:l>
-<l:l i="110">Ç©</l:l>
-<l:l i="110">áž°</l:l>
-<l:l i="110">áž±</l:l>
-<l:l i="110">áž²</l:l>
-<l:l i="110">áž³</l:l>
-<l:l i="110">ážŽ</l:l>
-<l:l i="110">ážµ</l:l>
-<l:l i="120">L</l:l>
-<l:l i="120">l</l:l>
-<l:l i="120">Ä¹</l:l>
-<l:l i="120">Äº</l:l>
-<l:l i="120">Ä»</l:l>
-<l:l i="120">ÄŒ</l:l>
-<l:l i="120">Äœ</l:l>
-<l:l i="120">ÄŸ</l:l>
-<l:l i="120">Ä¿</l:l>
-<l:l i="120">Å</l:l>
-<l:l i="120">Å</l:l>
-<l:l i="120">Å</l:l>
-<l:l i="120">Æ</l:l>
-<l:l i="120">Ç</l:l>
-<l:l i="120">ÈŽ</l:l>
-<l:l i="120">É«</l:l>
-<l:l i="120">É¬</l:l>
-<l:l i="120">É­</l:l>
-<l:l i="120">áž¶</l:l>
-<l:l i="120">áž·</l:l>
-<l:l i="120">ážž</l:l>
-<l:l i="120">áž¹</l:l>
-<l:l i="120">ážº</l:l>
-<l:l i="120">áž»</l:l>
-<l:l i="120">ážŒ</l:l>
-<l:l i="120">ážœ</l:l>
-<l:l i="130">M</l:l>
-<l:l i="130">m</l:l>
-<l:l i="130">É±</l:l>
-<l:l i="130">ážŸ</l:l>
-<l:l i="130">áž¿</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="140">N</l:l>
-<l:l i="140">n</l:l>
-<l:l i="140">Ã</l:l>
-<l:l i="140">Ã±</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å
-</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Æ</l:l>
-<l:l i="140">É²</l:l>
-<l:l i="140">Æ</l:l>
-<l:l i="140">È </l:l>
-<l:l i="140">Ç</l:l>
-<l:l i="140">Çž</l:l>
-<l:l i="140">Ç¹</l:l>
-<l:l i="140">Èµ</l:l>
-<l:l i="140">É³</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹
-</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="150">O</l:l>
-<l:l i="150">o</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ã²</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ã³</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">ÃŽ</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ãµ</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ã¶</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ãž</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Æ</l:l>
-<l:l i="150">Æ </l:l>
-<l:l i="150">Æ¡</l:l>
-<l:l i="150">Ç</l:l>
-<l:l i="150">Ç</l:l>
-<l:l i="150">Çª</l:l>
-<l:l i="150">Ç«</l:l>
-<l:l i="150">Ç¬</l:l>
-<l:l i="150">Ç­</l:l>
-<l:l i="150">ÇŸ</l:l>
-<l:l i="150">Ç¿</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">Èª</l:l>
-<l:l i="150">È«</l:l>
-<l:l i="150">È¬</l:l>
-<l:l i="150">È­</l:l>
-<l:l i="150">È®</l:l>
-<l:l i="150">È¯</l:l>
-<l:l i="150">È°</l:l>
-<l:l i="150">È±</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á» </l:l>
-<l:l i="150">á»¡</l:l>
-<l:l i="150">á»¢</l:l>
-<l:l i="150">á»£</l:l>
-<l:l i="160">P</l:l>
-<l:l i="160">p</l:l>
-<l:l i="160">Æ€</l:l>
-<l:l i="160">Æ¥</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="170">Q</l:l>
-<l:l i="170">q</l:l>
-<l:l i="170">Ê </l:l>
-<l:l i="180">R</l:l>
-<l:l i="180">r</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">ÉŒ</l:l>
-<l:l i="180">Éœ</l:l>
-<l:l i="180">ÉŸ</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="190">S</l:l>
-<l:l i="190">s</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å </l:l>
-<l:l i="190">Å¡</l:l>
-<l:l i="190">È</l:l>
-<l:l i="190">È</l:l>
-<l:l i="190">Ê</l:l>
-<l:l i="190">á¹ </l:l>
-<l:l i="190">á¹¡</l:l>
-<l:l i="190">á¹¢</l:l>
-<l:l i="190">á¹£</l:l>
-<l:l i="190">á¹€</l:l>
-<l:l i="190">á¹¥</l:l>
-<l:l i="190">á¹Š</l:l>
-<l:l i="190">á¹§</l:l>
-<l:l i="190">á¹š</l:l>
-<l:l i="190">á¹©</l:l>
-<l:l i="200">T</l:l>
-<l:l i="200">t</l:l>
-<l:l i="200">Å¢</l:l>
-<l:l i="200">Å£</l:l>
-<l:l i="200">Å€</l:l>
-<l:l i="200">Å¥</l:l>
-<l:l i="200">ÅŠ</l:l>
-<l:l i="200">Å§</l:l>
-<l:l i="200">Æ«</l:l>
-<l:l i="200">Æ¬</l:l>
-<l:l i="200">Æ­</l:l>
-<l:l i="200">Æ®</l:l>
-<l:l i="200">Ê</l:l>
-<l:l i="200">È</l:l>
-<l:l i="200">È</l:l>
-<l:l i="200">È¶</l:l>
-<l:l i="200">á¹ª</l:l>
-<l:l i="200">á¹«</l:l>
-<l:l i="200">á¹¬</l:l>
-<l:l i="200">á¹­</l:l>
-<l:l i="200">á¹®</l:l>
-<l:l i="200">á¹¯</l:l>
-<l:l i="200">á¹°</l:l>
-<l:l i="200">á¹±</l:l>
-<l:l i="200">áº</l:l>
-<l:l i="210">U</l:l>
-<l:l i="210">u</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">Ã¹</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">Ãº</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">Ã»</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">ÃŒ</l:l>
-<l:l i="210">Åš</l:l>
-<l:l i="210">Å©</l:l>
-<l:l i="210">Åª</l:l>
-<l:l i="210">Å«</l:l>
-<l:l i="210">Å¬</l:l>
-<l:l i="210">Å­</l:l>
-<l:l i="210">Å®</l:l>
-<l:l i="210">Å¯</l:l>
-<l:l i="210">Å°</l:l>
-<l:l i="210">Å±</l:l>
-<l:l i="210">Å²</l:l>
-<l:l i="210">Å³</l:l>
-<l:l i="210">Æ¯</l:l>
-<l:l i="210">Æ°</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">á¹²</l:l>
-<l:l i="210">á¹³</l:l>
-<l:l i="210">á¹Ž</l:l>
-<l:l i="210">á¹µ</l:l>
-<l:l i="210">á¹¶</l:l>
-<l:l i="210">á¹·</l:l>
-<l:l i="210">á¹ž</l:l>
-<l:l i="210">á¹¹</l:l>
-<l:l i="210">á¹º</l:l>
-<l:l i="210">á¹»</l:l>
-<l:l i="210">á»€</l:l>
-<l:l i="210">á»¥</l:l>
-<l:l i="210">á»Š</l:l>
-<l:l i="210">á»§</l:l>
-<l:l i="210">á»š</l:l>
-<l:l i="210">á»©</l:l>
-<l:l i="210">á»ª</l:l>
-<l:l i="210">á»«</l:l>
-<l:l i="210">á»¬</l:l>
-<l:l i="210">á»­</l:l>
-<l:l i="210">á»®</l:l>
-<l:l i="210">á»¯</l:l>
-<l:l i="210">á»°</l:l>
-<l:l i="210">á»±</l:l>
-<l:l i="220">V</l:l>
-<l:l i="220">v</l:l>
-<l:l i="220">Æ²</l:l>
-<l:l i="220">Ê</l:l>
-<l:l i="220">á¹Œ</l:l>
-<l:l i="220">á¹œ</l:l>
-<l:l i="220">á¹Ÿ</l:l>
-<l:l i="220">á¹¿</l:l>
-<l:l i="230">W</l:l>
-<l:l i="230">w</l:l>
-<l:l i="230">ÅŽ</l:l>
-<l:l i="230">Åµ</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº
-</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="240">X</l:l>
-<l:l i="240">x</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="250">Y</l:l>
-<l:l i="250">y</l:l>
-<l:l i="250">Ã</l:l>
-<l:l i="250">Ãœ</l:l>
-<l:l i="250">Ã¿</l:l>
-<l:l i="250">Åž</l:l>
-<l:l i="250">Å¶</l:l>
-<l:l i="250">Å·</l:l>
-<l:l i="250">Æ³</l:l>
-<l:l i="250">ÆŽ</l:l>
-<l:l i="250">È²</l:l>
-<l:l i="250">È³</l:l>
-<l:l i="250">áº</l:l>
-<l:l i="250">áº</l:l>
-<l:l i="250">áº</l:l>
-<l:l i="250">á»²</l:l>
-<l:l i="250">á»³</l:l>
-<l:l i="250">á»Ž</l:l>
-<l:l i="250">á»µ</l:l>
-<l:l i="250">á»¶</l:l>
-<l:l i="250">á»·</l:l>
-<l:l i="250">á»ž</l:l>
-<l:l i="250">á»¹</l:l>
-<l:l i="260">Z</l:l>
-<l:l i="260">z</l:l>
-<l:l i="260">Å¹</l:l>
-<l:l i="260">Åº</l:l>
-<l:l i="260">Å»</l:l>
-<l:l i="260">ÅŒ</l:l>
-<l:l i="260">Åœ</l:l>
-<l:l i="260">ÅŸ</l:l>
-<l:l i="260">Æµ</l:l>
-<l:l i="260">Æ¶</l:l>
-<l:l i="260">È€</l:l>
-<l:l i="260">È¥</l:l>
-<l:l i="260">Ê</l:l>
-<l:l i="260">Ê</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-</l:letters>
-</l:l10n>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/l10n.dtd
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/l10n.dtd	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,63 +1,0 @@
-<!ENTITY % prefix "l">
-
-<!ENTITY % xmlns "xmlns:%prefix;">
-<!ENTITY % uri "'http://docbook.sourceforge.net/xmlns/l10n/1.0'">
-
-<!ENTITY % i18n "%prefix;:i18n">
-<!ENTITY % l10n "%prefix;:l10n">
-<!ENTITY % gentext "%prefix;:gentext">
-<!ENTITY % dingbat "%prefix;:dingbat">
-<!ENTITY % context "%prefix;:context">
-<!ENTITY % template "%prefix;:template">
-<!ENTITY % letters "%prefix;:letters">
-<!ENTITY % l "%prefix;:l">
-<!ENTITY % lang "lang NMTOKEN #IMPLIED"> 
-
-<!ELEMENT %i18n; ((%l10n;)+)>
-<!ATTLIST %i18n;
-	%xmlns;		CDATA	#FIXED %uri;
->
-
-<!ELEMENT %l10n; (%gentext;|%dingbat;|%context;|%letters;)*>
-<!ATTLIST %l10n;
-	%xmlns;		CDATA	#FIXED %uri;
-	language	CDATA	#REQUIRED
-	english-language-name	CDATA	#IMPLIED
->
-
-<!ELEMENT %gentext; EMPTY>
-<!ATTLIST %gentext;
-	%lang;
-	key		CDATA	#REQUIRED
-	text		CDATA	#REQUIRED
->
-
-<!ELEMENT %dingbat; EMPTY>
-<!ATTLIST %dingbat;
-        %lang;
-	key		CDATA	#REQUIRED
-	text		CDATA	#REQUIRED
->
-
-<!ELEMENT %context; ((%template;)+)>
-<!ATTLIST %context;
-	name		CDATA	#REQUIRED
->
-
-<!ELEMENT %template; EMPTY>
-<!ATTLIST %template;
-        %lang;
-	name		CDATA	#REQUIRED
-	text		CDATA	#REQUIRED
-	style		CDATA	#IMPLIED
->
-
-<!ELEMENT %letters; ((%l;)+)>
-<!ATTLIST %letters;
-          %lang;
->
-
-<!ELEMENT %l; (#PCDATA)>
-<!ATTLIST %l;
-          i 		CDATA 	#REQUIRED
->
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/l10n.xml
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/l10n.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,19 +1,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE l:i18n SYSTEM "l10n.dtd" [
-<!ENTITY de SYSTEM "de.xml">
-<!ENTITY en SYSTEM "en.xml">
-<!ENTITY es SYSTEM "es.xml">
-<!ENTITY fr SYSTEM "fr.xml">
-<!ENTITY it SYSTEM "it.xml">
-<!ENTITY zh_cn SYSTEM "zh_cn.xml">
-<!ENTITY zh_tw SYSTEM "zh_tw.xml">
-]>
-<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
-&de;
-&en;
-&es;
-&fr;
-&it;
-&zh_cn;
-&zh_tw;
-</l:i18n>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/l10n.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/l10n.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,441 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
-                exclude-result-prefixes="l"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     This file contains localization templates (for internationalization)
-     ******************************************************************** -->
-
-<xsl:param name="l10n.xml" select="document('../common/l10n.xml')"/>
-<xsl:param name="local.l10n.xml" select="document('')"/>
-
-<xsl:template name="l10n.language">
-  <xsl:param name="target" select="."/>
-  <xsl:param name="xref-context" select="false()"/>
-
-  <xsl:variable name="mc-language">
-    <xsl:choose>
-      <xsl:when test="$l10n.gentext.language != ''">
-        <xsl:value-of select="$l10n.gentext.language"/>
-      </xsl:when>
-
-      <xsl:when test="$xref-context or $l10n.gentext.use.xref.language != 0">
-        <!-- can't do this one step: attributes are unordered! -->
-        <xsl:variable name="lang-scope"
-                      select="$target/ancestor-or-self::*
-                              [@lang or @xml:lang][1]"/>
-        <xsl:variable name="lang-attr"
-                      select="($lang-scope/@lang | $lang-scope/@xml:lang)[1]"/>
-        <xsl:choose>
-          <xsl:when test="string($lang-attr) = ''">
-            <xsl:value-of select="$l10n.gentext.default.language"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$lang-attr"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-
-      <xsl:otherwise>
-        <!-- can't do this one step: attributes are unordered! -->
-        <xsl:variable name="lang-scope"
-                      select="$target/ancestor-or-self::*
-                              [@lang or @xml:lang][1]"/>
-        <xsl:variable name="lang-attr"
-                      select="($lang-scope/@lang | $lang-scope/@xml:lang)[1]"/>
-
-        <xsl:choose>
-          <xsl:when test="string($lang-attr) = ''">
-            <xsl:value-of select="$l10n.gentext.default.language"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$lang-attr"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="language" select="translate($mc-language,
-                                        'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
-                                        'abcdefghijklmnopqrstuvwxyz')"/>
-
-  <xsl:variable name="adjusted.language">
-    <xsl:choose>
-      <xsl:when test="contains($language,'-')">
-        <xsl:value-of select="substring-before($language,'-')"/>
-        <xsl:text>_</xsl:text>
-        <xsl:value-of select="substring-after($language,'-')"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$language"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$l10n.xml/l:i18n/l:l10n[@language=$adjusted.language]">
-      <xsl:value-of select="$adjusted.language"/>
-    </xsl:when>
-    <!-- try just the lang code without country -->
-    <xsl:when test="$l10n.xml/l:i18n/l:l10n[@language=substring-before($adjusted.language,'_')]">
-      <xsl:value-of select="substring-before($adjusted.language,'_')"/>
-    </xsl:when>
-    <!-- or use the default -->
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>No localization exists for "</xsl:text>
-        <xsl:value-of select="$adjusted.language"/>
-        <xsl:text>" or "</xsl:text>
-        <xsl:value-of select="substring-before($adjusted.language,'_')"/>
-        <xsl:text>". Using default "</xsl:text>
-        <xsl:value-of select="$l10n.gentext.default.language"/>
-        <xsl:text>".</xsl:text>
-      </xsl:message>
-      <xsl:value-of select="$l10n.gentext.default.language"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="language.attribute">
-  <xsl:param name="node" select="."/>
-
-  <xsl:variable name="language">
-    <xsl:choose>
-      <xsl:when test="$l10n.gentext.language != ''">
-        <xsl:value-of select="$l10n.gentext.language"/>
-      </xsl:when>
-
-      <xsl:otherwise>
-        <!-- can't do this one step: attributes are unordered! -->
-        <xsl:variable name="lang-scope"
-                      select="$node/ancestor-or-self::*
-                              [@lang or @xml:lang][1]"/>
-        <xsl:variable name="lang-attr"
-                      select="($lang-scope/@lang | $lang-scope/@xml:lang)[1]"/>
-
-        <xsl:choose>
-          <xsl:when test="string($lang-attr) = ''">
-            <xsl:value-of select="$l10n.gentext.default.language"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$lang-attr"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="$language != ''">
-    <xsl:attribute name="lang">
-      <xsl:choose>
-        <xsl:when test="$l10n.lang.value.rfc.compliant != 0">
-          <xsl:value-of select="translate($language, '_', '-')"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$language"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-  </xsl:if>
-
-  <!-- FIXME: This is sort of hack, but it was the easiest way to add at least partial support for dir attribute -->
-  <xsl:copy-of select="ancestor-or-self::*[@dir][1]/@dir"/>
-</xsl:template>
-
-<xsl:template name="gentext">
-  <xsl:param name="key" select="local-name(.)"/>
-  <xsl:param name="lang">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:param>
-
-  <xsl:variable name="local.l10n.gentext"
-                select="($local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:gentext[@key=$key])[1]"/>
-
-  <xsl:variable name="l10n.gentext"
-                select="($l10n.xml/l:i18n/l:l10n[@language=$lang]/l:gentext[@key=$key])[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="$local.l10n.gentext">
-      <xsl:value-of select="$local.l10n.gentext/@text"/>
-    </xsl:when>
-    <xsl:when test="$l10n.gentext">
-      <xsl:value-of select="$l10n.gentext/@text"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>No "</xsl:text>
-        <xsl:value-of select="$lang"/>
-        <xsl:text>" localization of "</xsl:text>
-        <xsl:value-of select="$key"/>
-        <xsl:text>" exists</xsl:text>
-        <xsl:choose>
-          <xsl:when test="$lang = 'en'">
-             <xsl:text>.</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-             <xsl:text>; using "en".</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:message>
-
-      <xsl:value-of select="($l10n.xml/l:i18n/l:l10n[@language='en']/l:gentext[@key=$key])[1]/@text"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="gentext.element.name">
-  <xsl:param name="element.name" select="local-name(.)"/>
-  <xsl:param name="lang">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:param>
-
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="$element.name"/>
-    <xsl:with-param name="lang" select="$lang"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="gentext.space">
-  <xsl:text> </xsl:text>
-</xsl:template>
-
-<xsl:template name="gentext.edited.by">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'Editedby'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="gentext.by">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'by'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="gentext.dingbat">
-  <xsl:param name="dingbat">bullet</xsl:param>
-  <xsl:param name="lang">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:param>
-
-  <xsl:variable name="local.l10n.dingbat"
-                select="($local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:dingbat[@key=$dingbat])[1]"/>
-
-  <xsl:variable name="l10n.dingbat"
-                select="($l10n.xml/l:i18n/l:l10n[@language=$lang]/l:dingbat[@key=$dingbat])[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="$local.l10n.dingbat">
-      <xsl:value-of select="$local.l10n.dingbat/@text"/>
-    </xsl:when>
-    <xsl:when test="$l10n.dingbat">
-      <xsl:value-of select="$l10n.dingbat/@text"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>No "</xsl:text>
-        <xsl:value-of select="$lang"/>
-        <xsl:text>" localization of dingbat </xsl:text>
-        <xsl:value-of select="$dingbat"/>
-        <xsl:text> exists; using "en".</xsl:text>
-      </xsl:message>
-
-      <xsl:value-of select="($l10n.xml/l:i18n/l:l10n[@language='en']/l:dingbat[@key=$dingbat])[1]/@text"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="gentext.startquote">
-  <xsl:call-template name="gentext.dingbat">
-    <xsl:with-param name="dingbat">startquote</xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="gentext.endquote">
-  <xsl:call-template name="gentext.dingbat">
-    <xsl:with-param name="dingbat">endquote</xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="gentext.nestedstartquote">
-  <xsl:call-template name="gentext.dingbat">
-    <xsl:with-param name="dingbat">nestedstartquote</xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="gentext.nestedendquote">
-  <xsl:call-template name="gentext.dingbat">
-    <xsl:with-param name="dingbat">nestedendquote</xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="gentext.nav.prev">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'nav-prev'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="gentext.nav.next">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'nav-next'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="gentext.nav.home">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'nav-home'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="gentext.nav.up">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'nav-up'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template name="gentext.template">
-  <xsl:param name="context" select="'default'"/>
-  <xsl:param name="name" select="'default'"/>
-  <xsl:param name="origname" select="$name"/>
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="referrer"/>
-  <xsl:param name="lang">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:param>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:variable name="local.localization.node"
-                select="($local.l10n.xml//l:i18n/l:l10n[@language=$lang])[1]"/>
-
-  <xsl:variable name="localization.node"
-                select="($l10n.xml/l:i18n/l:l10n[@language=$lang])[1]"/>
-
-  <xsl:if test="count($localization.node) = 0
-                and count($local.localization.node) = 0
-                and $verbose != 0">
-    <xsl:message>
-      <xsl:text>No "</xsl:text>
-      <xsl:value-of select="$lang"/>
-      <xsl:text>" localization exists.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="local.context.node"
-                select="$local.localization.node/l:context[@name=$context]"/>
-
-  <xsl:variable name="context.node"
-                select="$localization.node/l:context[@name=$context]"/>
-
-  <xsl:if test="count($context.node) = 0
-                and count($local.context.node) = 0
-                and $verbose != 0">
-    <xsl:message>
-      <xsl:text>No context named "</xsl:text>
-      <xsl:value-of select="$context"/>
-      <xsl:text>" exists in the "</xsl:text>
-      <xsl:value-of select="$lang"/>
-      <xsl:text>" localization.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="local.template.node"
-                select="($local.context.node/l:template[@name=$name
-                                                        and @style
-                                                        and @style=$xrefstyle]
-                        |$local.context.node/l:template[@name=$name
-                                                        and not(@style)])[1]"/>
-
-  <xsl:variable name="template.node"
-                select="($context.node/l:template[@name=$name
-                                                  and @style
-                                                  and @style=$xrefstyle]
-                        |$context.node/l:template[@name=$name
-                                                  and not(@style)])[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="$local.template.node/@text">
-      <xsl:value-of select="$local.template.node/@text"/>
-    </xsl:when>
-    <xsl:when test="$template.node/@text">
-      <xsl:value-of select="$template.node/@text"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="contains($name, '/')">
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="context" select="$context"/>
-            <xsl:with-param name="name" select="substring-after($name, '/')"/>
-            <xsl:with-param name="origname" select="$origname"/>
-            <xsl:with-param name="purpose" select="$purpose"/>
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-            <xsl:with-param name="referrer" select="$referrer"/>
-            <xsl:with-param name="lang" select="$lang"/>
-            <xsl:with-param name="verbose" select="$verbose"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="$verbose = 0">
-          <!-- silence -->
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>No template for "</xsl:text>
-            <xsl:value-of select="$origname"/>
-            <xsl:text>" (or any of its leaves) exists
-in the context named "</xsl:text>
-            <xsl:value-of select="$context"/>
-            <xsl:text>" in the "</xsl:text>
-            <xsl:value-of select="$lang"/>
-            <xsl:text>" localization.</xsl:text>
-          </xsl:message>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- silently test if a gentext template exists -->
-
-<xsl:template name="gentext.template.exists">
-  <xsl:param name="context" select="'default'"/>
-  <xsl:param name="name" select="'default'"/>
-  <xsl:param name="origname" select="$name"/>
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="referrer"/>
-  <xsl:param name="lang">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:param>
-
-  <xsl:variable name="template">
-    <xsl:call-template name="gentext.template">
-      <xsl:with-param name="context" select="$context"/>
-      <xsl:with-param name="name" select="$name"/>
-      <xsl:with-param name="origname" select="$origname"/>
-      <xsl:with-param name="purpose" select="$purpose"/>
-      <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-      <xsl:with-param name="referrer" select="$referrer"/>
-      <xsl:with-param name="lang" select="$lang"/>
-      <xsl:with-param name="verbose" select="0"/>
-    </xsl:call-template>
-  </xsl:variable>
-  
-  <xsl:choose>
-    <xsl:when test="string-length($template) != 0">1</xsl:when>
-    <xsl:otherwise>0</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/labels.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/labels.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,869 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                exclude-result-prefixes="doc"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- label markup -->
-
-<doc:mode mode="label.markup" xmlns="">
-<refpurpose>Provides access to element labels</refpurpose>
-<refdescription id="label.markup-desc">
-<para>Processing an element in the
-<literal role="mode">label.markup</literal> mode produces the
-element label.</para>
-<para>Trailing punctuation is not added to the label.
-</para>
-</refdescription>
-</doc:mode>
-
-<xsl:template match="*" mode="intralabel.punctuation">
-  <xsl:text>.</xsl:text>
-</xsl:template>
-
-<xsl:template match="*" mode="label.markup">
-  <xsl:param name="verbose" select="1"/>
-  <xsl:if test="$verbose">
-    <xsl:message>
-      <xsl:text>Request for label of unexpected element: </xsl:text>
-      <xsl:value-of select="local-name(.)"/>
-    </xsl:message>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="set|book" mode="label.markup">
-  <xsl:if test="@label">
-    <xsl:value-of select="@label"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="part" mode="label.markup">
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="string($part.autolabel) != 0">
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$part.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:number from="book" count="part" format="{$format}"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="partintro" mode="label.markup">
-  <!-- no label -->
-</xsl:template>
-
-<xsl:template match="preface" mode="label.markup">
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="string($preface.autolabel) != 0">
-      <xsl:if test="$component.label.includes.part.label != 0 and
-                      ancestor::part">
-        <xsl:variable name="part.label">
-          <xsl:apply-templates select="ancestor::part" 
-                               mode="label.markup"/>
-        </xsl:variable>
-        <xsl:if test="$part.label != ''">
-          <xsl:value-of select="$part.label"/>
-          <xsl:apply-templates select="ancestor::part" 
-                               mode="intralabel.punctuation"/>
-        </xsl:if>
-      </xsl:if>
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$preface.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="$label.from.part != 0 and ancestor::part">
-          <xsl:number from="part" count="preface" format="{$format}" level="any"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number from="book" count="preface" format="{$format}" level="any"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="chapter" mode="label.markup">
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="string($chapter.autolabel) != 0">
-      <xsl:if test="$component.label.includes.part.label != 0 and
-                      ancestor::part">
-        <xsl:variable name="part.label">
-          <xsl:apply-templates select="ancestor::part" 
-                               mode="label.markup"/>
-        </xsl:variable>
-        <xsl:if test="$part.label != ''">
-          <xsl:value-of select="$part.label"/>
-          <xsl:apply-templates select="ancestor::part" 
-                               mode="intralabel.punctuation"/>
-        </xsl:if>
-      </xsl:if>
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$chapter.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="$label.from.part != 0 and ancestor::part">
-          <xsl:number from="part" count="chapter" format="{$format}" level="any"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number from="book" count="chapter" format="{$format}" level="any"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="appendix" mode="label.markup">
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="string($appendix.autolabel) != 0">
-      <xsl:if test="$component.label.includes.part.label != 0 and
-                      ancestor::part">
-        <xsl:variable name="part.label">
-          <xsl:apply-templates select="ancestor::part" 
-                               mode="label.markup"/>
-        </xsl:variable>
-        <xsl:if test="$part.label != ''">
-          <xsl:value-of select="$part.label"/>
-          <xsl:apply-templates select="ancestor::part" 
-                               mode="intralabel.punctuation"/>
-        </xsl:if>
-      </xsl:if>
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$appendix.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="$label.from.part != 0 and ancestor::part">
-          <xsl:number from="part" count="appendix" format="{$format}" level="any"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number from="book|article"
-                      count="appendix" format="{$format}" level="any"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="article" mode="label.markup">
-  <xsl:if test="@label">
-    <xsl:value-of select="@label"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="dedication|colophon" mode="label.markup">
-  <xsl:if test="@label">
-    <xsl:value-of select="@label"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="reference" mode="label.markup">
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="string($reference.autolabel) != 0">
-      <xsl:if test="$component.label.includes.part.label != 0 and
-                      ancestor::part">
-        <xsl:variable name="part.label">
-          <xsl:apply-templates select="ancestor::part" 
-                               mode="label.markup"/>
-        </xsl:variable>
-        <xsl:if test="$part.label != ''">
-          <xsl:value-of select="$part.label"/>
-          <xsl:apply-templates select="ancestor::part" 
-                               mode="intralabel.punctuation"/>
-        </xsl:if>
-      </xsl:if>
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$reference.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="$label.from.part != 0 and ancestor::part">
-          <xsl:number from="part" count="reference" format="{$format}" level="any"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number from="book" count="reference" format="{$format}" level="any"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="refentry" mode="label.markup">
-  <xsl:if test="@label">
-    <xsl:value-of select="@label"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="section" mode="label.markup">
-  <!-- if this is a nested section, label the parent -->
-  <xsl:if test="local-name(..) = 'section'">
-    <xsl:variable name="parent.section.label">
-      <xsl:call-template name="label.this.section">
-        <xsl:with-param name="section" select=".."/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:if test="$parent.section.label != '0'">
-      <xsl:apply-templates select=".." mode="label.markup"/>
-      <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
-    </xsl:if>
-  </xsl:if>
-
-  <!-- if the parent is a component, maybe label that too -->
-  <xsl:variable name="parent.is.component">
-    <xsl:call-template name="is.component">
-      <xsl:with-param name="node" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <!-- does this section get labelled? -->
-  <xsl:variable name="label">
-    <xsl:call-template name="label.this.section">
-      <xsl:with-param name="section" select="."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="$section.label.includes.component.label != 0
-                and $parent.is.component != 0">
-    <xsl:variable name="parent.label">
-      <xsl:apply-templates select=".." mode="label.markup"/>
-    </xsl:variable>
-    <xsl:if test="$parent.label != ''">
-      <xsl:apply-templates select=".." mode="label.markup"/>
-      <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
-    </xsl:if>
-  </xsl:if>
-
-<!--
-  <xsl:message>
-    test: <xsl:value-of select="$label"/>, <xsl:number count="section"/>
-  </xsl:message>
--->
-
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="$label != 0">      
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$section.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:number format="{$format}" count="section"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="sect1" mode="label.markup">
-  <!-- if the parent is a component, maybe label that too -->
-  <xsl:variable name="parent.is.component">
-    <xsl:call-template name="is.component">
-      <xsl:with-param name="node" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="component.label">
-    <xsl:if test="$section.label.includes.component.label != 0
-                  and $parent.is.component != 0">
-      <xsl:variable name="parent.label">
-        <xsl:apply-templates select=".." mode="label.markup"/>
-      </xsl:variable>
-      <xsl:if test="$parent.label != ''">
-        <xsl:apply-templates select=".." mode="label.markup"/>
-        <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
-      </xsl:if>
-    </xsl:if>
-  </xsl:variable>
-
-
-  <xsl:variable name="is.numbered">
-    <xsl:call-template name="label.this.section"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="$is.numbered != 0">
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$section.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:copy-of select="$component.label"/>
-      <xsl:number format="{$format}" count="sect1"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="sect2|sect3|sect4|sect5" mode="label.markup">
-  <!-- label the parent -->
-  <xsl:variable name="parent.section.label">
-    <xsl:call-template name="label.this.section">
-      <xsl:with-param name="section" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:if test="$parent.section.label != '0'">
-    <xsl:apply-templates select=".." mode="label.markup"/>
-    <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
-  </xsl:if>
-
-  <xsl:variable name="is.numbered">
-    <xsl:call-template name="label.this.section"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="$is.numbered != 0">
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$section.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="local-name(.) = 'sect2'">
-          <xsl:number format="{$format}" count="sect2"/>
-        </xsl:when>
-        <xsl:when test="local-name(.) = 'sect3'">
-          <xsl:number format="{$format}" count="sect3"/>
-        </xsl:when>
-        <xsl:when test="local-name(.) = 'sect4'">
-          <xsl:number format="{$format}" count="sect4"/>
-        </xsl:when>
-        <xsl:when test="local-name(.) = 'sect5'">
-          <xsl:number format="{$format}" count="sect5"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>label.markup: this can't happen!</xsl:message>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="bridgehead" mode="label.markup">
-  <!-- FIXME: could we do a better job here? -->
-  <xsl:variable name="contsec"
-                select="(ancestor::section
-                         |ancestor::simplesect
-                         |ancestor::sect1
-                         |ancestor::sect2
-                         |ancestor::sect3
-                         |ancestor::sect4
-                         |ancestor::sect5
-                         |ancestor::refsect1
-                         |ancestor::refsect2
-                         |ancestor::refsect3
-                         |ancestor::chapter
-                         |ancestor::appendix
-                         |ancestor::preface)[last()]"/>
-
-  <xsl:apply-templates select="$contsec" mode="label.markup"/>
-</xsl:template>
-
-<xsl:template match="refsect1" mode="label.markup">
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="$section.autolabel != 0">
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$section.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:number count="refsect1" format="{$format}"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="refsect2|refsect3" mode="label.markup">
-  <!-- label the parent -->
-  <xsl:variable name="parent.label">
-    <xsl:apply-templates select=".." mode="label.markup"/>
-  </xsl:variable>
-  <xsl:if test="$parent.label != ''">
-    <xsl:apply-templates select=".." mode="label.markup"/>
-    <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="$section.autolabel != 0">
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$section.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="local-name(.) = 'refsect2'">
-          <xsl:number count="refsect2" format="{$format}"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number count="refsect3" format="{$format}"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="simplesect" mode="label.markup">
-  <!-- if this is a nested section, label the parent -->
-  <xsl:if test="local-name(..) = 'section'
-                or local-name(..) = 'sect1'
-                or local-name(..) = 'sect2'
-                or local-name(..) = 'sect3'
-                or local-name(..) = 'sect4'
-                or local-name(..) = 'sect5'">
-    <xsl:variable name="parent.section.label">
-      <xsl:apply-templates select=".." mode="label.markup"/>
-    </xsl:variable>
-    <xsl:if test="$parent.section.label != ''">
-      <xsl:apply-templates select=".." mode="label.markup"/>
-      <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
-    </xsl:if>
-  </xsl:if>
-
-  <!-- if the parent is a component, maybe label that too -->
-  <xsl:variable name="parent.is.component">
-    <xsl:call-template name="is.component">
-      <xsl:with-param name="node" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <!-- does this section get labelled? -->
-  <xsl:variable name="label">
-    <xsl:call-template name="label.this.section">
-      <xsl:with-param name="section" select="."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="$section.label.includes.component.label != 0
-                and $parent.is.component != 0">
-    <xsl:variable name="parent.label">
-      <xsl:apply-templates select=".." mode="label.markup"/>
-    </xsl:variable>
-    <xsl:if test="$parent.label != ''">
-      <xsl:apply-templates select=".." mode="label.markup"/>
-      <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
-    </xsl:if>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="$label != 0">
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$section.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:number format="{$format}" count="simplesect"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="qandadiv" mode="label.markup">
-  <xsl:variable name="lparent" select="(ancestor::set
-                                       |ancestor::book
-                                       |ancestor::chapter
-                                       |ancestor::appendix
-                                       |ancestor::preface
-                                       |ancestor::section
-                                       |ancestor::simplesect
-                                       |ancestor::sect1
-                                       |ancestor::sect2
-                                       |ancestor::sect3
-                                       |ancestor::sect4
-                                       |ancestor::sect5
-                                       |ancestor::refsect1
-                                       |ancestor::refsect2
-                                       |ancestor::refsect3)[last()]"/>
-
-  <xsl:variable name="lparent.prefix">
-    <xsl:apply-templates select="$lparent" mode="label.markup"/>
-  </xsl:variable>
-
-  <xsl:variable name="prefix">
-    <xsl:if test="$qanda.inherit.numeration != 0">
-      <xsl:if test="$lparent.prefix != ''">
-        <xsl:apply-templates select="$lparent" mode="label.markup"/>
-        <xsl:apply-templates select="$lparent" mode="intralabel.punctuation"/>
-      </xsl:if>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$qandadiv.autolabel != 0">
-      <xsl:variable name="format">
-        <xsl:call-template name="autolabel.format">
-          <xsl:with-param name="format" select="$qandadiv.autolabel"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:value-of select="$prefix"/>
-      <xsl:number level="multiple" count="qandadiv" format="{$format}"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="question|answer" mode="label.markup">
-  <xsl:variable name="lparent" select="(ancestor::set
-                                       |ancestor::book
-                                       |ancestor::chapter
-                                       |ancestor::appendix
-                                       |ancestor::preface
-                                       |ancestor::section
-                                       |ancestor::simplesect
-                                       |ancestor::sect1
-                                       |ancestor::sect2
-                                       |ancestor::sect3
-                                       |ancestor::sect4
-                                       |ancestor::sect5
-                                       |ancestor::refsect1
-                                       |ancestor::refsect2
-                                       |ancestor::refsect3)[last()]"/>
-
-  <xsl:variable name="lparent.prefix">
-    <xsl:apply-templates select="$lparent" mode="label.markup"/>
-  </xsl:variable>
-
-  <xsl:variable name="prefix">
-    <xsl:if test="$qanda.inherit.numeration != 0">
-      <xsl:choose>
-        <xsl:when test="ancestor::qandadiv">
-          <xsl:apply-templates select="ancestor::qandadiv[1]" mode="label.markup"/>
-          <xsl:apply-templates select="ancestor::qandadiv[1]"
-                               mode="intralabel.punctuation"/>
-        </xsl:when>
-        <xsl:when test="$lparent.prefix != ''">
-          <xsl:apply-templates select="$lparent" mode="label.markup"/>
-          <xsl:apply-templates select="$lparent" mode="intralabel.punctuation"/>
-        </xsl:when>
-      </xsl:choose>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="inhlabel"
-                select="ancestor-or-self::qandaset/@defaultlabel[1]"/>
-
-  <xsl:variable name="deflabel">
-    <xsl:choose>
-      <xsl:when test="$inhlabel != ''">
-        <xsl:value-of select="$inhlabel"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$qanda.defaultlabel"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="label" select="label"/>
-
-  <xsl:choose>
-    <xsl:when test="count($label)>0">
-      <xsl:apply-templates select="$label"/>
-    </xsl:when>
-
-    <xsl:when test="$deflabel = 'qanda' and local-name(.) = 'question'">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'Question'"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:when test="$deflabel = 'qanda' and local-name(.) = 'answer'">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'Answer'"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:when test="$deflabel = 'number' and local-name(.) = 'question'">
-      <xsl:value-of select="$prefix"/>
-      <xsl:number level="multiple" count="qandaentry" format="1"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="bibliography|glossary|
-                     qandaset|index|setindex" mode="label.markup">
-  <xsl:if test="@label">
-    <xsl:value-of select="@label"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="figure|table|example" mode="label.markup">
-  <xsl:variable name="pchap"
-                select="ancestor::chapter
-                        |ancestor::appendix
-                        |ancestor::article[ancestor::book]"/>
-
-  <xsl:variable name="prefix">
-    <xsl:if test="count($pchap) &gt; 0">
-      <xsl:apply-templates select="$pchap" mode="label.markup"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$prefix != ''">
-            <xsl:apply-templates select="$pchap" mode="label.markup"/>
-            <xsl:apply-templates select="$pchap" mode="intralabel.punctuation"/>
-          <xsl:number format="1" from="chapter|appendix" level="any"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number format="1" from="book|article" level="any"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="procedure" mode="label.markup">
-  <xsl:variable name="pchap"
-                select="ancestor::chapter
-                        |ancestor::appendix
-                        |ancestor::article[ancestor::book]"/>
-
-  <xsl:variable name="prefix">
-    <xsl:if test="count($pchap) &gt; 0">
-      <xsl:apply-templates select="$pchap" mode="label.markup"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="$formal.procedures = 0">
-      <!-- No label -->
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="count($pchap)>0">
-          <xsl:if test="$prefix != ''">
-            <xsl:apply-templates select="$pchap" mode="label.markup"/>
-            <xsl:apply-templates select="$pchap" mode="intralabel.punctuation"/>
-          </xsl:if>
-          <xsl:number count="procedure[title]" format="1" 
-                      from="chapter|appendix" level="any"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number count="procedure[title]" format="1" 
-                      from="book|article" level="any"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="equation" mode="label.markup">
-  <xsl:variable name="pchap"
-                select="ancestor::chapter
-                        |ancestor::appendix
-                        |ancestor::article[ancestor::book]"/>
-
-  <xsl:variable name="prefix">
-    <xsl:if test="count($pchap) &gt; 0">
-      <xsl:apply-templates select="$pchap" mode="label.markup"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="@label">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="count($pchap)>0">
-          <xsl:if test="$prefix != ''">
-            <xsl:apply-templates select="$pchap" mode="label.markup"/>
-            <xsl:apply-templates select="$pchap" mode="intralabel.punctuation"/>
-          </xsl:if>
-          <xsl:number format="1" count="equation[title or info/title]" 
-	              from="chapter|appendix" level="any"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number format="1" count="equation[title or info/title]" 
-	              from="book|article" level="any"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="orderedlist/listitem" mode="label.markup">
-  <xsl:variable name="numeration">
-    <xsl:call-template name="list.numeration">
-      <xsl:with-param name="node" select="parent::orderedlist"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="type">
-    <xsl:choose>
-      <xsl:when test="$numeration='arabic'">1</xsl:when>
-      <xsl:when test="$numeration='loweralpha'">a</xsl:when>
-      <xsl:when test="$numeration='lowerroman'">i</xsl:when>
-      <xsl:when test="$numeration='upperalpha'">A</xsl:when>
-      <xsl:when test="$numeration='upperroman'">I</xsl:when>
-      <!-- What!? This should never happen -->
-      <xsl:otherwise>
-        <xsl:message>
-          <xsl:text>Unexpected numeration: </xsl:text>
-          <xsl:value-of select="$numeration"/>
-        </xsl:message>
-        <xsl:value-of select="1."/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="item-number">
-    <xsl:call-template name="orderedlist-item-number"/>
-  </xsl:variable>
-
-  <xsl:number value="$item-number" format="{$type}"/>
-</xsl:template>
-
-<xsl:template match="abstract" mode="label.markup">
-  <!-- nop -->
-</xsl:template>
-
-<xsl:template match="sidebar" mode="label.markup">
-  <!-- nop -->
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template name="label.this.section">
-  <xsl:param name="section" select="."/>
-
-  <xsl:variable name="level">
-    <xsl:call-template name="section.level"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$level &lt;= $section.autolabel.max.depth">      
-      <xsl:value-of select="$section.autolabel"/>
-    </xsl:when>
-    <xsl:otherwise>0</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<doc:template name="label.this.section" xmlns="">
-<refpurpose>Returns true if $section should be labelled</refpurpose>
-<refdescription id="label.this.section-desc">
-<para>Returns true if the specified section should be labelled.
-By default, this template returns zero unless 
-the section level is less than or equal to the value of the
-<literal>$section.autolabel.max.depth</literal> parameter, in
-which case it returns
-<literal>$section.autolabel</literal>.
-Custom stylesheets may override it to get more selective behavior.</para>
-</refdescription>
-</doc:template>
-
-<!-- ============================================================ -->
-
-<xsl:template name="default.autolabel.format">
-  <xsl:param name="context" select="."/>
-  <xsl:choose>
-    <xsl:when test="local-name($context) = 'appendix'">
-      <xsl:value-of select="'A'"/>
-    </xsl:when>
-    <xsl:when test="local-name($context) = 'part'">
-      <xsl:value-of select="'I'"/>
-    </xsl:when>
-    <xsl:otherwise>1</xsl:otherwise>
-  </xsl:choose>  
-</xsl:template>
-  
-<xsl:template name="autolabel.format">
-  <xsl:param name="context" select="."/>
-  <xsl:param name="format"/>
-
-  <xsl:choose>
-    <xsl:when test="string($format) != 0">
-      <xsl:choose>
-        <xsl:when test="string($format)='arabic' or $format='1'">1</xsl:when>
-        <xsl:when test="$format='loweralpha' or $format='a'">
-          <xsl:value-of select="'a'"/>
-        </xsl:when>
-        <xsl:when test="$format='lowerroman' or $format='i'">
-          <xsl:value-of select="'i'"/>
-        </xsl:when>
-        <xsl:when test="$format='upperalpha' or $format='A'">
-          <xsl:value-of select="'A'"/>
-        </xsl:when>
-        <xsl:when test="$format='upperroman' or $format='I'">
-          <xsl:value-of select="'I'"/>
-        </xsl:when>      
-	<xsl:when test="$format='arabicindic' or $format='&#x661;'">
-	  <xsl:value-of select="'&#x661;'"/>
-	</xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>Unexpected </xsl:text><xsl:value-of select="local-name(.)"/><xsl:text>.autolabel value: </xsl:text>
-            <xsl:value-of select="$format"/><xsl:text>; using default.</xsl:text>
-          </xsl:message>
-          <xsl:call-template name="default.autolabel.format"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<doc:template name="autolabel.format" xmlns="">
-<refpurpose>Returns format for autolabel parameters</refpurpose>
-<refdescription id="autolabel.format-desc">
-<para>Returns format passed as parameter if non zero. Supported
-  format are 'arabic' or '1', 'loweralpha' or 'a', 'lowerroman' or 'i', 
-  'upperlapha' or 'A', 'upperroman' or 'I', 'arabicindic' or '&#x661;'.
-  If its not one of these then 
-  returns the default format.</para>
-</refdescription>
-</doc:template>
-
-<!-- ============================================================ -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/olink.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/olink.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1149 +1,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-
-<!-- Create keys for quickly looking up olink targets -->
-<xsl:key name="targetdoc-key" match="document" use="@targetdoc" />
-<xsl:key name="targetptr-key"  match="div|obj"
-         use="concat(ancestor::document/@targetdoc, '/',
-                     @targetptr, '/', ancestor::document/@lang)" />
-
-<!-- Return filename of database -->
-<xsl:template name="select.target.database">
-  <xsl:param name="targetdoc.att" select="''"/>
-  <xsl:param name="targetptr.att" select="''"/>
-  <xsl:param name="olink.lang" select="''"/>
-
-  <!-- use root's xml:base if exists -->
-  <xsl:variable name="xml.base" select="/*/@xml:base"/>
-
-  <!-- This selection can be customized if needed -->
-  <xsl:variable name="target.database.filename">
-    <xsl:choose>
-      <xsl:when test="$xml.base != '' and
-                   not(starts-with($target.database.document, 'file:/')) and
-                   not(starts-with($target.database.document, '/'))">
-        <xsl:call-template name="systemIdToBaseURI">
-          <xsl:with-param name="systemId" select="$xml.base"/>
-        </xsl:call-template>
-        <xsl:value-of select="$target.database.document"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$target.database.document"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="target.database" 
-      select="document($target.database.filename,/)"/>
-
-  <xsl:choose>
-    <!-- Was the database document parameter not set? -->
-    <xsl:when test="$target.database.document = ''">
-      <xsl:message>
-        <xsl:text>Olinks not processed: must specify a </xsl:text>
-        <xsl:text>$target.database.document parameter&#10;</xsl:text>
-        <xsl:text>when using olinks with targetdoc </xsl:text>
-        <xsl:text>and targetptr attributes.</xsl:text>
-      </xsl:message>
-    </xsl:when>
-    <!-- Did it not open? Should be a targetset element -->
-    <xsl:when test="not($target.database/*)">
-      <xsl:message>
-        <xsl:text>Olink error: could not open target database '</xsl:text>
-        <xsl:value-of select="$target.database.filename"/>
-        <xsl:text>'.</xsl:text>
-      </xsl:message>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$target.database.filename"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="select.olink.key">
-  <xsl:param name="targetdoc.att" select="''"/>
-  <xsl:param name="targetptr.att" select="''"/>
-  <xsl:param name="olink.lang" select="''"/>
-  <xsl:param name="target.database"/>
-
-  <xsl:if test="$target.database/*">
-    <xsl:variable name="olink.fallback.sequence">
-      <xsl:call-template name="select.olink.lang.fallback">
-        <xsl:with-param name="olink.lang" select="$olink.lang"/>
-      </xsl:call-template>
-    </xsl:variable>
-  
-    <!-- Recurse through the languages until you find a match -->
-    <xsl:call-template name="select.olink.key.in.lang">
-      <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/>
-      <xsl:with-param name="targetptr.att" select="$targetptr.att"/>
-      <xsl:with-param name="olink.lang" select="$olink.lang"/>
-      <xsl:with-param name="target.database" select="$target.database"/>
-      <xsl:with-param name="fallback.index" select="1"/>
-      <xsl:with-param name="olink.fallback.sequence"
-                      select="$olink.fallback.sequence"/>
-    </xsl:call-template>
-  </xsl:if>
-  
-</xsl:template>
-
-<!-- Locate olink key in a particular language -->
-<xsl:template name="select.olink.key.in.lang">
-  <xsl:param name="targetdoc.att" select="''"/>
-  <xsl:param name="targetptr.att" select="''"/>
-  <xsl:param name="olink.lang" select="''"/>
-  <xsl:param name="target.database"/>
-  <xsl:param name="fallback.index" select="1"/>
-  <xsl:param name="olink.fallback.sequence" select="''"/>
-  
-  <xsl:variable name="target.lang">
-    <xsl:call-template name="select.target.lang">
-      <xsl:with-param name="fallback.index" select="$fallback.index"/>
-      <xsl:with-param name="olink.fallback.sequence"
-                      select="$olink.fallback.sequence"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="$olink.debug != 0">
-    <xsl:message><xsl:text>Olink debug: cases for targetdoc='</xsl:text>
-      <xsl:value-of select="$targetdoc.att"/>
-      <xsl:text>' and targetptr='</xsl:text>
-      <xsl:value-of select="$targetptr.att"/>
-      <xsl:text>' in language '</xsl:text>
-      <xsl:value-of select="$target.lang"/>
-      <xsl:text>'.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <!-- Customize these cases if you want different selection logic -->
-  <xsl:variable name="CaseA">
-    <!-- targetdoc.att = not blank
-         targetptr.att = not blank
-    -->
-    <xsl:if test="$targetdoc.att != '' and
-                  $targetptr.att != ''">
-      <xsl:for-each select="$target.database">
-        <xsl:variable name="key" 
-                      select="concat($targetdoc.att, '/', 
-                                     $targetptr.att, '/',
-                                     $target.lang)"/>
-        <xsl:choose>
-          <xsl:when test="key('targetptr-key', $key)/@href != ''">
-            <xsl:value-of select="$key"/>
-            <xsl:if test="$olink.debug != 0">
-              <xsl:message>Olink debug: CaseA matched.</xsl:message>
-            </xsl:if>
-          </xsl:when>
-          <xsl:when test="$olink.debug != 0">
-            <xsl:message>Olink debug: CaseA NOT matched</xsl:message>
-          </xsl:when>
-        </xsl:choose>
-      </xsl:for-each>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="CaseB">
-    <!-- targetdoc.att = not blank
-         targetptr.att = not blank
-         prefer.internal.olink = not zero
-         current.docid = not blank 
-    -->
-    <xsl:if test="$targetdoc.att != '' and
-                  $targetptr.att != '' and
-                  $current.docid != '' and
-                  $prefer.internal.olink != 0">
-      <xsl:for-each select="$target.database">
-        <xsl:variable name="key" 
-                      select="concat($current.docid, '/', 
-                                     $targetptr.att, '/',
-                                     $target.lang)"/>
-        <xsl:choose>
-          <xsl:when test="key('targetptr-key', $key)/@href != ''">
-            <xsl:value-of select="$key"/>
-            <xsl:if test="$olink.debug != 0">
-              <xsl:message>Olink debug: CaseB matched.</xsl:message>
-            </xsl:if>
-          </xsl:when>
-          <xsl:when test="$olink.debug != 0">
-            <xsl:message>Olink debug: CaseB NOT matched</xsl:message>
-          </xsl:when>
-        </xsl:choose>
-      </xsl:for-each>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="CaseC">
-    <!-- targetdoc.att = blank
-         targetptr.att = not blank
-         current.docid = not blank 
-    -->
-    <xsl:if test="string-length($targetdoc.att) = 0 and
-                  $targetptr.att != '' and
-                  $current.docid != ''">
-      <!-- Must use a for-each to change context for keys to work -->
-      <xsl:for-each select="$target.database">
-        <xsl:variable name="key" 
-                      select="concat($current.docid, '/', 
-                                     $targetptr.att, '/',
-                                     $target.lang)"/>
-        <xsl:choose>
-          <xsl:when test="key('targetptr-key', $key)/@href != ''">
-            <xsl:value-of select="$key"/>
-            <xsl:if test="$olink.debug != 0">
-              <xsl:message>Olink debug: CaseC matched.</xsl:message>
-            </xsl:if>
-          </xsl:when>
-          <xsl:when test="$olink.debug != 0">
-            <xsl:message>Olink debug: CaseC NOT matched.</xsl:message>
-          </xsl:when>
-        </xsl:choose>
-      </xsl:for-each>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="CaseD">
-    <!-- targetdoc.att = blank
-         targetptr.att = not blank
-         current.docid = blank 
-    -->
-    <!-- This is possible if only one document in the database -->
-    <xsl:if test="string-length($targetdoc.att) = 0 and
-                  $targetptr.att != '' and
-                  string-length($current.docid) = 0 and
-                  count($target.database//document) = 1">
-      <xsl:for-each select="$target.database">
-        <xsl:variable name="key" 
-                      select="concat(.//document/@targetdoc, '/', 
-                                     $targetptr.att, '/',
-                                     $target.lang)"/>
-        <xsl:choose>
-          <xsl:when test="key('targetptr-key', $key)/@href != ''">
-            <xsl:value-of select="$key"/>
-            <xsl:if test="$olink.debug != 0">
-              <xsl:message>Olink debug: CaseD matched.</xsl:message>
-            </xsl:if>
-          </xsl:when>
-          <xsl:when test="$olink.debug != 0">
-            <xsl:message>Olink debug: CaseD NOT matched</xsl:message>
-          </xsl:when>
-        </xsl:choose>
-      </xsl:for-each>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="CaseE">
-    <!-- targetdoc.att = not blank
-         targetptr.att = blank
-    -->
-    <xsl:if test="$targetdoc.att != '' and
-                  string-length($targetptr.att) = 0">
-
-      <!-- Try the document's root element id -->
-      <xsl:variable name="rootid">
-        <xsl:choose>
-          <xsl:when test="$target.lang != ''">
-            <xsl:value-of select="$target.database//document[@targetdoc = $targetdoc.att and @lang = $target.lang]/*[1]/@targetptr"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$target.database//document[@targetdoc = $targetdoc.att and not(@lang)]/*[1]/@targetptr"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:for-each select="$target.database">
-        <xsl:variable name="key" 
-                      select="concat($targetdoc.att, '/', 
-                                     $rootid, '/',
-                                     $target.lang)"/>
-        <xsl:choose>
-          <xsl:when test="key('targetptr-key', $key)/@href != ''">
-            <xsl:value-of select="$key"/>
-            <xsl:if test="$olink.debug != 0">
-              <xsl:message>Olink debug: CaseE matched.</xsl:message>
-            </xsl:if>
-          </xsl:when>
-          <xsl:when test="$olink.debug != 0">
-            <xsl:message>Olink debug: CaseE NOT matched.</xsl:message>
-          </xsl:when>
-        </xsl:choose>
-      </xsl:for-each>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="CaseF">
-    <!-- targetdoc.att = not blank
-         targetptr.att = blank
-         prefer.internal.olink = not zero
-         current.docid = not blank 
-    -->
-    <xsl:if test="$targetdoc.att != '' and
-                  string-length($targetptr.att) = 0 and
-                  $current.docid != '' and
-                  $prefer.internal.olink != 0">
-      <!-- Try the document's root element id -->
-      <xsl:variable name="rootid">
-        <xsl:choose>
-          <xsl:when test="$target.lang != ''">
-            <xsl:value-of select="$target.database//document[@targetdoc = $current.docid and @lang = $target.lang]/*[1]/@targetptr"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$target.database//document[@targetdoc = $current.docid and not(@lang)]/*[1]/@targetptr"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:for-each select="$target.database">
-        <xsl:variable name="key" 
-                      select="concat($current.docid, '/', 
-                                     $rootid, '/',
-                                     $target.lang)"/>
-        <xsl:choose>
-          <xsl:when test="key('targetptr-key', $key)/@href != ''">
-            <xsl:value-of select="$key"/>
-            <xsl:if test="$olink.debug != 0">
-              <xsl:message>Olink debug: CaseF matched.</xsl:message>
-            </xsl:if>
-          </xsl:when>
-          <xsl:when test="$olink.debug != 0">
-            <xsl:message>Olink debug: CaseF NOT matched.</xsl:message>
-          </xsl:when>
-        </xsl:choose>
-      </xsl:for-each>
-    </xsl:if>
-  </xsl:variable>
-
-  <!-- Now select the best match. Customize the order if needed -->
-  <xsl:variable name="selected.key">
-    <xsl:choose>
-      <xsl:when test="$CaseB != ''">
-        <xsl:value-of select="$CaseB"/>
-        <xsl:if test="$olink.debug != 0">
-          <xsl:message>
-            <xsl:text>Olink debug: CaseB key is the final selection: </xsl:text>
-            <xsl:value-of select="$CaseB"/>
-          </xsl:message>
-        </xsl:if>
-      </xsl:when>
-      <xsl:when test="$CaseA != ''">
-        <xsl:value-of select="$CaseA"/>
-        <xsl:if test="$olink.debug != 0">
-          <xsl:message>
-            <xsl:text>Olink debug: CaseA key is the final selection: </xsl:text>
-            <xsl:value-of select="$CaseA"/>
-          </xsl:message>
-        </xsl:if>
-      </xsl:when>
-      <xsl:when test="$CaseC != ''">
-        <xsl:value-of select="$CaseC"/>
-        <xsl:if test="$olink.debug != 0">
-          <xsl:message>
-            <xsl:text>Olink debug: CaseC key is the final selection: </xsl:text>
-            <xsl:value-of select="$CaseC"/>
-          </xsl:message>
-        </xsl:if>
-      </xsl:when>
-      <xsl:when test="$CaseD != ''">
-        <xsl:value-of select="$CaseD"/>
-        <xsl:if test="$olink.debug != 0">
-          <xsl:message>
-            <xsl:text>Olink debug: CaseD key is the final selection: </xsl:text>
-            <xsl:value-of select="$CaseD"/>
-          </xsl:message>
-        </xsl:if>
-      </xsl:when>
-      <xsl:when test="$CaseF != ''">
-        <xsl:value-of select="$CaseF"/>
-        <xsl:if test="$olink.debug != 0">
-          <xsl:message>
-            <xsl:text>Olink debug: CaseF key is the final selection: </xsl:text>
-            <xsl:value-of select="$CaseF"/>
-          </xsl:message>
-        </xsl:if>
-      </xsl:when>
-      <xsl:when test="$CaseE != ''">
-        <xsl:value-of select="$CaseE"/>
-        <xsl:if test="$olink.debug != 0">
-          <xsl:message>
-            <xsl:text>Olink debug: CaseE key is the final selection: </xsl:text>
-            <xsl:value-of select="$CaseE"/>
-          </xsl:message>
-        </xsl:if>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:if test="$olink.debug != 0">
-          <xsl:message>
-            <xsl:text>Olink debug: No case matched for lang '</xsl:text>
-            <xsl:value-of select="$target.lang"/>
-            <xsl:text>'.</xsl:text>
-          </xsl:message>
-        </xsl:if>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$selected.key != ''">
-      <xsl:value-of select="$selected.key"/>
-    </xsl:when>
-    <xsl:when test="string-length($selected.key) = 0 and 
-                    string-length($target.lang) = 0">
-      <!-- No match on last try, and we are done -->
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- Recurse through next language -->
-      <xsl:call-template name="select.olink.key.in.lang">
-        <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/>
-        <xsl:with-param name="targetptr.att" select="$targetptr.att"/>
-        <xsl:with-param name="olink.lang" select="$olink.lang"/>
-        <xsl:with-param name="target.database" select="$target.database"/>
-        <xsl:with-param name="fallback.index" select="$fallback.index + 1"/>
-        <xsl:with-param name="olink.fallback.sequence"
-                        select="$olink.fallback.sequence"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="select.target.lang">
-  <xsl:param name="fallback.index" select="1"/>
-  <xsl:param name="olink.fallback.sequence" select="''"/>
-
-  <!-- recurse backwards to find the lang matching the index -->
-  <xsl:variable name="firstlang" 
-                select="substring-before($olink.fallback.sequence, ' ')"/>
-  <xsl:variable name="rest" 
-                select="substring-after($olink.fallback.sequence, ' ')"/>
-  <xsl:choose>
-    <xsl:when test="$fallback.index = 1">
-      <xsl:value-of select="$firstlang"/>
-    </xsl:when>
-    <xsl:when test="$fallback.index &gt; 1">
-      <xsl:call-template name="select.target.lang">
-        <xsl:with-param name="fallback.index" select="$fallback.index - 1"/>
-        <xsl:with-param name="olink.fallback.sequence"
-                        select="$rest"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="select.olink.lang.fallback">
-  <xsl:param name="olink.lang" select="''"/>
-
-  <!-- Prefer language of the olink element -->
-  <xsl:value-of select="concat(normalize-space(concat($olink.lang, ' ', 
-                        $olink.lang.fallback.sequence)), ' ')"/>
-</xsl:template>
-
-<!-- Returns the complete olink href value if found -->
-<xsl:template name="make.olink.href">
-  <xsl:param name="olink.key" select="''"/>
-  <xsl:param name="target.database"/>
-
-  <xsl:if test="$olink.key != ''">
-    <xsl:variable name="target.href" >
-      <xsl:for-each select="$target.database" >
-        <xsl:value-of select="key('targetptr-key', $olink.key)/@href" />
-      </xsl:for-each>
-    </xsl:variable>
-  
-    <xsl:variable name="targetdoc">
-      <xsl:value-of select="substring-before($olink.key, '/')"/>
-    </xsl:variable>
-  
-    <!-- Does the target database use a sitemap? -->
-    <xsl:variable name="use.sitemap">
-      <xsl:choose>
-        <xsl:when test="$target.database//sitemap">1</xsl:when>
-        <xsl:otherwise>0</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-  
-  
-    <!-- Get the baseuri for this targetptr -->
-    <xsl:variable name="baseuri" >
-      <xsl:choose>
-        <!-- Does the database use a sitemap? -->
-        <xsl:when test="$use.sitemap != 0" >
-          <xsl:choose>
-            <!-- Was current.docid parameter set? -->
-            <xsl:when test="$current.docid != ''">
-              <!-- Was it found in the database? -->
-              <xsl:variable name="currentdoc.key" >
-                <xsl:for-each select="$target.database" >
-                  <xsl:value-of select="key('targetdoc-key',
-                                        $current.docid)/@targetdoc" />
-                </xsl:for-each>
-              </xsl:variable>
-              <xsl:choose>
-                <xsl:when test="$currentdoc.key != ''">
-                  <xsl:for-each select="$target.database" >
-                    <xsl:call-template name="targetpath" >
-                      <xsl:with-param name="dirnode" 
-                          select="key('targetdoc-key', $current.docid)/parent::dir"/>
-                      <xsl:with-param name="targetdoc" select="$targetdoc"/>
-                    </xsl:call-template>
-                  </xsl:for-each >
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:message>
-                    <xsl:text>Olink error: cannot compute relative </xsl:text>
-                    <xsl:text>sitemap path because $current.docid '</xsl:text>
-                    <xsl:value-of select="$current.docid"/>
-                    <xsl:text>' not found in target database.</xsl:text>
-                  </xsl:message>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:message>
-                <xsl:text>Olink warning: cannot compute relative </xsl:text>
-                <xsl:text>sitemap path without $current.docid parameter</xsl:text>
-              </xsl:message>
-            </xsl:otherwise>
-          </xsl:choose> 
-          <!-- In either case, add baseuri from its document entry-->
-          <xsl:variable name="docbaseuri">
-            <xsl:for-each select="$target.database" >
-              <xsl:value-of select="key('targetdoc-key', $targetdoc)/@baseuri" />
-            </xsl:for-each>
-          </xsl:variable>
-          <xsl:if test="$docbaseuri != ''" >
-            <xsl:value-of select="$docbaseuri"/>
-          </xsl:if>
-        </xsl:when>
-        <!-- No database sitemap in use -->
-        <xsl:otherwise>
-          <!-- Just use any baseuri from its document entry -->
-          <xsl:variable name="docbaseuri">
-            <xsl:for-each select="$target.database" >
-              <xsl:value-of select="key('targetdoc-key', $targetdoc)/@baseuri" />
-            </xsl:for-each>
-          </xsl:variable>
-          <xsl:if test="$docbaseuri != ''" >
-            <xsl:value-of select="$docbaseuri"/>
-          </xsl:if>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-  
-    <!-- Form the href information -->
-    <xsl:if test="$baseuri != ''">
-      <xsl:value-of select="$baseuri"/>
-      <xsl:if test="substring($target.href,1,1) != '#'">
-        <!--xsl:text>/</xsl:text-->
-      </xsl:if>
-    </xsl:if>
-    <!-- optionally turn off frag for PDF references -->
-    <xsl:if test="not($insert.olink.pdf.frag = 0 and
-          translate(substring($baseuri, string-length($baseuri) - 3),
-                    'PDF', 'pdf') = '.pdf'
-          and starts-with($target.href, '#') )">
-      <xsl:value-of select="$target.href"/>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<!-- Computes the href of the object containing the olink element -->
-<xsl:template name="olink.from.uri">
-  <xsl:param name="target.database"/>
-  <xsl:param name="object" select="NotAnElement"/>
-  <xsl:param name="object.targetdoc" select="$current.docid"/>
-  <xsl:param name="object.lang" 
-           select="concat($object/ancestor::*[last()]/@lang,
-                          $object/ancestor::*[last()]/@xml:lang)"/>
-
-  <xsl:variable name="parent.id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$object"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <!-- Get the olink key for the parent of olink element -->
-  <xsl:variable name="from.key">
-    <xsl:call-template name="select.olink.key">
-      <xsl:with-param name="targetdoc.att" select="$object.targetdoc"/>
-      <xsl:with-param name="targetptr.att" select="$parent.id"/>
-      <xsl:with-param name="olink.lang" select="$object.lang"/>
-      <xsl:with-param name="target.database" select="$target.database"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="from.olink.href">
-    <xsl:for-each select="$target.database" >
-      <xsl:value-of select="key('targetptr-key', $from.key)/@href" />
-    </xsl:for-each>
-  </xsl:variable>
-
-  <xsl:choose>
-    <!-- we found the olink object -->
-    <xsl:when test="$from.olink.href != ''">
-      <xsl:value-of select="$from.olink.href"/>
-    </xsl:when>
-    <xsl:when test="not($object/parent::*)">
-      <xsl:value-of select="$from.olink.href"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- recurse upward in current document -->
-      <xsl:call-template name="olink.from.uri">
-        <xsl:with-param name="target.database" select="$target.database"/>
-        <xsl:with-param name="object" select="$object/parent::*"/>
-        <xsl:with-param name="object.targetdoc" select="$object.targetdoc"/>
-        <xsl:with-param name="object.lang" select="$object.lang"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="olink.hottext">
-  <xsl:param name="target.database"/>
-  <xsl:param name="olink.lang" select="''"/>
-  <xsl:param name="olink.key" select="''"/>
-  <xsl:param name="referrer" select="."/>
-  <xsl:param name="xrefstyle">
-    <xsl:choose>
-      <xsl:when test="@role and not(@xrefstyle) 
-                      and $use.role.as.xrefstyle != 0">
-        <xsl:value-of select="@role"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="@xrefstyle"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:param>
-
-  <xsl:choose>
-    <!-- If it has elements or text (not just PI or comment) -->
-    <xsl:when test="child::text() or child::*">
-      <xsl:apply-templates/>
-    </xsl:when>
-    <xsl:when test="$olink.key != ''">
-      <!-- Get the xref text for this record -->
-      <xsl:variable name="xref.text" >
-        <xsl:for-each select="$target.database" >
-          <xsl:copy-of 
-                  select="key('targetptr-key', $olink.key)/xreftext/node()" />
-        </xsl:for-each>
-      </xsl:variable>
-
-      <xsl:variable name="xref.number" >
-        <xsl:for-each select="$target.database" >
-          <xsl:value-of select="key('targetptr-key', $olink.key)/@number" />
-        </xsl:for-each>
-      </xsl:variable>
-
-      <xsl:variable name="target.elem" >
-        <xsl:for-each select="$target.database" >
-          <xsl:value-of select="key('targetptr-key', $olink.key)/@element" />
-        </xsl:for-each>
-      </xsl:variable>
-
-      <xsl:variable name="lang">
-        <xsl:variable name="candidate">
-          <xsl:for-each select="$target.database" >
-            <xsl:value-of 
-                      select="key('targetptr-key', $olink.key)/@lang" />
-          </xsl:for-each>
-        </xsl:variable>
-        <xsl:choose>
-          <xsl:when test="$candidate != ''">
-            <xsl:value-of select="$candidate"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$olink.lang"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="targetdoc">
-        <xsl:value-of select="substring-before($olink.key, '/')"/>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$xrefstyle != '' and
-                        starts-with(normalize-space($xrefstyle), 'select:') and
-                        (contains($xrefstyle, 'nodocname') or
-                        contains($xrefstyle, 'nopage')) and
-                        not(contains($xrefstyle, 'title')) and
-                        not(contains($xrefstyle, 'label'))"> 
-          <xsl:copy-of select="$xref.text"/>
-        </xsl:when>
-        <xsl:when test="$xrefstyle != ''">
-          <xsl:if test="$olink.debug != 0">
-            <xsl:message>
-              <xsl:text>xrefstyle is '</xsl:text>
-              <xsl:value-of select="$xrefstyle"/>
-              <xsl:text>'.</xsl:text>
-            </xsl:message>
-          </xsl:if>
-          <xsl:variable name="template">
-            <xsl:choose>
-              <xsl:when test="starts-with(normalize-space($xrefstyle),
-                                          'select:')">
-                <xsl:call-template name="make.gentext.template">
-                  <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-                  <xsl:with-param name="purpose" select="'olink'"/>
-                  <xsl:with-param name="referrer" select="."/>
-                  <xsl:with-param name="target.elem" select="$target.elem"/>
-                </xsl:call-template>
-              </xsl:when>
-              <xsl:when test="starts-with(normalize-space($xrefstyle),
-                                          'template:')">
-                <xsl:value-of select="substring-after(
-                                 normalize-space($xrefstyle), 'template:')"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <!-- Look for Gentext template with @style attribute -->
-                <!-- Must compare to no style value because gentext.template
-                     falls back to no style -->
-
-                <xsl:variable name="xref-context">
-                  <xsl:call-template name="gentext.template">
-                    <xsl:with-param name="context" select="'xref'"/>
-                    <xsl:with-param name="name" select="$target.elem"/>
-                    <xsl:with-param name="lang" select="$lang"/>
-                  </xsl:call-template>
-                </xsl:variable>
-
-                <xsl:variable name="styled-xref-context">
-                  <xsl:call-template name="gentext.template">
-                    <xsl:with-param name="context" select="'xref'"/>
-                    <xsl:with-param name="name" select="$target.elem"/>
-                    <xsl:with-param name="lang" select="$lang"/>
-                    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-                  </xsl:call-template>
-                </xsl:variable>
-
-                <xsl:variable name="xref-number-context">
-                  <xsl:call-template name="gentext.template">
-                    <xsl:with-param name="context" select="'xref-number'"/>
-                    <xsl:with-param name="name" select="$target.elem"/>
-                    <xsl:with-param name="lang" select="$lang"/>
-                  </xsl:call-template>
-                </xsl:variable>
-
-                <xsl:variable name="styled-xref-number-context">
-                  <xsl:call-template name="gentext.template">
-                    <xsl:with-param name="context" select="'xref-number'"/>
-                    <xsl:with-param name="name" select="$target.elem"/>
-                    <xsl:with-param name="lang" select="$lang"/>
-                    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-                  </xsl:call-template>
-                </xsl:variable>
-
-                <xsl:variable name="xref-number-and-title-context">
-                  <xsl:call-template name="gentext.template">
-                    <xsl:with-param name="context" 
-                                    select="'xref-number-and-title'"/>
-                    <xsl:with-param name="name" select="$target.elem"/>
-                    <xsl:with-param name="lang" select="$lang"/>
-                  </xsl:call-template>
-                </xsl:variable>
-
-                <xsl:variable name="styled-xref-number-and-title-context">
-                  <xsl:call-template name="gentext.template">
-                    <xsl:with-param name="context" 
-                                    select="'xref-number-and-title'"/>
-                    <xsl:with-param name="name" select="$target.elem"/>
-                    <xsl:with-param name="lang" select="$lang"/>
-                    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-                  </xsl:call-template>
-                </xsl:variable>
-
-                <xsl:choose>
-                  <xsl:when test="$xref-number-and-title-context != 
-                                 $styled-xref-number-and-title-context and
-                                 $xref.number != '' and
-                                 $xref.with.number.and.title != 0">
-                    <xsl:value-of 
-                            select="$styled-xref-number-and-title-context"/>
-                  </xsl:when>
-                  <xsl:when test="$xref-number-context != 
-                                 $styled-xref-number-context and
-                                 $xref.number != ''">
-                    <xsl:value-of select="$styled-xref-number-context"/>
-                  </xsl:when>
-                  <xsl:when test="$xref-context != $styled-xref-context">
-                    <xsl:value-of select="$styled-xref-context"/>
-                  </xsl:when>
-                  <xsl:when test="$xref-number-and-title-context != '' and
-                                 $xref.number != '' and
-                                 $xref.with.number.and.title != 0">
-                    <xsl:value-of 
-                            select="$xref-number-and-title-context"/>
-                    <xsl:if test="$olink.debug">
-                      <xsl:message>
-                        <xsl:text>Olink error: no gentext template</xsl:text>
-                        <xsl:text> exists for xrefstyle '</xsl:text>
-                        <xsl:value-of select="$xrefstyle"/>
-                        <xsl:text>' for element '</xsl:text>
-                        <xsl:value-of select="$target.elem"/>
-                        <xsl:text>' in language '</xsl:text>
-                        <xsl:value-of select="$lang"/>
-                        <xsl:text>' in context 'xref-number-and-title</xsl:text>
-                        <xsl:text>'. Using template without @style.</xsl:text>
-                      </xsl:message>
-                    </xsl:if>
-                  </xsl:when>
-                  <xsl:when test="$xref-number-context != '' and
-                                 $xref.number != ''">
-                    <xsl:value-of select="$xref-number-context"/>
-                    <xsl:if test="$olink.debug">
-                      <xsl:message>
-                        <xsl:text>Olink error: no gentext template</xsl:text>
-                        <xsl:text> exists for xrefstyle '</xsl:text>
-                        <xsl:value-of select="$xrefstyle"/>
-                        <xsl:text>' for element '</xsl:text>
-                        <xsl:value-of select="$target.elem"/>
-                        <xsl:text>' in language '</xsl:text>
-                        <xsl:value-of select="$lang"/>
-                        <xsl:text>' in context 'xref-number</xsl:text>
-                        <xsl:text>'. Using template without @style.</xsl:text>
-                      </xsl:message>
-                    </xsl:if>
-                  </xsl:when>
-                  <xsl:when test="$xref-context != ''">
-                    <xsl:value-of select="$xref-context"/>
-                    <xsl:if test="$olink.debug">
-                      <xsl:message>
-                        <xsl:text>Olink error: no gentext template</xsl:text>
-                        <xsl:text> exists for xrefstyle '</xsl:text>
-                        <xsl:value-of select="$xrefstyle"/>
-                        <xsl:text>' for element '</xsl:text>
-                        <xsl:value-of select="$target.elem"/>
-                        <xsl:text>' in language '</xsl:text>
-                        <xsl:value-of select="$lang"/>
-                        <xsl:text>' in context 'xref</xsl:text>
-                        <xsl:text>'. Using template without @style.</xsl:text>
-                      </xsl:message>
-                    </xsl:if>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:message>
-                      <xsl:text>Olink error: no gentext template</xsl:text>
-                      <xsl:text> exists for xrefstyle '</xsl:text>
-                      <xsl:value-of select="$xrefstyle"/>
-                      <xsl:text>' for element '</xsl:text>
-                      <xsl:value-of select="$target.elem"/>
-                      <xsl:text>' in language '</xsl:text>
-                      <xsl:value-of select="$lang"/>
-                      <xsl:text>'. Trying '%t'.</xsl:text>
-                    </xsl:message>
-                    <xsl:value-of select="'%t'"/>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:variable>
-
-          <xsl:if test="$olink.debug != 0">
-            <xsl:message>
-              <xsl:text>Olink debug: xrefstyle template is '</xsl:text>
-              <xsl:value-of select="$template"/>
-              <xsl:text>'.</xsl:text>
-            </xsl:message>
-          </xsl:if>
-
-          <xsl:call-template name="substitute-markup">
-            <xsl:with-param name="template" select="$template"/>
-            <xsl:with-param name="title">
-              <xsl:for-each select="$target.database" >
-                <xsl:value-of select="key('targetptr-key', $olink.key)/ttl" />
-              </xsl:for-each>
-            </xsl:with-param>
-            <xsl:with-param name="label">
-              <xsl:for-each select="$target.database" >
-                <xsl:value-of 
-                        select="key('targetptr-key', $olink.key)/@number" />
-              </xsl:for-each>
-            </xsl:with-param>
-            <xsl:with-param name="pagenumber">
-              <xsl:for-each select="$target.database" >
-                <xsl:value-of 
-                        select="key('targetptr-key', $olink.key)/@page" />
-              </xsl:for-each>
-            </xsl:with-param>
-            <xsl:with-param name="docname">
-              <xsl:for-each select="$target.database" >
-                <xsl:value-of 
-                       select="key('targetdoc-key', $targetdoc)/div[1]/ttl" />
-              </xsl:for-each>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-
-        <xsl:when test="$use.local.olink.style != 0">
-
-          <xsl:variable name="template">
-            <xsl:call-template name="gentext.template">
-              <xsl:with-param name="context" select="'xref'"/>
-              <xsl:with-param name="name" select="$target.elem"/>
-              <xsl:with-param name="lang" select="$lang"/>
-            </xsl:call-template>
-          </xsl:variable>
-
-          <xsl:call-template name="substitute-markup">
-            <xsl:with-param name="template" select="$template"/>
-            <xsl:with-param name="title">
-              <xsl:for-each select="$target.database" >
-                <xsl:value-of select="key('targetptr-key', $olink.key)/ttl" />
-              </xsl:for-each>
-            </xsl:with-param>
-            <xsl:with-param name="label">
-              <xsl:for-each select="$target.database" >
-                <xsl:value-of 
-                          select="key('targetptr-key', $olink.key)/@number" />
-              </xsl:for-each>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="$xref.text !=''">
-          <xsl:copy-of select="$xref.text"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>Olink error: no generated text for </xsl:text>
-            <xsl:text>targetdoc/targetptr/lang = '</xsl:text>
-            <xsl:value-of select="$olink.key"/>
-            <xsl:text>'.</xsl:text>
-          </xsl:message>
-          <xsl:text>????</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="@targetdoc != '' or @targetptr != ''">
-      <xsl:if test="$olink.key != ''">
-        <xsl:message>
-          <xsl:text>Olink error: no generated text for </xsl:text>
-          <xsl:text>targetdoc/targetptr/lang = '</xsl:text>
-          <xsl:value-of select="$olink.key"/>
-          <xsl:text>'.</xsl:text>
-        </xsl:message>
-      </xsl:if>
-      <xsl:text>????</xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- old style olink -->
-      <xsl:call-template name="olink.outline">
-        <xsl:with-param name="outline.base.uri"
-                        select="unparsed-entity-uri(@targetdocent)"/>
-        <xsl:with-param name="localinfo" select="@localinfo"/>
-        <xsl:with-param name="return" select="'xreftext'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="olink.docname.markup">
-  <!-- No-op for now -->
-</xsl:template>
-
-<xsl:template name="targetpath">
-  <xsl:param name="dirnode" />
-  <xsl:param name="targetdoc" select="''"/>
-
-<!-- 
-<xsl:message>dirnode is <xsl:value-of select="$dirnode/@name"/></xsl:message>
-<xsl:message>targetdoc is <xsl:value-of select="$targetdoc"/></xsl:message>
--->
-  <!-- recursive template generates path to olink target directory -->
-  <xsl:choose>
-    <!-- Have we arrived at the final path step? -->
-    <xsl:when test="$dirnode/child::document[@targetdoc = $targetdoc]">
-      <!-- We are done -->
-    </xsl:when>
-    <!-- Have we reached the top without a match? -->
-    <xsl:when test="local-name($dirnode) != 'dir'" >
-        <xsl:message>Olink error: cannot locate targetdoc <xsl:value-of select="$targetdoc"/> in sitemap</xsl:message>
-    </xsl:when>
-    <!-- Is the target in a descendant? -->
-    <xsl:when test="$dirnode/descendant::document/@targetdoc = $targetdoc">
-      <xsl:variable name="step" select="$dirnode/child::dir[descendant::document/@targetdoc = $targetdoc]"/>
-      <xsl:if test = "$step">
-        <xsl:value-of select="$step/@name"/>
-        <xsl:text>/</xsl:text>
-      </xsl:if>
-      <!-- Now recurse with the child -->
-      <xsl:call-template name="targetpath" >
-        <xsl:with-param name="dirnode" select="$step"/>
-        <xsl:with-param name="targetdoc" select="$targetdoc"/>
-      </xsl:call-template>
-    </xsl:when>
-    <!-- Otherwise we need to move up a step -->
-    <xsl:otherwise>
-      <xsl:if test="$dirnode/parent::dir">
-        <xsl:text>../</xsl:text>
-      </xsl:if>
-      <xsl:call-template name="targetpath" >
-        <xsl:with-param name="dirnode" select="$dirnode/parent::*"/>
-        <xsl:with-param name="targetdoc" select="$targetdoc"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="olink.page.citation">
-  <xsl:param name="olink.key" select="''"/>
-  <xsl:param name="olink.lang" select="'en'"/>
-  <xsl:param name="target.database"/>
-  <xsl:param name="linkend" select="''"/>
-  <xsl:param name="xrefstyle">
-    <xsl:choose>
-      <xsl:when test="@role and not(@xrefstyle) 
-                      and $use.role.as.xrefstyle != 0">
-        <xsl:value-of select="@role"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="@xrefstyle"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:param>
-
-  <xsl:variable name="targetdoc">
-    <xsl:value-of select="substring-before($olink.key, '/')"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$linkend != ''">
-      <xsl:call-template name="xref.page.citation">
-        <xsl:with-param name="linkend" select="$linkend"/>
-        <xsl:with-param name="target" select="key('id', $linkend)"/>
-        <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="not(starts-with(normalize-space($xrefstyle),
-                        'select:') 
-                and (contains($xrefstyle, 'page')
-                     or contains($xrefstyle, 'Page')))
-                and $current.docid != '' 
-                and $current.docid != $targetdoc
-                and $insert.olink.page.number = 'yes' ">
-  
-      <xsl:variable name="page-number">
-        <xsl:for-each select="$target.database" >
-          <xsl:value-of 
-                 select="key('targetptr-key', $olink.key)/@page" />
-        </xsl:for-each>
-      </xsl:variable>
-  
-      <xsl:if test="$page-number != ''">
-        <xsl:call-template name="substitute-markup">
-          <xsl:with-param name="template">
-            <xsl:call-template name="gentext.template">
-              <xsl:with-param name="name" select="'olink.page.citation'"/>
-              <xsl:with-param name="context" select="'xref'"/>
-              <xsl:with-param name="lang" select="$olink.lang"/>
-            </xsl:call-template>
-          </xsl:with-param>
-          <xsl:with-param name="pagenumber" select="$page-number"/>
-        </xsl:call-template>
-      </xsl:if>
-  
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="olink.document.citation">
-  <xsl:param name="olink.key" select="''"/>
-  <xsl:param name="olink.lang" select="'en'"/>
-  <xsl:param name="target.database"/>
-  <xsl:param name="xrefstyle">
-    <xsl:choose>
-      <xsl:when test="@role and not(@xrefstyle) 
-                      and $use.role.as.xrefstyle != 0">
-        <xsl:value-of select="@role"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="@xrefstyle"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:param>
-
-  <xsl:variable name="page">
-    <xsl:for-each select="$target.database" >
-      <xsl:value-of 
-             select="key('targetptr-key', $olink.key)/@page" />
-    </xsl:for-each>
-  </xsl:variable>
-
-  <xsl:variable name="targetdoc">
-    <xsl:value-of select="substring-before($olink.key, '/')"/>
-  </xsl:variable>
-
-  <xsl:variable name="targetptr">
-    <xsl:value-of 
-          select="substring-before(substring-after($olink.key, '/'), '/')"/>
-  </xsl:variable>
-
-  <!-- Don't add docname if pointing to root element -->
-  <xsl:variable name="rootptr">
-    <xsl:for-each select="$target.database" >
-      <xsl:value-of 
-             select="key('targetdoc-key', $targetdoc)/div[1]/@targetptr" />
-    </xsl:for-each>
-  </xsl:variable>
-
-  <xsl:variable name="docname">
-    <xsl:for-each select="$target.database" >
-      <xsl:value-of 
-             select="key('targetdoc-key', $targetdoc)/div[1]/ttl" />
-    </xsl:for-each>
-  </xsl:variable>
-
-  <xsl:if test="not(starts-with(normalize-space($xrefstyle), 'select:') 
-              and (contains($xrefstyle, 'docname')))
-              and ($olink.doctitle = 'yes' or $olink.doctitle = '1')
-              and $current.docid != '' 
-              and $rootptr != $targetptr
-              and $current.docid != $targetdoc
-              and $docname != ''">
-    <xsl:call-template name="substitute-markup">
-      <xsl:with-param name="template">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="name" select="'olink.document.citation'"/>
-          <xsl:with-param name="context" select="'xref'"/>
-          <xsl:with-param name="lang" select="$olink.lang"/>
-        </xsl:call-template>
-      </xsl:with-param>
-      <xsl:with-param name="docname" select="$docname"/>
-      <xsl:with-param name="pagenumber" select="$page"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="xref.page.citation">
-  <!-- Determine if this xref should have a page citation.
-       Context node is the xref or local olink element -->
-  <xsl:param name="linkend" select="@linkend"/>
-  <xsl:param name="target" select="key('id', $linkend)"/>
-  <xsl:param name="xrefstyle">
-    <xsl:choose>
-      <xsl:when test="@role and not(@xrefstyle) 
-                      and $use.role.as.xrefstyle != 0">
-        <xsl:value-of select="@role"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="@xrefstyle"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:param>
-
-  <xsl:if test="not(starts-with(normalize-space($xrefstyle),'select:')
-                    and (contains($xrefstyle, 'page')
-                         or contains($xrefstyle, 'Page')))
-                and ( $insert.xref.page.number = 'yes' 
-                   or $insert.xref.page.number = '1')
-                or local-name($target) = 'para'">
-    <xsl:apply-templates select="$target" mode="page.citation">
-      <xsl:with-param name="id" select="$linkend"/>
-    </xsl:apply-templates>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/pi.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/pi.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,346 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-  xmlns:date="http://exslt.org/dates-and-times"
-  xmlns:exsl="http://exslt.org/common"
-  xmlns:xlink="http://www.w3.org/1999/xlink"
-  exclude-result-prefixes="doc date exsl"
-  extension-element-prefixes="date exsl"
-  version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<doc:reference xmlns=""><info><title>Common Processing Instruction Reference</title>
-    <releaseinfo role="meta">
-      $Id$
-    </releaseinfo>
-  </info>
-  <partintro id="partintro">
-    <title>Introduction</title>
-    <para>This is generated reference documentation for all
-      user-specifiable processing instructions (PIs) in the
-      âcommonâ part of the DocBook XSL stylesheets.
-      <note>
-        <para>You add these PIs at particular points in a document to
-          cause specific âexceptionsâ to formatting/output behavior. To
-          make global changes in formatting/output behavior across an
-          entire document, itâs better to do it by setting an
-          appropriate stylesheet parameter (if there is one).</para>
-      </note>
-    </para>
-  </partintro>
-</doc:reference>
-
-<!-- ==================================================================== -->
-<doc:pi name="dbchoice_choice" xmlns="">
-  <refpurpose>Generates a localized choice separator</refpurpose>
-  <refdescription id="select.choice.separator-desc">
-    <para>Use the <tag class="xmlpi">dbchoice choice</tag> PI to
-      generate an appropriate localized âchoiceâ separator (for
-      example, <literal>and</literal> or <literal>or</literal>)
-      before the final item in an inline <tag>simplelist</tag></para>
-    <warning>
-      <para>This PI is a less-than-ideal hack; support for it may
-        disappear in the future (particularly if and when a more
-        appropriate means for marking up "choice" lists becomes
-        available in DocBook).</para>
-    </warning>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbchoice choice="and"|"or"|<replaceable>string</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>choice="and"</term>
-        <listitem>
-          <para>generates a localized <literal>and</literal> separator</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>choice="or"</term>
-        <listitem>
-          <para>generates a localized <literal>or</literal> separator</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>choice="<replaceable>string</replaceable>"</term>
-        <listitem>
-          <para>generates a literal <replaceable>string</replaceable> separator</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-</doc:pi>
-<xsl:template name="pi.dbchoice_choice">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="pi-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbchoice')"/>
-    <xsl:with-param name="attribute">choice</xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbtimestamp" xmlns="">
-  <refpurpose>Inserts a date timestamp</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbtimestamp</tag> PI at any point in a
-      source document to cause a date timestamp (a formatted
-      string representing the current date and time) to be
-      inserted in output of the document.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbtimestamp format="<replaceable>formatstring</replaceable>" [padding="0"|"1"]</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>format="<replaceable>formatstring</replaceable>"</term>
-        <listitem>
-          <para>Specifies format in which the date and time are
-            output</para>
-        <note>
-          <para>For details of the content of the format string,
-            see <link role="tcg" xlink:href="Datetime.html"
-              >Date and time</link>.</para>
-        </note>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>padding="0"|"1"</term>
-        <listitem>
-          <para>Specifies padding behavior; if non-zero, padding is is added</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-</doc:pi>
-<xsl:template name="pi.dbtimestamp">
-  <xsl:variable name="format">
-    <xsl:variable name="pi-format">
-      <xsl:call-template name="pi-attribute">
-        <xsl:with-param name="pis" select="."/>
-        <xsl:with-param name="attribute">format</xsl:with-param>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:choose>
-      <xsl:when test="$pi-format != ''">
-        <xsl:value-of select="$pi-format"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'datetime'"/>
-          <xsl:with-param name="name" select="'format'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable> 
-  <xsl:variable name="padding">
-    <xsl:variable name="pi-padding">
-      <xsl:call-template name="pi-attribute">
-        <xsl:with-param name="pis" select="."/>
-        <xsl:with-param name="attribute">padding</xsl:with-param>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:choose>
-      <xsl:when test="$pi-padding != ''">
-        <xsl:value-of select="$pi-padding"/>
-      </xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:variable name="date">
-    <xsl:choose>
-      <xsl:when test="function-available('date:date-time')">
-        <xsl:value-of select="date:date-time()"/>
-      </xsl:when>
-      <xsl:when test="function-available('date:dateTime')">
-        <!-- Xalan quirk -->
-        <xsl:value-of select="date:dateTime()"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:choose>
-    <xsl:when test="function-available('date:date-time') or
-      function-available('date:dateTime')">
-      <xsl:call-template name="datetime.format">
-        <xsl:with-param name="date" select="$date"/>
-        <xsl:with-param name="format" select="$format"/>
-        <xsl:with-param name="padding" select="$padding"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        Timestamp processing requires XSLT processor with EXSLT date support.
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<doc:pi name="dbtex_delims" xmlns="">
-  <refpurpose>Generates delimiters around embedded TeX equations
-    in output</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbtex delims</tag> PI as a
-      child of a <tag>textobject</tag> containing embedded TeX
-      markup, to cause that markup to be surrounded by
-      <literal>$</literal> delimiter characters in output.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbtex delims="no"|"yes"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>dbtex delims="no"|"yes"</term>
-        <listitem>
-          <para>Specifies whether delimiters are output</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para><parameter>tex.math.delims</parameter></para>
-  </refsee>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="TexMath.html"
-        >DBTeXMath</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbtex_delims">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="pi-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbtex')"/>
-    <xsl:with-param name="attribute" select="'delims'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="processing-instruction()" mode="titlepage.mode">
-  <!-- * Als process PIs on title pages -->
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="processing-instruction('dbtimestamp')">
-  <xsl:call-template name="pi.dbtimestamp"/>
-</xsl:template>
-
-<xsl:template name="datetime.format">
-  <xsl:param name="date"/>
-  <xsl:param name="format"/>
-  <xsl:param name="padding" select="1"/>
-  <xsl:if test="$format != ''">
-    <!-- replace any whitespace in the format string with a non-breaking space -->
-    <xsl:variable name="format-nbsp"
-      select="translate($format,
-      '&#x20;&#x9;&#xd;&#xa;',
-      '&#xa0;&#xa0;&#xa0;&#xa0;')"/>
-    <xsl:variable name="tokenized-format-string">
-      <xsl:call-template name="str.tokenize.keep.delimiters">
-        <xsl:with-param name="string" select="$format-nbsp"/>
-        <xsl:with-param name="delimiters" select="'&#xa0;,./-()[]:'"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:choose>
-      <!-- include extra test for Xalan quirk -->
-      <xsl:when test="function-available('exsl:node-set') or 
-        contains(system-property('xsl:vendor'),'Apache Software Foundation')">
-        <!-- We must preserve context node in order to get valid language -->
-        <xsl:variable name="context" select="."/>
-        <xsl:for-each select="exsl:node-set($tokenized-format-string)/node()">
-          <xsl:variable name="token">
-            <xsl:value-of select="."/>
-          </xsl:variable>
-          <!-- Restore context node -->
-          <xsl:for-each select="$context">
-            <xsl:choose>
-              <xsl:when test="$token = 'a'">
-                <xsl:call-template name="gentext.template">
-                  <xsl:with-param name="context" select="'datetime-abbrev'"/>
-                  <xsl:with-param name="name" select="date:day-abbreviation($date)"/>
-                </xsl:call-template>
-              </xsl:when>
-              <xsl:when test="$token = 'A'">
-                <xsl:call-template name="gentext.template">
-                  <xsl:with-param name="context" select="'datetime-full'"/>
-                  <xsl:with-param name="name" select="date:day-name($date)"/>
-                </xsl:call-template>
-              </xsl:when>
-              <xsl:when test="$token = 'b'">
-                <xsl:call-template name="gentext.template">
-                  <xsl:with-param name="context" select="'datetime-abbrev'"/>
-                  <xsl:with-param name="name" select="date:month-abbreviation($date)"/>
-                </xsl:call-template>
-              </xsl:when>
-              <xsl:when test="$token = 'c'">
-                <xsl:value-of select="date:date($date)"/>
-                <xsl:text> </xsl:text>
-                <xsl:value-of select="date:time($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'B'">
-                <xsl:call-template name="gentext.template">
-                  <xsl:with-param name="context" select="'datetime-full'"/>
-                  <xsl:with-param name="name" select="date:month-name($date)"/>
-                </xsl:call-template>
-              </xsl:when>
-              <xsl:when test="$token = 'd'">
-                <xsl:if test="$padding = 1 and
-                  string-length(date:day-in-month($date)) = 1">0</xsl:if>
-                <xsl:value-of select="date:day-in-month($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'H'">
-                <xsl:if test="$padding = 1 and string-length(date:hour-in-day($date)) = 1">0</xsl:if>
-                <xsl:value-of select="date:hour-in-day($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'j'">
-                <xsl:value-of select="date:day-in-year($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'm'">
-                <xsl:if test="$padding = 1 and string-length(date:month-in-year($date)) = 1">0</xsl:if>
-                <xsl:value-of select="date:month-in-year($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'M'">
-                <xsl:if test="string-length(date:minute-in-hour($date)) = 1">0</xsl:if>
-                <xsl:value-of select="date:minute-in-hour($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'S'">
-                <xsl:if test="string-length(date:second-in-minute($date)) = 1">0</xsl:if>
-                <xsl:value-of select="date:second-in-minute($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'U'">
-                <xsl:value-of select="date:week-in-year($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'w'">
-                <xsl:value-of select="date:day-in-week($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'x'">
-                <xsl:value-of select="date:date($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'X'">
-                <xsl:value-of select="date:time($date)"/>
-              </xsl:when>
-              <xsl:when test="$token = 'Y'">
-                <xsl:value-of select="date:year($date)"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:value-of select="$token"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:for-each>
-        </xsl:for-each>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:message>
-          Timestamp processing requires an XSLT processor with support
-          for the EXSLT node-set() function.
-        </xsl:message>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/refentry.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/refentry.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1277 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                xmlns:date="http://exslt.org/dates-and-times"
-                exclude-result-prefixes="doc date"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<doc:reference xmlns="" xml:id="refentry">
-  <info>
-    <title>Common Â» Refentry Metadata Template Reference</title>
-    <releaseinfo role="meta">
-      $Id$
-    </releaseinfo>
-  </info>
-  <!-- * yes, partintro is a valid child of a reference... -->
-  <partintro xml:id="partintro">
-    <title>Introduction</title>
-    <para>This is technical reference documentation for the ârefentry
-    metadataâ templates in the DocBook XSL Stylesheets.</para>
-    <para>This is not intended to be user documentation. It is provided
-    for developers writing customization layers for the stylesheets.</para>
-    <note>
-      <para>Currently, only the manpages stylesheets make use of these
-      templates. They are, however, potentially useful elsewhere.</para>
-    </note>
-  </partintro>
-</doc:reference>
-
-<!-- ==================================================================== -->
-<doc:template name="get.refentry.metadata" xmlns="">
-  <refpurpose>Gathers metadata from a refentry and its ancestors</refpurpose>
-  <refdescription id="get.refentry.metadata-desc">
-    <para>Reference documentation for particular commands, functions,
-    etc., is sometimes viewed in isolation from its greater "context". For
-    example, users view Unix man pages as, well, individual pages, not as
-    part of a "book" of some kind. Therefore, it is sometimes necessary to
-    embed "context" information in output for each <tag>refentry</tag>.</para>
-
-    <para>However, one problem is that different users mark up that
-    context information in different ways. Often (usually), the
-    context information is not actually part of the content of the
-    <tag>refentry</tag> itself, but instead part of the content of a
-    parent or ancestor element to the the <tag>refentry</tag>. And
-    even then, DocBook provides a variety of elements that users might
-    potentially use to mark up the same kind of information. One user
-    might use the <tag>productnumber</tag> element to mark up version
-    information about a particular product, while another might use
-    the <tag>releaseinfo</tag> element.</para>
-
-    <para>Taking all that in mind, the
-    <function>get.refentry.metadata</function> template tries to gather
-    metadata from a <tag>refentry</tag> element and its ancestor
-    elements in an intelligent and user-configurable way. The basic
-    mechanism used in the XPath expressions throughout this stylesheet
-    is to select the relevant metadata from the *info element that is
-    closest to the actual <tag>refentry</tag>&#160;â either on the
-    <tag>refentry</tag> itself, or on its nearest ancestor.</para>
-
-    <note>
-      <para>The <function>get.refentry.metadata</function>
-        template is actually just sort of a "driver" template; it
-        calls other templates that do the actual data collection,
-        then returns the data as a set.</para>
-    </note>
-
-  </refdescription>
-  <refparameter id="get.refentry.metadata-params">
-    <variablelist>
-      <varlistentry>
-        <term>refname</term>
-        <listitem>
-          <para>The first <tag>refname</tag> in the refentry</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>info</term>
-        <listitem>
-          <para>A set of info nodes (from a <tag>refentry</tag>
-          element and its ancestors)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>prefs</term>
-        <listitem>
-          <para>A node containing user preferences (from global
-          stylesheet parameters)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refreturn id="get.refentry.metadata-returns">
-    <para>Returns a node set with the following elements. The
-    descriptions are verbatim from the <literal>man(7)</literal> man
-    page.
-    <variablelist>
-      <varlistentry>
-        <term>title</term>
-        <listitem>
-          <para>the title of the man page (e.g., <literal>MAN</literal>)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>section</term>
-        <listitem>
-          <para>the section number the man page should be placed in (e.g.,
-          <literal>7</literal>)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>date</term>
-        <listitem>
-          <para>the date of the last revision</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>source</term>
-        <listitem>
-          <para>the source of the command</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>manual</term>
-        <listitem>
-          <para>the title of the manual (e.g., <citetitle>Linux
-          Programmer's Manual</citetitle>)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-    </para>
-  </refreturn>
-</doc:template>
-<xsl:template name="get.refentry.metadata">
-  <xsl:param name="refname"/>
-  <xsl:param name="info"/>
-  <xsl:param name="prefs"/>
-  <title>
-    <xsl:call-template name="get.refentry.title">
-      <xsl:with-param name="refname" select="$refname"/>
-    </xsl:call-template>
-  </title>
-  <section>
-    <xsl:call-template name="get.refentry.section">
-      <xsl:with-param name="refname" select="$refname"/>
-    </xsl:call-template>
-  </section>
-  <date>
-    <xsl:call-template name="get.refentry.date">
-      <xsl:with-param name="info" select="$info"/>
-      <xsl:with-param name="refname" select="$refname"/>
-      <xsl:with-param name="prefs" select="$prefs/DatePrefs"/>
-    </xsl:call-template>
-  </date>
-  <source>
-    <xsl:call-template name="get.refentry.source">
-      <xsl:with-param name="info" select="$info"/>
-      <xsl:with-param name="refname" select="$refname"/>
-      <xsl:with-param name="prefs" select="$prefs/SourcePrefs"/>
-    </xsl:call-template>
-  </source>
-  <manual>
-    <xsl:call-template name="get.refentry.manual">
-      <xsl:with-param name="info" select="$info"/>
-      <xsl:with-param name="refname" select="$refname"/>
-      <xsl:with-param name="prefs" select="$prefs/ManualPrefs"/>
-    </xsl:call-template>
-  </manual>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<doc:template name="get.refentry.title" xmlns="">
-  <refpurpose>Gets title metadata for a refentry</refpurpose>
-  <refdescription id="get.refentry.title-desc">
-    <para>The <literal>man(7)</literal> man page describes this as "the
-    title of the man page (e.g., <literal>MAN</literal>). This differs
-    from <tag>refname</tag> in that, if the <tag>refentry</tag> has a
-    <tag>refentrytitle</tag>, we use that as the <tag>title</tag>;
-    otherwise, we just use first <tag>refname</tag> in the first
-    <tag>refnamediv</tag> in the source.</para>
-  </refdescription>
-  <refparameter id="get.refentry.title-params">
-    <variablelist>
-      <varlistentry>
-        <term>refname</term>
-        <listitem>
-          <para>The first <tag>refname</tag> in the refentry</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refreturn id="get.refentry.title-returns">
-  <para>Returns a <tag>title</tag> node.</para></refreturn>
-</doc:template>
-<xsl:template name="get.refentry.title">
-  <xsl:param name="refname"/>
-  <xsl:choose>
-    <xsl:when test="refmeta/refentrytitle">
-      <xsl:copy>
-        <xsl:apply-templates select="refmeta/refentrytitle/node()"/>
-      </xsl:copy>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$refname"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<doc:template name="get.refentry.section" xmlns="">
-  <refpurpose>Gets section metadata for a refentry</refpurpose>
-  <refdescription id="get.refentry.section-desc">
-    <para>The <literal>man(7)</literal> man page describes this as "the
-    section number the man page should be placed in (e.g.,
-    <literal>7</literal>)". If we do not find a <tag>manvolnum</tag>
-    specified in the source, and we find that the <tag>refentry</tag> is
-    for a function, we use the section number <literal>3</literal>
-    ["Library calls (functions within program libraries)"]; otherwise, we
-    default to using <literal>1</literal> ["Executable programs or shell
-    commands"].</para>
-  </refdescription>
-  <refparameter id="get.refentry.section-params">
-    <variablelist>
-      <varlistentry>
-        <term>refname</term>
-        <listitem>
-          <para>The first <tag>refname</tag> in the refentry</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>quiet</term>
-        <listitem>
-          <para>If non-zero, no "missing" message is emitted</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refreturn id="get.refentry.section-returns">
-  <para>Returns a string representing a section number.</para></refreturn>
-</doc:template>
-<xsl:template name="get.refentry.section">
-  <xsl:param name="refname"/>
-  <xsl:param name="quiet" select="0"/>
-  <xsl:choose>
-    <xsl:when test="refmeta/manvolnum">
-      <xsl:value-of select="refmeta/manvolnum"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$quiet = 0">
-        <xsl:if test="$refentry.meta.get.quietly = 0">
-          <xsl:call-template name="log.message">
-            <xsl:with-param name="level">Note</xsl:with-param>
-            <xsl:with-param name="source" select="$refname"/>
-            <xsl:with-param name="context-desc">meta manvol</xsl:with-param>
-            <xsl:with-param name="message">
-              <xsl:text>no refentry/refmeta/manvolnum</xsl:text>
-            </xsl:with-param>
-          </xsl:call-template>
-          <xsl:call-template name="log.message">
-            <xsl:with-param name="level">Note</xsl:with-param>
-            <xsl:with-param name="source" select="$refname"/>
-            <xsl:with-param name="context-desc">meta manvol</xsl:with-param>
-            <xsl:with-param name="message">
-              <xsl:text>see http://docbook.sf.net/el/manvolnum</xsl:text>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-      </xsl:if>
-      <xsl:choose>
-        <xsl:when test=".//funcsynopsis">
-          <xsl:if test="$quiet = 0">
-            <xsl:if test="$refentry.meta.get.quietly = 0">
-              <xsl:call-template name="log.message">
-                <xsl:with-param name="level">Note</xsl:with-param>
-                <xsl:with-param name="source" select="$refname"/>
-                <xsl:with-param name="context-desc">meta manvol</xsl:with-param>
-                <xsl:with-param name="message">
-                  <xsl:text>Setting man section to 3</xsl:text>
-                </xsl:with-param>
-              </xsl:call-template>
-            </xsl:if>
-          </xsl:if>
-          <xsl:text>3</xsl:text>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:text>1</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<doc:template name="get.refentry.date" xmlns="">
-  <refpurpose>Gets date metadata for a refentry</refpurpose>
-  <refdescription id="get.refentry.date-desc">
-    <para>The <literal>man(7)</literal> man page describes this as "the
-    date of the last revision". If we cannot find a date in the source, we
-    generate one.</para>
-  </refdescription>
-  <refparameter id="get.refentry.date-params">
-    <variablelist>
-      <varlistentry>
-        <term>refname</term>
-        <listitem>
-          <para>The first <tag>refname</tag> in the refentry</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>info</term>
-        <listitem>
-          <para>A set of info nodes (from a <tag>refentry</tag>
-          element and its ancestors)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>prefs</term>
-        <listitem>
-          <para>A node containing users preferences (from global stylesheet parameters)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refreturn id="get.refentry.date-returns">
-    <para>Returns a <tag>date</tag> node.</para>
-  </refreturn>
-</doc:template>
-<xsl:template name="get.refentry.date">
-  <xsl:param name="refname"/>
-  <xsl:param name="info"/>
-  <xsl:param name="prefs"/>
-  <xsl:variable name="Date">
-    <xsl:choose>
-      <!-- * if profiling is enabled for date, and the date -->
-      <!-- * profile is non-empty, use it -->
-      <xsl:when test="not($prefs/@profileEnabled = 0) and
-                      not($prefs/@profile = '')">
-        <xsl:call-template name="evaluate.info.profile">
-          <xsl:with-param name="profile" select="$prefs/@profile"/>
-          <xsl:with-param name="info" select="$info"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- * either profiling is not enabled for date, or the-->
-        <!-- * date profile is empty, so we need to look for date -->
-        <!-- * in *info -->
-        <xsl:choose>
-          <!-- * look for date or pubdate in *info -->
-          <xsl:when test="$info/date/node()
-                          |$info/pubdate/node()">
-            <xsl:apply-templates
-                select="(($info[date])[last()]/date)[1]|
-                        (($info[pubdate])[last()]/pubdate)[1]"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <!-- * found no Date or Pubdate -->
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:choose>
-    <xsl:when test="not($Date = '')">
-      <xsl:value-of select="$Date"/>
-    </xsl:when>
-    <!-- * We couldn't find a date, so we generate a date. -->
-    <!-- * And we make it an appropriately localized date. -->
-    <xsl:otherwise>
-      <xsl:if test="$refentry.meta.get.quietly = 0">
-        <xsl:call-template name="log.message">
-          <xsl:with-param name="level">Note</xsl:with-param>
-          <xsl:with-param name="source" select="$refname"/>
-          <xsl:with-param name="context-desc">meta date</xsl:with-param>
-          <xsl:with-param name="message">
-            <xsl:text>no date; using generated date</xsl:text>
-          </xsl:with-param>
-        </xsl:call-template>
-        <xsl:call-template name="log.message">
-          <xsl:with-param name="level">Note</xsl:with-param>
-          <xsl:with-param name="source" select="$refname"/>
-          <xsl:with-param name="context-desc">meta date</xsl:with-param>
-          <xsl:with-param name="message">
-            <xsl:text>see http://docbook.sf.net/el/date</xsl:text>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <xsl:call-template name="datetime.format">
-        <xsl:with-param name="date">
-          <xsl:choose>
-            <xsl:when test="function-available('date:date-time')">
-              <xsl:value-of select="date:date-time()"/>
-            </xsl:when>
-            <xsl:when test="function-available('date:dateTime')">
-              <!-- Xalan quirk -->
-              <xsl:value-of select="date:dateTime()"/>
-            </xsl:when>
-          </xsl:choose>
-        </xsl:with-param>
-        <xsl:with-param name="format">
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="context" select="'datetime'"/>
-            <xsl:with-param name="name" select="'format'"/>
-          </xsl:call-template>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<doc:template name="get.refentry.source" xmlns="">
-  <refpurpose>Gets source metadata for a refentry</refpurpose>
-  <refdescription id="get.refentry.source-desc">
-    <para>The <literal>man(7)</literal> man page describes this as "the
-    source of the command", and provides the following examples:
-    <itemizedlist>
-      <listitem>
-        <para>For binaries, use something like: GNU, NET-2, SLS
-        Distribution, MCC Distribution.</para>
-      </listitem>
-      <listitem>
-        <para>For system calls, use the version of the kernel that you are
-        currently looking at: Linux 0.99.11.</para>
-      </listitem>
-      <listitem>
-        <para>For library calls, use the source of the function: GNU, BSD
-        4.3, Linux DLL 4.4.1.</para>
-      </listitem>
-    </itemizedlist>
-    </para>
-
-    <para>The <literal>solbook(5)</literal> man page describes
-    something very much like what <literal>man(7)</literal> calls
-    "source", except that <literal>solbook(5)</literal> names it
-    "software" and describes it like this:
-    <blockquote>
-      <para>This is the name of the software product that the topic
-      discussed on the reference page belongs to. For example UNIX
-      commands are part of the <literal>SunOS x.x</literal>
-      release.</para>
-    </blockquote>
-    </para>
-
-    <para>In practice, there are many pages that simply have a version
-    number in the "source" field. So, it looks like what we have is a
-    two-part field,
-    <replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>,
-    where:
-    <variablelist>
-      <varlistentry>
-        <term>Name</term>
-        <listitem>
-          <para>product name (e.g., BSD) or org. name (e.g., GNU)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>Version</term>
-        <listitem>
-          <para>version name</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-    Each part is optional. If the <replaceable>Name</replaceable> is a
-    product name, then the <replaceable>Version</replaceable> is probably
-    the version of the product. Or there may be no
-    <replaceable>Name</replaceable>, in which case, if there is a
-    <replaceable>Version</replaceable>, it is probably the version of the
-    item itself, not the product it is part of. Or, if the
-    <replaceable>Name</replaceable> is an organization name, then there
-    probably will be no <replaceable>Version</replaceable>.
-    </para>
-  </refdescription>
-  <refparameter id="get.refentry.source-params">
-    <variablelist>
-      <varlistentry>
-        <term>refname</term>
-        <listitem>
-          <para>The first <tag>refname</tag> in the refentry</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>info</term>
-        <listitem>
-          <para>A set of info nodes (from a <tag>refentry</tag>
-          element and its ancestors)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>prefs</term>
-        <listitem>
-          <para>A node containing users preferences (from global
-          stylesheet parameters)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refreturn id="get.refentry.source-returns">
-    <para>Returns a <tag>source</tag> node.</para>
-  </refreturn>
-</doc:template>
-<xsl:template name="get.refentry.source">
-  <xsl:param name="refname"/>
-  <xsl:param name="info"/>
-  <xsl:param name="prefs"/>
-  <xsl:variable name="Name">
-    <xsl:if test="$prefs/Name/@suppress = 0">
-      <xsl:call-template name="get.refentry.source.name">
-        <xsl:with-param name="info" select="$info"/>
-        <xsl:with-param name="refname" select="$refname"/>
-        <xsl:with-param name="prefs" select="$prefs/Name"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="Version">
-    <xsl:if test="$prefs/Version/@suppress = 0">
-      <xsl:call-template name="get.refentry.version">
-        <xsl:with-param name="info" select="$info"/>
-        <xsl:with-param name="refname" select="$refname"/>
-        <xsl:with-param name="prefs" select="$prefs/Version"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:choose>
-    <!-- * if we have a Name and/or Version, use either or both -->
-    <!-- * of those, in the form "Name Version" or just "Name" -->
-    <!-- * or just "Version" -->
-    <xsl:when test="not($Name = '') or not($Version = '')">
-      <xsl:choose>
-        <xsl:when test="not($Name = '') and not($Version = '')">
-          <xsl:copy-of select="$Name"/>
-          <xsl:text> </xsl:text>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:copy-of select="$Name"/>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:copy-of select="$Version"/>
-    </xsl:when>
-    <!-- * if no Name and no Version, use fallback (if any) -->
-    <xsl:when test="not($prefs/@fallback = '')">
-      <xsl:variable name="source.fallback">
-        <xsl:call-template name="evaluate.info.profile">
-          <xsl:with-param name="profile" select="$prefs/@fallback"/>
-          <xsl:with-param name="info" select="$info"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="not($source.fallback = '')">
-          <xsl:value-of select="$source.fallback"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:if test="$refentry.meta.get.quietly = 0">
-            <xsl:call-template name="log.message">
-              <xsl:with-param name="level">Warn</xsl:with-param>
-              <xsl:with-param name="source" select="$refname"/>
-              <xsl:with-param name="context-desc">meta source</xsl:with-param>
-              <xsl:with-param name="message">
-                <xsl:text>no valid fallback for source; leaving empty</xsl:text>
-              </xsl:with-param>
-            </xsl:call-template>
-          </xsl:if>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$refentry.meta.get.quietly = 0">
-        <xsl:call-template name="log.message">
-          <xsl:with-param name="level">Warn</xsl:with-param>
-          <xsl:with-param name="source" select="$refname"/>
-          <xsl:with-param name="context-desc">meta source</xsl:with-param>
-          <xsl:with-param name="message">
-            <xsl:text>no source fallback specified; leaving empty</xsl:text>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<doc:template name="get.refentry.source.name" xmlns="">
-  <refpurpose>Gets source-name metadata for a refentry</refpurpose>
-  <refdescription id="get.refentry.source.name-desc">
-    <para>A "source name" is one part of a (potentially) two-part
-    <replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>
-    source field. For more details, see the documentation for the
-    <function>get.refentry.source</function> template.</para>
-  </refdescription>
-  <refparameter id="get.refentry.source.name-params">
-    <variablelist>
-      <varlistentry>
-        <term>refname</term>
-        <listitem>
-          <para>The first <tag>refname</tag> in the refentry</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>info</term>
-        <listitem>
-          <para>A set of info nodes (from a <tag>refentry</tag>
-          element and its ancestors)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>prefs</term>
-        <listitem>
-          <para>A node containing users preferences (from global
-          stylesheet parameters)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refreturn id="get.refentry.source.name-returns">
-    <para>Depending on what output method is used for the
-  current stylesheet, either returns a text node or possibly an element
-  node, containing "source name" data.</para>
-  </refreturn>
-</doc:template>
-<xsl:template name="get.refentry.source.name">
-  <xsl:param name="refname"/>
-  <xsl:param name="info"/>
-  <xsl:param name="prefs"/>
-  <xsl:choose>
-    <!-- * if profiling is enabled for source.name, and the -->
-    <!-- * source.name profile is non-empty, use it -->
-    <xsl:when test="not($prefs/@profileEnabled = 0) and
-                    not($prefs/@profile = '')">
-      <xsl:call-template name="evaluate.info.profile">
-        <xsl:with-param name="profile" select="$prefs/@profile"/>
-        <xsl:with-param name="info" select="$info"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- * either profiling for source.name is not enabled, or-->
-      <!-- * the source.name profile is empty; so we need to look -->
-      <!-- * for a name to use -->
-      <xsl:choose>
-        <xsl:when test="refmeta/refmiscinfo[@class = 'source' or @class = 'software']">
-          <xsl:apply-templates 
-              select="refmeta/refmiscinfo[@class = 'source' or @class='software'][1]/node()"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:choose>
-            <xsl:when test="$info/productname">
-              <xsl:call-template name="set.refentry.metadata">
-                <xsl:with-param name="refname" select="$refname"/>
-                <xsl:with-param
-                    name="info"
-                    select="($info[productname])[last()]"/>
-                <xsl:with-param
-                    name="contents"
-                    select="(($info[productname])[last()]/productname)[1]"/>
-                <xsl:with-param name="context">source</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$info/corpname">
-              <xsl:call-template name="set.refentry.metadata">
-                <xsl:with-param name="refname" select="$refname"/>
-                <xsl:with-param
-                    name="info"
-                    select="($info[corpname])[last()]"/>
-                <xsl:with-param
-                    name="contents"
-                    select="(($info[corpname])[last()]/corpname)[1]"/>
-                <xsl:with-param name="context">source</xsl:with-param>
-                <xsl:with-param name="preferred">productname</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$info/corpcredit">
-              <xsl:call-template name="set.refentry.metadata">
-                <xsl:with-param name="refname" select="$refname"/>
-                <xsl:with-param
-                    name="info"
-                    select="($info[corpcredit])[last()]"/>
-                <xsl:with-param
-                    name="contents"
-                    select="(($info[corpcredit])[last()]/corpcredit)[1]"/>
-                <xsl:with-param name="context">source</xsl:with-param>
-                <xsl:with-param name="preferred">productname</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$info/corpauthor">
-              <xsl:call-template name="set.refentry.metadata">
-                <xsl:with-param name="refname" select="$refname"/>
-                <xsl:with-param
-                    name="info"
-                    select="($info[corpauthor])[last()]"/>
-                <xsl:with-param
-                    name="contents"
-                    select="(($info[corpauthor])[last()]/corpauthor)[1]"/>
-                <xsl:with-param name="context">source</xsl:with-param>
-                <xsl:with-param name="preferred">productname</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$info//orgname">
-              <xsl:call-template name="set.refentry.metadata">
-                <xsl:with-param name="refname" select="$refname"/>
-                <xsl:with-param
-                    name="info"
-                    select="($info[//orgname])[last()]"/>
-                <xsl:with-param
-                    name="contents"
-                    select="(($info[//orgname])[last()]//orgname)[1]"/>
-                <xsl:with-param name="context">source</xsl:with-param>
-                <xsl:with-param name="preferred">productname</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$info//publishername">
-              <xsl:call-template name="set.refentry.metadata">
-                <xsl:with-param name="refname" select="$refname"/>
-                <xsl:with-param
-                    name="info"
-                    select="($info[//publishername])[last()]"/>
-                <xsl:with-param
-                    name="contents"
-                    select="(($info[//publishername])[last()]//publishername)[1]"/>
-                <xsl:with-param name="context">source</xsl:with-param>
-                <xsl:with-param name="preferred">productname</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:if test="$refentry.meta.get.quietly = 0">
-                <xsl:call-template name="log.message">
-                  <xsl:with-param name="level">Note</xsl:with-param>
-                  <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param name="context-desc">meta source</xsl:with-param>
-                  <xsl:with-param name="message">
-                    <xsl:text>no *info/productname or alternative</xsl:text>
-                  </xsl:with-param>
-                </xsl:call-template>
-                <xsl:call-template name="log.message">
-                  <xsl:with-param name="level">Note</xsl:with-param>
-                  <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param name="context-desc">meta source</xsl:with-param>
-                  <xsl:with-param name="message">
-                    <xsl:text>see http://docbook.sf.net/el/productname</xsl:text>
-                  </xsl:with-param>
-                </xsl:call-template>
-                <xsl:call-template name="log.message">
-                  <xsl:with-param name="level">Note</xsl:with-param>
-                  <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param name="context-desc">meta source</xsl:with-param>
-                  <xsl:with-param name="message">
-                    <xsl:text>no refentry/refmeta/refmiscinfo@class=source</xsl:text>
-                  </xsl:with-param>
-                </xsl:call-template>
-                <xsl:call-template name="log.message">
-                  <xsl:with-param name="level">Note</xsl:with-param>
-                  <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param name="context-desc">meta source</xsl:with-param>
-                  <xsl:with-param name="message">
-                    <xsl:text>see http://docbook.sf.net/el/refmiscinfo</xsl:text>
-                  </xsl:with-param>
-                </xsl:call-template>
-              </xsl:if>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<doc:template name="get.refentry.version" xmlns="">
-  <refpurpose>Gets version metadata for a refentry</refpurpose>
-  <refdescription id="get.refentry.version-desc">
-    <para>A "version" is one part of a (potentially) two-part
-    <replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>
-    source field. For more details, see the documentation for the
-    <function>get.refentry.source</function> template.</para>
-  </refdescription>
-  <refparameter id="get.refentry.version-params">
-    <variablelist>
-      <varlistentry>
-        <term>refname</term>
-        <listitem>
-          <para>The first <tag>refname</tag> in the refentry</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>info</term>
-        <listitem>
-          <para>A set of info nodes (from a <tag>refentry</tag>
-          element and its ancestors)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>prefs</term>
-        <listitem>
-          <para>A node containing users preferences (from global
-          stylesheet parameters)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refreturn id="get.refentry.version-returns">
-    <para>Depending on what output method is used for the
-  current stylesheet, either returns a text node or possibly an element
-  node, containing "version" data.</para>
-  </refreturn>
-</doc:template>
-<xsl:template name="get.refentry.version">
-  <xsl:param name="refname"/>
-  <xsl:param name="info"/>
-  <xsl:param name="prefs"/>
-  <xsl:choose>
-    <!-- * if profiling is enabled for version, and the -->
-    <!-- * version profile is non-empty, use it -->
-    <xsl:when test="not($prefs/@profileEnabled = 0) and
-                    not($prefs/@profile = '')">
-      <xsl:call-template name="evaluate.info.profile">
-        <xsl:with-param name="profile" select="$prefs/@profile"/>
-        <xsl:with-param name="info" select="$info"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- * either profiling for source.name is not enabled, or-->
-      <!-- * the source.name profile is empty; so we need to look -->
-      <!-- * for a name to use -->
-      <xsl:choose>
-        <xsl:when test="refmeta/refmiscinfo[@class = 'version']">
-          <xsl:apply-templates 
-              select="refmeta/refmiscinfo[@class = 'version'][1]/node()"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:choose>
-            <xsl:when test="$info/productnumber">
-              <xsl:call-template name="set.refentry.metadata">
-                <xsl:with-param name="refname" select="$refname"/>
-                <xsl:with-param
-                    name="info"
-                    select="($info[productnumber])[last()]"/>
-                <xsl:with-param
-                    name="contents"
-                    select="(($info[productnumber])[last()]/productnumber)[1]"/>
-                <xsl:with-param name="context">version</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$info/edition">
-              <xsl:call-template name="set.refentry.metadata">
-                <xsl:with-param name="refname" select="$refname"/>
-                <xsl:with-param
-                    name="info"
-                    select="($info[edition])[last()]"/>
-                <xsl:with-param
-                    name="contents"
-                    select="(($info[edition])[last()]/edition)[1]"/>
-                <xsl:with-param name="context">version</xsl:with-param>
-                <xsl:with-param name="preferred">productnumber</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$info/releaseinfo">
-              <xsl:call-template name="set.refentry.metadata">
-                <xsl:with-param name="refname" select="$refname"/>
-                <xsl:with-param
-                    name="info"
-                    select="($info[releaseinfo])[last()]"/>
-                <xsl:with-param
-                    name="contents"
-                    select="(($info[releaseinfo])[last()]/releaseinfo)[1]"/>
-                <xsl:with-param name="context">version</xsl:with-param>
-                <xsl:with-param name="preferred">productnumber</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:if test="$refentry.meta.get.quietly = 0">
-                <xsl:call-template name="log.message">
-                  <xsl:with-param name="level">Note</xsl:with-param>
-                  <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param name="context-desc">meta version</xsl:with-param>
-                  <xsl:with-param name="message">
-                    <xsl:text>no *info/productnumber or alternative</xsl:text>
-                  </xsl:with-param>
-                </xsl:call-template>
-                <xsl:call-template name="log.message">
-                  <xsl:with-param name="level">Note</xsl:with-param>
-                  <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param name="context-desc">meta version</xsl:with-param>
-                  <xsl:with-param name="message">
-                    <xsl:text>see http://docbook.sf.net/el/productnumber</xsl:text>
-                  </xsl:with-param>
-                </xsl:call-template>
-                <xsl:call-template name="log.message">
-                  <xsl:with-param name="level">Note</xsl:with-param>
-                  <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param name="context-desc">meta version</xsl:with-param>
-                  <xsl:with-param name="message">
-                    <xsl:text>no refentry/refmeta/refmiscinfo@class=version</xsl:text>
-                  </xsl:with-param>
-                </xsl:call-template>
-                <xsl:call-template name="log.message">
-                  <xsl:with-param name="level">Note</xsl:with-param>
-                  <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param name="context-desc">meta version</xsl:with-param>
-                  <xsl:with-param name="message">
-                    <xsl:text>see http://docbook.sf.net/el/refmiscinfo</xsl:text>
-                  </xsl:with-param>
-                </xsl:call-template>
-              </xsl:if>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<doc:template name="get.refentry.manual" xmlns="">
-  <refpurpose>Gets source metadata for a refentry</refpurpose>
-  <refdescription id="get.refentry.manual-desc">
-    <para>The <literal>man(7)</literal> man page describes this as "the
-    title of the manual (e.g., <citetitle>Linux Programmer's
-    Manual</citetitle>)". Here are some examples from existing man pages:
-    <itemizedlist>
-      <listitem>
-        <para><citetitle>dpkg utilities</citetitle>
-        (<command>dpkg-name</command>)</para>
-      </listitem>
-      <listitem>
-        <para><citetitle>User Contributed Perl Documentation</citetitle>
-        (<command>GET</command>)</para>
-      </listitem>
-      <listitem>
-        <para><citetitle>GNU Development Tools</citetitle>
-        (<command>ld</command>)</para>
-      </listitem>
-      <listitem>
-        <para><citetitle>Emperor Norton Utilities</citetitle>
-        (<command>ddate</command>)</para>
-      </listitem>
-      <listitem>
-        <para><citetitle>Debian GNU/Linux manual</citetitle>
-        (<command>faked</command>)</para>
-      </listitem>
-      <listitem>
-        <para><citetitle>GIMP Manual Pages</citetitle>
-        (<command>gimp</command>)</para>
-      </listitem>
-      <listitem>
-        <para><citetitle>KDOC Documentation System</citetitle>
-        (<command>qt2kdoc</command>)</para>
-      </listitem>
-    </itemizedlist>
-    </para>
-
-    <para>The <literal>solbook(5)</literal> man page describes
-    something very much like what <literal>man(7)</literal> calls
-    "manual", except that <literal>solbook(5)</literal> names it
-    "sectdesc" and describes it like this:
-    <blockquote>
-      <para>This is the section title of the reference page; for
-      example <literal>User Commands</literal>.</para>
-    </blockquote>
-    </para>
-
-  </refdescription>
-  <refparameter id="get.refentry.manual-params">
-    <variablelist>
-      <varlistentry>
-        <term>refname</term>
-        <listitem>
-          <para>The first <tag>refname</tag> in the refentry</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>info</term>
-        <listitem>
-          <para>A set of info nodes (from a <tag>refentry</tag>
-          element and its ancestors)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>prefs</term>
-        <listitem>
-          <para>A node containing users preferences (from global
-          stylesheet parameters)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refreturn id="get.refentry.manual-returns">
-    <para>Returns a <tag>manual</tag> node.</para>
-  </refreturn>
-</doc:template>
-<xsl:template name="get.refentry.manual">
-  <xsl:param name="refname"/>
-  <xsl:param name="info"/>
-  <xsl:param name="prefs"/>
-  <xsl:variable name="Manual">
-    <xsl:choose>
-      <!-- * if profiling is enabled for manual, and the manual -->
-      <!-- * profile is non-empty, use it -->
-      <xsl:when test="not($prefs/@profileEnabled = 0) and
-                      not($prefs/@profile = '')">
-        <xsl:call-template name="evaluate.info.profile">
-          <xsl:with-param name="profile" select="$prefs/@profile"/>
-          <xsl:with-param name="info" select="$info"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:choose>
-          <xsl:when test="refmeta/refmiscinfo[@class = 'manual' or @class = 'sectdesc']">
-            <xsl:apply-templates 
-                select="refmeta/refmiscinfo[@class = 'manual' or @class = 'sectdesc'][1]/node()"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <!-- * only in the case of choosing appropriate -->
-            <!-- * "manual" content do we select the furthest -->
-            <!-- * (first) matching element instead of the -->
-            <!-- * closest (last) matching one -->
-            <xsl:choose>
-              <xsl:when test="ancestor::*/title">
-                <xsl:call-template name="set.refentry.metadata">
-                  <xsl:with-param name="refname" select="$refname"/>
-                  <xsl:with-param
-                      name="info"
-                      select="(ancestor::*[title])[1]"/>
-                  <xsl:with-param
-                      name="contents"
-                      select="(ancestor::*[title])[1]/title"/>
-                  <xsl:with-param name="context">manual</xsl:with-param>
-                </xsl:call-template>
-              </xsl:when>
-              <xsl:when test="$info/title">
-                <xsl:call-template name="set.refentry.metadata">
-                  <xsl:with-param name="refname" select="$refname"/>
-                  <xsl:with-param
-                      name="info"
-                      select="($info[title])[1]"/>
-                  <xsl:with-param
-                      name="contents"
-                      select="(($info[title])[1]/title)[1]"/>
-                  <xsl:with-param name="context">manual</xsl:with-param>
-                </xsl:call-template>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:if test="$refentry.meta.get.quietly = 0">
-                  <xsl:call-template name="log.message">
-                    <xsl:with-param name="level">Note</xsl:with-param>
-                    <xsl:with-param name="source" select="$refname"/>
-                    <xsl:with-param name="context-desc">meta manual</xsl:with-param>
-                    <xsl:with-param name="message">
-                      <xsl:text>no titled ancestor of refentry</xsl:text>
-                    </xsl:with-param>
-                  </xsl:call-template>
-                  <xsl:call-template name="log.message">
-                    <xsl:with-param name="level">Note</xsl:with-param>
-                    <xsl:with-param name="source" select="$refname"/>
-                    <xsl:with-param name="context-desc">meta manual</xsl:with-param>
-                    <xsl:with-param name="message">
-                      <xsl:text>no refentry/refmeta/refmiscinfo@class=manual</xsl:text>
-                    </xsl:with-param>
-                  </xsl:call-template>
-                  <xsl:call-template name="log.message">
-                    <xsl:with-param name="level">Note</xsl:with-param>
-                    <xsl:with-param name="source" select="$refname"/>
-                    <xsl:with-param name="context-desc">meta manual</xsl:with-param>
-                    <xsl:with-param name="message">
-                      <xsl:text>see http://docbook.sf.net/el/refmiscinfo</xsl:text>
-                    </xsl:with-param>
-                  </xsl:call-template>
-                </xsl:if>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:choose>
-    <xsl:when test="not($Manual = '')">
-      <xsl:copy-of select="$Manual"/>
-    </xsl:when>
-    <!-- * if no Manual, use contents of specified Fallback (if any) -->
-    <xsl:when test="not($prefs/@fallback = '')">
-      <xsl:variable name="manual.fallback">
-        <xsl:call-template name="evaluate.info.profile">
-          <xsl:with-param name="profile" select="$prefs/@fallback"/>
-          <xsl:with-param name="info" select="$info"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="not($manual.fallback = '')">
-          <xsl:value-of select="$manual.fallback"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:if test="$refentry.meta.get.quietly = 0">
-            <xsl:call-template name="log.message">
-              <xsl:with-param name="level">Warn</xsl:with-param>
-              <xsl:with-param name="source" select="$refname"/>
-              <xsl:with-param name="context-desc">meta manual</xsl:with-param>
-              <xsl:with-param name="message">
-                <xsl:text>no valid fallback for manual; leaving empty</xsl:text>
-              </xsl:with-param>
-            </xsl:call-template>
-          </xsl:if>
-        </xsl:otherwise>
-      </xsl:choose>
-
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$refentry.meta.get.quietly = 0">
-        <xsl:call-template name="log.message">
-          <xsl:with-param name="level">Warn</xsl:with-param>
-          <xsl:with-param name="source" select="$refname"/>
-          <xsl:with-param name="context-desc">meta manual</xsl:with-param>
-          <xsl:with-param name="message">
-            <xsl:text>no manual fallback specified; leaving empty</xsl:text>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<doc:template name="get.refentry.metadata.prefs" xmlns="">
-  <refpurpose>Gets user preferences for refentry metadata gathering</refpurpose>
-  <refdescription id="get.refentry.metadata.prefs-desc">
-    <para>The DocBook XSL stylesheets include several user-configurable
-    global stylesheet parameters for controlling <tag>refentry</tag>
-    metadata gathering. Those parameters are not read directly by the
-    other <tag>refentry</tag> metadata-gathering
-    templates. Instead, they are read only by the
-    <function>get.refentry.metadata.prefs</function> template,
-    which assembles them into a structure that is then passed to
-    the other <tag>refentry</tag> metadata-gathering
-    templates.</para>
-
-    <para>So the, <function>get.refentry.metadata.prefs</function>
-    template is the only interface to collecting stylesheet parameters for
-    controlling <tag>refentry</tag> metadata gathering.</para>
-  </refdescription>
-  <refparameter id="get.refentry.metadata.prefs-params">
-    <para>There are no local parameters for this template; however, it
-    does rely on a number of global parameters.</para>
-  </refparameter>
-  <refreturn id="get.refentry.metadata.prefs-returns">
-    <para>Returns a <tag>manual</tag> node.</para>
-  </refreturn>
-</doc:template>
-<xsl:template name="get.refentry.metadata.prefs">
-  <DatePrefs>
-    <xsl:attribute name="profile">
-      <xsl:value-of select="$refentry.date.profile"/>
-    </xsl:attribute>
-    <xsl:attribute name="profileEnabled">
-      <xsl:value-of select="$refentry.date.profile.enabled"/>
-    </xsl:attribute>
-  </DatePrefs>
-  <SourcePrefs>
-    <xsl:attribute name="fallback">
-      <xsl:value-of select="$refentry.source.fallback.profile"/>
-    </xsl:attribute>
-    <Name>
-      <xsl:attribute name="profile">
-        <xsl:value-of select="$refentry.source.name.profile"/>
-      </xsl:attribute>
-      <xsl:attribute name="profileEnabled">
-        <xsl:value-of select="$refentry.source.name.profile.enabled"/>
-      </xsl:attribute>
-      <xsl:attribute name="suppress">
-        <xsl:value-of select="$refentry.source.name.suppress"/>
-      </xsl:attribute>
-    </Name>
-    <Version>
-      <xsl:attribute name="profile">
-        <xsl:value-of select="$refentry.version.profile"/>
-      </xsl:attribute>
-      <xsl:attribute name="profileEnabled">
-        <xsl:value-of select="$refentry.version.profile.enabled"/>
-      </xsl:attribute>
-      <xsl:attribute name="suppress">
-        <xsl:value-of select="$refentry.version.suppress"/>
-      </xsl:attribute>
-    </Version>
-  </SourcePrefs>
-  <ManualPrefs>
-    <xsl:attribute name="fallback">
-      <xsl:value-of select="$refentry.manual.fallback.profile"/>
-    </xsl:attribute>
-    <xsl:attribute name="profile">
-      <xsl:value-of select="$refentry.manual.profile"/>
-    </xsl:attribute>
-    <xsl:attribute name="profileEnabled">
-      <xsl:value-of select="$refentry.manual.profile.enabled"/>
-    </xsl:attribute>
-  </ManualPrefs>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<doc:template name="set.refentry.metadata" xmlns="">
-  <refpurpose>Sets content of a refentry metadata item</refpurpose>
-  <refdescription id="set.refentry.metadata-desc">
-    <para>The <function>set.refentry.metadata</function> template is
-    called each time a suitable source element is found for a certain
-    metadata field.</para>
-  </refdescription>
-  <refparameter id="set.refentry.metadata-params">
-    <variablelist>
-      <varlistentry>
-        <term>refname</term>
-        <listitem>
-          <para>The first <tag>refname</tag> in the refentry</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>info</term>
-        <listitem>
-          <para>A single *info node that contains the selected source element.</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>contents</term>
-        <listitem>
-          <para>A node containing the selected source element.</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>context</term>
-        <listitem>
-          <para>A string describing the metadata context in which the
-          <function>set.refentry.metadata</function> template was
-          called: either "date", "source", "version", or "manual".</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refreturn id="set.refentry.metadata-returns">
-  <para>Returns formatted contents of a selected source element.</para></refreturn>
-</doc:template>
-<xsl:template name="set.refentry.metadata">
-  <xsl:param name="refname"/>
-  <xsl:param name="info"/>
-  <xsl:param name="contents"/>
-  <xsl:param name="context"/>
-  <xsl:param name="preferred"/>
-  <xsl:if test="not($preferred = '')">
-    <xsl:if test="$refentry.meta.get.quietly = 0">
-      <xsl:call-template name="log.message">
-        <xsl:with-param name="level">Note</xsl:with-param>
-        <xsl:with-param name="source" select="$refname"/>
-        <xsl:with-param name="context-desc" select="concat('meta ', $context)"/>
-        <xsl:with-param name="message" select="concat('No ', $preferred)"/>
-      </xsl:call-template>
-      <xsl:call-template name="log.message">
-        <xsl:with-param name="level">Note</xsl:with-param>
-        <xsl:with-param name="source" select="$refname"/>
-        <xsl:with-param name="context-desc" select="concat('meta ', $context)"/>
-        <xsl:with-param name="message">
-          <xsl:text>no refentry/refmeta/refmiscinfo@class=</xsl:text>
-          <xsl:value-of select="$context"/>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:call-template name="log.message">
-        <xsl:with-param name="level">Note</xsl:with-param>
-        <xsl:with-param name="source" select="$refname"/>
-        <xsl:with-param name="context-desc" select="concat('meta ', $context)"/>
-        <xsl:with-param name="message" select="concat('Using ', local-name($contents))"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:if>
-  <xsl:value-of select="$contents"/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/stripns.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/stripns.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,342 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:ng="http://docbook.org/docbook-ng"
-                xmlns:db="http://docbook.org/ns/docbook"
-                xmlns:saxon="http://icl.com/saxon"
-                xmlns:NodeInfo="http://org.apache.xalan.lib.NodeInfo"
-                xmlns:exsl="http://exslt.org/common"
-                exclude-result-prefixes="db ng exsl saxon NodeInfo"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- put an xml:base attribute on the root element -->
-<xsl:template match="/*" mode="stripNS">
-  <xsl:choose>
-    <xsl:when test="self::ng:* or self::db:*">
-      <xsl:element name="{local-name(.)}">
-        <xsl:copy-of select="@*[not(name(.) = 'xml:id')
-                                and not(name(.) = 'version')]"/>
-        <xsl:if test="@xml:id">
-          <xsl:attribute name="id">
-            <xsl:value-of select="@xml:id"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:call-template name="add-xml-base"/>
-
-        <xsl:apply-templates mode="stripNS"/>
-      </xsl:element>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy>
-        <xsl:copy-of select="@*[not(name(.) = 'xml:id')
-                                and not(name(.) = 'version')]"/>
-        <xsl:if test="@xml:id">
-          <xsl:attribute name="id">
-            <xsl:value-of select="@xml:id"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:call-template name="add-xml-base"/>
-
-        <xsl:apply-templates mode="stripNS"/>
-      </xsl:copy>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="stripNS">
-  <xsl:choose>
-    <xsl:when test="self::ng:* or self::db:*">
-      <xsl:element name="{local-name(.)}">
-        <xsl:copy-of select="@*[not(name(.) = 'xml:id')
-                                and not(name(.) = 'version')]"/>
-        <xsl:if test="@xml:id">
-          <xsl:attribute name="id">
-            <xsl:value-of select="@xml:id"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates mode="stripNS"/>
-      </xsl:element>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy>
-        <xsl:copy-of select="@*[not(name(.) = 'xml:id')
-                                and not(name(.) = 'version')]"/>
-        <xsl:if test="@xml:id">
-          <xsl:attribute name="id">
-            <xsl:value-of select="@xml:id"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates mode="stripNS"/>
-      </xsl:copy>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="db:info" mode="stripNS">
-  <xsl:variable name="info">
-    <xsl:choose>
-      <xsl:when test="parent::db:article
-                      |parent::db:appendix
-                      |parent::db:bibliography
-                      |parent::db:book
-                      |parent::db:chapter
-                      |parent::db:glossary
-                      |parent::db:index
-                      |parent::db:part
-                      |parent::db:preface
-                      |parent::db:refentry
-                      |parent::db:reference
-                      |parent::db:refsect1
-                      |parent::db:refsect2
-                      |parent::db:refsect3
-                      |parent::db:refsection
-                      |parent::db:refsynopsisdiv
-                      |parent::db:sect1
-                      |parent::db:sect2
-                      |parent::db:sect3
-                      |parent::db:sect4
-                      |parent::db:sect5
-                      |parent::db:section
-                      |parent::db:setindex
-                      |parent::db:set
-                      |parent::db:slides
-                      |parent::db:sidebar">
-        <xsl:value-of select="local-name(parent::*)"/>
-        <xsl:text>info</xsl:text>
-      </xsl:when>
-      <xsl:when test="parent::db:audioobject
-                      |parent::db:imageobject
-                      |parent::db:inlinemediaobject
-                      |parent::db:mediaobject
-                      |parent::db:mediaobjectco
-                      |parent::db:textobject
-                      |parent::db:videoobject">
-        <xsl:text>objectinfo</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>blockinfo</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:element name="{$info}">
-    <xsl:copy-of select="@*[not(name(.) = 'xml:id')
-                         and not(name(.) = 'version')]"/>
-    <xsl:if test="@xml:id">
-      <xsl:attribute name="id">
-        <xsl:value-of select="@xml:id"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:apply-templates mode="stripNS"/>
-  </xsl:element>
-
-  <xsl:if test="(not(../db:title) and not(../ng:title))
-                and ($info = 'prefaceinfo'
-                     or $info = 'chapterinfo'
-                     or $info = 'sectioninfo'
-                     or $info = 'sect1info'
-                     or $info = 'sect2info'
-                     or $info = 'sect3info'
-                     or $info = 'sect4info'
-                     or $info = 'sect5info'
-                     or $info = 'refsectioninfo'
-                     or $info = 'refsect1info'
-                     or $info = 'refsect2info'
-                     or $info = 'refsect3info'
-                     or $info = 'blockinfo'
-                     or $info = 'appendixinfo')">
-    <xsl:apply-templates select="db:title|ng:title" mode="stripNS"/>
-  </xsl:if>
-
-</xsl:template>
-
-<xsl:template match="ng:link|db:link" mode="stripNS">
-  <xsl:variable xmlns:xlink="http://www.w3.org/1999/xlink"
-                name="href" select="@xlink:href|@href"/>
-  <xsl:choose>
-    <xsl:when test="$href != '' and not(starts-with($href,'#'))">
-      <ulink url="{$href}">
-        <xsl:for-each select="@*">
-          <xsl:if test="local-name(.) != 'href'
-                        and name(.) != 'version'
-                        and name(.) != 'xml:id'">
-            <xsl:copy/>
-          </xsl:if>
-        </xsl:for-each>
-        <xsl:if test="@xml:id">
-          <xsl:attribute name="id">
-            <xsl:value-of select="@xml:id"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates mode="stripNS"/>
-      </ulink>
-    </xsl:when>
-    <xsl:when test="$href != '' and starts-with($href,'#')">
-      <link linkend="{substring-after($href,'#')}">
-        <xsl:for-each select="@*">
-          <xsl:if test="local-name(.) != 'href'
-                        and name(.) != 'version'
-                        and name(.) != 'xml:id'">
-            <xsl:copy/>
-          </xsl:if>
-        </xsl:for-each>
-        <xsl:if test="@xml:id">
-          <xsl:attribute name="id">
-            <xsl:value-of select="@xml:id"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates mode="stripNS"/>
-      </link>
-    </xsl:when>
-    <xsl:otherwise>
-      <link>
-        <xsl:copy-of select="@*[not(name(.) = 'xml:id')
-                             and not(name(.) = 'version')]"/>
-        <xsl:if test="@xml:id">
-          <xsl:attribute name="id">
-            <xsl:value-of select="@xml:id"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates mode="stripNS"/>
-      </link>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="ng:tag|db:tag" mode="stripNS">
-  <sgmltag>
-    <xsl:copy-of select="@*[not(name(.) = 'xml:id')
-                         and not(name(.) = 'version')]"/>
-    <xsl:apply-templates mode="stripNS"/>
-  </sgmltag>
-</xsl:template>
-
-<xsl:template match="ng:textdata|db:textdata
-                     |ng:imagedata|db:imagedata
-                     |ng:videodata|db:videodata
-                     |ng:audiodata|db:audiodata" mode="stripNS">
-  <xsl:element name="{local-name(.)}">
-    <xsl:copy-of select="@*[not(name(.) = 'xml:id')
-                            and not(name(.) = 'version')
-                            and not(name(.) = 'entityref')]"/>
-    <xsl:if test="@xml:id">
-      <xsl:attribute name="id">
-        <xsl:value-of select="@xml:id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:choose>
-      <xsl:when test="@entityref">
-        <xsl:attribute name="fileref">
-          <xsl:value-of select="unparsed-entity-uri(@entityref)"/>
-        </xsl:attribute>
-      </xsl:when>
-    </xsl:choose>
-
-    <xsl:apply-templates mode="stripNS"/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template name="add-xml-base">
-  <xsl:if test="not(@xml:base)">
-    <xsl:variable name="base">
-      <xsl:choose>
-        <xsl:when test="function-available('saxon:systemId')">
-          <xsl:value-of select="saxon:systemId()"/>
-        </xsl:when>
-        <xsl:when test="function-available('NodeInfo:systemId')">
-          <xsl:value-of select="NodeInfo:systemId()"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>WARNING: cannot add @xml:base to node </xsl:text>
-            <xsl:text>set root element.  </xsl:text>
-            <xsl:text>Relative paths may not work.</xsl:text>
-          </xsl:message>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <!-- debug
-    <xsl:message>base is <xsl:value-of select="$base"/></xsl:message>
-    -->
-    <xsl:if test="$base != ''">
-      <xsl:attribute name="xml:base">
-        <xsl:call-template name="systemIdToBaseURI">
-          <xsl:with-param name="systemId">
-            <!-- file: seems to confuse some processors. -->
-            <xsl:choose>
-              <!-- however, windows paths must use file:///c:/path -->
-              <xsl:when test="starts-with($base, 'file:///') and
-                              substring($base, 10, 1) = ':'">
-                <xsl:value-of select="$base"/>
-              </xsl:when>
-              <xsl:when test="starts-with($base, 'file:/')
-                              and substring($base, 8, 1) = ':'">
-                <xsl:value-of select="concat('file:///', 
-                                      substring-after($base,'file:/'))"/>
-              </xsl:when>
-              <xsl:when test="starts-with($base, 'file:///')">
-                <xsl:value-of select="substring-after($base,'file://')"/>
-              </xsl:when>
-              <xsl:when test="starts-with($base, 'file://')">
-                <xsl:value-of select="substring-after($base,'file:/')"/>
-              </xsl:when>
-              <xsl:when test="starts-with($base, 'file:/')">
-                <xsl:value-of select="substring-after($base,'file:')"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:value-of select="$base"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:attribute>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="systemIdToBaseURI">
-  <xsl:param name="systemId" select="''"/>
-  <xsl:if test="contains($systemId,'/')">
-    <xsl:value-of select="substring-before($systemId,'/')"/>
-    <xsl:text>/</xsl:text>
-    <xsl:call-template name="systemIdToBaseURI">
-      <xsl:with-param name="systemId"
-                      select="substring-after($systemId,'/')"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="comment()|processing-instruction()|text()" mode="stripNS">
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="/" priority="-1">
-  <xsl:choose>
-    <xsl:when test="(function-available('exsl:node-set') or
-                     contains(system-property('xsl:vendor'),
-                       'Apache Software Foundation'))
-                    and (*/self::ng:* or */self::db:*)">
-      <xsl:message>Stripping namespace from DocBook 5 document.</xsl:message>
-      <xsl:variable name="nons">
-        <xsl:apply-templates mode="stripNS"/>
-      </xsl:variable>
-      <xsl:message>Processing stripped document.</xsl:message>
-      <xsl:apply-templates select="exsl:node-set($nons)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="@* | node()"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/subtitles.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/subtitles.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,155 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                exclude-result-prefixes="doc"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- subtitle markup -->
-
-<doc:mode mode="subtitle.markup" xmlns="">
-<refpurpose>Provides access to element subtitles</refpurpose>
-<refdescription id="subtitle.markup-desc">
-<para>Processing an element in the
-<literal role="mode">subtitle.markup</literal> mode produces the
-subtitle of the element.
-</para>
-</refdescription>
-</doc:mode>
-
-<xsl:template match="*" mode="subtitle.markup">
-  <xsl:message>
-    <xsl:text>Request for subtitle of unexpected element: </xsl:text>
-    <xsl:value-of select="local-name(.)"/>
-  </xsl:message>
-  <xsl:text>???SUBTITLE???</xsl:text>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="set" mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates select="(setinfo/subtitle|info/subtitle|subtitle)[1]"
-                       mode="subtitle.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="book" mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates select="(bookinfo/subtitle|info/subtitle|subtitle)[1]"
-                       mode="subtitle.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="part" mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates select="(partinfo/subtitle
-                                |docinfo/subtitle
-                                |info/subtitle
-                                |subtitle)[1]"
-                       mode="subtitle.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="preface|chapter|appendix" mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates select="(docinfo/subtitle
-                                |info/subtitle
-                                |prefaceinfo/subtitle
-                                |chapterinfo/subtitle
-                                |appendixinfo/subtitle
-                                |subtitle)[1]"
-                       mode="subtitle.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="article" mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates select="(artheader/subtitle
-                                |articleinfo/subtitle
-                                |info/subtitle
-                                |subtitle)[1]"
-                       mode="subtitle.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="dedication|colophon" mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates select="(subtitle|info/subtitle)[1]"
-                       mode="subtitle.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="reference" mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates select="(referenceinfo/subtitle
-                                |docinfo/subtitle
-                                |info/subtitle
-                                |subtitle)[1]"
-                       mode="subtitle.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="qandaset" mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates select="(blockinfo/subtitle|info/subtitle)[1]"
-                       mode="subtitle.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="refentry" mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates select="(refentryinfo/subtitle
-                                |info/subtitle
-                                |docinfo/subtitle)[1]"
-                       mode="subtitle.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="section
-                     |sect1|sect2|sect3|sect4|sect5
-                     |refsect1|refsect2|refsect3
-                     |simplesect"
-              mode="subtitle.markup">
-  <xsl:param name="allow-anchors" select="'0'"/>
-  <xsl:apply-templates select="(info/subtitle
-                                |sectioninfo/subtitle
-                                |sect1info/subtitle
-                                |sect2info/subtitle
-                                |sect3info/subtitle
-                                |sect4info/subtitle
-                                |sect5info/subtitle
-                                |refsect1info/subtitle
-                                |refsect2info/subtitle
-                                |refsect3info/subtitle
-                                |subtitle)[1]"
-                       mode="subtitle.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/table.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/table.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,514 +1,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                exclude-result-prefixes="doc"
-                version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template name="blank.spans">
-  <xsl:param name="cols" select="1"/>
-  <xsl:if test="$cols &gt; 0">
-    <xsl:text>0:</xsl:text>
-    <xsl:call-template name="blank.spans">
-      <xsl:with-param name="cols" select="$cols - 1"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="calculate.following.spans">
-  <xsl:param name="colspan" select="1"/>
-  <xsl:param name="spans" select="''"/>
-
-  <xsl:choose>
-    <xsl:when test="$colspan &gt; 0">
-      <xsl:call-template name="calculate.following.spans">
-        <xsl:with-param name="colspan" select="$colspan - 1"/>
-        <xsl:with-param name="spans" select="substring-after($spans,':')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$spans"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="finaltd">
-  <xsl:param name="spans"/>
-  <xsl:param name="col" select="0"/>
-
-  <xsl:if test="$spans != ''">
-    <xsl:choose>
-      <xsl:when test="starts-with($spans,'0:')">
-        <xsl:call-template name="empty.table.cell">
-          <xsl:with-param name="colnum" select="$col"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise></xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:call-template name="finaltd">
-      <xsl:with-param name="spans" select="substring-after($spans,':')"/>
-      <xsl:with-param name="col" select="$col+1"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="sfinaltd">
-  <xsl:param name="spans"/>
-
-  <xsl:if test="$spans != ''">
-    <xsl:choose>
-      <xsl:when test="starts-with($spans,'0:')">0:</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="substring-before($spans,':')-1"/>
-        <xsl:text>:</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:call-template name="sfinaltd">
-      <xsl:with-param name="spans" select="substring-after($spans,':')"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="entry.colnum">
-  <xsl:param name="entry" select="."/>
-
-  <xsl:choose>
-    <xsl:when test="$entry/@spanname">
-      <xsl:variable name="spanname" select="$entry/@spanname"/>
-      <xsl:variable name="spanspec"
-                    select="($entry/ancestor::tgroup/spanspec[@spanname=$spanname]
-                             |$entry/ancestor::entrytbl/spanspec[@spanname=$spanname])[last()]"/>
-      <xsl:variable name="colspec"
-                    select="($entry/ancestor::tgroup/colspec[@colname=$spanspec/@namest]
-                             |$entry/ancestor::entrytbl/colspec[@colname=$spanspec/@namest])[last()]"/>
-      <xsl:call-template name="colspec.colnum">
-        <xsl:with-param name="colspec" select="$colspec"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$entry/@colname">
-      <xsl:variable name="colname" select="$entry/@colname"/>
-      <xsl:variable name="colspec"
-                    select="($entry/ancestor::tgroup/colspec[@colname=$colname]
-                             |$entry/ancestor::entrytbl/colspec[@colname=$colname])[last()]"/>
-      <xsl:call-template name="colspec.colnum">
-        <xsl:with-param name="colspec" select="$colspec"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$entry/@namest">
-      <xsl:variable name="namest" select="$entry/@namest"/>
-      <xsl:variable name="colspec"
-                    select="($entry/ancestor::tgroup/colspec[@colname=$namest]
-                             |$entry/ancestor::entrytbl/colspec[@colname=$namest])[last()]"/>
-      <xsl:call-template name="colspec.colnum">
-        <xsl:with-param name="colspec" select="$colspec"/>
-      </xsl:call-template>
-    </xsl:when>
-    <!-- no idea, return 0 -->
-    <xsl:otherwise>0</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<doc:template name="entry.colnum" xmlns="">
-<refpurpose>Determine the column number in which a given entry occurs</refpurpose>
-<refdescription id="entry.colnum-desc">
-<para>If an <tag>entry</tag> has a
-<tag class="attribute">colname</tag> or
-<tag class="attribute">namest</tag> attribute, this template
-will determine the number of the column in which the entry should occur.
-For other <tag>entry</tag>s, nothing is returned.</para>
-</refdescription>
-<refparameter id="entry.colnum-params">
-<variablelist>
-<varlistentry><term>entry</term>
-<listitem>
-<para>The <tag>entry</tag>-element which is to be tested.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-
-<refreturn id="entry.colnum-returns">
-<para>This template returns the column number if it can be determined,
-or 0 (the empty string)</para>
-</refreturn>
-</doc:template>
-
-<xsl:template name="colspec.colnum">
-  <xsl:param name="colspec" select="."/>
-  <xsl:choose>
-    <xsl:when test="$colspec/@colnum">
-      <xsl:value-of select="$colspec/@colnum"/>
-    </xsl:when>
-    <xsl:when test="$colspec/preceding-sibling::colspec">
-      <xsl:variable name="prec.colspec.colnum">
-        <xsl:call-template name="colspec.colnum">
-          <xsl:with-param name="colspec"
-                          select="$colspec/preceding-sibling::colspec[1]"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:value-of select="$prec.colspec.colnum + 1"/>
-    </xsl:when>
-    <xsl:otherwise>1</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="calculate.colspan">
-  <xsl:param name="entry" select="."/>
-  <xsl:variable name="spanname" select="$entry/@spanname"/>
-  <xsl:variable name="spanspec"
-                select="($entry/ancestor::tgroup/spanspec[@spanname=$spanname]
-                         |$entry/ancestor::entrytbl/spanspec[@spanname=$spanname])[last()]"/>
-
-  <xsl:variable name="namest">
-    <xsl:choose>
-      <xsl:when test="@spanname">
-        <xsl:value-of select="$spanspec/@namest"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$entry/@namest"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="nameend">
-    <xsl:choose>
-      <xsl:when test="@spanname">
-        <xsl:value-of select="$spanspec/@nameend"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$entry/@nameend"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="scol">
-    <xsl:call-template name="colspec.colnum">
-      <xsl:with-param name="colspec"
-                      select="($entry/ancestor::tgroup/colspec[@colname=$namest]
-                               |$entry/ancestor::entrytbl/colspec[@colname=$namest])[last()]"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="ecol">
-    <xsl:call-template name="colspec.colnum">
-      <xsl:with-param name="colspec"
-                      select="($entry/ancestor::tgroup/colspec[@colname=$nameend]
-                               |$entry/ancestor::entrytbl/colspec[@colname=$nameend])[last()]"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$namest != '' and $nameend != ''">
-      <xsl:choose>
-        <xsl:when test="number($ecol) &gt;= number($scol)">
-          <xsl:value-of select="number($ecol) - number($scol) + 1"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="number($scol) - number($ecol) + 1"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>1</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="calculate.rowsep">
-  <xsl:param name="entry" select="."/>
-  <xsl:param name="colnum" select="0"/>
-
-  <xsl:call-template name="inherited.table.attribute">
-    <xsl:with-param name="entry" select="$entry"/>
-    <xsl:with-param name="colnum" select="$colnum"/>
-    <xsl:with-param name="attribute" select="'rowsep'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="calculate.colsep">
-  <xsl:param name="entry" select="."/>
-  <xsl:param name="colnum" select="0"/>
-
-  <xsl:call-template name="inherited.table.attribute">
-    <xsl:with-param name="entry" select="$entry"/>
-    <xsl:with-param name="colnum" select="$colnum"/>
-    <xsl:with-param name="attribute" select="'colsep'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="inherited.table.attribute">
-  <xsl:param name="entry" select="."/>
-  <xsl:param name="row" select="$entry/ancestor-or-self::row[1]"/>
-  <xsl:param name="colnum" select="0"/>
-  <xsl:param name="attribute" select="'colsep'"/>
-
-  <xsl:variable name="tgroup" select="$row/parent::*/parent::tgroup[1]"/>
-  <xsl:variable name="tbody" select="$row/parent::*[1]"/>
-
-  <xsl:variable name="table" select="($tgroup/ancestor::table
-                                     |$tgroup/ancestor::informaltable
-				     |$entry/ancestor::entrytbl)[last()]"/>
-
-  <xsl:variable name="entry.value">
-    <xsl:call-template name="get-attribute">
-      <xsl:with-param name="element" select="$entry"/>
-      <xsl:with-param name="attribute" select="$attribute"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="row.value">
-    <xsl:call-template name="get-attribute">
-      <xsl:with-param name="element" select="$row"/>
-      <xsl:with-param name="attribute" select="$attribute"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="span.value">
-    <xsl:if test="$entry/@spanname">
-      <xsl:variable name="spanname" select="$entry/@spanname"/>
-      <xsl:variable name="spanspec"
-                    select="$tgroup/spanspec[@spanname=$spanname]"/>
-      <xsl:variable name="span.colspec"
-                    select="$tgroup/colspec[@colname=$spanspec/@namest]"/>
-
-      <xsl:variable name="spanspec.value">
-        <xsl:call-template name="get-attribute">
-          <xsl:with-param name="element" select="$spanspec"/>
-          <xsl:with-param name="attribute" select="$attribute"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="scolspec.value">
-        <xsl:call-template name="get-attribute">
-          <xsl:with-param name="element" select="$span.colspec"/>
-          <xsl:with-param name="attribute" select="$attribute"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$spanspec.value != ''">
-          <xsl:value-of select="$spanspec.value"/>
-        </xsl:when>
-        <xsl:when test="$scolspec.value != ''">
-          <xsl:value-of select="$scolspec.value"/>
-        </xsl:when>
-        <xsl:otherwise></xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="namest.value">
-    <xsl:if test="$entry/@namest">
-      <xsl:variable name="namest" select="$entry/@namest"/>
-      <xsl:variable name="colspec"
-                    select="$tgroup/colspec[@colname=$namest]"/>
-
-      <xsl:variable name="inner.namest.value">
-        <xsl:call-template name="get-attribute">
-          <xsl:with-param name="element" select="$colspec"/>
-          <xsl:with-param name="attribute" select="$attribute"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$inner.namest.value">
-          <xsl:value-of select="$inner.namest.value"/>
-        </xsl:when>
-        <xsl:otherwise></xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="tgroup.value">
-    <xsl:call-template name="get-attribute">
-      <xsl:with-param name="element" select="$tgroup"/>
-      <xsl:with-param name="attribute" select="$attribute"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="tbody.value">
-    <xsl:call-template name="get-attribute">
-      <xsl:with-param name="element" select="$tbody"/>
-      <xsl:with-param name="attribute" select="$attribute"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="table.value">
-    <xsl:call-template name="get-attribute">
-      <xsl:with-param name="element" select="$table"/>
-      <xsl:with-param name="attribute" select="$attribute"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="default.value">
-    <!-- This section used to say that rowsep and colsep have defaults based -->
-    <!-- on the frame setting. Further reflection and closer examination of the -->
-    <!-- CALS spec reveals I was mistaken. The default is "1" for rowsep and colsep. -->
-    <!-- For everything else, the default is the tgroup value -->
-    <xsl:choose>
-      <xsl:when test="$tgroup.value != ''">
-        <xsl:value-of select="$tgroup.value"/>
-      </xsl:when>
-      <xsl:when test="$attribute = 'rowsep'">1</xsl:when>
-      <xsl:when test="$attribute = 'colsep'">1</xsl:when>
-      <xsl:otherwise><!-- empty --></xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="calc.colvalue">
-    <xsl:if test="$colnum &gt; 0">
-      <xsl:call-template name="colnum.colspec">
-        <xsl:with-param name="colnum" select="$colnum"/>
-        <xsl:with-param name="attribute" select="$attribute"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$entry.value != ''">
-      <xsl:value-of select="$entry.value"/>
-    </xsl:when>
-    <xsl:when test="$row.value != ''">
-      <xsl:value-of select="$row.value"/>
-    </xsl:when>
-    <xsl:when test="$span.value != ''">
-      <xsl:value-of select="$span.value"/>
-    </xsl:when>
-    <xsl:when test="$namest.value != ''">
-      <xsl:value-of select="$namest.value"/>
-    </xsl:when>
-    <xsl:when test="$calc.colvalue != ''">
-      <xsl:value-of select="$calc.colvalue"/>
-    </xsl:when>
-    <xsl:when test="$tbody.value != ''">
-      <xsl:value-of select="$tbody.value"/>
-    </xsl:when>
-    <xsl:when test="$tgroup.value != ''">
-      <xsl:value-of select="$tgroup.value"/>
-    </xsl:when>
-    <xsl:when test="$table.value != ''">
-      <xsl:value-of select="$table.value"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$default.value"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="colnum.colspec">
-  <xsl:param name="colnum" select="0"/>
-  <xsl:param name="attribute" select="'colname'"/>
-  <xsl:param name="colspec.ancestor" 
-             select="(ancestor::tgroup|ancestor::entrytbl)
-	             [position() = last()]"/>
-  <xsl:param name="colspecs" select="$colspec.ancestor/colspec"/>
-  <xsl:param name="count" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="not($colspecs) or $count &gt; $colnum">
-      <!-- nop -->
-    </xsl:when>
-    <xsl:when test="$colspecs[1]/@colnum">
-      <xsl:choose>
-        <xsl:when test="$colspecs[1]/@colnum = $colnum">
-          <xsl:call-template name="get-attribute">
-            <xsl:with-param name="element" select="$colspecs[1]"/>
-            <xsl:with-param name="attribute" select="$attribute"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="colnum.colspec">
-            <xsl:with-param name="colnum" select="$colnum"/>
-            <xsl:with-param name="attribute" select="$attribute"/>
-            <xsl:with-param name="colspecs"
-                            select="$colspecs[position()&gt;1]"/>
-            <xsl:with-param name="count"
-                            select="$colspecs[1]/@colnum+1"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$count = $colnum">
-          <xsl:call-template name="get-attribute">
-            <xsl:with-param name="element" select="$colspecs[1]"/>
-            <xsl:with-param name="attribute" select="$attribute"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="colnum.colspec">
-            <xsl:with-param name="colnum" select="$colnum"/>
-            <xsl:with-param name="attribute" select="$attribute"/>
-            <xsl:with-param name="colspecs"
-                            select="$colspecs[position()&gt;1]"/>
-            <xsl:with-param name="count" select="$count+1"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="get-attribute">
-  <xsl:param name="element" select="."/>
-  <xsl:param name="attribute" select="''"/>
-
-  <xsl:for-each select="$element/@*">
-    <xsl:if test="local-name(.) = $attribute">
-      <xsl:value-of select="."/>
-    </xsl:if>
-  </xsl:for-each>
-</xsl:template>
-
-<xsl:template name="consume-row">
-  <xsl:param name="spans"/>
-
-  <xsl:if test="contains($spans,':')">
-    <xsl:value-of select="substring-before($spans,':') - 1"/>
-    <xsl:text>:</xsl:text>
-    <xsl:call-template name="consume-row">
-      <xsl:with-param name="spans" select="substring-after($spans,':')"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<!-- Returns the table style for the context element -->
-<xsl:template name="tabstyle">
-  <xsl:param name="node" select="."/>
-
-  <xsl:variable name="tgroup" select="$node/tgroup[1] | 
-                                      $node/ancestor-or-self::tgroup[1]"/>
-
-  <xsl:variable name="table" 
-                select="($node/ancestor-or-self::table | 
-                         $node/ancestor-or-self::informaltable)[1]"/>
-
-  <xsl:variable name="tabstyle">
-    <xsl:choose>
-      <xsl:when test="$table/@tabstyle != ''">
-        <xsl:value-of select="normalize-space($table/@tabstyle)"/>
-      </xsl:when>
-      <xsl:when test="$tgroup/@tgroupstyle != ''">
-        <xsl:value-of select="normalize-space($tgroup/@tgroupstyle)"/>
-      </xsl:when>
-      <xsl:otherwise>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:value-of select="$tabstyle"/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/targetdatabase.dtd
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/targetdatabase.dtd	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,49 +1,0 @@
-<!-- targetdatabase.dtd -->
-<!-- A DTD for managing cross reference target information -->
-
-<!ELEMENT targetset (targetsetinfo?, sitemap*, document*) >
-
-<!ELEMENT targetsetinfo ANY >
-
-<!ELEMENT sitemap (dir) >
-
-<!ELEMENT dir ((dir|document)*) >
-<!ATTLIST dir
-        name      CDATA   #REQUIRED
->
-
-<!ELEMENT document (div*) >
-<!ATTLIST document
-        targetdoc CDATA   #REQUIRED
-        uri       CDATA   #IMPLIED
-        baseuri   CDATA   #IMPLIED
-        href      CDATA   #IMPLIED
-        dir       CDATA   #IMPLIED
->
-
-<!ELEMENT div (ttl?, objttl?, xreftext?, (div|obj)*)>
-<!ATTLIST div
-        targetptr  CDATA   #IMPLIED
-        element   CDATA   #IMPLIED
-        name      CDATA   #IMPLIED
-        number    CDATA   #IMPLIED
-        href      CDATA   #IMPLIED
-        lang      CDATA   #IMPLIED
-        page      CDATA   #IMPLIED
->
-        
-        
-<!ELEMENT ttl ANY >
-<!ELEMENT objttl ANY >
-<!ELEMENT xreftext ANY >
-
-<!ELEMENT obj (ttl?, objttl?, xreftext?)>
-<!ATTLIST obj
-        targetptr  CDATA   #IMPLIED
-        element   CDATA   #IMPLIED
-        name      CDATA   #IMPLIED
-        number    CDATA   #IMPLIED
-        href      CDATA   #IMPLIED
-        lang      CDATA   #IMPLIED
-        page      CDATA   #IMPLIED
->
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/targets.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/targets.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,272 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                exclude-result-prefixes="doc"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- cross reference target collection  -->
-
-<doc:mode mode="collect.targets" xmlns="">
-<refpurpose>Collects information for potential cross reference targets</refpurpose>
-<refdescription id="collect.targets-desc">
-<para>Processing the root element in the
-<literal role="mode">collect.targets</literal> mode produces 
-a set of target database elements that can be used by
-the olink mechanism to resolve external cross references.
-The collection process is controlled by the <literal>
-collect.xref.targets</literal> parameter, which can be
-<literal>yes</literal> to collect targets and process
-the document for output, <literal>only</literal> to
-only collect the targets, and <literal>no</literal>
-(default) to not collect the targets and only process the document.
-</para>
-<para>
-A <literal>targets.filename</literal> parameter must be
-specified to receive the output if 
-<literal>collect.xref.targets</literal> is
-set to <literal>yes</literal> so as to
-redirect the target data to a file separate from the
-document output.
-</para>
-</refdescription>
-</doc:mode>
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="collect.targets">
-  <xsl:choose>
-    <xsl:when test="$collect.xref.targets = 'yes' and $targets.filename = ''">
-      <xsl:message>
-        Must specify a $targets.filename parameter when
-        $collect.xref.targets is set to 'yes'.
-        The xref targets were not collected.
-      </xsl:message>
-    </xsl:when> 
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$targets.filename">
-          <xsl:call-template name="write.chunk">
-            <xsl:with-param name="filename" select="$targets.filename"/>
-            <xsl:with-param name="method" select="'xml'"/>
-            <xsl:with-param name="encoding" select="'utf-8'"/>
-            <xsl:with-param name="omit-xml-declaration" select="'yes'"/>
-            <xsl:with-param name="doctype-public" select="''"/>
-            <xsl:with-param name="doctype-system" select="''"/>
-            <xsl:with-param name="indent" select="'no'"/>
-            <xsl:with-param name="quiet" select="0"/>
-            <xsl:with-param name="content">
-              <xsl:apply-templates select="." mode="olink.mode"/>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <!-- Else write to standard output -->
-          <xsl:apply-templates select="." mode="olink.mode"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="olink.href.target">
-  <xsl:param name="nd" select="."/>
-
-  <xsl:value-of select="$olink.base.uri"/>
-  <xsl:call-template name="href.target">
-    <xsl:with-param name="object" select="$nd"/>
-    <xsl:with-param name="context" select="NOTANODE"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- Templates for extracting cross reference information
-     from a document for use in an xref database.
--->
-
-<xsl:template name="attrs">
-  <xsl:param name="nd" select="."/>
-
-  <xsl:attribute name="element">
-    <xsl:value-of select="local-name(.)"/>
-  </xsl:attribute>
-
-  <xsl:attribute name="href">
-    <xsl:call-template name="olink.href.target">
-      <xsl:with-param name="nd" select="$nd"/>
-    </xsl:call-template>
-  </xsl:attribute>
-
-  <xsl:variable name="num">
-    <xsl:apply-templates select="$nd" mode="label.markup">
-      <xsl:with-param name="verbose" select="0"/>
-    </xsl:apply-templates>
-  </xsl:variable>
-
-  <xsl:if test="$num">
-    <xsl:attribute name="number">
-      <xsl:value-of select="$num"/>
-    </xsl:attribute>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="$nd/@id">
-      <xsl:attribute name="targetptr">
-        <xsl:value-of select="$nd/@id"/>
-      </xsl:attribute>
-    </xsl:when>
-    <xsl:when test="$nd/@xml:id">
-      <xsl:attribute name="targetptr">
-        <xsl:value-of select="$nd/@xml:id"/>
-      </xsl:attribute>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:if test="$nd/@lang">
-    <xsl:attribute name="lang">
-      <xsl:value-of select="$nd/@lang"/>
-    </xsl:attribute>
-  </xsl:if>
-
-</xsl:template>
-
-<xsl:template name="div">
-  <xsl:param name="nd" select="."/>
-
-  <div>
-    <xsl:call-template name="attrs">
-      <xsl:with-param name="nd" select="$nd"/>
-    </xsl:call-template>
-    <ttl>
-      <xsl:apply-templates select="$nd" mode="title.markup">
-        <xsl:with-param name="verbose" select="0"/>
-      </xsl:apply-templates>
-    </ttl>
-    <xreftext>
-      <xsl:choose>
-        <xsl:when test="$nd/@xreflabel">
-          <xsl:call-template name="xref.xreflabel">
-            <xsl:with-param name="target" select="$nd"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$nd" mode="xref-to">
-            <xsl:with-param name="verbose" select="0"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xreftext>
-    <xsl:apply-templates mode="olink.mode"/>
-  </div>
-</xsl:template>
-
-<xsl:template name="obj">
-  <xsl:param name="nd" select="."/>
-
-  <obj>
-    <xsl:call-template name="attrs">
-      <xsl:with-param name="nd" select="$nd"/>
-    </xsl:call-template>
-    <ttl>
-      <xsl:apply-templates select="$nd" mode="title.markup">
-        <xsl:with-param name="verbose" select="0"/>
-      </xsl:apply-templates>
-    </ttl>
-    <xreftext>
-      <xsl:choose>
-        <xsl:when test="$nd/@xreflabel">
-          <xsl:call-template name="xref.xreflabel">
-            <xsl:with-param name="target" select="$nd"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$nd" mode="xref-to">
-            <xsl:with-param name="verbose" select="0"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xreftext>
-  </obj>
-</xsl:template>
-
-<xsl:template match="text()|processing-instruction()|comment()"
-              mode="olink.mode">
-  <!-- nop -->
-</xsl:template>
-
-<!--
-<xsl:template match="*" mode="olink.mode">
-</xsl:template>
--->
-
-<xsl:template match="set" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="book" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="preface|chapter|appendix" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="part|reference" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="article" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="bibliography|bibliodiv" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="biblioentry|bibliomixed" mode="olink.mode">
-  <xsl:call-template name="obj"/>
-</xsl:template>
-
-<xsl:template match="refentry" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="section|sect1|sect2|sect3|sect4|sect5" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="refsection|refsect1|refsect2|refsect3" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="figure|example|table" mode="olink.mode">
-  <xsl:call-template name="obj"/>
-  <xsl:apply-templates mode="olink.mode"/>
-</xsl:template>
-
-<xsl:template match="equation[title or info/title]" mode="olink.mode">
-  <xsl:call-template name="obj"/>
-</xsl:template>
-
-<xsl:template match="qandaset|qandaentry" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="*" mode="olink.mode">
-  <xsl:if test="@id or @xml:id">
-    <xsl:call-template name="obj"/>
-  </xsl:if> 
-  <xsl:apply-templates mode="olink.mode"/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/titles.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/titles.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,740 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                exclude-result-prefixes="doc"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- title markup -->
-
-<doc:mode mode="title.markup" xmlns="">
-<refpurpose>Provides access to element titles</refpurpose>
-<refdescription id="title.markup-desc">
-<para>Processing an element in the
-<literal role="mode">title.markup</literal> mode produces the
-title of the element. This does not include the label.
-</para>
-</refdescription>
-</doc:mode>
-
-<xsl:template match="*" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:param name="verbose" select="1"/>
-  <xsl:choose>
-    <!-- * FIXME: this should handle other *info elements as well -->
-    <!-- * but this is good enough for now. -->
-    <xsl:when test="title|info/title">
-      <xsl:apply-templates select="title[1]|info/title[1]" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="local-name(.) = 'partintro'">
-      <!-- partintro's don't have titles, use the parent (part or reference)
-           title instead. -->
-      <xsl:apply-templates select="parent::*" mode="title.markup"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$verbose != 0">
-        <xsl:message>
-          <xsl:text>Request for title of element with no title: </xsl:text>
-          <xsl:value-of select="local-name(.)"/>
-          <xsl:choose>
-            <xsl:when test="@id">
-              <xsl:text> (id="</xsl:text>
-              <xsl:value-of select="@id"/>
-              <xsl:text>")</xsl:text>
-            </xsl:when>
-            <xsl:when test="@xml:id">
-              <xsl:text> (xml:id="</xsl:text>
-              <xsl:value-of select="@xml:id"/>
-              <xsl:text>")</xsl:text>
-            </xsl:when>
-          </xsl:choose>
-        </xsl:message>
-      </xsl:if>
-      <xsl:text>???TITLE???</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="title" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-
-  <xsl:choose>
-    <xsl:when test="$allow-anchors != 0">
-      <xsl:apply-templates/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="no.anchor.mode"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- only occurs in HTML Tables! -->
-<xsl:template match="caption" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-
-  <xsl:choose>
-    <xsl:when test="$allow-anchors != 0">
-      <xsl:apply-templates/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="no.anchor.mode"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="set" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:apply-templates select="(setinfo/title|info/title|title)[1]"
-                       mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="book" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:apply-templates select="(bookinfo/title|info/title|title)[1]"
-                       mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="part" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:apply-templates select="(partinfo/title|info/title|docinfo/title|title)[1]"
-                       mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="preface|chapter|appendix" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-
-<!--
-  <xsl:message>
-    <xsl:value-of select="local-name(.)"/>
-    <xsl:text> </xsl:text>
-    <xsl:value-of select="$allow-anchors"/>
-  </xsl:message>
--->
-
-  <xsl:variable name="title" select="(docinfo/title
-                                      |info/title
-                                      |prefaceinfo/title
-                                      |chapterinfo/title
-                                      |appendixinfo/title
-                                      |title)[1]"/>
-  <xsl:apply-templates select="$title" mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="dedication" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:choose>
-    <xsl:when test="title">
-      <xsl:apply-templates select="(title|info/title)[1]" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'Dedication'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="colophon" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:choose>
-    <xsl:when test="title">
-      <xsl:apply-templates select="(title|info/title)[1]" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'Colophon'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="article" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="title" select="(artheader/title
-                                      |articleinfo/title
-                                      |info/title
-                                      |title)[1]"/>
-
-  <xsl:apply-templates select="$title" mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="reference" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:apply-templates select="(referenceinfo/title|docinfo/title|info/title|title)[1]"
-                       mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="refentry" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="refmeta" select=".//refmeta"/>
-  <xsl:variable name="refentrytitle" select="$refmeta//refentrytitle"/>
-  <xsl:variable name="refnamediv" select=".//refnamediv"/>
-  <xsl:variable name="refname" select="$refnamediv//refname"/>
-  <xsl:variable name="refdesc" select="$refnamediv//refdescriptor"/>
-
-  <xsl:variable name="title">
-    <xsl:choose>
-      <xsl:when test="$refentrytitle">
-        <xsl:apply-templates select="$refentrytitle[1]" mode="title.markup"/>
-      </xsl:when>
-      <xsl:when test="$refdesc">
-        <xsl:apply-templates select="$refdesc" mode="title.markup"/>
-      </xsl:when>
-      <xsl:when test="$refname">
-        <xsl:apply-templates select="$refname[1]" mode="title.markup"/>
-      </xsl:when>
-      <xsl:otherwise>REFENTRY WITHOUT TITLE???</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:copy-of select="$title"/>
-</xsl:template>
-
-<xsl:template match="refentrytitle|refname|refdescriptor" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:choose>
-    <xsl:when test="$allow-anchors != 0">
-      <xsl:apply-templates/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="no.anchor.mode"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="section
-                     |sect1|sect2|sect3|sect4|sect5
-                     |refsect1|refsect2|refsect3|refsection
-                     |simplesect"
-              mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="title" select="(info/title
-                                      |sectioninfo/title
-                                      |sect1info/title
-                                      |sect2info/title
-                                      |sect3info/title
-                                      |sect4info/title
-                                      |sect5info/title
-                                      |refsect1info/title
-                                      |refsect2info/title
-                                      |refsect3info/title
-                                      |refsectioninfo/title
-                                      |title)[1]"/>
-
-  <xsl:apply-templates select="$title" mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="bridgehead" mode="title.markup">
-  <xsl:apply-templates mode="title.markup"/>
-</xsl:template>
-
-<xsl:template match="refsynopsisdiv" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:choose>
-    <xsl:when test="title">
-      <xsl:apply-templates select="title" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'RefSynopsisDiv'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="bibliography" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="title" select="(bibliographyinfo/title|info/title|title)[1]"/>
-  <xsl:choose>
-    <xsl:when test="$title">
-      <xsl:apply-templates select="$title" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'Bibliography'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="glossary" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="title" select="(glossaryinfo/title|info/title|title)[1]"/>
-  <xsl:choose>
-    <xsl:when test="$title">
-      <xsl:apply-templates select="$title" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext.element.name">
-        <xsl:with-param name="element.name" select="local-name(.)"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="glossdiv" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="title" select="(info/title|title)[1]"/>
-  <xsl:choose>
-    <xsl:when test="$title">
-      <xsl:apply-templates select="$title" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>ERROR: glossdiv missing its required title</xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="glossentry" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:apply-templates select="glossterm" mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="glossterm" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-
-  <xsl:choose>
-    <xsl:when test="$allow-anchors != 0">
-      <xsl:apply-templates/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="no.anchor.mode"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="index" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="title" select="(indexinfo/title|info/title|title)[1]"/>
-  <xsl:choose>
-    <xsl:when test="$title">
-      <xsl:apply-templates select="$title" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'Index'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="setindex" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="title" select="(setindexinfo/title|info/title|title)[1]"/>
-  <xsl:choose>
-    <xsl:when test="$title">
-      <xsl:apply-templates select="$title" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'SetIndex'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="figure|example|equation" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:apply-templates select="title|info/title" mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="table" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:apply-templates select="(title|caption)[1]" mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="procedure" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:apply-templates select="title" mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="task" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:apply-templates select="title" mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="sidebar" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:apply-templates select="(info/title|sidebarinfo/title|title)[1]"
-                       mode="title.markup">
-    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="abstract" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:choose>
-    <xsl:when test="title|info/title">
-      <xsl:apply-templates select="(title|info/title)[1]" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'Abstract'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="caution|tip|warning|important|note" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="title" select="(title|info/title)[1]"/>
-  <xsl:choose>
-    <xsl:when test="$title">
-      <xsl:apply-templates select="$title" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key">
-          <xsl:choose>
-            <xsl:when test="local-name(.)='note'">Note</xsl:when>
-            <xsl:when test="local-name(.)='important'">Important</xsl:when>
-            <xsl:when test="local-name(.)='caution'">Caution</xsl:when>
-            <xsl:when test="local-name(.)='warning'">Warning</xsl:when>
-            <xsl:when test="local-name(.)='tip'">Tip</xsl:when>
-          </xsl:choose>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="question" mode="title.markup">
-  <!-- questions don't have titles -->
-  <xsl:text>Question</xsl:text>
-</xsl:template>
-
-<xsl:template match="answer" mode="title.markup">
-  <!-- answers don't have titles -->
-  <xsl:text>Answer</xsl:text>
-</xsl:template>
-
-<xsl:template match="qandaentry" mode="title.markup">
-  <!-- qandaentrys are represented by the first question in them -->
-  <xsl:text>Question</xsl:text>
-</xsl:template>
-
-<xsl:template match="qandaset" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:variable name="title" select="(info/title|
-                                      blockinfo/title|
-                                      title)[1]"/>
-  <xsl:choose>
-    <xsl:when test="$title">
-      <xsl:apply-templates select="$title" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'QandASet'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:choose>
-    <xsl:when test="title">
-      <xsl:apply-templates select="title" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'LegalNotice'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="titleabbrev.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="titleabbrev">
-      <xsl:apply-templates select="titleabbrev[1]" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="." mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-        <xsl:with-param name="verbose" select="$verbose"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="book|preface|chapter|appendix" mode="titleabbrev.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:variable name="titleabbrev" select="(docinfo/titleabbrev
-                                           |bookinfo/titleabbrev
-                                           |info/titleabbrev
-                                           |prefaceinfo/titleabbrev
-                                           |chapterinfo/titleabbrev
-                                           |appendixinfo/titleabbrev
-                                           |titleabbrev)[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="$titleabbrev">
-      <xsl:apply-templates select="$titleabbrev" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="." mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-        <xsl:with-param name="verbose" select="$verbose"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="article" mode="titleabbrev.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:variable name="titleabbrev" select="(artheader/titleabbrev
-                                           |articleinfo/titleabbrev
-                                           |info/titleabbrev
-                                           |titleabbrev)[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="$titleabbrev">
-      <xsl:apply-templates select="$titleabbrev" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="." mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-        <xsl:with-param name="verbose" select="$verbose"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="section
-                     |sect1|sect2|sect3|sect4|sect5
-                     |refsect1|refsect2|refsect3
-                     |simplesect"
-              mode="titleabbrev.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:variable name="titleabbrev" select="(info/titleabbrev
-                                            |sectioninfo/titleabbrev
-                                            |sect1info/titleabbrev
-                                            |sect2info/titleabbrev
-                                            |sect3info/titleabbrev
-                                            |sect4info/titleabbrev
-                                            |sect5info/titleabbrev
-                                            |refsect1info/titleabbrev
-                                            |refsect2info/titleabbrev
-                                            |refsect3info/titleabbrev
-                                            |titleabbrev)[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="$titleabbrev">
-      <xsl:apply-templates select="$titleabbrev" mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="." mode="title.markup">
-        <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
-        <xsl:with-param name="verbose" select="$verbose"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="titleabbrev" mode="title.markup">
-  <xsl:param name="allow-anchors" select="0"/>
-
-  <xsl:choose>
-    <xsl:when test="$allow-anchors != 0">
-      <xsl:apply-templates/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="no.anchor.mode"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="no.anchor.mode">
-  <!-- Switch to normal mode if no links -->
-  <xsl:choose>
-    <xsl:when test="descendant-or-self::footnote or
-                    descendant-or-self::anchor or
-                    descendant-or-self::ulink or
-                    descendant-or-self::link or
-                    descendant-or-self::olink or
-                    descendant-or-self::xref or
-                    descendant-or-self::indexterm">
-
-      <xsl:apply-templates mode="no.anchor.mode"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="."/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="footnote" mode="no.anchor.mode">
-  <!-- nop, suppressed -->
-</xsl:template>
-
-<xsl:template match="anchor" mode="no.anchor.mode">
-  <!-- nop, suppressed -->
-</xsl:template>
-
-<xsl:template match="ulink" mode="no.anchor.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="link" mode="no.anchor.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="olink" mode="no.anchor.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="no.anchor.mode">
-  <!-- nop, suppressed -->
-</xsl:template>
-
-<xsl:template match="xref" mode="no.anchor.mode">
-  <xsl:variable name="targets" select="key('id',@linkend)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-  <xsl:variable name="refelem" select="local-name($target)"/>
-  
-  <xsl:call-template name="check.id.unique">
-    <xsl:with-param name="linkend" select="@linkend"/>
-  </xsl:call-template>
-
-  <xsl:choose>
-    <xsl:when test="count($target) = 0">
-      <xsl:message>
-        <xsl:text>XRef to nonexistent id: </xsl:text>
-        <xsl:value-of select="@linkend"/>
-      </xsl:message>
-      <xsl:text>???</xsl:text>
-    </xsl:when>
-
-    <xsl:when test="@endterm">
-      <xsl:variable name="etargets" select="key('id',@endterm)"/>
-      <xsl:variable name="etarget" select="$etargets[1]"/>
-      <xsl:choose>
-        <xsl:when test="count($etarget) = 0">
-          <xsl:message>
-            <xsl:value-of select="count($etargets)"/>
-            <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-            <xsl:value-of select="@endterm"/>
-          </xsl:message>
-          <xsl:text>???</xsl:text>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$etarget" mode="endterm"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="$target/@xreflabel">
-      <xsl:call-template name="xref.xreflabel">
-        <xsl:with-param name="target" select="$target"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:apply-templates select="$target" mode="xref-to-prefix"/>
-
-      <xsl:apply-templates select="$target" mode="xref-to">
-        <xsl:with-param name="referrer" select="."/>
-        <xsl:with-param name="xrefstyle">
-          <xsl:choose>
-            <xsl:when test="@role and not(@xrefstyle) and $use.role.as.xrefstyle != 0">
-              <xsl:value-of select="@role"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:value-of select="@xrefstyle"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-      </xsl:apply-templates>
-
-      <xsl:apply-templates select="$target" mode="xref-to-suffix"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/utility.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/utility.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,290 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                xmlns:dyn="http://exslt.org/dynamic"
-                xmlns:saxon="http://icl.com/saxon"
-                xmlns:xlink="http://www.w3.org/1999/xlink"
-                exclude-result-prefixes="doc dyn saxon"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-<doc:reference xmlns="" xml:id="utility">
-  <info>
-    <title>Common Â» Utility Template Reference</title>
-    <releaseinfo role="meta">
-      $Id$
-    </releaseinfo>
-  </info>
-  <!-- * yes, partintro is a valid child of a reference... -->
-  <partintro xml:id="partintro">
-    <title>Introduction</title>
-    <para>This is technical reference documentation for the
-      miscellaneous utility templates in the DocBook XSL
-      Stylesheets.</para>
-    <note>
-      <para>These templates are defined in a separate file from the set
-        of âcommonâ templates because some of the common templates
-        reference DocBook XSL stylesheet parameters, requiring the
-        entire set of parameters to be imported/included in any
-        stylesheet that imports/includes the common templates.</para>
-      <para>The utility templates donât import or include any DocBook
-        XSL stylesheet parameters, so the utility templates can be used
-        without importing the whole set of parameters.</para>
-    </note>
-    <para>This is not intended to be user documentation. It is
-      provided for developers writing customization layers for the
-      stylesheets.</para>
-  </partintro>
-</doc:reference>
-
-<!-- ====================================================================== -->
-
-<doc:template name="log.message" xmlns="">
-  <refpurpose>Logs/emits formatted notes and warnings</refpurpose>
-
-  <refdescription id="log.message-desc">
-    <para>The <function>log.message</function> template is a utility
-    template for logging/emitting formatted messages&#xa0;â that is,
-    notes and warnings, along with a given log âlevelâ and an
-    identifier for the âsourceâ that the message relates to.</para>
-  </refdescription>
-
-  <refparameter id="log.message-params">
-    <variablelist>
-      <varlistentry><term>level</term>
-        <listitem>
-          <para>Text to log/emit in the message-level field to
-            indicate the message level
-          (<literal>Note</literal> or
-          <literal>Warning</literal>)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>source</term>
-        <listitem>
-          <para>Text to log/emit in the source field to identify the
-            âsourceâ to which the notification/warning relates.
-            This can be any arbitrary string, but because the
-            message lacks line and column numbers to identify the
-            exact part of the source document to which it
-            relates, the intention is that the value you pass
-            into the <literal>source</literal> parameter should
-            give the user some way to identify the portion of
-            their source document on which to take potentially
-            take action in response to the log message (for
-            example, to edit, change, or add content).</para>
-          <para>So the <literal>source</literal> value should be,
-            for example, an ID, book/chapter/article title, title
-            of some formal object, or even a string giving an
-            XPath expression.</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>context-desc</term>
-        <listitem>
-          <para>Text to log/emit in the context-description field to
-            describe the context for the message.</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>context-desc-field-length</term>
-        <listitem>
-          <para>Specifies length of the context-description field
-            (in characters); default is 12</para>
-          <para>If the text specified by the
-            <literal>context-desc</literal> parameter is longer
-            than the number of characters specified in
-            <literal>context-desc-field-length</literal>, it is
-            truncated to <literal>context-desc-field-length</literal>
-            (12 characters by default).</para>
-          <para>If the specified text is shorter than
-            <literal>context-desc-field-length</literal>,
-          it is right-padded out to
-          <literal>context-desc-field-length</literal> (12 by
-          default).</para>
-        <para>If no value has been specified for the
-          <literal>context-desc</literal> parameter, the field is
-          left empty and the text of the log message begins with
-          the value of the <literal>message</literal>
-          parameter.</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>message</term>
-        <listitem>
-          <para>Text to log/emit in the actual message field</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>message-field-length</term>
-        <listitem>
-          <para>Specifies length of the message
-            field (in characters); default is 45</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refreturn id="log.message-returns">
-  <para>Outputs a message (generally, to standard error).</para></refreturn>
-</doc:template>
-<xsl:template name="log.message">
-  <xsl:param name="level"/>
-  <xsl:param name="source"/>
-  <xsl:param name="context-desc"/>
-  <xsl:param name="context-desc-field-length">12</xsl:param>
-  <xsl:param name="context-desc-padded">
-    <xsl:if test="not($context-desc = '')">
-      <xsl:call-template name="pad-string">
-        <xsl:with-param name="leftRight">right</xsl:with-param>
-        <xsl:with-param name="padVar"
-          select="substring($context-desc, 1, $context-desc-field-length)"/>
-        <xsl:with-param name="length" select="$context-desc-field-length"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:param>
-  <xsl:param name="message"/>
-  <xsl:param name="message-field-length" select="45"/>
-  <xsl:param name="message-padded">
-    <xsl:variable name="spaces-for-blank-level">
-      <!-- * if the level field is blank, we'll need to pad out -->
-      <!-- * the message field with spaces to compensate -->
-      <xsl:choose>
-        <xsl:when test="$level = ''">
-          <xsl:value-of select="4 + 2"/>
-          <!-- * 4 = hard-coded length of comment text ("Note" or "Warn") -->
-          <!-- * + 2 = length of colon-plus-space separator ": " -->
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="0"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:variable name="spaces-for-blank-context-desc">
-      <!-- * if the context-description field is blank, we'll need -->
-      <!-- * to pad out the message field with spaces to compensate -->
-      <xsl:choose>
-        <xsl:when test="$context-desc = ''">
-          <xsl:value-of select="$context-desc-field-length + 2"/>
-          <!-- * + 2 = length of colon-plus-space separator ": " -->
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="0"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:variable name="extra-spaces"
-      select="$spaces-for-blank-level + $spaces-for-blank-context-desc"/>
-    <xsl:call-template name="pad-string">
-      <xsl:with-param name="leftRight">right</xsl:with-param>
-      <xsl:with-param name="padVar"
-        select="substring($message, 1, ($message-field-length + $extra-spaces))"/>
-      <xsl:with-param name="length"
-        select="$message-field-length + $extra-spaces"/>
-    </xsl:call-template>
-  </xsl:param>
-  <!-- * emit the actual log message -->
-  <xsl:message>
-    <xsl:if test="not($level = '')">
-      <xsl:value-of select="$level"/>
-      <xsl:text>: </xsl:text>
-    </xsl:if>
-    <xsl:if test="not($context-desc = '')">
-      <xsl:value-of select="$context-desc-padded"/>
-      <xsl:text>: </xsl:text>
-    </xsl:if>
-    <xsl:value-of select="$message-padded"/>
-    <xsl:text>  </xsl:text>
-    <xsl:value-of select="$source"/>
-  </xsl:message>
-</xsl:template>
-
-<!-- ===================================== -->
-<doc:template name="get.doc.title" xmlns="">
-  <refpurpose>Gets a title from the current document</refpurpose>
-  <refdescription id="get.doc.title-desc">
-    <para>The <function>get.doc.title</function> template is a
-      utility template for returning the first title found in the
-      current document.</para>
-  </refdescription>
-  <refreturn id="get.doc.title-returns">
-  <para>Returns a string containing some identifying title for the
-    current document .</para></refreturn>
-</doc:template>
-<xsl:template name="get.doc.title">
-  <xsl:choose>
-    <xsl:when test="//*[local-name() = 'title'
-      or local-name() = 'refname']">
-      <xsl:value-of select="//*[local-name() = 'title'
-        or local-name() = 'refname'][1]"/>
-    </xsl:when>
-    <xsl:when test="substring(local-name(*[1]),
-      string-length(local-name(*[1])-3) = 'info')
-      and *[1]/*[local-name() = 'title']">
-      <xsl:value-of select="*[1]/*[local-name() = 'title'][1]"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ===================================== -->
-<doc:template name="pad-string" xmlns="">
-  <refpurpose>Right-pads or left-pads a string out to a certain length</refpurpose>
-  <refdescription id="pad-string-desc">
-    <para>This function takes string <parameter>padVar</parameter> and
-      pads it out in the direction <parameter>rightLeft</parameter> to
-      the string-length <parameter>length</parameter>, using string
-      <parameter>padChar</parameter> (a space character by default) as
-      the padding string (note that <parameter>padChar</parameter> can
-      be a string; it is not limited to just being a single
-      character).</para>
-    <note>
-      <para>This function began as a copy of Nate Austin's
-        <function>prepend-pad</function> function in the <link
-          xlink:href="http://www.dpawson.co.uk/xsl/sect2/padding.html" >Padding
-          Content</link> section of Dave Pawson's <link
-          xlink:href="http://www.dpawson.co.uk/xsl/index.html" >XSLT
-          FAQ</link>.</para>
-    </note>
-  </refdescription>
-  <refreturn id="pad-string-returns">
-  <para>Returns a (padded) string.</para></refreturn>
-</doc:template>
-<xsl:template name="pad-string">
-  <!-- * recursive template to right/left pad the value with -->
-  <!-- * whatever padChar is passed in -->
-  <xsl:param name="padChar" select="' '"/>
-  <xsl:param name="leftRight">left</xsl:param>
-  <xsl:param name="padVar"/>
-  <xsl:param name="length"/>
-  <xsl:choose>
-    <xsl:when test="string-length($padVar) &lt; $length">
-      <xsl:call-template name="pad-string">
-        <xsl:with-param name="padChar" select="$padChar"/>
-        <xsl:with-param name="leftRight" select="$leftRight"/>
-        <xsl:with-param name="padVar">
-          <xsl:choose>
-            <!-- * determine whether string should be -->
-            <!-- * right- or left-padded -->
-            <xsl:when test="$leftRight = 'left'">
-              <!-- * pad it to left -->
-              <xsl:value-of select="concat($padChar,$padVar)"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <!-- * otherwise, right-pad the string -->
-              <xsl:value-of select="concat($padVar,$padChar)"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-        <xsl:with-param name="length" select="$length"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of 
-        select="substring($padVar,string-length($padVar) - $length + 1)"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/zh_cn.xml
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/zh_cn.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,698 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="zh_cn" english-language-name="Chinese Simplified">
-
-<!-- * This file is generated automatically. -->
-<!-- * To submit changes to this file upstream (to the DocBook Project) -->
-<!-- * do not submit an edited version of this file. Instead, submit an -->
-<!-- * edited version of the source file at the following location: -->
-<!-- * -->
-<!-- *  https://svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/zh_cn.xml -->
-<!-- * -->
-<!-- * E-mail the edited zh_cn.xml source file to: -->
-<!-- * -->
-<!-- *  docbook-developers@lists.sourceforge.net -->
-
-<!-- ******************************************************************** -->
-
-<!-- This file is part of the XSL DocBook Stylesheet distribution. -->
-<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->
-<!-- copyright and other information. -->
-
-<!-- ******************************************************************** -->
-<!-- In these files, % with a letter is used for a placeholder: -->
-<!--   %t is the current element's title -->
-<!--   %s is the current element's subtitle (if applicable)-->
-<!--   %n is the current element's number label-->
-<!--   %p is the current element's page number (if applicable)-->
-<!-- ******************************************************************** -->
-
-
-<l:gentext key="Abstract" text="æèŠ"/>
-<l:gentext key="abstract" text="æèŠ"/>
-<l:gentext key="Answer" text="ç­ïŒ"/>
-<l:gentext key="answer" text="ç­ïŒ"/>
-<l:gentext key="Appendix" text="éåœ"/>
-<l:gentext key="appendix" text="éåœ"/>
-<l:gentext key="Article" text="æç« "/>
-<l:gentext key="article" text="æç« "/>
-<l:gentext key="Author" text="Author" lang="en"/>
-<l:gentext key="Bibliography" text="åèä¹Šç®"/>
-<l:gentext key="bibliography" text="åèä¹Šç®"/>
-<l:gentext key="Book" text="ä¹Š"/>
-<l:gentext key="book" text="ä¹Š"/>
-<l:gentext key="CAUTION" text="å°å¿"/>
-<l:gentext key="Caution" text="å°å¿"/>
-<l:gentext key="caution" text="å°å¿"/>
-<l:gentext key="Chapter" text="ç« "/>
-<l:gentext key="chapter" text="ç« "/>
-<l:gentext key="Colophon" text="Colophon"/>
-<l:gentext key="colophon" text="Colophon"/>
-<l:gentext key="Copyright" text="çæ"/>
-<l:gentext key="copyright" text="çæ"/>
-<l:gentext key="Dedication" text="é¢è¯"/>
-<l:gentext key="dedication" text="é¢è¯"/>
-<l:gentext key="Edition" text="ç"/>
-<l:gentext key="edition" text="ç"/>
-<l:gentext key="Editor" text="çŒè
-"/>
-<l:gentext key="Equation" text="å
-¬åŒ"/>
-<l:gentext key="equation" text="å
-¬åŒ"/>
-<l:gentext key="Example" text="äŸ"/>
-<l:gentext key="example" text="äŸ"/>
-<l:gentext key="Figure" text="åŸ"/>
-<l:gentext key="figure" text="åŸ"/>
-<l:gentext key="Glossary" text="æ¯è¯­è¡š"/>
-<l:gentext key="glossary" text="æ¯è¯­è¡š"/>
-<l:gentext key="GlossSee" text="è§"/>
-<l:gentext key="glosssee" text="è§"/>
-<l:gentext key="GlossSeeAlso" text="åè§"/>
-<l:gentext key="glossseealso" text="åè§"/>
-<l:gentext key="IMPORTANT" text="éèŠ"/>
-<l:gentext key="important" text="éèŠ"/>
-<l:gentext key="Important" text="éèŠ"/>
-<l:gentext key="Index" text="çŽ¢åŒ"/>
-<l:gentext key="index" text="çŽ¢åŒ"/>
-<l:gentext key="ISBN" text="ISBN"/>
-<l:gentext key="isbn" text="ISBN"/>
-<l:gentext key="LegalNotice" text="æ³åŸéå"/>
-<l:gentext key="legalnotice" text="æ³åŸéå"/>
-<l:gentext key="MsgAud" text="åäŒ"/>
-<l:gentext key="msgaud" text="åäŒ"/>
-<l:gentext key="MsgLevel" text="çº§å«"/>
-<l:gentext key="msglevel" text="çº§å«"/>
-<l:gentext key="MsgOrig" text="åºå€"/>
-<l:gentext key="msgorig" text="åºå€"/>
-<l:gentext key="NOTE" text="æ³šæ"/>
-<l:gentext key="Note" text="æ³šæ"/>
-<l:gentext key="note" text="æ³šæ"/>
-<l:gentext key="Part" text="éšå"/>
-<l:gentext key="part" text="éšå"/>
-<l:gentext key="Preface" text="åèš"/>
-<l:gentext key="preface" text="åèš"/>
-<l:gentext key="Procedure" text="è¿çš"/>
-<l:gentext key="procedure" text="è¿çš"/>
-<l:gentext key="ProductionSet" text="äº§å"/>
-<l:gentext key="PubDate" text="åºçæ¥æ"/>
-<l:gentext key="pubdate" text="åºçæ¥æ"/>
-<l:gentext key="Published" text="åºçæ¹"/>
-<l:gentext key="published" text="åºçæ¹"/>
-<l:gentext key="Publisher" text="åºçè
-"/>
-<l:gentext key="Qandadiv" text="èŽšä¿"/>
-<l:gentext key="qandadiv" text="èŽšä¿"/>
-<l:gentext key="QandASet" text="åžžè§é®é¢"/>
-<l:gentext key="Question" text="é®ïŒ"/>
-<l:gentext key="question" text="é®ïŒ"/>
-<l:gentext key="RefEntry" text=""/>
-<l:gentext key="refentry" text=""/>
-<l:gentext key="Reference" text="åè"/>
-<l:gentext key="reference" text="åè"/>
-<l:gentext key="References" text="åè"/>
-<l:gentext key="RefName" text="åç§°"/>
-<l:gentext key="refname" text="åç§°"/>
-<l:gentext key="RefSection" text=""/>
-<l:gentext key="refsection" text=""/>
-<l:gentext key="RefSynopsisDiv" text="å€§çº²"/>
-<l:gentext key="refsynopsisdiv" text="å€§çº²"/>
-<l:gentext key="RevHistory" text="ä¿®è®¢åå²"/>
-<l:gentext key="revhistory" text="ä¿®è®¢åå²"/>
-<l:gentext key="revision" text="ä¿®è®¢"/>
-<l:gentext key="Revision" text="ä¿®è®¢"/>
-<l:gentext key="sect1" text="è"/>
-<l:gentext key="sect2" text="è"/>
-<l:gentext key="sect3" text="è"/>
-<l:gentext key="sect4" text="è"/>
-<l:gentext key="sect5" text="è"/>
-<l:gentext key="section" text="è"/>
-<l:gentext key="Section" text="è"/>
-<l:gentext key="see" text="è§"/>
-<l:gentext key="See" text="è§"/>
-<l:gentext key="seealso" text="åè§"/>
-<l:gentext key="Seealso" text="åè§"/>
-<l:gentext key="SeeAlso" text="åè§"/>
-<l:gentext key="set" text="Set"/>
-<l:gentext key="Set" text="Set"/>
-<l:gentext key="setindex" text="Set Index"/>
-<l:gentext key="SetIndex" text="Set Index"/>
-<l:gentext key="Sidebar" text=""/>
-<l:gentext key="sidebar" text="sidebar"/>
-<l:gentext key="step" text="æ­¥éª€"/>
-<l:gentext key="Step" text="æ­¥éª€"/>
-<l:gentext key="table" text="è¡š"/>
-<l:gentext key="Table" text="è¡š"/>
-<l:gentext key="task" text="ä»»å¡"/>
-<l:gentext key="Task" text="ä»»å¡"/>
-<l:gentext key="tip" text="æç€º"/>
-<l:gentext key="TIP" text="æç€º"/>
-<l:gentext key="Tip" text="æç€º"/>
-<l:gentext key="Warning" text="è­Šå"/>
-<l:gentext key="warning" text="è­Šå"/>
-<l:gentext key="WARNING" text="è­Šå"/>
-<l:gentext key="and" text="å"/>
-<l:gentext key="by" text="ç±"/>
-<l:gentext key="Edited" text="çŒèŸæ¶éŽ"/>
-<l:gentext key="edited" text="çŒèŸæ¶éŽ"/>
-<l:gentext key="Editedby" text="çŒèŸè
-"/>
-<l:gentext key="editedby" text="çŒèŸè
-"/>
-<l:gentext key="in" text="äº"/>
-<l:gentext key="lastlistcomma" text=""/>
-<l:gentext key="listcomma" text="ã"/>
-<l:gentext key="nonexistantelement" text="äžå­åšçå
-çŽ "/>
-<l:gentext key="notes" text="å€æ³š"/>
-<l:gentext key="Notes" text="å€æ³š"/>
-<l:gentext key="Pgs" text="é¡µ"/>
-<l:gentext key="pgs" text="é¡µ"/>
-<l:gentext key="Revisedby" text="ä¿®è®¢è
-ïŒ"/>
-<l:gentext key="revisedby" text="ä¿®è®¢è
-ïŒ"/>
-<l:gentext key="TableNotes" text="è¡šæ³š"/>
-<l:gentext key="tablenotes" text="è¡šæ³š"/>
-<l:gentext key="TableofContents" text="ç®åœ"/>
-<l:gentext key="tableofcontents" text="ç®åœ"/>
-<l:gentext key="unexpectedelementname" text="æªé¢æçåç§°"/>
-<l:gentext key="unsupported" text="äžæ¯æ"/>
-<l:gentext key="xrefto" text="xref to"/>
-<l:gentext key="Authors" text="äœè
-"/>
-<l:gentext key="copyeditor" text="çæçŒèŸ"/>
-<l:gentext key="graphicdesigner" text="çŸæ¯çŒèŸ"/>
-<l:gentext key="productioneditor" text="äº§åçŒèŸ"/>
-<l:gentext key="technicaleditor" text="ææ¯çŒèŸ"/>
-<l:gentext key="translator" text="è¯è
-"/>
-<l:gentext key="listofequations" text="å
-¬åŒæž
-å"/>
-<l:gentext key="ListofEquations" text="å
-¬åŒæž
-å"/>
-<l:gentext key="ListofExamples" text="èäŸæž
-å"/>
-<l:gentext key="listofexamples" text="èäŸæž
-å"/>
-<l:gentext key="ListofFigures" text="æåŸæž
-å"/>
-<l:gentext key="listoffigures" text="æåŸæž
-å"/>
-<l:gentext key="ListofProcedures" text="è¿çšæž
-å"/>
-<l:gentext key="listofprocedures" text="è¿çšæž
-å"/>
-<l:gentext key="listoftables" text="è¡šæ Œæž
-å"/>
-<l:gentext key="ListofTables" text="è¡šæ Œæž
-å"/>
-<l:gentext key="ListofUnknown" text="æªç¥æž
-å"/>
-<l:gentext key="listofunknown" text="æªç¥æž
-å"/>
-<l:gentext key="nav-home" text="èµ·å§é¡µ"/>
-<l:gentext key="nav-next" text="äžäžé¡µ"/>
-<l:gentext key="nav-next-sibling" text="å¿«è¿"/>
-<l:gentext key="nav-prev" text="äžäžé¡µ"/>
-<l:gentext key="nav-prev-sibling" text="å¿«é"/>
-<l:gentext key="nav-up" text="äžäžçº§"/>
-<l:gentext key="nav-toc" text="ç®åœ"/>
-<l:gentext key="Draft" text="èçš¿"/>
-<l:gentext key="above" text="ä»¥äž"/>
-<l:gentext key="below" text="ä»¥äž"/>
-<l:gentext key="sectioncalled" text="äžè"/>
-<l:gentext key="index symbols" text="ç¬Šå·"/>
-<l:gentext key="lowercase.alpha" text="abcdefghijklmnopqrstuvwxyz"/>
-<l:gentext key="uppercase.alpha" text="ABCDEFGHIJKLMNOPQRSTUVWXYZ"/>
-<l:gentext key="normalize.sort.input" text="AaÃÃ ÃÃ¡ÃÃ¢ÃÃ£ÃÃ€Ã
-Ã¥ÄÄÄÄÄÄ
-ÇÇÇÇÇ Ç¡ÇºÇ»ÈÈÈÈÈŠÈ§ážážáºáº áº¡áº¢áº£áº€áº¥áºŠáº§áºšáº©áºªáº«áº¬áº­áº®áº¯áº°áº±áº²áº³áºŽáºµáº¶áº·BbÆÆÉÆÆážážážáž
-ážážCcÃÃ§ÄÄÄÄÄÄÄÄÆÆÉážážDdÄÄÄÄÆÉÆÆÇ
-Ç²È¡ÉážážážážážážážážážážEeÃÃšÃÃ©ÃÃªÃÃ«ÄÄÄÄÄÄÄÄÄÄÈÈ
-ÈÈÈšÈ©ážážážážážážážážážážáºžáº¹áººáº»áºŒáºœáºŸáº¿á»á»á»á»á»á»
-á»á»FfÆÆážážGgÄÄÄÄÄ Ä¡Ä¢Ä£ÆÉ Ç€Ç¥ÇŠÇ§ÇŽÇµáž áž¡HhÄ€Ä¥ÄŠÄ§ÈÈÉŠáž¢áž£áž€áž¥ážŠáž§ážšáž©ážªáž«áºIiÃÃ¬ÃÃ­ÃÃ®ÃÃ¯ÄšÄ©ÄªÄ«Ä¬Ä­Ä®Ä¯Ä°ÆÉšÇÇÈÈÈÈáž¬áž­áž®áž¯á»á»á»á»JjÄŽÄµÇ°ÊKkÄ¶Ä·ÆÆÇšÇ©áž°áž±áž²áž³ážŽážµLlÄ¹ÄºÄ»ÄŒÄœÄŸÄ¿ÅÅÅÆÇÈŽÉ«É¬É­áž¶áž·ážžáž¹ážºáž»ážŒážœMmÉ±ážŸáž¿á¹á¹á¹á¹NnÃÃ±ÅÅÅ
-ÅÅÅÆÉ²ÆÈ ÇÇžÇ¹ÈµÉ³á¹á¹
-á¹á¹á¹á¹á¹á¹OoÃÃ²ÃÃ³ÃÃŽÃÃµÃÃ¶ÃÃžÅÅÅÅÅÅÆÆ Æ¡ÇÇÇªÇ«Ç¬Ç­ÇŸÇ¿ÈÈÈÈÈªÈ«È¬È­È®È¯È°È±á¹á¹á¹á¹á¹á¹á¹á¹á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á» á»¡á»¢á»£PpÆ€Æ¥á¹á¹á¹á¹QqÊ RrÅÅÅÅÅÅÈÈÈÈÉŒÉœÉŸá¹á¹á¹á¹á¹á¹á¹á¹SsÅÅÅÅÅÅÅ Å¡ÈÈÊá¹ á¹¡á¹¢á¹£á¹€á¹¥á¹Šá¹§á¹šá¹©TtÅ¢Å£Å€Å¥ÅŠÅ§Æ«Æ¬Æ­Æ®ÊÈÈÈ¶á¹ªá¹«á¹¬á¹­á¹®á¹¯á¹°á¹±áºUuÃÃ¹ÃÃºÃÃ»ÃÃŒÅšÅ©ÅªÅ«Å¬Å­Å®Å¯Å°Å±Å²Å³Æ¯Æ°ÇÇÇÇÇÇÇÇÇÇÈÈÈÈá¹²á¹³á¹Žá¹µá¹¶á¹·á¹žá¹¹á¹ºá¹»á»€á»¥á»Šá»§á»šá»©á»ªá»«á»¬á»­á»®á»¯á»°á»±VvÆ²Êá¹Œá¹œá¹Ÿá¹¿WwÅŽÅµáºáºáºáºáºáº
-áºáºáºáºáºXxáºáºáºáºYyÃÃœÃ¿ÅžÅ¶Å·Æ³ÆŽÈ²È³áºáºáºá»²á»³á»Žá»µá»¶á»·á»žá»¹ZzÅ¹ÅºÅ»ÅŒÅœÅŸÆµÆ¶È€È¥ÊÊáºáºáºáºáºáºáº" lang="en"/>
-<l:gentext key="normalize.sort.output" text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ" lang="en"/>
-<l:dingbat key="startquote" text="â"/>
-<l:dingbat key="endquote" text="â"/>
-<l:dingbat key="nestedstartquote" text="â"/>
-<l:dingbat key="nestedendquote" text="â"/>
-<l:dingbat key="singlestartquote" text="â"/>
-<l:dingbat key="singleendquote" text="â"/>
-<l:dingbat key="bullet" text="Â·"/>
-<l:gentext key="hyphenation-character" text="-"/>
-<l:gentext key="hyphenation-push-character-count" text="2"/>
-<l:gentext key="hyphenation-remain-character-count" text="2"/>
-<l:context name="styles"><l:template name="person-name" text="first-last"/>
-</l:context>
-<l:context name="title"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="%t"/>
-<l:template name="appendix" text="éåœÂ %n.Â %t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="biblioentry" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliolist" text="%t"/>
-<l:template name="bibliomixed" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="ç¬¬Â %nÂ ç« Â %t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="å
-¬åŒÂ %n.Â %t"/>
-<l:template name="example" text="äŸÂ %n.Â %t"/>
-<l:template name="figure" text="åŸÂ %n.Â %t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="glosslist" text="%t"/>
-<l:template name="glossentry" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text=""/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="ç¬¬Â %nÂ éšåÂ %t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="procedure.formal" text="è¿çšÂ %n.Â %t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="productionset.formal" text="äº§åÂ %n"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="%t"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="%t"/>
-<l:template name="refentry" text="%t"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsection" text="%t"/>
-<l:template name="refsect1" text="%t"/>
-<l:template name="refsect2" text="%t"/>
-<l:template name="refsect3" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="refsynopsisdivinfo" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="step" text="%t"/>
-<l:template name="table" text="è¡šÂ %n.Â %t"/>
-<l:template name="task" text="%t"/>
-<l:template name="tasksummary" text="%t" lang="en"/>
-<l:template name="taskprerequisites" text="%t" lang="en"/>
-<l:template name="taskrelated" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text=""/>
-<l:template name="warning" text="%t"/>
-</l:context>
-<l:context name="title-unnumbered"><l:template name="appendix" text="%t"/>
-<l:template name="article/appendix" text="%t"/>
-<l:template name="bridgehead" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="sect1" text="%t"/>
-<l:template name="sect2" text="%t"/>
-<l:template name="sect3" text="%t"/>
-<l:template name="sect4" text="%t"/>
-<l:template name="sect5" text="%t"/>
-<l:template name="section" text="%t"/>
-<l:template name="simplesect" text="%t"/>
-<l:template name="part" text="%t" lang="en"/>
-</l:context>
-<l:context name="title-numbered"><l:template name="appendix" text="éåœÂ %n.Â %t"/>
-<l:template name="article/appendix" text="%n.Â %t"/>
-<l:template name="bridgehead" text="%n.Â %t"/>
-<l:template name="chapter" text="ç¬¬Â %nÂ ç« Â %t"/>
-<l:template name="part" text="éšåÂ %n.Â %t"/>
-<l:template name="sect1" text="%n.Â %t"/>
-<l:template name="sect2" text="%n.Â %t"/>
-<l:template name="sect3" text="%n.Â %t"/>
-<l:template name="sect4" text="%n.Â %t"/>
-<l:template name="sect5" text="%n.Â %t"/>
-<l:template name="section" text="%n.Â %t"/>
-<l:template name="simplesect" text="%t"/>
-</l:context>
-<l:context name="subtitle"><l:template name="appendix" text="%s"/>
-<l:template name="article" text="%s"/>
-<l:template name="bibliodiv" text="%s"/>
-<l:template name="biblioentry" text="%s"/>
-<l:template name="bibliography" text="%s"/>
-<l:template name="bibliomixed" text="%s"/>
-<l:template name="bibliomset" text="%s"/>
-<l:template name="biblioset" text="%s"/>
-<l:template name="book" text="%s"/>
-<l:template name="chapter" text="%s"/>
-<l:template name="colophon" text="%s"/>
-<l:template name="dedication" text="%s"/>
-<l:template name="glossary" text="%s"/>
-<l:template name="glossdiv" text="%s"/>
-<l:template name="index" text="%s"/>
-<l:template name="indexdiv" text="%s"/>
-<l:template name="lot" text="%s"/>
-<l:template name="part" text="%s"/>
-<l:template name="partintro" text="%s"/>
-<l:template name="preface" text="%s"/>
-<l:template name="refentry" text="%s"/>
-<l:template name="reference" text="%s"/>
-<l:template name="refsection" text="%s"/>
-<l:template name="refsect1" text="%s"/>
-<l:template name="refsect2" text="%s"/>
-<l:template name="refsect3" text="%s"/>
-<l:template name="refsynopsisdiv" text="%s"/>
-<l:template name="sect1" text="%s"/>
-<l:template name="sect2" text="%s"/>
-<l:template name="sect3" text="%s"/>
-<l:template name="sect4" text="%s"/>
-<l:template name="sect5" text="%s"/>
-<l:template name="section" text="%s"/>
-<l:template name="set" text="%s"/>
-<l:template name="setindex" text="%s"/>
-<l:template name="sidebar" text="%s"/>
-<l:template name="simplesect" text="%s"/>
-<l:template name="toc" text="%s"/>
-</l:context>
-<l:context name="xref"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="ç­ïŒÂ %n"/>
-<l:template name="appendix" text="%t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="constraintdef" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="%t"/>
-<l:template name="example" text="%t"/>
-<l:template name="figure" text="%t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text="%n"/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="%t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="é®ïŒÂ %n"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="é®ïŒÂ %n"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="table" text="%t"/>
-<l:template name="task" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text="%n"/>
-<l:template name="warning" text="%t"/>
-<l:template name="olink.document.citation" text=" in %o" lang="en"/>
-<l:template name="olink.page.citation" text=" (page %p)" lang="en"/>
-<l:template name="page.citation" text=" [%p]"/>
-<l:template name="page" text="(ç¬¬ %p é¡µ)"/>
-<l:template name="docname" text=" in %o" lang="en"/>
-<l:template name="docnamelong" text=" in the document titled %o" lang="en"/>
-<l:template name="pageabbrev" text="(ç¬¬ %p é¡µ)"/>
-<l:template name="Page" text="ç¬¬ %p é¡µ"/>
-<l:template name="bridgehead" text="â%tâäžè"/>
-<l:template name="refsection" text="â%tâäžè"/>
-<l:template name="refsect1" text="â%tâäžè"/>
-<l:template name="refsect2" text="â%tâäžè"/>
-<l:template name="refsect3" text="â%tâäžè"/>
-<l:template name="sect1" text="â%tâäžè"/>
-<l:template name="sect2" text="â%tâäžè"/>
-<l:template name="sect3" text="â%tâäžè"/>
-<l:template name="sect4" text="â%tâäžè"/>
-<l:template name="sect5" text="â%tâäžè"/>
-<l:template name="section" text="â%tâäžè"/>
-<l:template name="simplesect" text="â%tâäžè"/>
-</l:context>
-<l:context name="xref-number"><l:template name="answer" text="ç­ïŒÂ %n"/>
-<l:template name="appendix" text="éåœÂ %n"/>
-<l:template name="bridgehead" text="ç¬¬Â %nÂ è"/>
-<l:template name="chapter" text="ç¬¬Â %nÂ ç« "/>
-<l:template name="equation" text="å
-¬åŒÂ %n"/>
-<l:template name="example" text="äŸÂ %n"/>
-<l:template name="figure" text="åŸÂ %n"/>
-<l:template name="part" text="ç¬¬Â %nÂ éšå"/>
-<l:template name="procedure" text="è¿çšÂ %n"/>
-<l:template name="productionset" text="äº§åÂ %n"/>
-<l:template name="qandadiv" text="èŽšä¿Â %n"/>
-<l:template name="qandaentry" text="é®ïŒÂ %n"/>
-<l:template name="question" text="é®ïŒÂ %n"/>
-<l:template name="sect1" text="ç¬¬Â %nÂ è"/>
-<l:template name="sect2" text="ç¬¬Â %nÂ è"/>
-<l:template name="sect3" text="ç¬¬Â %nÂ è"/>
-<l:template name="sect4" text="ç¬¬Â %nÂ è"/>
-<l:template name="sect5" text="ç¬¬Â %nÂ è"/>
-<l:template name="section" text="ç¬¬Â %nÂ è"/>
-<l:template name="table" text="è¡šÂ %n"/>
-</l:context>
-<l:context name="xref-number-and-title"><l:template name="appendix" text="éåœÂ %n, %t"/>
-<l:template name="bridgehead" text="ç¬¬Â %nÂ è â%tâ"/>
-<l:template name="chapter" text="ç¬¬Â %nÂ ç«  %t"/>
-<l:template name="equation" text="å
-¬åŒÂ %n â%tâ"/>
-<l:template name="example" text="äŸÂ %n â%tâ"/>
-<l:template name="figure" text="åŸÂ %n â%tâ"/>
-<l:template name="part" text="ç¬¬Â %nÂ éšå â%tâ"/>
-<l:template name="procedure" text="è¿çšÂ %n, â%tâ"/>
-<l:template name="productionset" text="äº§åÂ %n, â%tâ"/>
-<l:template name="qandadiv" text="èŽšä¿Â %n, â%tâ"/>
-<l:template name="refsect1" text="â%tâäžè"/>
-<l:template name="refsect2" text="â%tâäžè"/>
-<l:template name="refsect3" text="â%tâäžè"/>
-<l:template name="refsection" text="â%tâäžè"/>
-<l:template name="sect1" text="ç¬¬Â %nÂ è â%tâ"/>
-<l:template name="sect2" text="ç¬¬Â %nÂ è â%tâ"/>
-<l:template name="sect3" text="ç¬¬Â %nÂ è â%tâ"/>
-<l:template name="sect4" text="ç¬¬Â %nÂ è â%tâ"/>
-<l:template name="sect5" text="ç¬¬Â %nÂ è â%tâ"/>
-<l:template name="section" text="ç¬¬Â %nÂ è â%tâ"/>
-<l:template name="simplesect" text="â%tâäžè"/>
-<l:template name="table" text="è¡šÂ %n â%tâ"/>
-</l:context>
-<l:context name="authorgroup"><l:template name="sep" text="ã"/>
-<l:template name="sep2" text="å"/>
-<l:template name="seplast" text="å"/>
-</l:context>
-<l:context name="glossary"><l:template name="see" text="è§%t"/>
-<l:template name="seealso" text="åè§%t"/>
-</l:context>
-<l:context name="msgset"><l:template name="MsgAud" text="åäŒïŒ"/>
-<l:template name="MsgLevel" text="çº§å«ïŒ"/>
-<l:template name="MsgOrig" text="åºå€ïŒ"/>
-</l:context>
-<l:context name="datetime"><l:template name="format" text="Y-m-d"/>
-</l:context>
-<l:context name="termdef"><l:template name="prefix" text="[Definition: " lang="en"/>
-<l:template name="suffix" text="]" lang="en"/>
-</l:context>
-<l:context name="datetime-full"><l:template name="January" text="äžæ"/>
-<l:template name="February" text="äºæ"/>
-<l:template name="March" text="äžæ"/>
-<l:template name="April" text="åæ"/>
-<l:template name="May" text="äºæ"/>
-<l:template name="June" text="å
-­æ"/>
-<l:template name="July" text="äžæ"/>
-<l:template name="August" text="å
-«æ"/>
-<l:template name="September" text="ä¹æ"/>
-<l:template name="October" text="åæ"/>
-<l:template name="November" text="åäžæ"/>
-<l:template name="December" text="åäºæ"/>
-<l:template name="Monday" text="ææäž"/>
-<l:template name="Tuesday" text="ææäº"/>
-<l:template name="Wednesday" text="ææäž"/>
-<l:template name="Thursday" text="ææå"/>
-<l:template name="Friday" text="ææäº"/>
-<l:template name="Saturday" text="ææå
-­"/>
-<l:template name="Sunday" text="æææ¥"/>
-</l:context>
-<l:context name="datetime-abbrev"><l:template name="Jan" text="äžæ"/>
-<l:template name="Feb" text="äºæ"/>
-<l:template name="Mar" text="äžæ"/>
-<l:template name="Apr" text="åæ"/>
-<l:template name="May" text="äºæ"/>
-<l:template name="Jun" text="å
-­æ"/>
-<l:template name="Jul" text="äžæ"/>
-<l:template name="Aug" text="å
-«æ"/>
-<l:template name="Sep" text="ä¹æ"/>
-<l:template name="Oct" text="åæ"/>
-<l:template name="Nov" text="åäžæ"/>
-<l:template name="Dec" text="åäºæ"/>
-<l:template name="Mon" text="åšäž"/>
-<l:template name="Tue" text="åšäº"/>
-<l:template name="Wed" text="åšäž"/>
-<l:template name="Thu" text="åšå"/>
-<l:template name="Fri" text="åšäº"/>
-<l:template name="Sat" text="åšå
-­"/>
-<l:template name="Sun" text="åšæ¥"/>
-</l:context>
-<l:context name="htmlhelp"><l:template name="langcode" text="0x0804 Chinese (CHINA)"/>
-</l:context>
-<l:context name="index"><l:template name="term-separator" text=", " lang="en"/>
-<l:template name="number-separator" text=", " lang="en"/>
-<l:template name="range-separator" text="-" lang="en"/>
-</l:context>
-<l:context name="iso690"><l:template name="lastfirst.sep" text=", " lang="en"/>
-<l:template name="alt.person.two.sep" text=" â " lang="en"/>
-<l:template name="alt.person.last.sep" text=" â " lang="en"/>
-<l:template name="alt.person.more.sep" text=" â " lang="en"/>
-<l:template name="primary.editor" text=" (ed.)" lang="en"/>
-<l:template name="primary.many" text=", et al." lang="en"/>
-<l:template name="primary.sep" text=". " lang="en"/>
-<l:template name="submaintitle.sep" text=": " lang="en"/>
-<l:template name="title.sep" text=". " lang="en"/>
-<l:template name="othertitle.sep" text=", " lang="en"/>
-<l:template name="medium1" text=" [" lang="en"/>
-<l:template name="medium2" text="]" lang="en"/>
-<l:template name="secondary.person.sep" text="; " lang="en"/>
-<l:template name="secondary.sep" text=". " lang="en"/>
-<l:template name="respons.sep" text=". " lang="en"/>
-<l:template name="edition.sep" text=". " lang="en"/>
-<l:template name="edition.serial.sep" text=", " lang="en"/>
-<l:template name="issuing.range" text="-" lang="en"/>
-<l:template name="issuing.div" text=", " lang="en"/>
-<l:template name="issuing.sep" text=". " lang="en"/>
-<l:template name="partnr.sep" text=". " lang="en"/>
-<l:template name="placepubl.sep" text=": " lang="en"/>
-<l:template name="publyear.sep" text=", " lang="en"/>
-<l:template name="pubinfo.sep" text=". " lang="en"/>
-<l:template name="spec.pubinfo.sep" text=", " lang="en"/>
-<l:template name="upd.sep" text=", " lang="en"/>
-<l:template name="datecit1" text=" [cited " lang="en"/>
-<l:template name="datecit2" text="]" lang="en"/>
-<l:template name="extent.sep" text=". " lang="en"/>
-<l:template name="locs.sep" text=", " lang="en"/>
-<l:template name="location.sep" text=". " lang="en"/>
-<l:template name="serie.sep" text=". " lang="en"/>
-<l:template name="notice.sep" text=". " lang="en"/>
-<l:template name="access" text="Available " lang="en"/>
-<l:template name="acctoo" text="Also available " lang="en"/>
-<l:template name="onwww" text="from World Wide Web" lang="en"/>
-<l:template name="oninet" text="from Internet" lang="en"/>
-<l:template name="access.end" text=": " lang="en"/>
-<l:template name="link1" text="&lt;" lang="en"/>
-<l:template name="link2" text="&gt;" lang="en"/>
-<l:template name="access.sep" text=". " lang="en"/>
-<l:template name="isbn" text="ISBN " lang="en"/>
-<l:template name="issn" text="ISSN " lang="en"/>
-<l:template name="stdnum.sep" text=". " lang="en"/>
-<l:template name="patcountry.sep" text=". " lang="en"/>
-<l:template name="pattype.sep" text=", " lang="en"/>
-<l:template name="patnum.sep" text=". " lang="en"/>
-<l:template name="patdate.sep" text=". " lang="en"/>
-</l:context><l:letters><l:l i="-1"/>
-<l:l i="0">å
-¶å®</l:l>
-<l:l i="10">A</l:l>
-<l:l i="10">a</l:l>
-<l:l i="20">B</l:l>
-<l:l i="20">b</l:l>
-<l:l i="30">C</l:l>
-<l:l i="30">c</l:l>
-<l:l i="40">D</l:l>
-<l:l i="40">d</l:l>
-<l:l i="50">E</l:l>
-<l:l i="50">e</l:l>
-<l:l i="60">F</l:l>
-<l:l i="60">f</l:l>
-<l:l i="70">G</l:l>
-<l:l i="70">g</l:l>
-<l:l i="80">H</l:l>
-<l:l i="80">h</l:l>
-<l:l i="90">I</l:l>
-<l:l i="90">i</l:l>
-<l:l i="100">J</l:l>
-<l:l i="100">j</l:l>
-<l:l i="110">K</l:l>
-<l:l i="110">k</l:l>
-<l:l i="120">L</l:l>
-<l:l i="120">l</l:l>
-<l:l i="130">M</l:l>
-<l:l i="130">m</l:l>
-<l:l i="140">N</l:l>
-<l:l i="140">n</l:l>
-<l:l i="150">O</l:l>
-<l:l i="150">o</l:l>
-<l:l i="160">P</l:l>
-<l:l i="160">p</l:l>
-<l:l i="170">Q</l:l>
-<l:l i="170">q</l:l>
-<l:l i="180">R</l:l>
-<l:l i="180">r</l:l>
-<l:l i="190">S</l:l>
-<l:l i="190">s</l:l>
-<l:l i="200">T</l:l>
-<l:l i="200">t</l:l>
-<l:l i="210">U</l:l>
-<l:l i="210">u</l:l>
-<l:l i="220">V</l:l>
-<l:l i="220">v</l:l>
-<l:l i="230">W</l:l>
-<l:l i="230">w</l:l>
-<l:l i="240">X</l:l>
-<l:l i="240">x</l:l>
-<l:l i="250">Y</l:l>
-<l:l i="250">y</l:l>
-<l:l i="260">Z</l:l>
-<l:l i="260">z</l:l>
-</l:letters>
-</l:l10n>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/zh_tw.xml
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/common/zh_tw.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1262 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="zh_tw" english-language-name="Chinese (Taiwan)">
-
-<!-- * This file is generated automatically. -->
-<!-- * To submit changes to this file upstream (to the DocBook Project) -->
-<!-- * do not submit an edited version of this file. Instead, submit an -->
-<!-- * edited version of the source file at the following location: -->
-<!-- * -->
-<!-- *  https://svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/zh_tw.xml -->
-<!-- * -->
-<!-- * E-mail the edited zh_tw.xml source file to: -->
-<!-- * -->
-<!-- *  docbook-developers@lists.sourceforge.net -->
-
-<!-- ******************************************************************** -->
-
-<!-- This file is part of the XSL DocBook Stylesheet distribution. -->
-<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->
-<!-- copyright and other information. -->
-
-<!-- ******************************************************************** -->
-<!-- In these files, % with a letter is used for a placeholder: -->
-<!--   %t is the current element's title -->
-<!--   %s is the current element's subtitle (if applicable)-->
-<!--   %n is the current element's number label-->
-<!--   %p is the current element's page number (if applicable)-->
-<!-- ******************************************************************** -->
-
-
-<l:gentext key="Abstract" text="æèŠ"/>
-<l:gentext key="abstract" text="æèŠ"/>
-<l:gentext key="Answer" text="ç­ïŒ"/>
-<l:gentext key="answer" text="ç­ïŒ"/>
-<l:gentext key="Appendix" text="éé"/>
-<l:gentext key="appendix" text="éé"/>
-<l:gentext key="Article" text="æç« "/>
-<l:gentext key="article" text="æç« "/>
-<l:gentext key="Author" text="Author" lang="en"/>
-<l:gentext key="Bibliography" text="åèæç»"/>
-<l:gentext key="bibliography" text="åèæç»"/>
-<l:gentext key="Book" text="æžç®"/>
-<l:gentext key="book" text="æžç®"/>
-<l:gentext key="CAUTION" text="æ³šæ"/>
-<l:gentext key="Caution" text="æ³šæ"/>
-<l:gentext key="caution" text="æ³šæ"/>
-<l:gentext key="Chapter" text="ç« "/>
-<l:gentext key="chapter" text="ç« "/>
-<l:gentext key="Colophon" text="çæ¬èšé"/>
-<l:gentext key="colophon" text="çæ¬èšé"/>
-<l:gentext key="Copyright" text="çæ¬"/>
-<l:gentext key="copyright" text="çæ¬"/>
-<l:gentext key="Dedication" text="å¥ç»"/>
-<l:gentext key="dedication" text="å¥ç»"/>
-<l:gentext key="Edition" text="ç"/>
-<l:gentext key="edition" text="ç"/>
-<l:gentext key="Editor" text="Editor" lang="en"/>
-<l:gentext key="Equation" text="æ¹çšåŒ"/>
-<l:gentext key="equation" text="æ¹çšåŒ"/>
-<l:gentext key="Example" text="ç¯äŸ"/>
-<l:gentext key="example" text="ç¯äŸ"/>
-<l:gentext key="Figure" text="ååœ¢"/>
-<l:gentext key="figure" text="ååœ¢"/>
-<l:gentext key="Glossary" text="å°èŸ­åœ"/>
-<l:gentext key="glossary" text="å°èŸ­åœ"/>
-<l:gentext key="GlossSee" text="åèŠ"/>
-<l:gentext key="glosssee" text="åèŠ"/>
-<l:gentext key="GlossSeeAlso" text="åŠåèŠ"/>
-<l:gentext key="glossseealso" text="åŠåèŠ"/>
-<l:gentext key="IMPORTANT" text="éèŠ"/>
-<l:gentext key="important" text="éèŠ"/>
-<l:gentext key="Important" text="éèŠ"/>
-<l:gentext key="Index" text="çŽ¢åŒ"/>
-<l:gentext key="index" text="çŽ¢åŒ"/>
-<l:gentext key="ISBN" text="ISBN"/>
-<l:gentext key="isbn" text="ISBN"/>
-<l:gentext key="LegalNotice" text="æ³åŸè²æ"/>
-<l:gentext key="legalnotice" text="æ³åŸè²æ"/>
-<l:gentext key="MsgAud" text="è®è
-"/>
-<l:gentext key="msgaud" text="è®è
-"/>
-<l:gentext key="MsgLevel" text="çšåºŠ"/>
-<l:gentext key="msglevel" text="çšåºŠ"/>
-<l:gentext key="MsgOrig" text="åºè"/>
-<l:gentext key="msgorig" text="åºè"/>
-<l:gentext key="NOTE" text="æ³š"/>
-<l:gentext key="Note" text="æ³š"/>
-<l:gentext key="note" text="æ³š"/>
-<l:gentext key="Part" text="éš"/>
-<l:gentext key="part" text="éš"/>
-<l:gentext key="Preface" text="åºèš"/>
-<l:gentext key="preface" text="åºèš"/>
-<l:gentext key="Procedure" text="éçš"/>
-<l:gentext key="procedure" text="éçš"/>
-<l:gentext key="ProductionSet" text="Production"/>
-<l:gentext key="PubDate" text="Publication Date" lang="en"/>
-<l:gentext key="pubdate" text="Publication date" lang="en"/>
-<l:gentext key="Published" text="åºç"/>
-<l:gentext key="published" text="åºç"/>
-<l:gentext key="Publisher" text="Publisher" lang="en"/>
-<l:gentext key="Qandadiv" text="åïŒäžç­ïŒ"/>
-<l:gentext key="qandadiv" text="åïŒäžç­ïŒ"/>
-<l:gentext key="QandASet" text="Frequently Asked Questions" lang="en"/>
-<l:gentext key="Question" text="åïŒ"/>
-<l:gentext key="question" text="åïŒ"/>
-<l:gentext key="RefEntry" text="åç
-§é 
-ç®"/>
-<l:gentext key="refentry" text="åç
-§é 
-ç®"/>
-<l:gentext key="Reference" text="åè"/>
-<l:gentext key="reference" text="åè"/>
-<l:gentext key="References" text="References" lang="en"/>
-<l:gentext key="RefName" text="åèå"/>
-<l:gentext key="refname" text="åèå"/>
-<l:gentext key="RefSection" text="åç
-§ç« ç¯"/>
-<l:gentext key="refsection" text="åç
-§ç« ç¯"/>
-<l:gentext key="RefSynopsisDiv" text="å€§ç¶±"/>
-<l:gentext key="refsynopsisdiv" text="å€§ç¶±"/>
-<l:gentext key="RevHistory" text="ä¿®èšèšé"/>
-<l:gentext key="revhistory" text="ä¿®èšèšé"/>
-<l:gentext key="revision" text="ä¿®èš"/>
-<l:gentext key="Revision" text="ä¿®èš"/>
-<l:gentext key="sect1" text="Section"/>
-<l:gentext key="sect2" text="Section"/>
-<l:gentext key="sect3" text="Section"/>
-<l:gentext key="sect4" text="Section"/>
-<l:gentext key="sect5" text="Section"/>
-<l:gentext key="section" text="ç¯"/>
-<l:gentext key="Section" text="ç¯"/>
-<l:gentext key="see" text="èŠ"/>
-<l:gentext key="See" text="èŠ"/>
-<l:gentext key="seealso" text="åŠèŠ"/>
-<l:gentext key="Seealso" text="åŠèŠ"/>
-<l:gentext key="SeeAlso" text="åŠèŠ"/>
-<l:gentext key="set" text="Set"/>
-<l:gentext key="Set" text="Set"/>
-<l:gentext key="setindex" text="Set Index"/>
-<l:gentext key="SetIndex" text="Set Index"/>
-<l:gentext key="Sidebar" text=""/>
-<l:gentext key="sidebar" text=""/>
-<l:gentext key="step" text="æ­¥é©"/>
-<l:gentext key="Step" text="æ­¥é©"/>
-<l:gentext key="table" text="è¡šæ Œ"/>
-<l:gentext key="Table" text="è¡šæ Œ"/>
-<l:gentext key="task" text="Task" lang="en"/>
-<l:gentext key="Task" text="Task" lang="en"/>
-<l:gentext key="tip" text="æç€º"/>
-<l:gentext key="TIP" text="æç€º"/>
-<l:gentext key="Tip" text="æç€º"/>
-<l:gentext key="Warning" text="è­Šå"/>
-<l:gentext key="warning" text="è­Šå"/>
-<l:gentext key="WARNING" text="è­Šå"/>
-<l:gentext key="and" text="äž"/>
-<l:gentext key="by" text="ç±"/>
-<l:gentext key="Edited" text="ç·šèŒ¯"/>
-<l:gentext key="edited" text="ç·šèŒ¯"/>
-<l:gentext key="Editedby" text="ç·šèŒ¯"/>
-<l:gentext key="editedby" text="ç·šèŒ¯"/>
-<l:gentext key="in" text="åš"/>
-<l:gentext key="lastlistcomma" text=","/>
-<l:gentext key="listcomma" text=","/>
-<l:gentext key="nonexistantelement" text="äžå­åšçå
-çŽ "/>
-<l:gentext key="notes" text="æ³š"/>
-<l:gentext key="Notes" text="æ³š"/>
-<l:gentext key="Pgs" text="é "/>
-<l:gentext key="pgs" text="é "/>
-<l:gentext key="Revisedby" text="ä¿®èš"/>
-<l:gentext key="revisedby" text="ä¿®èš"/>
-<l:gentext key="TableNotes" text="æ³šé"/>
-<l:gentext key="tablenotes" text="æ³šé"/>
-<l:gentext key="TableofContents" text="å
-§å®¹ç®é"/>
-<l:gentext key="tableofcontents" text="å
-§å®¹ç®é"/>
-<l:gentext key="unexpectedelementname" text="éé æçå
-çŽ å"/>
-<l:gentext key="unsupported" text="æªæ¯æŽ"/>
-<l:gentext key="xrefto" text="åç
-§"/>
-<l:gentext key="Authors" text="Authors" lang="en"/>
-<l:gentext key="copyeditor" text="Copy Editor" lang="en"/>
-<l:gentext key="graphicdesigner" text="Graphic Designer" lang="en"/>
-<l:gentext key="productioneditor" text="Production Editor" lang="en"/>
-<l:gentext key="technicaleditor" text="Technical Editor" lang="en"/>
-<l:gentext key="translator" text="Translator" lang="en"/>
-<l:gentext key="listofequations" text="å
-¬åŒç®é"/>
-<l:gentext key="ListofEquations" text="å
-¬åŒç®é"/>
-<l:gentext key="ListofExamples" text="ç¯äŸç®é"/>
-<l:gentext key="listofexamples" text="ç¯äŸç®é"/>
-<l:gentext key="ListofFigures" text="éåç®é"/>
-<l:gentext key="listoffigures" text="éåç®é"/>
-<l:gentext key="ListofProcedures" text="List of Procedures" lang="en"/>
-<l:gentext key="listofprocedures" text="List of Procedures" lang="en"/>
-<l:gentext key="listoftables" text="éè¡šç®é"/>
-<l:gentext key="ListofTables" text="éè¡šç®é"/>
-<l:gentext key="ListofUnknown" text="å
-¶å®å
-§å®¹ç®é"/>
-<l:gentext key="listofunknown" text="å
-¶å®å
-§å®¹ç®é"/>
-<l:gentext key="nav-home" text="å
-§å®¹"/>
-<l:gentext key="nav-next" text="äžäžé "/>
-<l:gentext key="nav-next-sibling" text="å¿«éååŸ"/>
-<l:gentext key="nav-prev" text="åäžé "/>
-<l:gentext key="nav-prev-sibling" text="å¿«éåå"/>
-<l:gentext key="nav-up" text="äžäžå±€"/>
-<l:gentext key="nav-toc" text="ToC" lang="en"/>
-<l:gentext key="Draft" text="Draft"/>
-<l:gentext key="above" text="above"/>
-<l:gentext key="below" text="below"/>
-<l:gentext key="sectioncalled" text="the section called"/>
-<l:gentext key="index symbols" text="Symbols"/>
-<l:gentext key="lowercase.alpha" text="abcdefghijklmnopqrstuvwxyz" lang="en"/>
-<l:gentext key="uppercase.alpha" text="ABCDEFGHIJKLMNOPQRSTUVWXYZ" lang="en"/>
-<l:gentext key="normalize.sort.input" text="AaÃÃ ÃÃ¡ÃÃ¢ÃÃ£ÃÃ€Ã
-Ã¥ÄÄÄÄÄÄ
-ÇÇÇÇÇ Ç¡ÇºÇ»ÈÈÈÈÈŠÈ§ážážáºáº áº¡áº¢áº£áº€áº¥áºŠáº§áºšáº©áºªáº«áº¬áº­áº®áº¯áº°áº±áº²áº³áºŽáºµáº¶áº·BbÆÆÉÆÆážážážáž
-ážážCcÃÃ§ÄÄÄÄÄÄÄÄÆÆÉážážDdÄÄÄÄÆÉÆÆÇ
-Ç²È¡ÉážážážážážážážážážážEeÃÃšÃÃ©ÃÃªÃÃ«ÄÄÄÄÄÄÄÄÄÄÈÈ
-ÈÈÈšÈ©ážážážážážážážážážážáºžáº¹áººáº»áºŒáºœáºŸáº¿á»á»á»á»á»á»
-á»á»FfÆÆážážGgÄÄÄÄÄ Ä¡Ä¢Ä£ÆÉ Ç€Ç¥ÇŠÇ§ÇŽÇµáž áž¡HhÄ€Ä¥ÄŠÄ§ÈÈÉŠáž¢áž£áž€áž¥ážŠáž§ážšáž©ážªáž«áºIiÃÃ¬ÃÃ­ÃÃ®ÃÃ¯ÄšÄ©ÄªÄ«Ä¬Ä­Ä®Ä¯Ä°ÆÉšÇÇÈÈÈÈáž¬áž­áž®áž¯á»á»á»á»JjÄŽÄµÇ°ÊKkÄ¶Ä·ÆÆÇšÇ©áž°áž±áž²áž³ážŽážµLlÄ¹ÄºÄ»ÄŒÄœÄŸÄ¿ÅÅÅÆÇÈŽÉ«É¬É­áž¶áž·ážžáž¹ážºáž»ážŒážœMmÉ±ážŸáž¿á¹á¹á¹á¹NnÃÃ±ÅÅÅ
-ÅÅÅÆÉ²ÆÈ ÇÇžÇ¹ÈµÉ³á¹á¹
-á¹á¹á¹á¹á¹á¹OoÃÃ²ÃÃ³ÃÃŽÃÃµÃÃ¶ÃÃžÅÅÅÅÅÅÆÆ Æ¡ÇÇÇªÇ«Ç¬Ç­ÇŸÇ¿ÈÈÈÈÈªÈ«È¬È­È®È¯È°È±á¹á¹á¹á¹á¹á¹á¹á¹á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á»á» á»¡á»¢á»£PpÆ€Æ¥á¹á¹á¹á¹QqÊ RrÅÅÅÅÅÅÈÈÈÈÉŒÉœÉŸá¹á¹á¹á¹á¹á¹á¹á¹SsÅÅÅÅÅÅÅ Å¡ÈÈÊá¹ á¹¡á¹¢á¹£á¹€á¹¥á¹Šá¹§á¹šá¹©TtÅ¢Å£Å€Å¥ÅŠÅ§Æ«Æ¬Æ­Æ®ÊÈÈÈ¶á¹ªá¹«á¹¬á¹­á¹®á¹¯á¹°á¹±áºUuÃÃ¹ÃÃºÃÃ»ÃÃŒÅšÅ©ÅªÅ«Å¬Å­Å®Å¯Å°Å±Å²Å³Æ¯Æ°ÇÇÇÇÇÇÇÇÇÇÈÈÈÈá¹²á¹³á¹Žá¹µá¹¶á¹·á¹žá¹¹á¹ºá¹»á»€á»¥á»Šá»§á»šá»©á»ªá»«á»¬á»­á»®á»¯á»°á»±VvÆ²Êá¹Œá¹œá¹Ÿá¹¿WwÅŽÅµáºáºáºáºáºáº
-áºáºáºáºáºXxáºáºáºáºYyÃÃœÃ¿ÅžÅ¶Å·Æ³ÆŽÈ²È³áºáºáºá»²á»³á»Žá»µá»¶á»·á»žá»¹ZzÅ¹ÅºÅ»ÅŒÅœÅŸÆµÆ¶È€È¥ÊÊáºáºáºáºáºáºáº" lang="en"/>
-<l:gentext key="normalize.sort.output" text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ" lang="en"/>
-<l:dingbat key="startquote" text="â"/>
-<l:dingbat key="endquote" text="â"/>
-<l:dingbat key="nestedstartquote" text="â"/>
-<l:dingbat key="nestedendquote" text="â"/>
-<l:dingbat key="singlestartquote" text="â" lang="en"/>
-<l:dingbat key="singleendquote" text="â" lang="en"/>
-<l:dingbat key="bullet" text="â¢"/>
-<l:gentext key="hyphenation-character" text="-" lang="en"/>
-<l:gentext key="hyphenation-push-character-count" text="2" lang="en"/>
-<l:gentext key="hyphenation-remain-character-count" text="2" lang="en"/>
-<l:context name="styles"><l:template name="person-name" text="first-last"/>
-</l:context>
-<l:context name="title"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="%t"/>
-<l:template name="appendix" text="éé %n. %t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="biblioentry" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliolist" text="%t" lang="en"/>
-<l:template name="bibliomixed" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="ç«  %n. %t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="æ¹çšåŒ %n. %t"/>
-<l:template name="example" text="ç¯äŸ %n. %t"/>
-<l:template name="figure" text="ååœ¢ %n. %t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="glosslist" text="%t" lang="en"/>
-<l:template name="glossentry" text="%t" lang="en"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text=""/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="éš %n. %t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="procedure.formal" text="éçšÂ %n.Â %t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="productionset.formal" text="ProductionÂ %n"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="%t"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="%t"/>
-<l:template name="refentry" text="%t"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsection" text="%t" lang="en"/>
-<l:template name="refsect1" text="%t"/>
-<l:template name="refsect2" text="%t"/>
-<l:template name="refsect3" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="refsynopsisdivinfo" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="step" text="%t"/>
-<l:template name="table" text="è¡šæ Œ %n. %t"/>
-<l:template name="task" text="%t" lang="en"/>
-<l:template name="tasksummary" text="%t" lang="en"/>
-<l:template name="taskprerequisites" text="%t" lang="en"/>
-<l:template name="taskrelated" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text="" lang="en"/>
-<l:template name="warning" text="%t"/>
-</l:context>
-<l:context name="title-unnumbered"><l:template name="appendix" text="%t"/>
-<l:template name="article/appendix" text="%t" lang="en"/>
-<l:template name="bridgehead" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="sect1" text="%t"/>
-<l:template name="sect2" text="%t"/>
-<l:template name="sect3" text="%t"/>
-<l:template name="sect4" text="%t"/>
-<l:template name="sect5" text="%t"/>
-<l:template name="section" text="%t"/>
-<l:template name="simplesect" text="%t"/>
-<l:template name="part" text="%t" lang="en"/>
-</l:context>
-<l:context name="title-numbered"><l:template name="appendix" text="éé %n. %t"/>
-<l:template name="article/appendix" text="%n.Â %t" lang="en"/>
-<l:template name="bridgehead" text="%t"/>
-<l:template name="chapter" text="ç«  %n. %t"/>
-<l:template name="part" text="éšÂ %n.Â %t"/>
-<l:template name="sect1" text="%n. %t"/>
-<l:template name="sect2" text="%n. %t"/>
-<l:template name="sect3" text="%n. %t"/>
-<l:template name="sect4" text="%n. %t"/>
-<l:template name="sect5" text="%n. %t"/>
-<l:template name="section" text="%n. %t"/>
-<l:template name="simplesect" text="%n. %t"/>
-</l:context>
-<l:context name="subtitle"><l:template name="appendix" text="%s"/>
-<l:template name="article" text="%s"/>
-<l:template name="bibliodiv" text="%s"/>
-<l:template name="biblioentry" text="%s"/>
-<l:template name="bibliography" text="%s"/>
-<l:template name="bibliomixed" text="%s"/>
-<l:template name="bibliomset" text="%s"/>
-<l:template name="biblioset" text="%s"/>
-<l:template name="book" text="%s"/>
-<l:template name="chapter" text="%s"/>
-<l:template name="colophon" text="%s"/>
-<l:template name="dedication" text="%s"/>
-<l:template name="glossary" text="%s"/>
-<l:template name="glossdiv" text="%s"/>
-<l:template name="index" text="%s"/>
-<l:template name="indexdiv" text="%s"/>
-<l:template name="lot" text="%s"/>
-<l:template name="part" text="%s"/>
-<l:template name="partintro" text="%s"/>
-<l:template name="preface" text="%s"/>
-<l:template name="refentry" text="%s"/>
-<l:template name="reference" text="%s"/>
-<l:template name="refsection" text="%s" lang="en"/>
-<l:template name="refsect1" text="%s"/>
-<l:template name="refsect2" text="%s"/>
-<l:template name="refsect3" text="%s"/>
-<l:template name="refsynopsisdiv" text="%s"/>
-<l:template name="sect1" text="%s"/>
-<l:template name="sect2" text="%s"/>
-<l:template name="sect3" text="%s"/>
-<l:template name="sect4" text="%s"/>
-<l:template name="sect5" text="%s"/>
-<l:template name="section" text="%s"/>
-<l:template name="set" text="%s"/>
-<l:template name="setindex" text="%s"/>
-<l:template name="sidebar" text="%s"/>
-<l:template name="simplesect" text="%s"/>
-<l:template name="toc" text="%s"/>
-</l:context>
-<l:context name="xref"><l:template name="abstract" text="%t"/>
-<l:template name="answer" text="ç­ïŒÂ %n"/>
-<l:template name="appendix" text="%t"/>
-<l:template name="article" text="%t"/>
-<l:template name="authorblurb" text="%t"/>
-<l:template name="bibliodiv" text="%t"/>
-<l:template name="bibliography" text="%t"/>
-<l:template name="bibliomset" text="%t"/>
-<l:template name="biblioset" text="%t"/>
-<l:template name="blockquote" text="%t"/>
-<l:template name="book" text="%t"/>
-<l:template name="calloutlist" text="%t"/>
-<l:template name="caution" text="%t"/>
-<l:template name="chapter" text="%t"/>
-<l:template name="colophon" text="%t"/>
-<l:template name="constraintdef" text="%t"/>
-<l:template name="dedication" text="%t"/>
-<l:template name="equation" text="%t"/>
-<l:template name="example" text="%t"/>
-<l:template name="figure" text="%t"/>
-<l:template name="foil" text="%t" lang="en"/>
-<l:template name="foilgroup" text="%t" lang="en"/>
-<l:template name="formalpara" text="%t"/>
-<l:template name="glossary" text="%t"/>
-<l:template name="glossdiv" text="%t"/>
-<l:template name="important" text="%t"/>
-<l:template name="index" text="%t"/>
-<l:template name="indexdiv" text="%t"/>
-<l:template name="itemizedlist" text="%t"/>
-<l:template name="legalnotice" text="%t"/>
-<l:template name="listitem" text="%n"/>
-<l:template name="lot" text="%t"/>
-<l:template name="msg" text="%t"/>
-<l:template name="msgexplan" text="%t"/>
-<l:template name="msgmain" text="%t"/>
-<l:template name="msgrel" text="%t"/>
-<l:template name="msgset" text="%t"/>
-<l:template name="msgsub" text="%t"/>
-<l:template name="note" text="%t"/>
-<l:template name="orderedlist" text="%t"/>
-<l:template name="part" text="%t"/>
-<l:template name="partintro" text="%t"/>
-<l:template name="preface" text="%t"/>
-<l:template name="procedure" text="%t"/>
-<l:template name="productionset" text="%t"/>
-<l:template name="qandadiv" text="%t"/>
-<l:template name="qandaentry" text="åïŒÂ %n"/>
-<l:template name="qandaset" text="%t"/>
-<l:template name="question" text="åïŒÂ %n"/>
-<l:template name="reference" text="%t"/>
-<l:template name="refsynopsisdiv" text="%t"/>
-<l:template name="segmentedlist" text="%t"/>
-<l:template name="set" text="%t"/>
-<l:template name="setindex" text="%t"/>
-<l:template name="sidebar" text="%t"/>
-<l:template name="table" text="%t"/>
-<l:template name="task" text="%t" lang="en"/>
-<l:template name="tip" text="%t"/>
-<l:template name="toc" text="%t"/>
-<l:template name="variablelist" text="%t"/>
-<l:template name="varlistentry" text="%n"/>
-<l:template name="warning" text="%t"/>
-<l:template name="olink.document.citation" text=" in %o" lang="en"/>
-<l:template name="olink.page.citation" text=" (page %p)" lang="en"/>
-<l:template name="page.citation" text=" [%p]"/>
-<l:template name="page" text="(page %p)" lang="en"/>
-<l:template name="docname" text=" in %o" lang="en"/>
-<l:template name="docnamelong" text=" in the document titled %o" lang="en"/>
-<l:template name="pageabbrev" text="(p. %p)" lang="en"/>
-<l:template name="Page" text="Page %p" lang="en"/>
-<l:template name="bridgehead" text="â%tâ"/>
-<l:template name="refsection" text="â%tâ"/>
-<l:template name="refsect1" text="â%tâ"/>
-<l:template name="refsect2" text="â%tâ"/>
-<l:template name="refsect3" text="â%tâ"/>
-<l:template name="sect1" text="â%tâ"/>
-<l:template name="sect2" text="â%tâ"/>
-<l:template name="sect3" text="â%tâ"/>
-<l:template name="sect4" text="â%tâ"/>
-<l:template name="sect5" text="â%tâ"/>
-<l:template name="section" text="â%tâ"/>
-<l:template name="simplesect" text="â%tâ"/>
-</l:context>
-<l:context name="xref-number"><l:template name="answer" text="ç­ïŒÂ %n"/>
-<l:template name="appendix" text="ééÂ %n"/>
-<l:template name="bridgehead" text="ç¯Â %n"/>
-<l:template name="chapter" text="ç« Â %n"/>
-<l:template name="equation" text="æ¹çšåŒÂ %n"/>
-<l:template name="example" text="ç¯äŸÂ %n"/>
-<l:template name="figure" text="ååœ¢Â %n"/>
-<l:template name="part" text="éšÂ %n"/>
-<l:template name="procedure" text="éçšÂ %n"/>
-<l:template name="productionset" text="ProductionÂ %n"/>
-<l:template name="qandadiv" text="åïŒäžç­ïŒÂ %n"/>
-<l:template name="qandaentry" text="åïŒÂ %n"/>
-<l:template name="question" text="åïŒÂ %n"/>
-<l:template name="sect1" text="ç¯Â %n"/>
-<l:template name="sect2" text="ç¯Â %n"/>
-<l:template name="sect3" text="ç¯Â %n"/>
-<l:template name="sect4" text="ç¯Â %n"/>
-<l:template name="sect5" text="ç¯Â %n"/>
-<l:template name="section" text="ç¯Â %n"/>
-<l:template name="table" text="è¡šæ ŒÂ %n"/>
-</l:context>
-<l:context name="xref-number-and-title"><l:template name="appendix" text="ééÂ %n, %t"/>
-<l:template name="bridgehead" text="ç¯Â %n, â%tâ"/>
-<l:template name="chapter" text="ç« Â %n, %t"/>
-<l:template name="equation" text="æ¹çšåŒÂ %n, â%tâ"/>
-<l:template name="example" text="ç¯äŸÂ %n, â%tâ"/>
-<l:template name="figure" text="ååœ¢Â %n, â%tâ"/>
-<l:template name="part" text="éšÂ %n, â%tâ"/>
-<l:template name="procedure" text="éçšÂ %n, â%tâ"/>
-<l:template name="productionset" text="ProductionÂ %n, â%tâ"/>
-<l:template name="qandadiv" text="åïŒäžç­ïŒÂ %n, â%tâ"/>
-<l:template name="refsect1" text="the section called â%tâ"/>
-<l:template name="refsect2" text="the section called â%tâ"/>
-<l:template name="refsect3" text="the section called â%tâ"/>
-<l:template name="refsection" text="the section called â%tâ"/>
-<l:template name="sect1" text="ç¯Â %n, â%tâ"/>
-<l:template name="sect2" text="ç¯Â %n, â%tâ"/>
-<l:template name="sect3" text="ç¯Â %n, â%tâ"/>
-<l:template name="sect4" text="ç¯Â %n, â%tâ"/>
-<l:template name="sect5" text="ç¯Â %n, â%tâ"/>
-<l:template name="section" text="ç¯Â %n, â%tâ"/>
-<l:template name="simplesect" text="the section called â%tâ"/>
-<l:template name="table" text="è¡šæ ŒÂ %n, â%tâ"/>
-</l:context>
-<l:context name="authorgroup"><l:template name="sep" text=", "/>
-<l:template name="sep2" text=" äž "/>
-<l:template name="seplast" text=", äž "/>
-</l:context>
-<l:context name="glossary"><l:template name="see" text="åèŠ %t"/>
-<l:template name="seealso" text="åŠåèŠ %t"/>
-</l:context>
-<l:context name="msgset"><l:template name="MsgAud" text="è®è
-: "/>
-<l:template name="MsgLevel" text="çšåºŠ: "/>
-<l:template name="MsgOrig" text="åºè: "/>
-</l:context>
-<l:context name="datetime"><l:template name="format" text="m/d/Y" lang="en"/>
-</l:context>
-<l:context name="termdef"><l:template name="prefix" text="[Definition: " lang="en"/>
-<l:template name="suffix" text="]" lang="en"/>
-</l:context>
-<l:context name="datetime-full"><l:template name="January" text="January" lang="en"/>
-<l:template name="February" text="February" lang="en"/>
-<l:template name="March" text="March" lang="en"/>
-<l:template name="April" text="April" lang="en"/>
-<l:template name="May" text="May" lang="en"/>
-<l:template name="June" text="June" lang="en"/>
-<l:template name="July" text="July" lang="en"/>
-<l:template name="August" text="August" lang="en"/>
-<l:template name="September" text="September" lang="en"/>
-<l:template name="October" text="October" lang="en"/>
-<l:template name="November" text="November" lang="en"/>
-<l:template name="December" text="December" lang="en"/>
-<l:template name="Monday" text="Monday" lang="en"/>
-<l:template name="Tuesday" text="Tuesday" lang="en"/>
-<l:template name="Wednesday" text="Wednesday" lang="en"/>
-<l:template name="Thursday" text="Thursday" lang="en"/>
-<l:template name="Friday" text="Friday" lang="en"/>
-<l:template name="Saturday" text="Saturday" lang="en"/>
-<l:template name="Sunday" text="Sunday" lang="en"/>
-</l:context>
-<l:context name="datetime-abbrev"><l:template name="Jan" text="Jan" lang="en"/>
-<l:template name="Feb" text="Feb" lang="en"/>
-<l:template name="Mar" text="Mar" lang="en"/>
-<l:template name="Apr" text="Apr" lang="en"/>
-<l:template name="May" text="May" lang="en"/>
-<l:template name="Jun" text="Jun" lang="en"/>
-<l:template name="Jul" text="Jul" lang="en"/>
-<l:template name="Aug" text="Aug" lang="en"/>
-<l:template name="Sep" text="Sep" lang="en"/>
-<l:template name="Oct" text="Oct" lang="en"/>
-<l:template name="Nov" text="Nov" lang="en"/>
-<l:template name="Dec" text="Dec" lang="en"/>
-<l:template name="Mon" text="Mon" lang="en"/>
-<l:template name="Tue" text="Tue" lang="en"/>
-<l:template name="Wed" text="Wed" lang="en"/>
-<l:template name="Thu" text="Thu" lang="en"/>
-<l:template name="Fri" text="Fri" lang="en"/>
-<l:template name="Sat" text="Sat" lang="en"/>
-<l:template name="Sun" text="Sun" lang="en"/>
-</l:context>
-<l:context name="htmlhelp"><l:template name="langcode" text="0x0404 Chinese (TAIWAN)"/>
-</l:context>
-<l:context name="index"><l:template name="term-separator" text=", " lang="en"/>
-<l:template name="number-separator" text=", " lang="en"/>
-<l:template name="range-separator" text="-" lang="en"/>
-</l:context>
-<l:context name="iso690"><l:template name="lastfirst.sep" text=", " lang="en"/>
-<l:template name="alt.person.two.sep" text=" â " lang="en"/>
-<l:template name="alt.person.last.sep" text=" â " lang="en"/>
-<l:template name="alt.person.more.sep" text=" â " lang="en"/>
-<l:template name="primary.editor" text=" (ed.)" lang="en"/>
-<l:template name="primary.many" text=", et al." lang="en"/>
-<l:template name="primary.sep" text=". " lang="en"/>
-<l:template name="submaintitle.sep" text=": " lang="en"/>
-<l:template name="title.sep" text=". " lang="en"/>
-<l:template name="othertitle.sep" text=", " lang="en"/>
-<l:template name="medium1" text=" [" lang="en"/>
-<l:template name="medium2" text="]" lang="en"/>
-<l:template name="secondary.person.sep" text="; " lang="en"/>
-<l:template name="secondary.sep" text=". " lang="en"/>
-<l:template name="respons.sep" text=". " lang="en"/>
-<l:template name="edition.sep" text=". " lang="en"/>
-<l:template name="edition.serial.sep" text=", " lang="en"/>
-<l:template name="issuing.range" text="-" lang="en"/>
-<l:template name="issuing.div" text=", " lang="en"/>
-<l:template name="issuing.sep" text=". " lang="en"/>
-<l:template name="partnr.sep" text=". " lang="en"/>
-<l:template name="placepubl.sep" text=": " lang="en"/>
-<l:template name="publyear.sep" text=", " lang="en"/>
-<l:template name="pubinfo.sep" text=". " lang="en"/>
-<l:template name="spec.pubinfo.sep" text=", " lang="en"/>
-<l:template name="upd.sep" text=", " lang="en"/>
-<l:template name="datecit1" text=" [cited " lang="en"/>
-<l:template name="datecit2" text="]" lang="en"/>
-<l:template name="extent.sep" text=". " lang="en"/>
-<l:template name="locs.sep" text=", " lang="en"/>
-<l:template name="location.sep" text=". " lang="en"/>
-<l:template name="serie.sep" text=". " lang="en"/>
-<l:template name="notice.sep" text=". " lang="en"/>
-<l:template name="access" text="Available " lang="en"/>
-<l:template name="acctoo" text="Also available " lang="en"/>
-<l:template name="onwww" text="from World Wide Web" lang="en"/>
-<l:template name="oninet" text="from Internet" lang="en"/>
-<l:template name="access.end" text=": " lang="en"/>
-<l:template name="link1" text="&lt;" lang="en"/>
-<l:template name="link2" text="&gt;" lang="en"/>
-<l:template name="access.sep" text=". " lang="en"/>
-<l:template name="isbn" text="ISBN " lang="en"/>
-<l:template name="issn" text="ISSN " lang="en"/>
-<l:template name="stdnum.sep" text=". " lang="en"/>
-<l:template name="patcountry.sep" text=". " lang="en"/>
-<l:template name="pattype.sep" text=", " lang="en"/>
-<l:template name="patnum.sep" text=". " lang="en"/>
-<l:template name="patdate.sep" text=". " lang="en"/>
-</l:context><l:letters lang="en"><l:l i="-1"/>
-<l:l i="0">Symbols</l:l>
-<l:l i="10">A</l:l>
-<l:l i="10">a</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã </l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã¡</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã¢</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã£</l:l>
-<l:l i="10">Ã</l:l>
-<l:l i="10">Ã€</l:l>
-<l:l i="10">Ã
-</l:l>
-<l:l i="10">Ã¥</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä</l:l>
-<l:l i="10">Ä
-</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç</l:l>
-<l:l i="10">Ç </l:l>
-<l:l i="10">Ç¡</l:l>
-<l:l i="10">Çº</l:l>
-<l:l i="10">Ç»</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">È</l:l>
-<l:l i="10">ÈŠ</l:l>
-<l:l i="10">È§</l:l>
-<l:l i="10">áž</l:l>
-<l:l i="10">áž</l:l>
-<l:l i="10">áº</l:l>
-<l:l i="10">áº </l:l>
-<l:l i="10">áº¡</l:l>
-<l:l i="10">áº¢</l:l>
-<l:l i="10">áº£</l:l>
-<l:l i="10">áº€</l:l>
-<l:l i="10">áº¥</l:l>
-<l:l i="10">áºŠ</l:l>
-<l:l i="10">áº§</l:l>
-<l:l i="10">áºš</l:l>
-<l:l i="10">áº©</l:l>
-<l:l i="10">áºª</l:l>
-<l:l i="10">áº«</l:l>
-<l:l i="10">áº¬</l:l>
-<l:l i="10">áº­</l:l>
-<l:l i="10">áº®</l:l>
-<l:l i="10">áº¯</l:l>
-<l:l i="10">áº°</l:l>
-<l:l i="10">áº±</l:l>
-<l:l i="10">áº²</l:l>
-<l:l i="10">áº³</l:l>
-<l:l i="10">áºŽ</l:l>
-<l:l i="10">áºµ</l:l>
-<l:l i="10">áº¶</l:l>
-<l:l i="10">áº·</l:l>
-<l:l i="20">B</l:l>
-<l:l i="20">b</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">É</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">Æ</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž
-</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="20">áž</l:l>
-<l:l i="30">C</l:l>
-<l:l i="30">c</l:l>
-<l:l i="30">Ã</l:l>
-<l:l i="30">Ã§</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Ä</l:l>
-<l:l i="30">Æ</l:l>
-<l:l i="30">Æ</l:l>
-<l:l i="30">É</l:l>
-<l:l i="30">áž</l:l>
-<l:l i="30">áž</l:l>
-<l:l i="40">D</l:l>
-<l:l i="40">d</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Ä</l:l>
-<l:l i="40">Æ</l:l>
-<l:l i="40">É</l:l>
-<l:l i="40">Æ</l:l>
-<l:l i="40">Æ</l:l>
-<l:l i="40">Ç
-</l:l>
-<l:l i="40">Ç²</l:l>
-<l:l i="40">È¡</l:l>
-<l:l i="40">É</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="40">áž</l:l>
-<l:l i="50">E</l:l>
-<l:l i="50">e</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ãš</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ã©</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ãª</l:l>
-<l:l i="50">Ã</l:l>
-<l:l i="50">Ã«</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">Ä</l:l>
-<l:l i="50">È</l:l>
-<l:l i="50">È
-</l:l>
-<l:l i="50">È</l:l>
-<l:l i="50">È</l:l>
-<l:l i="50">Èš</l:l>
-<l:l i="50">È©</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áž</l:l>
-<l:l i="50">áºž</l:l>
-<l:l i="50">áº¹</l:l>
-<l:l i="50">áºº</l:l>
-<l:l i="50">áº»</l:l>
-<l:l i="50">áºŒ</l:l>
-<l:l i="50">áºœ</l:l>
-<l:l i="50">áºŸ</l:l>
-<l:l i="50">áº¿</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»
-</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="50">á»</l:l>
-<l:l i="60">F</l:l>
-<l:l i="60">f</l:l>
-<l:l i="60">Æ</l:l>
-<l:l i="60">Æ</l:l>
-<l:l i="60">áž</l:l>
-<l:l i="60">áž</l:l>
-<l:l i="70">G</l:l>
-<l:l i="70">g</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä</l:l>
-<l:l i="70">Ä </l:l>
-<l:l i="70">Ä¡</l:l>
-<l:l i="70">Ä¢</l:l>
-<l:l i="70">Ä£</l:l>
-<l:l i="70">Æ</l:l>
-<l:l i="70">É </l:l>
-<l:l i="70">Ç€</l:l>
-<l:l i="70">Ç¥</l:l>
-<l:l i="70">ÇŠ</l:l>
-<l:l i="70">Ç§</l:l>
-<l:l i="70">ÇŽ</l:l>
-<l:l i="70">Çµ</l:l>
-<l:l i="70">áž </l:l>
-<l:l i="70">áž¡</l:l>
-<l:l i="80">H</l:l>
-<l:l i="80">h</l:l>
-<l:l i="80">Ä€</l:l>
-<l:l i="80">Ä¥</l:l>
-<l:l i="80">ÄŠ</l:l>
-<l:l i="80">Ä§</l:l>
-<l:l i="80">È</l:l>
-<l:l i="80">È</l:l>
-<l:l i="80">ÉŠ</l:l>
-<l:l i="80">áž¢</l:l>
-<l:l i="80">áž£</l:l>
-<l:l i="80">áž€</l:l>
-<l:l i="80">áž¥</l:l>
-<l:l i="80">ážŠ</l:l>
-<l:l i="80">áž§</l:l>
-<l:l i="80">ážš</l:l>
-<l:l i="80">áž©</l:l>
-<l:l i="80">ážª</l:l>
-<l:l i="80">áž«</l:l>
-<l:l i="80">áº</l:l>
-<l:l i="90">I</l:l>
-<l:l i="90">i</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã¬</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã­</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã®</l:l>
-<l:l i="90">Ã</l:l>
-<l:l i="90">Ã¯</l:l>
-<l:l i="90">Äš</l:l>
-<l:l i="90">Ä©</l:l>
-<l:l i="90">Äª</l:l>
-<l:l i="90">Ä«</l:l>
-<l:l i="90">Ä¬</l:l>
-<l:l i="90">Ä­</l:l>
-<l:l i="90">Ä®</l:l>
-<l:l i="90">Ä¯</l:l>
-<l:l i="90">Ä°</l:l>
-<l:l i="90">Æ</l:l>
-<l:l i="90">Éš</l:l>
-<l:l i="90">Ç</l:l>
-<l:l i="90">Ç</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">È</l:l>
-<l:l i="90">áž¬</l:l>
-<l:l i="90">áž­</l:l>
-<l:l i="90">áž®</l:l>
-<l:l i="90">áž¯</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="90">á»</l:l>
-<l:l i="100">J</l:l>
-<l:l i="100">j</l:l>
-<l:l i="100">ÄŽ</l:l>
-<l:l i="100">Äµ</l:l>
-<l:l i="100">Ç°</l:l>
-<l:l i="100">Ê</l:l>
-<l:l i="110">K</l:l>
-<l:l i="110">k</l:l>
-<l:l i="110">Ä¶</l:l>
-<l:l i="110">Ä·</l:l>
-<l:l i="110">Æ</l:l>
-<l:l i="110">Æ</l:l>
-<l:l i="110">Çš</l:l>
-<l:l i="110">Ç©</l:l>
-<l:l i="110">áž°</l:l>
-<l:l i="110">áž±</l:l>
-<l:l i="110">áž²</l:l>
-<l:l i="110">áž³</l:l>
-<l:l i="110">ážŽ</l:l>
-<l:l i="110">ážµ</l:l>
-<l:l i="120">L</l:l>
-<l:l i="120">l</l:l>
-<l:l i="120">Ä¹</l:l>
-<l:l i="120">Äº</l:l>
-<l:l i="120">Ä»</l:l>
-<l:l i="120">ÄŒ</l:l>
-<l:l i="120">Äœ</l:l>
-<l:l i="120">ÄŸ</l:l>
-<l:l i="120">Ä¿</l:l>
-<l:l i="120">Å</l:l>
-<l:l i="120">Å</l:l>
-<l:l i="120">Å</l:l>
-<l:l i="120">Æ</l:l>
-<l:l i="120">Ç</l:l>
-<l:l i="120">ÈŽ</l:l>
-<l:l i="120">É«</l:l>
-<l:l i="120">É¬</l:l>
-<l:l i="120">É­</l:l>
-<l:l i="120">áž¶</l:l>
-<l:l i="120">áž·</l:l>
-<l:l i="120">ážž</l:l>
-<l:l i="120">áž¹</l:l>
-<l:l i="120">ážº</l:l>
-<l:l i="120">áž»</l:l>
-<l:l i="120">ážŒ</l:l>
-<l:l i="120">ážœ</l:l>
-<l:l i="130">M</l:l>
-<l:l i="130">m</l:l>
-<l:l i="130">É±</l:l>
-<l:l i="130">ážŸ</l:l>
-<l:l i="130">áž¿</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="130">á¹</l:l>
-<l:l i="140">N</l:l>
-<l:l i="140">n</l:l>
-<l:l i="140">Ã</l:l>
-<l:l i="140">Ã±</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å
-</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Å</l:l>
-<l:l i="140">Æ</l:l>
-<l:l i="140">É²</l:l>
-<l:l i="140">Æ</l:l>
-<l:l i="140">È </l:l>
-<l:l i="140">Ç</l:l>
-<l:l i="140">Çž</l:l>
-<l:l i="140">Ç¹</l:l>
-<l:l i="140">Èµ</l:l>
-<l:l i="140">É³</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹
-</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="140">á¹</l:l>
-<l:l i="150">O</l:l>
-<l:l i="150">o</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ã²</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ã³</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">ÃŽ</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ãµ</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ã¶</l:l>
-<l:l i="150">Ã</l:l>
-<l:l i="150">Ãž</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Å</l:l>
-<l:l i="150">Æ</l:l>
-<l:l i="150">Æ </l:l>
-<l:l i="150">Æ¡</l:l>
-<l:l i="150">Ç</l:l>
-<l:l i="150">Ç</l:l>
-<l:l i="150">Çª</l:l>
-<l:l i="150">Ç«</l:l>
-<l:l i="150">Ç¬</l:l>
-<l:l i="150">Ç­</l:l>
-<l:l i="150">ÇŸ</l:l>
-<l:l i="150">Ç¿</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">È</l:l>
-<l:l i="150">Èª</l:l>
-<l:l i="150">È«</l:l>
-<l:l i="150">È¬</l:l>
-<l:l i="150">È­</l:l>
-<l:l i="150">È®</l:l>
-<l:l i="150">È¯</l:l>
-<l:l i="150">È°</l:l>
-<l:l i="150">È±</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á¹</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á»</l:l>
-<l:l i="150">á» </l:l>
-<l:l i="150">á»¡</l:l>
-<l:l i="150">á»¢</l:l>
-<l:l i="150">á»£</l:l>
-<l:l i="160">P</l:l>
-<l:l i="160">p</l:l>
-<l:l i="160">Æ€</l:l>
-<l:l i="160">Æ¥</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="160">á¹</l:l>
-<l:l i="170">Q</l:l>
-<l:l i="170">q</l:l>
-<l:l i="170">Ê </l:l>
-<l:l i="180">R</l:l>
-<l:l i="180">r</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">Å</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">È</l:l>
-<l:l i="180">ÉŒ</l:l>
-<l:l i="180">Éœ</l:l>
-<l:l i="180">ÉŸ</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="180">á¹</l:l>
-<l:l i="190">S</l:l>
-<l:l i="190">s</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å</l:l>
-<l:l i="190">Å </l:l>
-<l:l i="190">Å¡</l:l>
-<l:l i="190">È</l:l>
-<l:l i="190">È</l:l>
-<l:l i="190">Ê</l:l>
-<l:l i="190">á¹ </l:l>
-<l:l i="190">á¹¡</l:l>
-<l:l i="190">á¹¢</l:l>
-<l:l i="190">á¹£</l:l>
-<l:l i="190">á¹€</l:l>
-<l:l i="190">á¹¥</l:l>
-<l:l i="190">á¹Š</l:l>
-<l:l i="190">á¹§</l:l>
-<l:l i="190">á¹š</l:l>
-<l:l i="190">á¹©</l:l>
-<l:l i="200">T</l:l>
-<l:l i="200">t</l:l>
-<l:l i="200">Å¢</l:l>
-<l:l i="200">Å£</l:l>
-<l:l i="200">Å€</l:l>
-<l:l i="200">Å¥</l:l>
-<l:l i="200">ÅŠ</l:l>
-<l:l i="200">Å§</l:l>
-<l:l i="200">Æ«</l:l>
-<l:l i="200">Æ¬</l:l>
-<l:l i="200">Æ­</l:l>
-<l:l i="200">Æ®</l:l>
-<l:l i="200">Ê</l:l>
-<l:l i="200">È</l:l>
-<l:l i="200">È</l:l>
-<l:l i="200">È¶</l:l>
-<l:l i="200">á¹ª</l:l>
-<l:l i="200">á¹«</l:l>
-<l:l i="200">á¹¬</l:l>
-<l:l i="200">á¹­</l:l>
-<l:l i="200">á¹®</l:l>
-<l:l i="200">á¹¯</l:l>
-<l:l i="200">á¹°</l:l>
-<l:l i="200">á¹±</l:l>
-<l:l i="200">áº</l:l>
-<l:l i="210">U</l:l>
-<l:l i="210">u</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">Ã¹</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">Ãº</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">Ã»</l:l>
-<l:l i="210">Ã</l:l>
-<l:l i="210">ÃŒ</l:l>
-<l:l i="210">Åš</l:l>
-<l:l i="210">Å©</l:l>
-<l:l i="210">Åª</l:l>
-<l:l i="210">Å«</l:l>
-<l:l i="210">Å¬</l:l>
-<l:l i="210">Å­</l:l>
-<l:l i="210">Å®</l:l>
-<l:l i="210">Å¯</l:l>
-<l:l i="210">Å°</l:l>
-<l:l i="210">Å±</l:l>
-<l:l i="210">Å²</l:l>
-<l:l i="210">Å³</l:l>
-<l:l i="210">Æ¯</l:l>
-<l:l i="210">Æ°</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">Ç</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">È</l:l>
-<l:l i="210">á¹²</l:l>
-<l:l i="210">á¹³</l:l>
-<l:l i="210">á¹Ž</l:l>
-<l:l i="210">á¹µ</l:l>
-<l:l i="210">á¹¶</l:l>
-<l:l i="210">á¹·</l:l>
-<l:l i="210">á¹ž</l:l>
-<l:l i="210">á¹¹</l:l>
-<l:l i="210">á¹º</l:l>
-<l:l i="210">á¹»</l:l>
-<l:l i="210">á»€</l:l>
-<l:l i="210">á»¥</l:l>
-<l:l i="210">á»Š</l:l>
-<l:l i="210">á»§</l:l>
-<l:l i="210">á»š</l:l>
-<l:l i="210">á»©</l:l>
-<l:l i="210">á»ª</l:l>
-<l:l i="210">á»«</l:l>
-<l:l i="210">á»¬</l:l>
-<l:l i="210">á»­</l:l>
-<l:l i="210">á»®</l:l>
-<l:l i="210">á»¯</l:l>
-<l:l i="210">á»°</l:l>
-<l:l i="210">á»±</l:l>
-<l:l i="220">V</l:l>
-<l:l i="220">v</l:l>
-<l:l i="220">Æ²</l:l>
-<l:l i="220">Ê</l:l>
-<l:l i="220">á¹Œ</l:l>
-<l:l i="220">á¹œ</l:l>
-<l:l i="220">á¹Ÿ</l:l>
-<l:l i="220">á¹¿</l:l>
-<l:l i="230">W</l:l>
-<l:l i="230">w</l:l>
-<l:l i="230">ÅŽ</l:l>
-<l:l i="230">Åµ</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº
-</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="230">áº</l:l>
-<l:l i="240">X</l:l>
-<l:l i="240">x</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="240">áº</l:l>
-<l:l i="250">Y</l:l>
-<l:l i="250">y</l:l>
-<l:l i="250">Ã</l:l>
-<l:l i="250">Ãœ</l:l>
-<l:l i="250">Ã¿</l:l>
-<l:l i="250">Åž</l:l>
-<l:l i="250">Å¶</l:l>
-<l:l i="250">Å·</l:l>
-<l:l i="250">Æ³</l:l>
-<l:l i="250">ÆŽ</l:l>
-<l:l i="250">È²</l:l>
-<l:l i="250">È³</l:l>
-<l:l i="250">áº</l:l>
-<l:l i="250">áº</l:l>
-<l:l i="250">áº</l:l>
-<l:l i="250">á»²</l:l>
-<l:l i="250">á»³</l:l>
-<l:l i="250">á»Ž</l:l>
-<l:l i="250">á»µ</l:l>
-<l:l i="250">á»¶</l:l>
-<l:l i="250">á»·</l:l>
-<l:l i="250">á»ž</l:l>
-<l:l i="250">á»¹</l:l>
-<l:l i="260">Z</l:l>
-<l:l i="260">z</l:l>
-<l:l i="260">Å¹</l:l>
-<l:l i="260">Åº</l:l>
-<l:l i="260">Å»</l:l>
-<l:l i="260">ÅŒ</l:l>
-<l:l i="260">Åœ</l:l>
-<l:l i="260">ÅŸ</l:l>
-<l:l i="260">Æµ</l:l>
-<l:l i="260">Æ¶</l:l>
-<l:l i="260">È€</l:l>
-<l:l i="260">È¥</l:l>
-<l:l i="260">Ê</l:l>
-<l:l i="260">Ê</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-<l:l i="260">áº</l:l>
-</l:letters>
-</l:l10n>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/admon.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/admon.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,130 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template match="note|important|warning|caution|tip">
-  <xsl:choose>
-    <xsl:when test="$admon.graphics != 0">
-      <xsl:call-template name="graphical.admonition"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="nongraphical.admonition"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="admon.graphic.width">
-  <xsl:param name="node" select="."/>
-  <xsl:text>36pt</xsl:text>
-</xsl:template>
-
-<xsl:template name="admon.graphic">
-  <xsl:param name="node" select="."/>
-
-  <xsl:variable name="filename">
-    <xsl:value-of select="$admon.graphics.path"/>
-    <xsl:choose>
-      <xsl:when test="local-name($node)='note'">note</xsl:when>
-      <xsl:when test="local-name($node)='warning'">warning</xsl:when>
-      <xsl:when test="local-name($node)='caution'">caution</xsl:when>
-      <xsl:when test="local-name($node)='tip'">tip</xsl:when>
-      <xsl:when test="local-name($node)='important'">important</xsl:when>
-      <xsl:otherwise>note</xsl:otherwise>
-    </xsl:choose>
-    <xsl:value-of select="$admon.graphics.extension"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$passivetex.extensions != 0
-                    or $fop.extensions != 0
-                    or $arbortext.extensions != 0">
-      <xsl:value-of select="$filename"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>url(</xsl:text>
-      <xsl:value-of select="$filename"/>
-      <xsl:text>)</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="graphical.admonition">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <xsl:variable name="graphic.width">
-     <xsl:apply-templates select="." mode="admon.graphic.width"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}"
-            xsl:use-attribute-sets="graphical.admonition.properties">
-    <fo:list-block provisional-distance-between-starts="{$graphic.width} + 18pt"
-                    provisional-label-separation="18pt">
-      <fo:list-item>
-          <fo:list-item-label end-indent="label-end()">
-            <fo:block>
-              <fo:external-graphic width="auto" height="auto"
-                                         content-width="{$graphic.width}" >
-                <xsl:attribute name="src">
-                  <xsl:call-template name="admon.graphic"/>
-                </xsl:attribute>
-              </fo:external-graphic>
-            </fo:block>
-          </fo:list-item-label>
-          <fo:list-item-body start-indent="body-start()">
-            <xsl:if test="$admon.textlabel != 0 or title or info/title">
-              <fo:block xsl:use-attribute-sets="admonition.title.properties">
-                <xsl:apply-templates select="." mode="object.title.markup">
-		  <xsl:with-param name="allow-anchors" select="1"/>
-		</xsl:apply-templates>
-              </fo:block>
-            </xsl:if>
-            <fo:block xsl:use-attribute-sets="admonition.properties">
-              <xsl:apply-templates/>
-            </fo:block>
-          </fo:list-item-body>
-      </fo:list-item>
-    </fo:list-block>
-  </fo:block>
-</xsl:template>
-
-<xsl:template name="nongraphical.admonition">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}"
-            xsl:use-attribute-sets="nongraphical.admonition.properties">
-    <xsl:if test="$admon.textlabel != 0 or title or info/title">
-      <fo:block keep-with-next.within-column='always'
-                xsl:use-attribute-sets="admonition.title.properties">
-         <xsl:apply-templates select="." mode="object.title.markup">
-	   <xsl:with-param name="allow-anchors" select="1"/>
-	 </xsl:apply-templates>
-      </fo:block>
-    </xsl:if>
-
-    <fo:block xsl:use-attribute-sets="admonition.properties">
-      <xsl:apply-templates/>
-    </fo:block>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="note/title"></xsl:template>
-<xsl:template match="important/title"></xsl:template>
-<xsl:template match="warning/title"></xsl:template>
-<xsl:template match="caution/title"></xsl:template>
-<xsl:template match="tip/title"></xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/annotations.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/annotations.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,18 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template match="annotation"/>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/autoidx-kimber.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/autoidx-kimber.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,178 +1,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE xsl:stylesheet [
-
-<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = ""]))'>
-<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = ""]))'>
-<!ENTITY tertiary  'normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = ""]))'>
-
-<!ENTITY sep '" "'>
-<!-- Documents using the kimber index method must have a lang attribute -->
-<!-- Only one of these should be present in the entity -->
-<!ENTITY lang 'concat(/*/@lang, /*/@xml:lang)'>
-
-<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())
-                and ($role = @role or $type = @type or
-                (string-length($role) = 0 and string-length($type) = 0))'>
-]>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:k="java:com.isogen.saxoni18n.Saxoni18nService"
-                exclude-result-prefixes="k"
-                version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the DocBook XSL Stylesheet distribution.
-     See ../README or http://docbook.sf.net/ for copyright
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<!-- The "kimber" method contributed by Eliot Kimber of Innodata Isogen.  -->
-<!-- ==================================================================== -->
-<!--   *** THIS MODULE ONLY WORKS WITH SAXON 6 OR SAXON 8 ***             -->
-<!-- ==================================================================== -->
-
-<xsl:include href="../common/autoidx-kimber.xsl"/>
-
-<!-- Java sort apparently works only on lang part, not country -->
-<xsl:param name="sort.lang">
-  <xsl:choose>
-    <xsl:when test="contains(&lang;, '-')">
-      <xsl:value-of select="substring-before(&lang;, '-')"/>
-    </xsl:when>
-    <xsl:when test="contains(&lang;, '_')">
-      <xsl:value-of select="substring-before(&lang;, '_')"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="&lang;"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-
-<xsl:template name="generate-kimber-index">
-  <xsl:param name="scope" select="NOTANODE"/>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:if test="not(contains($vendor, 'SAXON '))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text>
-      <xsl:text>Saxon version 6 or 8 XSLT processor.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="not(function-available('k:getIndexGroupKey'))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text>
-      <xsl:text>Innodata Isogen &#x0A;Java extensions for </xsl:text>
-      <xsl:text>internationalized indexes. &#x0A;Install those </xsl:text>
-      <xsl:text>extensions, or use a different index method.&#x0A;</xsl:text>
-      <xsl:text>For more information, see:&#x0A;</xsl:text>
-      <xsl:text>http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="role">
-    <xsl:if test="$index.on.role != 0">
-      <xsl:value-of select="@role"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="type">
-    <xsl:if test="$index.on.type != 0">
-      <xsl:value-of select="@type"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="terms"
-                select="//indexterm[count(.|key('k-group',
-                   k:getIndexGroupKey(&lang;, &primary;))
-                   [&scope;][1]) = 1
-                   and not(@class = 'endofrange')]"/>
-
-  <xsl:variable name="alphabetical"
-                select="$terms[not(starts-with(
-                k:getIndexGroupKey(&lang;, &primary;),
-                '#NUMERIC'
-                ))]"/>
-
-  <xsl:variable name="others"
-                select="$terms[starts-with(
-                k:getIndexGroupKey(&lang;, &primary;),
-                '#NUMERIC'
-                )]"/>
-
-  <fo:block>
-    <xsl:if test="$others">
-      <xsl:call-template name="indexdiv.title">
-        <xsl:with-param name="titlecontent">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'index symbols'"/>
-          </xsl:call-template>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <fo:block>
-        <xsl:apply-templates select="$others"
-                             mode="index-symbol-div">
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:sort lang="{$sort.lang}"
-              select="k:getIndexGroupSortKey(&lang;,
-                      k:getIndexGroupKey(&lang;, &primary;))"/>
-        </xsl:apply-templates>
-      </fo:block>
-    </xsl:if>
-
-    <xsl:apply-templates select="$alphabetical"
-                         mode="index-div-kimber">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort lang="{$sort.lang}"
-             select="k:getIndexGroupSortKey(&lang;,
-                     k:getIndexGroupKey(&lang;, &primary;))"/>
-    </xsl:apply-templates>
-  </fo:block>
-
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-div-kimber">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key"
-          select="k:getIndexGroupKey(&lang;, &primary;)"/>
-
-  <xsl:variable name="label"
-          select="k:getIndexGroupLabel(&lang;, $key)"/>
-
-  <xsl:if test="key('k-group', $key)[&scope;]
-                [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
-    <fo:block>
-      <xsl:call-template name="indexdiv.title">
-        <xsl:with-param name="titlecontent">
-          <xsl:value-of select="$label"/>
-        </xsl:with-param>
-      </xsl:call-template>
-      <fo:block>
-        <xsl:apply-templates select="key('k-group', $key)[&scope;]
-                            [count(.|key('primary', &primary;)[&scope;]
-                            [1])=1]"
-                             mode="index-primary">
-          <xsl:sort select="&primary;" lang="{$sort.lang}"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-        </xsl:apply-templates>
-      </fo:block>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/autoidx-kosek.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/autoidx-kosek.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,150 +1,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE xsl:stylesheet [
-
-<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = ""]))'>
-<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = ""]))'>
-<!ENTITY tertiary  'normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = ""]))'>
-
-<!ENTITY sep '" "'>
-<!-- Documents using the kimber index method must have a lang attribute -->
-<!-- Only one of these should be present in the entity -->
-
-<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())
-                and ($role = @role or $type = @type or
-                (string-length($role) = 0 and string-length($type) = 0))'>
-]>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:rx="http://www.renderx.com/XSL/Extensions"
-                xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
-                xmlns:i="urn:cz-kosek:functions:index"
-                xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
-                xmlns:func="http://exslt.org/functions"
-                xmlns:exslt="http://exslt.org/common"
-                extension-element-prefixes="func exslt"
-                exclude-result-prefixes="func exslt i l"
-                version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the DocBook XSL Stylesheet distribution.
-     See ../README or http://docbook.sf.net/ for copyright
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<!-- The "kosek" method contributed by Jirka Kosek. -->
-
-<xsl:include href="../common/autoidx-kosek.xsl"/>
-
-<xsl:template name="generate-kosek-index">
-  <xsl:param name="scope" select="NOTANODE"/>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:if test="contains($vendor, 'libxslt')">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method does not </xsl:text>
-      <xsl:text>work with the xsltproc XSLT processor.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="contains($vendor, 'Saxonica')">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method does not </xsl:text>
-      <xsl:text>work with the Saxon 8 XSLT processor.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-
-  <xsl:if test="not(function-available('exslt:node-set') or
-                    function-available('exslt:nodeSet'))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method requires the </xsl:text>
-      <xsl:text>exslt:node-set() function. Use a processor that </xsl:text>
-      <xsl:text>has it, or use a different index method.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="not(function-available('i:group-index'))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method requires the&#xA;</xsl:text>
-      <xsl:text>index extension functions be imported:&#xA;</xsl:text>
-      <xsl:text>  xsl:import href="common/autoidx-kosek.xsl"</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="role">
-    <xsl:if test="$index.on.role != 0">
-      <xsl:value-of select="@role"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="type">
-    <xsl:if test="$index.on.type != 0">
-      <xsl:value-of select="@type"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="terms"
-                select="//indexterm[count(.|key('group-code',
-                                          i:group-index(&primary;))
-                                          [&scope;][1]) = 1
-                                and not(@class = 'endofrange')]"/>
-  <fo:block>
-    <xsl:apply-templates select="$terms" mode="index-div-kosek">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="i:group-index(&primary;)" data-type="number"/>
-    </xsl:apply-templates>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-div-kosek">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key"
-                select="i:group-index(&primary;)"/>
-
-  <xsl:variable name="lang">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:variable>
-
-  <xsl:if test="key('group-code', $key)[&scope;]
-                [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
-    <fo:block>
-      <xsl:call-template name="indexdiv.title">
-        <xsl:with-param name="titlecontent">
-          <xsl:choose>
-            <xsl:when test="$key = 0">
-              <xsl:call-template name="gentext">
-                <xsl:with-param name="key" select="'index symbols'"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:value-of select="i:group-letter($key)"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-      </xsl:call-template>
-      <fo:block>
-        <xsl:apply-templates select="key('group-code', $key)[&scope;]
-                                     [count(.|key('primary', &primary;)
-                                     [&scope;][1])=1]"
-                             mode="index-primary">
-          <xsl:sort select="&primary;" lang="{$lang}"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-        </xsl:apply-templates>
-      </fo:block>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/autoidx-ng.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/autoidx-ng.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,20 +1,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the DocBook XSL Stylesheet distribution.
-     See ../README or http://docbook.sf.net/ for copyright
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- You should have this directly in your customization file. -->
-<!-- This file is there only to retain backward compatibility. -->
-<xsl:import href="autoidx-kosek.xsl"/>
-<xsl:param name="index.method">kosek</xsl:param>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/autoidx.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/autoidx.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1310 +1,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE xsl:stylesheet [
-<!ENTITY % common.entities SYSTEM "../common/entities.ent">
-%common.entities;
-]>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:rx="http://www.renderx.com/XSL/Extensions"
-                xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
-                xmlns:exslt="http://exslt.org/common"
-                extension-element-prefixes="exslt"
-                exclude-result-prefixes="exslt"
-                version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the DocBook XSL Stylesheet distribution.
-     See ../README or http://docbook.sf.net/ for copyright
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<!-- The "basic" method derived from Jeni Tennison's work. -->
-<!-- The "kosek" method contributed by Jirka Kosek. -->
-<!-- The "kimber" method contributed by Eliot Kimber of Innodata Isogen. -->
-
-<!-- Importing module for kimber or kosek method overrides one of these -->
-<xsl:param name="kimber.imported" select="0"/>
-<xsl:param name="kosek.imported" select="0"/>
-
-<!-- These keys used primary in all methods -->
-<xsl:key name="letter"
-         match="indexterm"
-         use="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
-
-<xsl:key name="primary"
-         match="indexterm"
-         use="&primary;"/>
-
-<xsl:key name="secondary"
-         match="indexterm"
-         use="concat(&primary;, &sep;, &secondary;)"/>
-
-<xsl:key name="tertiary"
-         match="indexterm"
-         use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;)"/>
-
-<xsl:key name="endofrange"
-         match="indexterm[@class='endofrange']"
-         use="@startref"/>
-
-<xsl:key name="see-also"
-         match="indexterm[seealso]"
-         use="concat(&primary;, &sep;, 
-                     &secondary;, &sep;, 
-                     &tertiary;, &sep;, seealso)"/>
-
-<xsl:key name="see"
-         match="indexterm[see]"
-         use="concat(&primary;, &sep;, 
-                     &secondary;, &sep;, 
-                     &tertiary;, &sep;, see)"/>
-
-
-<xsl:template name="generate-index">
-  <xsl:param name="scope" select="(ancestor::book|/)[last()]"/>
-
-  <xsl:choose>
-    <xsl:when test="$index.method = 'kosek'">
-      <xsl:call-template name="generate-kosek-index">
-        <xsl:with-param name="scope" select="$scope"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$index.method = 'kimber'">
-      <xsl:call-template name="generate-kimber-index">
-        <xsl:with-param name="scope" select="$scope"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:call-template name="generate-basic-index">
-        <xsl:with-param name="scope" select="$scope"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-      
-<xsl:template name="generate-basic-index">
-  <xsl:param name="scope" select="NOTANODE"/>
-
-  <xsl:variable name="role">
-    <xsl:if test="$index.on.role != 0">
-      <xsl:value-of select="@role"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="type">
-    <xsl:if test="$index.on.type != 0">
-      <xsl:value-of select="@type"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="terms"
-                select="//indexterm
-                        [count(.|key('letter',
-                          translate(substring(&primary;, 1, 1),
-                             &lowercase;,
-                             &uppercase;))
-                          [&scope;][1]) = 1
-                          and not(@class = 'endofrange')]"/>
-
-  <xsl:variable name="alphabetical"
-                select="$terms[contains(concat(&lowercase;, &uppercase;),
-                                        substring(&primary;, 1, 1))]"/>
-
-  <xsl:variable name="others" select="$terms[not(contains(
-                                        concat(&lowercase;,
-                                        &uppercase;),
-                                        substring(&primary;, 1, 1)))]"/>
-  <fo:block>
-    <xsl:if test="$others">
-      <xsl:call-template name="indexdiv.title">
-        <xsl:with-param name="titlecontent">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'index symbols'"/>
-          </xsl:call-template>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <fo:block>
-        <xsl:apply-templates select="$others[count(.|key('primary',
-                                     &primary;)[&scope;][1]) = 1]"
-                             mode="index-symbol-div">
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:sort select="translate(&primary;, &lowercase;, 
-                            &uppercase;)"/>
-        </xsl:apply-templates>
-      </fo:block>
-    </xsl:if>
-
-    <xsl:apply-templates select="$alphabetical[count(.|key('letter',
-                                 translate(substring(&primary;, 1, 1),
-                                           &lowercase;,&uppercase;))
-                                           [&scope;][1]) = 1]"
-                         mode="index-div-basic">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-  </fo:block>
-</xsl:template>
-
-<!-- This template not used if fo/autoidx-kosek.xsl is imported -->
-<xsl:template name="generate-kosek-index">
-  <xsl:param name="scope" select="NOTANODE"/>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:if test="contains($vendor, 'libxslt')">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method does not </xsl:text>
-      <xsl:text>work with the xsltproc XSLT processor.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-
-  <xsl:if test="not(function-available('exslt:node-set') or
-                    function-available('exslt:nodeSet'))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method requires the </xsl:text>
-      <xsl:text>exslt:node-set() function. Use a processor that </xsl:text>
-      <xsl:text>has it, or use a different index method.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="$kosek.imported = 0">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method requires the&#xA;</xsl:text>
-      <xsl:text>kosek index extensions be imported:&#xA;</xsl:text>
-      <xsl:text>  xsl:import href="fo/autoidx-kosek.xsl"</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-</xsl:template>
-
-
-<!-- This template not used if fo/autoidx-kimber.xsl is imported -->
-<xsl:template name="generate-kimber-index">
-  <xsl:param name="scope" select="NOTANODE"/>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:if test="not(contains($vendor, 'SAXON '))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text>
-      <xsl:text>Saxon version 6 or 8 XSLT processor.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="$kimber.imported = 0">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kimber' index method requires the&#xA;</xsl:text>
-      <xsl:text>kimber index extensions be imported:&#xA;</xsl:text>
-      <xsl:text>  xsl:import href="fo/autoidx-kimber.xsl"</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-div-basic">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key"
-                select="translate(substring(&primary;, 1, 1),
-                         &lowercase;,&uppercase;)"/>
-
-  <xsl:if test="key('letter', $key)[&scope;]
-                [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
-    <fo:block>
-      <xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
-        <xsl:call-template name="indexdiv.title">
-          <xsl:with-param name="titlecontent">
-            <xsl:value-of select="translate($key, &lowercase;, &uppercase;)"/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:block xsl:use-attribute-sets="index.entry.properties">
-        <xsl:apply-templates select="key('letter', $key)[&scope;]
-                                     [count(.|key('primary', &primary;)
-                                     [&scope;][1])=1]"
-                             mode="index-primary">
-          <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-        </xsl:apply-templates>
-      </fo:block>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-symbol-div">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key"
-                select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
-
-  <fo:block xsl:use-attribute-sets="index.entry.properties">
-    <xsl:apply-templates select="key('letter', $key)[&scope;][count(.|key('primary', &primary;)[&scope;][1]) = 1]"
-                         mode="index-primary">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-primary">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key" select="&primary;"/>
-  <xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
-
-  <xsl:variable name="term.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.term.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="range.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.range.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="number.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.number.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <fo:block>
-    <xsl:if test="$axf.extensions != 0">
-      <xsl:attribute name="axf:suppress-duplicate-page-number">true</xsl:attribute>
-    </xsl:if>
-    <xsl:value-of select="primary"/>
-
-    <xsl:choose>
-      <xsl:when test="$xep.extensions != 0">
-        <xsl:if test="$refs[not(see) and not(secondary)]">
-          <xsl:copy-of select="$term.separator"/>
-          <xsl:variable name="primary" select="&primary;"/>
-          <xsl:variable name="primary.significant" select="concat(&primary;, $significant.flag)"/>
-          <rx:page-index list-separator="{$number.separator}"
-                         range-separator="{$range.separator}">
-            <xsl:if test="$refs[@significance='preferred'][not(see) and not(secondary)]">
-              <rx:index-item xsl:use-attribute-sets="index.preferred.page.properties xep.index.item.properties"
-                ref-key="{$primary.significant}"/>
-            </xsl:if>
-            <xsl:if test="$refs[not(@significance) or @significance!='preferred'][not(see) and not(secondary)]">
-              <rx:index-item xsl:use-attribute-sets="xep.index.item.properties"
-                ref-key="{$primary}"/>
-            </xsl:if>
-          </rx:page-index>        
-        </xsl:if>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:variable name="page-number-citations">
-          <xsl:for-each select="$refs[not(see) 
-                                and not(secondary)]">
-            <xsl:apply-templates select="." mode="reference">
-              <xsl:with-param name="scope" select="$scope"/>
-              <xsl:with-param name="role" select="$role"/>
-              <xsl:with-param name="type" select="$type"/>
-              <xsl:with-param name="position" select="position()"/>
-            </xsl:apply-templates>
-          </xsl:for-each>
-        </xsl:variable>
-
-        <xsl:choose>
-          <xsl:when test="$passivetex.extensions != '0'">
-            <fotex:sort xmlns:fotex="http://www.tug.org/fotex">
-              <xsl:copy-of select="$page-number-citations"/>
-            </fotex:sort>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:copy-of select="$page-number-citations"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:if test="$refs[not(secondary)]/*[self::see]">
-      <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &sep;, &sep;, see))[&scope;][1])]"
-                           mode="index-see">
-         <xsl:with-param name="scope" select="$scope"/>
-         <xsl:with-param name="role" select="$role"/>
-         <xsl:with-param name="type" select="$type"/>
-         <xsl:sort select="translate(see, &lowercase;, &uppercase;)"/>
-      </xsl:apply-templates>
-    </xsl:if>
-
-  </fo:block>
-
-  <xsl:if test="$refs/secondary or $refs[not(secondary)]/*[self::seealso]">
-    <fo:block start-indent="1pc">
-      <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &sep;, &sep;, seealso))[&scope;][1])]"
-                           mode="index-seealso">
-         <xsl:with-param name="scope" select="$scope"/>
-         <xsl:with-param name="role" select="$role"/>
-         <xsl:with-param name="type" select="$type"/>
-         <xsl:sort select="translate(seealso, &lowercase;, &uppercase;)"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates select="$refs[secondary and count(.|key('secondary', concat($key, &sep;, &secondary;))[&scope;][1]) = 1]"
-                           mode="index-secondary">
-       <xsl:with-param name="scope" select="$scope"/>
-       <xsl:with-param name="role" select="$role"/>
-       <xsl:with-param name="type" select="$type"/>
-       <xsl:sort select="translate(&secondary;, &lowercase;, &uppercase;)"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-secondary">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/>
-  <xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
-
-  <xsl:variable name="term.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.term.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="range.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.range.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="number.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.number.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <fo:block>
-    <xsl:if test="$axf.extensions != 0">
-      <xsl:attribute name="axf:suppress-duplicate-page-number">true</xsl:attribute>
-    </xsl:if>
-    <xsl:value-of select="secondary"/>
-
-    <xsl:choose>
-      <xsl:when test="$xep.extensions != 0">
-        <xsl:if test="$refs[not(see) and not(tertiary)]">
-          <xsl:copy-of select="$term.separator"/>
-          <xsl:variable name="primary" select="&primary;"/>
-          <xsl:variable name="secondary" select="&secondary;"/>
-          <xsl:variable name="primary.significant" select="concat(&primary;, $significant.flag)"/>
-          <rx:page-index list-separator="{$number.separator}"
-                         range-separator="{$range.separator}">
-            <xsl:if test="$refs[@significance='preferred'][not(see) and not(tertiary)]">
-              <rx:index-item xsl:use-attribute-sets="index.preferred.page.properties xep.index.item.properties">
-                <xsl:attribute name="ref-key">
-                  <xsl:value-of select="$primary.significant"/>
-                  <xsl:text>, </xsl:text>
-                  <xsl:value-of select="$secondary"/>
-                </xsl:attribute>
-              </rx:index-item>
-            </xsl:if>
-            <xsl:if test="$refs[not(@significance) or @significance!='preferred'][not(see) and not(tertiary)]">
-              <rx:index-item xsl:use-attribute-sets="xep.index.item.properties">
-                <xsl:attribute name="ref-key">
-                  <xsl:value-of select="$primary"/>
-                  <xsl:text>, </xsl:text>
-                  <xsl:value-of select="$secondary"/>
-                </xsl:attribute>
-              </rx:index-item>
-            </xsl:if>
-          </rx:page-index>
-        </xsl:if>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:variable name="page-number-citations">
-          <xsl:for-each select="$refs[not(see) 
-                                and not(tertiary)]">
-            <xsl:apply-templates select="." mode="reference">
-              <xsl:with-param name="scope" select="$scope"/>
-              <xsl:with-param name="role" select="$role"/>
-              <xsl:with-param name="type" select="$type"/>
-              <xsl:with-param name="position" select="position()"/>
-            </xsl:apply-templates>
-          </xsl:for-each>
-        </xsl:variable>
-
-        <xsl:choose>
-          <xsl:when test="$passivetex.extensions != '0'">
-            <fotex:sort xmlns:fotex="http://www.tug.org/fotex">
-              <xsl:copy-of select="$page-number-citations"/>
-            </fotex:sort>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:copy-of select="$page-number-citations"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:if test="$refs[not(tertiary)]/*[self::see]">
-      <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, see))[&scope;][1])]"
-                           mode="index-see">
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-        <xsl:sort select="translate(see, &lowercase;, &uppercase;)"/>
-      </xsl:apply-templates>
-    </xsl:if>
-
-  </fo:block>
-
-  <xsl:if test="$refs/tertiary or $refs[not(tertiary)]/*[self::seealso]">
-    <fo:block start-indent="2pc">
-      <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, seealso))[&scope;][1])]"
-                           mode="index-seealso">
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:sort select="translate(seealso, &lowercase;, &uppercase;)"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates select="$refs[tertiary and count(.|key('tertiary', concat($key, &sep;, &tertiary;))[&scope;][1]) = 1]" 
-                           mode="index-tertiary">
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:sort select="translate(&tertiary;, &lowercase;, &uppercase;)"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-tertiary">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;)"/>
-  <xsl:variable name="refs" select="key('tertiary', $key)[&scope;]"/>
-
-  <xsl:variable name="term.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.term.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="range.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.range.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="number.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.number.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <fo:block>
-    <xsl:if test="$axf.extensions != 0">
-      <xsl:attribute name="axf:suppress-duplicate-page-number">true</xsl:attribute>
-    </xsl:if>
-    <xsl:value-of select="tertiary"/>
-
-    <xsl:choose>
-      <xsl:when test="$xep.extensions != 0">
-        <xsl:if test="$refs[not(see)]">
-          <xsl:copy-of select="$term.separator"/>
-          <xsl:variable name="primary" select="&primary;"/>
-          <xsl:variable name="secondary" select="&secondary;"/>
-          <xsl:variable name="tertiary" select="&tertiary;"/>
-          <xsl:variable name="primary.significant" select="concat(&primary;, $significant.flag)"/>
-          <rx:page-index list-separator="{$number.separator}"
-                         range-separator="{$range.separator}">
-            <xsl:if test="$refs[@significance='preferred'][not(see)]">
-              <rx:index-item xsl:use-attribute-sets="index.preferred.page.properties xep.index.item.properties">
-                <xsl:attribute name="ref-key">
-                  <xsl:value-of select="$primary.significant"/>
-                  <xsl:text>, </xsl:text>
-                  <xsl:value-of select="$secondary"/>
-                  <xsl:text>, </xsl:text>
-                  <xsl:value-of select="$tertiary"/>
-                </xsl:attribute>
-              </rx:index-item>
-            </xsl:if>
-            <xsl:if test="$refs[not(@significance) or @significance!='preferred'][not(see)]">
-              <rx:index-item xsl:use-attribute-sets="xep.index.item.properties">
-                <xsl:attribute name="ref-key">
-                  <xsl:value-of select="$primary"/>
-                  <xsl:text>, </xsl:text>
-                  <xsl:value-of select="$secondary"/>
-                  <xsl:text>, </xsl:text>
-                  <xsl:value-of select="$tertiary"/>
-                </xsl:attribute>
-              </rx:index-item>
-            </xsl:if>
-          </rx:page-index>
-        </xsl:if>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:variable name="page-number-citations">
-          <xsl:for-each select="$refs[not(see)]">
-            <xsl:apply-templates select="." mode="reference">
-              <xsl:with-param name="scope" select="$scope"/>
-              <xsl:with-param name="role" select="$role"/>
-              <xsl:with-param name="type" select="$type"/>
-              <xsl:with-param name="position" select="position()"/>
-            </xsl:apply-templates>
-          </xsl:for-each>
-        </xsl:variable>
-
-        <xsl:choose>
-          <xsl:when test="$passivetex.extensions != '0'">
-            <fotex:sort xmlns:fotex="http://www.tug.org/fotex">
-              <xsl:copy-of select="$page-number-citations"/>
-            </fotex:sort>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:copy-of select="$page-number-citations"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:if test="$refs/see">
-      <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, see))[&scope;][1])]"
-                           mode="index-see">
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-        <xsl:sort select="translate(see, &lowercase;, &uppercase;)"/>
-      </xsl:apply-templates>
-    </xsl:if>
-
-  </fo:block>
-
-  <xsl:if test="$refs/seealso">
-    <fo:block>
-      <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, seealso))[&scope;][1])]"
-                           mode="index-seealso">
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-        <xsl:sort select="translate(seealso, &lowercase;, &uppercase;)"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="reference">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:param name="position" select="0"/>
-  <xsl:param name="separator" select="''"/>
-
-  <xsl:variable name="term.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.term.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="range.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.range.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="number.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.number.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$separator != ''">
-      <xsl:value-of select="$separator"/>
-    </xsl:when>
-    <xsl:when test="$position = 1">
-      <xsl:value-of select="$term.separator"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$number.separator"/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="@zone and string(@zone)">
-      <xsl:call-template name="reference">
-        <xsl:with-param name="zones" select="normalize-space(@zone)"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="ancestor::*[contains(local-name(),'info') and not(starts-with(local-name(),'info'))]">
-      <xsl:call-template name="info.reference">
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:variable>
-
-      <fo:basic-link internal-destination="{$id}"
-                     xsl:use-attribute-sets="index.page.number.properties">
-        <fo:page-number-citation ref-id="{$id}"/>
-      </fo:basic-link>
-
-      <xsl:if test="key('endofrange', $id)[&scope;]">
-        <xsl:apply-templates select="key('endofrange', $id)[&scope;][last()]"
-                             mode="reference">
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:with-param name="separator" select="$range.separator"/>
-        </xsl:apply-templates>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="reference">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:param name="zones"/>
-
-  <xsl:variable name="number.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.number.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="contains($zones, ' ')">
-      <xsl:variable name="zone" select="substring-before($zones, ' ')"/>
-      <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
-
-      <xsl:variable name="id">
-        <xsl:call-template name="object.id">
-           <xsl:with-param name="object" select="$target[1]"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <fo:basic-link internal-destination="{$id}"
-                     xsl:use-attribute-sets="index.page.number.properties">
-        <fo:page-number-citation ref-id="{$id}"/>
-      </fo:basic-link>
-
-      <xsl:if test="$passivetex.extensions = '0'">
-        <xsl:copy-of select="$number.separator"/>
-      </xsl:if>
-      <xsl:call-template name="reference">
-        <xsl:with-param name="zones" select="substring-after($zones, ' ')"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="zone" select="$zones"/>
-      <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
-
-      <xsl:variable name="id">
-        <xsl:call-template name="object.id">
-          <xsl:with-param name="object" select="$target[1]"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <fo:basic-link internal-destination="{$id}"
-                     xsl:use-attribute-sets="index.page.number.properties">
-        <fo:page-number-citation ref-id="{$id}"/>
-      </fo:basic-link>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="info.reference">
-  <!-- This is not perfect. It doesn't treat indexterm inside info element as a range covering whole parent of info.
-       It also not work when there is no ID generated for parent element. But it works in the most common cases. -->
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="target" select="(ancestor::appendix|ancestor::article|ancestor::bibliography|ancestor::book|
-                                       ancestor::chapter|ancestor::glossary|ancestor::part|ancestor::preface|
-                                       ancestor::refentry|ancestor::reference|ancestor::refsect1|ancestor::refsect2|
-                                       ancestor::refsect3|ancestor::refsection|ancestor::refsynopsisdiv|
-                                       ancestor::sect1|ancestor::sect2|ancestor::sect3|ancestor::sect4|ancestor::sect5|
-                                       ancestor::section|ancestor::setindex|ancestor::set|ancestor::sidebar)[&scope;]"/>
-  
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$target[1]"/>
-    </xsl:call-template>
-  </xsl:variable>
-  
-  <fo:basic-link internal-destination="{$id}"
-                 xsl:use-attribute-sets="index.page.number.properties">
-    <fo:page-number-citation ref-id="{$id}"/>
-  </fo:basic-link>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-see">
-   <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-   <fo:inline>
-     <xsl:text> (</xsl:text>
-     <xsl:call-template name="gentext">
-       <xsl:with-param name="key" select="'see'"/>
-     </xsl:call-template>
-     <xsl:text> </xsl:text>
-     <xsl:value-of select="see"/>
-     <xsl:text>)</xsl:text>
-   </fo:inline>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-seealso">
-   <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:for-each select="seealso">
-    <xsl:sort select="translate(., &lowercase;, &uppercase;)"/>
-    <fo:block>
-      <xsl:text>(</xsl:text>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'seealso'"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="."/>
-      <xsl:text>)</xsl:text>
-    </fo:block>
-  </xsl:for-each>
-
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template name="generate-index-markup">
-  <xsl:param name="scope" select="(ancestor::book|/)[last()]"/>
-  <xsl:param name="role" select="@role"/>
-  <xsl:param name="type" select="@type"/>
-
-  <xsl:variable name="terms" select="$scope//indexterm[count(.|key('letter',
-                                     translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;))[&scope;][1]) = 1]"/>
-  <xsl:variable name="alphabetical"
-                select="$terms[contains(concat(&lowercase;, &uppercase;),
-                                        substring(&primary;, 1, 1))]"/>
-  <xsl:variable name="others" select="$terms[not(contains(concat(&lowercase;,
-                                                 &uppercase;),
-                                             substring(&primary;, 1, 1)))]"/>
-
-  <xsl:text>&lt;index&gt;&#10;</xsl:text>
-  <xsl:if test="$others">
-    <xsl:text>&#10;&lt;indexdiv&gt;&#10;</xsl:text>
-    <xsl:text>&lt;title&gt;</xsl:text>
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'index symbols'"/>
-    </xsl:call-template>
-    <xsl:text>&lt;/title&gt;&#10;</xsl:text>
-    <xsl:apply-templates select="$others[count(.|key('primary',
-                                 &primary;)[&scope;][1]) = 1]"
-                         mode="index-symbol-div-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-    <xsl:text>&lt;/indexdiv&gt;&#10;</xsl:text>
-  </xsl:if>
-
-  <xsl:apply-templates select="$alphabetical[count(.|key('letter',
-                               translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;))[&scope;][1]) = 1]"
-                       mode="index-div-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
-  </xsl:apply-templates>
-  <xsl:text>&lt;/index&gt;&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="*" mode="index-markup">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:text>&lt;</xsl:text>
-  <xsl:value-of select="local-name(.)"/>
-  <xsl:text>&gt;&#10;</xsl:text>
-  <xsl:apply-templates mode="index-markup">
-    <xsl:with-param name="scope" select="$scope"/>
-    <xsl:with-param name="role" select="$role"/>
-    <xsl:with-param name="type" select="$type"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-div-markup">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:variable name="key" select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
-  <xsl:text>&#10;&lt;indexdiv&gt;&#10;</xsl:text>
-  <xsl:text>&lt;title&gt;</xsl:text>
-  <xsl:value-of select="translate($key, &lowercase;, &uppercase;)"/>
-  <xsl:text>&lt;/title&gt;&#10;</xsl:text>
-
-  <xsl:apply-templates select="key('letter', $key)[&scope;][count(.|key('primary', &primary;)[&scope;][1]) = 1]"
-                       mode="index-primary-markup">
-    <xsl:with-param name="scope" select="$scope"/>
-    <xsl:with-param name="role" select="$role"/>
-    <xsl:with-param name="type" select="$type"/>
-    <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
-  </xsl:apply-templates>
-  <xsl:text>&lt;/indexdiv&gt;&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-symbol-div-markup">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:variable name="key" select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
-
-  <xsl:apply-templates select="key('letter', $key)[&scope;][count(.|key('primary', &primary;)[&scope;][1]) = 1]"
-                       mode="index-primary-markup">
-    <xsl:with-param name="scope" select="$scope"/>
-    <xsl:with-param name="role" select="$role"/>
-    <xsl:with-param name="type" select="$type"/>
-    <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-primary-markup">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:variable name="key" select="&primary;"/>
-  <xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
-  <xsl:variable name="pages" select="$refs[not(see) and not(seealso)]"/>
-
-  <xsl:text>&#10;&lt;indexentry&gt;&#10;</xsl:text>
-  <xsl:text>&lt;primaryie&gt;</xsl:text>
-  <xsl:text>&lt;phrase&gt;</xsl:text>
-  <xsl:call-template name="escape-text">
-    <xsl:with-param name="text" select="string(primary)"/>
-  </xsl:call-template>
-  <xsl:text>&lt;/phrase&gt;</xsl:text>
-  <xsl:if test="$pages">,</xsl:if>
-  <xsl:text>&#10;</xsl:text>
-
-  <xsl:for-each select="$pages">
-    <xsl:apply-templates select="." mode="reference-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-    </xsl:apply-templates>
-  </xsl:for-each>
-
-  <xsl:text>&lt;/primaryie&gt;&#10;</xsl:text>
-
-  <xsl:if test="$refs/secondary or $refs[not(secondary)]/*[self::see or self::seealso]">
-    <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &sep;, &sep;, see))[&scope;][1])]"
-                         mode="index-see-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(see, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-
-    <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &sep;, &sep;, seealso))[&scope;][1])]"
-                         mode="index-seealso-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(seealso, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-
-    <xsl:apply-templates select="$refs[secondary and count(.|key('secondary', concat($key, &sep;, &secondary;))[&scope;][1]) = 1]" 
-                         mode="index-secondary-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(&secondary;, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-  </xsl:if>
-  <xsl:text>&lt;/indexentry&gt;&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-secondary-markup">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/>
-  <xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
-  <xsl:variable name="pages" select="$refs[not(see) and not(seealso)]"/>
-
-  <xsl:text>&lt;secondaryie&gt;</xsl:text>
-  <xsl:text>&lt;phrase&gt;</xsl:text>
-  <xsl:call-template name="escape-text">
-    <xsl:with-param name="text" select="string(secondary)"/>
-  </xsl:call-template>
-  <xsl:text>&lt;/phrase&gt;</xsl:text>
-  <xsl:if test="$pages">,</xsl:if>
-  <xsl:text>&#10;</xsl:text>
-
-  <xsl:for-each select="$pages">
-    <xsl:apply-templates select="." mode="reference-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-    </xsl:apply-templates>
-  </xsl:for-each>
-
-  <xsl:text>&lt;/secondaryie&gt;&#10;</xsl:text>
-
-  <xsl:if test="$refs/tertiary or $refs[not(tertiary)]/*[self::see or self::seealso]">
-    <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, see))[&scope;][1])]"
-                         mode="index-see-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(see, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, seealso))[&scope;][1])]"
-                         mode="index-seealso-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(seealso, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="$refs[tertiary and count(.|key('tertiary', concat($key, &sep;, &tertiary;))[&scope;][1]) = 1]" 
-                         mode="index-tertiary-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(&tertiary;, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-tertiary-markup">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;)"/>
-  <xsl:variable name="refs" select="key('tertiary', $key)[&scope;]"/>
-  <xsl:variable name="pages" select="$refs[not(see) and not(seealso)]"/>
-
-  <xsl:text>&lt;tertiaryie&gt;</xsl:text>
-  <xsl:text>&lt;phrase&gt;</xsl:text>
-  <xsl:call-template name="escape-text">
-    <xsl:with-param name="text" select="string(tertiary)"/>
-  </xsl:call-template>
-  <xsl:text>&lt;/phrase&gt;</xsl:text>
-  <xsl:if test="$pages">,</xsl:if>
-  <xsl:text>&#10;</xsl:text>
-
-  <xsl:for-each select="$pages">
-    <xsl:apply-templates select="." mode="reference-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-    </xsl:apply-templates>
-  </xsl:for-each>
-
-  <xsl:text>&lt;/tertiaryie&gt;&#10;</xsl:text>
-
-  <xsl:variable name="see" select="$refs/see | $refs/seealso"/>
-  <xsl:if test="$see">
-    <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, see))[&scope;][1])]"
-                         mode="index-see-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(see, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, seealso))[&scope;][1])]"
-                         mode="index-seealso-markup">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(seealso, &lowercase;, &uppercase;)"/>
-    </xsl:apply-templates>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="reference-markup">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:choose>
-    <xsl:when test="@zone and string(@zone)">
-      <xsl:call-template name="reference-markup">
-        <xsl:with-param name="zones" select="normalize-space(@zone)"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:variable>
-
-
-      <xsl:choose>
-        <xsl:when test="@startref and @class='endofrange'">
-          <xsl:text>&lt;phrase role="pageno"&gt;</xsl:text>
-          <xsl:text>&lt;link linkend="</xsl:text>
-          <xsl:value-of select="@startref"/>
-          <xsl:text>"&gt;</xsl:text>
-          <fo:basic-link internal-destination="{@startref}"
-                     xsl:use-attribute-sets="index.page.number.properties">
-            <fo:page-number-citation ref-id="{@startref}"/>
-            <xsl:text>-</xsl:text>
-            <fo:page-number-citation ref-id="{$id}"/>
-          </fo:basic-link>
-          <xsl:text>&lt;/link&gt;</xsl:text>
-          <xsl:text>&lt;/phrase&gt;&#10;</xsl:text>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:text>&lt;phrase role="pageno"&gt;</xsl:text>
-          <xsl:if test="$id">
-            <xsl:text>&lt;link linkend="</xsl:text>
-            <xsl:value-of select="$id"/>
-            <xsl:text>"&gt;</xsl:text>
-          </xsl:if>
-          <fo:basic-link internal-destination="{$id}"
-                     xsl:use-attribute-sets="index.page.number.properties">
-            <fo:page-number-citation ref-id="{$id}"/>
-          </fo:basic-link>
-          <xsl:if test="$id">
-            <xsl:text>&lt;/link&gt;</xsl:text>
-          </xsl:if>
-          <xsl:text>&lt;/phrase&gt;&#10;</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="reference-markup">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:param name="zones"/>
-  <xsl:choose>
-    <xsl:when test="contains($zones, ' ')">
-      <xsl:variable name="zone" select="substring-before($zones, ' ')"/>
-      <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
-
-      <xsl:variable name="id">
-        <xsl:call-template name="object.id">
-          <xsl:with-param name="object" select="$target[1]"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:text>&lt;phrase fole="pageno"&gt;</xsl:text>
-      <xsl:if test="$target[1]/@id or $target[1]/@xml:id">
-        <xsl:text>&lt;link linkend="</xsl:text>
-        <xsl:value-of select="$id"/>
-        <xsl:text>"&gt;</xsl:text>
-      </xsl:if>
-      <fo:basic-link internal-destination="{$id}"
-                     xsl:use-attribute-sets="index.page.number.properties">
-        <fo:page-number-citation ref-id="{$id}"/>
-      </fo:basic-link>
-      <xsl:if test="$target[1]/@id or $target[1]/@xml:id">
-        <xsl:text>&lt;/link&gt;</xsl:text>
-      </xsl:if>
-      <xsl:text>&lt;/phrase&gt;&#10;</xsl:text>
-
-      <xsl:call-template name="reference">
-        <xsl:with-param name="zones" select="substring-after($zones, ' ')"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="zone" select="$zones"/>
-      <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
-
-      <xsl:variable name="id">
-        <xsl:call-template name="object.id">
-          <xsl:with-param name="object" select="$target[1]"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:text>&lt;phrase role="pageno"&gt;</xsl:text>
-      <xsl:if test="$target[1]/@id or target[1]/@xml:id">
-        <xsl:text>&lt;link linkend="</xsl:text>
-        <xsl:value-of select="$id"/>
-        <xsl:text>"&gt;</xsl:text>
-      </xsl:if>
-      <fo:basic-link internal-destination="{$id}"
-                     xsl:use-attribute-sets="index.page.number.properties">
-        <fo:page-number-citation ref-id="{$id}"/>
-      </fo:basic-link>
-      <xsl:if test="$target[1]/@id or target[1]/@xml:id">
-        <xsl:text>&lt;/link&gt;</xsl:text>
-      </xsl:if>
-      <xsl:text>&lt;/phrase&gt;&#10;</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-see-markup">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <fo:block>
-    <xsl:text>&lt;seeie&gt;</xsl:text>
-    <xsl:text>&lt;phrase&gt;</xsl:text>
-    <xsl:call-template name="escape-text">
-      <xsl:with-param name="text" select="string(see)"/>
-    </xsl:call-template>
-    <xsl:text>&lt;/phrase&gt;</xsl:text>
-    <xsl:text>&lt;/seeie&gt;&#10;</xsl:text>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-seealso-markup">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <fo:block>
-    <xsl:text>&lt;seealsoie&gt;</xsl:text>
-    <xsl:text>&lt;phrase&gt;</xsl:text>
-    <xsl:call-template name="escape-text">
-      <xsl:with-param name="text" select="string(seealso)"/>
-    </xsl:call-template>
-    <xsl:text>&lt;/phrase&gt;</xsl:text>
-    <xsl:text>&lt;/seealsoie&gt;&#10;</xsl:text>
-  </fo:block>
-</xsl:template>
-
-<xsl:template name="escape-text">
-  <xsl:param name="text" select="''"/>
-
-  <xsl:variable name="ltpos" select="substring-before($text, '&lt;')"/>
-  <xsl:variable name="amppos" select="substring-before($text, '&amp;')"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($text,'&lt;') and contains($text, '&amp;')
-                    and string-length($ltpos) &lt; string-length($amppos)">
-      <xsl:value-of select="$ltpos"/>
-      <xsl:text>&amp;lt;</xsl:text>
-      <xsl:call-template name="escape-text">
-        <xsl:with-param name="text" select="substring-after($text, '&lt;')"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:when test="contains($text,'&lt;') and contains($text, '&amp;')
-                    and string-length($amppos) &lt; string-length($ltpos)">
-      <xsl:value-of select="$amppos"/>
-      <xsl:text>&amp;amp;</xsl:text>
-      <xsl:call-template name="escape-text">
-        <xsl:with-param name="text" select="substring-after($text, '&amp;')"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:when test="contains($text, '&lt;')">
-      <xsl:value-of select="$ltpos"/>
-      <xsl:text>&amp;lt;</xsl:text>
-      <xsl:call-template name="escape-text">
-        <xsl:with-param name="text" select="substring-after($text, '&lt;')"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:when test="contains($text, '&amp;')">
-      <xsl:value-of select="$amppos"/>
-      <xsl:text>&amp;amp;</xsl:text>
-      <xsl:call-template name="escape-text">
-        <xsl:with-param name="text" select="substring-after($text, '&amp;')"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:value-of select="$text"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="index.separator">
-  <xsl:param name="key" select="''"/>
-  <xsl:param name="lang">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="$key = 'index.term.separator'">
-      <xsl:choose>
-        <!-- Use the override if not blank -->
-        <xsl:when test="$index.term.separator != ''">
-          <xsl:copy-of select="$index.term.separator"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="lang" select="$lang"/>
-            <xsl:with-param name="context">index</xsl:with-param>
-            <xsl:with-param name="name">term-separator</xsl:with-param>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="$key = 'index.number.separator'">
-      <xsl:choose>
-        <!-- Use the override if not blank -->
-        <xsl:when test="$index.number.separator != ''">
-          <xsl:copy-of select="$index.number.separator"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="lang" select="$lang"/>
-            <xsl:with-param name="context">index</xsl:with-param>
-            <xsl:with-param name="name">number-separator</xsl:with-param>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="$key = 'index.range.separator'">
-      <xsl:choose>
-        <!-- Use the override if not blank -->
-        <xsl:when test="$index.range.separator != ''">
-          <xsl:copy-of select="$index.range.separator"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="lang" select="$lang"/>
-            <xsl:with-param name="context">index</xsl:with-param>
-            <xsl:with-param name="name">range-separator</xsl:with-param>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/autotoc.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/autotoc.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,855 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template name="set.toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="nodes" select="book|setindex"/>
-
-  <xsl:if test="$nodes">
-    <fo:block id="toc...{$id}"
-              xsl:use-attribute-sets="toc.margin.properties">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:attribute name="axf:outline-level">1</xsl:attribute>
-        <xsl:attribute name="axf:outline-expand">false</xsl:attribute>
-        <xsl:attribute name="axf:outline-title">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'TableofContents'"/>
-          </xsl:call-template>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:call-template name="table.of.contents.titlepage"/>
-      <xsl:apply-templates select="$nodes" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="division.toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="toc.title.p" select="true()"/>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="nodes"
-                select="$toc-context/part
-                        |$toc-context/reference
-                        |$toc-context/preface
-                        |$toc-context/chapter
-                        |$toc-context/appendix
-                        |$toc-context/article
-                        |$toc-context/bibliography
-                        |$toc-context/glossary
-                        |$toc-context/index"/>
-
-  <xsl:if test="$nodes">
-    <fo:block id="toc...{$cid}"
-              xsl:use-attribute-sets="toc.margin.properties">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:attribute name="axf:outline-level">1</xsl:attribute>
-        <xsl:attribute name="axf:outline-expand">false</xsl:attribute>
-        <xsl:attribute name="axf:outline-title">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'TableofContents'"/>
-          </xsl:call-template>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:if test="$toc.title.p">
-        <xsl:call-template name="table.of.contents.titlepage"/>
-      </xsl:if>
-      <xsl:apply-templates select="$nodes" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="component.toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="toc.title.p" select="true()"/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="nodes" select="section|sect1|refentry
-                                     |article|bibliography|glossary
-                                     |qandaset[$qanda.in.toc != 0]
-                                     |appendix|index"/>
-  <xsl:if test="$nodes">
-    <fo:block id="toc...{$id}"
-              xsl:use-attribute-sets="toc.margin.properties">
-      <xsl:if test="$toc.title.p">
-        <xsl:call-template name="table.of.contents.titlepage"/>
-      </xsl:if>
-      <xsl:apply-templates select="$nodes" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="component.toc.separator">
-  <!-- Customize to output something between
-       component.toc and first output -->
-</xsl:template>
-
-<xsl:template name="section.toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="toc.title.p" select="true()"/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="nodes"
-                select="section|sect1|sect2|sect3|sect4|sect5|refentry
-                        |qandaset[$qanda.in.toc != 0]
-                        |bridgehead[$bridgehead.in.toc != 0]"/>
-
-  <xsl:variable name="level">
-    <xsl:call-template name="section.level"/>
-  </xsl:variable>
-
-  <xsl:if test="$nodes">
-    <fo:block id="toc...{$id}"
-              xsl:use-attribute-sets="toc.margin.properties">
-
-      <xsl:if test="$toc.title.p">
-        <xsl:call-template name="section.heading">
-          <xsl:with-param name="level" select="$level + 1"/>
-          <xsl:with-param name="title">
-            <fo:block space-after="0.5em">
-              <xsl:call-template name="gentext">
-                <xsl:with-param name="key" select="'TableofContents'"/>
-              </xsl:call-template>
-            </fo:block>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-
-      <xsl:apply-templates select="$nodes" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="section.toc.separator">
-  <!-- Customize to output something between
-       section.toc and first output -->
-</xsl:template>
-<!-- ==================================================================== -->
-
-<xsl:template name="toc.line">
-  <xsl:param name="toc-context" select="NOTANODE"/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="label">
-    <xsl:apply-templates select="." mode="label.markup"/>
-  </xsl:variable>
-
-  <fo:block xsl:use-attribute-sets="toc.line.properties">
-    <fo:inline keep-with-next.within-line="always">
-      <fo:basic-link internal-destination="{$id}">
-        <xsl:if test="$label != ''">
-          <xsl:copy-of select="$label"/>
-          <xsl:value-of select="$autotoc.label.separator"/>
-        </xsl:if>
-        <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-      </fo:basic-link>
-    </fo:inline>
-    <fo:inline keep-together.within-line="always">
-      <xsl:text> </xsl:text>
-      <fo:leader leader-pattern="dots"
-                 leader-pattern-width="3pt"
-                 leader-alignment="reference-area"
-                 keep-with-next.within-line="always"/>
-      <xsl:text> </xsl:text> 
-      <fo:basic-link internal-destination="{$id}">
-        <fo:page-number-citation ref-id="{$id}"/>
-      </fo:basic-link>
-    </fo:inline>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<xsl:template name="qandaset.toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="toc.title.p" select="true()"/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="nodes" select="qandadiv|qandaentry"/>
-
-  <xsl:if test="$nodes">
-    <fo:block id="toc...{$id}"
-              xsl:use-attribute-sets="toc.margin.properties">
-      <xsl:if test="$toc.title.p">
-        <xsl:call-template name="table.of.contents.titlepage"/>
-      </xsl:if>
-      <xsl:apply-templates select="$nodes" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="qandaset.toc.separator">
-  <!-- Customize to output something between
-       qandaset.toc and first output -->
-</xsl:template>
-
-<xsl:template match="qandadiv" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-
-  <xsl:variable name="nodes" select="qandadiv|qandaentry"/>
-
-  <xsl:if test="$nodes">
-    <fo:block id="toc.{$cid}.{$id}">
-      <xsl:attribute name="margin-left">
-        <xsl:call-template name="set.toc.indent"/>
-      </xsl:attribute>
-
-      <xsl:apply-templates select="$nodes" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="qandaentry" mode="toc">
-  <xsl:apply-templates select="question" mode="toc"/>
-</xsl:template>
-
-<xsl:template match="question" mode="toc">
-  <xsl:variable name="firstchunk">
-    <xsl:apply-templates select="(*[local-name(.)!='label'])[1]/node()"/>
-  </xsl:variable>
-
-  <xsl:variable name="deflabel">
-    <xsl:choose>
-      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
-        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
-                              /@defaultlabel"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$qanda.defaultlabel"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="label">
-    <xsl:apply-templates select="." mode="label.markup"/>
-  </xsl:variable>
-
-  <fo:block xsl:use-attribute-sets="toc.line.properties"
-	    margin-left="3em"
-	    text-indent="-3em"
-            end-indent="{$toc.indent.width}pt"
-            last-line-end-indent="-{$toc.indent.width}pt">
-    <fo:inline keep-with-next.within-line="always">
-      <fo:basic-link internal-destination="{$id}">
-        <xsl:if test="$label != ''">
-          <xsl:copy-of select="$label"/>
-          <xsl:if test="$deflabel = 'number' and not(label)">
-            <xsl:value-of select="$autotoc.label.separator"/>
-          </xsl:if>
-	  <xsl:text> </xsl:text>
-        </xsl:if>
-        <xsl:copy-of select="$firstchunk"/>
-      </fo:basic-link>
-    </fo:inline>
-    <fo:inline keep-together.within-line="always">
-      <xsl:text> </xsl:text>
-      <fo:leader leader-pattern="dots"
-                 leader-pattern-width="3pt"
-                 leader-alignment="reference-area"
-                 keep-with-next.within-line="always"/>
-      <xsl:text> </xsl:text> 
-      <fo:basic-link internal-destination="{$id}">
-        <fo:page-number-citation ref-id="{$id}"/>
-      </fo:basic-link>
-    </fo:inline>
-  </fo:block>
-
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="book|setindex" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-
-  <xsl:variable name="nodes" select="glossary|bibliography|preface|chapter
-                                     |reference|part|article|appendix|index"/>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:if test="$toc.section.depth > 0 
-                and $toc.max.depth > $depth.from.context
-                and $nodes">
-    <fo:block id="toc.{$cid}.{$id}">
-      <xsl:attribute name="margin-left">
-        <xsl:call-template name="set.toc.indent"/>
-      </xsl:attribute>
-
-      <xsl:apply-templates select="$nodes" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="part" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-
-  <xsl:variable name="nodes" select="chapter|appendix|preface|reference|
-                                     refentry|article|index|glossary|
-                                     bibliography"/>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:if test="$toc.section.depth > 0 
-                and $toc.max.depth > $depth.from.context
-                and $nodes">
-    <fo:block id="toc.{$cid}.{$id}">
-      <xsl:attribute name="margin-left">
-        <xsl:call-template name="set.toc.indent"/>
-      </xsl:attribute>
-      
-      <xsl:apply-templates select="$nodes" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="reference" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-
-  <xsl:if test="$toc.section.depth > 0
-                and $toc.max.depth > $depth.from.context
-                and refentry">
-    <fo:block id="toc.{$cid}.{$id}">
-      <xsl:attribute name="margin-left">
-        <xsl:call-template name="set.toc.indent"/>
-      </xsl:attribute>
-              
-      <xsl:apply-templates select="refentry" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refentry" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="preface|chapter|appendix|article"
-              mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-
-  <xsl:variable name="nodes" select="section|sect1
-                                     |qandaset[$qanda.in.toc != 0]
-                                     |simplesect[$simplesect.in.toc != 0]
-                                     |refentry|appendix"/>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:if test="$toc.section.depth > 0 
-                and $toc.max.depth > $depth.from.context
-                and $nodes">
-    <fo:block id="toc.{$cid}.{$id}">
-      <xsl:attribute name="margin-left">
-        <xsl:call-template name="set.toc.indent"/>
-      </xsl:attribute>
-              
-      <xsl:apply-templates select="$nodes" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="sect1" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:if test="$toc.section.depth > 1 
-                and $toc.max.depth > $depth.from.context
-                and sect2">
-    <fo:block id="toc.{$cid}.{$id}">
-      <xsl:attribute name="margin-left">
-        <xsl:call-template name="set.toc.indent"/>
-      </xsl:attribute>
-              
-      <xsl:apply-templates select="sect2|qandaset[$qanda.in.toc != 0]" 
-                           mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="sect2" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-
-  <xsl:variable name="reldepth"
-                select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:if test="$toc.section.depth > 2 
-                and $toc.max.depth > $depth.from.context
-                and sect3">
-    <fo:block id="toc.{$cid}.{$id}">
-      <xsl:attribute name="margin-left">
-        <xsl:call-template name="set.toc.indent">
-          <xsl:with-param name="reldepth" select="$reldepth"/>
-        </xsl:call-template>
-      </xsl:attribute>
-              
-      <xsl:apply-templates select="sect3|qandaset[$qanda.in.toc != 0]" 
-                           mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="sect3" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-
-  <xsl:variable name="reldepth"
-                select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:if test="$toc.section.depth > 3 
-                and $toc.max.depth > $depth.from.context
-                and sect4">
-    <fo:block id="toc.{$cid}.{$id}">
-      <xsl:attribute name="margin-left">
-        <xsl:call-template name="set.toc.indent">
-          <xsl:with-param name="reldepth" select="$reldepth"/>
-        </xsl:call-template>
-      </xsl:attribute>
-              
-      <xsl:apply-templates select="sect4|qandaset[$qanda.in.toc != 0]" 
-                           mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="sect4" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-
-  <xsl:variable name="reldepth"
-                select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:if test="$toc.section.depth > 4 
-                and $toc.max.depth > $depth.from.context
-                and sect5">
-    <fo:block id="toc.{$cid}.{$id}">
-      <xsl:attribute name="margin-left">
-        <xsl:call-template name="set.toc.indent">
-          <xsl:with-param name="reldepth" select="$reldepth"/>
-        </xsl:call-template>
-      </xsl:attribute>
-              
-      <xsl:apply-templates select="sect5|qandaset[$qanda.in.toc != 0]" 
-                           mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="sect5|simplesect" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="set.toc.indent">
-  <xsl:param name="reldepth"/>
-
-  <xsl:variable name="depth">
-    <xsl:choose>
-      <xsl:when test="$reldepth != ''">
-        <xsl:value-of select="$reldepth"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="count(ancestor::*)"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$fop.extensions != 0 or $passivetex.extensions != 0">
-       <xsl:value-of select="concat($depth*$toc.indent.width, 'pt')"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="concat($toc.indent.width, 'pt')"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-
-<xsl:template match="section" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="depth" select="count(ancestor::section) + 1"/>
-  <xsl:variable name="reldepth"
-                select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:if test="$toc.section.depth &gt;= $depth">
-    <xsl:call-template name="toc.line">
-      <xsl:with-param name="toc-context" select="$toc-context"/>
-    </xsl:call-template>
-
-    <xsl:if test="$toc.section.depth > $depth 
-                  and $toc.max.depth > $depth.from.context
-                  and section">
-      <fo:block id="toc.{$cid}.{$id}">
-        <xsl:attribute name="margin-left">
-          <xsl:call-template name="set.toc.indent">
-            <xsl:with-param name="reldepth" select="$reldepth"/>
-          </xsl:call-template>
-        </xsl:attribute>
-                
-        <xsl:apply-templates select="section|qandaset[$qanda.in.toc != 0]" 
-                           mode="toc">
-          <xsl:with-param name="toc-context" select="$toc-context"/>
-        </xsl:apply-templates>
-      </fo:block>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="bibliography|glossary"
-              mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="index" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:if test="* or $generate.index != 0">
-    <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="title" mode="toc">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="list.of.titles">
-  <xsl:param name="titles" select="'table'"/>
-  <xsl:param name="nodes" select=".//table"/>
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:if test="$nodes">
-    <fo:block id="lot...{$titles}...{$id}">
-      <xsl:choose>
-        <xsl:when test="$titles='table'">
-          <xsl:call-template name="list.of.tables.titlepage"/>
-        </xsl:when>
-        <xsl:when test="$titles='figure'">
-          <xsl:call-template name="list.of.figures.titlepage"/>
-        </xsl:when>
-        <xsl:when test="$titles='equation'">
-          <xsl:call-template name="list.of.equations.titlepage"/>
-        </xsl:when>
-        <xsl:when test="$titles='example'">
-          <xsl:call-template name="list.of.examples.titlepage"/>
-        </xsl:when>
-        <xsl:when test="$titles='procedure'">
-          <xsl:call-template name="list.of.procedures.titlepage"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.unknowns.titlepage"/>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:apply-templates select="$nodes" mode="toc">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:apply-templates>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="figure|table|example|equation|procedure" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:call-template name="toc.line">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- qandaset handled like a section when qanda.in.toc is set -->
-<xsl:template match="qandaset" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="cid">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="depth" select="count(ancestor::section) + 1"/>
-  <xsl:variable name="reldepth"
-                select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:if test="$toc.section.depth &gt;= $depth">
-    <xsl:call-template name="toc.line">
-      <xsl:with-param name="toc-context" select="$toc-context"/>
-    </xsl:call-template>
-
-    <xsl:if test="$toc.section.depth > $depth 
-                  and $toc.max.depth > $depth.from.context
-                  and (child::qandadiv or child::qandaentry)">
-      <fo:block id="toc.{$cid}.{$id}">
-        <xsl:attribute name="margin-left">
-          <xsl:call-template name="set.toc.indent">
-            <xsl:with-param name="reldepth" select="$reldepth"/>
-          </xsl:call-template>
-        </xsl:attribute>
-                
-        <xsl:apply-templates select="qandadiv|qandaentry" mode="toc">
-          <xsl:with-param name="toc-context" select="$toc-context"/>
-        </xsl:apply-templates>
-      </fo:block>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/axf.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/axf.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,110 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ******************************************************************** -->
-
-<xsl:template name="axf-document-information">
-
-    <xsl:variable name="authors" select="(//author|//editor|
-                                          //corpauthor|//authorgroup)[1]"/>
-    <xsl:if test="$authors">
-      <xsl:variable name="author">
-        <xsl:choose>
-          <xsl:when test="$authors[self::authorgroup]">
-            <xsl:call-template name="person.name.list">
-              <xsl:with-param name="person.list" 
-                 select="$authors/*[self::author|self::corpauthor|
-                               self::othercredit|self::editor]"/>
-            </xsl:call-template>
-          </xsl:when>
-          <xsl:when test="$authors[self::corpauthor]">
-            <xsl:value-of select="$authors"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="person.name">
-              <xsl:with-param name="node" select="$authors"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:element name="axf:document-info">
-        <xsl:attribute name="name">author</xsl:attribute>
-        <xsl:attribute name="value">
-          <xsl:value-of select="normalize-space($author)"/>
-        </xsl:attribute>
-      </xsl:element>
-    </xsl:if>
-
-    <xsl:variable name="title">
-      <xsl:apply-templates select="/*[1]" mode="label.markup"/>
-      <xsl:apply-templates select="/*[1]" mode="title.markup"/>
-    </xsl:variable>
-
-    <!-- * see bug report #1465301 - mzjn -->
-    <axf:document-info name="title">
-      <xsl:attribute name="value">
-        <xsl:value-of select="normalize-space($title)"/>
-      </xsl:attribute>
-    </axf:document-info>
-
-    <xsl:if test="//keyword">
-      <xsl:element name="axf:document-info">
-        <xsl:attribute name="name">keywords</xsl:attribute>
-        <xsl:attribute name="value">
-          <xsl:for-each select="//keyword">
-            <xsl:value-of select="normalize-space(.)"/>
-            <xsl:if test="position() != last()">
-              <xsl:text>, </xsl:text>
-            </xsl:if>
-          </xsl:for-each>
-        </xsl:attribute>
-      </xsl:element>
-    </xsl:if>
-
-    <xsl:if test="//subjectterm">
-      <xsl:element name="axf:document-info">
-        <xsl:attribute name="name">subject</xsl:attribute>
-        <xsl:attribute name="value">
-          <xsl:for-each select="//subjectterm">
-            <xsl:value-of select="normalize-space(.)"/>
-            <xsl:if test="position() != last()">
-              <xsl:text>, </xsl:text>
-            </xsl:if>
-          </xsl:for-each>
-        </xsl:attribute>
-      </xsl:element>
-    </xsl:if>
-
-</xsl:template>
-
-<!-- These properties are added to fo:simple-page-master -->
-<xsl:template name="axf-page-master-properties">
-  <xsl:param name="page.master" select="''"/>
-
-  <xsl:if test="$crop.marks != 0">
-    <xsl:attribute name="axf:printer-marks">crop</xsl:attribute>
-    <xsl:attribute name="axf:bleed"><xsl:value-of
-                          select="$crop.mark.bleed"/></xsl:attribute>
-    <xsl:attribute name="axf:printer-marks-line-width"><xsl:value-of
-                          select="$crop.mark.width"/></xsl:attribute>
-    <xsl:attribute name="axf:crop-offset"><xsl:value-of
-                          select="$crop.mark.offset"/></xsl:attribute>
-  </xsl:if>
-
-  <xsl:call-template name="user-axf-page-master-properties">
-    <xsl:with-param name="page.master" select="$page.master"/>
-  </xsl:call-template>
-
-</xsl:template>
-
-<xsl:template name="user-axf-page-master-properties">
-  <xsl:param name="page.master" select="''"/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/biblio-iso690.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/biblio-iso690.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1300 +1,0 @@
-<?xml version="1.0" encoding="windows-1250"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     The original code for processing bibliography in ISO690 style
-     was provided by Jana Dvorakova <jana4u@seznam.cz>
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- if biblioentry.alt.primary.seps is set to nonzero value then use alternative separators for primary responsibility - $alt.person.two.sep, $alt.person.last.sep, $alt.person.more.sep  -->
-<xsl:param name="biblioentry.alt.primary.seps" select="0"/>
-
-<!-- how many authors will be printed if there is more than three authors - set to number 1 (default value), 2 or 3 -->
-<xsl:param name="biblioentry.primary.count" select="1"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="iso690.makecitation">
-<!-- Types of resources -->
-  <xsl:choose>
-
-    <!-- SYSTEMS OF ELECTRONIC COMMUNICATION : ENTIRE MESSAGE SYSTEM -->
-    <!-- same as Monographs -->
-    <xsl:when test="./@role='messagesystem'">
-      <xsl:call-template name="iso690.monogr"/>
-    </xsl:when>
-
-    <!-- SYSTEMS OF ELECTRONIC COMMUNICATION : ELECTRONIC MESSAGES -->
-    <!-- same as Contributions to Monographs -->
-    <xsl:when test="./@role='message'">
-      <xsl:call-template name="iso690.paper.mon"/>
-    </xsl:when>
-
-    <!-- SERIALS -->
-    <xsl:when test="./@role='serial' or ./biblioid/@class='issn' or ./issn">
-      <xsl:call-template name="iso690.serial"/>
-    </xsl:when>
-
-    <!-- PARTS OF MONOGRAPHS -->
-    <xsl:when test="./@role='part' or (./bibliomisc[@role='secnum']|./bibliomisc[@role='sectitle'])">
-      <xsl:call-template name="iso690.monogr.part"/>
-    </xsl:when>
-
-    <!-- CONTRIBUTIONS TO MONOGRAPHS -->
-    <xsl:when test="./@role='contribution' or (./biblioset/@relation='part' and ./biblioset/@relation='book')">
-      <xsl:call-template name="iso690.paper.mon"/>
-    </xsl:when>
-
-    <!-- ARTICLES, ETC., IN SERIALS -->
-    <xsl:when test="./@role='article' or (./biblioset/@relation='journal' and ./biblioset/@relation='article')">
-      <xsl:call-template name="iso690.article"/>
-    </xsl:when>
-
-    <!-- PATENT DOCUMENTS -->
-    <xsl:when test="./@role='patent' or (./bibliomisc[@role='patenttype'] and ./bibliomisc[@role='patentnum'])">
-      <xsl:call-template name="iso690.patent"/>
-    </xsl:when>
-
-    <!-- MONOGRAPHS -->
-    <xsl:otherwise>
-      <xsl:call-template name="iso690.monogr"/>
-    </xsl:otherwise>
-
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- MONOGRAPHS -->
-<xsl:template name="iso690.monogr">
-  <!-- Primary responsibility -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title and Type of medium -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Subordinate responsibility -->
-  <xsl:call-template name="iso690.secondary"/>
-  <!-- Edition -->
-  <xsl:call-template name="iso690.edition"/>
-  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->
-  <xsl:call-template name="iso690.pub"/>
-  <!-- Extent -->
-  <xsl:call-template name="iso690.extent"/>
-  <!-- Series -->
-  <xsl:call-template name="iso690.serie"/>
-  <!-- Notes -->
-  <xsl:call-template name="iso690.notice"/>
-  <!-- Avaibility and access -->
-  <xsl:call-template name="iso690.access"/>
-  <!-- Standard number -->
-  <xsl:call-template name="iso690.isbn"/>
-</xsl:template>
-
-<!-- SERIALS -->
-<xsl:template name="iso690.serial">
-  <!-- Title and Type of medium -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Responsibility [nonEL] -->
-  <xsl:if test="not(./bibliomisc[@role='medium'])">
-    <xsl:call-template name="iso690.secondary"/>
-  </xsl:if>
-  <!-- Edition -->
-  <xsl:call-template name="iso690.edition">
-    <xsl:with-param name="after" select="./bibliomisc[@role='issuing']"/>
-  </xsl:call-template>
-  <!-- Issue designation (date and/or n°) [nonEL] -->
-  <xsl:if test="not(./bibliomisc[@role='medium'])">
-    <xsl:call-template name="iso690.issuing"/>
-  </xsl:if>
-  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->
-  <xsl:call-template name="iso690.pub"/>
-  <!-- Series -->
-  <xsl:call-template name="iso690.serie"/>
-  <!-- Notes -->
-  <xsl:call-template name="iso690.notice"/>
-  <!-- Avaibility and access -->
-  <xsl:call-template name="iso690.access"/>
-  <!-- Standard number -->
-  <xsl:call-template name="iso690.issn"/>
-</xsl:template>
-
-<!-- PARTS OF MONOGRAPHS -->
-<xsl:template name="iso690.monogr.part">
-  <!-- Primary responsibility of host document -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title and Type of medium of host document -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Subordinate responsibility of host document [EL] -->
-  <xsl:if test="./bibliomisc[@role='medium']">
-    <xsl:call-template name="iso690.secondary"/>
-  </xsl:if>
-  <!-- Edition -->
-  <xsl:call-template name="iso690.edition">
-    <xsl:with-param name="after" select="./volumenum"/>
-  </xsl:call-template>
-  <!-- Numeration of the part [nonEL]-->
-  <xsl:if test="not(./bibliomisc[@role='medium'])">
-    <xsl:call-template name="iso690.partnr"/>
-  <!-- Subordinate responsibility [nonEL] -->
-    <xsl:call-template name="iso690.secondary"/>
-  </xsl:if>
-  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->
-  <xsl:call-template name="iso690.pub"/>
-  <!-- Location within host -->
-  <xsl:call-template name="iso690.part.location"/>
-  <xsl:if test="./bibliomisc[@role='medium']">
-  <!-- Numeration within host document [EL] -->
-  <!-- Notes [EL] -->
-    <xsl:call-template name="iso690.notice"/>
-  <!-- Avaibility and access [EL] -->
-    <xsl:call-template name="iso690.access"/>
-  <!-- Standard number [EL] -->
-    <xsl:call-template name="iso690.isbn"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- CONTRIBUTIONS TO MONOGRAPHS -->
-<xsl:template name="iso690.paper.mon">
-<!-- Contribution -->
-  <xsl:apply-templates mode="iso690.paper.part" select="./biblioset[@relation='part']"/>
-<!-- In -->
-  <xsl:text>In </xsl:text>
-<!-- Host -->
-  <xsl:apply-templates mode="iso690.paper.book" select="./biblioset[@relation='book']"/>
-</xsl:template>
-
-<xsl:template match="biblioset" mode="iso690.paper.part">
-<!-- Contribution -->
-  <!-- Primary responsibility -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title -->
-  <xsl:call-template name="iso690.title">
-    <xsl:with-param name="italic" select="0"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="biblioset" mode="iso690.paper.book">
-<!-- Host -->
-  <!-- Primary responsibility -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title and Type of medium -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Subordinate responsibility [EL] -->
-  <xsl:if test="./bibliomisc[@role='medium']">
-    <xsl:call-template name="iso690.secondary"/>
-  </xsl:if>
-  <!-- Edition -->
-  <xsl:call-template name="iso690.edition"/>
-  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->
-  <xsl:call-template  name="iso690.paper.pub"/>
-  <!-- Numeration within host document [EL] -->
-  <!-- Location within host -->
-  <xsl:call-template name="iso690.location"/>
-  <xsl:if test="./bibliomisc[@role='medium']">
-  <!-- Notes [EL] -->
-    <xsl:call-template name="iso690.notice"/>
-  <!-- Avaibility and access [EL] -->
-    <xsl:call-template name="iso690.access"/>
-  <!-- Standard number [EL] -->
-    <xsl:call-template name="iso690.isbn"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- ARTICLES, ETC., IN SERIALS -->
-<xsl:template name="iso690.article">
-<!-- Article -->
-  <xsl:apply-templates mode="iso690.article.art" select="./biblioset[@relation='article']"/>
-<!-- Serial -->
-  <xsl:apply-templates mode="iso690.article.jour" select="./biblioset[@relation='journal']"/>
-</xsl:template>
-
-<xsl:template match="biblioset" mode="iso690.article.art">
-<!-- Article -->
-  <!-- Primary responsibility -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title -->
-  <xsl:call-template name="iso690.title">
-    <xsl:with-param name="italic" select="0"/>
-  </xsl:call-template>
-  <!-- Subordinate responsibility [nonEL] -->
-  <xsl:if test="not(../*/bibliomisc[@role='medium'])">
-    <xsl:call-template name="iso690.secondary"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="biblioset" mode="iso690.article.jour">
-<!-- Serial -->
-  <!-- Title and Type of medium -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Edition -->
-  <xsl:call-template name="iso690.edition">
-    <xsl:with-param name="after" select="./pubdate[not(@role='issuing')]|./volumenum|./issuenum|./pagenums"/>
-  </xsl:call-template>
-  <!-- Number designation [EL] -->
-  <!-- Location within host -->
-  <xsl:call-template name="iso690.article.location"/>
-  <xsl:if test="./bibliomisc[@role='medium']">
-  <!-- Notes [EL] -->
-    <xsl:call-template name="iso690.notice"/>
-  <!-- Avaibility and access [EL] -->
-    <xsl:call-template name="iso690.access"/>
-  <!-- Standard number [EL] -->
-    <xsl:call-template name="iso690.issn"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- PATENT DOCUMENTS -->
-<xsl:template name="iso690.patent">
-  <!-- Primary responsibility (applicant) -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title of the invention -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Subordinate responsibility -->
-  <xsl:call-template name="iso690.secondary"/>
-  <!-- Notes -->
-  <xsl:call-template name="iso690.notice"/>
-  <!-- Identification -->
-  <xsl:call-template name="iso690.pat.ident"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- Elements -->
-
-<!-- Primary responsibility -->
-<xsl:template name="iso690.primary">
-  <xsl:param name="primary.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./authorgroup/author|./author">
-      <xsl:call-template name="iso690.author.list">
-        <xsl:with-param name="person.list" select=".//authorgroup/author|.//author"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="./authorgroup/editor|./editor">
-      <xsl:call-template name="iso690.author.list">
-        <xsl:with-param name="person.list" select=".//authorgroup/editor|.//editor"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="./authorgroup/corpauthor|./corpauthor">
-      <xsl:call-template name="iso690.author.list">
-        <xsl:with-param name="person.list" select=".//authorgroup/corpauthor|.//corpauthor"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="(./firstname)and(./surname)">
-        <xsl:call-template name="iso690.author"/>
-        <xsl:call-template name="iso690.endsep">
-          <xsl:with-param name="text" select="string(./firstname[1])"/>
-          <xsl:with-param name="sep" select="$primary.sep"/>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.author.list">
-  <xsl:param name="person.list"
-             select="author|corpauthor|editor"/>
-  <xsl:param name="person.count" select="count($person.list)"/>
-  <xsl:param name="count" select="1"/>
-  <xsl:param name="group" select="./authorgroup[@role='many']"/>
-  <xsl:param name="many" select="0"/>
-
-  <xsl:param name="primary.many">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.many'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="primary.editor">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.editor'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="primary.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.sep'"/></xsl:call-template>
-  </xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="$count &gt; $person.count"></xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$person.count &lt; 4 and not($group)">
-          <xsl:call-template name="iso690.author">
-            <xsl:with-param name="node" select="$person.list[position()=$count]"/>
-          </xsl:call-template>
-          <xsl:choose>
-            <xsl:when test="$person.count = 2 and $count = 1 and $biblioentry.alt.primary.seps != 0">
-              <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.two.sep'"/></xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$person.count = 2 and $count = 1">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'authorgroup'"/>
-                <xsl:with-param name="name" select="'sep2'"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$person.count &gt; 2 and $count+1 = $person.count and $biblioentry.alt.primary.seps != 0">
-              <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.last.sep'"/></xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$person.count &gt; 2 and $count+1 = $person.count">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'authorgroup'"/>
-                <xsl:with-param name="name" select="'seplast'"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$count &lt; $person.count and $biblioentry.alt.primary.seps != 0">
-              <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.more.sep'"/></xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$count &lt; $person.count">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'authorgroup'"/>
-                <xsl:with-param name="name" select="'sep'"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="($count = $person.count)">
-              <xsl:choose>
-                <xsl:when test="$many!=0">
-                  <xsl:if test="name($person.list[position()=$count])='editor'">
-                    <xsl:value-of select="$primary.editor"/>
-                  </xsl:if>
-                  <xsl:value-of select="$primary.many"/>
-                  <xsl:call-template name="iso690.endsep">
-                    <xsl:with-param name="text" select="$primary.many"/>
-                    <xsl:with-param name="sep" select="$primary.sep"/>
-                  </xsl:call-template>
-                </xsl:when>
-                <xsl:when test="name($person.list[position()=$count])='editor'">
-                  <xsl:value-of select="$primary.editor"/>
-                  <xsl:value-of select="$primary.sep"/>
-                </xsl:when>
-                <xsl:when test="name($person.list[position()=$count])='corpauthor'">
-                  <xsl:call-template name="iso690.endsep">
-                    <xsl:with-param name="text" select="string($person.list[position()=$count])"/>
-                    <xsl:with-param name="sep" select="$primary.sep"/>
-                  </xsl:call-template>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:call-template name="iso690.endsep">
-                    <xsl:with-param name="text" select="string($person.list[position()=$count]//firstname[1])"/>
-                    <xsl:with-param name="sep" select="$primary.sep"/>
-                  </xsl:call-template>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:when>
-          </xsl:choose>
-
-          <xsl:call-template name="iso690.author.list">
-            <xsl:with-param name="person.list" select="$person.list"/>
-            <xsl:with-param name="person.count" select="$person.count"/>
-            <xsl:with-param name="count" select="$count+1"/>
-            <xsl:with-param name="many" select="$many"/>
-            <xsl:with-param name="group"/>
-          </xsl:call-template>
-        </xsl:when>
-
-        <xsl:otherwise>
-          <xsl:choose>
-            <xsl:when test="($biblioentry.primary.count&gt;=3) and ($person.count&gt;=3)">
-              <xsl:call-template name="iso690.author.list">
-                <xsl:with-param name="person.list" select="$person.list[1]|$person.list[2]|$person.list[3]"/>
-                <xsl:with-param name="person.count" select="3"/>
-                <xsl:with-param name="count" select="1"/>
-                <xsl:with-param name="many" select="1"/>
-                <xsl:with-param name="group"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="($biblioentry.primary.count&gt;1) and  ($person.count&gt;1)">
-              <xsl:call-template name="iso690.author.list">
-                <xsl:with-param name="person.list" select="$person.list[1]|$person.list[2]"/>
-                <xsl:with-param name="person.count" select="2"/>
-                <xsl:with-param name="count" select="1"/>
-                <xsl:with-param name="many" select="1"/>
-                <xsl:with-param name="group"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:call-template name="iso690.author.list">
-                <xsl:with-param name="person.list" select="$person.list[1]"/>
-                <xsl:with-param name="person.count" select="1"/>
-                <xsl:with-param name="count" select="1"/>
-                <xsl:with-param name="many" select="1"/>
-                <xsl:with-param name="group"/>
-              </xsl:call-template>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.author">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="lastfirst.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'lastfirst.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="name($node)!='corpauthor'">
-      <fo:inline text-transform="uppercase">
-        <xsl:apply-templates mode="iso690.mode" select="$node//surname[1]"/>
-      </fo:inline>
-      <xsl:if test="$node//surname and $node//firstname">
-        <xsl:value-of select="$lastfirst.sep"/>
-      </xsl:if>
-      <xsl:apply-templates mode="iso690.mode" select="$node//firstname[1]"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:inline text-transform="uppercase">
-        <xsl:apply-templates mode="iso690.mode" select="$node"/>
-      </fo:inline>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="corpauthor|firstname|surname" mode="iso690.mode">
-  <xsl:apply-templates mode="iso690.mode"/>
-</xsl:template>
-
-<!-- Title and Type of medium -->
-<xsl:template name="iso690.title">
-  <xsl:param name="medium" select="./bibliomisc[@role='medium']"/>
-  <xsl:param name="italic" select="1"/>
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'title.sep'"/></xsl:call-template>
-  </xsl:param>
-
-  <xsl:apply-templates mode="iso690.mode" select="./title">
-    <xsl:with-param name="medium" select="$medium"/>
-    <xsl:with-param name="italic" select="$italic"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="title" mode="iso690.mode">
-  <xsl:param name="medium"/>
-  <xsl:param name="italic" select="1"/>
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'title.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="medium1">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'medium1'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="medium2">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'medium2'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="$italic=1">
-      <xsl:call-template name="iso690.italic.title"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="iso690.make.title"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:if test="$medium">
-    <xsl:value-of select="$medium1"/>
-    <xsl:apply-templates mode="iso690.mode" select="$medium"/>
-    <xsl:value-of select="$medium2"/>
-  </xsl:if>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="concat(string(.),string(../subtitle))"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="iso690.italic.title">
-  <fo:inline font-style="italic">
-    <xsl:call-template name="iso690.make.title"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template name="iso690.make.title">
-  <xsl:param name="submaintitle.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'submaintitle.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:if test="../subtitle">
-    <xsl:value-of select="$submaintitle.sep"/>
-    <xsl:apply-templates mode="iso690.mode" select="../subtitle"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="iso690.mode">
-  <xsl:apply-templates mode="iso690.mode"/>
-</xsl:template>
-
-<xsl:template match="bibliomisc[@role='medium']" mode="iso690.mode">
-  <xsl:apply-templates mode="iso690.mode"/>
-</xsl:template>
-
-<!-- Subordinate responsibility -->
-<xsl:template name="iso690.secondary">
-  <xsl:param name="secondary.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'secondary.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="secondary.person.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'secondary.person.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:for-each select="./bibliomisc[@role='secondary']">
-    <xsl:apply-templates mode="iso690.mode" select="."/>
-    <xsl:choose>
-      <xsl:when test="position()=count(../bibliomisc[@role='secondary'])">
-        <xsl:call-template name="iso690.endsep">
-          <xsl:with-param name="text" select="string(.)"/>
-          <xsl:with-param name="sep" select="$secondary.sep"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$secondary.person.sep"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="bibliomisc[@role='secondary']" mode="iso690.mode">
-  <xsl:apply-templates mode="iso690.mode"/>
-</xsl:template>
-
-<!-- Edition -->
-<xsl:template name="iso690.edition">
-  <xsl:param name="after"/>
-  <xsl:param name="edition.serial.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'edition.serial.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="string($after)!=''">
-      <xsl:apply-templates mode="iso690.mode" select="./edition">
-        <xsl:with-param name="sep" select="$edition.serial.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="iso690.mode" select="./edition"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="edition" mode="iso690.mode">
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'edition.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- Issue designation (date and/or n°) -->
-<xsl:template name="iso690.issuing">
-  <xsl:param name="issuing.div">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.div'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="issuing.range">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.range'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="issuing.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./pubdate[@role='issuing'] and ./volumenum[2] and ./issuenum[2]">
-      <xsl:call-template name="iso690.issuedate"/>
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum[1]">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum[1]">
-        <xsl:with-param name="sep" select="$issuing.range"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum[2]">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum[2]">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./pubdate[@role='issuing'] and ./volumenum[2]">
-      <xsl:call-template name="iso690.issuedate"/>
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum[1]">
-        <xsl:with-param name="sep" select="$issuing.range"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum[2]">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./pubdate[@role='issuing'] and ./volumenum and ./issuenum">
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./pubdate[@role='issuing']">
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./volumenum">
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./issuenum">
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.issuedate">
-  <xsl:param name="issuing.div">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.div'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="issuing.range">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.range'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="issuing.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./pubdate[@role='issuing'][2]">
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing'][1]">
-        <xsl:with-param name="sep" select="$issuing.range"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing'][2]">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="pubdate[@role='issuing']" mode="iso690.mode">
-  <xsl:param name="sep"/>
-  <xsl:variable name="substr" select="substring(string(.),string-length(string(.)))"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.space">
-    <xsl:with-param name="text" select="$substr"/>
-  </xsl:call-template>
-  <xsl:choose>
-    <xsl:when test="$substr='-'">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="' '"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="string(.)"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- Numeration of the part -->
-<xsl:template name="iso690.partnr">
-  <xsl:param name="partnr.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'partnr.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode" select="./volumenum">
-    <xsl:with-param name="sep" select="$partnr.sep"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->
-<xsl:template name="iso690.pub">
-  <xsl:param name="onlydate" select="0"/>
-  <xsl:param name="placesep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'placepubl.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="pubsep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'publyear.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="endsep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'pubinfo.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="(./publisher/publishername|./publishername|./publisher/address/city)and($onlydate=0)and(./pubdate[not(@role='issuing')]|./copyright/year|./date[@role='upd']|./date[@role='upd'])">
-      <xsl:apply-templates mode="iso690.mode" select="./publisher/address/city">
-        <xsl:with-param name="sep" select="$placesep"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./publisher/publishername|./publishername">
-        <xsl:with-param name="sep" select="$pubsep"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]|./copyright/year">
-        <xsl:with-param name="sep" select="$endsep"/>
-      </xsl:apply-templates>
-      <xsl:if test="not(./pubdate[not(@role='issuing')]|./copyright/year)">
-        <xsl:call-template name="iso690.data">
-          <xsl:with-param name="sep" select="$endsep"/>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:when>
-    <xsl:when test="(./publisher/publishername|./publishername)and(./publisher/address/city)and($onlydate=0)">
-      <xsl:apply-templates mode="iso690.mode" select="./publisher/address/city">
-        <xsl:with-param name="sep" select="$placesep"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./publisher/publishername|./publishername">
-        <xsl:with-param name="sep" select="$endsep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="($onlydate=1)or(./pubdate[not(@role='issuing')]|./copyright/year)">
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]|./copyright/year">
-        <xsl:with-param name="sep" select="$endsep"/>
-      </xsl:apply-templates>
-      <xsl:if test="$onlydate=1">
-        <xsl:call-template name="iso690.location">
-          <xsl:with-param name="onlypages" select="1"/>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:when>
-    <xsl:when test="not(./pubdate[not(@role='issuing')]|./copyright/year)">
-      <xsl:call-template name="iso690.data">
-        <xsl:with-param name="sep" select="$endsep"/>
-      </xsl:call-template>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.paper.pub">
-  <xsl:param name="spec.pubinfo.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'spec.pubinfo.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./volumnum|./issuenum|./pagenums">
-      <xsl:call-template name="iso690.pub">
-        <xsl:with-param name="endsep" select="$spec.pubinfo.sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="iso690.pub"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.data">
-  <xsl:param name="sep"/>
-  <xsl:param name="datecit2">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode" select="./date[@role='upd']">
-    <xsl:with-param name="sep"/>
-  </xsl:apply-templates>
-  <xsl:apply-templates mode="iso690.mode" select="./date[@role='cit']"/>
-  <xsl:choose>
-    <xsl:when test="./date[@role='cit']">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="$datecit2"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="./date[@role='upd']">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="string(./date[@role='upd'])"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="publisher/address/city|publishername" mode="iso690.mode">
-  <xsl:param name="sep"/>
-  <xsl:param name="upd" select="0"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="pubdate|copyright/year" mode="iso690.mode">
-  <xsl:param name="sep"/>
-  <xsl:param name="upd" select="1"/>
-  <xsl:param name="datecit2">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:variable name="substr" select="substring(string(.),string-length(string(.)))"/>
-  <xsl:if test="name(.)!='pubdate'">
-    <xsl:value-of select="'&#x00A9;'"/><!-- copyright -->
-  </xsl:if>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.space">
-    <xsl:with-param name="text" select="$substr"/>
-  </xsl:call-template>
-  <xsl:if test="$upd!=0">
-    <xsl:choose>
-      <xsl:when test="name(.)='pubdate'">
-        <xsl:apply-templates mode="iso690.mode" select="../date[@role='upd']"/>
-        <xsl:apply-templates mode="iso690.mode" select="../date[@role='cit']"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates mode="iso690.mode" select="../../date[@role='upd']"/>
-        <xsl:apply-templates mode="iso690.mode" select="../../date[@role='cit']"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-  <xsl:choose>
-    <xsl:when test="../date[@role='cit']|../../date[@role='cit'] and $upd!=0">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="$datecit2"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="../date[@role='upd']|../../date[@role='upd'] and $upd!=0">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="string(../date[@role='upd'])"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$substr='-'">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="' '"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="string(.)"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.space">
-  <xsl:param name="text" select="substring(string(.),string-length(string(.)))"/>
-  <xsl:if test="$text='-'">
-    <xsl:value-of select="' '"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- Date of update/revision -->
-<xsl:template match="date[@role='upd']" mode="iso690.mode">
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'upd.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:value-of select="$sep"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-</xsl:template>
-
-<!-- Date of citation -->
-<xsl:template match="date[@role='cit']" mode="iso690.mode">
-  <xsl:param name="datecit1">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit1'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="datecit2">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:value-of select="$datecit1"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:value-of select="$datecit2"/>
-</xsl:template>
-
-<!-- Extent -->
-<xsl:template name="iso690.extent">
-  <xsl:param name="extent.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'extent.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode" select="./pagenums">
-    <xsl:with-param name="sep" select="$extent.sep"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<!-- Location within host -->
-<xsl:template name="iso690.part.location">
-  <xsl:param name="location.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./pagenums">
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']"/>
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='sectitle']"/>
-      <xsl:apply-templates mode="iso690.mode" select="./pagenums"/>
-    </xsl:when>
-    <xsl:when test="./bibliomisc[@role='sectitle']">
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']"/>
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='sectitle']">
-        <xsl:with-param name="sep" select="$location.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']">
-        <xsl:with-param name="sep" select="$location.sep"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.article.location">
-  <xsl:param name="location.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="locs.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="not(./date[@role='upd']|./date[@role='cit'])">
-      <xsl:choose>
-        <xsl:when test="./volumenum|./issuenum|./pagenums">
-          <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]">
-            <xsl:with-param name="upd" select="0"/>
-            <xsl:with-param name="sep" select="$locs.sep"/>
-          </xsl:apply-templates>
-          <xsl:call-template name="iso690.location"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]">
-            <xsl:with-param name="sep" select="$location.sep"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="./volumenum|./issuenum|./pagenums">
-          <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]">
-            <xsl:with-param name="upd" select="0"/>
-            <xsl:with-param name="sep" select="$locs.sep"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]">
-            <xsl:with-param name="upd" select="0"/>
-            <xsl:with-param name="sep" select="$location.sep"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:choose>
-        <xsl:when test="./issuenum">
-          <xsl:apply-templates mode="iso690.mode" select="./volumenum"/>
-          <xsl:apply-templates mode="iso690.mode" select="./issuenum">
-            <xsl:with-param name="sep"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates mode="iso690.mode" select="./volumenum">
-            <xsl:with-param name="sep"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:choose>
-        <xsl:when test="./pagenums">
-          <xsl:call-template name="iso690.data">
-            <xsl:with-param name="sep" select="$locs.sep"/>
-          </xsl:call-template>
-          <xsl:apply-templates mode="iso690.mode" select="./pagenums"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="iso690.data">
-            <xsl:with-param name="sep" select="$location.sep"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.location">
-  <xsl:param name="location.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./volumenum and not(./issuenum) and not(./pagenums)">
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum">
-        <xsl:with-param name="sep" select="$location.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./issuenum and not(./pagenums)">
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum"/>
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum">
-        <xsl:with-param name="sep" select="$location.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./pagenums">
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum"/>
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum"/>
-      <xsl:apply-templates mode="iso690.mode" select="./pagenums"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="bibliomisc[@role='secnum']|bibliomisc[@role='sectitle']" mode="iso690.mode">
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="volumenum|issuenum" mode="iso690.mode">
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="pagenums" mode="iso690.mode">
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- Series -->
-<xsl:template name="iso690.serie">
-  <xsl:apply-templates mode="iso690.mode" select=".//bibliomisc[@role='serie']"/>
-</xsl:template>
-
-<!-- Notes -->
-<xsl:template name="iso690.notice">
-  <xsl:apply-templates mode="iso690.mode" select=".//bibliomisc[not(@role)]"/>
-</xsl:template>
-
-<xsl:template match="bibliomisc[not(@role)]|bibliomisc[@role='serie']" mode="iso690.mode">
-  <xsl:param name="notice.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'notice.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$notice.sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- Avaibility and access -->
-<xsl:template name="iso690.access">
-  <xsl:for-each select="./biblioid[@class='uri']|./bibliomisc[@role='access']">
-    <xsl:choose>
-      <xsl:when test="position()=1">
-        <xsl:apply-templates mode="iso690.mode" select="."/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates mode="iso690.mode" select=".">
-          <xsl:with-param name="firstacc" select="0"/>
-        </xsl:apply-templates>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="biblioid[@class='uri']/ulink|bibliomisc[@role='access']/ulink" mode="iso690.mode">
-  <xsl:param name="link1">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'link1'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="link2">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'link2'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:value-of select="$link1"/>
-  <xsl:call-template name="ulink"/>
-  <xsl:value-of select="$link2"/>
-</xsl:template>
-
-<xsl:template match="biblioid[@class='uri']|bibliomisc[@role='access']" mode="iso690.mode">
-  <xsl:param name="firstacc" select="1"/>
-  <xsl:param name="access">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="acctoo">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'acctoo'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="onwww">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'onwww'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="oninet">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'oninet'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="access.end">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access.end'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="access.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="$firstacc=1">
-      <xsl:value-of select="$access"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$acctoo"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:choose>
-    <xsl:when test="(./ulink)and(string(./ulink)=string(.))">
-      <xsl:choose>
-        <xsl:when test="(starts-with(./ulink/@url,'http://')or(starts-with(./ulink/@url,'https://')))">
-          <xsl:value-of select="$onwww"/>
-          <xsl:value-of select="$access.end"/>
-          <xsl:apply-templates mode="iso690.mode" select="./ulink"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$oninet"/>
-          <xsl:value-of select="$access.end"/>
-          <xsl:apply-templates mode="iso690.mode" select="./ulink"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="(./ulink)and(string(./ulink)!=string(.))">
-      <xsl:value-of select="text()[1]"/>
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="text()[1]"/>
-        <xsl:with-param name="sep" select="$access.end"/>
-      </xsl:call-template>
-      <xsl:apply-templates mode="iso690.mode" select="./ulink"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="iso690.mode"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:value-of select="$access.sep"/>
-</xsl:template>
-
-<!-- Standard number - ISBN -->
-<xsl:template name="iso690.isbn">
-  <xsl:choose>
-    <xsl:when test="./biblioid/@class='isbn'">
-      <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='isbn']"/>
-    </xsl:when>
-    <xsl:when test="./isbn">
-      <xsl:apply-templates mode="iso690.mode" select="./isbn"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="isbn|biblioid[@class='isbn']" mode="iso690.mode">
-  <xsl:param name="isbn">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'isbn'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="stdnum.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'stdnum.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:value-of select="$isbn"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:value-of select="$stdnum.sep"/>
-</xsl:template>
-
-<!-- Standard number - ISSN -->
-<xsl:template name="iso690.issn">
-  <xsl:choose>
-    <xsl:when test="./biblioid/@class='issn'">
-      <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='issn']"/>
-    </xsl:when>
-    <xsl:when test="./issn">
-      <xsl:apply-templates mode="iso690.mode" select="./issn"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="issn|biblioid[@class='issn']" mode="iso690.mode">
-  <xsl:param name="issn">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issn'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="stdnum.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'stdnum.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:value-of select="$issn"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:value-of select="$stdnum.sep"/>
-</xsl:template>
-
-<!-- Identification of patent document -->
-<xsl:template name="iso690.pat.ident">
-  <xsl:param name="patdate.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patdate.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode" select="./address/country"/>
-  <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='patenttype']"/>
-  <xsl:choose>
-    <xsl:when test="./biblioid[@class='other' and @otherclass='patentnum']">
-      <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='other' and @otherclass='patentnum']"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='patentnum']"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]">
-    <xsl:with-param name="sep" select="$patdate.sep"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<!-- Country or issuing office -->
-<xsl:template match="address/country" mode="iso690.mode">
-  <xsl:param name="patcountry.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patcountry.sep'"/></xsl:call-template>
-  </xsl:param>
-  <fo:inline font-style="italic">
-    <xsl:apply-templates mode="iso690.mode"/>
-  </fo:inline>
-  <xsl:value-of select="$patcountry.sep"/>
-</xsl:template>
-
-<!-- Kind of patent document -->
-<xsl:template match="bibliomisc[@role='patenttype']" mode="iso690.mode">
-  <xsl:param name="pattype.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'pattype.sep'"/></xsl:call-template>
-  </xsl:param>
-  <fo:inline font-style="italic">
-    <xsl:apply-templates mode="iso690.mode"/>
-  </fo:inline>
-  <xsl:value-of select="$pattype.sep"/>
-</xsl:template>
-
-<!-- Number -->
-<xsl:template match="biblioid[@class='other' and @otherclass='patentnum']|bibliomisc[@role='patentnum']" mode="iso690.mode">
-  <xsl:param name="patnum.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patnum.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:value-of select="$patnum.sep"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- Supplementary templates -->
-
-<xsl:template name="iso690.endsep">
-  <xsl:param name="text"/>
-  <xsl:param name="sep" select=". "/>
-  <xsl:choose>
-    <xsl:when test="substring($text,string-length($text))!=substring($sep,1,1)">
-      <xsl:value-of select="$sep"/>
-    </xsl:when>
-    <xsl:when test="substring($text,string-length($text))=' '">
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="' '"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="iso690.mode">
-  <xsl:apply-templates select="."/><!-- try the default mode -->
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/biblio.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/biblio.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1169 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="bibliography">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="not(parent::*) or parent::part or parent::book">
-      <xsl:variable name="master-reference">
-        <xsl:call-template name="select.pagemaster"/>
-      </xsl:variable>
-
-      <fo:page-sequence hyphenate="{$hyphenate}"
-                        master-reference="{$master-reference}">
-        <xsl:attribute name="language">
-          <xsl:call-template name="l10n.language"/>
-        </xsl:attribute>
-        <xsl:attribute name="format">
-          <xsl:call-template name="page.number.format">
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="initial-page-number">
-          <xsl:call-template name="initial.page.number">
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="force-page-count">
-          <xsl:call-template name="force.page.count">
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="hyphenation-character">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'hyphenation-character'"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="hyphenation-push-character-count">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="hyphenation-remain-character-count">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-          </xsl:call-template>
-        </xsl:attribute>
-
-        <xsl:apply-templates select="." mode="running.head.mode">
-          <xsl:with-param name="master-reference" select="$master-reference"/>
-        </xsl:apply-templates>
-        <xsl:apply-templates select="." mode="running.foot.mode">
-          <xsl:with-param name="master-reference" select="$master-reference"/>
-        </xsl:apply-templates>
-
-        <fo:flow flow-name="xsl-region-body">
-          <xsl:call-template name="set.flow.properties">
-            <xsl:with-param name="element" select="local-name(.)"/>
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:call-template>
-
-          <fo:block id="{$id}">
-            <xsl:call-template name="bibliography.titlepage"/>
-          </fo:block>
-          <xsl:apply-templates/>
-        </fo:flow>
-      </fo:page-sequence>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block id="{$id}"
-                space-before.minimum="1em"
-                space-before.optimum="1.5em"
-                space-before.maximum="2em">
-        <xsl:call-template name="bibliography.titlepage"/>
-      </fo:block>
-      <xsl:apply-templates/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="bibliography/bibliographyinfo"></xsl:template>
-<xsl:template match="bibliography/info"></xsl:template>
-<xsl:template match="bibliography/title"></xsl:template>
-<xsl:template match="bibliography/subtitle"></xsl:template>
-<xsl:template match="bibliography/titleabbrev"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="bibliodiv">
-  <fo:block>
-    <xsl:attribute name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:attribute>
-    <xsl:call-template name="bibliodiv.titlepage"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="bibliodiv/title"/>
-<xsl:template match="bibliodiv/subtitle"/>
-<xsl:template match="bibliodiv/titleabbrev"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="bibliolist">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}"
-            space-before.minimum="1em"
-            space-before.optimum="1.5em"
-            space-before.maximum="2em">
-
-    <xsl:if test="blockinfo/title|info/title|title">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="*[not(self::blockinfo)
-                                   and not(self::info)
-                                   and not(self::title)
-                                   and not(self::titleabbrev)]"/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="biblioentry">
-  <xsl:param name="label">
-    <xsl:call-template name="biblioentry.label"/>
-  </xsl:param>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="string(.) = ''">
-      <xsl:variable name="bib" select="document($bibliography.collection,.)"/>
-      <xsl:variable name="entry" select="$bib/bibliography/
-                                         *[@id=$id or @xml:id=$id][1]"/>
-      <xsl:choose>
-        <xsl:when test="$entry">
-          <xsl:choose>
-            <xsl:when test="$bibliography.numbered != 0">
-              <xsl:apply-templates select="$entry">
-                <xsl:with-param name="label" select="$label"/>
-              </xsl:apply-templates>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="$entry"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>No bibliography entry: </xsl:text>
-            <xsl:value-of select="$id"/>
-            <xsl:text> found in </xsl:text>
-            <xsl:value-of select="$bibliography.collection"/>
-          </xsl:message>
-          <fo:block id="{$id}" xsl:use-attribute-sets="normal.para.spacing">
-            <xsl:text>Error: no bibliography entry: </xsl:text>
-            <xsl:value-of select="$id"/>
-            <xsl:text> found in </xsl:text>
-            <xsl:value-of select="$bibliography.collection"/>
-          </fo:block>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block id="{$id}" xsl:use-attribute-sets="biblioentry.properties">
-        <xsl:copy-of select="$label"/>
-	<xsl:choose>
-	  <xsl:when test="$bibliography.style = 'iso690'">
-	    <xsl:call-template name="iso690.makecitation"/>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:apply-templates mode="bibliography.mode"/>
-	  </xsl:otherwise>
-	</xsl:choose>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="bibliomixed">
-  <xsl:param name="label">
-    <xsl:call-template name="biblioentry.label"/>
-  </xsl:param>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="string(.) = ''">
-      <xsl:variable name="bib" select="document($bibliography.collection,.)"/>
-      <xsl:variable name="entry" select="$bib/bibliography/
-                                         *[@id=$id or @xml:id=$id][1]"/>
-      <xsl:choose>
-        <xsl:when test="$entry">
-          <xsl:choose>
-            <xsl:when test="$bibliography.numbered != 0">
-              <xsl:apply-templates select="$entry">
-                <xsl:with-param name="label" select="$label"/>
-              </xsl:apply-templates>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="$entry"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>No bibliography entry: </xsl:text>
-            <xsl:value-of select="$id"/>
-            <xsl:text> found in </xsl:text>
-            <xsl:value-of select="$bibliography.collection"/>
-          </xsl:message>
-          <fo:block id="{$id}" xsl:use-attribute-sets="normal.para.spacing">
-            <xsl:text>Error: no bibliography entry: </xsl:text>
-            <xsl:value-of select="$id"/>
-            <xsl:text> found in </xsl:text>
-            <xsl:value-of select="$bibliography.collection"/>
-          </fo:block>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block id="{$id}" xsl:use-attribute-sets="biblioentry.properties">
-        <xsl:copy-of select="$label"/>
-        <xsl:apply-templates mode="bibliomixed.mode"/>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="biblioentry.label">
-  <xsl:param name="node" select="."/>
-
-  <xsl:choose>
-    <xsl:when test="$bibliography.numbered != 0">
-      <xsl:text>[</xsl:text>
-      <xsl:number from="bibliography" count="biblioentry|bibliomixed"
-                  level="any" format="1"/>
-      <xsl:text>] </xsl:text>
-    </xsl:when>
-    <xsl:when test="local-name($node/child::*[1]) = 'abbrev'">
-      <xsl:text>[</xsl:text>
-      <xsl:apply-templates select="$node/abbrev[1]"/>
-      <xsl:text>] </xsl:text>
-    </xsl:when>
-    <xsl:when test="$node/@xreflabel">
-      <xsl:text>[</xsl:text>
-      <xsl:value-of select="$node/@xreflabel"/>
-      <xsl:text>] </xsl:text>
-    </xsl:when>
-    <xsl:when test="$node/@id or $node/@xml:id">
-      <xsl:text>[</xsl:text>
-      <xsl:value-of select="($node/@id|$node/@xml:id)[1]"/>
-      <xsl:text>] </xsl:text>
-    </xsl:when>
-    <xsl:otherwise><!-- nop --></xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="bibliography.mode">
-  <xsl:apply-templates select="."/><!-- try the default mode -->
-</xsl:template>
-
-<xsl:template match="abbrev" mode="bibliography.mode">
-  <xsl:if test="preceding-sibling::*">
-    <fo:inline>
-      <xsl:apply-templates mode="bibliography.mode"/>
-    </fo:inline>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="abstract" mode="bibliography.mode">
-  <!-- suppressed -->
-</xsl:template>
-
-<xsl:template match="address" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="affiliation" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="shortaffil" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="jobtitle" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="artheader|articleinfo|article/info" 
-              mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="artpagenums" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="author" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:call-template name="person.name"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="authorblurb|personblurb" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:call-template name="person.name.list"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="authorinitials" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="bibliomisc" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="bibliomset" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="biblioset" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="biblioset/title|biblioset/citetitle" 
-              mode="bibliography.mode">
-  <xsl:variable name="relation" select="../@relation"/>
-  <xsl:choose>
-    <xsl:when test="$relation='article' or @pubwork='article'">
-      <xsl:call-template name="gentext.startquote"/>
-      <xsl:apply-templates mode="bibliography.mode"/>
-      <xsl:call-template name="gentext.endquote"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:inline font-style="italic">
-        <xsl:apply-templates/>
-      </fo:inline>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:value-of select="$biblioentry.item.separator"/>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="bookbiblio" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="citetitle" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:choose>
-      <xsl:when test="@pubwork = 'article'">
-        <xsl:call-template name="gentext.startquote"/>
-        <xsl:apply-templates mode="bibliography.mode"/>
-        <xsl:call-template name="gentext.endquote"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <fo:inline font-style="italic">
-          <xsl:apply-templates mode="bibliography.mode"/>
-        </fo:inline>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="collab" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="confgroup" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="contractnum" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="contractsponsor" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="contrib" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="copyright" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'Copyright'"/>
-    </xsl:call-template>
-    <xsl:call-template name="gentext.space"/>
-    <xsl:call-template name="dingbat">
-      <xsl:with-param name="dingbat">copyright</xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="gentext.space"/>
-    <xsl:apply-templates select="year" mode="bibliography.mode"/>
-    <xsl:if test="holder">
-      <xsl:call-template name="gentext.space"/>
-      <xsl:apply-templates select="holder" mode="bibliography.mode"/>
-    </xsl:if>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="year" mode="bibliography.mode">
-  <xsl:apply-templates/><xsl:text>, </xsl:text>
-</xsl:template>
-
-<xsl:template match="year[position()=last()]" mode="bibliography.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="holder" mode="bibliography.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="corpauthor" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="corpcredit" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="corpname" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="date" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="edition" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="editor" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:call-template name="person.name"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="firstname" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="honorific" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="bibliography.mode">
-  <xsl:apply-templates select="."/> 
-</xsl:template>
-
-<xsl:template match="invpartnumber" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="isbn" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="issn" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="issuenum" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="lineage" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="orgname" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="othername" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="pagenums" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="printhistory" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="productname" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="productnumber" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="publisher" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="publishername" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="pubsnumber" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="bibliography.mode">
-  <fo:block>
-    <xsl:apply-templates select="."/> <!-- use normal mode -->
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="seriesinfo" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="seriesvolnums" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="surname" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="title" mode="bibliography.mode">
-  <fo:inline>
-    <fo:inline font-style="italic">
-      <xsl:apply-templates mode="bibliography.mode"/>
-    </fo:inline>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="titleabbrev" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="volumenum" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="orgdiv" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="collabname" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="confdates" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="conftitle" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="confnum" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="confsponsor" mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource"
-              mode="bibliography.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:value-of select="$biblioentry.item.separator"/>
-  </fo:inline>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="bibliomixed.mode">
-  <xsl:apply-templates select="."/><!-- try the default mode -->
-</xsl:template>
-
-<xsl:template match="abbrev" mode="bibliomixed.mode">
-  <xsl:if test="preceding-sibling::*">
-    <fo:inline>
-      <xsl:apply-templates mode="bibliomixed.mode"/>
-    </fo:inline>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="abstract" mode="bibliomixed.mode">
-  <fo:block start-indent="1in">
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="para" mode="bibliomixed.mode">
-  <fo:block>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="address" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="affiliation" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="shortaffil" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="jobtitle" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliography.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="artpagenums" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="author" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:call-template name="person.name"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="authorblurb|personblurb" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="authorinitials" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="bibliomisc" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="bibliomset" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="bibliomset/title|bibliomset/citetitle" 
-              mode="bibliomixed.mode">
-  <xsl:variable name="relation" select="../@relation"/>
-  <xsl:choose>
-    <xsl:when test="$relation='article' or @pubwork='article'">
-      <xsl:call-template name="gentext.startquote"/>
-      <xsl:apply-templates mode="bibliomixed.mode"/>
-      <xsl:call-template name="gentext.endquote"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:inline font-style="italic">
-        <xsl:apply-templates/>
-      </fo:inline>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="biblioset" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="citetitle" mode="bibliomixed.mode">
-  <xsl:choose>
-    <xsl:when test="@pubwork = 'article'">
-      <xsl:call-template name="gentext.startquote"/>
-      <xsl:apply-templates mode="bibliomixed.mode"/>
-      <xsl:call-template name="gentext.endquote"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:inline font-style="italic">
-        <xsl:apply-templates mode="bibliography.mode"/>
-      </fo:inline>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="collab" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="confgroup" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="contractnum" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="contractsponsor" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="contrib" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="copyright" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="corpcredit" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="corpname" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="date" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="edition" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="editor" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="firstname" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="honorific" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="bibliomixed.mode">
-  <xsl:apply-templates select="."/> 
-</xsl:template>
-
-<xsl:template match="invpartnumber" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="isbn" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="issn" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="issuenum" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="lineage" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="orgname" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="othername" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="pagenums" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="printhistory" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="productname" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="productnumber" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="publisher" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="publishername" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="pubsnumber" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="seriesvolnums" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="surname" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="title" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="titleabbrev" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="volumenum" mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource"
-              mode="bibliomixed.mode">
-  <fo:inline>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </fo:inline>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/block.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/block.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,600 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<!-- What should we do about styling blockinfo? -->
-
-<xsl:template match="blockinfo|info">
-  <!-- suppress -->
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="block.object">
-  <fo:block>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="para">
-  <fo:block xsl:use-attribute-sets="normal.para.spacing">
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="simpara">
-  <fo:block xsl:use-attribute-sets="normal.para.spacing">
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="formalpara">
-  <fo:block xsl:use-attribute-sets="normal.para.spacing">
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<!-- Only use title from info -->
-<xsl:template match="formalpara/info">
-  <xsl:apply-templates select="title"/>
-</xsl:template>
-
-<xsl:template match="formalpara/title|formalpara/info/title">
-  <xsl:variable name="titleStr">
-      <xsl:apply-templates/>
-  </xsl:variable>
-  <xsl:variable name="lastChar">
-    <xsl:if test="$titleStr != ''">
-      <xsl:value-of select="substring($titleStr,string-length($titleStr),1)"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <fo:inline font-weight="bold"
-             keep-with-next.within-line="always"
-             padding-end="1em">
-    <xsl:copy-of select="$titleStr"/>
-    <xsl:if test="$lastChar != ''
-                  and not(contains($runinhead.title.end.punct, $lastChar))">
-      <xsl:value-of select="$runinhead.default.title.end.punct"/>
-    </xsl:if>
-    <xsl:text>&#160;</xsl:text>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="formalpara/para">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="blockquote">
-  <fo:block xsl:use-attribute-sets="blockquote.properties">
-    <xsl:call-template name="anchor"/>
-    <fo:block>
-      <xsl:if test="title|info/title">
-        <fo:block xsl:use-attribute-sets="formal.title.properties">
-          <xsl:apply-templates select="." mode="object.title.markup"/>
-        </fo:block>
-      </xsl:if>
-      <xsl:apply-templates select="*[local-name(.) != 'title'
-                                   and local-name(.) != 'attribution']"/>
-    </fo:block>
-    <xsl:if test="attribution">
-      <fo:block text-align="right">
-        <!-- mdash -->
-        <xsl:text>&#x2014;</xsl:text>
-        <xsl:apply-templates select="attribution"/>
-      </fo:block>
-    </xsl:if>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="epigraph">
-  <fo:block>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates select="para|simpara|formalpara|literallayout"/>
-    <xsl:if test="attribution">
-      <fo:inline>
-        <xsl:text>--</xsl:text>
-        <xsl:apply-templates select="attribution"/>
-      </fo:inline>
-    </xsl:if>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="attribution">
-  <fo:inline><xsl:apply-templates/></fo:inline>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="floater">
-  <xsl:param name="position" select="'none'"/>
-  <xsl:param name="clear" select="'both'"/>
-  <xsl:param name="width"/>
-  <xsl:param name="content"/>
-  <xsl:param name="start.indent">0pt</xsl:param>
-  <xsl:param name="end.indent">0pt</xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="not($fop.extensions = 0)">
-      <!-- fop 0.20.5 does not support floats -->
-      <xsl:copy-of select="$content"/>
-    </xsl:when>
-    <xsl:when test="$position = 'none'">
-      <xsl:copy-of select="$content"/>
-    </xsl:when>
-    <xsl:when test="$position = 'before'">
-      <fo:float float="before">
-        <xsl:copy-of select="$content"/>
-      </fo:float>
-    </xsl:when>
-    <xsl:when test="$position = 'left' or
-                    $position = 'start' or
-                    $position = 'right' or
-                    $position = 'end' or
-                    $position = 'inside' or
-                    $position = 'outside'">
-      <xsl:variable name="float">
-        <fo:float float="{$position}"
-                  clear="{$clear}">
-          <fo:block-container 
-                    start-indent="{$start.indent}"
-                    end-indent="{$end.indent}">
-            <xsl:if test="$width != ''">
-              <xsl:attribute name="inline-progression-dimension">
-                <xsl:value-of select="$width"/>
-              </xsl:attribute>
-            </xsl:if>
-            <fo:block>
-              <xsl:copy-of select="$content"/>
-            </fo:block>
-          </fo:block-container>
-        </fo:float>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="$axf.extensions != 0 and self::sidebar">
-          <fo:block xsl:use-attribute-sets="normal.para.spacing"
-                    space-after="0pt"
-                    space-after.precedence="force"
-                    start-indent="0pt" end-indent="0pt">
-            <xsl:copy-of select="$float"/>
-          </fo:block>
-        </xsl:when>
-        <xsl:when test="$axf.extensions != 0 and 
-                        ($position = 'left' or $position = 'start')">
-          <fo:float float="{$position}"
-                    clear="{$clear}">
-            <fo:block-container 
-                      inline-progression-dimension=".001mm"
-                      end-indent="{$start.indent} + {$width} + {$end.indent}">
-              <xsl:attribute name="start-indent">
-                <xsl:choose>
-                  <xsl:when test="ancestor::para">
-                    <!-- Special case for handling inline floats
-                         in Antenna House-->
-                    <xsl:value-of select="concat('-', $body.start.indent)"/>
-                  </xsl:when>
-                  <xsl:otherwise>0pt</xsl:otherwise>
-                </xsl:choose>
-              </xsl:attribute>
-              <fo:block start-indent="{$start.indent}"
-                        end-indent="-{$start.indent} - {$width}">
-                <xsl:copy-of select="$content"/>
-              </fo:block>
-            </fo:block-container>
-          </fo:float>
-
-        </xsl:when>
-        <xsl:when test="$axf.extensions != 0 and 
-                        ($position = 'right' or $position = 'end')">
-          <!-- Special case for handling inline floats in Antenna House-->
-          <fo:float float="{$position}"
-                    clear="{$clear}">
-            <fo:block-container 
-                      inline-progression-dimension=".001mm"
-                      end-indent="-{$body.end.indent}"
-                      start-indent="{$start.indent} + {$width} + {$end.indent}">
-              <fo:block end-indent="{$end.indent}"
-                        start-indent="-{$end.indent} - {$width}">
-                <xsl:copy-of select="$content"/>
-              </fo:block>
-            </fo:block-container>
-          </fo:float>
-
-        </xsl:when>
-        <xsl:when test="$xep.extensions != 0 and self::sidebar">
-          <!-- float needs some space above  to line up with following para -->
-          <fo:block xsl:use-attribute-sets="normal.para.spacing">
-            <xsl:copy-of select="$float"/>
-          </fo:block>
-        </xsl:when>
-        <xsl:when test="$xep.extensions != 0">
-          <xsl:copy-of select="$float"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:copy-of select="$float"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$content"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="sidebar" name="sidebar">
-  <!-- Also does margin notes -->
-  <xsl:variable name="pi-type">
-    <xsl:call-template name="pi.dbfo_float-type"/>
-  </xsl:variable>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$pi-type = 'margin.note'">
-      <xsl:call-template name="margin.note"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="content">
-        <fo:block xsl:use-attribute-sets="sidebar.properties"
-                  id="{$id}">
-          <xsl:call-template name="sidebar.titlepage"/>
-          <xsl:apply-templates select="node()[not(self::title) and
-                                         not(self::info) and
-                                         not(self::sidebarinfo)]"/>
-        </fo:block>
-      </xsl:variable>
-
-      <xsl:variable name="pi-width">
-        <xsl:call-template name="pi.dbfo_sidebar-width"/>
-      </xsl:variable>
-
-      <xsl:variable name="position">
-        <xsl:choose>
-          <xsl:when test="$pi-type != ''">
-            <xsl:value-of select="$pi-type"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$sidebar.float.type"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-    
-      <xsl:call-template name="floater">
-        <xsl:with-param name="content" select="$content"/>
-        <xsl:with-param name="position" select="$position"/>
-        <xsl:with-param name="width">
-          <xsl:choose>
-            <xsl:when test="$pi-width != ''">
-              <xsl:value-of select="$pi-width"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:value-of select="$sidebar.float.width"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-        <xsl:with-param name="start.indent">
-          <xsl:choose>
-            <xsl:when test="$position = 'start' or 
-                            $position = 'left'">0pt</xsl:when>
-            <xsl:when test="$position = 'end' or 
-                            $position = 'right'">0.5em</xsl:when>
-            <xsl:otherwise>0pt</xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-        <xsl:with-param name="end.indent">
-          <xsl:choose>
-            <xsl:when test="$position = 'start' or 
-                            $position = 'left'">0.5em</xsl:when>
-            <xsl:when test="$position = 'end' or 
-                            $position = 'right'">0pt</xsl:when>
-            <xsl:otherwise>0pt</xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template match="sidebar/title|sidebarinfo|sidebar/info"/>
-
-<xsl:template match="sidebar/title|sidebarinfo/title|sidebar/info/title"
-              mode="titlepage.mode" priority="1">
-  <fo:block xsl:use-attribute-sets="sidebar.title.properties">
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template name="margin.note">
-  <xsl:param name="content">
-    <fo:block xsl:use-attribute-sets="margin.note.properties">
-      <xsl:if test="./title">
-        <fo:block xsl:use-attribute-sets="margin.note.title.properties">
-          <xsl:apply-templates select="./title" mode="margin.note.title.mode"/>
-        </fo:block>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </fo:block>
-  </xsl:param>
-
-  <xsl:variable name="pi-width">
-    <xsl:call-template name="pi.dbfo_sidebar-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="position" select="$margin.note.float.type"/>
-
-  <xsl:call-template name="floater">
-    <xsl:with-param name="content" select="$content"/>
-    <xsl:with-param name="position" select="$position"/>
-    <xsl:with-param name="width" >
-      <xsl:choose>
-        <xsl:when test="$pi-width != ''">
-          <xsl:value-of select="$pi-width"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$margin.note.width"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:with-param>
-    <xsl:with-param name="start.indent">
-      <xsl:choose>
-        <xsl:when test="$position = 'start' or 
-                        $position = 'left'">0pt</xsl:when>
-        <xsl:when test="$position = 'end' or 
-                        $position = 'right'">0.5em</xsl:when>
-        <xsl:otherwise>0pt</xsl:otherwise>
-      </xsl:choose>
-    </xsl:with-param>
-    <xsl:with-param name="end.indent">
-      <xsl:choose>
-        <xsl:when test="$position = 'start' or 
-                        $position = 'left'">0.5em</xsl:when>
-        <xsl:when test="$position = 'end' or 
-                        $position = 'right'">0pt</xsl:when>
-        <xsl:otherwise>0pt</xsl:otherwise>
-      </xsl:choose>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="sidebar/title" mode="margin.note.title.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="abstract">
-  <fo:block xsl:use-attribute-sets="abstract.properties">
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="abstract/title|abstract/info/title">
-  <fo:block xsl:use-attribute-sets="abstract.title.properties">
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="msgset">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="msgentry">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<xsl:template match="simplemsgentry">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<xsl:template match="msg">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<xsl:template match="msgmain">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="msgsub">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="msgrel">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="msgtext">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="msginfo">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<xsl:template match="msglevel">
-  <fo:block>
-    <fo:inline font-weight="bold"
-               keep-with-next.within-line="always">
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'msgset'"/>
-        <xsl:with-param name="name" select="'MsgLevel'"/>
-      </xsl:call-template>
-    </fo:inline>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="msgorig">
-  <fo:block>
-    <fo:inline font-weight="bold"
-               keep-with-next.within-line="always">
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'msgset'"/>
-        <xsl:with-param name="name" select="'MsgOrig'"/>
-      </xsl:call-template>
-    </fo:inline>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="msgaud">
-  <fo:block>
-    <fo:inline font-weight="bold"
-               keep-with-next.within-line="always">
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'msgset'"/>
-        <xsl:with-param name="name" select="'MsgAud'"/>
-      </xsl:call-template>
-    </fo:inline>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="msgexplan">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<xsl:template match="msgexplan/title">
-  <fo:block font-weight="bold"
-            keep-with-next.within-column="always"
-            hyphenate="false">
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- For better or worse, revhistory is allowed in content... -->
-
-<xsl:template match="revhistory">
-  <fo:table table-layout="fixed" xsl:use-attribute-sets="revhistory.table.properties">
-    <xsl:call-template name="anchor"/>
-    <fo:table-column column-number="1" column-width="proportional-column-width(1)"/>
-    <fo:table-column column-number="2" column-width="proportional-column-width(1)"/>
-    <fo:table-column column-number="3" column-width="proportional-column-width(1)"/>
-    <fo:table-body start-indent="0pt" end-indent="0pt">
-      <fo:table-row>
-        <fo:table-cell number-columns-spanned="3" xsl:use-attribute-sets="revhistory.table.cell.properties">
-          <fo:block xsl:use-attribute-sets="revhistory.title.properties">
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'RevHistory'"/>
-            </xsl:call-template>
-          </fo:block>
-        </fo:table-cell>
-      </fo:table-row>
-      <xsl:apply-templates/>
-    </fo:table-body>
-  </fo:table>
-</xsl:template>
-
-<xsl:template match="revhistory/revision">
-  <xsl:variable name="revnumber" select="revnumber"/>
-  <xsl:variable name="revdate"   select="date"/>
-  <xsl:variable name="revauthor" select="authorinitials|author"/>
-  <xsl:variable name="revremark" select="revremark|revdescription"/>
-  <fo:table-row>
-    <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
-      <fo:block>
-        <xsl:call-template name="anchor"/>
-        <xsl:if test="$revnumber">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'Revision'"/>
-          </xsl:call-template>
-          <xsl:call-template name="gentext.space"/>
-          <xsl:apply-templates select="$revnumber[1]"/>
-        </xsl:if>
-      </fo:block>
-    </fo:table-cell>
-    <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
-      <fo:block>
-        <xsl:apply-templates select="$revdate[1]"/>
-      </fo:block>
-    </fo:table-cell>
-    <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
-      <fo:block>
-        <xsl:for-each select="$revauthor">
-          <xsl:apply-templates select="."/>
-          <xsl:if test="position() != last()">
-            <xsl:text>, </xsl:text>
-          </xsl:if>
-        </xsl:for-each>
-      </fo:block>
-    </fo:table-cell>
-  </fo:table-row>
-  <xsl:if test="$revremark">
-    <fo:table-row>
-      <fo:table-cell number-columns-spanned="3" xsl:use-attribute-sets="revhistory.table.cell.properties">
-        <fo:block>
-          <xsl:apply-templates select="$revremark[1]"/>
-        </fo:block>
-      </fo:table-cell>
-    </fo:table-row>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="revision/revnumber">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="revision/date">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="revision/authorinitials">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="revision/author">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="revision/revremark">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="revision/revdescription">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="ackno">
-  <fo:block xsl:use-attribute-sets="normal.para.spacing">
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="highlights">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/callout.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/callout.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,231 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:sverb="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim"
-                xmlns:xverb="com.nwalsh.xalan.Verbatim"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                exclude-result-prefixes="sverb xverb lxslt"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<lxslt:component prefix="xverb"
-                 functions="insertCallouts"/>
-
-<xsl:template match="programlistingco|screenco">
-  <xsl:variable name="verbatim" select="programlisting|screen"/>
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-
-  <xsl:choose>
-    <xsl:when test="$use.extensions != '0'
-                    and $callouts.extension != '0'">
-      <xsl:variable name="rtf">
-        <xsl:apply-templates select="$verbatim">
-          <xsl:with-param name="suppress-numbers" select="'1'"/>
-        </xsl:apply-templates>
-      </xsl:variable>
-
-      <xsl:variable name="rtf-with-callouts">
-        <xsl:choose>
-          <xsl:when test="contains($vendor, 'SAXON ')">
-            <xsl:copy-of select="sverb:insertCallouts(areaspec,$rtf)"/>
-          </xsl:when>
-          <xsl:when test="contains($vendor, 'Apache Software Foundation')">
-            <xsl:copy-of select="xverb:insertCallouts(areaspec,$rtf)"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:message terminate="yes">
-              <xsl:text>Don't know how to do callouts with </xsl:text>
-              <xsl:value-of select="$vendor"/>
-            </xsl:message>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$verbatim/@linenumbering = 'numbered'
-                        and $linenumbering.extension != '0'">
-          <xsl:call-template name="number.rtf.lines">
-            <xsl:with-param name="rtf" select="$rtf-with-callouts"/>
-            <xsl:with-param name="pi.context"
-                            select="programlisting|screen"/>
-          </xsl:call-template>
-          <xsl:apply-templates select="calloutlist"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:copy-of select="$rtf-with-callouts"/>
-          <xsl:apply-templates select="calloutlist"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="areaspec|areaset|area">
-</xsl:template>
-
-<xsl:template match="areaset" mode="conumber">
-  <xsl:number count="area|areaset" format="1"/>
-</xsl:template>
-
-<xsl:template match="area" mode="conumber">
-  <xsl:number count="area|areaset" format="1"/>
-</xsl:template>
-
-<xsl:template match="co">
-  <fo:inline>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates select="." mode="callout-bug"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="coref">
-  <!-- tricky; this relies on the fact that we can process the "co" that's -->
-  <!-- "over there" as if it were "right here" -->
-
-  <xsl:variable name="co" select="key('id', @linkend)"/>
-  <xsl:choose>
-    <xsl:when test="not($co)">
-      <xsl:message>
-        <xsl:text>Error: coref link is broken: </xsl:text>
-        <xsl:value-of select="@linkend"/>
-      </xsl:message>
-    </xsl:when>
-    <xsl:when test="local-name($co) != 'co'">
-      <xsl:message>
-        <xsl:text>Error: coref doesn't point to a co: </xsl:text>
-        <xsl:value-of select="@linkend"/>
-      </xsl:message>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:inline>
-        <xsl:call-template name="anchor"/>
-        <xsl:apply-templates select="$co" mode="callout-bug"/>
-      </fo:inline>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="co" mode="callout-bug">
-  <xsl:call-template name="callout-bug">
-    <xsl:with-param name="conum">
-      <xsl:number count="co"
-                  level="any"
-                  from="programlisting|screen|literallayout|synopsis"
-                  format="1"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="callout-bug">
-  <xsl:param name="conum" select='1'/>
-
-  <xsl:choose>
-    <!-- Draw callouts as images -->
-    <xsl:when test="$callout.graphics != '0'
-                    and $conum &lt;= $callout.graphics.number.limit">
-      <xsl:variable name="filename"
-                    select="concat($callout.graphics.path, $conum,
-		                   $callout.graphics.extension)"/>
-
-      <fo:external-graphic content-width="{$callout.icon.size}"
-                           width="{$callout.icon.size}">
-        <xsl:attribute name="src">
-          <xsl:choose>
-            <xsl:when test="$passivetex.extensions != 0
-                            or $fop.extensions != 0
-                            or $arbortext.extensions != 0">
-              <xsl:value-of select="$filename"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:text>url(</xsl:text>
-              <xsl:value-of select="$filename"/>
-              <xsl:text>)</xsl:text>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:attribute>
-      </fo:external-graphic>
-    </xsl:when>
-
-    <xsl:when test="$callout.unicode != 0
-                    and $conum &lt;= $callout.unicode.number.limit">
-      <xsl:variable name="comarkup">
-        <xsl:choose>
-          <xsl:when test="$callout.unicode.start.character = 10102">
-            <xsl:choose>
-              <xsl:when test="$conum = 1">&#10102;</xsl:when>
-              <xsl:when test="$conum = 2">&#10103;</xsl:when>
-              <xsl:when test="$conum = 3">&#10104;</xsl:when>
-              <xsl:when test="$conum = 4">&#10105;</xsl:when>
-              <xsl:when test="$conum = 5">&#10106;</xsl:when>
-              <xsl:when test="$conum = 6">&#10107;</xsl:when>
-              <xsl:when test="$conum = 7">&#10108;</xsl:when>
-              <xsl:when test="$conum = 8">&#10109;</xsl:when>
-              <xsl:when test="$conum = 9">&#10110;</xsl:when>
-              <xsl:when test="$conum = 10">&#10111;</xsl:when>
-            </xsl:choose>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:message>
-              <xsl:text>Don't know how to generate Unicode callouts </xsl:text>
-              <xsl:text>when $callout.unicode.start.character is </xsl:text>
-              <xsl:value-of select="$callout.unicode.start.character"/>
-            </xsl:message>
-            <fo:inline background-color="#404040"
-                       color="white"
-                       padding-top="0.1em"
-                       padding-bottom="0.1em"
-                       padding-start="0.2em"
-                       padding-end="0.2em"
-                       baseline-shift="0.1em"
-                       font-family="{$body.fontset}"
-                       font-weight="bold"
-                       font-size="75%">
-              <xsl:value-of select="$conum"/>
-            </fo:inline>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$callout.unicode.font != ''">
-          <fo:inline font-family="{$callout.unicode.font}">
-            <xsl:copy-of select="$comarkup"/>
-          </fo:inline>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:copy-of select="$comarkup"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <!-- Most safe: draw a dark gray square with a white number inside -->
-    <xsl:otherwise>
-      <fo:inline background-color="#404040"
-                 color="white"
-                 padding-top="0.1em"
-                 padding-bottom="0.1em"
-                 padding-start="0.2em"
-                 padding-end="0.2em"
-                 baseline-shift="0.1em"
-                 font-family="{$body.fontset}"
-                 font-weight="bold"
-                 font-size="75%">
-        <xsl:value-of select="$conum"/>
-      </fo:inline>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/component.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/component.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,797 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-
-<xsl:template name="component.title">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="pagewide" select="0"/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$node"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="title">
-    <xsl:apply-templates select="$node" mode="object.title.markup">
-      <xsl:with-param name="allow-anchors" select="1"/>
-    </xsl:apply-templates>
-  </xsl:variable>
-
-  <xsl:variable name="titleabbrev">
-    <xsl:apply-templates select="$node" mode="titleabbrev.markup"/>
-  </xsl:variable>
-
-  <xsl:variable name="level">
-    <xsl:choose>
-      <xsl:when test="ancestor::section">
-        <xsl:value-of select="count(ancestor::section)+1"/>
-      </xsl:when>
-      <xsl:when test="ancestor::sect5">6</xsl:when>
-      <xsl:when test="ancestor::sect4">5</xsl:when>
-      <xsl:when test="ancestor::sect3">4</xsl:when>
-      <xsl:when test="ancestor::sect2">3</xsl:when>
-      <xsl:when test="ancestor::sect1">2</xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="$passivetex.extensions != 0">
-    <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex"
-                    fotex-bookmark-level="2"
-                    fotex-bookmark-label="{$id}">
-      <xsl:value-of select="$titleabbrev"/>
-    </fotex:bookmark>
-  </xsl:if>
-
-  <fo:block xsl:use-attribute-sets="component.title.properties">
-    <xsl:if test="$pagewide != 0">
-      <!-- Doesn't work to use 'all' here since not a child of fo:flow -->
-      <xsl:attribute name="span">inherit</xsl:attribute>
-    </xsl:if>
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:if test="$axf.extensions != 0">
-      <xsl:attribute name="axf:outline-level">
-        <xsl:value-of select="count($node/ancestor::*)"/>
-      </xsl:attribute>
-      <xsl:attribute name="axf:outline-expand">false</xsl:attribute>
-      <xsl:attribute name="axf:outline-title">
-        <xsl:value-of select="normalize-space($title)"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <!-- Let's handle the case where a component (bibliography, for example)
-         occurs inside a section; will we need parameters for this?
-         Danger Will Robinson: using section.title.level*.properties here
-         runs the risk that someone will set something other than
-         font-size there... -->
-    <xsl:choose>
-      <xsl:when test="$level=2">
-        <fo:block xsl:use-attribute-sets="section.title.level2.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=3">
-        <fo:block xsl:use-attribute-sets="section.title.level3.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=4">
-        <fo:block xsl:use-attribute-sets="section.title.level4.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=5">
-        <fo:block xsl:use-attribute-sets="section.title.level5.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=6">
-        <fo:block xsl:use-attribute-sets="section.title.level6.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- not in a section: do nothing special -->
-        <xsl:copy-of select="$title"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="dedication" mode="dedication">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="component.titlepage.properties">
-        <xsl:call-template name="dedication.titlepage"/>
-      </fo:block>
-      <xsl:apply-templates/>
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="dedication"></xsl:template> <!-- see mode="dedication" -->
-<xsl:template match="dedication/docinfo"></xsl:template>
-<xsl:template match="dedication/title"></xsl:template>
-<xsl:template match="dedication/subtitle"></xsl:template>
-<xsl:template match="dedication/titleabbrev"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="colophon">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="component.titlepage.properties">
-        <xsl:call-template name="colophon.titlepage"/>
-      </fo:block>
-      <xsl:apply-templates/>
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="colophon/title"></xsl:template>
-<xsl:template match="colophon/subtitle"></xsl:template>
-<xsl:template match="colophon/titleabbrev"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="preface">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="component.titlepage.properties">
-        <xsl:call-template name="preface.titlepage"/>
-      </fo:block>
-
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" 
-                          select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:if test="contains($toc.params, 'toc')">
-        <xsl:call-template name="component.toc">
-          <xsl:with-param name="toc.title.p" 
-                          select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-        <xsl:call-template name="component.toc.separator"/>
-      </xsl:if>
-
-      <xsl:apply-templates/>
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="preface/docinfo|prefaceinfo"></xsl:template>
-<xsl:template match="preface/info"></xsl:template>
-<xsl:template match="preface/title"></xsl:template>
-<xsl:template match="preface/titleabbrev"></xsl:template>
-<xsl:template match="preface/subtitle"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="chapter">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="component.titlepage.properties">
-        <xsl:call-template name="chapter.titlepage"/>
-      </fo:block>
-
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:if test="contains($toc.params, 'toc')">
-        <xsl:call-template name="component.toc">
-          <xsl:with-param name="toc.title.p" 
-                          select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-        <xsl:call-template name="component.toc.separator"/>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="chapter/docinfo|chapterinfo"></xsl:template>
-<xsl:template match="chapter/info"></xsl:template>
-<xsl:template match="chapter/title"></xsl:template>
-<xsl:template match="chapter/titleabbrev"></xsl:template>
-<xsl:template match="chapter/subtitle"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="appendix">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="component.titlepage.properties">
-        <xsl:call-template name="appendix.titlepage"/>
-      </fo:block>
-
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:if test="contains($toc.params, 'toc')">
-        <xsl:call-template name="component.toc">
-          <xsl:with-param name="toc.title.p" 
-                          select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-        <xsl:call-template name="component.toc.separator"/>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="appendix/docinfo|appendixinfo"></xsl:template>
-<xsl:template match="appendix/info"></xsl:template>
-<xsl:template match="appendix/title"></xsl:template>
-<xsl:template match="appendix/titleabbrev"></xsl:template>
-<xsl:template match="appendix/subtitle"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="article">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="component.titlepage.properties">
-        <xsl:call-template name="article.titlepage"/>
-      </fo:block>
-
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:if test="contains($toc.params, 'toc')">
-        <xsl:call-template name="component.toc">
-          <xsl:with-param name="toc.title.p" 
-                          select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-        <xsl:call-template name="component.toc.separator"/>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="article/artheader"></xsl:template>
-<xsl:template match="article/articleinfo"></xsl:template>
-<xsl:template match="article/info"></xsl:template>
-<xsl:template match="article/title"></xsl:template>
-<xsl:template match="article/subtitle"></xsl:template>
-<xsl:template match="article/titleabbrev"></xsl:template>
-
-<xsl:template match="article/appendix">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="title">
-    <xsl:apply-templates select="." mode="object.title.markup"/>
-  </xsl:variable>
-
-  <xsl:variable name="titleabbrev">
-    <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-  </xsl:variable>
-
-  <fo:block id='{$id}'>
-    <xsl:if test="$axf.extensions != 0">
-      <xsl:attribute name="axf:outline-level">
-        <xsl:value-of select="count(ancestor::*)+2"/>
-      </xsl:attribute>
-      <xsl:attribute name="axf:outline-expand">false</xsl:attribute>
-      <xsl:attribute name="axf:outline-title">
-        <xsl:value-of select="normalize-space($titleabbrev)"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="$passivetex.extensions != 0">
-      <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex" 
-                      fotex-bookmark-level="{count(ancestor::*)+2}" 
-                      fotex-bookmark-label="{$id}">
-        <xsl:value-of select="$titleabbrev"/>
-      </fotex:bookmark>
-    </xsl:if>
-
-    <fo:block xsl:use-attribute-sets="article.appendix.title.properties">
-      <fo:marker marker-class-name="section.head.marker">
-        <xsl:choose>
-          <xsl:when test="$titleabbrev = ''">
-            <xsl:value-of select="$title"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$titleabbrev"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:marker>
-      <xsl:copy-of select="$title"/>
-    </fo:block>
-
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- Utility template to create a page sequence for an element -->
-<xsl:template match="*" mode="page.sequence" name="page.sequence">
-  <xsl:param name="content">
-    <xsl:apply-templates/>
-  </xsl:param>
-  <xsl:param name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:param>
-  <xsl:param name="element" select="local-name(.)"/>
-  <xsl:param name="gentext-key" select="local-name(.)"/>
-  <xsl:param name="language">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:param>
-
-  <xsl:param name="format">
-    <xsl:call-template name="page.number.format">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-      <xsl:with-param name="element" select="$element"/>
-    </xsl:call-template>
-  </xsl:param>
-
-  <xsl:param name="initial-page-number">
-    <xsl:call-template name="initial.page.number">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-      <xsl:with-param name="element" select="$element"/>
-    </xsl:call-template>
-  </xsl:param>
-
-  <xsl:param name="force-page-count">
-    <xsl:call-template name="force.page.count">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-      <xsl:with-param name="element" select="$element"/>
-    </xsl:call-template>
-  </xsl:param>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:value-of select="$language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:value-of select="$format"/>
-    </xsl:attribute>
-
-    <xsl:attribute name="initial-page-number">
-      <xsl:value-of select="$initial-page-number"/>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:value-of select="$force-page-count"/>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-      <xsl:with-param name="gentext-key" select="$gentext-key"/>
-    </xsl:apply-templates>
-
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-      <xsl:with-param name="gentext-key" select="$gentext-key"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <xsl:copy-of select="$content"/>
-
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/division.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/division.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,611 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template name="division.title">
-  <xsl:param name="node" select="."/>
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$node"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="title">
-    <xsl:apply-templates select="$node" mode="object.title.markup"/>
-  </xsl:variable>
-
-  <xsl:if test="$passivetex.extensions != 0">
-    <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex"
-                    fotex-bookmark-level="1"
-                    fotex-bookmark-label="{$id}">
-      <xsl:value-of select="$title"/>
-    </fotex:bookmark>
-  </xsl:if>
-
-  <fo:block keep-with-next.within-column="always"
-            hyphenate="false">
-    <xsl:if test="$axf.extensions != 0">
-      <xsl:attribute name="axf:outline-level">
-        <xsl:choose>
-          <xsl:when test="count($node/ancestor::*) > 0">
-            <xsl:value-of select="count($node/ancestor::*)"/>
-          </xsl:when>
-          <xsl:otherwise>1</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-      <xsl:attribute name="axf:outline-expand">false</xsl:attribute>
-      <xsl:attribute name="axf:outline-title">
-        <xsl:value-of select="normalize-space($title)"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:copy-of select="$title"/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="set">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="preamble"
-                select="*[not(self::book or self::setindex)]"/>
-
-  <xsl:variable name="content" select="book|setindex"/>
-
-  <xsl:variable name="titlepage-master-reference">
-    <xsl:call-template name="select.pagemaster">
-      <xsl:with-param name="pageclass" select="'titlepage'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="lot-master-reference">
-    <xsl:call-template name="select.pagemaster">
-      <xsl:with-param name="pageclass" select="'lot'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="$preamble">
-    <fo:page-sequence hyphenate="{$hyphenate}"
-                      master-reference="{$titlepage-master-reference}">
-      <xsl:attribute name="language">
-        <xsl:call-template name="l10n.language"/>
-      </xsl:attribute>
-      <xsl:attribute name="format">
-        <xsl:call-template name="page.number.format">
-          <xsl:with-param name="master-reference" 
-                          select="$titlepage-master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:attribute name="initial-page-number">
-        <xsl:call-template name="initial.page.number">
-          <xsl:with-param name="master-reference" 
-                          select="$titlepage-master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:attribute name="force-page-count">
-        <xsl:call-template name="force.page.count">
-          <xsl:with-param name="master-reference" 
-                          select="$titlepage-master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:attribute name="hyphenation-character">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-character'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="hyphenation-push-character-count">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="hyphenation-remain-character-count">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:apply-templates select="." mode="running.head.mode">
-        <xsl:with-param name="master-reference" select="$titlepage-master-reference"/>
-      </xsl:apply-templates>
-
-      <xsl:apply-templates select="." mode="running.foot.mode">
-        <xsl:with-param name="master-reference" select="$titlepage-master-reference"/>
-      </xsl:apply-templates>
-
-      <fo:flow flow-name="xsl-region-body">
-        <xsl:call-template name="set.flow.properties">
-          <xsl:with-param name="element" select="local-name(.)"/>
-          <xsl:with-param name="master-reference" 
-                          select="$titlepage-master-reference"/>
-        </xsl:call-template>
-
-        <fo:block id="{$id}">
-          <xsl:call-template name="set.titlepage"/>
-        </fo:block>
-      </fo:flow>
-    </fo:page-sequence>
-  </xsl:if>
-
-  <xsl:variable name="toc.params">
-    <xsl:call-template name="find.path.params">
-      <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="contains($toc.params, 'toc')">
-    <fo:page-sequence hyphenate="{$hyphenate}"
-                      master-reference="{$lot-master-reference}">
-      <xsl:attribute name="language">
-        <xsl:call-template name="l10n.language"/>
-      </xsl:attribute>
-      <xsl:attribute name="format">
-        <xsl:call-template name="page.number.format">
-          <xsl:with-param name="element" select="'toc'"/>
-          <xsl:with-param name="master-reference"
-                          select="$lot-master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="initial-page-number">
-        <xsl:call-template name="initial.page.number">
-          <xsl:with-param name="master-reference"
-                          select="$lot-master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="force-page-count">
-        <xsl:call-template name="force.page.count">
-          <xsl:with-param name="master-reference"
-                          select="$lot-master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:attribute name="hyphenation-character">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-character'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="hyphenation-push-character-count">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="hyphenation-remain-character-count">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:apply-templates select="." mode="running.head.mode">
-        <xsl:with-param name="master-reference" select="$lot-master-reference"/>
-      </xsl:apply-templates>
-
-      <xsl:apply-templates select="." mode="running.foot.mode">
-        <xsl:with-param name="master-reference" select="$lot-master-reference"/>
-      </xsl:apply-templates>
-
-      <fo:flow flow-name="xsl-region-body">
-        <xsl:call-template name="set.flow.properties">
-          <xsl:with-param name="element" select="local-name(.)"/>
-          <xsl:with-param name="master-reference" 
-                          select="$lot-master-reference"/>
-        </xsl:call-template>
-
-        <xsl:call-template name="set.toc"/>
-      </fo:flow>
-    </fo:page-sequence>
-  </xsl:if>
-
-  <xsl:apply-templates select="$content"/>
-</xsl:template>
-
-<xsl:template match="set/setinfo"></xsl:template>
-<xsl:template match="set/title"></xsl:template>
-<xsl:template match="set/subtitle"></xsl:template>
-<xsl:template match="set/titleabbrev"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="book">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="preamble"
-                select="title|subtitle|titleabbrev|bookinfo|info"/>
-
-  <xsl:variable name="content"
-                select="node()[not(self::title or self::subtitle
-                            or self::titleabbrev
-                            or self::info
-                            or self::bookinfo)]"/>
-
-  <xsl:variable name="titlepage-master-reference">
-    <xsl:call-template name="select.pagemaster">
-      <xsl:with-param name="pageclass" select="'titlepage'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="front.cover"/>
-
-  <xsl:if test="$preamble">
-    <xsl:call-template name="page.sequence">
-      <xsl:with-param name="master-reference"
-                      select="$titlepage-master-reference"/>
-      <xsl:with-param name="content">
-        <fo:block id="{$id}">
-          <xsl:call-template name="book.titlepage"/>
-        </fo:block>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:apply-templates select="dedication" mode="dedication"/>
-
-  <xsl:call-template name="make.book.tocs"/>
-
-  <xsl:apply-templates select="$content"/>
-
-  <xsl:call-template name="back.cover"/>
-
-</xsl:template>
-
-<xsl:template match="book/bookinfo"></xsl:template>
-<xsl:template match="book/info"></xsl:template>
-<xsl:template match="book/title"></xsl:template>
-<xsl:template match="book/subtitle"></xsl:template>
-<xsl:template match="book/titleabbrev"></xsl:template>
-
-<!-- Placeholder templates -->
-<xsl:template name="front.cover"/>
-<xsl:template name="back.cover"/>
-
-<!-- ================================================================= -->
-<xsl:template name="make.book.tocs">
-
-  <xsl:variable name="lot-master-reference">
-    <xsl:call-template name="select.pagemaster">
-      <xsl:with-param name="pageclass" select="'lot'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="toc.params">
-    <xsl:call-template name="find.path.params">
-      <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="contains($toc.params, 'toc')">
-    <xsl:call-template name="page.sequence">
-      <xsl:with-param name="master-reference"
-                      select="$lot-master-reference"/>
-      <xsl:with-param name="element" select="'toc'"/>
-      <xsl:with-param name="gentext-key" select="'TableofContents'"/>
-      <xsl:with-param name="content">
-        <xsl:call-template name="division.toc">
-          <xsl:with-param name="toc.title.p" 
-                          select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="contains($toc.params,'figure') and .//figure">
-    <xsl:call-template name="page.sequence">
-      <xsl:with-param name="master-reference"
-                      select="$lot-master-reference"/>
-      <xsl:with-param name="element" select="'toc'"/>
-      <xsl:with-param name="gentext-key" select="'ListofFigures'"/>
-      <xsl:with-param name="content">
-        <xsl:call-template name="list.of.titles">
-          <xsl:with-param name="titles" select="'figure'"/>
-          <xsl:with-param name="nodes" select=".//figure"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="contains($toc.params,'table') and .//table">
-    <xsl:call-template name="page.sequence">
-      <xsl:with-param name="master-reference"
-                      select="$lot-master-reference"/>
-      <xsl:with-param name="element" select="'toc'"/>
-      <xsl:with-param name="gentext-key" select="'ListofTables'"/>
-      <xsl:with-param name="content">
-        <xsl:call-template name="list.of.titles">
-          <xsl:with-param name="titles" select="'table'"/>
-          <xsl:with-param name="nodes" select=".//table"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="contains($toc.params,'example') and .//example">
-    <xsl:call-template name="page.sequence">
-      <xsl:with-param name="master-reference"
-                      select="$lot-master-reference"/>
-      <xsl:with-param name="element" select="'toc'"/>
-      <xsl:with-param name="gentext-key" select="'ListofExample'"/>
-      <xsl:with-param name="content">
-        <xsl:call-template name="list.of.titles">
-          <xsl:with-param name="titles" select="'example'"/>
-          <xsl:with-param name="nodes" select=".//example"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="contains($toc.params,'equation') and 
-                 .//equation[title or info/title]">
-    <xsl:call-template name="page.sequence">
-      <xsl:with-param name="master-reference"
-                      select="$lot-master-reference"/>
-      <xsl:with-param name="element" select="'toc'"/>
-      <xsl:with-param name="gentext-key" select="'ListofEquations'"/>
-      <xsl:with-param name="content">
-        <xsl:call-template name="list.of.titles">
-          <xsl:with-param name="titles" select="'equation'"/>
-          <xsl:with-param name="nodes" 
-                          select=".//equation[title or info/title]"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="contains($toc.params,'procedure') and 
-                 .//procedure[title or info/title]">
-    <xsl:call-template name="page.sequence">
-      <xsl:with-param name="master-reference"
-                      select="$lot-master-reference"/>
-      <xsl:with-param name="element" select="'toc'"/>
-      <xsl:with-param name="gentext-key" select="'ListofProcedures'"/>
-      <xsl:with-param name="content">
-        <xsl:call-template name="list.of.titles">
-          <xsl:with-param name="titles" select="'procedure'"/>
-          <xsl:with-param name="nodes" 
-                          select=".//procedure[title or info/title]"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-<!-- ==================================================================== -->
-
-<xsl:template match="part">
-  <xsl:if test="not(partintro)">
-    <xsl:apply-templates select="." mode="part.titlepage.mode"/>
-    <xsl:call-template name="generate.part.toc"/>
-  </xsl:if>
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="part" mode="part.titlepage.mode">
-  <!-- done this way to force the context node to be the part -->
-  <xsl:param name="additional.content"/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="titlepage-master-reference">
-    <xsl:call-template name="select.pagemaster">
-      <xsl:with-param name="pageclass" select="'titlepage'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$titlepage-master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" 
-                        select="$titlepage-master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" 
-                        select="$titlepage-master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" 
-                        select="$titlepage-master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$titlepage-master-reference"/>
-    </xsl:apply-templates>
-
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$titlepage-master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" 
-                        select="$titlepage-master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}">
-        <xsl:call-template name="part.titlepage"/>
-      </fo:block>
-      <xsl:copy-of select="$additional.content"/>
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="part/docinfo|partinfo"></xsl:template>
-<xsl:template match="part/info"></xsl:template>
-<xsl:template match="part/title"></xsl:template>
-<xsl:template match="part/subtitle"></xsl:template>
-<xsl:template match="part/titleabbrev"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="generate.part.toc">
-  <xsl:param name="part" select="."/>
-
-  <xsl:variable name="lot-master-reference">
-    <xsl:call-template name="select.pagemaster">
-      <xsl:with-param name="pageclass" select="'lot'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="toc.params">
-    <xsl:call-template name="find.path.params">
-      <xsl:with-param name="node" select="$part"/>
-      <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="nodes" select="reference|
-                                     preface|
-                                     chapter|
-                                     appendix|
-                                     article|
-                                     bibliography|
-                                     glossary|
-                                     index"/>
-
-  <xsl:if test="count($nodes) &gt; 0 and contains($toc.params, 'toc')">
-    <fo:page-sequence hyphenate="{$hyphenate}"
-                      master-reference="{$lot-master-reference}">
-      <xsl:attribute name="language">
-        <xsl:call-template name="l10n.language"/>
-      </xsl:attribute>
-      <xsl:attribute name="format">
-        <xsl:call-template name="page.number.format">
-          <xsl:with-param name="element" select="'toc'"/>
-          <xsl:with-param name="master-reference" 
-                          select="$lot-master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="initial-page-number">
-        <xsl:call-template name="initial.page.number">
-          <xsl:with-param name="element" select="'toc'"/>
-          <xsl:with-param name="master-reference" 
-                          select="$lot-master-reference"/>
-         </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="force-page-count">
-        <xsl:call-template name="force.page.count">
-          <xsl:with-param name="master-reference" 
-                          select="$lot-master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:attribute name="hyphenation-character">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-character'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="hyphenation-push-character-count">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="hyphenation-remain-character-count">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:apply-templates select="$part" mode="running.head.mode">
-        <xsl:with-param name="master-reference" select="$lot-master-reference"/>
-      </xsl:apply-templates>
-
-      <xsl:apply-templates select="$part" mode="running.foot.mode">
-        <xsl:with-param name="master-reference" select="$lot-master-reference"/>
-      </xsl:apply-templates>
-
-      <fo:flow flow-name="xsl-region-body">
-        <xsl:call-template name="set.flow.properties">
-          <xsl:with-param name="element" select="local-name(.)"/>
-          <xsl:with-param name="master-reference" 
-                          select="$lot-master-reference"/>
-        </xsl:call-template>
-
-        <xsl:call-template name="division.toc">
-          <xsl:with-param name="toc-context" select="$part"/>
-          <xsl:with-param name="toc.title.p" 
-                          select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-
-      </fo:flow>
-    </fo:page-sequence>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="part/partintro">
-  <xsl:apply-templates select=".." mode="part.titlepage.mode">
-    <xsl:with-param name="additional.content">
-      <xsl:if test="title">
-        <xsl:call-template name="partintro.titlepage"/>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </xsl:with-param>
-  </xsl:apply-templates>
-
-  <xsl:call-template name="generate.part.toc">
-    <xsl:with-param name="part" select=".."/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="partintro/title"></xsl:template>
-<xsl:template match="partintro/subtitle"></xsl:template>
-<xsl:template match="partintro/titleabbrev"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="book" mode="division.number">
-  <xsl:number from="set" count="book" format="1."/>
-</xsl:template>
-
-<xsl:template match="part" mode="division.number">
-  <xsl:number from="book" count="part" format="I."/>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/docbook.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/docbook.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,331 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:exsl="http://exslt.org/common"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:ng="http://docbook.org/docbook-ng"
-                xmlns:db="http://docbook.org/ns/docbook"
-                exclude-result-prefixes="db ng exsl"
-                version='1.0'>
-
-<!-- It is important to use indent="no" here, otherwise verbatim -->
-<!-- environments get broken by indented tags...at least when the -->
-<!-- callout extension is used...at least with some processors -->
-<xsl:output method="xml" indent="no"/>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:include href="../VERSION"/>
-<xsl:include href="param.xsl"/>
-<xsl:include href="../lib/lib.xsl"/>
-<xsl:include href="../common/l10n.xsl"/>
-<xsl:include href="../common/common.xsl"/>
-<xsl:include href="../common/utility.xsl"/>
-<xsl:include href="../common/labels.xsl"/>
-<xsl:include href="../common/titles.xsl"/>
-<xsl:include href="../common/subtitles.xsl"/>
-<xsl:include href="../common/gentext.xsl"/>
-<xsl:include href="../common/olink.xsl"/>
-<xsl:include href="../common/targets.xsl"/>
-<xsl:include href="../common/pi.xsl"/>
-<xsl:include href="autotoc.xsl"/>
-<xsl:include href="autoidx.xsl"/>
-<xsl:include href="lists.xsl"/>
-<xsl:include href="callout.xsl"/>
-<xsl:include href="verbatim.xsl"/>
-<xsl:include href="graphics.xsl"/>
-<xsl:include href="xref.xsl"/>
-<xsl:include href="formal.xsl"/>
-<xsl:include href="table.xsl"/>
-<xsl:include href="htmltbl.xsl"/>
-<xsl:include href="sections.xsl"/>
-<xsl:include href="inline.xsl"/>
-<xsl:include href="footnote.xsl"/>
-<xsl:include href="fo.xsl"/>
-<xsl:include href="fo-rtf.xsl"/>
-<xsl:include href="info.xsl"/>
-<xsl:include href="keywords.xsl"/>
-<xsl:include href="division.xsl"/>
-<xsl:include href="index.xsl"/>
-<xsl:include href="toc.xsl"/>
-<xsl:include href="refentry.xsl"/>
-<xsl:include href="math.xsl"/>
-<xsl:include href="admon.xsl"/>
-<xsl:include href="component.xsl"/>
-<xsl:include href="biblio.xsl"/>
-<xsl:include href="biblio-iso690.xsl"/>
-<xsl:include href="glossary.xsl"/>
-<xsl:include href="block.xsl"/>
-<xsl:include href="task.xsl"/>
-<xsl:include href="qandaset.xsl"/>
-<xsl:include href="synop.xsl"/>
-<xsl:include href="titlepage.xsl"/>
-<xsl:include href="titlepage.templates.xsl"/>
-<xsl:include href="pagesetup.xsl"/>
-<xsl:include href="pi.xsl"/>
-<xsl:include href="spaces.xsl"/>
-<xsl:include href="ebnf.xsl"/>
-<xsl:include href="../html/chunker.xsl"/>
-<xsl:include href="annotations.xsl"/>
-<xsl:include href="../common/stripns.xsl"/>
-
-<xsl:include href="fop.xsl"/>
-<xsl:include href="fop1.xsl"/>
-<xsl:include href="passivetex.xsl"/>
-<xsl:include href="xep.xsl"/>
-<xsl:include href="axf.xsl"/>
-<xsl:include href="ptc.xsl"/>
-
-<xsl:param name="stylesheet.result.type" select="'fo'"/>
-
-<!-- ==================================================================== -->
-
-<xsl:key name="id" match="*" use="@id|@xml:id"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*">
-  <xsl:message>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text> encountered</xsl:text>
-    <xsl:if test="parent::*">
-      <xsl:text> in </xsl:text>
-      <xsl:value-of select="name(parent::*)"/>
-    </xsl:if>
-    <xsl:text>, but no template matches.</xsl:text>
-  </xsl:message>
-  <fo:block color="red">
-    <xsl:text>&lt;</xsl:text>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text>&gt;</xsl:text>
-    <xsl:apply-templates/> 
-    <xsl:text>&lt;/</xsl:text>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text>&gt;</xsl:text>
-  </fo:block>
-</xsl:template>
-
-<!-- Update this list if new root elements supported -->
-<xsl:variable name="root.elements" select="' appendix article bibliography book chapter colophon dedication glossary index part preface qandaset refentry reference sect1 section set setindex '"/>
-
-<xsl:template match="/">
-  <!-- * Get a title for current doc so that we let the user -->
-  <!-- * know what document we are processing at this point. -->
-  <xsl:variable name="doc.title">
-    <xsl:call-template name="get.doc.title"/>
-  </xsl:variable>
-  <xsl:choose>
-    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
-         toss the namespace and continue.  Use the docbook5 namespaced
-         stylesheets for DocBook5 if you don't want to use this feature.-->
-    <!-- include extra test for Xalan quirk -->
-    <xsl:when test="(function-available('exsl:node-set') or
-                     contains(system-property('xsl:vendor'),
-                       'Apache Software Foundation'))
-                    and (*/self::ng:* or */self::db:*)">
-      <xsl:call-template name="log.message">
-        <xsl:with-param name="level">Note</xsl:with-param>
-        <xsl:with-param name="source" select="$doc.title"/>
-        <xsl:with-param name="context-desc">
-          <xsl:text>namesp. cut</xsl:text>
-        </xsl:with-param>
-        <xsl:with-param name="message">
-          <xsl:text>stripped namespace before processing</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:variable name="nons">
-        <xsl:apply-templates mode="stripNS"/>
-      </xsl:variable>
-      <xsl:call-template name="log.message">
-        <xsl:with-param name="level">Note</xsl:with-param>
-        <xsl:with-param name="source" select="$doc.title"/>
-        <xsl:with-param name="context-desc">
-          <xsl:text>namesp. cut</xsl:text>
-        </xsl:with-param>
-        <xsl:with-param name="message">
-          <xsl:text>processing stripped document</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:apply-templates select="exsl:node-set($nons)"/>
-    </xsl:when>
-    <!-- Can't process unless namespace removed -->
-    <xsl:when test="*/self::ng:* or */self::db:*">
-      <xsl:message terminate="yes">
-        <xsl:text>Unable to strip the namespace from DB5 document,</xsl:text>
-        <xsl:text> cannot proceed.</xsl:text>
-      </xsl:message>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$rootid != ''">
-          <xsl:variable name="root.element" select="key('id', $rootid)"/>
-          <xsl:choose>
-            <xsl:when test="count($root.element) = 0">
-              <xsl:message terminate="yes">
-                <xsl:text>ID '</xsl:text>
-                <xsl:value-of select="$rootid"/>
-                <xsl:text>' not found in document.</xsl:text>
-              </xsl:message>
-            </xsl:when>
-            <xsl:when test="not(contains($root.elements, concat(' ', local-name($root.element), ' ')))">
-              <xsl:message terminate="yes">
-                <xsl:text>ERROR: Document root element ($rootid=</xsl:text>
-                <xsl:value-of select="$rootid"/>
-                <xsl:text>) for FO output </xsl:text>
-                <xsl:text>must be one of the following elements:</xsl:text>
-                <xsl:value-of select="$root.elements"/>
-              </xsl:message>
-            </xsl:when>
-            <!-- Otherwise proceed -->
-            <xsl:otherwise>
-              <xsl:if test="$collect.xref.targets = 'yes' or
-                            $collect.xref.targets = 'only'">
-                <xsl:apply-templates select="$root.element"
-                                     mode="collect.targets"/>
-              </xsl:if>
-              <xsl:if test="$collect.xref.targets != 'only'">
-                <xsl:apply-templates select="$root.element"
-                                     mode="process.root"/>
-              </xsl:if>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <!-- Otherwise process the document root element -->
-        <xsl:otherwise>
-          <xsl:variable name="document.element" select="*[1]"/>
-          <xsl:choose>
-            <xsl:when test="not(contains($root.elements,
-                     concat(' ', local-name($document.element), ' ')))">
-              <xsl:message terminate="yes">
-                <xsl:text>ERROR: Document root element for FO output </xsl:text>
-                <xsl:text>must be one of the following elements:</xsl:text>
-                <xsl:value-of select="$root.elements"/>
-              </xsl:message>
-            </xsl:when>
-            <!-- Otherwise proceed -->
-            <xsl:otherwise>
-              <xsl:if test="$collect.xref.targets = 'yes' or
-                            $collect.xref.targets = 'only'">
-                <xsl:apply-templates select="/"
-                                     mode="collect.targets"/>
-              </xsl:if>
-              <xsl:if test="$collect.xref.targets != 'only'">
-                <xsl:apply-templates select="/"
-                                     mode="process.root"/>
-              </xsl:if>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="process.root">
-  <xsl:variable name="document.element" select="self::*"/>
-
-  <xsl:call-template name="root.messages"/>
-
-  <xsl:variable name="title">
-    <xsl:choose>
-      <xsl:when test="$document.element/title[1]">
-        <xsl:value-of select="$document.element/title[1]"/>
-      </xsl:when>
-      <xsl:otherwise>[could not find document title]</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  
-  <!-- Include all id values in XEP output -->
-  <xsl:if test="$xep.extensions != 0">
-    <xsl:processing-instruction 
-     name="xep-pdf-drop-unused-destinations">false</xsl:processing-instruction>
-  </xsl:if>
-
-  <fo:root xsl:use-attribute-sets="root.properties">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language">
-        <xsl:with-param name="target" select="/*[1]"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:if test="$xep.extensions != 0">
-      <xsl:call-template name="xep-pis"/>
-      <xsl:call-template name="xep-document-information"/>
-    </xsl:if>
-    <xsl:if test="$axf.extensions != 0">
-      <xsl:call-template name="axf-document-information"/>
-    </xsl:if>
-
-    <xsl:call-template name="setup.pagemasters"/>
-
-    <xsl:if test="$fop.extensions != 0">
-      <xsl:apply-templates select="$document.element" mode="fop.outline"/>
-    </xsl:if>
-
-    <xsl:if test="$fop1.extensions != 0">
-      <xsl:variable name="bookmarks">
-        <xsl:apply-templates select="$document.element" 
-                             mode="fop1.outline"/>
-      </xsl:variable>
-      <xsl:if test="string($bookmarks) != ''">
-        <fo:bookmark-tree>
-          <xsl:copy-of select="$bookmarks"/>
-        </fo:bookmark-tree>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:if test="$xep.extensions != 0">
-      <xsl:variable name="bookmarks">
-        <xsl:apply-templates select="$document.element" mode="xep.outline"/>
-      </xsl:variable>
-      <xsl:if test="string($bookmarks) != ''">
-        <rx:outline xmlns:rx="http://www.renderx.com/XSL/Extensions">
-          <xsl:copy-of select="$bookmarks"/>
-        </rx:outline>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:if test="$arbortext.extensions != 0 and $ati.xsl11.bookmarks != 0">
-      <xsl:variable name="bookmarks">
-        <xsl:apply-templates select="$document.element"
-                             mode="ati.xsl11.bookmarks"/>
-      </xsl:variable>
-      <xsl:if test="string($bookmarks) != ''">
-        <fo:bookmark-tree>
-          <xsl:copy-of select="$bookmarks"/>
-        </fo:bookmark-tree>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:apply-templates select="$document.element"/>
-  </fo:root>
-</xsl:template>
-
-<xsl:template name="root.messages">
-  <!-- redefine this any way you'd like to output messages -->
-  <!-- DO NOT OUTPUT ANYTHING FROM THIS TEMPLATE -->
-  <xsl:message>
-    <xsl:text>Making </xsl:text>
-    <xsl:value-of select="$page.orientation"/>
-    <xsl:text> pages on </xsl:text>
-    <xsl:value-of select="$paper.type"/>
-    <xsl:text> paper (</xsl:text>
-    <xsl:value-of select="$page.width"/>
-    <xsl:text>x</xsl:text>
-    <xsl:value-of select="$page.height"/>
-    <xsl:text>)</xsl:text>
-  </xsl:message>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/ebnf.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/ebnf.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,325 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                exclude-result-prefixes="doc"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<doc:reference xmlns="">
-<referenceinfo>
-<releaseinfo role="meta">
-$Id$
-</releaseinfo>
-<author><surname>Walsh</surname>
-<firstname>Norman</firstname></author>
-<copyright><year>1999</year><year>2000</year><year>2001</year>
-<holder>Norman Walsh</holder>
-</copyright>
-</referenceinfo>
-<title>HTML EBNF Reference</title>
-
-<partintro>
-<section><title>Introduction</title>
-
-<para>This is technical reference documentation for the DocBook XSL
-Stylesheets; it documents (some of) the parameters, templates, and
-other elements of the stylesheets.</para>
-
-<para>This reference describes the templates and parameters relevant
-to formatting EBNF markup.</para>
-
-<para>This is not intended to be <quote>user</quote> documentation.
-It is provided for developers writing customization layers for the
-stylesheets, and for anyone who's interested in <quote>how it
-works</quote>.</para>
-
-<para>Although I am trying to be thorough, this documentation is known
-to be incomplete. Don't forget to read the source, too :-)</para>
-</section>
-</partintro>
-</doc:reference>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="productionset">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="title">
-      <fo:block id="{$id}" xsl:use-attribute-sets="formal.object.properties">
-        <xsl:call-template name="formal.object.heading">
-          <xsl:with-param name="placement" select="'before'"/>
-        </xsl:call-template>
-
-        <fo:table table-layout="fixed" width="100%">
-          <fo:table-column column-number="1" column-width="3%"/>
-          <fo:table-column column-number="2" column-width="15%"/>
-          <fo:table-column column-number="3" column-width="5%"/>
-          <fo:table-column column-number="4" column-width="52%"/>
-          <fo:table-column column-number="5" column-width="25%"/>
-          <fo:table-body start-indent="0pt" end-indent="0pt">
-            <xsl:apply-templates select="production|productionrecap"/>
-          </fo:table-body>
-        </fo:table>
-      </fo:block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:table id="{$id}" table-layout="fixed" width="100%">
-        <fo:table-column column-number="1" column-width="3%"/>
-        <fo:table-column column-number="2" column-width="15%"/>
-        <fo:table-column column-number="3" column-width="5%"/>
-        <fo:table-column column-number="4" column-width="52%"/>
-        <fo:table-column column-number="5" column-width="25%"/>
-        <fo:table-body start-indent="0pt" end-indent="0pt">
-          <xsl:apply-templates select="production|productionrecap"/>
-        </fo:table-body>
-      </fo:table>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="productionset/title">
-  <!-- suppressed -->
-</xsl:template>
-
-<xsl:template match="production">
-  <xsl:param name="recap" select="false()"/>
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-  <fo:table-row>
-    <fo:table-cell>
-      <fo:block text-align="start">
-        <xsl:text>[</xsl:text>
-        <xsl:number count="production" level="any"/>
-        <xsl:text>]</xsl:text>
-      </fo:block>
-    </fo:table-cell>
-    <fo:table-cell>
-      <fo:block text-align="end">
-        <xsl:choose>
-          <xsl:when test="$recap">
-            <fo:basic-link internal-destination="{$id}"
-                           xsl:use-attribute-sets="xref.properties">
-              <xsl:apply-templates select="lhs"/>
-            </fo:basic-link>
-          </xsl:when>
-          <xsl:otherwise>
-            <fo:wrapper id="{$id}">
-              <xsl:apply-templates select="lhs"/>
-            </fo:wrapper>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:block>
-    </fo:table-cell>
-    <fo:table-cell>
-      <fo:block text-align="center">
-        <xsl:copy-of select="$ebnf.assignment"/>
-      </fo:block>
-    </fo:table-cell>
-    <fo:table-cell>
-      <fo:block>
-        <xsl:apply-templates select="rhs"/>
-        <xsl:copy-of select="$ebnf.statement.terminator"/>
-      </fo:block>
-    </fo:table-cell>
-    <fo:table-cell border-start-width="3pt">
-      <fo:block text-align="start">
-        <xsl:choose>
-          <xsl:when test="rhs/lineannotation|constraint">
-            <xsl:apply-templates select="rhs/lineannotation" mode="rhslo"/>
-            <xsl:apply-templates select="constraint"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:text>&#160;</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:block>
-    </fo:table-cell>
-  </fo:table-row>
-</xsl:template>
-
-<xsl:template match="productionrecap">
-  <xsl:variable name="targets" select="key('id',@linkend)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:if test="count($targets)=0">
-    <xsl:message>
-      <xsl:text>Error: no ID for productionrecap linkend: </xsl:text>
-      <xsl:value-of select="@linkend"/>
-      <xsl:text>.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="count($targets)>1">
-    <xsl:message>
-      <xsl:text>Warning: multiple "IDs" for productionrecap linkend: </xsl:text>
-      <xsl:value-of select="@linkend"/>
-      <xsl:text>.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:apply-templates select="$target">
-    <xsl:with-param name="recap" select="true()"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="lhs">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="rhs">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="nonterminal">
-  <xsl:variable name="linkend">
-    <xsl:call-template name="xpointer.idref">
-      <xsl:with-param name="xpointer" select="@def"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="check.id.unique">
-    <xsl:with-param name="linkend" select="$linkend"/>
-  </xsl:call-template>
-
-  <xsl:call-template name="check.idref.targets">
-    <xsl:with-param name="linkend" select="$linkend"/>
-    <xsl:with-param name="element-list">production</xsl:with-param>
-  </xsl:call-template>
-
-  <!-- If you don't provide content, you can't point outside this doc. -->
-  <xsl:choose>
-    <xsl:when test="*|text()"><!--nop--></xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$linkend = ''">
-	<xsl:message>
-	  <xsl:text>Non-terminals with no content must point to </xsl:text>
-	  <xsl:text>production elements in the current document.</xsl:text>
-	</xsl:message>
-	<xsl:message>
-	  <xsl:text>Invalid xpointer for empty nt: </xsl:text>
-	  <xsl:value-of select="@def"/>
-	</xsl:message>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:variable name="href">
-    <xsl:choose>
-      <xsl:when test="$linkend != ''">
-	<xsl:variable name="targets" select="key('id',$linkend)"/>
-	<xsl:variable name="target" select="$targets[1]"/>
-        <xsl:call-template name="object.id">
-          <xsl:with-param name="object" select="$target"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:value-of select="@def"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <fo:basic-link internal-destination="{$href}"
-                 xsl:use-attribute-sets="xref.properties">
-    <xsl:choose>
-      <xsl:when test="*|text()">
-        <xsl:apply-templates/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:choose>
-          <xsl:when test="$linkend != ''">
-            <xsl:variable name="targets" select="key('id',$linkend)"/>
-            <xsl:variable name="target" select="$targets[1]"/>
-            <xsl:apply-templates select="$target/lhs"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:text>???</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:basic-link>
-</xsl:template>
-
-<xsl:template match="rhs/lineannotation">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="rhs/lineannotation" mode="rhslo">
-  <xsl:text>/*&#160;</xsl:text>
-  <xsl:apply-templates/>
-  <xsl:text>&#160;*/</xsl:text>
-</xsl:template>
-
-<xsl:template match="constraint">
-  <xsl:call-template name="check.id.unique">
-    <xsl:with-param name="linkend" select="@linkend"/>
-  </xsl:call-template>
-
-  <xsl:call-template name="check.idref.targets">
-    <xsl:with-param name="linkend" select="@linkend"/>
-    <xsl:with-param name="element-list">constraintdef</xsl:with-param>
-  </xsl:call-template>
-
-  <xsl:variable name="href">
-    <xsl:variable name="targets" select="key('id',@linkend)"/>
-    <xsl:variable name="target" select="$targets[1]"/>
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$target"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="preceding-sibling::constraint">
-    <fo:inline linefeed-treatment="preserve">&#xA;</fo:inline>
-  </xsl:if>
-  <xsl:text>[&#160;</xsl:text>
-
-  <xsl:choose>
-    <xsl:when test="@role">
-      <xsl:value-of select="@role"/>
-      <xsl:text>: </xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="targets" select="key('id',@linkend)"/>
-      <xsl:variable name="target" select="$targets[1]"/>
-      <xsl:if test="$target/@role">
-	<xsl:value-of select="$target/@role"/>
-	<xsl:text>: </xsl:text>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <fo:basic-link internal-destination="{$href}"
-                 xsl:use-attribute-sets="xref.properties">
-    <xsl:variable name="targets" select="key('id',@linkend)"/>
-    <xsl:variable name="target" select="$targets[1]"/>
-    <xsl:apply-templates select="$target" mode="title.markup"/>
-  </fo:basic-link>
-  <xsl:text>&#160;]</xsl:text>
-</xsl:template>
-
-<xsl:template match="constraintdef">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-  <fo:block id="{$id}">
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="constraintdef/title">
-  <fo:block font-weight="bold">
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/fo-rtf.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/fo-rtf.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,154 +1,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:exsl="http://exslt.org/common"
-                xmlns:set="http://exslt.org/sets"
-                exclude-result-prefixes="exsl set"
-                version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the DocBook XSL Stylesheet distribution.
-     See ../README or http://docbook.sf.net/ for copyright
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- This module contains templates that match against FO nodes. It is used
-     to post-process result tree fragments for some sorts of cleanup.
-     These templates can only ever be fired by a processor that supports
-     exslt:node-set(). -->
-
-<!-- ==================================================================== -->
-
-<!-- insert.fo.fnum mode templates insert a particular RTF at the beginning
-     of the first paragraph in the primary RTF. In fact, they are inserting
-     a footnote-number, so we tinker a few other things too, like spacing and
-     font-sizes. -->
-
-<xsl:template match="/" mode="insert.fo.fnum">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:apply-templates mode="insert.fo.fnum">
-    <xsl:with-param name="mark" select="$mark"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.fo.fnum">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="insert.fo.fnum">
-      <xsl:with-param name="mark" select="$mark"/>
-    </xsl:apply-templates>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="fo:block" mode="insert.fo.fnum">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy>
-    <xsl:for-each select="@*">
-      <xsl:choose>
-        <xsl:when test="starts-with(name(.), 'space-before')"/>
-        <xsl:when test="starts-with(name(.), 'space-after')"/>
-        <xsl:when test="starts-with(name(.), 'font-size')"/>
-        <xsl:otherwise>
-          <xsl:copy-of select="."/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:for-each>
-    <xsl:if test="not(preceding::fo:block)">
-      <xsl:copy-of select="$mark"/>
-    </xsl:if>
-    <xsl:apply-templates mode="insert.fo.fnum">
-      <xsl:with-param name="mark" select="$mark"/>
-    </xsl:apply-templates>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="text()|processing-instruction()|comment()" mode="insert.fo.fnum">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- insert.fo.block mode templates insert a particular RTF at the beginning
-     of the first paragraph in the primary RTF. -->
-
-<xsl:template match="/" mode="insert.fo.block">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:apply-templates mode="insert.fo.block">
-    <xsl:with-param name="mark" select="$mark"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.fo.block">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="insert.fo.block">
-      <xsl:with-param name="mark" select="$mark"/>
-    </xsl:apply-templates>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="fo:block" mode="insert.fo.block">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:if test="not(preceding::fo:block)">
-      <xsl:copy-of select="$mark"/>
-    </xsl:if>
-    <xsl:apply-templates mode="insert.fo.block">
-      <xsl:with-param name="mark" select="$mark"/>
-    </xsl:apply-templates>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="text()|processing-instruction()|comment()" mode="insert.fo.block">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- insert.fo.text mode templates insert a particular RTF at the beginning
-     of the first text-node in the primary RTF. -->
-
-<xsl:template match="/" mode="insert.fo.text">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:apply-templates mode="insert.fo.text">
-    <xsl:with-param name="mark" select="$mark"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.fo.text">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="insert.fo.text">
-      <xsl:with-param name="mark" select="$mark"/>
-    </xsl:apply-templates>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="text()|processing-instruction()|comment()" mode="insert.fo.text">
-  <xsl:param name="mark" select="'?'"/>
-
-  <xsl:if test="not(preceding::text())">
-    <xsl:copy-of select="$mark"/>
-  </xsl:if>
-
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="processing-instruction()|comment()" mode="insert.fo.text">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/fo.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/fo.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,71 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template name="anchor">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="conditional" select="1"/>
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$node"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:if test="$conditional = 0 or $node/@id or $node/@xml:id">
-    <xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="dingbat">
-  <xsl:param name="dingbat">bullet</xsl:param>
-  <xsl:variable name="symbol">
-    <xsl:choose>
-      <xsl:when test="$dingbat='bullet'">o</xsl:when>
-      <xsl:when test="$dingbat='copyright'">&#x00A9;</xsl:when>
-      <xsl:when test="$dingbat='trademark'">&#x2122;</xsl:when>
-      <xsl:when test="$dingbat='trade'">&#x2122;</xsl:when>
-      <xsl:when test="$dingbat='registered'">&#x00AE;</xsl:when>
-      <xsl:when test="$dingbat='service'">(SM)</xsl:when>
-      <xsl:when test="$dingbat='ldquo'">"</xsl:when>
-      <xsl:when test="$dingbat='rdquo'">"</xsl:when>
-      <xsl:when test="$dingbat='lsquo'">'</xsl:when>
-      <xsl:when test="$dingbat='rsquo'">'</xsl:when>
-      <xsl:when test="$dingbat='em-dash'">&#x2014;</xsl:when>
-      <xsl:when test="$dingbat='en-dash'">-</xsl:when>
-      <xsl:otherwise>o</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$dingbat.font.family = ''">
-      <xsl:copy-of select="$symbol"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:inline font-family="{$dingbat.font.family}">
-        <xsl:copy-of select="$symbol"/>
-      </fo:inline>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="href.target">
-  <xsl:param name="context" select="."/>
-  <xsl:param name="object" select="."/>
-  <xsl:text>#</xsl:text>
-  <xsl:call-template name="object.id">
-    <xsl:with-param name="object" select="$object"/>
-  </xsl:call-template>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/footnote.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/footnote.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,186 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:exsl="http://exslt.org/common"
-                exclude-result-prefixes="exsl"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template name="format.footnote.mark">
-  <xsl:param name="mark" select="'?'"/>
-  <fo:inline xsl:use-attribute-sets="footnote.mark.properties">
-    <xsl:choose>
-      <xsl:when test="$fop.extensions != 0">
-        <xsl:attribute name="vertical-align">super</xsl:attribute>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:attribute name="baseline-shift">super</xsl:attribute>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:copy-of select="$mark"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="footnote">
-  <xsl:choose>
-    <xsl:when test="ancestor::table or ancestor::informaltable">
-      <xsl:call-template name="format.footnote.mark">
-        <xsl:with-param name="mark">
-          <xsl:apply-templates select="." mode="footnote.number"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:footnote>
-        <fo:inline>
-          <xsl:call-template name="format.footnote.mark">
-            <xsl:with-param name="mark">
-              <xsl:apply-templates select="." mode="footnote.number"/>
-            </xsl:with-param>
-          </xsl:call-template>
-        </fo:inline>
-        <fo:footnote-body xsl:use-attribute-sets="footnote.properties">
-          <xsl:apply-templates/>
-        </fo:footnote-body>
-      </fo:footnote>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="footnoteref">
-  <xsl:variable name="footnote" select="key('id',@linkend)"/>
-  <xsl:call-template name="format.footnote.mark">
-    <xsl:with-param name="mark">
-      <xsl:apply-templates select="$footnote" mode="footnote.number"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="footnote" mode="footnote.number">
-  <xsl:choose>
-    <xsl:when test="string-length(@label) != 0">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="ancestor::table or ancestor::informaltable">
-      <xsl:variable name="tfnum">
-        <xsl:number level="any" from="table|informaltable" format="1"/>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="string-length($table.footnote.number.symbols) &gt;= $tfnum">
-          <xsl:value-of select="substring($table.footnote.number.symbols, $tfnum, 1)"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number level="any" from="table|informaltable"
-                      format="{$table.footnote.number.format}"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="fnum">
-        <!-- FIXME: list in @from is probably not complete -->
-        <xsl:number level="any" 
-                    from="chapter|appendix|preface|article|refentry|bibliography" 
-                    count="footnote[not(@label)][not(ancestor::table) and not(ancestor::informaltable)]|ulink[$ulink.footnotes != 0][node()][@url != .][not(ancestor::footnote)][$ulink.show != 0]" 
-                    format="1"/>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="string-length($footnote.number.symbols) &gt;= $fnum">
-          <xsl:value-of select="substring($footnote.number.symbols, $fnum, 1)"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number value="$fnum" format="{$footnote.number.format}"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="footnote.body.number">
-  <xsl:variable name="footnote.mark">
-    <xsl:call-template name="format.footnote.mark">
-      <xsl:with-param name="mark">
-        <xsl:apply-templates select="ancestor::footnote" mode="footnote.number"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="fo">
-    <xsl:apply-templates select="."/>
-  </xsl:variable>
-
-  <xsl:variable name="fo-nodes" select="exsl:node-set($fo)"/>
-
-  <xsl:choose>
-    <xsl:when test="$fo-nodes//fo:block">
-      <xsl:apply-templates select="$fo-nodes" mode="insert.fo.fnum">
-        <xsl:with-param name="mark" select="$footnote.mark"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="$fo-nodes" mode="insert.fo.text">
-        <xsl:with-param name="mark" select="$footnote.mark"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="footnote/para[1]
-                     |footnote/simpara[1]
-                     |footnote/formalpara[1]"
-              priority="2">
-  <!-- this only works if the first thing in a footnote is a para, -->
-  <!-- which is ok, because it usually is. -->
-  <fo:block>
-    <xsl:call-template name="format.footnote.mark">
-      <xsl:with-param name="mark">
-        <xsl:apply-templates select="ancestor::footnote" mode="footnote.number"/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="footnote" mode="table.footnote.mode">
-  <xsl:choose>
-    <xsl:when test="local-name(*[1]) = 'para' or local-name(*[1]) = 'simpara'">
-      <fo:block xsl:use-attribute-sets="table.footnote.properties">
-        <xsl:apply-templates/>
-      </fo:block>
-    </xsl:when>
-
-    <xsl:when test="function-available('exsl:node-set')">
-      <fo:block xsl:use-attribute-sets="table.footnote.properties">
-        <xsl:apply-templates select="*[1]" mode="footnote.body.number"/>
-        <xsl:apply-templates select="*[position() &gt; 1]"/>
-      </fo:block>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>Warning: footnote number may not be generated </xsl:text>
-        <xsl:text>correctly; </xsl:text>
-        <xsl:value-of select="local-name(*[1])"/>
-        <xsl:text> unexpected as first child of footnote.</xsl:text>
-      </xsl:message>
-      <fo:block xsl:use-attribute-sets="table.footnote.properties">
-        <xsl:apply-templates/>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/fop.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/fop.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,92 +1,0 @@
-<?xml version='1.0' encoding="utf-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:fox="http://xml.apache.org/fop/extensions"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-     (c) Stephane Bline Peregrine Systems 2001
-     Driver file to allow pdf bookmarking (based on fop implementation).
-     ******************************************************************** -->
-<!--
-In PDF bookmarks can't be used characters with code>255. This version of file
-translates characters with code>255 back to ASCII.
-
-   Pavel Zampach (zampach@volny.cz)
--->
-
-<xsl:variable name="a-dia" select=
-"'&#257;&#259;&#261;&#263;&#265;&#267;&#269;&#271;&#273;&#275;&#277;&#279;&#281;&#283;&#339;&#285;&#287;&#289;&#291;&#293;&#295;&#297;&#299;&#301;&#303;&#305;&#309;&#311;&#314;&#316;&#318;&#320;&#322;&#324;&#326;&#328;&#331;&#333;&#335;&#337;&#341;&#343;&#345;&#347;&#349;&#351;&#353;&#355;&#357;&#359;&#361;&#363;&#365;&#367;&#369;&#371;&#373;&#375;&#378;&#380;&#382;&#256;&#258;&#260;&#262;&#264;&#266;&#268;&#270;&#272;&#274;&#276;&#278;&#280;&#282;&#338;&#284;&#286;&#288;&#290;&#292;&#294;&#296;&#298;&#300;&#302;&#304;&#308;&#310;&#313;&#315;&#317;&#319;&#321;&#323;&#325;&#327;&#330;&#332;&#334;&#336;&#340;&#342;&#344;&#346;&#348;&#350;&#352;&#354;&#356;&#358;&#360;&#362;&#364;&#366;&#368;&#370;&#372;&#374;&#376;&#377;&#379;&#381;'"/>
-<xsl:variable name="a-asc" select=
-"'aaaccccddeeeeeegggghhiiiiijklllllnnnnooorrrsssstttuuuuuuwyzzzAAACCCCDDEEEEEEGGGGHHIIIIIJKLLLLLNNNNOOORRRSSSSTTTUUUUUUWYYZZZ'"/>
-
-<xsl:template match="*" mode="fop.outline">
-  <xsl:variable name="id">
-    <xsl:value-of select="(@id|@xml:id)[1]"/>
-  </xsl:variable>
-  <xsl:if test="$id != ''">
-    <fox:destination internal-destination="{$id}"/>
-  </xsl:if>
-  <xsl:apply-templates select="*" mode="fop.outline"/>
-</xsl:template>
-
-<xsl:template match="set|book|part|reference|preface|chapter|appendix|article
-                     |glossary|bibliography|index|setindex
-                     |refentry
-                     |sect1|sect2|sect3|sect4|sect5|section"
-              mode="fop.outline">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <xsl:variable name="bookmark-label">
-    <xsl:apply-templates select="." mode="object.title.markup"/>
-  </xsl:variable>
-
-  <!-- Put the root element bookmark at the same level as its children -->
-  <!-- If the object is a set or book, generate a bookmark for the toc -->
-
-  <xsl:choose>
-    <xsl:when test="parent::*">
-      <fox:outline internal-destination="{$id}">
-        <fox:label>
-          <xsl:value-of select="normalize-space(translate($bookmark-label, $a-dia, $a-asc))"/>
-        </fox:label>
-        <xsl:apply-templates select="*" mode="fop.outline"/>
-      </fox:outline>
-    </xsl:when>
-    <xsl:otherwise>
-      <fox:outline internal-destination="{$id}">
-        <fox:label>
-          <xsl:value-of select="normalize-space(translate($bookmark-label, $a-dia, $a-asc))"/>
-        </fox:label>
-      </fox:outline>
-
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:if test="contains($toc.params, 'toc')
-                    and (book|part|reference|preface|chapter|appendix|article
-                         |glossary|bibliography|index|setindex
-                         |refentry
-                         |sect1|sect2|sect3|sect4|sect5|section)">
-        <fox:outline internal-destination="toc...{$id}">
-          <fox:label>
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'TableofContents'"/>
-            </xsl:call-template>
-          </fox:label>
-        </fox:outline>
-      </xsl:if>
-      <xsl:apply-templates select="*" mode="fop.outline"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <fox:destination internal-destination="{$id}"/>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/fop1.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/fop1.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,71 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<xsl:template match="*" mode="fop1.outline">
-  <xsl:apply-templates select="*" mode="fop1.outline"/>
-</xsl:template>
-
-<xsl:template match="set|book|part|reference|
-                     preface|chapter|appendix|article
-                     |glossary|bibliography|index|setindex
-                     |refentry
-                     |sect1|sect2|sect3|sect4|sect5|section"
-              mode="fop1.outline">
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <xsl:variable name="bookmark-label">
-    <xsl:apply-templates select="." mode="object.title.markup"/>
-  </xsl:variable>
-
-  <!-- Put the root element bookmark at the same level as its children -->
-  <!-- If the object is a set or book, generate a bookmark for the toc -->
-
-  <xsl:choose>
-    <xsl:when test="parent::*">
-      <fo:bookmark internal-destination="{$id}">
-        <fo:bookmark-title>
-          <xsl:value-of select="normalize-space(translate($bookmark-label, $a-dia, $a-asc))"/>
-        </fo:bookmark-title>
-        <xsl:apply-templates select="*" mode="fop1.outline"/>
-      </fo:bookmark>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:bookmark internal-destination="{$id}">
-        <fo:bookmark-title>
-          <xsl:value-of select="normalize-space(translate($bookmark-label, $a-dia, $a-asc))"/>
-        </fo:bookmark-title>
-      </fo:bookmark>
-
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:if test="contains($toc.params, 'toc')
-                    and (book|part|reference|preface|chapter|appendix|article
-                         |glossary|bibliography|index|setindex
-                         |refentry
-                         |sect1|sect2|sect3|sect4|sect5|section)">
-        <fo:bookmark internal-destination="toc...{$id}">
-          <fo:bookmark-title>
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'TableofContents'"/>
-            </xsl:call-template>
-          </fo:bookmark-title>
-        </fo:bookmark>
-      </xsl:if>
-      <xsl:apply-templates select="*" mode="fop1.outline"/>
-    </xsl:otherwise>
-  </xsl:choose>
-<!--
-  <fo:bookmark internal-destination="{$id}"/>
--->
-</xsl:template>
-
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/formal.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/formal.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,534 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- formal.object creates a basic block containing the
-     result of processing the object, including its title
-     and any keep-together properties.
-     The template calling formal.object may wrap these results in a
-     float or pgwide block. -->
-
-<xsl:template name="formal.object">
-  <xsl:param name="placement" select="'before'"/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="content">
-    <xsl:if test="$placement = 'before'">
-      <xsl:call-template name="formal.object.heading">
-        <xsl:with-param name="placement" select="$placement"/>
-      </xsl:call-template>
-    </xsl:if>
-    <xsl:apply-templates/>
-    <xsl:if test="$placement != 'before'">
-      <xsl:call-template name="formal.object.heading">
-        <xsl:with-param name="placement" select="$placement"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="keep.together">
-    <xsl:call-template name="pi.dbfo_keep-together"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <!-- tables have their own templates and 
-         are not handled by formal.object -->
-    <xsl:when test="self::figure">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="figure.properties">
-        <xsl:if test="$keep.together != ''">
-          <xsl:attribute name="keep-together.within-column"><xsl:value-of
-                          select="$keep.together"/></xsl:attribute>
-        </xsl:if>
-        <xsl:copy-of select="$content"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="self::example">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="example.properties">
-        <xsl:if test="$keep.together != ''">
-          <xsl:attribute name="keep-together.within-column"><xsl:value-of
-                          select="$keep.together"/></xsl:attribute>
-        </xsl:if>
-        <xsl:copy-of select="$content"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="self::equation">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="equation.properties">
-        <xsl:if test="$keep.together != ''">
-          <xsl:attribute name="keep-together.within-column"><xsl:value-of
-                          select="$keep.together"/></xsl:attribute>
-        </xsl:if>
-        <xsl:copy-of select="$content"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="self::procedure">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="procedure.properties">
-        <xsl:if test="$keep.together != ''">
-          <xsl:attribute name="keep-together.within-column"><xsl:value-of
-                          select="$keep.together"/></xsl:attribute>
-        </xsl:if>
-        <xsl:copy-of select="$content"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="formal.object.properties">
-        <xsl:if test="$keep.together != ''">
-          <xsl:attribute name="keep-together.within-column"><xsl:value-of
-                          select="$keep.together"/></xsl:attribute>
-        </xsl:if>
-        <xsl:copy-of select="$content"/>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="formal.object.heading">
-  <xsl:param name="object" select="."/>
-  <xsl:param name="placement" select="'before'"/>
-
-  <fo:block xsl:use-attribute-sets="formal.title.properties">
-    <xsl:choose>
-      <xsl:when test="$placement = 'before'">
-        <xsl:attribute
-               name="keep-with-next.within-column">always</xsl:attribute>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:attribute
-               name="keep-with-previous.within-column">always</xsl:attribute>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:apply-templates select="$object" mode="object.title.markup">
-      <xsl:with-param name="allow-anchors" select="1"/>
-    </xsl:apply-templates>
-  </fo:block>
-</xsl:template>
-
-<xsl:template name="informal.object">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="keep.together">
-    <xsl:call-template name="pi.dbfo_keep-together"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <!-- informaltables have their own templates and 
-         are not handled by formal.object -->
-    <xsl:when test="local-name(.) = 'equation'">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="equation.properties">
-        <xsl:if test="$keep.together != ''">
-          <xsl:attribute name="keep-together.within-column"><xsl:value-of
-                          select="$keep.together"/></xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="local-name(.) = 'procedure'">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="procedure.properties">
-        <xsl:if test="$keep.together != ''">
-          <xsl:attribute name="keep-together.within-column"><xsl:value-of
-                          select="$keep.together"/></xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="local-name(.) = 'informalfigure'">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="informalfigure.properties">
-        <xsl:if test="$keep.together != ''">
-          <xsl:attribute name="keep-together.within-column"><xsl:value-of
-                          select="$keep.together"/></xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="local-name(.) = 'informalexample'">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="informalexample.properties">
-        <xsl:if test="$keep.together != ''">
-          <xsl:attribute name="keep-together.within-column"><xsl:value-of
-                          select="$keep.together"/></xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="local-name(.) = 'informalequation'">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="informalequation.properties">
-        <xsl:apply-templates/>
-      </fo:block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block id="{$id}" 
-                xsl:use-attribute-sets="informal.object.properties">
-        <xsl:if test="$keep.together != ''">
-          <xsl:attribute name="keep-together.within-column"><xsl:value-of
-                          select="$keep.together"/></xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates/>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="semiformal.object">
-  <xsl:param name="placement" select="'before'"/>
-  <xsl:choose>
-    <xsl:when test="./title">
-      <xsl:call-template name="formal.object">
-        <xsl:with-param name="placement" select="$placement"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="informal.object"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="figure">
-  <xsl:variable name="param.placement"
-              select="substring-after(normalize-space($formal.title.placement),
-                                      concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="figure">
-    <xsl:choose>
-      <xsl:when test="@pgwide = '1'">
-        <fo:block xsl:use-attribute-sets="pgwide.properties">
-          <xsl:call-template name="formal.object">
-            <xsl:with-param name="placement" select="$placement"/>
-          </xsl:call-template>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="formal.object">
-          <xsl:with-param name="placement" select="$placement"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="floatstyle">
-    <xsl:call-template name="floatstyle"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$floatstyle != ''">
-      <xsl:call-template name="floater">
-        <xsl:with-param name="position" select="$floatstyle"/>
-        <xsl:with-param name="content" select="$figure"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$figure"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="example">
-  <xsl:variable name="param.placement"
-             select="substring-after(normalize-space($formal.title.placement),
-                                     concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- Example doesn't have a pgwide attribute, so may use a PI -->
-  <xsl:variable name="pgwide.pi">
-    <xsl:call-template name="pi.dbfo_pgwide"/>
-  </xsl:variable>
-
-  <xsl:variable name="pgwide">
-    <xsl:choose>
-      <xsl:when test="$pgwide.pi">
-        <xsl:value-of select="$pgwide.pi"/>
-      </xsl:when>
-      <!-- child element may set pgwide -->
-      <xsl:when test="*[@pgwide]">
-        <xsl:value-of select="*[@pgwide][1]/@pgwide"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- Get align value from internal mediaobject -->
-  <xsl:variable name="align">
-    <xsl:if test="mediaobject|mediaobjectco">
-      <xsl:variable name="olist" select="mediaobject/imageobject
-                     |mediaobjectco/imageobjectco
-                     |mediaobject/videoobject
-                     |mediaobject/audioobject
-                     |mediaobject/textobject"/>
-
-      <xsl:variable name="object.index">
-        <xsl:call-template name="select.mediaobject.index">
-          <xsl:with-param name="olist" select="$olist"/>
-          <xsl:with-param name="count" select="1"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="object" select="$olist[position() = $object.index]"/>
-
-      <xsl:value-of select="$object/descendant::imagedata[@align][1]/@align"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="example">
-    <xsl:choose>
-      <xsl:when test="$pgwide = '1'">
-        <fo:block xsl:use-attribute-sets="pgwide.properties">
-          <xsl:if test="$align != ''">
-            <xsl:attribute name="text-align">
-              <xsl:value-of select="$align"/>
-            </xsl:attribute>
-          </xsl:if>
-          <xsl:call-template name="formal.object">
-            <xsl:with-param name="placement" select="$placement"/>
-          </xsl:call-template>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <fo:block>
-          <xsl:if test="$align != ''">
-            <xsl:attribute name="text-align">
-              <xsl:value-of select="$align"/>
-            </xsl:attribute>
-          </xsl:if>
-          <xsl:call-template name="formal.object">
-            <xsl:with-param name="placement" select="$placement"/>
-          </xsl:call-template>
-        </fo:block>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="floatstyle">
-    <xsl:call-template name="floatstyle"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$floatstyle != ''">
-      <xsl:call-template name="floater">
-        <xsl:with-param name="position" select="$floatstyle"/>
-        <xsl:with-param name="content" select="$example"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$example"/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<!-- Unified handling of CALS and HTML tables, formal and not -->
-<!-- Creates a hierarchy of nested containers:
-     - Outer container does a float.
-     - Nested container does block-container for rotation
-     - Nested block contains title, layout table and footnotes
-     - Nested layout table placeholder template supports extensions.
-     - fo:table is innermost.
-     Created from the innermost and working out.
-     Not all layers apply to every table.
--->
-<xsl:template match="table|informaltable">
-  <xsl:if test="tgroup/tbody/tr
-                |tgroup/thead/tr
-                |tgroup/tfoot/tr">
-    <xsl:message terminate="yes">
-      <xsl:text>Broken table: tr descendent of CALS Table.</xsl:text>
-      <xsl:text>The text in the first tr is:&#10;</xsl:text>
-      <xsl:value-of 
-               select="(tgroup//tr)[1]"/>
-    </xsl:message>
-  </xsl:if>
-  <xsl:if test="not(tgroup) and .//row">
-    <xsl:message terminate="yes">
-      <xsl:text>Broken table: row descendent of HTML table.</xsl:text>
-      <xsl:text>The text in the first row is:&#10;</xsl:text>
-      <xsl:value-of 
-               select=".//row[1]"/>
-    </xsl:message>
-  </xsl:if>
-
-  <!-- Contains fo:table, not title or footnotes -->
-  <xsl:variable name="table.content">
-    <xsl:call-template name="make.table.content"/>
-  </xsl:variable>
-
-  <!-- Optional layout table template for extensions -->
-  <xsl:variable name="table.layout">
-    <xsl:call-template name="table.layout">
-      <xsl:with-param name="table.content" select="$table.content"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <!-- fo:block contains title, layout table, and footnotes  -->
-  <xsl:variable name="table.block">
-    <xsl:call-template name="table.block">
-      <xsl:with-param name="table.layout" select="$table.layout"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <!-- pgwide or orient container -->
-  <xsl:variable name="table.container">
-    <xsl:call-template name="table.container">
-      <xsl:with-param name="table.block" select="$table.block"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <!-- float or not -->
-  <xsl:variable name="floatstyle">
-    <xsl:call-template name="floatstyle"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$floatstyle != ''">
-      <xsl:call-template name="floater">
-        <xsl:with-param name="position" select="$floatstyle"/>
-        <xsl:with-param name="content" select="$table.container"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$table.container"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-
-<xsl:template match="equation">
-  <xsl:variable name="param.placement"
-              select="substring-after(normalize-space($formal.title.placement),
-                                      concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- Equation doesn't have a pgwide attribute, so may use a PI -->
-  <xsl:variable name="pgwide">
-    <xsl:call-template name="pi.dbfo_pgwide"/>
-  </xsl:variable>
-
-  <xsl:variable name="equation">
-    <xsl:choose>
-      <xsl:when test="$pgwide = '1'">
-        <fo:block xsl:use-attribute-sets="pgwide.properties">
-          <xsl:call-template name="semiformal.object">
-            <xsl:with-param name="placement" select="$placement"/>
-          </xsl:call-template>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="semiformal.object">
-          <xsl:with-param name="placement" select="$placement"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="floatstyle">
-    <xsl:call-template name="floatstyle"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$floatstyle != ''">
-      <xsl:call-template name="floater">
-        <xsl:with-param name="position" select="$floatstyle"/>
-        <xsl:with-param name="content" select="$equation"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$equation"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="figure/title"></xsl:template>
-<xsl:template match="figure/titleabbrev"></xsl:template>
-<xsl:template match="table/title"></xsl:template>
-<xsl:template match="table/titleabbrev"></xsl:template>
-<xsl:template match="table/textobject"></xsl:template>
-<xsl:template match="example/title"></xsl:template>
-<xsl:template match="example/titleabbrev"></xsl:template>
-<xsl:template match="equation/title"></xsl:template>
-<xsl:template match="equation/titleabbrev"></xsl:template>
-
-<xsl:template match="informalfigure">
-  <xsl:call-template name="informal.object"/>
-</xsl:template>
-
-<xsl:template match="informalexample">
-  <xsl:call-template name="informal.object"/>
-</xsl:template>
-
-<xsl:template match="informaltable/textobject"></xsl:template>
-
-<xsl:template match="informalequation">
-  <xsl:call-template name="informal.object"/>
-</xsl:template>
-
-<xsl:template name="floatstyle">
-  <xsl:if test="(@float and @float != '0') or @floatstyle != ''">
-    <xsl:choose>
-      <xsl:when test="@floatstyle != ''">
-        <xsl:value-of select="@floatstyle"/>
-      </xsl:when>
-      <xsl:when test="@float = '1'">
-        <xsl:value-of select="$default.float.class"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="@float"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/glossary.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/glossary.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1139 +1,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [
-<!ENTITY % common.entities SYSTEM "../common/entities.ent">
-%common.entities;
-]>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="glossary">
-  <xsl:call-template name="make-glossary"/>
-</xsl:template>
-
-<xsl:template match="glossdiv/title"/>
-<xsl:template match="glossdiv/subtitle"/>
-<xsl:template match="glossdiv/titleabbrev"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="make-glossary">
-  <xsl:param name="divs" select="glossdiv"/>
-  <xsl:param name="entries" select="glossentry"/>
-  <xsl:param name="preamble" select="*[not(self::title
-                                           or self::subtitle
-                                           or self::glossdiv
-                                           or self::glossentry)]"/>
-
-  &setup-language-variable;
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="presentation">
-    <xsl:call-template name="pi.dbfo_glossary-presentation"/>
-  </xsl:variable>
-
-  <xsl:variable name="term-width">
-    <xsl:call-template name="pi.dbfo_glossterm-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="width">
-    <xsl:choose>
-      <xsl:when test="$term-width = ''">
-        <xsl:value-of select="$glossterm.width"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$term-width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-    <xsl:call-template name="glossary.titlepage"/>
-  </fo:block>
-
-  <xsl:if test="$preamble">
-    <xsl:apply-templates select="$preamble"/>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="$presentation = 'list'">
-      <xsl:apply-templates select="$divs" mode="glossary.as.list">
-        <xsl:with-param name="width" select="$width"/>
-      </xsl:apply-templates>
-      <xsl:if test="$entries">
-        <fo:list-block provisional-distance-between-starts="{$width}"
-                       provisional-label-separation="{$glossterm.separation}"
-                       xsl:use-attribute-sets="normal.para.spacing">
-          <xsl:choose>
-            <xsl:when test="$glossary.sort != 0">
-              <xsl:apply-templates select="$entries" mode="glossary.as.list">
-                <xsl:sort lang="{$language}"
-                          select="translate(glossterm, $lowercase, 
-                                            $uppercase)"/>
-              </xsl:apply-templates>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="$entries" mode="glossary.as.list"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </fo:list-block>
-      </xsl:if>
-    </xsl:when>
-    <xsl:when test="$presentation = 'blocks'">
-      <xsl:apply-templates select="$divs" mode="glossary.as.blocks"/>
-      <xsl:choose>
-        <xsl:when test="$glossary.sort != 0">
-          <xsl:apply-templates select="$entries" mode="glossary.as.blocks">
-            <xsl:sort lang="{$language}"
-                      select="translate(glossterm, $lowercase, 
-                                        $uppercase)"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$entries" mode="glossary.as.blocks"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="$glossary.as.blocks != 0">
-      <xsl:apply-templates select="$divs" mode="glossary.as.blocks"/>
-      <xsl:choose>
-        <xsl:when test="$glossary.sort != 0">
-          <xsl:apply-templates select="$entries" mode="glossary.as.blocks">
-            <xsl:sort lang="{$language}"
-                      select="translate(glossterm, $lowercase, 
-                                        $uppercase)"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$entries" mode="glossary.as.blocks"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="$divs" mode="glossary.as.list">
-        <xsl:with-param name="width" select="$width"/>
-      </xsl:apply-templates>
-      <xsl:if test="$entries">
-        <fo:list-block provisional-distance-between-starts="{$width}"
-                       provisional-label-separation="{$glossterm.separation}"
-                       xsl:use-attribute-sets="normal.para.spacing">
-          <xsl:choose>
-            <xsl:when test="$glossary.sort != 0">
-              <xsl:apply-templates select="$entries" mode="glossary.as.list">
-                <xsl:sort lang="{$language}"
-                          select="translate(glossterm, $lowercase, 
-                                            $uppercase)"/>
-              </xsl:apply-templates>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="$entries" mode="glossary.as.list"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </fo:list-block>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="book/glossary|part/glossary|/glossary" priority="2">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <xsl:call-template name="make-glossary"/>
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="glossary/glossaryinfo"></xsl:template>
-<xsl:template match="glossary/info"></xsl:template>
-<xsl:template match="glossary/title"></xsl:template>
-<xsl:template match="glossary/subtitle"></xsl:template>
-<xsl:template match="glossary/titleabbrev"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="glosslist">
-  &setup-language-variable;
-
-  <xsl:variable name="presentation">
-    <xsl:call-template name="pi.dbfo_glosslist-presentation"/>
-  </xsl:variable>
-
-  <xsl:variable name="term-width">
-    <xsl:call-template name="pi.dbfo_glossterm-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="width">
-    <xsl:choose>
-      <xsl:when test="$term-width = ''">
-        <xsl:value-of select="$glossterm.width"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$term-width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="title or info/title">
-    <xsl:apply-templates select="(title|info/title)[1]" mode="list.title.mode"/>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="$presentation = 'list'">
-      <fo:list-block provisional-distance-between-starts="{$width}"
-                     provisional-label-separation="{$glossterm.separation}"
-                     xsl:use-attribute-sets="normal.para.spacing">
-        <xsl:choose>
-          <xsl:when test="$glossary.sort != 0">
-            <xsl:apply-templates select="glossentry" mode="glossary.as.list">
-              <xsl:sort lang="{$language}"
-                        select="translate(glossterm, $lowercase, 
-                                          $uppercase)"/>
-            </xsl:apply-templates>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates select="glossentry" mode="glossary.as.list"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:list-block>
-    </xsl:when>
-    <xsl:when test="$presentation = 'blocks'">
-      <xsl:choose>
-        <xsl:when test="$glossary.sort != 0">
-          <xsl:apply-templates select="glossentry" mode="glossary.as.blocks">
-            <xsl:sort lang="{$language}"
-                      select="translate(glossterm, $lowercase, 
-                                        $uppercase)"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="glossentry" mode="glossary.as.blocks"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="$glosslist.as.blocks != 0">
-      <xsl:choose>
-        <xsl:when test="$glossary.sort != 0">
-          <xsl:apply-templates select="glossentry" mode="glossary.as.blocks">
-            <xsl:sort lang="{$language}"
-                      select="translate(glossterm, $lowercase, 
-                                        $uppercase)"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="glossentry" mode="glossary.as.blocks"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:list-block provisional-distance-between-starts="{$width}"
-                     provisional-label-separation="{$glossterm.separation}"
-                     xsl:use-attribute-sets="normal.para.spacing">
-        <xsl:choose>
-          <xsl:when test="$glossary.sort != 0">
-            <xsl:apply-templates select="glossentry" mode="glossary.as.list">
-              <xsl:sort lang="{$language}"
-                        select="translate(glossterm, $lowercase, 
-                                          $uppercase)"/>
-            </xsl:apply-templates>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates select="glossentry" mode="glossary.as.list"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:list-block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- Glossary collection -->
-
-<xsl:template match="glossary[@role='auto']" priority="2">
-  <xsl:variable name="collection" select="document($glossary.collection, .)"/>
-  <xsl:if test="$glossary.collection = ''">
-    <xsl:message>
-      <xsl:text>Warning: processing automatic glossary </xsl:text>
-      <xsl:text>without a glossary.collection file.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="not($collection) and $glossary.collection != ''">
-    <xsl:message>
-      <xsl:text>Warning: processing automatic glossary but unable to </xsl:text>
-      <xsl:text>open glossary.collection file '</xsl:text>
-      <xsl:value-of select="$glossary.collection"/>
-      <xsl:text>'</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:call-template name="make-auto-glossary"/>
-</xsl:template>
-
-<xsl:template name="make-auto-glossary">
-  <xsl:param name="collection" select="document($glossary.collection, .)"/>
-  <xsl:param name="terms" select="//glossterm[not(parent::glossdef)]|//firstterm"/>
-  <xsl:param name="preamble" select="*[not(self::title
-                                           or self::subtitle
-                                           or self::glossdiv
-                                           or self::glossentry)]"/>
-
-  &setup-language-variable;
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="presentation">
-    <xsl:call-template name="pi.dbfo_glossary-presentation"/>
-  </xsl:variable>
-
-  <xsl:variable name="term-width">
-    <xsl:call-template name="pi.dbfo_glossterm-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="width">
-    <xsl:choose>
-      <xsl:when test="$term-width = ''">
-        <xsl:value-of select="$glossterm.width"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$term-width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="$glossary.collection = ''">
-    <xsl:message>
-      <xsl:text>Warning: processing automatic glossary </xsl:text>
-      <xsl:text>without a glossary.collection file.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <fo:block id="{$id}">
-    <xsl:call-template name="glossary.titlepage"/>
-  </fo:block>
-
-  <xsl:if test="$preamble">
-    <xsl:apply-templates select="$preamble"/>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="glossdiv and $collection//glossdiv">
-      <xsl:for-each select="$collection//glossdiv">
-        <!-- first see if there are any in this div -->
-        <xsl:variable name="exist.test">
-          <xsl:for-each select="glossentry">
-            <xsl:variable name="cterm" select="glossterm"/>
-            <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-              <xsl:value-of select="glossterm"/>
-            </xsl:if>
-          </xsl:for-each>
-        </xsl:variable>
-
-        <xsl:if test="$exist.test != ''">
-          <xsl:choose>
-            <xsl:when test="$presentation = 'list'">
-              <xsl:apply-templates select="." mode="auto-glossary-as-list">
-                <xsl:with-param name="width" select="$width"/>
-                <xsl:with-param name="terms" select="$terms"/>
-              </xsl:apply-templates>
-            </xsl:when>
-            <xsl:when test="$presentation = 'blocks'">
-              <xsl:apply-templates select="." mode="auto-glossary-as-blocks">
-                <xsl:with-param name="terms" select="$terms"/>
-              </xsl:apply-templates>
-            </xsl:when>
-            <xsl:when test="$glossary.as.blocks != 0">
-              <xsl:apply-templates select="." mode="auto-glossary-as-blocks">
-                <xsl:with-param name="terms" select="$terms"/>
-              </xsl:apply-templates>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="." mode="auto-glossary-as-list">
-                <xsl:with-param name="width" select="$width"/>
-                <xsl:with-param name="terms" select="$terms"/>
-              </xsl:apply-templates>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:if>
-      </xsl:for-each>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$presentation = 'list'">
-          <fo:list-block provisional-distance-between-starts="{$width}"
-                         provisional-label-separation="{$glossterm.separation}"
-                         xsl:use-attribute-sets="normal.para.spacing">
-            <xsl:choose>
-              <xsl:when test="$glossary.sort != 0">
-                <xsl:for-each select="$collection//glossentry">
-                  <xsl:sort lang="{$language}"
-                            select="translate(glossterm, $lowercase, 
-                                              $uppercase)"/>
-                  <xsl:variable name="cterm" select="glossterm"/>
-                  <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-                    <xsl:apply-templates select="." 
-                                         mode="auto-glossary-as-list"/>
-                  </xsl:if>
-                </xsl:for-each>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:for-each select="$collection//glossentry">
-                  <xsl:variable name="cterm" select="glossterm"/>
-                  <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-                    <xsl:apply-templates select="." 
-                                         mode="auto-glossary-as-list"/>
-                  </xsl:if>
-                </xsl:for-each>
-              </xsl:otherwise>
-            </xsl:choose>
-          </fo:list-block>
-        </xsl:when>
-        <xsl:when test="$presentation = 'blocks' or
-                        $glossary.as.blocks != 0">
-          <xsl:choose>
-            <xsl:when test="$glossary.sort != 0">
-              <xsl:for-each select="$collection//glossentry">
-                <xsl:sort lang="{$language}"
-                          select="translate(glossterm, $lowercase, 
-                                            $uppercase)"/>
-                <xsl:variable name="cterm" select="glossterm"/>
-                <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-                  <xsl:apply-templates select="." 
-                                       mode="auto-glossary-as-blocks"/>
-                </xsl:if>
-              </xsl:for-each>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:for-each select="$collection//glossentry">
-                <xsl:variable name="cterm" select="glossterm"/>
-                <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-                  <xsl:apply-templates select="." 
-                                       mode="auto-glossary-as-blocks"/>
-                </xsl:if>
-              </xsl:for-each>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <fo:list-block provisional-distance-between-starts="{$width}"
-                         provisional-label-separation="{$glossterm.separation}"
-                         xsl:use-attribute-sets="normal.para.spacing">
-            <xsl:choose>
-              <xsl:when test="$glossary.sort != 0">
-                <xsl:for-each select="$collection//glossentry">
-                  <xsl:sort lang="{$language}"
-                            select="translate(glossterm, $lowercase, 
-                                              $uppercase)"/>
-                  <xsl:variable name="cterm" select="glossterm"/>
-                  <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-                    <xsl:apply-templates select="." 
-                                         mode="auto-glossary-as-list"/>
-                  </xsl:if>
-                </xsl:for-each>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:for-each select="$collection//glossentry">
-                  <xsl:variable name="cterm" select="glossterm"/>
-                  <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-                    <xsl:apply-templates select="." 
-                                         mode="auto-glossary-as-list"/>
-                  </xsl:if>
-                </xsl:for-each>
-              </xsl:otherwise>
-            </xsl:choose>
-          </fo:list-block>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="book/glossary[@role='auto']|
-                     part/glossary[@role='auto']|
-                     /glossary[@role='auto']" priority="2.5">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <xsl:if test="$glossary.collection = ''">
-    <xsl:message>
-      <xsl:text>Warning: processing automatic glossary </xsl:text>
-      <xsl:text>without a glossary.collection file.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <xsl:call-template name="make-auto-glossary"/>
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="glossdiv" mode="auto-glossary-as-list">
-  <xsl:param name="width" select="$glossterm.width"/>
-  <xsl:param name="terms" select="."/>
-
-  &setup-language-variable;
-
-  <xsl:variable name="preamble"
-                select="*[not(self::title
-                            or self::subtitle
-                            or self::glossentry)]"/>
-
-  <xsl:call-template name="glossdiv.titlepage"/>
-
-  <xsl:apply-templates select="$preamble"/>
-
-  <fo:list-block provisional-distance-between-starts="{$width}"
-                 provisional-label-separation="{$glossterm.separation}"
-                 xsl:use-attribute-sets="normal.para.spacing">
-    <xsl:choose>
-      <xsl:when test="$glossary.sort != 0">
-        <xsl:for-each select="glossentry">
-          <xsl:sort lang="{$language}"
-                    select="translate(glossterm, $lowercase, $uppercase)"/>
-          <xsl:variable name="cterm" select="glossterm"/>
-          <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-            <xsl:apply-templates select="." mode="auto-glossary-as-list"/>
-          </xsl:if>
-        </xsl:for-each>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:for-each select="glossentry">
-          <xsl:variable name="cterm" select="glossterm"/>
-          <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-            <xsl:apply-templates select="." mode="auto-glossary-as-list"/>
-          </xsl:if>
-        </xsl:for-each>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:list-block>
-</xsl:template>
-
-<xsl:template match="glossentry" mode="auto-glossary-as-list">
-  <xsl:apply-templates select="." mode="glossary.as.list"/>
-</xsl:template>
-
-<xsl:template match="glossdiv" mode="auto-glossary-as-blocks">
-  <xsl:param name="terms" select="."/>
-
-  &setup-language-variable;
-
-  <xsl:variable name="preamble"
-                select="*[not(self::title
-                            or self::subtitle
-                            or self::glossentry)]"/>
-
-  <xsl:call-template name="glossdiv.titlepage"/>
-
-  <xsl:apply-templates select="$preamble"/>
-
-  <xsl:choose>
-    <xsl:when test="$glossary.sort != 0">
-      <xsl:for-each select="glossentry">
-        <xsl:sort lang="{$language}"
-                  select="translate(glossterm, $lowercase, $uppercase)"/>
-        <xsl:variable name="cterm" select="glossterm"/>
-        <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-          <xsl:apply-templates select="." mode="auto-glossary-as-blocks"/>
-        </xsl:if>
-      </xsl:for-each>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:for-each select="glossentry">
-        <xsl:variable name="cterm" select="glossterm"/>
-        <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-          <xsl:apply-templates select="." mode="auto-glossary-as-blocks"/>
-        </xsl:if>
-      </xsl:for-each>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template match="glossentry" mode="auto-glossary-as-blocks">
-  <xsl:apply-templates select="." mode="glossary.as.blocks"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- Format glossary as a list -->
-
-<xsl:template match="glossdiv" mode="glossary.as.list">
-  <xsl:param name="width" select="$glossterm.width"/>
-
-  &setup-language-variable;
-
-  <xsl:variable name="entries" select="glossentry"/>
-
-  <xsl:variable name="preamble"
-                select="*[not(self::title
-                            or self::subtitle
-                            or self::glossentry)]"/>
-
-  <xsl:call-template name="glossdiv.titlepage"/>
-
-  <xsl:apply-templates select="$preamble"/>
-
-  <fo:list-block provisional-distance-between-starts="{$width}"
-                 provisional-label-separation="{$glossterm.separation}"
-                 xsl:use-attribute-sets="normal.para.spacing">
-    <xsl:choose>
-      <xsl:when test="$glossary.sort != 0">
-        <xsl:apply-templates select="$entries" mode="glossary.as.list">
-          <xsl:sort lang="{$language}"
-                    select="translate(glossterm, $lowercase, 
-                                      $uppercase)"/>
-        </xsl:apply-templates>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates select="$entries" mode="glossary.as.list"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:list-block>
-</xsl:template>
-
-<!--
-GlossEntry ::=
-  GlossTerm, Acronym?, Abbrev?,
-  (IndexTerm)*,
-  RevHistory?,
-  (GlossSee | GlossDef+)
--->
-
-<xsl:template match="glossentry" mode="glossary.as.list">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:list-item xsl:use-attribute-sets="normal.para.spacing">
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="conditional">
-        <xsl:choose>
-          <xsl:when test="$glossterm.auto.link != 0
-                          or $glossary.collection != ''">0</xsl:when>
-          <xsl:otherwise>1</xsl:otherwise>
-        </xsl:choose>
-      </xsl:with-param>
-    </xsl:call-template>
-
-    <fo:list-item-label end-indent="label-end()">
-      <fo:block>
-        <xsl:choose>
-          <xsl:when test="$glossentry.show.acronym = 'primary'">
-            <xsl:choose>
-              <xsl:when test="acronym|abbrev">
-                <xsl:apply-templates select="acronym|abbrev" 
-                                     mode="glossary.as.list"/>
-                <xsl:text> (</xsl:text>
-                <xsl:apply-templates select="glossterm" 
-                                     mode="glossary.as.list"/>
-                <xsl:text>)</xsl:text>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:apply-templates select="glossterm" 
-                                     mode="glossary.as.list"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:when>
-
-          <xsl:when test="$glossentry.show.acronym = 'yes'">
-            <xsl:apply-templates select="glossterm" mode="glossary.as.list"/>
-
-            <xsl:if test="acronym|abbrev">
-              <xsl:text> (</xsl:text>
-              <xsl:apply-templates select="acronym|abbrev" 
-                                   mode="glossary.as.list"/>
-              <xsl:text>)</xsl:text>
-            </xsl:if>
-          </xsl:when>
-
-          <xsl:otherwise>
-            <xsl:apply-templates select="glossterm" mode="glossary.as.list"/>
-          </xsl:otherwise>
-        </xsl:choose>
-        <xsl:apply-templates select="indexterm"/>
-      </fo:block>
-    </fo:list-item-label>
-
-    <fo:list-item-body start-indent="body-start()">
-      <xsl:apply-templates select="glosssee|glossdef" mode="glossary.as.list"/>
-    </fo:list-item-body>
-  </fo:list-item>
-</xsl:template>
-
-<xsl:template match="glossentry/glossterm" mode="glossary.as.list">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <fo:inline id="{$id}">
-    <xsl:apply-templates/>
-  </fo:inline>
-  <xsl:if test="following-sibling::glossterm">, </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/acronym" mode="glossary.as.list">
-  <xsl:apply-templates/>
-  <xsl:if test="following-sibling::acronym|following-sibling::abbrev">, </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/abbrev" mode="glossary.as.list">
-  <xsl:apply-templates/>
-  <xsl:if test="following-sibling::acronym|following-sibling::abbrev">, </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/revhistory" mode="glossary.as.list">
-</xsl:template>
-
-<xsl:template match="glossentry/glosssee" mode="glossary.as.list">
-  <xsl:variable name="otherterm" select="@otherterm"/>
-  <xsl:variable name="targets" select="key('id', $otherterm)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <fo:block>
-    <xsl:variable name="template">
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'glossary'"/>
-        <xsl:with-param name="name" select="'see'"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:variable name="title">
-      <xsl:choose>
-        <xsl:when test="$target">
-          <fo:basic-link internal-destination="{$otherterm}"
-                         xsl:use-attribute-sets="xref.properties">
-            <xsl:apply-templates select="$target" mode="xref-to"/>
-          </fo:basic-link>
-        </xsl:when>
-        <xsl:when test="$otherterm != '' and not($target)">
-          <xsl:message>
-            <xsl:text>Warning: glosssee @otherterm reference not found: </xsl:text>
-            <xsl:value-of select="$otherterm"/>
-          </xsl:message>
-          <xsl:apply-templates mode="glossary.as.list"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates mode="glossary.as.list"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:call-template name="substitute-markup">
-      <xsl:with-param name="template" select="$template"/>
-      <xsl:with-param name="title" select="$title"/>
-    </xsl:call-template>
-
-    <xsl:text>.</xsl:text>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="glossentry/glossdef" mode="glossary.as.list">
-  <xsl:apply-templates select="*[local-name(.) != 'glossseealso']"/>
-  <xsl:if test="glossseealso">
-    <fo:block>
-      <xsl:variable name="template">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'glossary'"/>
-          <xsl:with-param name="name" select="'seealso'"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:variable name="title">
-        <xsl:apply-templates select="glossseealso" mode="glossary.as.list"/>
-      </xsl:variable>
-      <xsl:call-template name="substitute-markup">
-        <xsl:with-param name="template" select="$template"/>
-        <xsl:with-param name="title" select="$title"/>
-      </xsl:call-template>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/glossdef/para[1]|glossentry/glossdef/simpara[1]"
-              mode="glossary.as.list">
-  <fo:block>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="glossseealso" mode="glossary.as.list">
-  <xsl:variable name="otherterm" select="@otherterm"/>
-  <xsl:variable name="targets" select="key('id', $otherterm)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="$target">
-      <fo:basic-link internal-destination="{$otherterm}"
-                     xsl:use-attribute-sets="xref.properties">
-        <xsl:apply-templates select="$target" mode="xref-to"/>
-      </fo:basic-link>
-    </xsl:when>
-    <xsl:when test="$otherterm != '' and not($target)">
-      <xsl:message>
-        <xsl:text>Warning: glossseealso @otherterm reference not found: </xsl:text>
-        <xsl:value-of select="$otherterm"/>
-      </xsl:message>
-      <xsl:apply-templates mode="glossary.as.list"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="glossary.as.list"/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="position() = last()">
-      <xsl:text>.</xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>, </xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- Format glossary blocks -->
-
-<xsl:template match="glossdiv" mode="glossary.as.blocks">
-  &setup-language-variable;
-  <xsl:variable name="entries" select="glossentry"/>
-  <xsl:variable name="preamble"
-                select="*[not(self::title
-                            or self::subtitle
-                            or self::glossentry)]"/>
-
-  <xsl:call-template name="glossdiv.titlepage"/>
-
-  <xsl:apply-templates select="$preamble"/>
-
-  <xsl:choose>
-    <xsl:when test="$glossary.sort != 0">
-      <xsl:apply-templates select="$entries" mode="glossary.as.blocks">
-        <xsl:sort lang="{$language}"
-                  select="translate(glossterm, $lowercase, 
-                                    $uppercase)"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="$entries" mode="glossary.as.blocks"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!--
-GlossEntry ::=
-  GlossTerm, Acronym?, Abbrev?,
-  (IndexTerm)*,
-  RevHistory?,
-  (GlossSee | GlossDef+)
--->
-
-<xsl:template match="glossentry" mode="glossary.as.blocks">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block xsl:use-attribute-sets="list.item.spacing"
-           keep-with-next.within-column="always" 
-           keep-together.within-column="always">
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="conditional">
-        <xsl:choose>
-          <xsl:when test="$glossterm.auto.link != 0
-                          or $glossary.collection != ''">0</xsl:when>
-          <xsl:otherwise>1</xsl:otherwise>
-        </xsl:choose>
-      </xsl:with-param>
-    </xsl:call-template>
-
-    <xsl:choose>
-      <xsl:when test="$glossentry.show.acronym = 'primary'">
-        <xsl:choose>
-          <xsl:when test="acronym|abbrev">
-            <xsl:apply-templates select="acronym|abbrev" mode="glossary.as.blocks"/>
-            <xsl:text> (</xsl:text>
-            <xsl:apply-templates select="glossterm" mode="glossary.as.blocks"/>
-            <xsl:text>)</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates select="glossterm" mode="glossary.as.blocks"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-
-      <xsl:when test="$glossentry.show.acronym = 'yes'">
-        <xsl:apply-templates select="glossterm" mode="glossary.as.blocks"/>
-
-        <xsl:if test="acronym|abbrev">
-          <xsl:text> (</xsl:text>
-          <xsl:apply-templates select="acronym|abbrev" mode="glossary.as.blocks"/>
-          <xsl:text>)</xsl:text>
-        </xsl:if>
-      </xsl:when>
-
-      <xsl:otherwise>
-        <xsl:apply-templates select="glossterm" mode="glossary.as.blocks"/>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:apply-templates select="indexterm"/>
-  </fo:block>
-
-  <fo:block margin-left="0.25in">
-    <xsl:apply-templates select="glosssee|glossdef" mode="glossary.as.blocks"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="glossentry/glossterm" mode="glossary.as.blocks">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <fo:inline id="{$id}">
-    <xsl:apply-templates/>
-  </fo:inline>
-  <xsl:if test="following-sibling::glossterm">, </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/acronym" mode="glossary.as.blocks">
-  <xsl:apply-templates/>
-  <xsl:if test="following-sibling::acronym|following-sibling::abbrev">, </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/abbrev" mode="glossary.as.blocks">
-  <xsl:apply-templates/>
-  <xsl:if test="following-sibling::acronym|following-sibling::abbrev">, </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/glosssee" mode="glossary.as.blocks">
-  <xsl:variable name="otherterm" select="@otherterm"/>
-  <xsl:variable name="targets" select="key('id', $otherterm)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:variable name="template">
-    <xsl:call-template name="gentext.template">
-      <xsl:with-param name="context" select="'glossary'"/>
-      <xsl:with-param name="name" select="'see'"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="title">
-    <xsl:choose>
-      <xsl:when test="$target">
-        <fo:basic-link internal-destination="{$otherterm}"
-                       xsl:use-attribute-sets="xref.properties">
-          <xsl:apply-templates select="$target" mode="xref-to"/>
-        </fo:basic-link>
-      </xsl:when>
-      <xsl:when test="$otherterm != '' and not($target)">
-        <xsl:message>
-          <xsl:text>Warning: glosssee @otherterm reference not found: </xsl:text>
-          <xsl:value-of select="$otherterm"/>
-        </xsl:message>
-        <xsl:apply-templates mode="glossary.as.blocks"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates mode="glossary.as.blocks"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:call-template name="substitute-markup">
-    <xsl:with-param name="template" select="$template"/>
-    <xsl:with-param name="title" select="$title"/>
-  </xsl:call-template>
-
-  <xsl:text>.</xsl:text>
-</xsl:template>
-
-<xsl:template match="glossentry/glossdef" mode="glossary.as.blocks">
-  <xsl:apply-templates select="*[local-name(.) != 'glossseealso']"
-                       mode="glossary.as.blocks"/>
-  <xsl:if test="glossseealso">
-    <fo:block>
-      <xsl:variable name="template">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'glossary'"/>
-          <xsl:with-param name="name" select="'seealso'"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:variable name="title">
-        <xsl:apply-templates select="glossseealso" mode="glossary.as.blocks"/>
-      </xsl:variable>
-      <xsl:call-template name="substitute-markup">
-        <xsl:with-param name="template" select="$template"/>
-        <xsl:with-param name="title" select="$title"/>
-      </xsl:call-template>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/glossdef/para[1]|glossentry/glossdef/simpara[1]"
-              mode="glossary.as.blocks">
-  <fo:block>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<!-- Handle any other glossdef content normally -->
-<xsl:template match="*" mode="glossary.as.blocks">
-  <xsl:apply-templates select="." />
-</xsl:template>
-
-<xsl:template match="glossseealso" mode="glossary.as.blocks">
-  <xsl:variable name="otherterm" select="@otherterm"/>
-  <xsl:variable name="targets" select="key('id', $otherterm)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="$target">
-      <fo:basic-link internal-destination="{$otherterm}"
-                     xsl:use-attribute-sets="xref.properties">
-        <xsl:apply-templates select="$target" mode="xref-to"/>
-      </fo:basic-link>
-    </xsl:when>
-    <xsl:when test="$otherterm != '' and not($target)">
-      <xsl:message>
-        <xsl:text>Warning: glossseealso @otherterm reference not found: </xsl:text>
-        <xsl:value-of select="$otherterm"/>
-      </xsl:message>
-      <xsl:apply-templates mode="glossary.as.blocks"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="glossary.as.blocks"/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="position() = last()">
-      <xsl:text>.</xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>, </xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/graphics.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/graphics.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,637 +1,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [
-<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
-<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
- ]>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:xlink="http://www.w3.org/1999/xlink"
-                xmlns:stext="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.TextFactory"
-                xmlns:xtext="com.nwalsh.xalan.Text"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                exclude-result-prefixes="xlink stext xtext lxslt"
-                extension-element-prefixes="stext xtext"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     Contributors:
-     Colin Paul Adams, <colin@colina.demon.co.uk>
-     Paul Grosso, <pgrosso@arbortext.com>
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<!-- Graphic format tests for the FO backend -->
-
-<xsl:param name="graphic.notations">
-  <!-- n.b. exactly one leading space, one trailing space, and one inter-word space -->
-  <xsl:choose>
-    <xsl:when test="$passivetex.extensions != 0">
-      <xsl:text> PNG PDF JPG JPEG linespecific </xsl:text>
-    </xsl:when>
-    <xsl:when test="$fop1.extensions != 0">
-      <xsl:text> BMP GIF TIFF SVG PNG EPS JPG JPEG linespecific </xsl:text>
-    </xsl:when>
-    <xsl:when test="$fop.extensions != 0">
-      <xsl:text> BMP GIF TIFF SVG PNG EPS JPG JPEG linespecific </xsl:text>
-    </xsl:when>
-    <xsl:when test="$arbortext.extensions != 0">
-      <xsl:text> PNG PDF JPG JPEG linespecific GIF GIF87a GIF89a TIFF BMP </xsl:text>
-    </xsl:when>
-    <xsl:when test="$xep.extensions != 0">
-      <xsl:text> SVG PNG PDF JPG JPEG linespecific GIF GIF87a GIF89a TIFF BMP </xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text> PNG PDF JPG JPEG linespecific GIF GIF87a GIF89a TIFF BMP </xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-
-<xsl:template name="is.graphic.format">
-  <xsl:param name="format"/>
-  <xsl:if test="contains($graphic.notations, concat(' ',$format,' '))">1</xsl:if>
-</xsl:template>
-
-<xsl:param name="graphic.extensions">
-  <!-- n.b. exactly one leading space, one trailing space, and one inter-word space -->
-  <xsl:choose>
-    <xsl:when test="$passivetex.extensions != 0">
-      <xsl:text> png pdf jpg jpeg </xsl:text>
-    </xsl:when>
-    <xsl:when test="$fop1.extensions != 0">
-      <xsl:text> bmp gif tif tiff svg png pdf jpg jpeg eps </xsl:text>
-    </xsl:when>
-    <xsl:when test="$fop.extensions != 0">
-      <xsl:text> bmp gif tif tiff svg png pdf jpg jpeg eps </xsl:text>
-    </xsl:when>
-    <xsl:when test="$arbortext.extensions != 0">
-      <xsl:text> png pdf jpg jpeg gif tif tiff bmp </xsl:text>
-    </xsl:when>
-    <xsl:when test="$xep.extensions != 0">
-      <xsl:text> svg png pdf jpg jpeg gif tif tiff bmp eps </xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text> svg png pdf jpg jpeg gif tif tiff bmp eps </xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-
-<xsl:template name="is.graphic.extension">
-  <xsl:param name="ext"/>
-  <xsl:variable name="lcext" select="translate($ext,
-                                       'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
-                                       'abcdefghijklmnopqrstuvwxyz')"/>
-
-  <xsl:if test="contains($graphic.extensions,
-                         concat(' ', $lcext, ' '))">1</xsl:if>
-</xsl:template>
-
-<xsl:template name="graphic.format.content-type">
-  <xsl:param name="format"/>
-  <xsl:variable name="is.graphic.format">
-    <xsl:call-template name="is.graphic.format">
-      <xsl:with-param name="format" select="$format"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:if test="$is.graphic.format">
-    <xsl:choose>
-      <xsl:when test="$format = ''"></xsl:when>
-      <xsl:when test="$format = 'linespecific'"></xsl:when>
-      <xsl:when test="$format = 'PS'">application/postscript</xsl:when>
-      <xsl:when test="$format = 'PDF'">application/pdf</xsl:when>
-      <xsl:when test="$format = 'PNG'">image/png</xsl:when>
-      <xsl:when test="$format = 'SVG'">image/svg+xml</xsl:when>
-      <xsl:when test="$format = 'JPG'">image/jpeg</xsl:when>
-      <xsl:when test="$format = 'GIF87a'">image/gif</xsl:when>
-      <xsl:when test="$format = 'GIF89a'">image/gif</xsl:when>
-      <xsl:otherwise>
-          <xsl:value-of select="concat('image/', 
-            translate($format, &uppercase;, &lowercase;))"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-</xsl:template>
-
-
-<!-- ==================================================================== -->
-
-<xsl:template match="screenshot">
-  <fo:block>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="screeninfo">
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- Override these templates for FO -->
-<!-- ==================================================================== -->
-
-<xsl:template name="process.image">
-  <!-- When this template is called, the current node should be  -->
-  <!-- a graphic, inlinegraphic, imagedata, or videodata. All    -->
-  <!-- those elements have the same set of attributes, so we can -->
-  <!-- handle them all in one place.                             -->
-
-  <xsl:variable name="scalefit">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0">0</xsl:when>
-      <xsl:when test="@contentwidth">0</xsl:when>
-      <xsl:when test="@contentdepth and 
-                      @contentdepth != '100%'">0</xsl:when>
-      <xsl:when test="@scale">0</xsl:when>
-      <xsl:when test="@scalefit"><xsl:value-of select="@scalefit"/></xsl:when>
-      <xsl:when test="@width or @depth">1</xsl:when>
-      <xsl:otherwise>0</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="scale">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0">0</xsl:when>
-      <xsl:when test="@contentwidth or @contentdepth">1.0</xsl:when>
-      <xsl:when test="@scale">
-        <xsl:value-of select="@scale div 100.0"/>
-      </xsl:when>
-      <xsl:otherwise>1.0</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="local-name(.) = 'graphic'
-                      or local-name(.) = 'inlinegraphic'">
-        <!-- handle legacy graphic and inlinegraphic by new template --> 
-        <xsl:call-template name="mediaobject.filename">
-          <xsl:with-param name="object" select="."/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- imagedata, videodata, audiodata -->
-        <xsl:call-template name="mediaobject.filename">
-          <xsl:with-param name="object" select=".."/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="content-type">
-    <xsl:if test="@format">
-      <xsl:call-template name="graphic.format.content-type">
-        <xsl:with-param name="format" select="@format"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="bgcolor">
-    <xsl:call-template name="pi.dbfo_background-color">
-      <xsl:with-param name="node" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <fo:external-graphic>
-    <xsl:attribute name="src">
-      <xsl:call-template name="fo-external-image">
-        <xsl:with-param name="filename">
-          <xsl:if test="$img.src.path != '' and
-                        not(starts-with($filename, '/')) and
-                        not(contains($filename, '://'))">
-            <xsl:value-of select="$img.src.path"/>
-          </xsl:if>
-          <xsl:value-of select="$filename"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="width">
-      <xsl:choose>
-        <xsl:when test="$ignore.image.scaling != 0">auto</xsl:when>
-        <xsl:when test="contains(@width,'%')">
-          <xsl:value-of select="@width"/>
-        </xsl:when>
-        <xsl:when test="@width and not(@width = '')">
-          <xsl:call-template name="length-spec">
-            <xsl:with-param name="length" select="@width"/>
-            <xsl:with-param name="default.units" select="'px'"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="not(@depth) and $default.image.width != ''">
-          <xsl:call-template name="length-spec">
-            <xsl:with-param name="length" select="$default.image.width"/>
-            <xsl:with-param name="default.units" select="'px'"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>auto</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-
-    <xsl:attribute name="height">
-      <xsl:choose>
-        <xsl:when test="$ignore.image.scaling != 0">auto</xsl:when>
-        <xsl:when test="contains(@depth,'%')">
-          <xsl:value-of select="@depth"/>
-        </xsl:when>
-        <xsl:when test="@depth">
-          <xsl:call-template name="length-spec">
-            <xsl:with-param name="length" select="@depth"/>
-            <xsl:with-param name="default.units" select="'px'"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>auto</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-
-    <xsl:attribute name="content-width">
-      <xsl:choose>
-        <xsl:when test="$ignore.image.scaling != 0">auto</xsl:when>
-        <xsl:when test="contains(@contentwidth,'%')">
-          <xsl:value-of select="@contentwidth"/>
-        </xsl:when>
-        <xsl:when test="@contentwidth">
-          <xsl:call-template name="length-spec">
-            <xsl:with-param name="length" select="@contentwidth"/>
-            <xsl:with-param name="default.units" select="'px'"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="number($scale) != 1.0">
-          <xsl:value-of select="$scale * 100"/>
-          <xsl:text>%</xsl:text>
-        </xsl:when>
-        <xsl:when test="$scalefit = 1">scale-to-fit</xsl:when>
-        <xsl:otherwise>auto</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-
-    <xsl:attribute name="content-height">
-      <xsl:choose>
-        <xsl:when test="$ignore.image.scaling != 0">auto</xsl:when>
-        <xsl:when test="contains(@contentdepth,'%')">
-          <xsl:value-of select="@contentdepth"/>
-        </xsl:when>
-        <xsl:when test="@contentdepth">
-          <xsl:call-template name="length-spec">
-            <xsl:with-param name="length" select="@contentdepth"/>
-            <xsl:with-param name="default.units" select="'px'"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="number($scale) != 1.0">
-          <xsl:value-of select="$scale * 100"/>
-          <xsl:text>%</xsl:text>
-        </xsl:when>
-        <xsl:when test="$scalefit = 1">scale-to-fit</xsl:when>
-        <xsl:otherwise>auto</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-
-    <xsl:if test="$content-type != ''">
-      <xsl:attribute name="content-type">
-        <xsl:value-of select="concat('content-type:',$content-type)"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="$bgcolor != ''">
-      <xsl:attribute name="background-color">
-        <xsl:value-of select="$bgcolor"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="@align">
-      <xsl:attribute name="text-align">
-        <xsl:value-of select="@align"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="@valign">
-      <xsl:attribute name="display-align">
-        <xsl:choose>
-          <xsl:when test="@valign = 'top'">before</xsl:when>
-          <xsl:when test="@valign = 'middle'">center</xsl:when>
-          <xsl:when test="@valign = 'bottom'">after</xsl:when>
-          <xsl:otherwise>auto</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-  </fo:external-graphic>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="graphic">
-  <xsl:choose>
-    <xsl:when test="parent::inlineequation">
-      <xsl:call-template name="process.image"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block>
-        <xsl:if test="@align">
-          <xsl:attribute name="text-align">
-            <xsl:value-of select="@align"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:call-template name="process.image"/>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="inlinegraphic">
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="@entityref">
-        <xsl:value-of select="unparsed-entity-uri(@entityref)"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates select="@fileref"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="@format='linespecific'">
-      <xsl:choose>
-        <xsl:when test="$use.extensions != '0'
-                        and $textinsert.extension != '0'">
-          <xsl:choose>
-            <xsl:when test="contains($vendor, 'SAXON')">
-              <stext:insertfile href="{$filename}" encoding="{$textdata.default.encoding}"/>
-            </xsl:when>
-            <xsl:when test="contains($vendor, 'Apache Software Foundation')">
-              <xtext:insertfile href="{$filename}"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:message terminate="yes">
-                <xsl:text>Don't know how to insert files with </xsl:text>
-                <xsl:value-of select="$vendor"/>
-              </xsl:message>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-	<xsl:otherwise>
-	  <xsl:message terminate="yes">
-	    <xsl:text>Cannot insert </xsl:text><xsl:value-of select="$filename"/>
-	    <xsl:text>. Check use.extensions and textinsert.extension parameters.</xsl:text> 
-	  </xsl:message>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="process.image"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="mediaobject|mediaobjectco">
-
-  <xsl:variable name="olist" select="imageobject|imageobjectco
-                     |videoobject|audioobject
-                     |textobject"/>
-
-  <xsl:variable name="object.index">
-    <xsl:call-template name="select.mediaobject.index">
-      <xsl:with-param name="olist" select="$olist"/>
-      <xsl:with-param name="count" select="1"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="object" select="$olist[position() = $object.index]"/>
-
-  <xsl:variable name="align">
-    <xsl:value-of select="$object/descendant::imagedata[@align][1]/@align"/>
-  </xsl:variable>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-    <xsl:if test="$align != '' ">
-      <xsl:attribute name="text-align">
-        <xsl:value-of select="$align"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:apply-templates select="$object"/>
-    <xsl:apply-templates select="caption"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="inlinemediaobject">
-  <xsl:call-template name="select.mediaobject"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="imageobjectco">
-  <xsl:apply-templates select="imageobject"/>
-  <xsl:apply-templates select="calloutlist"/>
-</xsl:template>
-
-<xsl:template match="imageobject">
-  <xsl:choose>
-    <xsl:when test="imagedata">
-      <xsl:apply-templates select="imagedata"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:instream-foreign-object>
-        <xsl:apply-templates mode="copy-all"/>
-      </fo:instream-foreign-object>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="copy-all">
-  <xsl:copy>
-    <xsl:for-each select="@*">
-      <xsl:copy/>
-    </xsl:for-each>
-    <xsl:apply-templates mode="copy-all"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="text()|comment()|processing-instruction()" mode="copy-all">
-  <xsl:copy/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="imagedata">
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:variable name="filename">
-    <xsl:call-template name="mediaobject.filename">
-      <xsl:with-param name="object" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="@format='linespecific'">
-      <xsl:choose>
-        <xsl:when test="$use.extensions != '0'
-                        and $textinsert.extension != '0'">
-          <xsl:choose>
-            <xsl:when test="contains($vendor, 'SAXON')">
-              <stext:insertfile href="{$filename}" encoding="{$textdata.default.encoding}"/>
-            </xsl:when>
-            <xsl:when test="contains($vendor, 'Apache Software Foundation')">
-              <xtext:insertfile href="{$filename}"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:message terminate="yes">
-                <xsl:text>Don't know how to insert files with </xsl:text>
-                <xsl:value-of select="$vendor"/>
-              </xsl:message>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-	  <xsl:message terminate="yes">
-	    <xsl:text>Cannot insert </xsl:text><xsl:value-of select="$filename"/>
-	    <xsl:text>. Check use.extensions and textinsert.extension parameters.</xsl:text> 
-	  </xsl:message>
-	</xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="process.image"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="videoobject">
-  <xsl:apply-templates select="videodata"/>
-</xsl:template>
-
-<xsl:template match="videodata">
-  <xsl:call-template name="process.image"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="audioobject">
-  <xsl:apply-templates select="audiodata"/>
-</xsl:template>
-
-<xsl:template match="audiodata">
-  <xsl:call-template name="process.image"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="textobject">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="textdata">
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="@entityref">
-        <xsl:value-of select="unparsed-entity-uri(@entityref)"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates select="@fileref"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="encoding">
-    <xsl:choose>
-      <xsl:when test="@encoding">
-        <xsl:value-of select="@encoding"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$textdata.default.encoding"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$use.extensions != '0'
-                    and $textinsert.extension != '0'">
-      <xsl:choose>
-        <xsl:when test="element-available('stext:insertfile')">
-          <stext:insertfile href="{$filename}" encoding="{$encoding}"/>
-        </xsl:when>
-        <xsl:when test="element-available('xtext:insertfile')">
-          <xtext:insertfile href="{$filename}"/>
-        </xsl:when>
-	<xsl:otherwise>
-	  <xsl:message terminate="yes">
-	    <xsl:text>Don't know how to insert files with </xsl:text>
-	    <xsl:value-of select="$vendor"/>
-	  </xsl:message>
-	</xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message terminate="yes">
-	<xsl:text>Cannot insert </xsl:text><xsl:value-of select="$filename"/>
-	<xsl:text>. Check use.extensions and textinsert.extension parameters.</xsl:text> 
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="caption">
-  <fo:block>
-    <xsl:if test="@align = 'right' or @align = 'left' or @align='center'">
-      <xsl:attribute name="text-align"><xsl:value-of
-                         select="@align"/></xsl:attribute>
-    </xsl:if>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="fo-external-image">
-  <xsl:param name="filename"/>
-
-  <xsl:choose>
-    <xsl:when test="$passivetex.extensions != 0
-                    or $fop.extensions != 0">
-      <xsl:value-of select="$filename"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="concat('url(', $filename, ')')"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- Resolve xml:base attributes -->
-<xsl:template match="@fileref">
-  <!-- need a check for absolute urls -->
-  <xsl:choose>
-    <xsl:when test="contains(., ':') or starts-with(.,'/')">
-      <!-- it has a uri scheme or starts with '/', so it is an absolute uri -->
-      <xsl:value-of select="."/>
-    </xsl:when>
-    <xsl:when test="$keep.relative.image.uris != 0">
-      <!-- leave it alone -->
-      <xsl:value-of select="."/>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- its a relative uri -->
-      <xsl:call-template name="relative-uri">
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/highlight.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/highlight.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,57 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-		xmlns:fo="http://www.w3.org/1999/XSL/Format"
-		xmlns:xslthl="http://xslthl.sf.net"
-                exclude-result-prefixes="xslthl"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     and other information.
-
-     ******************************************************************** -->
-
-<xsl:template match='xslthl:keyword'>
-  <fo:inline font-weight="bold"><xsl:apply-templates/></fo:inline>
-</xsl:template>
-
-<xsl:template match='xslthl:string'>
-  <fo:inline font-weight="bold" font-style="italic"><xsl:apply-templates/></fo:inline>
-</xsl:template>
-
-<xsl:template match='xslthl:comment'>
-  <fo:inline font-style="italic"><xsl:apply-templates/></fo:inline>
-</xsl:template>
-
-<xsl:template match='xslthl:tag'>
-  <fo:inline font-weight="bold"><xsl:apply-templates/></fo:inline>
-</xsl:template>
-
-<xsl:template match='xslthl:attribute'>
-  <fo:inline font-weight="bold"><xsl:apply-templates/></fo:inline>
-</xsl:template>
-
-<xsl:template match='xslthl:value'>
-  <fo:inline font-weight="bold"><xsl:apply-templates/></fo:inline>
-</xsl:template>
-
-<!--
-<xsl:template match='xslthl:html'>
-  <span style='background:#AFF'><font color='blue'><xsl:apply-templates/></font></span>
-</xsl:template>
-
-<xsl:template match='xslthl:xslt'>
-  <span style='background:#AAA'><font color='blue'><xsl:apply-templates/></font></span>
-</xsl:template>
-
-<xsl:template match='xslthl:section'>
-  <span style='background:yellow'><xsl:apply-templates/></span>
-</xsl:template>
--->
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/htmltbl.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/htmltbl.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,217 +1,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:attribute-set name="th.style">
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-</xsl:attribute-set>
-
-<!-- Outputs an fo:table only, not the caption -->
-<xsl:template match="table|informaltable" mode="htmlTable">
-
-  <xsl:variable name="numcols">
-    <xsl:call-template name="widest-html-row">
-      <xsl:with-param name="rows" select=".//tr"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="prop-columns"
-                select=".//col[contains(@width, '%')] |
-                        .//colgroup[contains(@width, '%')]"/>
-
-  <xsl:variable name="table.width">
-    <xsl:call-template name="table.width"/>
-  </xsl:variable>
-
-  <fo:table xsl:use-attribute-sets="table.table.properties">
-    <xsl:choose>
-      <xsl:when test="$fop.extensions != 0 or
-                      $passivetex.extensions != 0">
-        <xsl:attribute name="table-layout">fixed</xsl:attribute>
-      </xsl:when>
-    </xsl:choose>
-    <xsl:attribute name="width">
-      <xsl:choose>
-        <xsl:when test="@width">
-          <xsl:value-of select="@width"/>
-        </xsl:when>
-        <xsl:when test="$table.width">
-          <xsl:value-of select="$table.width"/>
-        </xsl:when>
-        <xsl:otherwise>100%</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-    <xsl:call-template name="make-html-table-columns">
-      <xsl:with-param name="count" select="$numcols"/>
-    </xsl:call-template>
-    <xsl:apply-templates select="thead" mode="htmlTable"/>
-    <xsl:apply-templates select="tfoot" mode="htmlTable"/>
-    <xsl:choose>
-      <xsl:when test="tbody">
-        <xsl:apply-templates select="tbody" mode="htmlTable"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <fo:table-body start-indent="0pt" end-indent="0pt">
-          <xsl:apply-templates select="tr" mode="htmlTable"/>
-        </fo:table-body>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:table>
-
-</xsl:template>
-
-<xsl:template match="caption" mode="htmlTable">
-  <!-- Handled by formal.object.heading -->
-</xsl:template>
-
-<xsl:template name="widest-html-row">
-  <xsl:param name="rows" select="''"/>
-  <xsl:param name="count" select="0"/>
-  <xsl:choose>
-    <xsl:when test="count($rows) = 0">
-      <xsl:value-of select="$count"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$count &gt; count($rows[1]/*)">
-          <xsl:call-template name="widest-html-row">
-            <xsl:with-param name="rows" select="$rows[position() &gt; 1]"/>
-            <xsl:with-param name="count" select="$count"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="widest-html-row">
-            <xsl:with-param name="rows" select="$rows[position() &gt; 1]"/>
-            <xsl:with-param name="count" select="count($rows[1]/*)"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="make-html-table-columns">
-  <xsl:param name="count" select="0"/>
-  <xsl:param name="number" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="col|colgroup/col">
-      <xsl:for-each select="col|colgroup/col">
-        <fo:table-column>
-          <xsl:attribute name="column-number">
-            <xsl:number from="table|informaltable" level="any" format="1"/>
-          </xsl:attribute>
-          <xsl:if test="@width">
-            <xsl:attribute name="column-width">
-              <xsl:choose>
-                <xsl:when test="$fop.extensions != 0 and 
-                                contains(@width, '%')">
-                  <xsl:value-of select="concat('proportional-column-width(',
-                                               substring-before(@width, '%'),
-                                               ')')"/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:value-of select="@width"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:attribute>
-          </xsl:if>
-        </fo:table-column>
-      </xsl:for-each>
-    </xsl:when>
-    <xsl:when test="$fop.extensions != 0">
-      <xsl:if test="$number &lt;= $count">
-        <fo:table-column column-number="{$number}"
-                         column-width="{6.5 div $count}in"/>
-        <xsl:call-template name="make-html-table-columns">
-          <xsl:with-param name="count" select="$count"/>
-          <xsl:with-param name="number" select="$number + 1"/>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="tbody" mode="htmlTable">
-  <fo:table-body border-bottom-width="0.25pt"
-                 border-bottom-style="solid"
-                 border-bottom-color="black"
-                 start-indent="0pt"
-                 end-indent="0pt">
-    <xsl:apply-templates mode="htmlTable"/>
-  </fo:table-body>
-</xsl:template>
-
-<xsl:template match="td" mode="htmlTable">
-  <xsl:variable name="bgcolor">
-    <xsl:call-template name="pi.dbfo_bgcolor"/>
-  </xsl:variable>
-  <fo:table-cell xsl:use-attribute-sets="table.cell.padding">
-    <xsl:call-template name="table.cell.properties">
-      <xsl:with-param name="bgcolor.pi" select="$bgcolor"/>
-      <xsl:with-param name="rowsep.inherit" select="0"/>
-      <xsl:with-param name="colsep.inherit" select="0"/>
-    </xsl:call-template>
-    <fo:block>
-      <xsl:call-template name="table.cell.block.properties"/>
-      <xsl:apply-templates/>
-    </fo:block>
-  </fo:table-cell>
-</xsl:template>
-
-<xsl:template match="tfoot" mode="htmlTable">
-  <fo:table-footer start-indent="0pt"
-                   end-indent="0pt">
-    <xsl:apply-templates mode="htmlTable"/>
-  </fo:table-footer>
-</xsl:template>
-
-<xsl:template match="th" mode="htmlTable">
-  <xsl:variable name="bgcolor">
-    <xsl:call-template name="pi.dbfo_bgcolor"/>
-  </xsl:variable>
-  <fo:table-cell xsl:use-attribute-sets="th.style table.cell.padding">
-    <xsl:call-template name="table.cell.properties">
-      <xsl:with-param name="bgcolor.pi" select="$bgcolor"/>
-      <xsl:with-param name="rowsep.inherit" select="0"/>
-      <xsl:with-param name="colsep.inherit" select="0"/>
-    </xsl:call-template>
-    <fo:block>
-      <xsl:call-template name="table.cell.block.properties"/>
-      <xsl:apply-templates/>
-    </fo:block>
-  </fo:table-cell>
-</xsl:template>
-
-<xsl:template match="thead" mode="htmlTable">
-  <fo:table-header border-bottom-width="0.25pt"
-                   border-bottom-style="solid"
-                   border-bottom-color="black"
-                   start-indent="0pt"
-                   end-indent="0pt"
-                   font-weight="bold">
-    <xsl:apply-templates mode="htmlTable"/>
-  </fo:table-header>
-</xsl:template>
-
-<xsl:template match="tr" mode="htmlTable">
-  <fo:table-row>
-    <xsl:call-template name="table.row.properties"/>
-    <xsl:apply-templates mode="htmlTable"/>
-  </fo:table-row>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/index.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/index.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,479 +1,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [
-<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
-<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas)]))'>
-<!ENTITY tertiary  'normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas)]))'>
-]>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:rx="http://www.renderx.com/XSL/Extensions"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="index">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
- <xsl:if test="$generate.index != 0">
-  <xsl:choose>
-    <xsl:when test="$make.index.markup != 0">
-      <fo:block>
-        <xsl:call-template name="generate-index-markup">
-          <xsl:with-param name="scope" select="(ancestor::book|/)[last()]"/>
-        </xsl:call-template>
-      </fo:block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block id="{$id}">
-        <xsl:call-template name="index.titlepage"/>
-      </fo:block>
-      <xsl:apply-templates/>
-      <xsl:if test="count(indexentry) = 0 and count(indexdiv) = 0">
-        <xsl:call-template name="generate-index">
-          <xsl:with-param name="scope" select="(ancestor::book|/)[last()]"/>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="book/index|part/index">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
- <xsl:if test="$generate.index != 0">
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster">
-      <xsl:with-param name="pageclass">
-        <xsl:if test="$make.index.markup != 0">body</xsl:if>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}">
-        <xsl:call-template name="index.titlepage"/>
-      </fo:block>
-      <xsl:apply-templates/>
-      <xsl:if test="count(indexentry) = 0 and count(indexdiv) = 0">
-
-        <xsl:choose>
-          <xsl:when test="$make.index.markup != 0">
-            <fo:block wrap-option='no-wrap'
-                      white-space-collapse='false'
-                      xsl:use-attribute-sets="monospace.verbatim.properties"
-                      linefeed-treatment="preserve">
-              <xsl:call-template name="generate-index-markup">
-                <xsl:with-param name="scope" select="(ancestor::book|/)[last()]"/>
-              </xsl:call-template>
-            </fo:block>
-          </xsl:when>
-          <xsl:when test="indexentry|indexdiv/indexentry">
-            <xsl:apply-templates/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="generate-index">
-              <xsl:with-param name="scope" select="(ancestor::book|/)[last()]"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:if>
-    </fo:flow>
-  </fo:page-sequence>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="setindex">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
- <xsl:if test="$generate.index != 0">
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster">
-      <xsl:with-param name="pageclass">
-        <xsl:choose>
-          <xsl:when test="$make.index.markup != 0">body</xsl:when>
-          <xsl:otherwise>index</xsl:otherwise>
-        </xsl:choose>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}">
-        <xsl:call-template name="setindex.titlepage"/>
-      </fo:block>
-      <xsl:apply-templates/>
-      <xsl:if test="count(indexentry) = 0 and count(indexdiv) = 0">
-
-        <xsl:choose>
-          <xsl:when test="$make.index.markup != 0">
-            <fo:block wrap-option='no-wrap'
-                      white-space-collapse='false'
-                      xsl:use-attribute-sets="monospace.verbatim.properties"
-                      linefeed-treatment="preserve">
-              <xsl:call-template name="generate-index-markup">
-                <xsl:with-param name="scope" select="/"/>
-              </xsl:call-template>
-            </fo:block>
-          </xsl:when>
-          <xsl:when test="indexentry|indexdiv/indexentry">
-            <xsl:apply-templates/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="generate-index">
-              <xsl:with-param name="scope" select="/"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:if>
-    </fo:flow>
-  </fo:page-sequence>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="index/indexinfo"></xsl:template>
-<xsl:template match="index/info"></xsl:template>
-<xsl:template match="index/title"></xsl:template>
-<xsl:template match="index/subtitle"></xsl:template>
-<xsl:template match="index/titleabbrev"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="indexdiv.title">
-  <xsl:param name="title"/>
-  <xsl:param name="titlecontent"/>
-
-  <fo:block xsl:use-attribute-sets="index.div.title.properties">
-    <xsl:choose>
-      <xsl:when test="$title">
-        <xsl:apply-templates select="." mode="object.title.markup">
-          <xsl:with-param name="allow-anchors" select="1"/>
-        </xsl:apply-templates>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:copy-of select="$titlecontent"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="indexdiv">
-  <fo:block>
-    <xsl:call-template name="indexdiv.titlepage"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="indexdiv/title"/>
-<xsl:template match="indexdiv/subtitle"/>
-<xsl:template match="indexdiv/titleabbrev"/>
-
-<!-- ==================================================================== -->
-
-<!-- Text used for distiguishing between normal and significant entries -->
-<xsl:variable name="significant.flag">.tnacifingis</xsl:variable>
-
-<xsl:template match="indexterm" name="indexterm">
-  <!-- Temporal workaround for bug in AXF -->
-  <xsl:variable name="wrapper.name">
-    <xsl:choose>
-      <xsl:when test="$axf.extensions != 0">
-        <xsl:call-template name="inline.or.block"/>
-      </xsl:when>
-      <xsl:otherwise>fo:wrapper</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:element name="{$wrapper.name}">
-    <xsl:attribute name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:attribute>
-    <xsl:choose>
-      <xsl:when test="$xep.extensions != 0">
-        <xsl:attribute name="rx:key">
-          <xsl:value-of select="&primary;"/>
-          <xsl:if test="@significance='preferred'"><xsl:value-of select="$significant.flag"/></xsl:if>
-          <xsl:if test="secondary">
-            <xsl:text>, </xsl:text>
-            <xsl:value-of select="&secondary;"/>
-          </xsl:if>
-          <xsl:if test="tertiary">
-            <xsl:text>, </xsl:text>
-            <xsl:value-of select="&tertiary;"/>
-          </xsl:if>
-        </xsl:attribute>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:comment>
-          <xsl:call-template name="comment-escape-string">
-            <xsl:with-param name="string">
-              <xsl:value-of select="primary"/>
-              <xsl:if test="secondary">
-                <xsl:text>, </xsl:text>
-                <xsl:value-of select="secondary"/>
-              </xsl:if>
-              <xsl:if test="tertiary">
-                <xsl:text>, </xsl:text>
-                <xsl:value-of select="tertiary"/>
-              </xsl:if>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:comment>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="indexterm[@class='startofrange']">
-  <xsl:choose>
-    <xsl:when test="$xep.extensions != 0">
-      <rx:begin-index-range>
-        <xsl:call-template name="anchor"/>
-        <xsl:attribute name="rx:key">
-          <xsl:value-of select="&primary;"/>
-          <xsl:if test="@significance='preferred'"><xsl:value-of select="$significant.flag"/></xsl:if>
-          <xsl:if test="secondary">
-            <xsl:text>, </xsl:text>
-            <xsl:value-of select="&secondary;"/>
-          </xsl:if>
-          <xsl:if test="tertiary">
-            <xsl:text>, </xsl:text>
-            <xsl:value-of select="&tertiary;"/>
-          </xsl:if>
-        </xsl:attribute>
-      </rx:begin-index-range>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="indexterm"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="indexterm[@class='endofrange']">
-  <xsl:choose>
-    <xsl:when test="$xep.extensions != 0">
-      <rx:end-index-range>
-        <xsl:attribute name="ref-id">
-          <xsl:value-of select="@startref"/>
-        </xsl:attribute>
-      </rx:end-index-range>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="indexterm"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="indexentry">
-  <fo:block>
-    <!-- don't process 'seeie's from here -->
-    <xsl:apply-templates select="primaryie|secondaryie|tertiaryie|seealsoie"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="primaryie">
-  <fo:block>
-    <xsl:apply-templates/>
-    <xsl:if test="following-sibling::seeie">
-      <xsl:text> (</xsl:text>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'see'"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:apply-templates select="following-sibling::seeie"/>
-      <xsl:text>)</xsl:text>
-    </xsl:if>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="secondaryie">
-  <fo:block start-indent="1pc">
-    <xsl:apply-templates/>
-    <xsl:if test="following-sibling::seeie">
-      <xsl:text> (</xsl:text>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'see'"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:apply-templates select="following-sibling::seeie"/>
-      <xsl:text>)</xsl:text>
-    </xsl:if>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="tertiaryie">
-  <fo:block start-indent="2pc">
-    <xsl:apply-templates/>
-    <xsl:if test="following-sibling::seeie">
-      <xsl:text> (</xsl:text>
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'see'"/>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:apply-templates select="following-sibling::seeie"/>
-      <xsl:text>)</xsl:text>
-    </xsl:if>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="seeie">
-  <fo:inline>
-    <xsl:apply-templates/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="seealsoie">
-  <fo:block>
-    <xsl:attribute name="start-indent">
-      <xsl:choose>
-        <xsl:when test="preceding-sibling::tertiaryie">3pc</xsl:when>
-        <xsl:when test="preceding-sibling::secondaryie">2pc</xsl:when>
-        <xsl:otherwise>1pc</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-    <xsl:text>(</xsl:text>
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'seealso'"/>
-    </xsl:call-template>
-    <xsl:text> </xsl:text>
-    <xsl:apply-templates/>
-    <xsl:text>)</xsl:text>
-  </fo:block>
-</xsl:template>
-
-<!-- Determines if an object should be inserted as an fo:inline
-     or an fo:block.  Used for indexterms -->
-<xsl:template name="inline.or.block">
-  <xsl:param name="parentnode" select=".."/>
-
-  <xsl:variable name="parent" select="local-name($parentnode)"/>
-
-  <xsl:variable name="block.parents" select="'|answer|appendix|appendixinfo|article|articleinfo|bibliodiv|bibliography|bibliographyinfo|blockinfo|blockquote|bookinfo|callout|caution|chapter|chapterinfo|dedication|example|figure|formalpara|funcsynopsisinfo|glossary|glossaryinfo|glossdef|glossdiv|glossentry|highlights|important|index|indexinfo|info|informalexample|informalfigure|informaltable|itemizedlist|legalnotice|listitem|msgexplan|msgtext|note|objectinfo|orderedlist|partinfo|partintro|preface|prefaceinfo|procedure|qandadiv|qandaset|question|refentry|refentryinfo|referenceinfo|refmeta|refmiscinfo|refsect1|refsect1info|refsect2|refsect2info|refsect3|refsect3info|refsection|refsectioninfo|refsynopsisdiv|refsynopsisdivinfo|revdescription|screeninfo|sect1|sect1info|sect2|sect2info|sect3|sect3info|sect4|sect4info|sect5|sect5info|section|sectioninfo|setindex|setindexinfo|setinfo|sidebar|sidebarinfo|simplesect|step|table|task|taskprerequisites|taskrelated|tasksummary|tip|variablelist|warning|'"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($parent, $block.parents)">fo:block</xsl:when>
-    <xsl:otherwise>fo:inline</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/info.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/info.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,34 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- These templates define the "default behavior" for info
-     elements.  Even if you don't process the *info wrappers,
-     some of these elements are needed because the elements are
-     processed from named templates that are called with modes.
-     Since modes aren't sticky, these rules apply. 
-     (TODO: clarify this comment) -->
-
-<!-- ==================================================================== -->
-<!-- called from named templates in a given mode -->
-
-<xsl:template match="corpauthor">
-  <fo:inline>
-    <xsl:apply-templates/>
-  </fo:inline>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/inline.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/inline.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1234 +1,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [
-  <!ENTITY comment.block.parents "parent::answer|parent::appendix|parent::article|parent::bibliodiv|
-                                  parent::bibliography|parent::blockquote|parent::caution|parent::chapter|
-                                  parent::glossary|parent::glossdiv|parent::important|parent::index|
-                                  parent::indexdiv|parent::listitem|parent::note|parent::orderedlist|
-                                  parent::partintro|parent::preface|parent::procedure|parent::qandadiv|
-                                  parent::qandaset|parent::question|parent::refentry|parent::refnamediv|
-                                  parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection|
-                                  parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4|
-                                  parent::sect5|parent::section|parent::setindex|parent::sidebar|
-                                  parent::simplesect|parent::taskprerequisites|parent::taskrelated|
-                                  parent::tasksummary|parent::warning">
-]>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:xlink='http://www.w3.org/1999/xlink'
-                exclude-result-prefixes="xlink"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template name="simple.xlink">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="content">
-    <xsl:apply-templates/>
-  </xsl:param>
-  <xsl:param name="linkend" select="$node/@linkend"/>
-  <xsl:param name="xhref" select="$node/@xlink:href"/>
-
-  <xsl:choose>
-    <xsl:when test="$xhref
-                    and (not($node/@xlink:type) or 
-                         $node/@xlink:type='simple')">
-
-      <!-- Is it a local idref? -->
-      <xsl:variable name="is.idref">
-        <xsl:choose>
-          <!-- if the href starts with # and does not contain an "(" -->
-          <!-- or if the href starts with #xpointer(id(, it's just an ID -->
-          <xsl:when test="starts-with($xhref,'#')
-                          and (not(contains($xhref,'&#40;'))
-                          or starts-with($xhref,
-                                     '#xpointer&#40;id&#40;'))">1</xsl:when>
-          <xsl:otherwise>0</xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <!-- Is it an olink ? -->
-      <xsl:variable name="is.olink">
-        <xsl:choose>
-	  <!-- If xlink:role="http://docbook.org/xlink/role/olink" -->
-          <!-- and if the href contains # -->
-          <xsl:when test="contains($xhref,'#') and
-	       @xlink:role = $xolink.role">1</xsl:when>
-          <xsl:otherwise>0</xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$is.idref = 1">
-
-          <xsl:variable name="idref">
-            <xsl:call-template name="xpointer.idref">
-              <xsl:with-param name="xpointer" select="$xhref"/>
-            </xsl:call-template>
-          </xsl:variable>
-
-          <xsl:variable name="targets" select="key('id',$idref)"/>
-          <xsl:variable name="target" select="$targets[1]"/>
-
-          <xsl:call-template name="check.id.unique">
-            <xsl:with-param name="linkend" select="$idref"/>
-          </xsl:call-template>
-
-          <xsl:choose>
-            <xsl:when test="count($target) = 0">
-              <xsl:message>
-                <xsl:text>XLink to nonexistent id: </xsl:text>
-                <xsl:value-of select="$idref"/>
-              </xsl:message>
-              <xsl:copy-of select="$content"/>
-            </xsl:when>
-
-            <xsl:otherwise>
-              <fo:basic-link internal-destination="{$idref}">
-                <xsl:copy-of select="$content"/>
-              </fo:basic-link>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-
-        <xsl:when test="$is.olink = 1">
-	  <xsl:call-template name="olink">
-	    <xsl:with-param name="content" select="$content"/>
-	  </xsl:call-template>
-        </xsl:when>
-
-        <!-- otherwise it's a URI -->
-        <xsl:otherwise>
-          <fo:basic-link external-destination="url({$xhref})">
-            <xsl:copy-of select="$content"/>
-          </fo:basic-link>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="$linkend">
-      <xsl:variable name="targets" select="key('id',$linkend)"/>
-      <xsl:variable name="target" select="$targets[1]"/>
-
-      <xsl:call-template name="check.id.unique">
-        <xsl:with-param name="linkend" select="$linkend"/>
-      </xsl:call-template>
-
-      <xsl:choose>
-        <xsl:when test="count($target) = 0">
-          <xsl:message>
-            <xsl:text>XLink to nonexistent id: </xsl:text>
-            <xsl:value-of select="$linkend"/>
-          </xsl:message>
-          <xsl:copy-of select="$content"/>
-        </xsl:when>
-
-        <xsl:otherwise>
-          <fo:basic-link internal-destination="{$linkend}">
-            <xsl:copy-of select="$content"/>
-          </fo:basic-link>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:copy-of select="$content"/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="inline.charseq">
-  <xsl:param name="content">
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="@dir">
-      <fo:inline>
-        <xsl:attribute name="direction">
-          <xsl:choose>
-            <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when>
-            <xsl:otherwise>rtl</xsl:otherwise>
-          </xsl:choose>
-        </xsl:attribute>
-        <xsl:copy-of select="$content"/>
-      </fo:inline>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$content"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="inline.monoseq">
-  <xsl:param name="content">
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-
-  <fo:inline xsl:use-attribute-sets="monospace.properties">
-    <xsl:if test="@dir">
-      <xsl:attribute name="direction">
-        <xsl:choose>
-          <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when>
-          <xsl:otherwise>rtl</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:copy-of select="$content"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template name="inline.boldseq">
-  <xsl:param name="content">
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-
-  <fo:inline font-weight="bold">
-    <xsl:if test="@dir">
-      <xsl:attribute name="direction">
-        <xsl:choose>
-          <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when>
-          <xsl:otherwise>rtl</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:copy-of select="$content"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template name="inline.italicseq">
-  <xsl:param name="content">
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-
-  <fo:inline font-style="italic">
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="@dir">
-      <xsl:attribute name="direction">
-        <xsl:choose>
-          <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when>
-          <xsl:otherwise>rtl</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:copy-of select="$content"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template name="inline.boldmonoseq">
-  <xsl:param name="content">
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-
-  <fo:inline font-weight="bold" xsl:use-attribute-sets="monospace.properties">
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="@dir">
-      <xsl:attribute name="direction">
-        <xsl:choose>
-          <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when>
-          <xsl:otherwise>rtl</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:copy-of select="$content"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template name="inline.italicmonoseq">
-  <xsl:param name="content">
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-
-  <fo:inline font-style="italic" xsl:use-attribute-sets="monospace.properties">
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="@dir">
-      <xsl:attribute name="direction">
-        <xsl:choose>
-          <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when>
-          <xsl:otherwise>rtl</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:copy-of select="$content"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template name="inline.superscriptseq">
-  <xsl:param name="content">
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-
-  <fo:inline xsl:use-attribute-sets="superscript.properties">
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="@dir">
-      <xsl:attribute name="direction">
-        <xsl:choose>
-          <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when>
-          <xsl:otherwise>rtl</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:choose>
-      <xsl:when test="$fop.extensions != 0">
-        <xsl:attribute name="vertical-align">super</xsl:attribute>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:attribute name="baseline-shift">super</xsl:attribute>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:copy-of select="$content"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template name="inline.subscriptseq">
-  <xsl:param name="content">
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-
-  <fo:inline xsl:use-attribute-sets="subscript.properties">
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="@dir">
-      <xsl:attribute name="direction">
-        <xsl:choose>
-          <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when>
-          <xsl:otherwise>rtl</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:choose>
-      <xsl:when test="$fop.extensions != 0">
-        <xsl:attribute name="vertical-align">sub</xsl:attribute>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:attribute name="baseline-shift">sub</xsl:attribute>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:copy-of select="$content"/>
-  </fo:inline>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- some special cases -->
-
-<xsl:template match="author">
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="content">
-      <xsl:call-template name="person.name"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="editor">
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="content">
-      <xsl:call-template name="person.name"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="othercredit">
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="content">
-      <xsl:call-template name="person.name"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="authorinitials">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="accel">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="action">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="application">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="classname">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="exceptionname">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="interfacename">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="methodname">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="command">
-  <xsl:call-template name="inline.boldseq"/>
-</xsl:template>
-
-<xsl:template match="computeroutput">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="constant">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="database">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="date">
-  <!-- should this support locale-specific formatting? how? -->
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="errorcode">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="errorname">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="errortype">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="errortext">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="envar">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="filename">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="function">
-  <xsl:choose>
-    <xsl:when test="$function.parens != '0'
-                    and (parameter or function or replaceable)">
-      <xsl:variable name="nodes" select="text()|*"/>
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:call-template name="simple.xlink">
-            <xsl:with-param name="content">
-              <xsl:apply-templates select="$nodes[1]"/>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:text>(</xsl:text>
-      <xsl:apply-templates select="$nodes[position()>1]"/>
-      <xsl:text>)</xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-     <xsl:call-template name="inline.monoseq"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="function/parameter" priority="2">
-  <xsl:call-template name="inline.italicmonoseq"/>
-  <xsl:if test="following-sibling::*">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="function/replaceable" priority="2">
-  <xsl:call-template name="inline.italicmonoseq"/>
-  <xsl:if test="following-sibling::*">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="guibutton">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="guiicon">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="guilabel">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="guimenu">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="guimenuitem">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="guisubmenu">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="hardware">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="interface">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="interfacedefinition">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="keycap">
-  <xsl:call-template name="inline.boldseq"/>
-</xsl:template>
-
-<xsl:template match="keycode">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="keysym">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="literal">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="code">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="medialabel">
-  <xsl:call-template name="inline.italicseq"/>
-</xsl:template>
-
-<xsl:template match="shortcut">
-  <xsl:call-template name="inline.boldseq"/>
-</xsl:template>
-
-<xsl:template match="mousebutton">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="option">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="package">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="parameter">
-  <xsl:call-template name="inline.italicmonoseq"/>
-</xsl:template>
-
-<xsl:template match="property">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="prompt">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="replaceable">
-  <xsl:call-template name="inline.italicmonoseq"/>
-</xsl:template>
-
-<xsl:template match="returnvalue">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="structfield">
-  <xsl:call-template name="inline.italicmonoseq"/>
-</xsl:template>
-
-<xsl:template match="structname">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="symbol">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="systemitem">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="token">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="type">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="userinput">
-  <xsl:call-template name="inline.boldmonoseq"/>
-</xsl:template>
-
-<xsl:template match="abbrev">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="acronym">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="citerefentry">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="citetitle">
-  <xsl:choose>
-    <xsl:when test="@pubwork = 'article'">
-      <xsl:call-template name="gentext.startquote"/>
-      <xsl:call-template name="inline.charseq"/>
-      <xsl:call-template name="gentext.endquote"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="inline.italicseq"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="emphasis">
-  <xsl:variable name="depth">
-    <xsl:call-template name="dot.count">
-      <xsl:with-param name="string">
-        <xsl:number level="multiple"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="@role='bold' or @role='strong'">
-      <xsl:call-template name="inline.boldseq"/>
-    </xsl:when>
-    <xsl:when test="@role='underline'">
-      <fo:inline text-decoration="underline">
-        <xsl:call-template name="inline.charseq"/>
-      </fo:inline>
-    </xsl:when>
-    <xsl:when test="@role='strikethrough'">
-      <fo:inline text-decoration="line-through">
-        <xsl:call-template name="inline.charseq"/>
-      </fo:inline>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$depth mod 2 = 1">
-          <fo:inline font-style="normal">
-            <xsl:apply-templates/>
-          </fo:inline>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="inline.italicseq"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="foreignphrase">
-  <xsl:call-template name="inline.italicseq"/>
-</xsl:template>
-
-<xsl:template match="markup">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="phrase">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="quote">
-  <xsl:variable name="depth">
-    <xsl:call-template name="dot.count">
-      <xsl:with-param name="string"><xsl:number level="multiple"/></xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:choose>
-    <xsl:when test="$depth mod 2 = 0">
-      <xsl:call-template name="gentext.startquote"/>
-      <xsl:call-template name="inline.charseq"/>
-      <xsl:call-template name="gentext.endquote"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext.nestedstartquote"/>
-      <xsl:call-template name="inline.charseq"/>
-      <xsl:call-template name="gentext.nestedendquote"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="varname">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="wordasword">
-  <xsl:call-template name="inline.italicseq"/>
-</xsl:template>
-
-<xsl:template match="lineannotation">
-  <fo:inline font-style="italic">
-    <xsl:call-template name="inline.charseq"/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="superscript">
-  <xsl:call-template name="inline.superscriptseq"/>
-</xsl:template>
-
-<xsl:template match="subscript">
-  <xsl:call-template name="inline.subscriptseq"/>
-</xsl:template>
-
-<xsl:template match="trademark">
-  <xsl:call-template name="inline.charseq"/>
-  <xsl:choose>
-    <xsl:when test="@class = 'copyright'
-                    or @class = 'registered'">
-      <xsl:call-template name="dingbat">
-        <xsl:with-param name="dingbat" select="@class"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="@class = 'service'">
-      <xsl:call-template name="inline.superscriptseq">
-        <xsl:with-param name="content" select="'SM'"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="dingbat">
-        <xsl:with-param name="dingbat" select="'trademark'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="firstterm">
-  <xsl:call-template name="glossterm">
-    <xsl:with-param name="firstterm" select="1"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="glossterm" name="glossterm">
-  <xsl:param name="firstterm" select="0"/>
-
-  <xsl:choose>
-    <xsl:when test="($firstterm.only.link = 0 or $firstterm = 1) and @linkend">
-      <xsl:variable name="targets" select="key('id',@linkend)"/>
-      <xsl:variable name="target" select="$targets[1]"/>
-
-      <xsl:choose>
-        <xsl:when test="$target">
-          <fo:basic-link internal-destination="{@linkend}" 
-                         xsl:use-attribute-sets="xref.properties">
-            <xsl:call-template name="inline.italicseq"/>
-          </fo:basic-link>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="inline.italicseq"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="not(@linkend)
-                    and ($firstterm.only.link = 0 or $firstterm = 1)
-                    and ($glossterm.auto.link != 0)
-                    and $glossary.collection != ''">
-      <xsl:variable name="term">
-        <xsl:choose>
-          <xsl:when test="@baseform"><xsl:value-of select="@baseform"/></xsl:when>
-          <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-      <xsl:variable name="cterm"
-           select="(document($glossary.collection,.)//glossentry[glossterm=$term])[1]"/>
-
-      <xsl:choose>
-        <xsl:when test="not($cterm)">
-          <xsl:message>
-            <xsl:text>There's no entry for </xsl:text>
-            <xsl:value-of select="$term"/>
-            <xsl:text> in </xsl:text>
-            <xsl:value-of select="$glossary.collection"/>
-          </xsl:message>
-          <xsl:call-template name="inline.italicseq"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:variable name="id">
-            <xsl:call-template name="object.id">
-              <xsl:with-param name="object" select="$cterm"/>
-            </xsl:call-template>
-          </xsl:variable>
-          <fo:basic-link internal-destination="{$id}"
-                         xsl:use-attribute-sets="xref.properties">
-            <xsl:call-template name="inline.italicseq"/>
-          </fo:basic-link>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="not(@linkend)
-                    and ($firstterm.only.link = 0 or $firstterm = 1)
-                    and $glossterm.auto.link != 0">
-      <xsl:variable name="term">
-        <xsl:choose>
-          <xsl:when test="@baseform">
-            <xsl:value-of select="@baseform"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="."/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="targets"
-                    select="//glossentry[glossterm=$term or glossterm/@baseform=$term]"/>
-
-      <xsl:variable name="target" select="$targets[1]"/>
-
-      <xsl:choose>
-        <xsl:when test="count($targets)=0">
-          <xsl:message>
-            <xsl:text>Error: no glossentry for glossterm: </xsl:text>
-            <xsl:value-of select="."/>
-            <xsl:text>.</xsl:text>
-          </xsl:message>
-          <xsl:call-template name="inline.italicseq"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:variable name="termid">
-            <xsl:call-template name="object.id">
-              <xsl:with-param name="object" select="$target"/>
-            </xsl:call-template>
-          </xsl:variable>
-
-          <fo:basic-link internal-destination="{$termid}"
-                         xsl:use-attribute-sets="xref.properties">
-            <xsl:call-template name="inline.charseq"/>
-          </fo:basic-link>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="inline.italicseq"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="termdef">
-  <fo:inline>
-    <xsl:call-template name="gentext.template">
-      <xsl:with-param name="context" select="'termdef'"/>
-      <xsl:with-param name="name" select="'prefix'"/>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-    <xsl:call-template name="gentext.template">
-      <xsl:with-param name="context" select="'termdef'"/>
-      <xsl:with-param name="name" select="'suffix'"/>
-    </xsl:call-template>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="sgmltag|tag">
-  <xsl:variable name="class">
-    <xsl:choose>
-      <xsl:when test="@class">
-        <xsl:value-of select="@class"/>
-      </xsl:when>
-      <xsl:otherwise>element</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$class='attribute'">
-      <xsl:call-template name="inline.monoseq"/>
-    </xsl:when>
-    <xsl:when test="$class='attvalue'">
-      <xsl:call-template name="inline.monoseq"/>
-    </xsl:when>
-    <xsl:when test="$class='element'">
-      <xsl:call-template name="inline.monoseq"/>
-    </xsl:when>
-    <xsl:when test="$class='endtag'">
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:text>&lt;/</xsl:text>
-          <xsl:apply-templates/>
-          <xsl:text>&gt;</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$class='genentity'">
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:text>&amp;</xsl:text>
-          <xsl:apply-templates/>
-          <xsl:text>;</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$class='numcharref'">
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:text>&amp;#</xsl:text>
-          <xsl:apply-templates/>
-          <xsl:text>;</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$class='paramentity'">
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:text>%</xsl:text>
-          <xsl:apply-templates/>
-          <xsl:text>;</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$class='pi'">
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:text>&lt;?</xsl:text>
-          <xsl:apply-templates/>
-          <xsl:text>&gt;</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$class='xmlpi'">
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:text>&lt;?</xsl:text>
-          <xsl:apply-templates/>
-          <xsl:text>?&gt;</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$class='starttag'">
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:text>&lt;</xsl:text>
-          <xsl:apply-templates/>
-          <xsl:text>&gt;</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$class='emptytag'">
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:text>&lt;</xsl:text>
-          <xsl:apply-templates/>
-          <xsl:text>/&gt;</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$class='sgmlcomment' or $class='comment'">
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:text>&lt;!--</xsl:text>
-          <xsl:apply-templates/>
-          <xsl:text>--&gt;</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="inline.charseq"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="email">
-  <xsl:call-template name="inline.monoseq">
-    <xsl:with-param name="content">
-      <fo:inline keep-together.within-line="always" hyphenate="false">
-        <xsl:if test="not($email.delimiters.enabled = 0)">
-          <xsl:text>&lt;</xsl:text>
-        </xsl:if>
-        <xsl:apply-templates/>
-        <xsl:if test="not($email.delimiters.enabled = 0)">
-          <xsl:text>&gt;</xsl:text>
-        </xsl:if>
-      </fo:inline>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="keycombo">
-  <xsl:variable name="action" select="@action"/>
-  <xsl:variable name="joinchar">
-    <xsl:choose>
-      <xsl:when test="$action='seq'"><xsl:text> </xsl:text></xsl:when>
-      <xsl:when test="$action='simul'">+</xsl:when>
-      <xsl:when test="$action='press'">-</xsl:when>
-      <xsl:when test="$action='click'">-</xsl:when>
-      <xsl:when test="$action='double-click'">-</xsl:when>
-      <xsl:when test="$action='other'"></xsl:when>
-      <xsl:otherwise>+</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:for-each select="*">
-    <xsl:if test="position()>1"><xsl:value-of select="$joinchar"/></xsl:if>
-    <xsl:apply-templates select="."/>
-  </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="uri">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="menuchoice">
-  <xsl:variable name="shortcut" select="./shortcut"/>
-  <xsl:call-template name="process.menuchoice"/>
-  <xsl:if test="$shortcut">
-    <xsl:text> (</xsl:text>
-    <xsl:apply-templates select="$shortcut"/>
-    <xsl:text>)</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="process.menuchoice">
-  <xsl:param name="nodelist" select="guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu|interface"/><!-- not(shortcut) -->
-  <xsl:param name="count" select="1"/>
-
-  <xsl:variable name="mm.separator">
-    <xsl:choose>
-      <xsl:when test="($fop.extensions != 0 or $fop1.extensions != 0 ) and
-                contains($menuchoice.menu.separator, '&#x2192;')">
-        <fo:inline font-family="Symbol">
-          <xsl:copy-of select="$menuchoice.menu.separator"/>
-        </fo:inline>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:copy-of select="$menuchoice.menu.separator"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$count>count($nodelist)"></xsl:when>
-    <xsl:when test="$count=1">
-      <xsl:apply-templates select="$nodelist[$count=position()]"/>
-      <xsl:call-template name="process.menuchoice">
-        <xsl:with-param name="nodelist" select="$nodelist"/>
-        <xsl:with-param name="count" select="$count+1"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="node" select="$nodelist[$count=position()]"/>
-      <xsl:choose>
-        <xsl:when test="local-name($node)='guimenuitem'
-                        or local-name($node)='guisubmenu'">
-          <xsl:copy-of select="$mm.separator"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:copy-of select="$menuchoice.separator"/>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:apply-templates select="$node"/>
-      <xsl:call-template name="process.menuchoice">
-        <xsl:with-param name="nodelist" select="$nodelist"/>
-        <xsl:with-param name="count" select="$count+1"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="optional">
-  <xsl:value-of select="$arg.choice.opt.open.str"/>
-  <xsl:call-template name="inline.charseq"/>
-  <xsl:value-of select="$arg.choice.opt.close.str"/>
-</xsl:template>
-
-<xsl:template match="citation">
-  <!-- todo: integrate with bibliography collection -->
-  <xsl:variable name="targets" select="(//biblioentry | //bibliomixed)[abbrev = string(current())]"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:choose>
-    <!-- try automatic linking based on match to abbrev -->
-    <xsl:when test="$target and not(xref) and not(link)">
-
-      <xsl:text>[</xsl:text>
-      <fo:basic-link>
-        <xsl:attribute name="internal-destination">
-          <xsl:call-template name="object.id">
-            <xsl:with-param name="object" select="$target"/>
-          </xsl:call-template>
-        </xsl:attribute>
-
-	<xsl:choose>
-	  <xsl:when test="$bibliography.numbered != 0">
-	    <xsl:apply-templates select="$target" mode="citation"/>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:call-template name="inline.charseq"/>
-	  </xsl:otherwise>
-	</xsl:choose>
-     
-      </fo:basic-link>
-      <xsl:text>]</xsl:text>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:text>[</xsl:text>
-      <xsl:call-template name="inline.charseq"/>
-      <xsl:text>]</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="biblioentry|bibliomixed" mode="citation">
-  <xsl:number from="bibliography" count="biblioentry|bibliomixed"
-	      level="any" format="1"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="comment[&comment.block.parents;]|remark[&comment.block.parents;]">
-  <xsl:if test="$show.comments != 0">
-    <fo:block font-style="italic">
-      <xsl:call-template name="inline.charseq"/>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="comment|remark">
-  <xsl:if test="$show.comments != 0">
-    <fo:inline font-style="italic">
-      <xsl:call-template name="inline.charseq"/>
-    </fo:inline>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="productname">
-  <xsl:call-template name="inline.charseq"/>
-  <xsl:if test="@class">
-    <xsl:call-template name="dingbat">
-      <xsl:with-param name="dingbat" select="@class"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="productnumber">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="pob|street|city|state|postcode|country|otheraddr">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="phone|fax">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<!-- in Addresses, for example -->
-<xsl:template match="honorific|firstname|surname|lineage|othername">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="person">
-  <xsl:apply-templates select="personname"/>
-</xsl:template>
-
-<xsl:template match="personname">
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="content">
-      <xsl:call-template name="person.name"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="jobtitle">
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="content">
-      <xsl:apply-templates/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="org">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="orgname">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="orgdiv">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="affiliation">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="beginpage">
-  <!-- does nothing; this *is not* markup to force a page break. -->
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/keywords.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/keywords.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,21 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template match="keywordset"></xsl:template>
-<xsl:template match="subjectset"></xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/lists.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/lists.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1287 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="itemizedlist">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="pi-label-width">
-    <xsl:call-template name="pi.dbfo_label-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="label-width">
-    <xsl:choose>
-      <xsl:when test="$pi-label-width = ''">
-	<xsl:value-of select="$itemizedlist.label.width"/>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:value-of select="$pi-label-width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="title">
-    <xsl:apply-templates select="title" mode="list.title.mode"/>
-  </xsl:if>
-
-  <!-- Preserve order of PIs and comments -->
-  <xsl:apply-templates 
-      select="*[not(self::listitem
-                or self::title
-                or self::titleabbrev)]
-              |comment()[not(preceding-sibling::listitem)]
-              |processing-instruction()[not(preceding-sibling::listitem)]"/>
-
-  <xsl:variable name="content">
-    <xsl:apply-templates 
-          select="listitem
-                  |comment()[preceding-sibling::listitem]
-                  |processing-instruction()[preceding-sibling::listitem]"/>
-  </xsl:variable>
-
-  <!-- nested lists don't add extra list-block spacing -->
-  <xsl:choose>
-    <xsl:when test="ancestor::listitem">
-      <fo:list-block id="{$id}" xsl:use-attribute-sets="itemizedlist.properties">
-	<xsl:attribute name="provisional-distance-between-starts">
-	  <xsl:value-of select="$label-width"/>
-	</xsl:attribute>
-        <xsl:copy-of select="$content"/>
-      </fo:list-block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:list-block id="{$id}" xsl:use-attribute-sets="list.block.spacing itemizedlist.properties">
-	<xsl:attribute name="provisional-distance-between-starts">
-	  <xsl:value-of select="$label-width"/>
-	</xsl:attribute>
-	<xsl:copy-of select="$content"/>
-      </fo:list-block>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template match="itemizedlist/title|orderedlist/title">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="variablelist/title" mode="vl.as.list">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="variablelist/title" mode="vl.as.blocks">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="itemizedlist/titleabbrev|orderedlist/titleabbrev">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="procedure/titleabbrev">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="variablelist/titleabbrev" mode="vl.as.list">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="variablelist/titleabbrev" mode="vl.as.blocks">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="itemizedlist/listitem">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-
-  <xsl:variable name="item.contents">
-    <fo:list-item-label end-indent="label-end()" xsl:use-attribute-sets="itemizedlist.label.properties">
-      <fo:block>
-        <xsl:call-template name="itemizedlist.label.markup">
-          <xsl:with-param name="itemsymbol">
-            <xsl:call-template name="list.itemsymbol">
-              <xsl:with-param name="node" select="parent::itemizedlist"/>
-            </xsl:call-template>
-          </xsl:with-param>
-        </xsl:call-template>
-      </fo:block>
-    </fo:list-item-label>
-    <fo:list-item-body start-indent="body-start()">
-      <xsl:choose>
-        <!-- * work around broken passivetex list-item-body rendering -->
-        <xsl:when test="$passivetex.extensions = '1'">
-          <xsl:apply-templates/>
-        </xsl:when>
-        <xsl:otherwise>
-          <fo:block>
-            <xsl:apply-templates/>
-          </fo:block>
-        </xsl:otherwise>
-      </xsl:choose>
-    </fo:list-item-body>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="parent::*/@spacing = 'compact'">
-      <fo:list-item id="{$id}" xsl:use-attribute-sets="compact.list.item.spacing">
-        <xsl:copy-of select="$item.contents"/>
-      </fo:list-item>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
-        <xsl:copy-of select="$item.contents"/>
-      </fo:list-item>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="itemizedlist.label.markup">
-  <xsl:param name="itemsymbol" select="'disc'"/>
-
-  <xsl:choose>
-    <xsl:when test="$itemsymbol='none'"></xsl:when>
-    <xsl:when test="$itemsymbol='disc'">&#x2022;</xsl:when>
-    <xsl:when test="$itemsymbol='bullet'">&#x2022;</xsl:when>
-    <xsl:when test="$itemsymbol='endash'">&#x2013;</xsl:when>
-    <xsl:when test="$itemsymbol='emdash'">&#x2014;</xsl:when>
-    <!-- Some of these may work in your XSL-FO processor and fonts -->
-    <!--
-    <xsl:when test="$itemsymbol='square'">&#x25A0;</xsl:when>
-    <xsl:when test="$itemsymbol='box'">&#x25A0;</xsl:when>
-    <xsl:when test="$itemsymbol='smallblacksquare'">&#x25AA;</xsl:when>
-    <xsl:when test="$itemsymbol='circle'">&#x25CB;</xsl:when>
-    <xsl:when test="$itemsymbol='opencircle'">&#x25CB;</xsl:when>
-    <xsl:when test="$itemsymbol='whitesquare'">&#x25A1;</xsl:when>
-    <xsl:when test="$itemsymbol='smallwhitesquare'">&#x25AB;</xsl:when>
-    <xsl:when test="$itemsymbol='round'">&#x25CF;</xsl:when>
-    <xsl:when test="$itemsymbol='blackcircle'">&#x25CF;</xsl:when>
-    <xsl:when test="$itemsymbol='whitebullet'">&#x25E6;</xsl:when>
-    <xsl:when test="$itemsymbol='triangle'">&#x2023;</xsl:when>
-    <xsl:when test="$itemsymbol='point'">&#x203A;</xsl:when>
-    <xsl:when test="$itemsymbol='hand'"><fo:inline 
-                         font-family="Wingdings 2">A</fo:inline></xsl:when>
-    -->
-    <xsl:otherwise>&#x2022;</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="orderedlist">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="pi-label-width">
-    <xsl:call-template name="pi.dbfo_label-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="label-width">
-    <xsl:choose>
-      <xsl:when test="$pi-label-width = ''">
-	<xsl:value-of select="$orderedlist.label.width"/>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:value-of select="$pi-label-width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="title">
-    <xsl:apply-templates select="title" mode="list.title.mode"/>
-  </xsl:if>
-
-  <!-- Preserve order of PIs and comments -->
-  <xsl:apply-templates 
-      select="*[not(self::listitem
-                or self::title
-                or self::titleabbrev)]
-              |comment()[not(preceding-sibling::listitem)]
-              |processing-instruction()[not(preceding-sibling::listitem)]"/>
-
-  <xsl:variable name="content">
-    <xsl:apply-templates 
-          select="listitem
-                  |comment()[preceding-sibling::listitem]
-                  |processing-instruction()[preceding-sibling::listitem]"/>
-  </xsl:variable>
-
-  <!-- nested lists don't add extra list-block spacing -->
-  <xsl:choose>
-    <xsl:when test="ancestor::listitem">
-      <fo:list-block id="{$id}" xsl:use-attribute-sets="orderedlist.properties">
-	<xsl:attribute name="provisional-distance-between-starts">
-	  <xsl:value-of select="$label-width"/>
-	</xsl:attribute>
-        <xsl:copy-of select="$content"/>
-      </fo:list-block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:list-block id="{$id}" xsl:use-attribute-sets="list.block.spacing orderedlist.properties">
-	<xsl:attribute name="provisional-distance-between-starts">
-	  <xsl:value-of select="$label-width"/>
-	</xsl:attribute>
-        <xsl:copy-of select="$content"/>
-      </fo:list-block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="orderedlist/listitem" mode="item-number">
-  <xsl:variable name="numeration">
-    <xsl:call-template name="list.numeration">
-      <xsl:with-param name="node" select="parent::orderedlist"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="type">
-    <xsl:choose>
-      <xsl:when test="$numeration='arabic'">1.</xsl:when>
-      <xsl:when test="$numeration='loweralpha'">a.</xsl:when>
-      <xsl:when test="$numeration='lowerroman'">i.</xsl:when>
-      <xsl:when test="$numeration='upperalpha'">A.</xsl:when>
-      <xsl:when test="$numeration='upperroman'">I.</xsl:when>
-      <!-- What!? This should never happen -->
-      <xsl:otherwise>
-        <xsl:message>
-          <xsl:text>Unexpected numeration: </xsl:text>
-          <xsl:value-of select="$numeration"/>
-        </xsl:message>
-        <xsl:value-of select="1."/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="item-number">
-    <xsl:call-template name="orderedlist-item-number"/>
-  </xsl:variable>
-
-  <xsl:if test="parent::orderedlist/@inheritnum='inherit'
-                and ancestor::listitem[parent::orderedlist]">
-    <xsl:apply-templates select="ancestor::listitem[parent::orderedlist][1]"
-                         mode="item-number"/>
-  </xsl:if>
-
-  <xsl:number value="$item-number" format="{$type}"/>
-</xsl:template>
-
-<xsl:template match="orderedlist/listitem">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-
-  <xsl:variable name="item.contents">
-    <fo:list-item-label end-indent="label-end()" xsl:use-attribute-sets="orderedlist.label.properties">
-      <fo:block>
-        <xsl:apply-templates select="." mode="item-number"/>
-      </fo:block>
-    </fo:list-item-label>
-    <fo:list-item-body start-indent="body-start()">
-      <fo:block>
-        <xsl:apply-templates/>
-      </fo:block>
-    </fo:list-item-body>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="parent::*/@spacing = 'compact'">
-      <fo:list-item id="{$id}" xsl:use-attribute-sets="compact.list.item.spacing">
-        <xsl:copy-of select="$item.contents"/>
-      </fo:list-item>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
-        <xsl:copy-of select="$item.contents"/>
-      </fo:list-item>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="listitem/*[1][local-name()='para' or 
-                                   local-name()='simpara' or 
-                                   local-name()='formalpara']
-                     |glossdef/*[1][local-name()='para' or 
-                                   local-name()='simpara' or 
-                                   local-name()='formalpara']
-                     |step/*[1][local-name()='para' or 
-                                   local-name()='simpara' or 
-                                   local-name()='formalpara']
-                     |callout/*[1][local-name()='para' or 
-                                   local-name()='simpara' or 
-                                   local-name()='formalpara']"
-              priority="2">
-  <fo:block>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="variablelist">
-  <xsl:variable name="presentation">
-    <xsl:call-template name="pi.dbfo_list-presentation"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$presentation = 'list'">
-      <xsl:apply-templates select="." mode="vl.as.list"/>
-    </xsl:when>
-    <xsl:when test="$presentation = 'blocks'">
-      <xsl:apply-templates select="." mode="vl.as.blocks"/>
-    </xsl:when>
-    <xsl:when test="$variablelist.as.blocks != 0">
-      <xsl:apply-templates select="." mode="vl.as.blocks"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="." mode="vl.as.list"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="variablelist" mode="vl.as.list">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="term-width">
-    <xsl:call-template name="pi.dbfo_term-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="termlength">
-    <xsl:choose>
-      <xsl:when test="$term-width != ''">
-        <xsl:value-of select="$term-width"/>
-      </xsl:when>
-      <xsl:when test="@termlength">
-        <xsl:variable name="termlength.is.number">
-          <xsl:value-of select="@termlength + 0"/>
-        </xsl:variable>
-        <xsl:choose>
-          <xsl:when test="string($termlength.is.number) = 'NaN'">
-            <!-- if the term length isn't just a number, assume it's a measurement -->
-            <xsl:value-of select="@termlength"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="@termlength"/>
-            <xsl:choose>
-              <!-- workaround for passivetex lack of support for non-constant expressions -->
-              <xsl:when test="$passivetex.extensions != 0">
-                <xsl:text>em</xsl:text>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:text>em * 0.60</xsl:text>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="longest.term">
-          <xsl:with-param name="terms" select="varlistentry/term"/>
-          <xsl:with-param name="maxlength" select="$variablelist.max.termlength"/>
-        </xsl:call-template>
-        <xsl:choose>
-          <!-- workaround for passivetex lack of support for non-constant expressions -->
-          <xsl:when test="$passivetex.extensions != 0">
-            <xsl:text>em</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:text>em * 0.60</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-<!--
-  <xsl:message>
-    <xsl:text>term width: </xsl:text>
-    <xsl:value-of select="$termlength"/>
-  </xsl:message>
--->
-
-  <xsl:variable name="label-separation">1em</xsl:variable>
-  <xsl:variable name="distance-between-starts">
-    <xsl:choose>
-      <!-- workaround for passivetex lack of support for non-constant expressions -->
-      <xsl:when test="$passivetex.extensions != 0">
-        <xsl:value-of select="$termlength"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$termlength"/>
-        <xsl:text>+</xsl:text>
-        <xsl:value-of select="$label-separation"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="title">
-    <xsl:apply-templates select="title" mode="list.title.mode"/>
-  </xsl:if>
-
-  <!-- Preserve order of PIs and comments -->
-  <xsl:apply-templates 
-    select="*[not(self::varlistentry
-              or self::title
-              or self::titleabbrev)]
-            |comment()[not(preceding-sibling::varlistentry)]
-            |processing-instruction()[not(preceding-sibling::varlistentry)]"/>
-
-  <xsl:variable name="content">
-    <xsl:apply-templates mode="vl.as.list"
-      select="varlistentry
-              |comment()[preceding-sibling::varlistentry]
-              |processing-instruction()[preceding-sibling::varlistentry]"/>
-  </xsl:variable>
-
-  <!-- nested lists don't add extra list-block spacing -->
-  <xsl:choose>
-    <xsl:when test="ancestor::listitem">
-      <fo:list-block id="{$id}"
-                     provisional-distance-between-starts=
-                        "{$distance-between-starts}"
-                     provisional-label-separation="{$label-separation}">
-        <xsl:copy-of select="$content"/>
-      </fo:list-block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:list-block id="{$id}"
-                     provisional-distance-between-starts=
-                        "{$distance-between-starts}"
-                     provisional-label-separation="{$label-separation}"
-                     xsl:use-attribute-sets="list.block.spacing">
-        <xsl:copy-of select="$content"/>
-      </fo:list-block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="longest.term">
-  <xsl:param name="longest" select="0"/>
-  <xsl:param name="terms" select="."/>
-  <xsl:param name="maxlength" select="-1"/>
-
-  <!-- Process out any indexterms in the term -->
-  <xsl:variable name="term.text">
-    <xsl:apply-templates select="$terms[1]"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$longest &gt; $maxlength and $maxlength &gt; 0">
-      <xsl:value-of select="$maxlength"/>
-    </xsl:when>
-    <xsl:when test="not($terms)">
-      <xsl:value-of select="$longest"/>
-    </xsl:when>
-    <xsl:when test="string-length($term.text) &gt; $longest">
-      <xsl:call-template name="longest.term">
-        <xsl:with-param name="longest" 
-            select="string-length($term.text)"/>
-        <xsl:with-param name="maxlength" select="$maxlength"/>
-        <xsl:with-param name="terms" select="$terms[position() &gt; 1]"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="longest.term">
-        <xsl:with-param name="longest" select="$longest"/>
-        <xsl:with-param name="maxlength" select="$maxlength"/>
-        <xsl:with-param name="terms" select="$terms[position() &gt; 1]"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="varlistentry" mode="vl.as.list">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <xsl:variable name="item.contents">
-    <fo:list-item-label end-indent="label-end()" text-align="start">
-      <fo:block>
-        <xsl:apply-templates select="term"/>
-      </fo:block>
-    </fo:list-item-label>
-    <fo:list-item-body start-indent="body-start()">
-      <fo:block>
-        <xsl:apply-templates select="listitem"/>
-      </fo:block>
-    </fo:list-item-body>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="parent::*/@spacing = 'compact'">
-      <fo:list-item id="{$id}"
-          xsl:use-attribute-sets="compact.list.item.spacing">
-        <xsl:copy-of select="$item.contents"/>
-      </fo:list-item>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
-        <xsl:copy-of select="$item.contents"/>
-      </fo:list-item>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-
-<xsl:template match="variablelist" mode="vl.as.blocks">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <!-- termlength is irrelevant -->
-
-  <xsl:if test="title">
-    <xsl:apply-templates select="title" mode="list.title.mode"/>
-  </xsl:if>
-
-  <!-- Preserve order of PIs and comments -->
-  <xsl:apply-templates 
-    select="*[not(self::varlistentry
-              or self::title
-              or self::titleabbrev)]
-            |comment()[not(preceding-sibling::varlistentry)]
-            |processing-instruction()[not(preceding-sibling::varlistentry)]"/>
-
-  <xsl:variable name="content">
-    <xsl:apply-templates mode="vl.as.blocks"
-      select="varlistentry
-              |comment()[preceding-sibling::varlistentry]
-              |processing-instruction()[preceding-sibling::varlistentry]"/>
-  </xsl:variable>
-
-  <!-- nested lists don't add extra list-block spacing -->
-  <xsl:choose>
-    <xsl:when test="ancestor::listitem">
-      <fo:block id="{$id}">
-        <xsl:copy-of select="$content"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block id="{$id}" xsl:use-attribute-sets="list.block.spacing">
-        <xsl:copy-of select="$content"/>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="varlistentry" mode="vl.as.blocks">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-
-  <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing"  
-      keep-together.within-column="always" 
-      keep-with-next.within-column="always">
-    <xsl:apply-templates select="term"/>
-  </fo:block>
-
-  <fo:block margin-left="0.25in">
-    <xsl:apply-templates select="listitem"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="varlistentry/term">
-  <fo:inline>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </fo:inline>
-  <xsl:choose>
-    <xsl:when test="not(following-sibling::term)"/> <!-- do nothing -->
-    <xsl:otherwise>
-      <!-- * if we have multiple terms in the same varlistentry, generate -->
-      <!-- * a separator (", " by default) and/or an additional line -->
-      <!-- * break after each one except the last -->
-      <fo:inline><xsl:value-of select="$variablelist.term.separator"/></fo:inline>
-      <xsl:if test="not($variablelist.term.break.after = '0')">
-        <fo:block/>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="varlistentry/listitem">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="title" mode="list.title.mode">
-  <xsl:call-template name="formal.object.heading">
-    <xsl:with-param name="object" select=".."/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="simplelist|simplelist[@type='vert']">
-  <!-- with no type specified, the default is 'vert' -->
-
-  <xsl:variable name="explicit.table.width">
-    <xsl:call-template name="dbfo-attribute">
-      <xsl:with-param name="pis"
-		      select="processing-instruction('dbfo')"/>
-      <xsl:with-param name="attribute" select="'list-width'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="table.width">
-    <xsl:choose>
-      <xsl:when test="$explicit.table.width != ''">
-        <xsl:value-of select="$explicit.table.width"/>
-      </xsl:when>
-      <xsl:when test="$default.table.width = ''">
-        <xsl:text>100%</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$default.table.width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <fo:table xsl:use-attribute-sets="normal.para.spacing">
-
-    <xsl:choose>
-      <xsl:when test="$axf.extensions != 0 or $xep.extensions != 0">
-	<xsl:attribute name="table-layout">auto</xsl:attribute>
-        <xsl:if test="$explicit.table.width != ''">
-          <xsl:attribute name="width"><xsl:value-of 
-	  select="$explicit.table.width"/></xsl:attribute>
-        </xsl:if>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:attribute name="table-layout">fixed</xsl:attribute>
-        <xsl:attribute name="width"><xsl:value-of 
-                                      select="$table.width"/></xsl:attribute>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:call-template name="simplelist.table.columns">
-      <xsl:with-param name="cols">
-        <xsl:choose>
-          <xsl:when test="@columns">
-            <xsl:value-of select="@columns"/>
-          </xsl:when>
-          <xsl:otherwise>1</xsl:otherwise>
-        </xsl:choose>
-      </xsl:with-param>
-    </xsl:call-template>
-    <fo:table-body start-indent="0pt" end-indent="0pt">
-      <xsl:call-template name="simplelist.vert">
-        <xsl:with-param name="cols">
-          <xsl:choose>
-            <xsl:when test="@columns">
-              <xsl:value-of select="@columns"/>
-            </xsl:when>
-            <xsl:otherwise>1</xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-      </xsl:call-template>
-    </fo:table-body>
-  </fo:table>
-</xsl:template>
-
-<xsl:template match="simplelist[@type='inline']">
-  <!-- if dbchoice PI exists, use that to determine the choice separator -->
-  <!-- (that is, equivalent of "and" or "or" in current locale), or literal -->
-  <!-- value of "choice" otherwise -->
-  <fo:inline><xsl:variable name="localized-choice-separator">
-    <xsl:choose>
-      <xsl:when test="processing-instruction('dbchoice')">
-        <xsl:call-template name="select.choice.separator"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- empty -->
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:for-each select="member">
-    <xsl:apply-templates/>
-    <xsl:choose>
-      <xsl:when test="position() = last()"/> <!-- do nothing -->
-      <xsl:otherwise>
-	<xsl:text>, </xsl:text>
-	<xsl:if test="position() = last() - 1">
-	  <xsl:if test="$localized-choice-separator != ''">
-	    <xsl:value-of select="$localized-choice-separator"/>
-	    <xsl:text> </xsl:text>
-	  </xsl:if>
-	</xsl:if>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:for-each></fo:inline>
-</xsl:template>
-
-<xsl:template match="simplelist[@type='horiz']">
-
-  <xsl:variable name="explicit.table.width">
-    <xsl:call-template name="pi.dbfo_list-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="table.width">
-    <xsl:choose>
-      <xsl:when test="$explicit.table.width != ''">
-        <xsl:value-of select="$explicit.table.width"/>
-      </xsl:when>
-      <xsl:when test="$default.table.width = ''">
-        <xsl:text>100%</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$default.table.width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <fo:table xsl:use-attribute-sets="normal.para.spacing">
-    <xsl:choose>
-      <xsl:when test="$axf.extensions != 0 or $xep.extensions != 0">
-        <xsl:attribute name="table-layout">auto</xsl:attribute>
-        <xsl:if test="$explicit.table.width != ''">
-          <xsl:attribute name="width"><xsl:value-of 
-                             select="$explicit.table.width"/></xsl:attribute>
-        </xsl:if>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:attribute name="table-layout">fixed</xsl:attribute>
-        <xsl:attribute name="width"><xsl:value-of 
-                                      select="$table.width"/></xsl:attribute>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:call-template name="simplelist.table.columns">
-      <xsl:with-param name="cols">
-        <xsl:choose>
-          <xsl:when test="@columns">
-            <xsl:value-of select="@columns"/>
-          </xsl:when>
-          <xsl:otherwise>1</xsl:otherwise>
-        </xsl:choose>
-      </xsl:with-param>
-    </xsl:call-template>
-    <fo:table-body start-indent="0pt" end-indent="0pt">
-      <xsl:call-template name="simplelist.horiz">
-        <xsl:with-param name="cols">
-          <xsl:choose>
-            <xsl:when test="@columns">
-              <xsl:value-of select="@columns"/>
-            </xsl:when>
-            <xsl:otherwise>1</xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-      </xsl:call-template>
-    </fo:table-body>
-  </fo:table>
-</xsl:template>
-
-<xsl:template name="simplelist.table.columns">
-  <xsl:param name="cols" select="1"/>
-  <xsl:param name="curcol" select="1"/>
-  <fo:table-column column-number="{$curcol}"
-                   column-width="proportional-column-width(1)"/>
-  <xsl:if test="$curcol &lt; $cols">
-    <xsl:call-template name="simplelist.table.columns">
-      <xsl:with-param name="cols" select="$cols"/>
-      <xsl:with-param name="curcol" select="$curcol + 1"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="simplelist.horiz">
-  <xsl:param name="cols">1</xsl:param>
-  <xsl:param name="cell">1</xsl:param>
-  <xsl:param name="members" select="./member"/>
-
-  <xsl:if test="$cell &lt;= count($members)">
-    <fo:table-row>
-      <xsl:call-template name="simplelist.horiz.row">
-        <xsl:with-param name="cols" select="$cols"/>
-        <xsl:with-param name="cell" select="$cell"/>
-        <xsl:with-param name="members" select="$members"/>
-      </xsl:call-template>
-   </fo:table-row>
-    <xsl:call-template name="simplelist.horiz">
-      <xsl:with-param name="cols" select="$cols"/>
-      <xsl:with-param name="cell" select="$cell + $cols"/>
-      <xsl:with-param name="members" select="$members"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="simplelist.horiz.row">
-  <xsl:param name="cols">1</xsl:param>
-  <xsl:param name="cell">1</xsl:param>
-  <xsl:param name="members" select="./member"/>
-  <xsl:param name="curcol">1</xsl:param>
-
-  <xsl:if test="$curcol &lt;= $cols">
-    <fo:table-cell>
-      <fo:block>
-        <xsl:if test="$members[position()=$cell]">
-          <xsl:apply-templates select="$members[position()=$cell]"/>
-        </xsl:if>
-      </fo:block>
-    </fo:table-cell>
-    <xsl:call-template name="simplelist.horiz.row">
-      <xsl:with-param name="cols" select="$cols"/>
-      <xsl:with-param name="cell" select="$cell+1"/>
-      <xsl:with-param name="members" select="$members"/>
-      <xsl:with-param name="curcol" select="$curcol+1"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="simplelist.vert">
-  <xsl:param name="cols">1</xsl:param>
-  <xsl:param name="cell">1</xsl:param>
-  <xsl:param name="members" select="./member"/>
-  <xsl:param name="rows"
-             select="floor((count($members)+$cols - 1) div $cols)"/>
-
-  <xsl:if test="$cell &lt;= $rows">
-    <fo:table-row>
-      <xsl:call-template name="simplelist.vert.row">
-        <xsl:with-param name="cols" select="$cols"/>
-        <xsl:with-param name="rows" select="$rows"/>
-        <xsl:with-param name="cell" select="$cell"/>
-        <xsl:with-param name="members" select="$members"/>
-      </xsl:call-template>
-   </fo:table-row>
-    <xsl:call-template name="simplelist.vert">
-      <xsl:with-param name="cols" select="$cols"/>
-      <xsl:with-param name="cell" select="$cell+1"/>
-      <xsl:with-param name="members" select="$members"/>
-      <xsl:with-param name="rows" select="$rows"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="simplelist.vert.row">
-  <xsl:param name="cols">1</xsl:param>
-  <xsl:param name="rows">1</xsl:param>
-  <xsl:param name="cell">1</xsl:param>
-  <xsl:param name="members" select="./member"/>
-  <xsl:param name="curcol">1</xsl:param>
-
-  <xsl:if test="$curcol &lt;= $cols">
-    <fo:table-cell>
-      <fo:block>
-        <xsl:if test="$members[position()=$cell]">
-          <xsl:apply-templates select="$members[position()=$cell]"/>
-        </xsl:if>
-      </fo:block>
-    </fo:table-cell>
-    <xsl:call-template name="simplelist.vert.row">
-      <xsl:with-param name="cols" select="$cols"/>
-      <xsl:with-param name="rows" select="$rows"/>
-      <xsl:with-param name="cell" select="$cell+$rows"/>
-      <xsl:with-param name="members" select="$members"/>
-      <xsl:with-param name="curcol" select="$curcol+1"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="member">
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="content">
-      <xsl:apply-templates/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="procedure">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="param.placement"
-                select="substring-after(normalize-space($formal.title.placement),
-                                        concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- Preserve order of PIs and comments -->
-  <xsl:variable name="preamble"
-        select="*[not(self::step
-                  or self::title
-                  or self::titleabbrev)]
-                |comment()[not(preceding-sibling::step)]
-                |processing-instruction()[not(preceding-sibling::step)]"/>
-
-  <xsl:variable name="steps" 
-                select="step
-                        |comment()[preceding-sibling::step]
-                        |processing-instruction()[preceding-sibling::step]"/>
-
-  <fo:block id="{$id}" xsl:use-attribute-sets="procedure.properties list.block.spacing">
-    <xsl:if test="./title and $placement = 'before'">
-      <!-- n.b. gentext code tests for $formal.procedures and may make an "informal" -->
-      <!-- heading even though we called formal.object.heading. odd but true. -->
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="$preamble"/>
-
-    <fo:list-block xsl:use-attribute-sets="list.block.spacing"
-                   provisional-distance-between-starts="2em"
-                   provisional-label-separation="0.2em">
-      <xsl:apply-templates select="$steps"/>
-    </fo:list-block>
-
-    <xsl:if test="./title and $placement != 'before'">
-      <!-- n.b. gentext code tests for $formal.procedures and may make an "informal" -->
-      <!-- heading even though we called formal.object.heading. odd but true. -->
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="procedure/title">
-</xsl:template>
-
-<xsl:template match="substeps">
-  <fo:list-block xsl:use-attribute-sets="list.block.spacing"
-                 provisional-distance-between-starts="2em"
-                 provisional-label-separation="0.2em">
-    <xsl:apply-templates/>
-  </fo:list-block>
-</xsl:template>
-
-<xsl:template match="procedure/step|substeps/step">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:list-item xsl:use-attribute-sets="list.item.spacing">
-    <fo:list-item-label end-indent="label-end()">
-      <fo:block id="{$id}">
-        <!-- dwc: fix for one step procedures. Use a bullet if there's no step 2 -->
-        <xsl:choose>
-          <xsl:when test="count(../step) = 1">
-            <xsl:text>&#x2022;</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates select="." mode="number">
-              <xsl:with-param name="recursive" select="0"/>
-            </xsl:apply-templates>.
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:block>
-    </fo:list-item-label>
-    <fo:list-item-body start-indent="body-start()">
-      <fo:block>
-        <xsl:apply-templates/>
-      </fo:block>
-    </fo:list-item-body>
-  </fo:list-item>
-</xsl:template>
-
-<xsl:template match="stepalternatives">
-  <fo:list-block provisional-distance-between-starts="2em"
-                 provisional-label-separation="0.2em">
-    <xsl:apply-templates select="step"/>
-  </fo:list-block>
-</xsl:template>
-
-<xsl:template match="stepalternatives/step">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:list-item xsl:use-attribute-sets="list.item.spacing">
-    <fo:list-item-label end-indent="label-end()">
-      <fo:block id="{$id}">
-        <xsl:text>&#x2022;</xsl:text>
-      </fo:block>
-    </fo:list-item-label>
-    <fo:list-item-body start-indent="body-start()">
-      <fo:block>
-        <xsl:apply-templates/>
-      </fo:block>
-    </fo:list-item-body>
-  </fo:list-item>
-</xsl:template>
-
-<xsl:template match="step/title">
-  <fo:block font-weight="bold"
-            keep-together.within-column="always" 
-            keep-with-next.within-column="always">
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="segmentedlist">
-  <xsl:variable name="presentation">
-    <xsl:call-template name="pi.dbfo_list-presentation"/>
-  </xsl:variable>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$presentation = 'table'">
-      <fo:block id="{$id}">
-        <xsl:apply-templates select="." mode="seglist-table"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="$presentation = 'list'">
-      <fo:block id="{$id}">
-        <xsl:apply-templates/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="$segmentedlist.as.table != 0">
-      <fo:block id="{$id}">
-        <xsl:apply-templates select="." mode="seglist-table"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block id="{$id}">
-        <xsl:apply-templates/>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="segmentedlist/title">
-  <xsl:apply-templates select="." mode="list.title.mode" />
-</xsl:template>
-
-<xsl:template match="segtitle">
-</xsl:template>
-
-<xsl:template match="segtitle" mode="segtitle-in-seg">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="seglistitem">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <fo:block id="{$id}">
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="seg">
-  <xsl:variable name="segnum" select="count(preceding-sibling::seg)+1"/>
-  <xsl:variable name="seglist" select="ancestor::segmentedlist"/>
-  <xsl:variable name="segtitles" select="$seglist/segtitle"/>
-
-  <!--
-     Note: segtitle is only going to be the right thing in a well formed
-     SegmentedList.  If there are too many Segs or too few SegTitles,
-     you'll get something odd...maybe an error
-  -->
-
-  <fo:block>
-    <fo:inline font-weight="bold">
-      <xsl:apply-templates select="$segtitles[$segnum=position()]"
-                           mode="segtitle-in-seg"/>
-      <xsl:text>: </xsl:text>
-    </fo:inline>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="segmentedlist" mode="seglist-table">
-  <xsl:apply-templates select="title" mode="list.title.mode" />
-  <fo:table>
-    <fo:table-column column-number="1" column-width="proportional-column-width(1)"/>
-    <fo:table-column column-number="2" column-width="proportional-column-width(1)"/>
-    <fo:table-header start-indent="0pt" end-indent="0pt">
-      <fo:table-row>
-        <xsl:apply-templates select="segtitle" mode="seglist-table"/>
-      </fo:table-row>
-    </fo:table-header>
-    <fo:table-body start-indent="0pt" end-indent="0pt">
-      <xsl:apply-templates select="seglistitem" mode="seglist-table"/>
-    </fo:table-body>
-  </fo:table>
-</xsl:template>
-
-<xsl:template match="segtitle" mode="seglist-table">
-  <fo:table-cell>
-    <fo:block font-weight="bold">
-      <xsl:apply-templates/>
-    </fo:block>
-  </fo:table-cell>
-</xsl:template>
-
-<xsl:template match="seglistitem" mode="seglist-table">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <fo:table-row id="{$id}">
-    <xsl:apply-templates mode="seglist-table"/>
-  </fo:table-row>
-</xsl:template>
-
-<xsl:template match="seg" mode="seglist-table">
-  <fo:table-cell>
-    <fo:block>
-      <xsl:apply-templates/>
-    </fo:block>
-  </fo:table-cell>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="calloutlist">
-  <xsl:variable name="id">
-  <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}"
-            text-align="{$alignment}">
-    <!-- The above restores alignment altered by image align attribute -->
-    <xsl:if test="title|info/title">
-      <xsl:apply-templates select="(title|info/title)[1]" 
-                           mode="list.title.mode"/>
-    </xsl:if>
-
-    <!-- Preserve order of PIs and comments -->
-    <xsl:apply-templates 
-         select="*[not(self::callout or self::title or self::titleabbrev)]
-                   |comment()[not(preceding-sibling::callout)]
-                   |processing-instruction()[not(preceding-sibling::callout)]"/>
-
-    <fo:list-block space-before.optimum="1em"
-                   space-before.minimum="0.8em"
-                   space-before.maximum="1.2em"
-                   provisional-distance-between-starts="2.2em"
-                   provisional-label-separation="0.2em">
-      <xsl:apply-templates select="callout
-                                |comment()[preceding-sibling::callout]
-                                |processing-instruction()[preceding-sibling::callout]"/>
-    </fo:list-block>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="calloutlist/title">
-</xsl:template>
-
-<xsl:template match="callout">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-  <fo:list-item id="{$id}">
-    <fo:list-item-label end-indent="label-end()">
-      <fo:block>
-        <xsl:call-template name="callout.arearefs">
-          <xsl:with-param name="arearefs" select="@arearefs"/>
-        </xsl:call-template>
-      </fo:block>
-    </fo:list-item-label>
-    <fo:list-item-body start-indent="body-start()">
-      <fo:block>
-        <xsl:apply-templates/>
-      </fo:block>
-    </fo:list-item-body>
-  </fo:list-item>
-</xsl:template>
-
-<xsl:template name="callout.arearefs">
-  <xsl:param name="arearefs"></xsl:param>
-  <xsl:if test="$arearefs!=''">
-    <xsl:choose>
-      <xsl:when test="substring-before($arearefs,' ')=''">
-        <xsl:call-template name="callout.arearef">
-          <xsl:with-param name="arearef" select="$arearefs"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="callout.arearef">
-          <xsl:with-param name="arearef"
-                          select="substring-before($arearefs,' ')"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:call-template name="callout.arearefs">
-      <xsl:with-param name="arearefs"
-                      select="substring-after($arearefs,' ')"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="callout.arearef">
-  <xsl:param name="arearef"></xsl:param>
-  <xsl:variable name="targets" select="key('id',$arearef)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="count($target)=0">
-      <xsl:value-of select="$arearef"/>
-      <xsl:text>: ???</xsl:text>
-    </xsl:when>
-    <xsl:when test="local-name($target)='co'">
-      <xsl:apply-templates select="$target" mode="callout-bug"/>
-    </xsl:when>
-    <xsl:when test="local-name($target)='areaset'">
-      <xsl:call-template name="callout-bug">
-        <xsl:with-param name="conum">
-          <xsl:apply-templates select="$target" mode="conumber"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="local-name($target)='area'">
-      <xsl:choose>
-        <xsl:when test="$target/parent::areaset">
-          <xsl:call-template name="callout-bug">
-            <xsl:with-param name="conum">
-              <xsl:apply-templates select="$target/parent::areaset"
-                                   mode="conumber"/>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="callout-bug">
-            <xsl:with-param name="conum">
-              <xsl:apply-templates select="$target" mode="conumber"/>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>???</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="orderedlist-starting-number">
-  <xsl:param name="list" select="."/>
-  <xsl:variable name="pi-start">
-    <xsl:call-template name="pi.dbfo_start">
-      <xsl:with-param name="node" select="$list"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:call-template name="output-orderedlist-starting-number">
-    <xsl:with-param name="list" select="$list"/>
-    <xsl:with-param name="pi-start" select="$pi-start"/>
-  </xsl:call-template>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/math.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/math.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,128 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:mml="http://www.w3.org/1998/Math/MathML"
-                exclude-result-prefixes="mml"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template match="inlineequation">
-  <xsl:choose>
-    <xsl:when test="$passivetex.extensions != 0 and $tex.math.in.alt != ''">
-      <xsl:apply-templates select="alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']">
-        <xsl:with-param name="output.delims">
-          <xsl:call-template name="tex.math.output.delims"/>
-        </xsl:with-param>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="alt">
-</xsl:template>
-
-<xsl:template match="mathphrase">
-  <fo:inline>
-    <xsl:apply-templates/>
-  </fo:inline>
-</xsl:template>
-
-<!-- "Support" for MathML -->
-
-<xsl:template match="mml:math" xmlns:mml="http://www.w3.org/1998/Math/MathML">
-  <fo:instream-foreign-object>
-    <xsl:copy>
-      <xsl:copy-of select="@*"/>
-      <xsl:apply-templates/>
-    </xsl:copy>
-  </fo:instream-foreign-object>
-</xsl:template>
-
-<xsl:template match="mml:*" xmlns:mml="http://www.w3.org/1998/Math/MathML">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="equation/graphic | informalequation/graphic">
-  <xsl:if test="$passivetex.extensions = 0 or $tex.math.in.alt = ''">
-    <fo:block>
-      <xsl:call-template name="process.image"/>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="inlineequation/alt[@role='tex'] | 
-                     inlineequation/inlinemediaobject/textobject[@role='tex']" priority="1">
-  <xsl:param name="output.delims" select="1"/>
-  <xsl:if test="$passivetex.extensions != 0 and $tex.math.in.alt != ''">
-    <xsl:processing-instruction name="xmltex">
-      <xsl:if test="$output.delims != 0">
-        <xsl:text>$</xsl:text>
-      </xsl:if>
-      <xsl:value-of select="."/>
-      <xsl:if test="$output.delims != 0">
-        <xsl:text>$</xsl:text>
-      </xsl:if>
-    </xsl:processing-instruction>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="equation/alt[@role='tex'] | informalequation/alt[@role='tex'] |
-                     equation/mediaobject/textobject[@role='tex'] |
-                     informalequation/mediaobject/textobject[@role='tex']" priority="1">
-  <xsl:variable name="output.delims">
-    <xsl:call-template name="tex.math.output.delims"/>
-  </xsl:variable>
-  <xsl:if test="$passivetex.extensions != 0 and $tex.math.in.alt != ''">
-    <xsl:processing-instruction name="xmltex">
-      <xsl:if test="$output.delims != 0">
-        <xsl:text>$$</xsl:text>
-      </xsl:if>
-      <xsl:value-of select="."/>
-      <xsl:if test="$output.delims != 0">
-        <xsl:text>$$</xsl:text>
-      </xsl:if>
-    </xsl:processing-instruction>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="alt[@role='tex']">
-  <xsl:if test="$passivetex.extensions != 0 and $tex.math.in.alt != ''">
-    <xsl:message>
-      Your equation is misplaced. It should be in inlineequation, equation or informalequation.
-    </xsl:message>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="tex.math.output.delims">
-  <xsl:variable name="pi.delims">
-    <xsl:call-template name="pi-attribute">
-      <xsl:with-param name="pis" select=".//processing-instruction('dbtex')"/>
-      <xsl:with-param name="attribute" select="'delims'"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="result">
-    <xsl:choose>
-      <xsl:when test="$pi.delims = 'no'">0</xsl:when>
-      <xsl:when test="$pi.delims = '' and $tex.math.delims = 0">0</xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:value-of select="$result"/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/pagesetup.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/pagesetup.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,2314 +1,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the DocBook XSL Stylesheet distribution.
-     See ../README or http://docbook.sf.net/ for copyright
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:param name="body.fontset">
-  <xsl:value-of select="$body.font.family"/>
-  <xsl:if test="$body.font.family != ''
-                and $symbol.font.family  != ''">,</xsl:if>
-    <xsl:value-of select="$symbol.font.family"/>
-</xsl:param>
-
-<xsl:param name="title.fontset">
-  <xsl:value-of select="$title.font.family"/>
-  <xsl:if test="$title.font.family != ''
-                and $symbol.font.family  != ''">,</xsl:if>
-    <xsl:value-of select="$symbol.font.family"/>
-</xsl:param>
-
-<!-- PassiveTeX can't handle the math expression for
-     title.margin.left being negative, so ignore it.
-     margin-left="{$page.margin.outer} - {$title.margin.left}"
--->
-<xsl:param name="margin.left.outer">
-  <xsl:choose>
-    <xsl:when test="$passivetex.extensions != 0">
-      <xsl:value-of select="$page.margin.outer"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$page.margin.outer"/>
-      <xsl:text> - </xsl:text>
-      <xsl:value-of select="$title.margin.left"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-
-<xsl:param name="margin.left.inner">
-  <xsl:choose>
-    <xsl:when test="$passivetex.extensions != 0">
-      <xsl:value-of select="$page.margin.inner"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$page.margin.inner"/>
-      <xsl:text> - </xsl:text>
-      <xsl:value-of select="$title.margin.left"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-
-<xsl:template name="setup.pagemasters">
-  <fo:layout-master-set>
-    <!-- blank pages -->
-    <fo:simple-page-master master-name="blank"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.outer}"
-                           margin-right="{$page.margin.inner}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">blank</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body display-align="center"
-                      margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}">
-        <xsl:if test="$fop.extensions = 0 and $fop1.extensions = 0">
-          <xsl:attribute name="region-name">blank-body</xsl:attribute>
-        </xsl:if>
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-blank"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-blank"
-                       extent="{$region.after.extent}"
-                        display-align="after"/>
-    </fo:simple-page-master>
-
-    <!-- title pages -->
-    <fo:simple-page-master master-name="titlepage-first"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">titlepage-first</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.titlepage}"
-                      column-count="{$column.count.titlepage}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-first"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-first"
-                       extent="{$region.after.extent}"
-                        display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="titlepage-odd"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">titlepage-odd</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.titlepage}"
-                      column-count="{$column.count.titlepage}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-odd"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-odd"
-                       extent="{$region.after.extent}"
-                        display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="titlepage-even"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.outer}"
-                           margin-right="{$page.margin.inner}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">titlepage-even</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.titlepage}"
-                      column-count="{$column.count.titlepage}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-even"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-even"
-                       extent="{$region.after.extent}"
-                        display-align="after"/>
-    </fo:simple-page-master>
-
-    <!-- list-of-title pages -->
-    <fo:simple-page-master master-name="lot-first"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">lot-first</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.lot}"
-                      column-count="{$column.count.lot}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-first"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-first"
-                       extent="{$region.after.extent}"
-                       display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="lot-odd"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">lot-odd</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.lot}"
-                      column-count="{$column.count.lot}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-odd"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-odd"
-                       extent="{$region.after.extent}"
-                        display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="lot-even"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.outer}"
-                           margin-right="{$page.margin.inner}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">lot-even</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.lot}"
-                      column-count="{$column.count.lot}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-even"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-even"
-                       extent="{$region.after.extent}"
-                        display-align="after"/>
-    </fo:simple-page-master>
-
-    <!-- frontmatter pages -->
-    <fo:simple-page-master master-name="front-first"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">front-first</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.front}"
-                      column-count="{$column.count.front}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-first"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-first"
-                       extent="{$region.after.extent}"
-                        display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="front-odd"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">front-odd</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.front}"
-                      column-count="{$column.count.front}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-odd"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-odd"
-                       extent="{$region.after.extent}"
-                        display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="front-even"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.outer}"
-                           margin-right="{$page.margin.inner}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">front-even</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.front}"
-                      column-count="{$column.count.front}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-even"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-even"
-                       extent="{$region.after.extent}"
-                        display-align="after"/>
-    </fo:simple-page-master>
-
-    <!-- body pages -->
-    <fo:simple-page-master master-name="body-first"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">body-first</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.body}"
-                      column-count="{$column.count.body}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-first"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-first"
-                       extent="{$region.after.extent}"
-                       display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="body-odd"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">body-odd</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.body}"
-                      column-count="{$column.count.body}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-odd"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-odd"
-                       extent="{$region.after.extent}"
-                       display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="body-even"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.outer}"
-                           margin-right="{$page.margin.inner}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">body-even</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.body}"
-                      column-count="{$column.count.body}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-even"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-even"
-                       extent="{$region.after.extent}"
-                       display-align="after"/>
-    </fo:simple-page-master>
-
-    <!-- backmatter pages -->
-    <fo:simple-page-master master-name="back-first"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">back-first</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.back}"
-                      column-count="{$column.count.back}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-first"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-first"
-                       extent="{$region.after.extent}"
-                       display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="back-odd"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">back-odd</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.back}"
-                      column-count="{$column.count.back}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-odd"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-odd"
-                       extent="{$region.after.extent}"
-                       display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="back-even"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$margin.left.outer}"
-                           margin-right="{$page.margin.inner}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">back-even</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.back}"
-                      column-count="{$column.count.back}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-even"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-even"
-                       extent="{$region.after.extent}"
-                       display-align="after"/>
-    </fo:simple-page-master>
-
-    <!-- index pages -->
-    <fo:simple-page-master master-name="index-first"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$page.margin.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">index-first</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.index}"
-                      column-count="{$column.count.index}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-first"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-first"
-                       extent="{$region.after.extent}"
-                       display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="index-odd"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$page.margin.inner}"
-                           margin-right="{$page.margin.outer}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">index-odd</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.index}"
-                      column-count="{$column.count.index}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-odd"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-odd"
-                       extent="{$region.after.extent}"
-                       display-align="after"/>
-    </fo:simple-page-master>
-
-    <fo:simple-page-master master-name="index-even"
-                           page-width="{$page.width}"
-                           page-height="{$page.height}"
-                           margin-top="{$page.margin.top}"
-                           margin-bottom="{$page.margin.bottom}"
-                           margin-left="{$page.margin.outer}"
-                           margin-right="{$page.margin.inner}">
-      <xsl:if test="$axf.extensions != 0">
-        <xsl:call-template name="axf-page-master-properties">
-          <xsl:with-param name="page.master">index-even</xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-      <fo:region-body margin-bottom="{$body.margin.bottom}"
-                      margin-top="{$body.margin.top}"
-                      column-gap="{$column.gap.index}"
-                      column-count="{$column.count.index}">
-      </fo:region-body>
-      <fo:region-before region-name="xsl-region-before-even"
-                        extent="{$region.before.extent}"
-                        display-align="before"/>
-      <fo:region-after region-name="xsl-region-after-even"
-                       extent="{$region.after.extent}"
-                       display-align="after"/>
-    </fo:simple-page-master>
-
-    <xsl:if test="$draft.mode != 'no'">
-      <!-- draft blank pages -->
-      <fo:simple-page-master master-name="blank-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.outer}"
-                             margin-right="{$page.margin.inner}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">blank-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-blank"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-blank"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <!-- draft title pages -->
-      <fo:simple-page-master master-name="titlepage-first-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">titlepage-first-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.titlepage}"
-                        column-count="{$column.count.titlepage}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-first"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-first"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="titlepage-odd-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">titlepage-odd-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.titlepage}"
-                        column-count="{$column.count.titlepage}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-odd"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-odd"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="titlepage-even-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.outer}"
-                             margin-right="{$page.margin.inner}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">titlepage-even-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.titlepage}"
-                        column-count="{$column.count.titlepage}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-even"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-even"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <!-- draft list-of-title pages -->
-      <fo:simple-page-master master-name="lot-first-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">lot-first-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.lot}"
-                        column-count="{$column.count.lot}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-first"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-first"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="lot-odd-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">lot-odd-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.lot}"
-                        column-count="{$column.count.lot}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-odd"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-odd"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="lot-even-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.outer}"
-                             margin-right="{$page.margin.inner}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">lot-even-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.lot}"
-                        column-count="{$column.count.lot}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-even"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-even"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <!-- draft frontmatter pages -->
-      <fo:simple-page-master master-name="front-first-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">front-first-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.front}"
-                        column-count="{$column.count.front}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-first"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-first"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="front-odd-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">front-odd-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.front}"
-                        column-count="{$column.count.front}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-odd"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-odd"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="front-even-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.outer}"
-                             margin-right="{$page.margin.inner}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">front-even-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.front}"
-                        column-count="{$column.count.front}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-even"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-even"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <!-- draft body pages -->
-      <fo:simple-page-master master-name="body-first-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">body-first-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.body}"
-                        column-count="{$column.count.body}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-first"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-first"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="body-odd-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">body-odd-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.body}"
-                        column-count="{$column.count.body}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-odd"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-odd"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="body-even-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.outer}"
-                             margin-right="{$page.margin.inner}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">body-even-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.body}"
-                        column-count="{$column.count.body}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-even"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-even"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <!-- draft backmatter pages -->
-      <fo:simple-page-master master-name="back-first-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">back-first-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.back}"
-                        column-count="{$column.count.back}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-first"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-first"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="back-odd-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">back-odd-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.back}"
-                        column-count="{$column.count.back}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-odd"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-odd"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="back-even-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$margin.left.outer}"
-                             margin-right="{$page.margin.inner}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">back-even-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.back}"
-                        column-count="{$column.count.back}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-even"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-even"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <!-- draft index pages -->
-      <fo:simple-page-master master-name="index-first-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$page.margin.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">index-first-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.index}"
-                        column-count="{$column.count.index}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-first"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-first"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="index-odd-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-left="{$page.margin.inner}"
-                             margin-right="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">index-odd-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.index}"
-                        column-count="{$column.count.index}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-odd"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-odd"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-
-      <fo:simple-page-master master-name="index-even-draft"
-                             page-width="{$page.width}"
-                             page-height="{$page.height}"
-                             margin-top="{$page.margin.top}"
-                             margin-bottom="{$page.margin.bottom}"
-                             margin-right="{$page.margin.inner}"
-                             margin-left="{$page.margin.outer}">
-        <xsl:if test="$axf.extensions != 0">
-          <xsl:call-template name="axf-page-master-properties">
-            <xsl:with-param name="page.master">index-even-draft</xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:region-body margin-bottom="{$body.margin.bottom}"
-                        margin-top="{$body.margin.top}"
-                        column-gap="{$column.gap.index}"
-                        column-count="{$column.count.index}">
-          <xsl:if test="$draft.watermark.image != ''">
-            <xsl:attribute name="background-image">
-              <xsl:call-template name="fo-external-image">
-                <xsl:with-param name="filename" select="$draft.watermark.image"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:attribute name="background-attachment">fixed</xsl:attribute>
-            <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
-            <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
-            <xsl:attribute name="background-position-vertical">center</xsl:attribute>
-          </xsl:if>
-        </fo:region-body>
-        <fo:region-before region-name="xsl-region-before-even"
-                          extent="{$region.before.extent}"
-                          display-align="before"/>
-        <fo:region-after region-name="xsl-region-after-even"
-                         extent="{$region.after.extent}"
-                         display-align="after"/>
-      </fo:simple-page-master>
-    </xsl:if>
-
-    <!-- setup for title page(s) -->
-    <fo:page-sequence-master master-name="titlepage">
-      <fo:repeatable-page-master-alternatives>
-        <fo:conditional-page-master-reference master-reference="blank"
-                                              blank-or-not-blank="blank"/>
-        <fo:conditional-page-master-reference master-reference="titlepage-first"
-                                              page-position="first"/>
-        <fo:conditional-page-master-reference master-reference="titlepage-odd"
-                                              odd-or-even="odd"/>
-        <fo:conditional-page-master-reference 
-                                              odd-or-even="even">
-          <xsl:attribute name="master-reference">
-            <xsl:choose>
-              <xsl:when test="$double.sided != 0">titlepage-even</xsl:when>
-              <xsl:otherwise>titlepage-odd</xsl:otherwise>
-            </xsl:choose>
-          </xsl:attribute>
-        </fo:conditional-page-master-reference>
-      </fo:repeatable-page-master-alternatives>
-    </fo:page-sequence-master>
-
-    <!-- setup for lots -->
-    <fo:page-sequence-master master-name="lot">
-      <fo:repeatable-page-master-alternatives>
-        <fo:conditional-page-master-reference master-reference="blank"
-                                              blank-or-not-blank="blank"/>
-        <fo:conditional-page-master-reference master-reference="lot-first"
-                                              page-position="first"/>
-        <fo:conditional-page-master-reference master-reference="lot-odd"
-                                              odd-or-even="odd"/>
-        <fo:conditional-page-master-reference 
-                                              odd-or-even="even">
-          <xsl:attribute name="master-reference">
-            <xsl:choose>
-              <xsl:when test="$double.sided != 0">lot-even</xsl:when>
-              <xsl:otherwise>lot-odd</xsl:otherwise>
-            </xsl:choose>
-          </xsl:attribute>
-        </fo:conditional-page-master-reference>
-      </fo:repeatable-page-master-alternatives>
-    </fo:page-sequence-master>
-
-    <!-- setup front matter -->
-    <fo:page-sequence-master master-name="front">
-      <fo:repeatable-page-master-alternatives>
-        <fo:conditional-page-master-reference master-reference="blank"
-                                              blank-or-not-blank="blank"/>
-        <fo:conditional-page-master-reference master-reference="front-first"
-                                              page-position="first"/>
-        <fo:conditional-page-master-reference master-reference="front-odd"
-                                              odd-or-even="odd"/>
-        <fo:conditional-page-master-reference 
-                                              odd-or-even="even">
-          <xsl:attribute name="master-reference">
-            <xsl:choose>
-              <xsl:when test="$double.sided != 0">front-even</xsl:when>
-              <xsl:otherwise>front-odd</xsl:otherwise>
-            </xsl:choose>
-          </xsl:attribute>
-        </fo:conditional-page-master-reference>
-      </fo:repeatable-page-master-alternatives>
-    </fo:page-sequence-master>
-
-    <!-- setup for body pages -->
-    <fo:page-sequence-master master-name="body">
-      <fo:repeatable-page-master-alternatives>
-        <fo:conditional-page-master-reference master-reference="blank"
-                                              blank-or-not-blank="blank"/>
-        <fo:conditional-page-master-reference master-reference="body-first"
-                                              page-position="first"/>
-        <fo:conditional-page-master-reference master-reference="body-odd"
-                                              odd-or-even="odd"/>
-        <fo:conditional-page-master-reference 
-                                              odd-or-even="even">
-          <xsl:attribute name="master-reference">
-            <xsl:choose>
-              <xsl:when test="$double.sided != 0">body-even</xsl:when>
-              <xsl:otherwise>body-odd</xsl:otherwise>
-            </xsl:choose>
-          </xsl:attribute>
-        </fo:conditional-page-master-reference>
-      </fo:repeatable-page-master-alternatives>
-    </fo:page-sequence-master>
-
-    <!-- setup back matter -->
-    <fo:page-sequence-master master-name="back">
-      <fo:repeatable-page-master-alternatives>
-        <fo:conditional-page-master-reference master-reference="blank"
-                                              blank-or-not-blank="blank"/>
-        <fo:conditional-page-master-reference master-reference="back-first"
-                                              page-position="first"/>
-        <fo:conditional-page-master-reference master-reference="back-odd"
-                                              odd-or-even="odd"/>
-        <fo:conditional-page-master-reference 
-                                              odd-or-even="even">
-          <xsl:attribute name="master-reference">
-            <xsl:choose>
-              <xsl:when test="$double.sided != 0">back-even</xsl:when>
-              <xsl:otherwise>back-odd</xsl:otherwise>
-            </xsl:choose>
-          </xsl:attribute>
-        </fo:conditional-page-master-reference>
-      </fo:repeatable-page-master-alternatives>
-    </fo:page-sequence-master>
-
-    <!-- setup back matter -->
-    <fo:page-sequence-master master-name="index">
-      <fo:repeatable-page-master-alternatives>
-        <fo:conditional-page-master-reference master-reference="blank"
-                                              blank-or-not-blank="blank"/>
-        <fo:conditional-page-master-reference master-reference="index-first"
-                                              page-position="first"/>
-        <fo:conditional-page-master-reference master-reference="index-odd"
-                                              odd-or-even="odd"/>
-        <fo:conditional-page-master-reference 
-                                              odd-or-even="even">
-          <xsl:attribute name="master-reference">
-            <xsl:choose>
-              <xsl:when test="$double.sided != 0">index-even</xsl:when>
-              <xsl:otherwise>index-odd</xsl:otherwise>
-            </xsl:choose>
-          </xsl:attribute>
-        </fo:conditional-page-master-reference>
-      </fo:repeatable-page-master-alternatives>
-    </fo:page-sequence-master>
-
-    <xsl:if test="$draft.mode != 'no'">
-      <!-- setup for draft title page(s) -->
-      <fo:page-sequence-master master-name="titlepage-draft">
-        <fo:repeatable-page-master-alternatives>
-          <fo:conditional-page-master-reference master-reference="blank-draft"
-                                                blank-or-not-blank="blank"/>
-          <fo:conditional-page-master-reference master-reference="titlepage-first-draft"
-                                                page-position="first"/>
-          <fo:conditional-page-master-reference master-reference="titlepage-odd-draft"
-                                                odd-or-even="odd"/>
-          <fo:conditional-page-master-reference 
-                                                odd-or-even="even">
-            <xsl:attribute name="master-reference">
-              <xsl:choose>
-                <xsl:when test="$double.sided != 0">titlepage-even-draft</xsl:when>
-                <xsl:otherwise>titlepage-odd-draft</xsl:otherwise>
-              </xsl:choose>
-            </xsl:attribute>
-          </fo:conditional-page-master-reference>
-        </fo:repeatable-page-master-alternatives>
-      </fo:page-sequence-master>
-
-      <!-- setup for draft lots -->
-      <fo:page-sequence-master master-name="lot-draft">
-        <fo:repeatable-page-master-alternatives>
-          <fo:conditional-page-master-reference master-reference="blank-draft"
-                                                blank-or-not-blank="blank"/>
-          <fo:conditional-page-master-reference master-reference="lot-first-draft"
-                                                page-position="first"/>
-          <fo:conditional-page-master-reference master-reference="lot-odd-draft"
-                                                odd-or-even="odd"/>
-          <fo:conditional-page-master-reference 
-                                                odd-or-even="even">
-            <xsl:attribute name="master-reference">
-              <xsl:choose>
-                <xsl:when test="$double.sided != 0">lot-even-draft</xsl:when>
-                <xsl:otherwise>lot-odd-draft</xsl:otherwise>
-              </xsl:choose>
-            </xsl:attribute>
-          </fo:conditional-page-master-reference>
-        </fo:repeatable-page-master-alternatives>
-      </fo:page-sequence-master>
-
-      <!-- setup draft front matter -->
-      <fo:page-sequence-master master-name="front-draft">
-        <fo:repeatable-page-master-alternatives>
-          <fo:conditional-page-master-reference master-reference="blank-draft"
-                                                blank-or-not-blank="blank"/>
-          <fo:conditional-page-master-reference master-reference="front-first-draft"
-                                                page-position="first"/>
-          <fo:conditional-page-master-reference master-reference="front-odd-draft"
-                                                odd-or-even="odd"/>
-          <fo:conditional-page-master-reference 
-                                                odd-or-even="even">
-            <xsl:attribute name="master-reference">
-              <xsl:choose>
-                <xsl:when test="$double.sided != 0">front-even-draft</xsl:when>
-                <xsl:otherwise>front-odd-draft</xsl:otherwise>
-              </xsl:choose>
-            </xsl:attribute>
-          </fo:conditional-page-master-reference>
-        </fo:repeatable-page-master-alternatives>
-      </fo:page-sequence-master>
-
-      <!-- setup for draft body pages -->
-      <fo:page-sequence-master master-name="body-draft">
-        <fo:repeatable-page-master-alternatives>
-          <fo:conditional-page-master-reference master-reference="blank-draft"
-                                                blank-or-not-blank="blank"/>
-          <fo:conditional-page-master-reference master-reference="body-first-draft"
-                                                page-position="first"/>
-          <fo:conditional-page-master-reference master-reference="body-odd-draft"
-                                                odd-or-even="odd"/>
-          <fo:conditional-page-master-reference 
-                                                odd-or-even="even">
-            <xsl:attribute name="master-reference">
-              <xsl:choose>
-                <xsl:when test="$double.sided != 0">body-even-draft</xsl:when>
-                <xsl:otherwise>body-odd-draft</xsl:otherwise>
-              </xsl:choose>
-            </xsl:attribute>
-          </fo:conditional-page-master-reference>
-        </fo:repeatable-page-master-alternatives>
-      </fo:page-sequence-master>
-
-      <!-- setup draft back matter -->
-      <fo:page-sequence-master master-name="back-draft">
-        <fo:repeatable-page-master-alternatives>
-          <fo:conditional-page-master-reference master-reference="blank-draft"
-                                                blank-or-not-blank="blank"/>
-          <fo:conditional-page-master-reference master-reference="back-first-draft"
-                                                page-position="first"/>
-          <fo:conditional-page-master-reference master-reference="back-odd-draft"
-                                                odd-or-even="odd"/>
-          <fo:conditional-page-master-reference 
-                                                odd-or-even="even">
-            <xsl:attribute name="master-reference">
-              <xsl:choose>
-                <xsl:when test="$double.sided != 0">back-even-draft</xsl:when>
-                <xsl:otherwise>back-odd-draft</xsl:otherwise>
-              </xsl:choose>
-            </xsl:attribute>
-          </fo:conditional-page-master-reference>
-        </fo:repeatable-page-master-alternatives>
-      </fo:page-sequence-master>
-
-      <!-- setup draft index pages -->
-      <fo:page-sequence-master master-name="index-draft">
-        <fo:repeatable-page-master-alternatives>
-          <fo:conditional-page-master-reference master-reference="blank-draft"
-                                                blank-or-not-blank="blank"/>
-          <fo:conditional-page-master-reference master-reference="index-first-draft"
-                                                page-position="first"/>
-          <fo:conditional-page-master-reference master-reference="index-odd-draft"
-                                                odd-or-even="odd"/>
-          <fo:conditional-page-master-reference 
-                                                odd-or-even="even">
-            <xsl:attribute name="master-reference">
-              <xsl:choose>
-                <xsl:when test="$double.sided != 0">index-even-draft</xsl:when>
-                <xsl:otherwise>index-odd-draft</xsl:otherwise>
-              </xsl:choose>
-            </xsl:attribute>
-          </fo:conditional-page-master-reference>
-        </fo:repeatable-page-master-alternatives>
-      </fo:page-sequence-master>
-    </xsl:if>
-
-    <xsl:call-template name="user.pagemasters"/>
-
-    </fo:layout-master-set>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="user.pagemasters"/> <!-- intentionally empty -->
-
-<!-- ==================================================================== -->
-
-<xsl:template name="select.pagemaster">
-  <xsl:param name="element" select="local-name(.)"/>
-  <xsl:param name="pageclass" select="''"/>
-
-  <xsl:variable name="pagemaster">
-    <xsl:choose>
-      <xsl:when test="$pageclass != ''">
-        <xsl:value-of select="$pageclass"/>
-      </xsl:when>
-      <xsl:when test="$pageclass = 'lot'">lot</xsl:when>
-      <xsl:when test="$element = 'dedication'">front</xsl:when>
-      <xsl:when test="$element = 'preface'">front</xsl:when>
-      <xsl:when test="$element = 'appendix'">back</xsl:when>
-      <xsl:when test="$element = 'glossary'">back</xsl:when>
-      <xsl:when test="$element = 'bibliography'">back</xsl:when>
-      <xsl:when test="$element = 'index'">index</xsl:when>
-      <xsl:when test="$element = 'colophon'">back</xsl:when>
-      <xsl:otherwise>body</xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:choose>
-      <xsl:when test="$draft.mode = 'yes'">
-        <xsl:text>-draft</xsl:text>
-      </xsl:when>
-      <xsl:when test="$draft.mode = 'no'">
-        <!-- nop -->
-      </xsl:when>
-      <xsl:when test="ancestor-or-self::*[@status][1]/@status = 'draft'">
-        <xsl:text>-draft</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- nop -->
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="select.user.pagemaster">
-    <xsl:with-param name="element" select="$element"/>
-    <xsl:with-param name="pageclass" select="$pageclass"/>
-    <xsl:with-param name="default-pagemaster" select="$pagemaster"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="select.user.pagemaster">
-  <xsl:param name="element"/>
-  <xsl:param name="pageclass"/>
-  <xsl:param name="default-pagemaster"/>
-
-  <!-- by default, return the default. But if you've created your own
-       pagemasters in user.pagemasters, you might want to select one here. -->
-  <xsl:value-of select="$default-pagemaster"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="head.sep.rule">
-  <xsl:param name="pageclass"/>
-  <xsl:param name="sequence"/>
-  <xsl:param name="gentext-key"/>
-
-  <xsl:if test="$header.rule != 0">
-    <xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute>
-    <xsl:attribute name="border-bottom-style">solid</xsl:attribute>
-    <xsl:attribute name="border-bottom-color">black</xsl:attribute>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="foot.sep.rule">
-  <xsl:param name="pageclass"/>
-  <xsl:param name="sequence"/>
-  <xsl:param name="gentext-key"/>
-
-  <xsl:if test="$footer.rule != 0">
-    <xsl:attribute name="border-top-width">0.5pt</xsl:attribute>
-    <xsl:attribute name="border-top-style">solid</xsl:attribute>
-    <xsl:attribute name="border-top-color">black</xsl:attribute>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="running.head.mode">
-  <xsl:param name="master-reference" select="'unknown'"/>
-  <xsl:param name="gentext-key" select="local-name(.)"/>
-
-  <!-- remove -draft from reference -->
-  <xsl:variable name="pageclass">
-    <xsl:choose>
-      <xsl:when test="contains($master-reference, '-draft')">
-        <xsl:value-of select="substring-before($master-reference, '-draft')"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$master-reference"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <fo:static-content flow-name="xsl-region-before-first">
-    <fo:block xsl:use-attribute-sets="header.content.properties">
-      <xsl:call-template name="header.table">
-        <xsl:with-param name="pageclass" select="$pageclass"/>
-        <xsl:with-param name="sequence" select="'first'"/>
-        <xsl:with-param name="gentext-key" select="$gentext-key"/>
-      </xsl:call-template>
-    </fo:block>
-  </fo:static-content>
-
-  <fo:static-content flow-name="xsl-region-before-odd">
-    <fo:block xsl:use-attribute-sets="header.content.properties">
-      <xsl:call-template name="header.table">
-        <xsl:with-param name="pageclass" select="$pageclass"/>
-        <xsl:with-param name="sequence" select="'odd'"/>
-        <xsl:with-param name="gentext-key" select="$gentext-key"/>
-      </xsl:call-template>
-    </fo:block>
-  </fo:static-content>
-
-  <fo:static-content flow-name="xsl-region-before-even">
-    <fo:block xsl:use-attribute-sets="header.content.properties">
-      <xsl:call-template name="header.table">
-        <xsl:with-param name="pageclass" select="$pageclass"/>
-        <xsl:with-param name="sequence" select="'even'"/>
-        <xsl:with-param name="gentext-key" select="$gentext-key"/>
-      </xsl:call-template>
-    </fo:block>
-  </fo:static-content>
-
-  <fo:static-content flow-name="xsl-region-before-blank">
-    <fo:block xsl:use-attribute-sets="header.content.properties">
-      <xsl:call-template name="header.table">
-        <xsl:with-param name="pageclass" select="$pageclass"/>
-        <xsl:with-param name="sequence" select="'blank'"/>
-        <xsl:with-param name="gentext-key" select="$gentext-key"/>
-      </xsl:call-template>
-    </fo:block>
-  </fo:static-content>
-
-  <xsl:call-template name="footnote-separator"/>
-
-  <xsl:if test="$fop.extensions = 0 and $fop1.extensions = 0">
-    <xsl:call-template name="blank.page.content"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="footnote-separator">
-  <fo:static-content flow-name="xsl-footnote-separator">
-    <fo:block>
-      <fo:leader xsl:use-attribute-sets="footnote.sep.leader.properties"/>
-    </fo:block>
-  </fo:static-content>
-</xsl:template>
-
-<xsl:template name="blank.page.content">
-  <fo:static-content flow-name="blank-body">
-    <fo:block text-align="center"/>
-  </fo:static-content>
-</xsl:template>
-
-<xsl:template name="header.table">
-  <xsl:param name="pageclass" select="''"/>
-  <xsl:param name="sequence" select="''"/>
-  <xsl:param name="gentext-key" select="''"/>
-
-  <!-- default is a single table style for all headers -->
-  <!-- Customize it for different page classes or sequence location -->
-
-  <xsl:choose>
-      <xsl:when test="$pageclass = 'index'">
-          <xsl:attribute name="margin-left">0pt</xsl:attribute>
-      </xsl:when>
-  </xsl:choose>
-
-  <xsl:variable name="column1">
-    <xsl:choose>
-      <xsl:when test="$double.sided = 0">1</xsl:when>
-      <xsl:when test="$sequence = 'first' or $sequence = 'odd'">1</xsl:when>
-      <xsl:otherwise>3</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="column3">
-    <xsl:choose>
-      <xsl:when test="$double.sided = 0">3</xsl:when>
-      <xsl:when test="$sequence = 'first' or $sequence = 'odd'">3</xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="candidate">
-    <fo:table xsl:use-attribute-sets="header.table.properties">
-      <xsl:call-template name="head.sep.rule">
-        <xsl:with-param name="pageclass" select="$pageclass"/>
-        <xsl:with-param name="sequence" select="$sequence"/>
-        <xsl:with-param name="gentext-key" select="$gentext-key"/>
-      </xsl:call-template>
-
-      <fo:table-column column-number="1">
-        <xsl:attribute name="column-width">
-          <xsl:text>proportional-column-width(</xsl:text>
-          <xsl:call-template name="header.footer.width">
-            <xsl:with-param name="location">header</xsl:with-param>
-            <xsl:with-param name="position" select="$column1"/>
-          </xsl:call-template>
-          <xsl:text>)</xsl:text>
-        </xsl:attribute>
-      </fo:table-column>
-      <fo:table-column column-number="2">
-        <xsl:attribute name="column-width">
-          <xsl:text>proportional-column-width(</xsl:text>
-          <xsl:call-template name="header.footer.width">
-            <xsl:with-param name="location">header</xsl:with-param>
-            <xsl:with-param name="position" select="2"/>
-          </xsl:call-template>
-          <xsl:text>)</xsl:text>
-        </xsl:attribute>
-      </fo:table-column>
-      <fo:table-column column-number="3">
-        <xsl:attribute name="column-width">
-          <xsl:text>proportional-column-width(</xsl:text>
-          <xsl:call-template name="header.footer.width">
-            <xsl:with-param name="location">header</xsl:with-param>
-            <xsl:with-param name="position" select="$column3"/>
-          </xsl:call-template>
-          <xsl:text>)</xsl:text>
-        </xsl:attribute>
-      </fo:table-column>
-
-      <fo:table-body>
-        <fo:table-row>
-          <xsl:attribute name="block-progression-dimension.minimum">
-            <xsl:value-of select="$header.table.height"/>
-          </xsl:attribute>
-          <fo:table-cell text-align="left"
-                         display-align="before">
-            <xsl:if test="$fop.extensions = 0">
-              <xsl:attribute name="relative-align">baseline</xsl:attribute>
-            </xsl:if>
-            <fo:block>
-              <xsl:call-template name="header.content">
-                <xsl:with-param name="pageclass" select="$pageclass"/>
-                <xsl:with-param name="sequence" select="$sequence"/>
-                <xsl:with-param name="position" select="'left'"/>
-                <xsl:with-param name="gentext-key" select="$gentext-key"/>
-              </xsl:call-template>
-            </fo:block>
-          </fo:table-cell>
-          <fo:table-cell text-align="center"
-                         display-align="before">
-            <xsl:if test="$fop.extensions = 0">
-              <xsl:attribute name="relative-align">baseline</xsl:attribute>
-            </xsl:if>
-            <fo:block>
-              <xsl:call-template name="header.content">
-                <xsl:with-param name="pageclass" select="$pageclass"/>
-                <xsl:with-param name="sequence" select="$sequence"/>
-                <xsl:with-param name="position" select="'center'"/>
-                <xsl:with-param name="gentext-key" select="$gentext-key"/>
-              </xsl:call-template>
-            </fo:block>
-          </fo:table-cell>
-          <fo:table-cell text-align="right"
-                         display-align="before">
-            <xsl:if test="$fop.extensions = 0">
-              <xsl:attribute name="relative-align">baseline</xsl:attribute>
-            </xsl:if>
-            <fo:block>
-              <xsl:call-template name="header.content">
-                <xsl:with-param name="pageclass" select="$pageclass"/>
-                <xsl:with-param name="sequence" select="$sequence"/>
-                <xsl:with-param name="position" select="'right'"/>
-                <xsl:with-param name="gentext-key" select="$gentext-key"/>
-              </xsl:call-template>
-            </fo:block>
-          </fo:table-cell>
-        </fo:table-row>
-      </fo:table-body>
-    </fo:table>
-  </xsl:variable>
-
-  <!-- Really output a header? -->
-  <xsl:choose>
-    <xsl:when test="$pageclass = 'titlepage' and $gentext-key = 'book'
-                    and $sequence='first'">
-      <!-- no, book titlepages have no headers at all -->
-    </xsl:when>
-    <xsl:when test="$sequence = 'blank' and $headers.on.blank.pages = 0">
-      <!-- no output -->
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$candidate"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="header.content">
-  <xsl:param name="pageclass" select="''"/>
-  <xsl:param name="sequence" select="''"/>
-  <xsl:param name="position" select="''"/>
-  <xsl:param name="gentext-key" select="''"/>
-
-<!--
-  <fo:block>
-    <xsl:value-of select="$pageclass"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$sequence"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$position"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$gentext-key"/>
-  </fo:block>
--->
-
-  <fo:block>
-
-    <!-- sequence can be odd, even, first, blank -->
-    <!-- position can be left, center, right -->
-    <xsl:choose>
-      <xsl:when test="$sequence = 'blank'">
-        <!-- nothing -->
-      </xsl:when>
-
-      <xsl:when test="$position='left'">
-        <!-- Same for odd, even, empty, and blank sequences -->
-        <xsl:call-template name="draft.text"/>
-      </xsl:when>
-
-      <xsl:when test="($sequence='odd' or $sequence='even') and $position='center'">
-        <xsl:if test="$pageclass != 'titlepage'">
-          <xsl:choose>
-            <xsl:when test="ancestor::book and ($double.sided != 0)">
-              <fo:retrieve-marker retrieve-class-name="section.head.marker"
-                                  retrieve-position="first-including-carryover"
-                                  retrieve-boundary="page-sequence"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:if>
-      </xsl:when>
-
-      <xsl:when test="$position='center'">
-        <!-- nothing for empty and blank sequences -->
-      </xsl:when>
-
-      <xsl:when test="$position='right'">
-        <!-- Same for odd, even, empty, and blank sequences -->
-        <xsl:call-template name="draft.text"/>
-      </xsl:when>
-
-      <xsl:when test="$sequence = 'first'">
-        <!-- nothing for first pages -->
-      </xsl:when>
-
-      <xsl:when test="$sequence = 'blank'">
-        <!-- nothing for blank pages -->
-      </xsl:when>
-    </xsl:choose>
-  </fo:block>
-</xsl:template>
-
-<xsl:template name="header.footer.width">
-  <xsl:param name="location" select="'header'"/>
-  <xsl:param name="position" select="1"/>
-
-  <xsl:variable name="width.set">
-    <xsl:choose>
-      <xsl:when test="$location = 'header'">
-        <xsl:value-of select="normalize-space($header.column.widths)"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="normalize-space($footer.column.widths)"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-
-  <xsl:variable name="width">
-    <xsl:choose>
-      <xsl:when test="$position = 1">
-        <xsl:value-of select="substring-before($width.set, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$position = 2">
-        <xsl:value-of select="substring-before(substring-after($width.set, ' '), ' ')"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="substring-after(substring-after($width.set, ' '), ' ')"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- Make sure it is a number -->
-  <xsl:choose>
-    <xsl:when test = "$width = number($width)">
-      <xsl:value-of select="$width"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>Error: value in <xsl:value-of select="$location"/>.column.widths at position <xsl:value-of select="$position"/> is not a number.</xsl:message>
-      <xsl:text>1</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="draft.text">
-  <xsl:choose>
-    <xsl:when test="$draft.mode = 'yes'">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'Draft'"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$draft.mode = 'no'">
-      <!-- nop -->
-    </xsl:when>
-    <xsl:when test="ancestor-or-self::*[@status][1]/@status = 'draft'">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'Draft'"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- nop -->
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="running.foot.mode">
-  <xsl:param name="master-reference" select="'unknown'"/>
-  <xsl:param name="gentext-key" select="local-name(.)"/>
-
-  <!-- remove -draft from reference -->
-  <xsl:variable name="pageclass">
-    <xsl:choose>
-      <xsl:when test="contains($master-reference, '-draft')">
-        <xsl:value-of select="substring-before($master-reference, '-draft')"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$master-reference"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <fo:static-content flow-name="xsl-region-after-first">
-    <fo:block xsl:use-attribute-sets="footer.content.properties">
-      <xsl:call-template name="footer.table">
-        <xsl:with-param name="pageclass" select="$pageclass"/>
-        <xsl:with-param name="sequence" select="'first'"/>
-        <xsl:with-param name="gentext-key" select="$gentext-key"/>
-      </xsl:call-template>
-    </fo:block>
-  </fo:static-content>
-
-  <fo:static-content flow-name="xsl-region-after-odd">
-    <fo:block xsl:use-attribute-sets="footer.content.properties">
-      <xsl:call-template name="footer.table">
-        <xsl:with-param name="pageclass" select="$pageclass"/>
-        <xsl:with-param name="sequence" select="'odd'"/>
-        <xsl:with-param name="gentext-key" select="$gentext-key"/>
-      </xsl:call-template>
-    </fo:block>
-  </fo:static-content>
-
-  <fo:static-content flow-name="xsl-region-after-even">
-    <fo:block xsl:use-attribute-sets="footer.content.properties">
-      <xsl:call-template name="footer.table">
-        <xsl:with-param name="pageclass" select="$pageclass"/>
-        <xsl:with-param name="sequence" select="'even'"/>
-        <xsl:with-param name="gentext-key" select="$gentext-key"/>
-      </xsl:call-template>
-    </fo:block>
-  </fo:static-content>
-
-  <fo:static-content flow-name="xsl-region-after-blank">
-    <fo:block xsl:use-attribute-sets="footer.content.properties">
-      <xsl:call-template name="footer.table">
-        <xsl:with-param name="pageclass" select="$pageclass"/>
-        <xsl:with-param name="sequence" select="'blank'"/>
-        <xsl:with-param name="gentext-key" select="$gentext-key"/>
-      </xsl:call-template>
-    </fo:block>
-  </fo:static-content>
-</xsl:template>
-
-<xsl:template name="footer.table">
-  <xsl:param name="pageclass" select="''"/>
-  <xsl:param name="sequence" select="''"/>
-  <xsl:param name="gentext-key" select="''"/>
-
-  <!-- default is a single table style for all footers -->
-  <!-- Customize it for different page classes or sequence location -->
-
-  <xsl:choose>
-      <xsl:when test="$pageclass = 'index'">
-          <xsl:attribute name="margin-left">0pt</xsl:attribute>
-      </xsl:when>
-  </xsl:choose>
-
-  <xsl:variable name="column1">
-    <xsl:choose>
-      <xsl:when test="$double.sided = 0">1</xsl:when>
-      <xsl:when test="$sequence = 'first' or $sequence = 'odd'">1</xsl:when>
-      <xsl:otherwise>3</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="column3">
-    <xsl:choose>
-      <xsl:when test="$double.sided = 0">3</xsl:when>
-      <xsl:when test="$sequence = 'first' or $sequence = 'odd'">3</xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="candidate">
-    <fo:table xsl:use-attribute-sets="footer.table.properties">
-      <xsl:call-template name="foot.sep.rule">
-        <xsl:with-param name="pageclass" select="$pageclass"/>
-        <xsl:with-param name="sequence" select="$sequence"/>
-        <xsl:with-param name="gentext-key" select="$gentext-key"/>
-      </xsl:call-template>
-      <fo:table-column column-number="1">
-        <xsl:attribute name="column-width">
-          <xsl:text>proportional-column-width(</xsl:text>
-          <xsl:call-template name="header.footer.width">
-            <xsl:with-param name="location">footer</xsl:with-param>
-            <xsl:with-param name="position" select="$column1"/>
-          </xsl:call-template>
-          <xsl:text>)</xsl:text>
-        </xsl:attribute>
-      </fo:table-column>
-      <fo:table-column column-number="2">
-        <xsl:attribute name="column-width">
-          <xsl:text>proportional-column-width(</xsl:text>
-          <xsl:call-template name="header.footer.width">
-            <xsl:with-param name="location">footer</xsl:with-param>
-            <xsl:with-param name="position" select="2"/>
-          </xsl:call-template>
-          <xsl:text>)</xsl:text>
-        </xsl:attribute>
-      </fo:table-column>
-      <fo:table-column column-number="3">
-        <xsl:attribute name="column-width">
-          <xsl:text>proportional-column-width(</xsl:text>
-          <xsl:call-template name="header.footer.width">
-            <xsl:with-param name="location">footer</xsl:with-param>
-            <xsl:with-param name="position" select="$column3"/>
-          </xsl:call-template>
-          <xsl:text>)</xsl:text>
-        </xsl:attribute>
-      </fo:table-column>
-
-      <fo:table-body>
-        <fo:table-row>
-          <xsl:attribute name="block-progression-dimension.minimum">
-            <xsl:value-of select="$footer.table.height"/>
-          </xsl:attribute>
-          <fo:table-cell text-align="left"
-                         display-align="after">
-            <xsl:if test="$fop.extensions = 0">
-              <xsl:attribute name="relative-align">baseline</xsl:attribute>
-            </xsl:if>
-            <fo:block>
-              <xsl:call-template name="footer.content">
-                <xsl:with-param name="pageclass" select="$pageclass"/>
-                <xsl:with-param name="sequence" select="$sequence"/>
-                <xsl:with-param name="position" select="'left'"/>
-                <xsl:with-param name="gentext-key" select="$gentext-key"/>
-              </xsl:call-template>
-            </fo:block>
-          </fo:table-cell>
-          <fo:table-cell text-align="center"
-                         display-align="after">
-            <xsl:if test="$fop.extensions = 0">
-              <xsl:attribute name="relative-align">baseline</xsl:attribute>
-            </xsl:if>
-            <fo:block>
-              <xsl:call-template name="footer.content">
-                <xsl:with-param name="pageclass" select="$pageclass"/>
-                <xsl:with-param name="sequence" select="$sequence"/>
-                <xsl:with-param name="position" select="'center'"/>
-                <xsl:with-param name="gentext-key" select="$gentext-key"/>
-              </xsl:call-template>
-            </fo:block>
-          </fo:table-cell>
-          <fo:table-cell text-align="right"
-                         display-align="after">
-            <xsl:if test="$fop.extensions = 0">
-              <xsl:attribute name="relative-align">baseline</xsl:attribute>
-            </xsl:if>
-            <fo:block>
-              <xsl:call-template name="footer.content">
-                <xsl:with-param name="pageclass" select="$pageclass"/>
-                <xsl:with-param name="sequence" select="$sequence"/>
-                <xsl:with-param name="position" select="'right'"/>
-                <xsl:with-param name="gentext-key" select="$gentext-key"/>
-              </xsl:call-template>
-            </fo:block>
-          </fo:table-cell>
-        </fo:table-row>
-      </fo:table-body>
-    </fo:table>
-  </xsl:variable>
-
-  <!-- Really output a footer? -->
-  <xsl:choose>
-    <xsl:when test="$pageclass='titlepage' and $gentext-key='book'
-                    and $sequence='first'">
-      <!-- no, book titlepages have no footers at all -->
-    </xsl:when>
-    <xsl:when test="$sequence = 'blank' and $footers.on.blank.pages = 0">
-      <!-- no output -->
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$candidate"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="footer.content">
-  <xsl:param name="pageclass" select="''"/>
-  <xsl:param name="sequence" select="''"/>
-  <xsl:param name="position" select="''"/>
-  <xsl:param name="gentext-key" select="''"/>
-
-<!--
-  <fo:block>
-    <xsl:value-of select="$pageclass"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$sequence"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$position"/>
-    <xsl:text>, </xsl:text>
-    <xsl:value-of select="$gentext-key"/>
-  </fo:block>
--->
-
-  <fo:block>
-    <!-- pageclass can be front, body, back -->
-    <!-- sequence can be odd, even, first, blank -->
-    <!-- position can be left, center, right -->
-    <xsl:choose>
-      <xsl:when test="$pageclass = 'titlepage'">
-        <!-- nop; no footer on title pages -->
-      </xsl:when>
-
-      <xsl:when test="$double.sided != 0 and $sequence = 'even'
-                      and $position='left'">
-        <fo:page-number/>
-      </xsl:when>
-
-      <xsl:when test="$double.sided != 0 and ($sequence = 'odd' or $sequence = 'first')
-                      and $position='right'">
-        <fo:page-number/>
-      </xsl:when>
-
-      <xsl:when test="$double.sided = 0 and $position='center'">
-        <fo:page-number/>
-      </xsl:when>
-
-      <xsl:when test="$sequence='blank'">
-        <xsl:choose>
-          <xsl:when test="$double.sided != 0 and $position = 'left'">
-            <fo:page-number/>
-          </xsl:when>
-          <xsl:when test="$double.sided = 0 and $position = 'center'">
-            <fo:page-number/>
-          </xsl:when>
-          <xsl:otherwise>
-            <!-- nop -->
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-
-
-      <xsl:otherwise>
-        <!-- nop -->
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="page.number.format">
-  <xsl:param name="element" select="local-name(.)"/>
-  <xsl:param name="master-reference" select="''"/>
-
-  <xsl:choose>
-    <xsl:when test="$element = 'toc' and self::book">i</xsl:when>
-    <xsl:when test="$element = 'preface'">i</xsl:when>
-    <xsl:when test="$element = 'dedication'">i</xsl:when>
-    <xsl:otherwise>1</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="initial.page.number">
-  <xsl:param name="element" select="local-name(.)"/>
-  <xsl:param name="master-reference" select="''"/>
-
-  <!-- Select the first content that the stylesheet places
-       after the TOC -->
-  <xsl:variable name="first.book.content" 
-                select="ancestor::book/*[
-                          not(self::title or
-                              self::subtitle or
-                              self::titleabbrev or
-                              self::bookinfo or
-                              self::info or
-                              self::dedication or
-                              self::preface or
-                              self::toc or
-                              self::lot)][1]"/>
-  <xsl:choose>
-    <!-- double-sided output -->
-    <xsl:when test="$double.sided != 0">
-      <xsl:choose>
-        <xsl:when test="$element = 'toc'">auto-odd</xsl:when>
-        <xsl:when test="$element = 'book'">1</xsl:when>
-        <!-- preface typically continues TOC roman numerals -->
-        <!-- Change page.number.format if not -->
-        <xsl:when test="$element = 'preface'">auto-odd</xsl:when>
-        <xsl:when test="($element = 'dedication' or $element = 'article') 
-                    and not(preceding::chapter
-                            or preceding::preface
-                            or preceding::appendix
-                            or preceding::article
-                            or preceding::dedication
-                            or parent::part
-                            or parent::reference)">1</xsl:when>
-        <xsl:when test="generate-id($first.book.content) =
-                        generate-id(.)">1</xsl:when>
-        <xsl:otherwise>auto-odd</xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <!-- single-sided output -->
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$element = 'toc'">auto</xsl:when>
-        <xsl:when test="$element = 'book'">1</xsl:when>
-        <xsl:when test="$element = 'preface'">auto</xsl:when>
-       <xsl:when test="($element = 'dedication' or $element = 'article') and
-                        not(preceding::chapter
-                            or preceding::preface
-                            or preceding::appendix
-                            or preceding::article
-                            or preceding::dedication
-                            or parent::part
-                            or parent::reference)">1</xsl:when>
-        <xsl:when test="generate-id($first.book.content) =
-                        generate-id(.)">1</xsl:when>
-        <xsl:otherwise>auto</xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="force.page.count">
-  <xsl:param name="element" select="local-name(.)"/>
-  <xsl:param name="master-reference" select="''"/>
-
-  <xsl:choose>
-    <!-- double-sided output -->
-    <xsl:when test="$double.sided != 0">end-on-even</xsl:when>
-    <!-- single-sided output -->
-    <xsl:otherwise>no-force</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="set.flow.properties">
-  <xsl:param name="element" select="local-name(.)"/>
-  <xsl:param name="master-reference" select="''"/>
-
-  <!-- This template is called after each <fo:flow> starts. -->
-  <!-- Customize this template to set attributes on fo:flow -->
-
-  <!-- remove -draft from reference -->
-  <xsl:variable name="pageclass">
-    <xsl:choose>
-      <xsl:when test="contains($master-reference, '-draft')">
-        <xsl:value-of select="substring-before($master-reference, '-draft')"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$master-reference"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$fop.extensions != 0 or $passivetex.extensions != 0">
-      <!-- body.start.indent does not work well with these processors -->
-    </xsl:when>
-    <xsl:when test="starts-with($pageclass, 'body') or
-                    starts-with($pageclass, 'lot') or
-                    starts-with($pageclass, 'front') or
-                    $element = 'preface' or
-                    (starts-with($pageclass, 'back') and
-                    $element = 'appendix')">
-      <xsl:attribute name="start-indent">
-        <xsl:value-of select="$body.start.indent"/>
-      </xsl:attribute>
-      <xsl:attribute name="end-indent">
-        <xsl:value-of select="$body.end.indent"/>
-      </xsl:attribute>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/param.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/param.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,891 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<!-- This file is generated from param.xweb -->
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:attribute-set name="abstract.properties">
-  <xsl:attribute name="start-indent">0.0in</xsl:attribute>
-  <xsl:attribute name="end-indent">0.0in</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="abstract.title.properties">
-  <xsl:attribute name="font-family"><xsl:value-of select="$title.fontset"/></xsl:attribute>
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-  <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"/></xsl:attribute>
-  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"/></xsl:attribute>
-  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"/></xsl:attribute>
-  <xsl:attribute name="hyphenate">false</xsl:attribute>
-  <xsl:attribute name="text-align">center</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="admon.graphics.extension">.png</xsl:param>
-<xsl:param name="admon.graphics" select="0"/>
-<xsl:param name="admon.graphics.path">images/</xsl:param>
-<xsl:param name="admon.textlabel" select="1"/>
-<xsl:attribute-set name="admonition.properties"/>
-<xsl:attribute-set name="admonition.title.properties">
-  <xsl:attribute name="font-size">14pt</xsl:attribute>
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-  <xsl:attribute name="hyphenate">false</xsl:attribute>
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="graphical.admonition.properties">
-  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
-  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="nongraphical.admonition.properties">
-  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
-  <xsl:attribute name="margin-left">0.25in</xsl:attribute>
-  <xsl:attribute name="margin-right">0.25in</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="alignment">justify</xsl:param>
-<xsl:param name="appendix.autolabel">A</xsl:param>
-<xsl:param name="arbortext.extensions" select="0"/>
-<xsl:attribute-set name="article.appendix.title.properties" use-attribute-sets="section.title.properties                          section.title.level1.properties">
-  <xsl:attribute name="margin-left">
-    <xsl:value-of select="$title.margin.left"/>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="author.othername.in.middle" select="1"/>
-<xsl:param name="autotoc.label.separator">. </xsl:param>
-<xsl:param name="axf.extensions" select="0"/>
-<xsl:param name="biblioentry.item.separator">. </xsl:param>
-<xsl:attribute-set name="biblioentry.properties" use-attribute-sets="normal.para.spacing">
-  <xsl:attribute name="start-indent">0.5in</xsl:attribute>
-  <xsl:attribute name="text-indent">-0.5in</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="bibliography.collection">http://docbook.sourceforge.net/release/bibliography/bibliography.xml</xsl:param>
-
-<xsl:param name="bibliography.numbered" select="0"/>
-<xsl:param name="bibliography.style">normal</xsl:param>
-<xsl:attribute-set name="blockquote.properties">
-<xsl:attribute name="margin-left">0.5in</xsl:attribute>
-<xsl:attribute name="margin-right">0.5in</xsl:attribute>
-<xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
-<xsl:attribute name="space-after.optimum">1em</xsl:attribute>
-<xsl:attribute name="space-after.maximum">2em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="body.font.family">serif</xsl:param>
-<xsl:param name="body.font.master">10</xsl:param>
-<xsl:param name="body.font.size">
- <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text>
-</xsl:param>
-<xsl:param name="body.margin.bottom">0.5in</xsl:param>
-<xsl:param name="body.margin.top">0.5in</xsl:param>
-<xsl:param name="body.start.indent">
-  <xsl:choose>
-    <xsl:when test="$fop.extensions != 0">0pt</xsl:when>
-    <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when>
-    <xsl:otherwise>4pc</xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-<xsl:param name="body.end.indent">0pt</xsl:param>
-<xsl:param name="bridgehead.in.toc" select="0"/>
-<xsl:param name="callout.defaultcolumn">60</xsl:param>
-
-<xsl:param name="callout.graphics.extension">.svg</xsl:param>
-<xsl:param name="callout.graphics" select="1"/>
-<xsl:param name="callout.icon.size">7pt</xsl:param>
-
-<xsl:param name="callout.graphics.number.limit">30</xsl:param>
-<xsl:param name="callout.graphics.path">images/callouts/</xsl:param>
-<xsl:param name="callout.unicode.font">ZapfDingbats</xsl:param>
-<xsl:param name="callout.unicode" select="0"/>
-<xsl:param name="callout.unicode.number.limit">10</xsl:param>
-<xsl:param name="callout.unicode.start.character">10102</xsl:param>
-<xsl:param name="callouts.extension" select="1"/>
-<xsl:param name="chapter.autolabel" select="1"/>
-<xsl:param name="collect.xref.targets">no</xsl:param>
-<xsl:param name="column.count.back" select="1"/>
-<xsl:param name="column.count.body" select="1"/>
-<xsl:param name="column.count.front" select="1"/>
-<xsl:param name="column.count.index">2</xsl:param>
-<xsl:param name="column.count.lot" select="1"/>
-<xsl:param name="column.count.titlepage" select="1"/>
-<xsl:param name="column.gap.back">12pt</xsl:param>
-<xsl:param name="column.gap.body">12pt</xsl:param>
-<xsl:param name="column.gap.front">12pt</xsl:param>
-<xsl:param name="column.gap.index">12pt</xsl:param>
-<xsl:param name="column.gap.lot">12pt</xsl:param>
-<xsl:param name="column.gap.titlepage">12pt</xsl:param>
-<xsl:attribute-set name="compact.list.item.spacing">
-  <xsl:attribute name="space-before.optimum">0em</xsl:attribute>
-  <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="component.label.includes.part.label" select="0"/>
-<xsl:attribute-set name="component.title.properties">
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-  <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"/></xsl:attribute>
-  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"/></xsl:attribute>
-  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"/></xsl:attribute>
-  <xsl:attribute name="hyphenate">false</xsl:attribute>
-  <xsl:attribute name="text-align">
-    <xsl:choose>
-      <xsl:when test="((parent::article | parent::articleinfo | parent::info/parent::article) and not(ancestor::book) and not(self::bibliography))         or (parent::slides | parent::slidesinfo)">center</xsl:when>
-      <xsl:otherwise>left</xsl:otherwise>
-    </xsl:choose>
-  </xsl:attribute>
-  <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"/></xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="component.titlepage.properties">
-</xsl:attribute-set>
-<xsl:param name="crop.marks" select="0"/>
-<xsl:param name="crop.mark.width">0.5pt</xsl:param>
-<xsl:param name="crop.mark.offset">24pt</xsl:param>
-<xsl:param name="crop.mark.bleed">6pt</xsl:param>
-<xsl:param name="current.docid"/>
-<xsl:param name="default.float.class">
-  <xsl:choose>
-    <xsl:when test="contains($stylesheet.result.type,'html')">left</xsl:when>
-    <xsl:otherwise>before</xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-<xsl:param name="default.image.width"/>
-<xsl:param name="default.table.width"/>
-<xsl:param name="default.table.frame">all</xsl:param>
-<xsl:param name="default.units">pt</xsl:param>
-<xsl:param name="dingbat.font.family">serif</xsl:param>
-<xsl:param name="double.sided" select="0"/>
-<xsl:param name="draft.mode">maybe</xsl:param>
-<xsl:param name="draft.watermark.image">http://docbook.sourceforge.net/release/images/draft.png</xsl:param>
-
-<xsl:param name="ebnf.assignment">
-  <fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$monospace.font.family}">
-    <xsl:text>::=</xsl:text>
-  </fo:inline>
-</xsl:param>
-
-<xsl:param name="ebnf.statement.terminator"/>
-<xsl:param name="email.delimiters.enabled" select="1"/>
-<xsl:attribute-set name="equation.properties" use-attribute-sets="formal.object.properties"/>
-<xsl:attribute-set name="example.properties" use-attribute-sets="formal.object.properties"/>
-<xsl:attribute-set name="figure.properties" use-attribute-sets="formal.object.properties"/>
-<xsl:param name="firstterm.only.link" select="0"/>
-<xsl:attribute-set name="footer.content.properties">
-  <xsl:attribute name="font-family">
-    <xsl:value-of select="$body.fontset"/>
-  </xsl:attribute>
-  <xsl:attribute name="margin-left">
-    <xsl:value-of select="$title.margin.left"/>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="footer.rule" select="1"/>
-<xsl:param name="footer.column.widths">1 1 1</xsl:param>
-<xsl:param name="footer.table.height">14pt</xsl:param>
-<xsl:attribute-set name="footer.table.properties">
-  <xsl:attribute name="table-layout">fixed</xsl:attribute>
-  <xsl:attribute name="width">100%</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="footers.on.blank.pages" select="1"/>
-<xsl:param name="footnote.font.size">
- <xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text>
-</xsl:param>
-<xsl:param name="footnote.number.format">1</xsl:param>
-<xsl:param name="footnote.number.symbols"/>
-<xsl:attribute-set name="footnote.mark.properties">
-  <xsl:attribute name="font-size">75%</xsl:attribute>
-  <xsl:attribute name="font-weight">normal</xsl:attribute>
-  <xsl:attribute name="font-style">normal</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="footnote.properties">
-  <xsl:attribute name="font-family"><xsl:value-of select="$body.fontset"/></xsl:attribute>
-  <xsl:attribute name="font-size"><xsl:value-of select="$footnote.font.size"/></xsl:attribute>
-  <xsl:attribute name="font-weight">normal</xsl:attribute>
-  <xsl:attribute name="font-style">normal</xsl:attribute>
-  <xsl:attribute name="text-align"><xsl:value-of select="$alignment"/></xsl:attribute>
-  <xsl:attribute name="start-indent">0pt</xsl:attribute>
-  <xsl:attribute name="text-indent">0pt</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="footnote.sep.leader.properties">
-  <xsl:attribute name="color">black</xsl:attribute>
-  <xsl:attribute name="leader-pattern">rule</xsl:attribute>
-  <xsl:attribute name="leader-length">1in</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="fop.extensions" select="0"/>
-<xsl:param name="fop1.extensions" select="0"/>
-<xsl:attribute-set name="formal.object.properties">
-  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
-  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
-  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
-  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
-  <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="formal.procedures" select="1"/>
-<xsl:param name="formal.title.placement">
-figure before
-example before
-equation before
-table before
-procedure before
-task before
-</xsl:param>
-<xsl:attribute-set name="formal.title.properties" use-attribute-sets="normal.para.spacing">
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master * 1.2"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-  <xsl:attribute name="hyphenate">false</xsl:attribute>
-  <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
-  <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
-  <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="funcsynopsis.decoration" select="1"/>
-<xsl:param name="funcsynopsis.style">kr</xsl:param>
-<xsl:param name="function.parens" select="0"/>
-<xsl:param name="generate.index" select="1"/>
-<xsl:param name="generate.section.toc.level" select="0"/>
-
-<xsl:param name="generate.toc">
-/appendix toc,title
-article/appendix  nop
-/article  toc,title
-book      toc,title,figure,table,example,equation
-/chapter  toc,title
-part      toc,title
-/preface  toc,title
-reference toc,title
-/sect1    toc
-/sect2    toc
-/sect3    toc
-/sect4    toc
-/sect5    toc
-/section  toc
-set       toc,title
-</xsl:param>
-<xsl:param name="glossary.as.blocks" select="0"/>
-<xsl:param name="glossary.collection"/>
-<xsl:param name="glossary.sort" select="0"/>
-<xsl:param name="glossentry.show.acronym">no</xsl:param>
-<xsl:param name="glosslist.as.blocks" select="0"/>
-<xsl:param name="glossterm.auto.link" select="0"/>
-<xsl:param name="glossterm.separation">0.25in</xsl:param>
-<xsl:param name="glossterm.width">2in</xsl:param>
-<xsl:param name="graphic.default.extension"/>
-<xsl:attribute-set name="header.content.properties">
-  <xsl:attribute name="font-family">
-    <xsl:value-of select="$body.fontset"/>
-  </xsl:attribute>
-  <xsl:attribute name="margin-left">
-    <xsl:value-of select="$title.margin.left"/>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="header.rule" select="1"/>
-<xsl:param name="header.column.widths">1 1 1</xsl:param>
-<xsl:param name="header.table.height">14pt</xsl:param>
-<xsl:attribute-set name="header.table.properties">
-  <xsl:attribute name="table-layout">fixed</xsl:attribute>
-  <xsl:attribute name="width">100%</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="headers.on.blank.pages" select="1"/>
-<xsl:param name="highlight.default.language"/>
-<xsl:param name="highlight.source" select="0"/>
-<xsl:param name="hyphenate">true</xsl:param>
-<xsl:param name="hyphenate.verbatim" select="0"/>
-<xsl:param name="hyphenate.verbatim.characters"/>
-<xsl:param name="ignore.image.scaling" select="0"/>
-<xsl:param name="img.src.path"/>
-<xsl:param name="index.method">basic</xsl:param>
-<xsl:param name="index.on.role" select="0"/>
-<xsl:param name="index.on.type" select="0"/>
-<xsl:attribute-set name="index.page.number.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="informalequation.properties" use-attribute-sets="informal.object.properties"/>
-<xsl:attribute-set name="informalexample.properties" use-attribute-sets="informal.object.properties"/>
-<xsl:attribute-set name="informalfigure.properties" use-attribute-sets="informal.object.properties"/>
-<xsl:attribute-set name="informal.object.properties">
-  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
-  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
-  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
-  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="informaltable.properties" use-attribute-sets="informal.object.properties"/>
-<xsl:attribute-set name="index.preferred.page.properties">
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="index.div.title.properties">
-  <xsl:attribute name="margin-left">0pt</xsl:attribute>
-  <xsl:attribute name="font-size">14.4pt</xsl:attribute>
-  <xsl:attribute name="font-family"><xsl:value-of select="$title.fontset"/></xsl:attribute>
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-  <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master,'pt')"/></xsl:attribute>
-  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master,'pt * 0.8')"/></xsl:attribute>
-  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master,'pt * 1.2')"/></xsl:attribute>
-  <xsl:attribute name="start-indent">0pt</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="index.entry.properties">
-  <xsl:attribute name="start-indent">0pt</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="index.number.separator"/>
-<xsl:param name="index.range.separator"/>
-<xsl:param name="index.term.separator"/>
-<xsl:param name="insert.link.page.number">no</xsl:param>
-<xsl:param name="insert.xref.page.number">no</xsl:param>
-<xsl:attribute-set name="itemizedlist.properties" use-attribute-sets="list.block.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="itemizedlist.label.properties">
-</xsl:attribute-set>
-    <xsl:param name="itemizedlist.label.width">1.0em</xsl:param>
-  
-
-<xsl:param name="keep.relative.image.uris" select="0"/>
-<xsl:param name="l10n.gentext.default.language">en</xsl:param>
-<xsl:param name="l10n.gentext.language"/>
-<xsl:param name="l10n.gentext.use.xref.language" select="0"/>
-<xsl:param name="l10n.lang.value.rfc.compliant" select="1"/>
-<xsl:param name="label.from.part" select="0"/>
-<xsl:param name="line-height">normal</xsl:param>
-<xsl:param name="linenumbering.everyNth">5</xsl:param>
-<xsl:param name="linenumbering.extension" select="1"/>
-<xsl:param name="linenumbering.separator"><xsl:text> </xsl:text></xsl:param>
-<xsl:param name="linenumbering.width">3</xsl:param>
-<xsl:attribute-set name="list.block.properties">
-  <xsl:attribute name="provisional-label-separation">0.2em</xsl:attribute>
-  <xsl:attribute name="provisional-distance-between-starts">1.5em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="list.block.spacing">
-  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
-  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="list.item.spacing">
-  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="make.index.markup" select="0"/>
-<xsl:param name="make.single.year.ranges" select="0"/>
-<xsl:param name="make.year.ranges" select="0"/>
-<xsl:attribute-set name="margin.note.properties">
-  <xsl:attribute name="font-size">90%</xsl:attribute>
-  <xsl:attribute name="text-align">start</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="margin.note.title.properties">
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-  <xsl:attribute name="hyphenate">false</xsl:attribute>
-  <xsl:attribute name="text-align">start</xsl:attribute>
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="margin.note.float.type">none</xsl:param>
-<xsl:param name="margin.note.width">1in</xsl:param>
-<xsl:param name="marker.section.level">2</xsl:param>
-<xsl:param name="menuchoice.menu.separator"> &#8594; </xsl:param>
-<xsl:param name="menuchoice.separator">+</xsl:param>
-<xsl:param name="monospace.font.family">monospace</xsl:param>
-<xsl:attribute-set name="monospace.properties">
-  <xsl:attribute name="font-family">
-    <xsl:value-of select="$monospace.font.family"/>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="monospace.verbatim.properties" use-attribute-sets="verbatim.properties monospace.properties">
-  <xsl:attribute name="text-align">start</xsl:attribute>
-  <xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="nominal.table.width">6in</xsl:param>
-<xsl:attribute-set name="normal.para.spacing">
-  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="olink.doctitle">no</xsl:param> 
-<xsl:param name="olink.base.uri"/>
-<xsl:param name="olink.debug" select="0"/>
-<xsl:attribute-set name="olink.properties">
-  <xsl:attribute name="show-destination">replace</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="olink.lang.fallback.sequence"/>
-<xsl:attribute-set name="orderedlist.properties" use-attribute-sets="list.block.properties">
-  <xsl:attribute name="provisional-distance-between-starts">2em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="orderedlist.label.properties">
-</xsl:attribute-set>
-<xsl:param name="orderedlist.label.width">1.2em</xsl:param>
-<xsl:param name="prefer.internal.olink" select="0"/>
-<xsl:param name="insert.olink.page.number">no</xsl:param>
-<xsl:param name="insert.olink.pdf.frag" select="0"/>
-<xsl:param name="page.height">
-  <xsl:choose>
-    <xsl:when test="$page.orientation = 'portrait'">
-      <xsl:value-of select="$page.height.portrait"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$page.width.portrait"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-<xsl:param name="page.height.portrait">
-  <xsl:choose>
-    <xsl:when test="$paper.type = 'A4landscape'">210mm</xsl:when>
-    <xsl:when test="$paper.type = 'USletter'">11in</xsl:when>
-    <xsl:when test="$paper.type = 'USlandscape'">8.5in</xsl:when>
-    <xsl:when test="$paper.type = '4A0'">2378mm</xsl:when>
-    <xsl:when test="$paper.type = '2A0'">1682mm</xsl:when>
-    <xsl:when test="$paper.type = 'A0'">1189mm</xsl:when>
-    <xsl:when test="$paper.type = 'A1'">841mm</xsl:when>
-    <xsl:when test="$paper.type = 'A2'">594mm</xsl:when>
-    <xsl:when test="$paper.type = 'A3'">420mm</xsl:when>
-    <xsl:when test="$paper.type = 'A4'">297mm</xsl:when>
-    <xsl:when test="$paper.type = 'A5'">210mm</xsl:when>
-    <xsl:when test="$paper.type = 'A6'">148mm</xsl:when>
-    <xsl:when test="$paper.type = 'A7'">105mm</xsl:when>
-    <xsl:when test="$paper.type = 'A8'">74mm</xsl:when>
-    <xsl:when test="$paper.type = 'A9'">52mm</xsl:when>
-    <xsl:when test="$paper.type = 'A10'">37mm</xsl:when>
-    <xsl:when test="$paper.type = 'B0'">1414mm</xsl:when>
-    <xsl:when test="$paper.type = 'B1'">1000mm</xsl:when>
-    <xsl:when test="$paper.type = 'B2'">707mm</xsl:when>
-    <xsl:when test="$paper.type = 'B3'">500mm</xsl:when>
-    <xsl:when test="$paper.type = 'B4'">353mm</xsl:when>
-    <xsl:when test="$paper.type = 'B5'">250mm</xsl:when>
-    <xsl:when test="$paper.type = 'B6'">176mm</xsl:when>
-    <xsl:when test="$paper.type = 'B7'">125mm</xsl:when>
-    <xsl:when test="$paper.type = 'B8'">88mm</xsl:when>
-    <xsl:when test="$paper.type = 'B9'">62mm</xsl:when>
-    <xsl:when test="$paper.type = 'B10'">44mm</xsl:when>
-    <xsl:when test="$paper.type = 'C0'">1297mm</xsl:when>
-    <xsl:when test="$paper.type = 'C1'">917mm</xsl:when>
-    <xsl:when test="$paper.type = 'C2'">648mm</xsl:when>
-    <xsl:when test="$paper.type = 'C3'">458mm</xsl:when>
-    <xsl:when test="$paper.type = 'C4'">324mm</xsl:when>
-    <xsl:when test="$paper.type = 'C5'">229mm</xsl:when>
-    <xsl:when test="$paper.type = 'C6'">162mm</xsl:when>
-    <xsl:when test="$paper.type = 'C7'">114mm</xsl:when>
-    <xsl:when test="$paper.type = 'C8'">81mm</xsl:when>
-    <xsl:when test="$paper.type = 'C9'">57mm</xsl:when>
-    <xsl:when test="$paper.type = 'C10'">40mm</xsl:when>
-    <xsl:otherwise>11in</xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-<xsl:param name="page.margin.bottom">0.5in</xsl:param>
-<xsl:param name="page.margin.inner">
-  <xsl:choose>
-    <xsl:when test="$double.sided != 0">1.25in</xsl:when>
-    <xsl:otherwise>1in</xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-<xsl:param name="page.margin.outer">
-  <xsl:choose>
-    <xsl:when test="$double.sided != 0">0.75in</xsl:when>
-    <xsl:otherwise>1in</xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-<xsl:param name="page.margin.top">0.5in</xsl:param>
-<xsl:param name="page.orientation">portrait</xsl:param>
-<xsl:param name="page.width">
-  <xsl:choose>
-    <xsl:when test="$page.orientation = 'portrait'">
-      <xsl:value-of select="$page.width.portrait"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$page.height.portrait"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-<xsl:param name="page.width.portrait">
-  <xsl:choose>
-    <xsl:when test="$paper.type = 'USletter'">8.5in</xsl:when>
-    <xsl:when test="$paper.type = '4A0'">1682mm</xsl:when>
-    <xsl:when test="$paper.type = '2A0'">1189mm</xsl:when>
-    <xsl:when test="$paper.type = 'A0'">841mm</xsl:when>
-    <xsl:when test="$paper.type = 'A1'">594mm</xsl:when>
-    <xsl:when test="$paper.type = 'A2'">420mm</xsl:when>
-    <xsl:when test="$paper.type = 'A3'">297mm</xsl:when>
-    <xsl:when test="$paper.type = 'A4'">210mm</xsl:when>
-    <xsl:when test="$paper.type = 'A5'">148mm</xsl:when>
-    <xsl:when test="$paper.type = 'A6'">105mm</xsl:when>
-    <xsl:when test="$paper.type = 'A7'">74mm</xsl:when>
-    <xsl:when test="$paper.type = 'A8'">52mm</xsl:when>
-    <xsl:when test="$paper.type = 'A9'">37mm</xsl:when>
-    <xsl:when test="$paper.type = 'A10'">26mm</xsl:when>
-    <xsl:when test="$paper.type = 'B0'">1000mm</xsl:when>
-    <xsl:when test="$paper.type = 'B1'">707mm</xsl:when>
-    <xsl:when test="$paper.type = 'B2'">500mm</xsl:when>
-    <xsl:when test="$paper.type = 'B3'">353mm</xsl:when>
-    <xsl:when test="$paper.type = 'B4'">250mm</xsl:when>
-    <xsl:when test="$paper.type = 'B5'">176mm</xsl:when>
-    <xsl:when test="$paper.type = 'B6'">125mm</xsl:when>
-    <xsl:when test="$paper.type = 'B7'">88mm</xsl:when>
-    <xsl:when test="$paper.type = 'B8'">62mm</xsl:when>
-    <xsl:when test="$paper.type = 'B9'">44mm</xsl:when>
-    <xsl:when test="$paper.type = 'B10'">31mm</xsl:when>
-    <xsl:when test="$paper.type = 'C0'">917mm</xsl:when>
-    <xsl:when test="$paper.type = 'C1'">648mm</xsl:when>
-    <xsl:when test="$paper.type = 'C2'">458mm</xsl:when>
-    <xsl:when test="$paper.type = 'C3'">324mm</xsl:when>
-    <xsl:when test="$paper.type = 'C4'">229mm</xsl:when>
-    <xsl:when test="$paper.type = 'C5'">162mm</xsl:when>
-    <xsl:when test="$paper.type = 'C6'">114mm</xsl:when>
-    <xsl:when test="$paper.type = 'C7'">81mm</xsl:when>
-    <xsl:when test="$paper.type = 'C8'">57mm</xsl:when>
-    <xsl:when test="$paper.type = 'C9'">40mm</xsl:when>
-    <xsl:when test="$paper.type = 'C10'">28mm</xsl:when>
-    <xsl:otherwise>8.5in</xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-<xsl:param name="paper.type">USletter</xsl:param>
-<xsl:param name="part.autolabel">I</xsl:param>
-<xsl:param name="passivetex.extensions" select="0"/>
-<xsl:attribute-set name="pgwide.properties">
-  <xsl:attribute name="start-indent">0pt</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="preface.autolabel" select="0"/>
-<xsl:param name="preferred.mediaobject.role"/>
-<xsl:attribute-set name="procedure.properties" use-attribute-sets="formal.object.properties">
-  <xsl:attribute name="keep-together.within-column">auto</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="process.empty.source.toc" select="0"/>
-<xsl:param name="process.source.toc" select="0"/>
-<xsl:param name="profile.arch"/>
-<xsl:param name="profile.audience"/>
-<xsl:param name="profile.attribute"/>
-<xsl:param name="profile.condition"/>
-<xsl:param name="profile.conformance"/>
-<xsl:param name="profile.lang"/>
-<xsl:param name="profile.os"/>
-<xsl:param name="profile.revision"/>
-<xsl:param name="profile.revisionflag"/>
-<xsl:param name="profile.role"/>
-<xsl:param name="profile.security"/>
-<xsl:param name="profile.separator">;</xsl:param>
-<xsl:param name="profile.status"/>
-<xsl:param name="profile.userlevel"/>
-<xsl:param name="profile.value"/>
-<xsl:param name="profile.vendor"/>
-<xsl:param name="profile.wordsize"/>
-<xsl:param name="punct.honorific">.</xsl:param>
-<xsl:param name="qanda.defaultlabel">number</xsl:param>
-<xsl:param name="qanda.in.toc" select="0"/>
-<xsl:param name="qanda.nested.in.toc" select="0"/>
-<xsl:param name="qanda.inherit.numeration" select="1"/>
-<xsl:param name="qandadiv.autolabel" select="1"/>
-<xsl:attribute-set name="qanda.title.level1.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master * 2.0736"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="qanda.title.level2.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master * 1.728"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="qanda.title.level3.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master * 1.44"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="qanda.title.level4.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master * 1.2"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="qanda.title.level5.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="qanda.title.level6.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="qanda.title.properties">
-  <xsl:attribute name="font-family">
-    <xsl:value-of select="$title.font.family"/>
-  </xsl:attribute>
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-  <!-- font size is calculated dynamically by qanda.heading template -->
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-before.optimum">1.0em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="refentry.generate.name" select="1"/>
-<xsl:param name="refentry.generate.title" select="0"/>
-<xsl:param name="refentry.pagebreak" select="1"/>
-<xsl:attribute-set name="refentry.title.properties">
-  <xsl:attribute name="font-family">
-    <xsl:value-of select="$title.font.family"/>
-  </xsl:attribute>
-  <xsl:attribute name="font-size">18pt</xsl:attribute>
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-  <xsl:attribute name="space-after">1em</xsl:attribute>
-  <xsl:attribute name="hyphenate">false</xsl:attribute>
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-before.optimum">1.0em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
-  <xsl:attribute name="space-after.optimum">0.5em</xsl:attribute>
-  <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
-  <xsl:attribute name="space-after.maximum">0.6em</xsl:attribute>
-  <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"/></xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="refentry.xref.manvolnum" select="1"/>
-  <xsl:param name="reference.autolabel">I</xsl:param>
-<xsl:param name="refclass.suppress" select="0"/>
-<xsl:param name="region.after.extent">0.4in</xsl:param>
-<xsl:param name="region.before.extent">0.4in</xsl:param>
-<xsl:attribute-set name="revhistory.table.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="revhistory.table.cell.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="revhistory.title.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="root.properties">
-  <xsl:attribute name="font-family">
-    <xsl:value-of select="$body.fontset"/>
-  </xsl:attribute>
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.size"/>
-  </xsl:attribute>
-  <xsl:attribute name="text-align">
-    <xsl:value-of select="$alignment"/>
-  </xsl:attribute>
-  <xsl:attribute name="line-height">
-    <xsl:value-of select="$line-height"/>
-  </xsl:attribute>
-  <xsl:attribute name="font-selection-strategy">character-by-character</xsl:attribute>
-  <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="rootid"/>
-<xsl:param name="runinhead.default.title.end.punct">.</xsl:param>
-<xsl:param name="runinhead.title.end.punct">.!?:</xsl:param>
-<xsl:param name="sans.font.family">sans-serif</xsl:param>
-<xsl:param name="section.autolabel" select="0"/>
-<xsl:param name="section.autolabel.max.depth">8</xsl:param>
-<xsl:param name="section.container.element">block</xsl:param>
-<xsl:param name="section.label.includes.component.label" select="0"/>
-<xsl:attribute-set name="section.title.level1.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master * 2.0736"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="section.title.level2.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master * 1.728"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="section.title.level3.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master * 1.44"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="section.title.level4.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master * 1.2"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="section.title.level5.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="section.title.level6.properties">
-  <xsl:attribute name="font-size">
-    <xsl:value-of select="$body.font.master"/>
-    <xsl:text>pt</xsl:text>
-  </xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="section.title.properties">
-  <xsl:attribute name="font-family">
-    <xsl:value-of select="$title.font.family"/>
-  </xsl:attribute>
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-  <!-- font size is calculated dynamically by section.heading template -->
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-before.optimum">1.0em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
-  <xsl:attribute name="text-align">left</xsl:attribute>
-  <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"/></xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="section.level1.properties" use-attribute-sets="section.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="section.level2.properties" use-attribute-sets="section.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="section.level3.properties" use-attribute-sets="section.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="section.level4.properties" use-attribute-sets="section.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="section.level5.properties" use-attribute-sets="section.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="section.level6.properties" use-attribute-sets="section.properties">
-</xsl:attribute-set>
-<xsl:attribute-set name="section.properties">
-</xsl:attribute-set>
-<xsl:param name="segmentedlist.as.table" select="0"/>
-<xsl:param name="shade.verbatim" select="0"/>
-
-<xsl:attribute-set name="shade.verbatim.style">
-  <xsl:attribute name="background-color">#E0E0E0</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="show.comments" select="1"/>
-<xsl:attribute-set name="sidebar.properties" use-attribute-sets="formal.object.properties">
-  <xsl:attribute name="border-style">solid</xsl:attribute>
-  <xsl:attribute name="border-width">1pt</xsl:attribute>
-  <xsl:attribute name="border-color">black</xsl:attribute>
-  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
-  <xsl:attribute name="padding-left">12pt</xsl:attribute>
-  <xsl:attribute name="padding-right">12pt</xsl:attribute>
-  <xsl:attribute name="padding-top">6pt</xsl:attribute>
-  <xsl:attribute name="padding-bottom">6pt</xsl:attribute>
-  <xsl:attribute name="margin-left">0pt</xsl:attribute>
-  <xsl:attribute name="margin-right">0pt</xsl:attribute>
-<!--
-  <xsl:attribute name="margin-top">6pt</xsl:attribute>
-  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
--->
-</xsl:attribute-set>
-<xsl:attribute-set name="sidebar.title.properties">
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-  <xsl:attribute name="hyphenate">false</xsl:attribute>
-  <xsl:attribute name="text-align">start</xsl:attribute>
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="sidebar.float.type">none</xsl:param>
-<xsl:param name="sidebar.float.width">1in</xsl:param>
-<xsl:param name="simplesect.in.toc" select="0"/>
-<xsl:attribute-set name="subscript.properties">
-  <xsl:attribute name="font-size">75%</xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="superscript.properties">
-  <xsl:attribute name="font-size">75%</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="symbol.font.family">Symbol,ZapfDingbats</xsl:param>
-
-<xsl:param name="table.cell.border.color">black</xsl:param>
-<xsl:param name="table.cell.border.style">solid</xsl:param>
-<xsl:param name="table.cell.border.thickness">0.5pt</xsl:param>
-<xsl:attribute-set name="table.cell.padding">
-  <xsl:attribute name="padding-left">2pt</xsl:attribute>
-  <xsl:attribute name="padding-right">2pt</xsl:attribute>
-  <xsl:attribute name="padding-top">2pt</xsl:attribute>
-  <xsl:attribute name="padding-bottom">2pt</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="table.footnote.number.format">a</xsl:param>
-<xsl:param name="table.footnote.number.symbols"/>
-<xsl:attribute-set name="table.footnote.properties">
-  <xsl:attribute name="font-family"><xsl:value-of select="$body.fontset"/></xsl:attribute>
-  <xsl:attribute name="font-size"><xsl:value-of select="$footnote.font.size"/></xsl:attribute>
-  <xsl:attribute name="font-weight">normal</xsl:attribute>
-  <xsl:attribute name="font-style">normal</xsl:attribute>
-  <xsl:attribute name="space-before">2pt</xsl:attribute>
-  <xsl:attribute name="text-align"><xsl:value-of select="$alignment"/></xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:param name="table.frame.border.color">black</xsl:param>
-<xsl:param name="table.frame.border.style">solid</xsl:param>
-<xsl:param name="table.frame.border.thickness">0.5pt</xsl:param>
-<xsl:attribute-set name="table.properties" use-attribute-sets="formal.object.properties"/>
-<xsl:param name="tablecolumns.extension" select="1"/>
-<xsl:attribute-set name="table.table.properties">
-  <xsl:attribute name="border-before-width.conditionality">retain</xsl:attribute>
-  <xsl:attribute name="border-collapse">collapse</xsl:attribute>
-</xsl:attribute-set>
- <xsl:param name="target.database.document">olinkdb.xml</xsl:param>
-<xsl:param name="targets.filename">target.db</xsl:param>
-<xsl:param name="textdata.default.encoding"/>
-<xsl:param name="tex.math.delims" select="1"/>
-<xsl:param name="tex.math.in.alt"/>
-  <xsl:param name="textinsert.extension" select="1"/>
-<xsl:param name="title.font.family">sans-serif</xsl:param>
-<xsl:param name="title.margin.left">
-  <xsl:choose>
-    <xsl:when test="$fop.extensions != 0">-4pc</xsl:when>
-    <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when>
-    <xsl:otherwise>0pt</xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-<xsl:param name="toc.indent.width">24</xsl:param>
-<!-- inconsistant point specification? -->
-<xsl:attribute-set name="toc.line.properties">
-  <xsl:attribute name="text-align-last">justify</xsl:attribute>
-  <xsl:attribute name="text-align">start</xsl:attribute>
-  <xsl:attribute name="end-indent"><xsl:value-of select="concat($toc.indent.width, 'pt')"/></xsl:attribute>
-  <xsl:attribute name="last-line-end-indent"><xsl:value-of select="concat('-', $toc.indent.width, 'pt')"/></xsl:attribute>
-</xsl:attribute-set>
-<xsl:attribute-set name="toc.margin.properties">
-  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
-  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
-  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
-  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="toc.max.depth">8</xsl:param>
-<xsl:param name="toc.section.depth">2</xsl:param>
-<xsl:param name="ulink.footnotes" select="0"/>
-<xsl:param name="ulink.hyphenate"/>
-<xsl:param name="ulink.hyphenate.chars">/</xsl:param>
-<xsl:param name="ulink.show" select="1"/>
-<xsl:param name="use.extensions" select="0"/>
-<xsl:param name="use.local.olink.style" select="0"/> 
-<xsl:param name="use.role.as.xrefstyle" select="1"/>
-<xsl:param name="use.role.for.mediaobject" select="1"/>
-<xsl:param name="use.svg" select="1"/>
-<xsl:param name="variablelist.as.blocks" select="0"/>
-<xsl:param name="variablelist.max.termlength">24</xsl:param>
-<xsl:param name="variablelist.term.separator">, </xsl:param>
-<xsl:param name="variablelist.term.break.after">0</xsl:param>
-<xsl:attribute-set name="verbatim.properties">
-  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
-  <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute>
-  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
-  <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute>
-  <xsl:attribute name="hyphenate">false</xsl:attribute>
-  <xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
-  <xsl:attribute name="white-space-collapse">false</xsl:attribute>
-  <xsl:attribute name="white-space-treatment">preserve</xsl:attribute>
-  <xsl:attribute name="linefeed-treatment">preserve</xsl:attribute>
-  <xsl:attribute name="text-align">start</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="xep.extensions" select="0"/>
-<xsl:attribute-set name="xep.index.item.properties" use-attribute-sets="index.page.number.properties">
-  <xsl:attribute name="merge-subsequent-page-numbers">true</xsl:attribute>
-  <xsl:attribute name="link-back">true</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="xref.label-page.separator"><xsl:text> </xsl:text></xsl:param>
-<xsl:param name="xref.label-title.separator">: </xsl:param>
-<xsl:attribute-set name="xref.properties">
-</xsl:attribute-set>
-<xsl:param name="xref.title-page.separator"><xsl:text> </xsl:text></xsl:param>
-<xsl:param name="xref.with.number.and.title" select="1"/>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/passivetex.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/passivetex.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,36 +1,0 @@
-<?xml version='1.0' encoding="utf-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-      This extension stops PassiveTeX from merging subsequent '-' to 
-      dashes. You must set passivetex.extensions to '1' if you want get
-      this functionality.
-     ******************************************************************** -->
-
-<xsl:template name="passivetex.dash.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '--')">
-      <xsl:variable name="rest">
-        <xsl:call-template name="passivetex.dash.subst">
-          <xsl:with-param name="string"
-                          select="concat('-', substring-after($string, '--'))"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:value-of select="concat(substring-before($string, '--'),
-                                   '-&#x200b;',
-                                   $rest)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$string"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/pdf2index
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/pdf2index	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,140 +1,0 @@
-#!/usr/bin/perl -- # -*- Perl -*-
-
-# this needs some cleanup...
-
-my $PSTOTEXT = "pstotext";
-
-my $pdf = shift @ARGV;
-
-my $index = "";
-my $inindex = 0;
-open (F, "$PSTOTEXT $pdf |");
-while (<F>) {
-    if (/^<\/index/) {
-	$index .= $_;
-	$inindex = 0;
-    }
-    $inindex = 1 if /^<index/;
-
-    if ($inindex) {
-	$index .= $_ if /^\s*</;
-    }
-}
-
-my $cindex = "";
-while ($index =~ /^(.*?)((<phrase role=\"pageno\">.*?<\/phrase>\s*)+)/s) {
-    $cindex .= $1;
-    $_ = $2;
-    $index = $'; # '
-
-    my @pages = m/<phrase role=\"pageno\">.*?<\/phrase>\s*/sg;
-
-    # Expand ranges
-    if ($#pages >= 0) {
-	my @mpages = ();
-	foreach my $page (@pages) {
-	    my $pageno = &pageno($page);
-	    if ($pageno =~ /^([0-9]+)[^0-9]([0-9]+)$/) { # funky -
-		for (my $count = $1; $count <= $2; $count++) {
-		    push (@mpages, "<phrase role=\"$pageno\">$count</phrase>");
-		}
-	    } else {
-		push (@mpages, $page);
-	    }
-	}
-	@pages = sort rangesort @mpages;
-    }
-
-    # Remove duplicates...
-    if ($#pages > 0) {
-	my @mpages = ();
-	my $current = "";
-	foreach my $page (@pages) {
-	    my $pageno = &pageno($page);
-	    if ($pageno ne $current) {
-		push (@mpages, $page);
-		$current = $pageno;
-	    }
-	}
-	@pages = @mpages;
-    }
-
-    # Collapse ranges...
-    if ($#pages > 1) {
-	my @cpages = ();
-	while (@pages) {
-	    my $count = 0;
-	    my $len = &rangelen($count, @pages);
-	    if ($len <= 2) {
-		my $page = shift @pages;
-		push (@cpages, $page);
-	    } else {
-		my $fpage = shift @pages;
-		my $lpage = "";
-		while ($len > 1) {
-		    $lpage = shift @pages;
-		    $len--;
-		}
-		my $fpno = &pageno($fpage);
-		my $lpno = &pageno($lpage);
-		$fpage =~ s/>$fpno</>${fpno}-$lpno</s;
-		push (@cpages, $fpage);
-	    }
-	}
-	@pages = @cpages;
-    }
-
-    my $page = shift @pages;
-    $page =~ s/\s*$//s;
-    $cindex .= $page;
-    while (@pages) {
-	$page = shift @pages;
-	$page =~ s/\s*$//s;
-	$cindex .= ", $page";
-    }
-}
-$cindex .= $index;
-
-print "$cindex\n";
-
-sub pageno {
-    my $page = shift;
-
-    $page =~ s/^<phrase.*?>//;
-    $page =~ s/^<link.*?>//;
-
-    return $1 if $page =~ /^([^<>]+)/;
-    return "?";
-}
-
-sub rangesort {
-    my $apno = &pageno($a);
-    my $bpno = &pageno($b);
-
-    # Make sure roman pages come before arabic ones, otherwise sort them in order
-    return -1 if ($apno !~ /^\d+/ && $bpno =~ /^\d+/);
-    return  1 if ($apno =~ /^\d+/ && $bpno !~ /^\d+/);
-    return $apno <=> $bpno;
-}
-
-sub rangelen {
-    my $count = shift;
-    my @pages = @_;
-    my $len = 1;
-    my $inrange = 1;
-
-    my $current = &pageno($pages[$count]);
-    while ($count < $#pages && $inrange) {
-	$count++;
-	my $next = &pageno($pages[$count]);
-	if ($current + 1 eq $next) {
-	    $current = $next;
-	    $inrange = 1;
-	    $len++;
-	} else {
-	    $inrange = 0;
-	}
-    }
-
-    return $len;
-}
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/pi.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/pi.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1008 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-  xmlns:fo="http://www.w3.org/1999/XSL/Format"
-  xmlns:xlink="http://www.w3.org/1999/xlink"
-  exclude-result-prefixes="doc"
-  version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<doc:reference xmlns=""><info><title>FO Processing Instruction Reference</title>
-    <releaseinfo role="meta">
-      $Id$
-    </releaseinfo>
-  </info>
-
-  <partintro id="partintro">
-    <title>Introduction</title>
-
-    <para>This is generated reference documentation for all
-      user-specifiable processing instructions (PIs) in the DocBook
-      XSL stylesheets for FO output.
-      <note>
-        <para>You add these PIs at particular points in a document to
-          cause specific âexceptionsâ to formatting/output behavior. To
-          make global changes in formatting/output behavior across an
-          entire document, itâs better to do it by setting an
-          appropriate stylesheet parameter (if there is one).</para>
-      </note>
-    </para>
-  </partintro>
-</doc:reference>
-
-<!-- ==================================================================== -->
-
-<doc:pi name="dbfo_background-color" xmlns="">
-  <refpurpose>Sets background color for an image</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo background-color</tag> PI before or
-      after an image (<tag>graphic</tag>, <tag>inlinegraphic</tag>,
-      <tag>imagedata</tag>, or <tag>videodata</tag> element) as a
-      sibling to the element, to set a background color for the
-      image.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo background-color="<replaceable>color</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>background-color="<replaceable>color</replaceable>"</term>
-        <listitem>
-          <para>An HTML color value</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="BGcolor.html"
-        >Background color</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_background-color">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'background-color'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_bgcolor" xmlns="">
-  <refpurpose>Sets background color on a table row or table cell</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo bgcolor</tag> PI as child of a table row
-      or cell to set a background color for that table row or cell.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo bgcolor="<replaceable>color</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>bgcolor="<replaceable>color</replaceable>"</term>
-        <listitem>
-          <para>An HTML color value</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="BGtableColor.html#CellBGColor"
-        >Cell background color</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_bgcolor">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'bgcolor'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_float-type" xmlns="">
-  <refpurpose>Specifies float behavior for a sidebar</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo float-type</tag> PI to specify the float
-      behavior for a <tag>sidebar</tag> (to cause the sidebar to be
-      displayed as a marginal note).</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo float-type="margin.note"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>float-type="margin.note"</term>
-        <listitem>
-          <para>Specifies that the <tag>sidebar</tag> should be
-            displayed as a marginal note.</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para><parameter>sidebar.float.type parameter</parameter>,
-      <parameter>sidebar.float.width parameter</parameter>, 
-      <parameter>sidebar.properties attribute-set</parameter>,
-      <parameter>sidebar.title.properties</parameter>
-    </para>
-  </refsee>
-  <refsee role="tcg">
-    <para><link xlink:href="SideFloats.html#SidebarFloats" >A sidebar as
-        side float</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_float-type">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'float-type'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_glossary-presentation" xmlns="">
-  <refpurpose>Specifies presentation style for a glossary</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo glossary-presentation</tag> PI as a child of
-      a <tag>glossary</tag> to control its presentation style.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo glossary-presentation="list"|"blocks"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>glossary-presentation="list"</term>
-        <listitem>
-          <para>Displays the glossary as a list</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>glossary-presentation="blocks"</term>
-        <listitem>
-          <para>Displays the glossary as blocks</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para><parameter>glossary.as.blocks</parameter></para>
-  </refsee>
-  <refsee role="tcg">
-    <para><link xlink:href="Glossaries.html#GlossaryFormatPrint" >Glossary
-        formatting in print</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_glossary-presentation">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'glossary-presentation'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_glosslist-presentation" xmlns="">
-  <refpurpose>Specifies presentation style for a glosslist</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo glosslist-presentation</tag> PI as a child of
-      a <tag>glosslist</tag> to control its presentation style.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo glosslist-presentation="list"|"blocks"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>glosslist-presentation="list"</term>
-        <listitem>
-          <para>Displays the glosslist as a list</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>glosslist-presentation="blocks"</term>
-        <listitem>
-          <para>Displays the glosslist as blocks</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para><parameter>glosslist.as.blocks</parameter> </para>
-  </refsee>
-  <refsee role="tcg">
-    <para><link xlink:href="Glossaries.html#GlossaryFormatPrint" >Glossary
-        formatting in print</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_glosslist-presentation">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'glosslist-presentation'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_glossterm-width" xmlns="">
-  <refpurpose>Specifies the glossterm width for a glossary or
-    glosslist</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo glossterm-width</tag> PI as a child of a
-      <tag>glossary</tag> or <tag>glosslist</tag> to specify the
-      width for output of <tag>glossterm</tag> instances in the
-      output.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo glossterm-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>glossterm-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the glossterm width (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para><parameter>glossterm.width</parameter>,
-      <parameter>glossterm.separation</parameter>
-    </para>
-  </refsee>
-  <refsee role="tcg">
-    <para><link xlink:href="Glossaries.html#GlossaryFormatPrint" >Glossary
-        formatting in print</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_glossterm-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'glossterm-width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_keep-together" xmlns="">
-  <refpurpose>Specifies âkeepâ behavior for a table, example,
-    figure, or equation</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo keep-together</tag> PI as a child of a
-      formal object (<tag>table</tag>, <tag>example</tag>,
-      <tag>figure</tag>, or <tag>equation</tag>) or their informal
-      equivalents) to specify âkeepâ behavior for the object (to
-      allow the object to âbreakâ across a page).</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo keep-together="auto"|"always"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>keep-together="auto"</term>
-        <listitem>
-          <para>Enables the object to break across a page</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>keep-together="always"</term>
-        <listitem>
-          <para>Prevents the object from breaking across a page (the
-            default stylesheet behavior)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para>formal.object.properties</para>
-  </refsee>
-  <refsee role="tcg">
-    <para><link xlink:href="PageBreaking.html#KeepTogetherPI"
-        >Keep-together processing instruction</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_keep-together">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'keep-together'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_label-width" xmlns="">
-  <refpurpose>Specifies the label width for a qandaset</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo label-width</tag> PI as a child of a
-      <tag>qandaset</tag> to specify the width of labels.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo label-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>label-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the label width (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="QandAformat.html"
-        >Q and A formatting</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_label-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'label-width'"/>
-  </xsl:call-template>
-</xsl:template> 
-
-<doc:pi name="dbfo_linenumbering.everyNth" xmlns="">
-  <refpurpose>Specifies interval for lines numbers in verbatims</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo linenumbering.everyNth</tag> PI as a child
-      of a âverbatimâ element â <tag>programlisting</tag>,
-      <tag>screen</tag>, <tag>synopsis</tag> â to specify
-      the interval at which lines are numbered.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo linenumbering.everyNth="<replaceable>N</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>linenumbering.everyNth="<replaceable>N</replaceable>"</term>
-        <listitem>
-          <para>Specifies numbering interval; a number is output
-            before every <replaceable>N</replaceable>th line</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para><parameter>linenumbering.everyNth</parameter></para>
-  </refsee>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="AnnotateListing.html#LineNumbering"
-        >Line numbering</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_linenumbering.everyNth">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'linenumbering.everyNth'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_linenumbering.separator" xmlns="">
-  <refpurpose>Specifies separator text for line numbers in verbatims</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo linenumbering.separator</tag> PI as a child
-      of a âverbatimâ element â <tag>programlisting</tag>,
-      <tag>screen</tag>, <tag>synopsis</tag> â to specify
-      the separator text output between the line numbers and content.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo linenumbering.separator="<replaceable>text</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>linenumbering.separator="<replaceable>text</replaceable>"</term>
-        <listitem>
-          <para>Specifies the text (zero or more characters)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para><parameter>linenumbering.separator</parameter></para>
-  </refsee>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="AnnotateListing.html#LineNumbering"
-        >Line numbering</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_linenumbering.separator">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'linenumbering.separator'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_linenumbering.width" xmlns="">
-  <refpurpose>Specifies width for line numbers in verbatims</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo linenumbering.width</tag> PI as a child
-      of a âverbatimâ element â <tag>programlisting</tag>,
-      <tag>screen</tag>, <tag>synopsis</tag> â to specify
-      the width set aside for line numbers.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo linenumbering.width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>linenumbering.width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the width (inluding units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para><parameter>linenumbering.width</parameter></para>
-  </refsee>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="AnnotateListing.html#LineNumbering"
-        >Line numbering</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_linenumbering.width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'linenumbering.width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_list-presentation" xmlns="">
-  <refpurpose>Specifies presentation style for a variablelist or
-    segmentedlist</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo list-presentation</tag> PI as a child of
-      a <tag>variablelist</tag> or <tag>segmentedlist</tag> to
-      control the presentation style for the list (to cause it, for
-      example, to be displayed as a table).</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo list-presentation="list"|"blocks"|"table"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>list-presentation="list"</term>
-        <listitem>
-          <para>Displays the list as a list</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>list-presentation="blocks"</term>
-        <listitem>
-          <para>(<tag>variablelist</tag> only) Displays the list as blocks</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>list-presentation="table"</term>
-        <listitem>
-          <para>(<tag>segmentedlist</tag> only) Displays the list as a table</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <itemizedlist>
-      <listitem>
-        <para><parameter>variablelist.as.blocks</parameter></para>
-      </listitem>
-      <listitem>
-        <para><parameter>variablelist.as.table</parameter></para>
-      </listitem>
-    </itemizedlist>
-  </refsee>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="Variablelists.html#ListIndents"
-        >Variable list formatting in print</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_list-presentation">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'list-presentation'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_list-width" xmlns="">
-  <refpurpose>Specifies the width of a horizontal simplelist</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo list-width</tag> PI as a child of a
-      <tag>simplelist</tag> whose <tag class="attribute">class</tag>
-      value is <literal>horizontal</literal>, to specify the width
-      of the <tag>simplelist</tag>.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo list-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>list-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the <tag>simplelist</tag> width (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-</doc:pi>
-<xsl:template name="pi.dbfo_list-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'list-width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_orientation" xmlns="">
-  <refpurpose>Specifies the orientation for table row or cell</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo orientation</tag> PI as a child of an
-      <tag>table</tag> row or cell to specify the orientation
-      (rotation) for the row or cell.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo orientation="0"|"90"|"180"|"270"|"-90"|"-180"|"-270"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>orientation="0"|"90"|"180"|"270"|"-90"|"-180"|"-270"</term>
-        <listitem>
-          <para>Specifies the number of degrees by which the cell or
-            row is rotated</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-</doc:pi>
-<xsl:template name="pi.dbfo_orientation">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'orientation'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_pgwide" xmlns="">
-  <refpurpose>Specifies if an <tag>equation</tag> or <tag>example</tag> goes across full page width</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo pgwide</tag> PI as a child of an
-      <tag>equation</tag> or <tag>example</tag> to specify that the
-      content should rendered across the full width of the page.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo pgwide="0"|"1"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>pgwide="0"</term>
-        <listitem>
-          <para>If zero, the content is rendered across the current
-            text flow</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>pgwide="1"</term>
-        <listitem>
-          <para>If <code>1</code> (or any non-zero value), the
-            content is rendered across the full width of the page</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para><parameter>pgwide.properties</parameter></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_pgwide">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'pgwide'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_rotated-width" xmlns="">
-  <refpurpose>Specifies the width for a table <tag>entry</tag> or
-    <tag>row</tag></refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo rotated-width</tag> PI as a child of an
-      <tag>entry</tag> or <tag>row</tag> instance to specify the
-      width of that the <tag>entry</tag> or <tag>row</tag>; or
-      use it higher up in table to cause the width to be inherited
-      recursively down.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo rotated-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>rotated-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the width of a row or cell (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-</doc:pi>
-<xsl:template name="pi.dbfo_rotated-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'rotated-width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_sidebar-width" xmlns="">
-  <refpurpose>Specifies the width of a sidebar</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo sidebar-width</tag> PI as a child of a
-      <tag>sidebar</tag> to specify the width of the sidebar.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo sidebar-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>sidebar-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the <tag>sidebar</tag> width (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="params">
-    <para><parameter>sidebar.float.type parameter</parameter>,
-      <parameter>sidebar.float.width parameter</parameter>, 
-      <parameter>sidebar.properties attribute-set</parameter>,
-      <parameter>sidebar.title.properties</parameter>
-    </para>
-  </refsee>
-  <refsee role="tcg">
-    <para><link xlink:href="SideFloats.html#SidebarFloats" >A sidebar as
-        side float</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_sidebar-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'sidebar-width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_start" xmlns="">
-  <refpurpose>(obsolete) Sets the starting number on an ordered list</refpurpose>
-  <refdescription>
-    <para><emphasis>This PI is obsolete</emphasis>. The intent of
-      it was to provide a means for setting a specific starting
-      number for an ordered list. Instead of this PI, set a value
-      for the <literal>override</literal> attribute on the first
-      <tag>listitem</tag> in the list; that will have the same
-      effect as what this PI was intended for.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo start="<replaceable>character</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>start="<replaceable>character</replaceable>"</term>
-        <listitem>
-          <para>Specifies the character to use as the starting
-            number; use 0-9, a-z, A-Z, or lowercase or uppercase
-            Roman numerals</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="Orderedlists.html#ListStartNum"
-        >List starting number</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_start">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="pi-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'start'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_table-width" xmlns="">
-  <refpurpose>Specifies the width for a table or for revhistory
-    output</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo table-width</tag> PI as a child or
-      sibling of a <tag>table</tag>, or as a child of an
-      <tag>informaltable</tag>, <tag>entrybl</tag>, or
-      <tag>revhistory</tag> instance (which is rendered as a table
-      in output) to specify the width of the table in output.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo table-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>table-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the table width (including units or as a percentage)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="Tables.html#TableWidth"
-        >Table width</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_table-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'table-width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_term-width" xmlns="">
-  <refpurpose>Specifies the term width for a variablelist</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo term-width</tag> PI as a child of a
-      <tag>variablelist</tag> to specify the width for
-      <tag>term</tag> output.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo term-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>term-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the term width (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="Variablelists.html#ListIndents"
-        >Variable list formatting in print</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_term-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'term-width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo_toc" xmlns="">
-  <refpurpose>Specifies whether a TOC should be generated for a qandaset</refpurpose>
-  <refdescription>
-    <para>Use the <tag class="xmlpi">dbfo toc</tag> PI as a child of a
-      <tag>qandaset</tag> to specify whether a table of contents
-      (TOC) is generated for the <tag>qandaset</tag>.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo toc="0"|"1"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>toc="0"</term>
-        <listitem>
-          <para>If zero, no TOC is generated</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>toc="1"</term>
-        <listitem>
-          <para>If <code>1</code> (or any non-zero value),
-            a TOC is generated</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="QandAtoc.html"
-        >Q and A list of questions</link>,
-      <link role="tcg"
-        xlink:href="QandAformat.html"
-        >Q and A formatting</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo_toc">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbfo-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
-    <xsl:with-param name="attribute" select="'toc'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi name="dbfo-need" xmlns="">
-  <refpurpose>Specify a need for space (a kind of soft page break)</refpurpose>
-  <refdescription>
-    <para>A âneedâ is a request for space on a page.  If the
-      requested space is not available, the page breaks and the
-      content that follows the need request appears on the next
-      page. If the requested space is available, then no page break
-      is inserted.</para>
-  </refdescription>
-  <refsynopsisdiv>
-    <synopsis><tag class="xmlpi">dbfo-need height="<replaceable>n</replaceable>" [space-before="<replaceable>n</replaceable>"]</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter>
-    <variablelist>
-      <varlistentry><term>height="<replaceable>n</replaceable>"</term>
-        <listitem>
-          <para>The amount of height needed (including units)</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>space-before="<replaceable>n</replaceable>"</term>
-        <listitem>
-          <para>The amount of extra vertical space to add (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee role="tcg">
-    <para><link role="tcg"
-        xlink:href="PageBreaking.html#SoftPageBreaks"
-        >Soft page breaks</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbfo-need">
-  <xsl:variable name="pi-height">
-    <xsl:call-template name="dbfo-attribute">
-      <xsl:with-param name="pis" select="."/>
-      <xsl:with-param name="attribute" select="'height'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="height">
-    <xsl:choose>
-      <xsl:when test="$pi-height != ''">
-        <xsl:value-of select="$pi-height"/>
-      </xsl:when>
-      <xsl:otherwise>0pt</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="pi-before">
-    <xsl:call-template name="dbfo-attribute">
-      <xsl:with-param name="pis" select="."/>
-      <xsl:with-param name="attribute" select="'space-before'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="spacer">
-    <fo:block-container width="100%" height="{$height}">
-      <fo:block><fo:leader leader-length="0pt"/></fo:block>
-    </fo:block-container>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$fop.extensions != 0">
-      <!-- Doesn't work in fop -->
-    </xsl:when>
-    <xsl:when test="$pi-before != '' and
-      not(following-sibling::listitem) and
-      not(following-sibling::step)">
-      <fo:block space-after="0pt" space-before="{$pi-before}">
-        <xsl:copy-of select="$spacer"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="following-sibling::para">
-      <fo:block space-after="0pt" 
-        xsl:use-attribute-sets="normal.para.spacing">
-        <xsl:copy-of select="$spacer"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="following-sibling::table or
-      following-sibling::figure or
-      following-sibling::example or
-      following-sibling::equation">
-      <fo:block space-after="0pt" 
-        xsl:use-attribute-sets="formal.object.properties">
-        <xsl:copy-of select="$spacer"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="following-sibling::informaltable or
-      following-sibling::informalfigure or
-      following-sibling::informalexample or
-      following-sibling::informalequation">
-      <fo:block space-after="0pt" 
-        xsl:use-attribute-sets="informal.object.properties">
-        <xsl:copy-of select="$spacer"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="following-sibling::itemizedlist or
-      following-sibling::orderedlist or
-      following-sibling::variablelist or
-      following-sibling::simplelist">
-      <fo:block space-after="0pt" 
-        xsl:use-attribute-sets="informal.object.properties">
-        <xsl:copy-of select="$spacer"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:when test="following-sibling::listitem or
-      following-sibling::step">
-      <fo:list-item space-after="0pt" 
-        xsl:use-attribute-sets="informal.object.properties">
-        <fo:list-item-label/>
-        <fo:list-item-body start-indent="0pt" end-indent="0pt">
-          <xsl:copy-of select="$spacer"/>
-        </fo:list-item-body>
-      </fo:list-item>
-    </xsl:when>
-    <xsl:when test="following-sibling::sect1 or
-      following-sibling::sect2 or
-      following-sibling::sect3 or
-      following-sibling::sect4 or
-      following-sibling::sect5 or
-      following-sibling::section">
-      <fo:block space-after="0pt" 
-        xsl:use-attribute-sets="section.title.properties">
-        <xsl:copy-of select="$spacer"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block space-after="0pt" space-before="0em">
-        <xsl:copy-of select="$spacer"/>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="$fop.extensions != 0">
-      <!-- Doesn't work in fop -->
-    </xsl:when>
-    <xsl:when test="following-sibling::listitem or
-      following-sibling::step">
-      <fo:list-item space-before.precedence="force"
-        space-before="-{$height}"
-        space-after="0pt"
-        space-after.precedence="force">
-        <fo:list-item-label/>
-        <fo:list-item-body start-indent="0pt" end-indent="0pt"/>
-      </fo:list-item>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block space-before.precedence="force"
-        space-before="-{$height}"
-        space-after="0pt"
-        space-after.precedence="force">
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="dbfo-attribute">
-  <!-- * dbfo-attribute is an interal utility template for retrieving -->
-  <!-- * pseudo-attributes/parameters from PIs -->
-  <xsl:param name="pis" select="processing-instruction('dbfo')"/>
-  <xsl:param name="attribute">filename</xsl:param>
-  <xsl:call-template name="pi-attribute">
-    <xsl:with-param name="pis" select="$pis"/>
-    <xsl:with-param name="attribute" select="$attribute"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="processing-instruction()">
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="processing-instruction('dbfo-need')">
-  <xsl:call-template name="pi.dbfo-need"/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/profile-docbook.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/profile-docbook.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,284 +1,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!--This file was created automatically by xsl2profile-->
-<!--from the DocBook XSL stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:ng="http://docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook" xmlns:exslt="http://exslt.org/common" exslt:dummy="dummy" ng:dummy="dummy" db:dummy="dummy" extension-element-prefixes="exslt" exclude-result-prefixes="db ng exsl exslt" version="1.0">
-
-<!-- It is important to use indent="no" here, otherwise verbatim -->
-<!-- environments get broken by indented tags...at least when the -->
-<!-- callout extension is used...at least with some processors -->
-<xsl:output method="xml" indent="no"/>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:include href="../VERSION"/>
-<xsl:include href="param.xsl"/>
-<xsl:include href="../lib/lib.xsl"/>
-<xsl:include href="../common/l10n.xsl"/>
-<xsl:include href="../common/common.xsl"/>
-<xsl:include href="../common/utility.xsl"/>
-<xsl:include href="../common/labels.xsl"/>
-<xsl:include href="../common/titles.xsl"/>
-<xsl:include href="../common/subtitles.xsl"/>
-<xsl:include href="../common/gentext.xsl"/>
-<xsl:include href="../common/olink.xsl"/>
-<xsl:include href="../common/targets.xsl"/>
-<xsl:include href="../common/pi.xsl"/>
-<xsl:include href="autotoc.xsl"/>
-<xsl:include href="autoidx.xsl"/>
-<xsl:include href="lists.xsl"/>
-<xsl:include href="callout.xsl"/>
-<xsl:include href="verbatim.xsl"/>
-<xsl:include href="graphics.xsl"/>
-<xsl:include href="xref.xsl"/>
-<xsl:include href="formal.xsl"/>
-<xsl:include href="table.xsl"/>
-<xsl:include href="htmltbl.xsl"/>
-<xsl:include href="sections.xsl"/>
-<xsl:include href="inline.xsl"/>
-<xsl:include href="footnote.xsl"/>
-<xsl:include href="fo.xsl"/>
-<xsl:include href="fo-rtf.xsl"/>
-<xsl:include href="info.xsl"/>
-<xsl:include href="keywords.xsl"/>
-<xsl:include href="division.xsl"/>
-<xsl:include href="index.xsl"/>
-<xsl:include href="toc.xsl"/>
-<xsl:include href="refentry.xsl"/>
-<xsl:include href="math.xsl"/>
-<xsl:include href="admon.xsl"/>
-<xsl:include href="component.xsl"/>
-<xsl:include href="biblio.xsl"/>
-<xsl:include href="biblio-iso690.xsl"/>
-<xsl:include href="glossary.xsl"/>
-<xsl:include href="block.xsl"/>
-<xsl:include href="task.xsl"/>
-<xsl:include href="qandaset.xsl"/>
-<xsl:include href="synop.xsl"/>
-<xsl:include href="titlepage.xsl"/>
-<xsl:include href="titlepage.templates.xsl"/>
-<xsl:include href="pagesetup.xsl"/>
-<xsl:include href="pi.xsl"/>
-<xsl:include href="spaces.xsl"/>
-<xsl:include href="ebnf.xsl"/>
-<xsl:include href="../html/chunker.xsl"/>
-<xsl:include href="annotations.xsl"/>
-<xsl:include href="../common/stripns.xsl"/>
-
-<xsl:include href="fop.xsl"/>
-<xsl:include href="fop1.xsl"/>
-<xsl:include href="passivetex.xsl"/>
-<xsl:include href="xep.xsl"/>
-<xsl:include href="axf.xsl"/>
-<xsl:include href="ptc.xsl"/>
-
-<xsl:param name="stylesheet.result.type" select="'fo'"/>
-
-<!-- ==================================================================== -->
-
-<xsl:key name="id" match="*" use="@id|@xml:id"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*">
-  <xsl:message>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text> encountered</xsl:text>
-    <xsl:if test="parent::*">
-      <xsl:text> in </xsl:text>
-      <xsl:value-of select="name(parent::*)"/>
-    </xsl:if>
-    <xsl:text>, but no template matches.</xsl:text>
-  </xsl:message>
-  <fo:block color="red">
-    <xsl:text>&lt;</xsl:text>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text>&gt;</xsl:text>
-    <xsl:apply-templates/> 
-    <xsl:text>&lt;/</xsl:text>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text>&gt;</xsl:text>
-  </fo:block>
-</xsl:template>
-
-<!-- Update this list if new root elements supported -->
-<xsl:variable name="root.elements" select="' appendix article bibliography book chapter colophon dedication glossary index part preface qandaset refentry reference sect1 section set setindex '"/>
-
-<xslo:include xmlns:xslo="http://www.w3.org/1999/XSL/Transform" href="../profiling/profile-mode.xsl"/><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profiled-content"><xslo:choose><xslo:when test="*/self::ng:* or */self::db:*"><xslo:message>Note: namesp. cut : stripped namespace before processing</xslo:message><xslo:variable name="stripped-content"><xslo:apply-templates select="/" mode="stripNS"/></xslo:variable><xslo:message>Note: namesp. cut : processing stripped document</xslo:message><xslo:apply-templates select="exslt:node-set($stripped-content)" mode="profile"/></xslo:when><xslo:otherwise><xslo:apply-templates select="/" mode="profile"/></xslo:otherwise></xslo:choose></xslo:variable><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profiled-nodes" select="exslt:node-set($profiled-content)"/><xsl:template match="/">
-  <!-- * Get a title for current doc so that we let the user -->
-  <!-- * know what document we are processing at this point. -->
-  <xsl:variable name="doc.title">
-    <xsl:call-template name="get.doc.title"/>
-  </xsl:variable>
-  <xsl:choose>
-    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
-         toss the namespace and continue.  Use the docbook5 namespaced
-         stylesheets for DocBook5 if you don't want to use this feature.-->
-    <!-- include extra test for Xalan quirk -->
-    <xsl:when test="false()"/>
-    <!-- Can't process unless namespace removed -->
-    <xsl:when test="false()"/>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$rootid != ''">
-          <xsl:variable name="root.element" select="key('id', $rootid)"/>
-          <xsl:choose>
-            <xsl:when test="count($root.element) = 0">
-              <xsl:message terminate="yes">
-                <xsl:text>ID '</xsl:text>
-                <xsl:value-of select="$rootid"/>
-                <xsl:text>' not found in document.</xsl:text>
-              </xsl:message>
-            </xsl:when>
-            <xsl:when test="not(contains($root.elements, concat(' ', local-name($root.element), ' ')))">
-              <xsl:message terminate="yes">
-                <xsl:text>ERROR: Document root element ($rootid=</xsl:text>
-                <xsl:value-of select="$rootid"/>
-                <xsl:text>) for FO output </xsl:text>
-                <xsl:text>must be one of the following elements:</xsl:text>
-                <xsl:value-of select="$root.elements"/>
-              </xsl:message>
-            </xsl:when>
-            <!-- Otherwise proceed -->
-            <xsl:otherwise>
-              <xsl:if test="$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'">
-                <xsl:apply-templates select="$root.element" mode="collect.targets"/>
-              </xsl:if>
-              <xsl:if test="$collect.xref.targets != 'only'">
-                <xsl:apply-templates select="$root.element" mode="process.root"/>
-              </xsl:if>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <!-- Otherwise process the document root element -->
-        <xsl:otherwise>
-          <xsl:variable name="document.element" select="*[1]"/>
-          <xsl:choose>
-            <xsl:when test="not(contains($root.elements,                      concat(' ', local-name($document.element), ' ')))">
-              <xsl:message terminate="yes">
-                <xsl:text>ERROR: Document root element for FO output </xsl:text>
-                <xsl:text>must be one of the following elements:</xsl:text>
-                <xsl:value-of select="$root.elements"/>
-              </xsl:message>
-            </xsl:when>
-            <!-- Otherwise proceed -->
-            <xsl:otherwise>
-              <xsl:if test="$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'">
-                <xsl:apply-templates select="$profiled-nodes" mode="collect.targets"/>
-              </xsl:if>
-              <xsl:if test="$collect.xref.targets != 'only'">
-                <xsl:apply-templates select="$profiled-nodes" mode="process.root"/>
-              </xsl:if>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="process.root">
-  <xsl:variable name="document.element" select="self::*"/>
-
-  <xsl:call-template name="root.messages"/>
-
-  <xsl:variable name="title">
-    <xsl:choose>
-      <xsl:when test="$document.element/title[1]">
-        <xsl:value-of select="$document.element/title[1]"/>
-      </xsl:when>
-      <xsl:otherwise>[could not find document title]</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  
-  <!-- Include all id values in XEP output -->
-  <xsl:if test="$xep.extensions != 0">
-    <xsl:processing-instruction name="xep-pdf-drop-unused-destinations">false</xsl:processing-instruction>
-  </xsl:if>
-
-  <fo:root xsl:use-attribute-sets="root.properties">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language">
-        <xsl:with-param name="target" select="/*[1]"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:if test="$xep.extensions != 0">
-      <xsl:call-template name="xep-pis"/>
-      <xsl:call-template name="xep-document-information"/>
-    </xsl:if>
-    <xsl:if test="$axf.extensions != 0">
-      <xsl:call-template name="axf-document-information"/>
-    </xsl:if>
-
-    <xsl:call-template name="setup.pagemasters"/>
-
-    <xsl:if test="$fop.extensions != 0">
-      <xsl:apply-templates select="$document.element" mode="fop.outline"/>
-    </xsl:if>
-
-    <xsl:if test="$fop1.extensions != 0">
-      <xsl:variable name="bookmarks">
-        <xsl:apply-templates select="$document.element" mode="fop1.outline"/>
-      </xsl:variable>
-      <xsl:if test="string($bookmarks) != ''">
-        <fo:bookmark-tree>
-          <xsl:copy-of select="$bookmarks"/>
-        </fo:bookmark-tree>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:if test="$xep.extensions != 0">
-      <xsl:variable name="bookmarks">
-        <xsl:apply-templates select="$document.element" mode="xep.outline"/>
-      </xsl:variable>
-      <xsl:if test="string($bookmarks) != ''">
-        <rx:outline xmlns:rx="http://www.renderx.com/XSL/Extensions">
-          <xsl:copy-of select="$bookmarks"/>
-        </rx:outline>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:if test="$arbortext.extensions != 0 and $ati.xsl11.bookmarks != 0">
-      <xsl:variable name="bookmarks">
-        <xsl:apply-templates select="$document.element" mode="ati.xsl11.bookmarks"/>
-      </xsl:variable>
-      <xsl:if test="string($bookmarks) != ''">
-        <fo:bookmark-tree>
-          <xsl:copy-of select="$bookmarks"/>
-        </fo:bookmark-tree>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:apply-templates select="$document.element"/>
-  </fo:root>
-</xsl:template>
-
-<xsl:template name="root.messages">
-  <!-- redefine this any way you'd like to output messages -->
-  <!-- DO NOT OUTPUT ANYTHING FROM THIS TEMPLATE -->
-  <xsl:message>
-    <xsl:text>Making </xsl:text>
-    <xsl:value-of select="$page.orientation"/>
-    <xsl:text> pages on </xsl:text>
-    <xsl:value-of select="$paper.type"/>
-    <xsl:text> paper (</xsl:text>
-    <xsl:value-of select="$page.width"/>
-    <xsl:text>x</xsl:text>
-    <xsl:value-of select="$page.height"/>
-    <xsl:text>)</xsl:text>
-  </xsl:message>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/ptc.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/ptc.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,76 +1,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-		xmlns:fo="http://www.w3.org/1999/XSL/Format"
-		version="1.0">
-
-<!-- ================================================================ -->
-<!--                                                                  -->
-<!-- PTC/Arbortext Code for XSL 1.1 bookmark support                  -->
-<!--                                                                  -->
-<!-- ================================================================ -->
-
-<xsl:param name="ati.xsl11.bookmarks" select="1"/>
-
-<xsl:variable name="ati-a-dia" select=
-"'&#257;&#259;&#261;&#263;&#265;&#267;&#269;&#271;&#273;&#275;&#277;&#279;&#281;&#283;&#339;&#285;&#287;&#289;&#291;&#293;&#295;&#297;&#299;&#301;&#303;&#305;&#309;&#311;&#314;&#316;&#318;&#320;&#322;&#324;&#326;&#328;&#331;&#333;&#335;&#337;&#341;&#343;&#345;&#347;&#349;&#351;&#353;&#355;&#357;&#359;&#361;&#363;&#365;&#367;&#369;&#371;&#373;&#375;&#378;&#380;&#382;&#256;&#258;&#260;&#262;&#264;&#266;&#268;&#270;&#272;&#274;&#276;&#278;&#280;&#282;&#338;&#284;&#286;&#288;&#290;&#292;&#294;&#296;&#298;&#300;&#302;&#304;&#308;&#310;&#313;&#315;&#317;&#319;&#321;&#323;&#325;&#327;&#330;&#332;&#334;&#336;&#340;&#342;&#344;&#346;&#348;&#350;&#352;&#354;&#356;&#358;&#360;&#362;&#364;&#366;&#368;&#370;&#372;&#374;&#376;&#377;&#379;&#381;'"/>
-
-<xsl:variable name="ati-a-asc" select=
-"'aaaccccddeeeeeegggghhiiiiijklllllnnnnooorrrsssstttuuuuuuwyzzzAAACCCCDDEEEEEEGGGGHHIIIIIJKLLLLLNNNNOOORRRSSSSTTTUUUUUUWYYZZZ'"/>
-
-<xsl:template match="*" mode="ati.xsl11.bookmarks">
-  <xsl:apply-templates select="*" mode="ati.xsl11.bookmarks"/>
-</xsl:template>
-
-<xsl:template match="set|book|part|reference|preface|chapter|appendix|article
-                     |glossary|bibliography|index|setindex
-                     |refentry
-                     |sect1|sect2|sect3|sect4|sect5|section"
-              mode="ati.xsl11.bookmarks">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <xsl:variable name="bookmark-label">
-    <xsl:apply-templates select="." mode="object.title.markup"/>
-  </xsl:variable>
-
-  <!-- Put the root element bookmark at the same level as its children -->
-  <!-- If the object is a set or book, generate a bookmark for the toc -->
-
-  <xsl:choose>
-    <xsl:when test="parent::*">
-      <fo:bookmark internal-destination="{$id}">
-        <fo:bookmark-title>
-          <xsl:value-of select="translate($bookmark-label, $ati-a-dia, $ati-a-asc)"/>
-        </fo:bookmark-title>
-        <xsl:apply-templates select="*" mode="ati.xsl11.bookmarks"/>
-      </fo:bookmark>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:bookmark internal-destination="{$id}">
-        <fo:bookmark-title>
-          <xsl:value-of select="translate($bookmark-label, $ati-a-dia, $ati-a-asc)"/>
-        </fo:bookmark-title>
-      </fo:bookmark>
-
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:if test="contains($toc.params, 'toc')
-                    and section|sect1|refentry
-                        |article|bibliography|glossary
-                        |appendix">
-        <fo:bookmark internal-destination="toc...{$id}">
-          <fo:bookmark-title>
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'TableofContents'"/>
-            </xsl:call-template>
-          </fo:bookmark-title>
-        </fo:bookmark>
-      </xsl:if>
-      <xsl:apply-templates select="*" mode="ati.xsl11.bookmarks"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/qandaset.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/qandaset.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,393 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="qandaset" name="process.qandaset">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="label-width">
-    <xsl:call-template name="pi.dbfo_label-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="label-length">
-    <xsl:choose>
-      <xsl:when test="$label-width != ''">
-        <xsl:value-of select="$label-width"/>
-      </xsl:when>
-      <xsl:when test="descendant::label">
-        <xsl:call-template name="longest.term">
-          <xsl:with-param name="terms" select="descendant::label"/>
-          <xsl:with-param name="maxlength" select="20"/>
-        </xsl:call-template>
-        <xsl:text>em * 0.50</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>2.5em</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  
-  <xsl:variable name="toc">
-    <xsl:call-template name="pi.dbfo_toc"/>
-  </xsl:variable>
-
-  <xsl:variable name="toc.params">
-    <xsl:call-template name="find.path.params">
-      <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="content">
-    <fo:block id="{$id}">
-      <xsl:choose>
-        <xsl:when test="parent::*">
-          <xsl:if test="blockinfo/title|info/title|title">
-            <xsl:apply-templates select="(blockinfo/title|
-                                          info/title|title)[1]"/>
-          </xsl:if>
-        </xsl:when>
-        <!-- If it is the root element -->
-        <xsl:otherwise>
-          <xsl:call-template name="qandaset.titlepage"/>
-        </xsl:otherwise>
-      </xsl:choose>
-  
-      <xsl:if test="(contains($toc.params, 'toc') and $toc != '0') 
-                    or $toc = '1'">
-        <xsl:call-template name="qandaset.toc">
-          <xsl:with-param name="toc.title.p"
-                          select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-      </xsl:if>
-
-      <xsl:call-template name="qandaset.toc.separator"/>
-
-      <xsl:apply-templates select="*[local-name(.) != 'title'
-                                   and local-name(.) != 'titleabbrev'
-                                   and local-name(.) != 'qandadiv'
-                                   and local-name(.) != 'qandaentry']"/>
-      <xsl:apply-templates select="qandadiv"/>
-  
-      <xsl:if test="qandaentry">
-        <fo:list-block xsl:use-attribute-sets="list.block.spacing"
-                       provisional-label-separation="0.2em">
-          <xsl:attribute name="provisional-distance-between-starts">
-            <xsl:choose>
-              <xsl:when test="$label-length != ''">
-                <xsl:value-of select="$label-length"/>
-              </xsl:when>
-              <xsl:otherwise>2.5em</xsl:otherwise>
-            </xsl:choose>
-          </xsl:attribute>
-          <xsl:apply-templates select="qandaentry"/>
-        </fo:list-block>
-      </xsl:if>
-    </fo:block>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="parent::*">
-      <xsl:copy-of select="$content"/>
-    </xsl:when>
-    <!-- Otherwise create a page sequence -->
-    <xsl:otherwise>
-      <xsl:apply-templates select="." mode="page.sequence">
-        <xsl:with-param name="content" select="$content"/>
-        <xsl:with-param name="master-reference" select="'body'"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-  
-</xsl:template>
-
-<xsl:template match="qandaset/blockinfo/title|qandset/info/title|qandaset/title">
-  <xsl:variable name="enclsect" select="(ancestor::section
-                                        | ancestor::simplesect
-                                        | ancestor::sect5
-                                        | ancestor::sect4
-                                        | ancestor::sect3
-                                        | ancestor::sect2
-                                        | ancestor::sect1
-                                        | ancestor::refsect3
-                                        | ancestor::refsect2
-                                        | ancestor::refsect1)[last()]"/>
-  <xsl:variable name="sectlvl">
-    <xsl:call-template name="section.level">
-      <xsl:with-param name="node" select="$enclsect"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="qanda.heading">
-    <xsl:with-param name="level" select="$sectlvl + 1"/>
-    <xsl:with-param name="marker" select="0"/>
-    <xsl:with-param name="title">
-      <xsl:apply-templates/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="qandaset/blockinfo|qandaset/info">
-  <!-- what should this template really do? -->
-  <xsl:apply-templates select="legalnotice" mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="qandadiv">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-
-  <xsl:variable name="label-width">
-    <xsl:call-template name="pi.dbfo_label-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="label-length">
-    <xsl:choose>
-      <xsl:when test="$label-width != ''">
-        <xsl:value-of select="$label-width"/>
-      </xsl:when>
-      <xsl:when test="descendant::label">
-        <xsl:call-template name="longest.term">
-          <xsl:with-param name="terms" select="descendant::label"/>
-          <xsl:with-param name="maxlength" select="20"/>
-        </xsl:call-template>
-        <xsl:text>*0.6em</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>2.5em</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-    <xsl:apply-templates select="(blockinfo/title|info/title|title)[1]"/>
-    <xsl:apply-templates select="*[local-name(.) != 'title'
-                                 and local-name(.) != 'titleabbrev'
-                                 and local-name(.) != 'qandadiv'
-                                 and local-name(.) != 'qandaentry']"/>
-    <fo:block>
-      <xsl:apply-templates select="qandadiv"/>
-
-      <xsl:if test="qandaentry">
-        <fo:list-block xsl:use-attribute-sets="list.block.spacing"
-                       provisional-label-separation="0.2em">
-          <xsl:attribute name="provisional-distance-between-starts">
-            <xsl:choose>
-              <xsl:when test="$label-length != ''">
-                <xsl:value-of select="$label-length"/>
-              </xsl:when>
-              <xsl:otherwise>2.5em</xsl:otherwise>
-            </xsl:choose>
-          </xsl:attribute>
-          <xsl:apply-templates select="qandaentry"/>
-        </fo:list-block>
-      </xsl:if>
-    </fo:block>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="qandadiv/blockinfo/title|qandadiv/info/title|qandadiv/title">
-  <xsl:variable name="enclsect" select="(ancestor::section
-                                        | ancestor::simplesect
-                                        | ancestor::sect5
-                                        | ancestor::sect4
-                                        | ancestor::sect3
-                                        | ancestor::sect2
-                                        | ancestor::sect1
-                                        | ancestor::refsect3
-                                        | ancestor::refsect2
-                                        | ancestor::refsect1)[last()]"/>
-  <xsl:variable name="sectlvl">
-    <xsl:call-template name="section.level">
-      <xsl:with-param name="node" select="$enclsect"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="qanda.heading">
-    <xsl:with-param name="level"  select="$sectlvl + 1 + count(ancestor::qandadiv)"/>
-    <xsl:with-param name="marker" select="0"/>
-    <xsl:with-param name="title">
-      <xsl:apply-templates select="parent::qandadiv" mode="label.markup"/>
-      <xsl:if test="$qandadiv.autolabel != 0">
-        <xsl:apply-templates select="." mode="intralabel.punctuation"/>
-        <xsl:text> </xsl:text>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="qandaentry">
-  <!-- Omit revhistory from fo:list-block because it is a table -->
-  <xsl:apply-templates select="question|answer"/>
-</xsl:template>
-
-<xsl:template match="question">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-
-  <xsl:variable name="entry.id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="parent::*"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="deflabel">
-    <xsl:choose>
-      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
-        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
-                              /@defaultlabel"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$qanda.defaultlabel"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-
-      <xsl:variable name="label.content">
-        <xsl:apply-templates select="." mode="label.markup"/>
-        <xsl:if test="$deflabel = 'number' and not(label)">
-          <xsl:apply-templates select="." mode="intralabel.punctuation"/>
-        </xsl:if>
-      </xsl:variable>
-
-  <fo:list-item id="{$entry.id}" xsl:use-attribute-sets="list.item.spacing">
-    <fo:list-item-label id="{$id}" end-indent="label-end()">
-        <xsl:if test="string-length($label.content) &gt; 0">
-			<fo:block font-weight="bold">
-			  <xsl:copy-of select="$label.content"/>          
-			</fo:block>
-        </xsl:if>
-    </fo:list-item-label>
-    <fo:list-item-body start-indent="body-start()">
-      <xsl:choose>
-        <xsl:when test="$deflabel = 'none' and not(label)">
-          <fo:block font-weight="bold">
-            <xsl:apply-templates select="*[local-name(.)!='label']"/>
-          </fo:block>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="*[local-name(.)!='label']"/>
-        </xsl:otherwise>
-      </xsl:choose>
-      <!-- Uncomment this line to get revhistory output in the question -->
-      <!-- <xsl:apply-templates select="preceding-sibling::revhistory"/> -->
-    </fo:list-item-body>
-  </fo:list-item>
-</xsl:template>
-
-<xsl:template match="answer">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-  <xsl:variable name="entry.id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="parent::*"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="deflabel">
-    <xsl:choose>
-      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
-        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
-                              /@defaultlabel"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$qanda.defaultlabel"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-      <xsl:variable name="answer.label">
-        <xsl:apply-templates select="." mode="label.markup"/>
-      </xsl:variable>
-
-  <fo:list-item xsl:use-attribute-sets="list.item.spacing">
-    <fo:list-item-label id="{$id}" end-indent="label-end()">
-      <xsl:choose>
-        <xsl:when test="string-length($answer.label) &gt; 0">
-			<fo:block font-weight="bold">
-			  <xsl:copy-of select="$answer.label"/>
-			</fo:block>
-        </xsl:when>
-        <xsl:otherwise>
-			<fo:block/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </fo:list-item-label>
-    <fo:list-item-body start-indent="body-start()">
-      <xsl:apply-templates select="*[local-name(.)!='label' and local-name(.) != 'qandaentry']"/>
-      <!-- * handle nested answer/qandaentry instances -->
-      <!-- * (bug 1509043 from Daniel Leidert) -->
-      <xsl:if test="descendant::question">
-        <xsl:call-template name="process.qandaset"/>
-      </xsl:if>
-    </fo:list-item-body>
-  </fo:list-item>
-</xsl:template>
-
-<xsl:template match="label">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template name="qanda.heading">
-  <xsl:param name="level" select="1"/>
-  <xsl:param name="marker" select="0"/>
-  <xsl:param name="title"/>
-  <xsl:param name="titleabbrev"/>
-
-  <fo:block xsl:use-attribute-sets="qanda.title.properties">
-    <xsl:if test="$marker != 0">
-      <fo:marker marker-class-name="section.head.marker">
-        <xsl:choose>
-          <xsl:when test="$titleabbrev = ''">
-            <xsl:value-of select="$title"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$titleabbrev"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:marker>
-    </xsl:if>
-    <xsl:choose>
-      <xsl:when test="$level=1">
-        <fo:block xsl:use-attribute-sets="qanda.title.level1.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=2">
-        <fo:block xsl:use-attribute-sets="qanda.title.level2.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=3">
-        <fo:block xsl:use-attribute-sets="qanda.title.level3.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=4">
-        <fo:block xsl:use-attribute-sets="qanda.title.level4.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=5">
-        <fo:block xsl:use-attribute-sets="qanda.title.level5.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <fo:block xsl:use-attribute-sets="qanda.title.level6.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:block>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/refentry.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/refentry.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,637 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="reference">
-   <xsl:if test="not(partintro)">
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:variable>
-    <xsl:variable name="master-reference">
-      <xsl:call-template name="select.pagemaster"/>
-    </xsl:variable>
-
-    <fo:page-sequence hyphenate="{$hyphenate}"
-                      master-reference="{$master-reference}">
-      <xsl:attribute name="language">
-        <xsl:call-template name="l10n.language"/>
-      </xsl:attribute>
-      <xsl:attribute name="format">
-        <xsl:call-template name="page.number.format">
-          <xsl:with-param name="master-reference" select="$master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:attribute name="initial-page-number">
-        <xsl:call-template name="initial.page.number">
-          <xsl:with-param name="master-reference" select="$master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:attribute name="force-page-count">
-        <xsl:call-template name="force.page.count">
-          <xsl:with-param name="master-reference" select="$master-reference"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:attribute name="hyphenation-character">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-character'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="hyphenation-push-character-count">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:attribute name="hyphenation-remain-character-count">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-        </xsl:call-template>
-      </xsl:attribute>
-
-      <xsl:apply-templates select="." mode="running.head.mode">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates select="." mode="running.foot.mode">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:apply-templates>
-
-      <fo:flow flow-name="xsl-region-body">
-        <xsl:call-template name="set.flow.properties">
-          <xsl:with-param name="element" select="local-name(.)"/>
-          <xsl:with-param name="master-reference" select="$master-reference"/>
-        </xsl:call-template>
-
-        <fo:block id="{$id}">
-          <xsl:call-template name="reference.titlepage"/>
-        </fo:block>
-        <!-- Create one page sequence if no pagebreaks needed -->
-        <xsl:if test="$refentry.pagebreak = 0">
-          <xsl:apply-templates select="refentry"/>
-        </xsl:if>
-      </fo:flow>
-    </fo:page-sequence>
-  </xsl:if>
-  <xsl:apply-templates select="partintro"/>
-  <xsl:if test="$refentry.pagebreak != 0">
-    <xsl:apply-templates select="refentry"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="reference" mode="reference.titlepage.mode">
-  <xsl:call-template name="reference.titlepage"/>
-</xsl:template>
-
-<xsl:template match="reference/partintro">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="ancestor::reference"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-      <fo:block id="{$id}">
-        <xsl:apply-templates select=".." mode="reference.titlepage.mode"/>
-      </fo:block>
-      <xsl:if test="title">
-        <xsl:call-template name="partintro.titlepage"/>
-      </xsl:if>
-      <xsl:apply-templates/>
-      <!-- Create one page sequence if no pagebreaks needed -->
-      <xsl:if test="$refentry.pagebreak = 0">
-        <xsl:apply-templates select="../refentry"/>
-      </xsl:if>
-    </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="reference/docinfo|refentry/refentryinfo"></xsl:template>
-<xsl:template match="reference/info"></xsl:template>
-<xsl:template match="reference/title"></xsl:template>
-<xsl:template match="reference/subtitle"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="refentry">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <xsl:variable name="refentry.content">
-    <fo:block id="{$id}">
-      <xsl:apply-templates/>
-    </fo:block>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="not(parent::*) or 
-                    (parent::reference and $refentry.pagebreak != 0) or 
-                    parent::part">
-      <!-- make a page sequence -->
-      <fo:page-sequence hyphenate="{$hyphenate}"
-                        master-reference="{$master-reference}">
-        <xsl:attribute name="language">
-          <xsl:call-template name="l10n.language"/>
-        </xsl:attribute>
-        <xsl:attribute name="format">
-          <xsl:call-template name="page.number.format">
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:call-template>
-        </xsl:attribute>
-
-        <xsl:attribute name="initial-page-number">
-          <xsl:call-template name="initial.page.number">
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:call-template>
-        </xsl:attribute>
-
-        <xsl:attribute name="force-page-count">
-          <xsl:call-template name="force.page.count">
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:call-template>
-        </xsl:attribute>
-
-        <xsl:attribute name="hyphenation-character">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'hyphenation-character'"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="hyphenation-push-character-count">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="hyphenation-remain-character-count">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-          </xsl:call-template>
-        </xsl:attribute>
-
-        <xsl:apply-templates select="." mode="running.head.mode">
-          <xsl:with-param name="master-reference" select="$master-reference"/>
-        </xsl:apply-templates>
-        <xsl:apply-templates select="." mode="running.foot.mode">
-          <xsl:with-param name="master-reference" select="$master-reference"/>
-        </xsl:apply-templates>
-
-        <fo:flow flow-name="xsl-region-body">
-          <xsl:call-template name="set.flow.properties">
-            <xsl:with-param name="element" select="local-name(.)"/>
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:call-template>
-
-          <xsl:copy-of select="$refentry.content"/>
-        </fo:flow>
-      </fo:page-sequence>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block>
-        <xsl:if test="$refentry.pagebreak != 0">
-          <xsl:attribute name="break-before">page</xsl:attribute>
-        </xsl:if>
-        <xsl:copy-of select="$refentry.content"/>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="refmeta">
-</xsl:template>
-
-<xsl:template match="manvolnum">
-  <xsl:if test="$refentry.xref.manvolnum != 0">
-    <xsl:text>(</xsl:text>
-    <xsl:apply-templates/>
-    <xsl:text>)</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refmiscinfo">
-</xsl:template>
-
-<xsl:template match="refentrytitle">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="refnamediv">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-
-    <!-- if refentry.generate.name is non-zero, then we need to generate a -->
-    <!-- localized "Name" subheading for this refnamdiv (unless it has a -->
-    <!-- preceding sibling that is a refnamediv, in which case we have already -->
-    <!-- generated a "Name" subheading, so we don't need to do it again -->
-    <xsl:if test="$refentry.generate.name != 0">
-        <xsl:choose>
-          <xsl:when test="preceding-sibling::refnamediv">
-            <!-- no generated title on secondary refnamedivs! -->
-          </xsl:when>
-          <xsl:otherwise>
-            <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                      xsl:use-attribute-sets="refnamediv.titlepage.recto.style"
-                      font-family="{$title.fontset}">
-              <!-- Contents of what is now the format.refentry.subheading -->
-              <!-- template were formerly intended to be used only to -->
-              <!-- process those subsections of Refentry that have "real" -->
-              <!-- title children. So as a kludge to get around the fact -->
-              <!-- that the template still basically "expects" to be -->
-              <!-- processing that kind of a node, when we call the -->
-              <!-- template to process generated titles, we must call it -->
-              <!-- with values for the "offset" and "section" parameters -->
-              <!-- that are different from the default values in the -->
-              <!-- format.refentry.subheading template itself. Because -->
-              <!-- those defaults are the values appropriate for processing -->
-              <!-- "real" title nodes. -->
-              <xsl:call-template name="format.refentry.subheading">
-                <xsl:with-param name="section" select="self::*"/>
-                <xsl:with-param name="offset" select="1"/>
-                <xsl:with-param name="gentext.key" select="'RefName'"/>
-              </xsl:call-template>
-            </fo:block>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:if>
-
-      <xsl:if test="$refentry.generate.title != 0">
-  <xsl:variable name="section.level">
-    <xsl:call-template name="refentry.level">
-      <xsl:with-param name="node" select="ancestor::refentry"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="reftitle">
-        <xsl:choose>
-          <xsl:when test="../refmeta/refentrytitle">
-            <xsl:apply-templates select="../refmeta/refentrytitle"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates select="refname[1]"/>
-          </xsl:otherwise>
-        </xsl:choose>
-  </xsl:variable>
-
-  <!-- xsl:use-attribute-sets takes only a Qname, not a variable -->
-    <xsl:choose>
-      <xsl:when test="preceding-sibling::refnamediv">
-	<!-- no title on secondary refnamedivs! -->
-      </xsl:when>
-      <xsl:when test="$section.level = 1">
-        <fo:block xsl:use-attribute-sets="refentry.title.properties">
-          <fo:block xsl:use-attribute-sets="section.title.level1.properties">
-            <xsl:value-of select="$reftitle"/>
-          </fo:block>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$section.level = 2">
-        <fo:block xsl:use-attribute-sets="refentry.title.properties">
-          <fo:block xsl:use-attribute-sets="section.title.level2.properties">
-            <xsl:value-of select="$reftitle"/>
-          </fo:block>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$section.level = 3">
-        <fo:block xsl:use-attribute-sets="refentry.title.properties">
-          <fo:block xsl:use-attribute-sets="section.title.level3.properties">
-            <xsl:value-of select="$reftitle"/>
-          </fo:block>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$section.level = 4">
-        <fo:block xsl:use-attribute-sets="refentry.title.properties">
-          <fo:block xsl:use-attribute-sets="section.title.level4.properties">
-            <xsl:value-of select="$reftitle"/>
-          </fo:block>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$section.level = 5">
-        <fo:block xsl:use-attribute-sets="refentry.title.properties">
-          <fo:block xsl:use-attribute-sets="section.title.level5.properties">
-            <xsl:value-of select="$reftitle"/>
-          </fo:block>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <fo:block xsl:use-attribute-sets="refentry.title.properties">
-          <fo:block xsl:use-attribute-sets="section.title.level6.properties">
-            <xsl:value-of select="$reftitle"/>
-          </fo:block>
-        </fo:block>
-      </xsl:otherwise>
-    </xsl:choose>
-    </xsl:if>
-
-    <fo:block>
-      <xsl:if test="not(following-sibling::refnamediv)">
-	<xsl:attribute name="space-after">1em</xsl:attribute>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </fo:block>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="refname">
-  <xsl:if test="not(preceding-sibling::refdescriptor)">
-    <xsl:apply-templates/>
-    <xsl:if test="following-sibling::refname">
-      <xsl:text>, </xsl:text>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refpurpose">
-  <xsl:if test="node()">
-    <xsl:text> </xsl:text>
-    <xsl:call-template name="dingbat">
-      <xsl:with-param name="dingbat">em-dash</xsl:with-param>
-    </xsl:call-template>
-    <xsl:text> </xsl:text>
-    <xsl:apply-templates/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refdescriptor">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="refclass">
-  <xsl:if test="$refclass.suppress = 0">
-  <fo:block font-weight="bold">
-    <xsl:if test="@role">
-      <xsl:value-of select="@role"/>
-      <xsl:text>: </xsl:text>
-    </xsl:if>
-    <xsl:apply-templates/>
-  </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refsynopsisdiv">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-    <xsl:if test="not(refsynopsisdivinfo/title|docinfo/title|info/title|title)">
-      <!-- * if we there is no appropriate title for this Refsynopsisdiv, -->
-      <!-- * then we need to call format.refentry.subheading to generate one -->
-      <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xsl:use-attribute-sets="refsynopsisdiv.titlepage.recto.style"
-                font-family="{$title.fontset}">
-        <!-- Contents of what is now the format.refentry.subheading -->
-        <!-- template were formerly intended to be used only to -->
-        <!-- process those subsections of Refentry that have "real" -->
-        <!-- title children. So as a kludge to get around the fact -->
-        <!-- that the template still basically "expects" to be -->
-        <!-- processing that kind of a node, when we call the -->
-        <!-- template to process generated titles, we must call it -->
-        <!-- with values for the "offset" and "section" parameters -->
-        <!-- that are different from the default values in the -->
-        <!-- format.refentry.subheading template itself. Because -->
-        <!-- those defaults are the values appropriate for processing -->
-        <!-- "real" title nodes. -->
-        <xsl:call-template name="format.refentry.subheading">
-          <xsl:with-param name="section" select="parent::*"/>
-          <xsl:with-param name="offset" select="1"/>
-          <xsl:with-param name="gentext.key" select="'RefSynopsisDiv'"/>
-        </xsl:call-template>
-      </fo:block>
-    </xsl:if>
-    <xsl:call-template name="refsynopsisdiv.titlepage"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="refsection">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-    <xsl:call-template name="refsection.titlepage"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="refsect1">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-    <xsl:call-template name="refsect1.titlepage"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="refsect2">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-    <xsl:call-template name="refsect2.titlepage"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="refsect3">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-    <xsl:call-template name="refsect3.titlepage"/>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="refsynopsisdiv/title
-                     |refsection/title
-                     |refsect1/title
-                     |refsect2/title
-                     |refsect3/title">
-  <!-- nop; titlepage.mode instead -->
-</xsl:template>
-
-<xsl:template match="refsynopsisdiv/title
-                     |refsection/title
-                     |refsect1/title
-                     |refsect2/title
-                     |refsect3/title
-                     |refsynopsisdiv/info/title
-                     |refsection/info/title
-                     |refsect1/info/title
-                     |refsect2/info/title
-                     |refsect3/info/title"
-              mode="titlepage.mode"
-              priority="2">
-  <xsl:call-template name="format.refentry.subheading"/>
-</xsl:template>
-
-<xsl:template name="format.refentry.subheading">
-<!-- This template is now called to process generated titles for -->
-<!-- Refnamediv and Refsynopsisdiv, as well as "real" titles for -->
-<!-- Refsynopsisdiv, Refsection, and Refsect[1-3]. -->
-<!-- -->
-<!-- But the contents of this template were formerly intended to be used -->
-<!-- only to process those subsections of Refentry that have "real" title -->
-<!-- children. So as a kludge to get around the fact that the template -->
-<!-- still basically "expects" to be processing that kind of a node, the -->
-<!-- "offset" parameter was added and the "section" variable was changed to -->
-<!-- a parameter so that when called for a generated title on a Refnamediv -->
-<!-- or Refsynopsisdiv, we can call it like this: -->
-<!-- -->
-<!--     <xsl:call-template name="format.refentry.subheading"> -->
-<!--       <xsl:with-param name="section" select="self::*"/> -->
-<!--       <xsl:with-param name="offset" select="1"/> -->
-<!--       <xsl:with-param name="gentext.key" select="'RefName'"/> -->
-<!--     </xsl:call-template> -->
-<!-- -->
-  <xsl:param name="section" 
-             select="(ancestor::refsynopsysdiv 
-                     |ancestor::refsection
-                     |ancestor::refsect1
-                     |ancestor::refsect2
-                     |ancestor::refsect3)[last()]"/>
-  <xsl:param name="offset" select="0"/>
-  <xsl:param name="gentext.key"/>
-
-  <fo:block keep-with-next.within-column="always">
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id">
-        <xsl:with-param name="object" select="$section"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:variable name="level">
-      <xsl:call-template name="section.level">
-        <xsl:with-param name="node" select="$section"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:variable name="title">
-      <!-- If we have a non-empty value for the $gentext.key param, then we -->
-      <!-- generate an appropriate title here. Otherwise, we have a real -->
-      <!-- title child, so we copy contents of that to the result tree. -->
-      <xsl:choose>
-        <xsl:when test="$gentext.key != ''">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="$gentext.key"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$section" mode="object.title.markup">
-            <xsl:with-param name="allow-anchors" select="1"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-
-    <xsl:if test="$passivetex.extensions != 0">
-      <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex" 
-                      fotex-bookmark-level="{$level + 2 + $offset}" 
-                      fotex-bookmark-label="{$id}">
-        <xsl:value-of select="$title"/>
-      </fotex:bookmark>
-    </xsl:if>
-
-    <xsl:if test="$axf.extensions != 0">
-      <xsl:attribute name="axf:outline-level">
-        <xsl:value-of select="count(ancestor::*)-1 + $offset"/>
-      </xsl:attribute>
-      <xsl:attribute name="axf:outline-expand">false</xsl:attribute>
-      <xsl:attribute name="axf:outline-title">
-        <xsl:value-of select="$title"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="section.heading">
-      <xsl:with-param name="level" select="$level + $offset"/>
-      <xsl:with-param name="title" select="$title"/>
-    </xsl:call-template>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="refsectioninfo|refsection/info"></xsl:template>
-<xsl:template match="refsect1info|refsect1/info"></xsl:template>
-<xsl:template match="refsect2info|refsect2/info"></xsl:template>
-<xsl:template match="refsect3info|refsect3/info"></xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/sections.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/sections.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,764 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="section">
-  <xsl:choose>
-    <xsl:when test="$rootid = @id or $rootid = @xml:id">
-      <xsl:call-template name="section.page.sequence"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:variable>
-
-      <xsl:variable name="renderas">
-        <xsl:choose>
-          <xsl:when test="@renderas = 'sect1'">1</xsl:when>
-          <xsl:when test="@renderas = 'sect2'">2</xsl:when>
-          <xsl:when test="@renderas = 'sect3'">3</xsl:when>
-          <xsl:when test="@renderas = 'sect4'">4</xsl:when>
-          <xsl:when test="@renderas = 'sect5'">5</xsl:when>
-          <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="level">
-        <xsl:choose>
-          <xsl:when test="$renderas != ''">
-            <xsl:value-of select="$renderas"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="section.level"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <!-- xsl:use-attribute-sets takes only a Qname, not a variable -->
-      <xsl:choose>
-        <xsl:when test="$level = 1">
-          <xsl:element name="fo:{$section.container.element}"
-		       use-attribute-sets="section.level1.properties">
-            <xsl:attribute name="id"><xsl:value-of 
-                                select="$id"/></xsl:attribute>
-            <xsl:call-template name="section.content"/>
-          </xsl:element>
-        </xsl:when>
-        <xsl:when test="$level = 2">
-          <xsl:element name="fo:{$section.container.element}"
-		       use-attribute-sets="section.level2.properties">
-            <xsl:attribute name="id"><xsl:value-of 
-                                select="$id"/></xsl:attribute>
-            <xsl:call-template name="section.content"/>
-          </xsl:element>
-        </xsl:when>
-        <xsl:when test="$level = 3">
-          <xsl:element name="fo:{$section.container.element}"
-                       use-attribute-sets="section.level3.properties">
-            <xsl:attribute name="id"><xsl:value-of 
-                                select="$id"/></xsl:attribute>
-            <xsl:call-template name="section.content"/>
-          </xsl:element>
-        </xsl:when>
-        <xsl:when test="$level = 4">
-          <xsl:element name="fo:{$section.container.element}"
-                       use-attribute-sets="section.level4.properties">
-            <xsl:attribute name="id"><xsl:value-of 
-                                select="$id"/></xsl:attribute>
-            <xsl:call-template name="section.content"/>
-          </xsl:element>
-        </xsl:when>
-        <xsl:when test="$level = 5">
-          <xsl:element name="fo:{$section.container.element}"
-		       use-attribute-sets="section.level5.properties">
-            <xsl:attribute name="id"><xsl:value-of 
-                                select="$id"/></xsl:attribute>
-            <xsl:call-template name="section.content"/>
-          </xsl:element>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:element name="fo:{$section.container.element}"
-		       use-attribute-sets="section.level6.properties">
-            <xsl:attribute name="id"><xsl:value-of 
-                                select="$id"/></xsl:attribute>
-            <xsl:call-template name="section.content"/>
-          </xsl:element>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="section.content">
-  <xsl:call-template name="section.titlepage"/>
-
-  <xsl:variable name="toc.params">
-    <xsl:call-template name="find.path.params">
-      <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="contains($toc.params, 'toc')
-                and (count(ancestor::section)+1) &lt;= 
-		$generate.section.toc.level">
-    <xsl:call-template name="section.toc">
-      <xsl:with-param name="toc.title.p" 
-                      select="contains($toc.params, 'title')"/>
-    </xsl:call-template>
-   <xsl:call-template name="section.toc.separator"/>
-  </xsl:if>
-
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="/section" name="section.page.sequence">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}" 
-            xsl:use-attribute-sets="section.level1.properties">
-        <xsl:call-template name="section.titlepage"/>
-      </fo:block>
-
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:if test="contains($toc.params, 'toc')
-                    and (count(ancestor::section)+1) &lt;= 
-		    $generate.section.toc.level">
-        <xsl:call-template name="section.toc">
-          <xsl:with-param name="toc.title.p" 
-                          select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-        <xsl:call-template name="section.toc.separator"/>
-      </xsl:if>
-
-      <xsl:apply-templates/>
-   </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="section/title
-                     |simplesect/title
-                     |sect1/title
-                     |sect2/title
-                     |sect3/title
-                     |sect4/title
-                     |sect5/title
-                     |section/info/title
-                     |simplesect/info/title
-                     |sect1/info/title
-                     |sect2/info/title
-                     |sect3/info/title
-                     |sect4/info/title
-                     |sect5/info/title
-                     |section/sectioninfo/title
-                     |sect1/sect1info/title
-                     |sect2/sect2info/title
-                     |sect3/sect3info/title
-                     |sect4/sect4info/title
-                     |sect5/sect5info/title"
-              mode="titlepage.mode"
-              priority="2">
-
-  <xsl:variable name="section" 
-                select="(ancestor::section |
-                        ancestor::simplesect |
-                        ancestor::sect1 |
-                        ancestor::sect2 |
-                        ancestor::sect3 |
-                        ancestor::sect4 |
-                        ancestor::sect5)[position() = last()]"/>
-
-  <fo:block keep-with-next.within-column="always">
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id">
-        <xsl:with-param name="object" select="$section"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:variable name="renderas">
-      <xsl:choose>
-        <xsl:when test="$section/@renderas = 'sect1'">1</xsl:when>
-        <xsl:when test="$section/@renderas = 'sect2'">2</xsl:when>
-        <xsl:when test="$section/@renderas = 'sect3'">3</xsl:when>
-        <xsl:when test="$section/@renderas = 'sect4'">4</xsl:when>
-        <xsl:when test="$section/@renderas = 'sect5'">5</xsl:when>
-        <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-  
-    <xsl:variable name="level">
-      <xsl:choose>
-        <xsl:when test="$renderas != ''">
-          <xsl:value-of select="$renderas"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="section.level">
-            <xsl:with-param name="node" select="$section"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-
-    <xsl:variable name="marker">
-      <xsl:choose>
-        <xsl:when test="$level &lt;= $marker.section.level">1</xsl:when>
-        <xsl:otherwise>0</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-
-    <xsl:variable name="title">
-      <xsl:apply-templates select="$section" mode="object.title.markup">
-        <xsl:with-param name="allow-anchors" select="1"/>
-      </xsl:apply-templates>
-    </xsl:variable>
-
-    <xsl:variable name="marker.title">
-      <xsl:apply-templates select="$section" mode="titleabbrev.markup">
-        <xsl:with-param name="allow-anchors" select="0"/>
-      </xsl:apply-templates>
-    </xsl:variable>
-
-    <xsl:if test="$passivetex.extensions != 0">
-      <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex" 
-                      fotex-bookmark-level="{$level + 2}" 
-                      fotex-bookmark-label="{$id}">
-        <xsl:value-of select="$marker.title"/>
-      </fotex:bookmark>
-    </xsl:if>
-
-    <xsl:if test="$axf.extensions != 0">
-      <xsl:attribute name="axf:outline-level">
-        <xsl:value-of select="count(ancestor::*)-1"/>
-      </xsl:attribute>
-      <xsl:attribute name="axf:outline-expand">false</xsl:attribute>
-      <xsl:attribute name="axf:outline-title">
-        <xsl:value-of select="normalize-space($title)"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="section.heading">
-      <xsl:with-param name="level" select="$level"/>
-      <xsl:with-param name="title" select="$title"/>
-      <xsl:with-param name="marker" select="$marker"/>
-      <xsl:with-param name="marker.title" select="$marker.title"/>
-    </xsl:call-template>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="sect1">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:element name="fo:{$section.container.element}"
-               use-attribute-sets="section.level1.properties">
-    <xsl:attribute name="id"><xsl:value-of 
-                        select="$id"/></xsl:attribute>
-    <xsl:call-template name="sect1.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')
-                  and $generate.section.toc.level &gt;= 1">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" 
-                        select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-
-    <xsl:apply-templates/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="/sect1">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <fo:page-sequence hyphenate="{$hyphenate}"
-                    master-reference="{$master-reference}">
-    <xsl:attribute name="language">
-      <xsl:call-template name="l10n.language"/>
-    </xsl:attribute>
-    <xsl:attribute name="format">
-      <xsl:call-template name="page.number.format">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:attribute name="hyphenation-character">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-character'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-push-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenation-remain-character-count">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-      </xsl:call-template>
-    </xsl:attribute>
-
-    <xsl:apply-templates select="." mode="running.head.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-    <xsl:apply-templates select="." mode="running.foot.mode">
-      <xsl:with-param name="master-reference" select="$master-reference"/>
-    </xsl:apply-templates>
-
-    <fo:flow flow-name="xsl-region-body">
-      <xsl:call-template name="set.flow.properties">
-        <xsl:with-param name="element" select="local-name(.)"/>
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-      </xsl:call-template>
-
-      <fo:block id="{$id}" 
-                xsl:use-attribute-sets="section.level1.properties">
-        <xsl:call-template name="sect1.titlepage"/>
-      </fo:block>
-
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:if test="contains($toc.params, 'toc')
-                    and $generate.section.toc.level &gt;= 1">
-        <xsl:call-template name="section.toc">
-          <xsl:with-param name="toc.title.p" 
-                          select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-        <xsl:call-template name="section.toc.separator"/>
-      </xsl:if>
-
-      <xsl:apply-templates/>
-   </fo:flow>
-  </fo:page-sequence>
-</xsl:template>
-
-<xsl:template match="sect2">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:element name="fo:{$section.container.element}"
-	       use-attribute-sets="section.level2.properties">
-    <xsl:attribute name="id"><xsl:value-of 
-                        select="$id"/></xsl:attribute>
-    <xsl:call-template name="sect2.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')
-                   and $generate.section.toc.level &gt;= 2">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" 
-                        select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-
-    <xsl:apply-templates/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="sect3">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:element name="fo:{$section.container.element}"
-	       use-attribute-sets="section.level3.properties">
-    <xsl:attribute name="id"><xsl:value-of 
-                        select="$id"/></xsl:attribute>
-    <xsl:call-template name="sect3.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')
-                  and $generate.section.toc.level &gt;= 3">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" 
-                        select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-
-    <xsl:apply-templates/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="sect4">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:element name="fo:{$section.container.element}"
-	       use-attribute-sets="section.level4.properties">
-    <xsl:attribute name="id"><xsl:value-of 
-                        select="$id"/></xsl:attribute>
-    <xsl:call-template name="sect4.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')
-                  and $generate.section.toc.level &gt;= 4">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" 
-                        select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-
-    <xsl:apply-templates/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="sect5">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:element name="fo:{$section.container.element}"
-	       use-attribute-sets="section.level5.properties">
-    <xsl:attribute name="id"><xsl:value-of 
-                        select="$id"/></xsl:attribute>
-    <xsl:call-template name="sect5.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')
-                  and $generate.section.toc.level &gt;= 5">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" 
-                        select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-
-    <xsl:apply-templates/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="simplesect">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:element name="fo:{$section.container.element}">
-    <xsl:attribute name="id"><xsl:value-of 
-                        select="$id"/></xsl:attribute>
-    <xsl:call-template name="simplesect.titlepage"/>
-    <xsl:apply-templates/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="sectioninfo"></xsl:template>
-<xsl:template match="section/info"></xsl:template>
-<xsl:template match="section/title"></xsl:template>
-<xsl:template match="section/titleabbrev"></xsl:template>
-<xsl:template match="section/subtitle"></xsl:template>
-
-<xsl:template match="sect1info"></xsl:template>
-<xsl:template match="sect1/info"></xsl:template>
-<xsl:template match="sect1/title"></xsl:template>
-<xsl:template match="sect1/titleabbrev"></xsl:template>
-<xsl:template match="sect1/subtitle"></xsl:template>
-
-<xsl:template match="sect2info"></xsl:template>
-<xsl:template match="sect2/info"></xsl:template>
-<xsl:template match="sect2/title"></xsl:template>
-<xsl:template match="sect2/titleabbrev"></xsl:template>
-<xsl:template match="sect2/subtitle"></xsl:template>
-
-<xsl:template match="sect3info"></xsl:template>
-<xsl:template match="sect3/info"></xsl:template>
-<xsl:template match="sect3/title"></xsl:template>
-<xsl:template match="sect3/titleabbrev"></xsl:template>
-<xsl:template match="sect3/subtitle"></xsl:template>
-
-<xsl:template match="sect4info"></xsl:template>
-<xsl:template match="sect4/info"></xsl:template>
-<xsl:template match="sect4/title"></xsl:template>
-<xsl:template match="sect4/titleabbrev"></xsl:template>
-<xsl:template match="sect4/subtitle"></xsl:template>
-
-<xsl:template match="sect5info"></xsl:template>
-<xsl:template match="sect5/info"></xsl:template>
-<xsl:template match="sect5/title"></xsl:template>
-<xsl:template match="sect5/titleabbrev"></xsl:template>
-<xsl:template match="sect5/subtitle"></xsl:template>
-
-<xsl:template match="simplesect/info"></xsl:template>
-<xsl:template match="simplesect/title"></xsl:template>
-<xsl:template match="simplesect/titleabbrev"></xsl:template>
-<xsl:template match="simplesect/subtitle"></xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="section.heading">
-  <xsl:param name="level" select="1"/>
-  <xsl:param name="marker" select="1"/>
-  <xsl:param name="title"/>
-  <xsl:param name="marker.title"/>
-
-  <fo:block xsl:use-attribute-sets="section.title.properties">
-    <xsl:if test="$marker != 0">
-      <fo:marker marker-class-name="section.head.marker">
-        <xsl:copy-of select="$marker.title"/>
-      </fo:marker>
-    </xsl:if>
-
-    <xsl:choose>
-      <xsl:when test="$level=1">
-        <fo:block xsl:use-attribute-sets="section.title.level1.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=2">
-        <fo:block xsl:use-attribute-sets="section.title.level2.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=3">
-        <fo:block xsl:use-attribute-sets="section.title.level3.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=4">
-        <fo:block xsl:use-attribute-sets="section.title.level4.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="$level=5">
-        <fo:block xsl:use-attribute-sets="section.title.level5.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <fo:block xsl:use-attribute-sets="section.title.level6.properties">
-          <xsl:copy-of select="$title"/>
-        </fo:block>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="bridgehead">
-  <xsl:variable name="container"
-                select="(ancestor::appendix
-                        |ancestor::article
-                        |ancestor::bibliography
-                        |ancestor::chapter
-                        |ancestor::glossary
-                        |ancestor::glossdiv
-                        |ancestor::index
-                        |ancestor::partintro
-                        |ancestor::preface
-                        |ancestor::refsect1
-                        |ancestor::refsect2
-                        |ancestor::refsect3
-                        |ancestor::sect1
-                        |ancestor::sect2
-                        |ancestor::sect3
-                        |ancestor::sect4
-                        |ancestor::sect5
-                        |ancestor::section
-                        |ancestor::setindex
-                        |ancestor::simplesect)[last()]"/>
-
-  <xsl:variable name="clevel">
-    <xsl:choose>
-      <xsl:when test="local-name($container) = 'appendix'
-                      or local-name($container) = 'chapter'
-                      or local-name($container) = 'article'
-                      or local-name($container) = 'bibliography'
-                      or local-name($container) = 'glossary'
-                      or local-name($container) = 'index'
-                      or local-name($container) = 'partintro'
-                      or local-name($container) = 'preface'
-                      or local-name($container) = 'setindex'">2</xsl:when>
-      <xsl:when test="local-name($container) = 'glossdiv'">
-        <xsl:value-of select="count(ancestor::glossdiv)+2"/>
-      </xsl:when>
-      <xsl:when test="local-name($container) = 'sect1'
-                      or local-name($container) = 'sect2'
-                      or local-name($container) = 'sect3'
-                      or local-name($container) = 'sect4'
-                      or local-name($container) = 'sect5'
-                      or local-name($container) = 'refsect1'
-                      or local-name($container) = 'refsect2'
-                      or local-name($container) = 'refsect3'
-                      or local-name($container) = 'section'
-                      or local-name($container) = 'simplesect'">
-        <xsl:variable name="slevel">
-          <xsl:call-template name="section.level">
-            <xsl:with-param name="node" select="$container"/>
-          </xsl:call-template>
-        </xsl:variable>
-        <xsl:value-of select="$slevel + 1"/>
-      </xsl:when>
-      <xsl:otherwise>2</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="level">
-    <xsl:choose>
-      <xsl:when test="@renderas = 'sect1'">1</xsl:when>
-      <xsl:when test="@renderas = 'sect2'">2</xsl:when>
-      <xsl:when test="@renderas = 'sect3'">3</xsl:when>
-      <xsl:when test="@renderas = 'sect4'">4</xsl:when>
-      <xsl:when test="@renderas = 'sect5'">5</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$clevel"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="marker">
-    <xsl:choose>
-      <xsl:when test="$level &lt;= $marker.section.level">1</xsl:when>
-      <xsl:otherwise>0</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="marker.title">
-    <xsl:apply-templates/>
-  </xsl:variable>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-    <xsl:call-template name="section.heading">
-      <xsl:with-param name="level" select="$level"/>
-      <xsl:with-param name="title">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-      <xsl:with-param name="marker" select="$marker"/>
-      <xsl:with-param name="marker.title" select="$marker.title"/>
-    </xsl:call-template>
-  </fo:block>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/spaces.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/spaces.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,273 +1,0 @@
-<?xml version='1.0' encoding="utf-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-     XSL-FO specification treats all space characters like ordinary spaces.
-     We need to map them to fo:leader with different widths in order to
-     simulate desired behaviour.
-     ******************************************************************** -->
-
-<xsl:template match="text()[namespace-uri(..) = '']">
-  <xsl:choose>
-    <xsl:when test="$passivetex.extensions != 0">
-      <xsl:call-template name="passivetex.dash.subst">
-        <xsl:with-param name="string">
-	  <xsl:call-template name="space.2000.subst">
-	    <xsl:with-param name="string" select="."/>
-	  </xsl:call-template>
-	</xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.2000.subst">
-	<xsl:with-param name="string" select="."/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:param name="space.enquad.width">0.5em</xsl:param>   <!-- U+2000 -->
-<xsl:param name="space.emquad.width">1em</xsl:param>     <!-- U+2001 -->
-<xsl:param name="space.enspace.width">0.5em</xsl:param>  <!-- U+2002 -->
-<xsl:param name="space.emspace.width">1em</xsl:param>    <!-- U+2003 -->
-<xsl:param name="space.3emspace.width">0.33em</xsl:param><!-- U+2004 -->
-<xsl:param name="space.4emspace.width">0.25em</xsl:param><!-- U+2005 -->
-<xsl:param name="space.6emspace.width">0.16em</xsl:param><!-- U+2006 -->
-<xsl:param name="space.figspace.width"></xsl:param>      <!-- U+2007 -->
-<xsl:param name="space.punctspace.width"></xsl:param>    <!-- U+2008 -->
-<xsl:param name="space.thinspace.width">0.2em</xsl:param><!-- U+2009 -->
-<xsl:param name="space.hairspace.width">0.1em</xsl:param><!-- U+200A -->
-
-<xsl:template name="space.2000.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x2000;') and $space.enquad.width != ''">
-      <xsl:call-template name="space.2001.subst">
-	<xsl:with-param name="string" select="substring-before($string, '&#x2000;')"/>
-      </xsl:call-template>
-      <fo:leader leader-length="{$space.enquad.width}"/>
-      <xsl:call-template name="space.2000.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x2000;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.2001.subst">
-	<xsl:with-param name="string" select="$string"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space.2001.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x2001;') and $space.emquad.width != ''">
-      <xsl:call-template name="space.2002.subst">
-	<xsl:with-param name="string" select="substring-before($string, '&#x2001;')"/>
-      </xsl:call-template>
-      <fo:leader leader-length="{$space.emquad.width}"/>
-      <xsl:call-template name="space.2001.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x2001;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.2002.subst">
-	<xsl:with-param name="string" select="$string"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space.2002.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x2002;') and $space.enspace.width != ''">
-      <xsl:call-template name="space.2003.subst">
-	<xsl:with-param name="string" select="substring-before($string, '&#x2002;')"/>
-      </xsl:call-template>
-      <fo:leader leader-length="{$space.enspace.width}"/>
-      <xsl:call-template name="space.2002.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x2002;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.2003.subst">
-	<xsl:with-param name="string" select="$string"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space.2003.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x2003;') and $space.emspace.width != ''">
-      <xsl:call-template name="space.2004.subst">
-	<xsl:with-param name="string" select="substring-before($string, '&#x2003;')"/>
-      </xsl:call-template>
-      <fo:leader leader-length="{$space.emspace.width}"/>
-      <xsl:call-template name="space.2003.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x2003;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.2004.subst">
-	<xsl:with-param name="string" select="$string"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space.2004.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x2004;') and $space.3emspace.width != ''">
-      <xsl:call-template name="space.2005.subst">
-	<xsl:with-param name="string" select="substring-before($string, '&#x2004;')"/>
-      </xsl:call-template>
-      <fo:leader leader-length="{$space.3emspace.width}"/>
-      <xsl:call-template name="space.2004.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x2004;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.2005.subst">
-	<xsl:with-param name="string" select="$string"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space.2005.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x2005;') and $space.4emspace.width != ''">
-      <xsl:call-template name="space.2006.subst">
-	<xsl:with-param name="string" select="substring-before($string, '&#x2005;')"/>
-      </xsl:call-template>
-      <fo:leader leader-length="{$space.4emspace.width}"/>
-      <xsl:call-template name="space.2005.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x2005;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.2006.subst">
-	<xsl:with-param name="string" select="$string"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space.2006.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x2006;') and $space.6emspace.width != ''">
-      <xsl:call-template name="space.2007.subst">
-	<xsl:with-param name="string" select="substring-before($string, '&#x2006;')"/>
-      </xsl:call-template>
-      <fo:leader leader-length="{$space.6emspace.width}"/>
-      <xsl:call-template name="space.2006.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x2006;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.2007.subst">
-	<xsl:with-param name="string" select="$string"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space.2007.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x2007;') and $space.figspace.width != ''">
-      <xsl:call-template name="space.2008.subst">
-	<xsl:with-param name="string" select="substring-before($string, '&#x2007;')"/>
-      </xsl:call-template>
-      <fo:leader leader-length="{$space.figspace.width}"/>
-      <xsl:call-template name="space.2007.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x2007;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.2008.subst">
-	<xsl:with-param name="string" select="$string"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space.2008.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x2008;') and $space.punctspace.width != ''">
-      <xsl:call-template name="space.2009.subst">
-	<xsl:with-param name="string" select="substring-before($string, '&#x2008;')"/>
-      </xsl:call-template>
-      <fo:leader leader-length="{$space.punctspace.width}"/>
-      <xsl:call-template name="space.2008.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x2008;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.2009.subst">
-	<xsl:with-param name="string" select="$string"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space.2009.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x2009;') and $space.thinspace.width != ''">
-      <xsl:call-template name="space.200A.subst">
-	<xsl:with-param name="string" select="substring-before($string, '&#x2009;')"/>
-      </xsl:call-template>
-      <fo:leader leader-length="{$space.thinspace.width}"/>
-      <xsl:call-template name="space.2009.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x2009;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="space.200A.subst">
-	<xsl:with-param name="string" select="$string"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space.200A.subst">
-  <xsl:param name="string"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, '&#x200A;') and $space.hairspace.width != ''">
-      <xsl:value-of select="substring-before($string, '&#x200A;')"/>
-      <fo:leader leader-length="{$space.hairspace.width}"/>
-      <xsl:call-template name="space.200A.subst">
-	<xsl:with-param name="string" select="substring-after($string, '&#x200A;')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$string"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/synop.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/synop.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,967 +1,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [
-<!ENTITY RE "&#10;">
-<!ENTITY nbsp "&#160;">
-]>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- synopsis is in verbatim -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="cmdsynopsis">
-  <fo:block xsl:use-attribute-sets="normal.para.spacing">
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="cmdsynopsis/command">
-  <xsl:call-template name="inline.monoseq"/>
-  <xsl:text> </xsl:text>
-</xsl:template>
-
-<xsl:template match="cmdsynopsis/command[1]" priority="2">
-  <xsl:call-template name="inline.monoseq"/>
-  <xsl:text> </xsl:text>
-</xsl:template>
-
-<xsl:template match="group|arg" name="group-or-arg">
-  <xsl:variable name="choice" select="@choice"/>
-  <xsl:variable name="rep" select="@rep"/>
-  <xsl:variable name="sepchar">
-    <xsl:choose>
-      <xsl:when test="ancestor-or-self::*/@sepchar">
-        <xsl:value-of select="ancestor-or-self::*/@sepchar"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:text> </xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:if test="preceding-sibling::*">
-    <xsl:value-of select="$sepchar"/>
-  </xsl:if>
-  <xsl:choose>
-    <xsl:when test="$choice='plain'">
-      <xsl:value-of select="$arg.choice.plain.open.str"/>
-    </xsl:when>
-    <xsl:when test="$choice='req'">
-      <xsl:value-of select="$arg.choice.req.open.str"/>
-    </xsl:when>
-    <xsl:when test="$choice='opt'">
-      <xsl:value-of select="$arg.choice.opt.open.str"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$arg.choice.def.open.str"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:apply-templates/>
-  <xsl:choose>
-    <xsl:when test="$rep='repeat'">
-      <xsl:value-of select="$arg.rep.repeat.str"/>
-    </xsl:when>
-    <xsl:when test="$rep='norepeat'">
-      <xsl:value-of select="$arg.rep.norepeat.str"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$arg.rep.def.str"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:choose>
-    <xsl:when test="$choice='plain'">
-      <xsl:value-of select="$arg.choice.plain.close.str"/>
-    </xsl:when>
-    <xsl:when test="$choice='req'">
-      <xsl:value-of select="$arg.choice.req.close.str"/>
-    </xsl:when>
-    <xsl:when test="$choice='opt'">
-      <xsl:value-of select="$arg.choice.opt.close.str"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$arg.choice.def.close.str"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="group/arg">
-  <xsl:variable name="choice" select="@choice"/>
-  <xsl:variable name="rep" select="@rep"/>
-  <xsl:if test="preceding-sibling::*">
-    <xsl:value-of select="$arg.or.sep"/>
-  </xsl:if>
-  <xsl:call-template name="group-or-arg"/>
-</xsl:template>
-
-<xsl:template match="sbr">
-  <fo:block/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="synopfragmentref">
-  <xsl:variable name="target" select="key('id',@linkend)"/>
-  <xsl:variable name="snum">
-    <xsl:apply-templates select="$target" mode="synopfragment.number"/>
-  </xsl:variable>
-  <fo:inline font-style="italic">
-    <fo:basic-link internal-destination="{@linkend}"
-                   xsl:use-attribute-sets="xref.properties">
-      <xsl:text>(</xsl:text>
-      <xsl:value-of select="$snum"/>
-      <xsl:text>)</xsl:text>
-    </fo:basic-link>
-    <xsl:text>&#160;</xsl:text>
-    <xsl:apply-templates/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="synopfragment" mode="synopfragment.number">
-  <xsl:number format="1"/>
-</xsl:template>
-
-<xsl:template match="synopfragment">
-  <xsl:variable name="snum">
-    <xsl:apply-templates select="." mode="synopfragment.number"/>
-  </xsl:variable>
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <fo:block id="{$id}">
-    <xsl:text>(</xsl:text>
-    <xsl:value-of select="$snum"/>
-    <xsl:text>)</xsl:text>
-    <xsl:text> </xsl:text>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="funcsynopsis">
-  <xsl:call-template name="informal.object"/>
-</xsl:template>
-
-<xsl:template match="funcsynopsisinfo">
-  <fo:block space-after.minimum="0.8em"
-            space-after.optimum="1em"
-            space-after.maximum="1.2em">
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="funcprototype">
-  <fo:block font-family="{$monospace.font.family}"
-          space-before.minimum="0.8em"
-          space-before.optimum="1em"
-          space-before.maximum="1.2em">
-    <xsl:apply-templates/>
-    <xsl:if test="$funcsynopsis.style='kr'">
-      <fo:block
-          space-before.minimum="0.8em"
-          space-before.optimum="1em"
-          space-before.maximum="1.2em">
-      <xsl:apply-templates select="./paramdef" mode="kr-funcsynopsis-mode"/>
-      </fo:block>
-    </xsl:if>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="funcdef">
-  <fo:inline font-family="{$monospace.font.family}">
-    <xsl:apply-templates/>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template match="funcdef/function">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <fo:inline font-weight="bold">
-        <xsl:apply-templates/>
-      </fo:inline>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="void">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.style='ansi'">
-      <xsl:text>(void);</xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>();</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="varargs">
-  <xsl:text>(...);</xsl:text>
-</xsl:template>
-
-<xsl:template match="paramdef">
-  <xsl:variable name="paramnum">
-    <xsl:number count="paramdef" format="1"/>
-  </xsl:variable>
-  <xsl:if test="$paramnum=1">(</xsl:if>
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.style='ansi'">
-      <xsl:apply-templates/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="./parameter"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:choose>
-    <xsl:when test="following-sibling::paramdef">
-      <xsl:text>, </xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>);</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="paramdef/parameter">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <xsl:call-template name="inline.italicseq"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:if test="following-sibling::parameter">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="paramdef" mode="kr-funcsynopsis-mode">
-  <fo:block>
-    <xsl:apply-templates/>
-    <xsl:text>;</xsl:text>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="funcparams">
-  <xsl:text>(</xsl:text>
-  <xsl:apply-templates/>
-  <xsl:text>)</xsl:text>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:variable name="default-classsynopsis-language">java</xsl:variable>
-
-<xsl:template match="classsynopsis
-                     |fieldsynopsis
-                     |methodsynopsis
-                     |constructorsynopsis
-                     |destructorsynopsis">
-  <xsl:param name="language">
-    <xsl:choose>
-      <xsl:when test="@language">
-	<xsl:value-of select="@language"/>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:value-of select="$default-classsynopsis-language"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:param>
-
-  <!--
-  <xsl:message>process <xsl:value-of select="local-name(.)"/> in <xsl:value-of select="$language"/></xsl:message>
-  -->
-
-  <xsl:choose>
-    <xsl:when test="$language='java' or $language='Java'">
-      <xsl:apply-templates select="." mode="java"/>
-    </xsl:when>
-    <xsl:when test="$language='perl' or $language='Perl'">
-      <xsl:apply-templates select="." mode="perl"/>
-    </xsl:when>
-    <xsl:when test="$language='idl' or $language='IDL'">
-      <xsl:apply-templates select="." mode="idl"/>
-    </xsl:when>
-    <xsl:when test="$language='cpp' or $language='c++' or $language='C++'">
-      <xsl:apply-templates select="." mode="cpp"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-	<xsl:text>Unrecognized language on </xsl:text>
-        <xsl:value-of select="local-name(.)"/>
-        <xsl:text>: </xsl:text>
-	<xsl:value-of select="$language"/>
-      </xsl:message>
-      <xsl:apply-templates select=".">
-	<xsl:with-param name="language"
-	  select="$default-classsynopsis-language"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="synop-break">
-  <xsl:if test="parent::classsynopsis
-                or (following-sibling::fieldsynopsis
-                    |following-sibling::methodsynopsis
-                    |following-sibling::constructorsynopsis
-                    |following-sibling::destructorsynopsis)">
-    <fo:inline>&RE;</fo:inline>
-  </xsl:if>
-</xsl:template>
-
-<!-- ===== Java ======================================================== -->
-
-<xsl:template match="classsynopsis" mode="java">
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:apply-templates select="ooclass[1]" mode="java"/>
-    <xsl:if test="ooclass[preceding-sibling::*]">
-      <xsl:text> extends</xsl:text>
-      <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="java"/>
-      <xsl:if test="oointerface|ooexception">
-        <xsl:text>&RE;&nbsp;&nbsp;&nbsp;&nbsp;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="oointerface">
-      <xsl:text>implements</xsl:text>
-      <xsl:apply-templates select="oointerface" mode="java"/>
-      <xsl:if test="ooexception">
-	<xsl:text>&RE;&nbsp;&nbsp;&nbsp;&nbsp;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="ooexception">
-      <xsl:text>throws</xsl:text>
-      <xsl:apply-templates select="ooexception" mode="java"/>
-    </xsl:if>
-    <xsl:text>&nbsp;{&RE;</xsl:text>
-    <xsl:apply-templates select="constructorsynopsis
-                                 |destructorsynopsis
-                                 |fieldsynopsis
-                                 |methodsynopsis
-                                 |classsynopsisinfo" mode="java"/>
-    <xsl:text>}</xsl:text>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="classsynopsisinfo" mode="java">
-  <xsl:apply-templates mode="java"/>
-</xsl:template>
-
-<xsl:template match="ooclass|oointerface|ooexception" mode="java">
-  <xsl:choose>
-    <xsl:when test="preceding-sibling::*">
-      <xsl:text>, </xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text> </xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:apply-templates mode="java"/>
-</xsl:template>
-
-<xsl:template match="modifier|package" mode="java">
-  <xsl:apply-templates mode="java"/>
-  <xsl:if test="following-sibling::*">
-    <xsl:text>&nbsp;</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="classname" mode="java">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="java"/>
-</xsl:template>
-
-<xsl:template match="interfacename" mode="java">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="java"/>
-</xsl:template>
-
-<xsl:template match="exceptionname" mode="java">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="java"/>
-</xsl:template>
-
-<xsl:template match="fieldsynopsis" mode="java">
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:text>&nbsp;&nbsp;</xsl:text>
-    <xsl:apply-templates mode="java"/>
-    <xsl:text>;</xsl:text>
-    <xsl:call-template name="synop-break"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="type" mode="java">
-  <xsl:apply-templates mode="java"/>
-  <xsl:text>&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="varname" mode="java">
-  <xsl:apply-templates mode="java"/>
-  <xsl:text>&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="initializer" mode="java">
-  <xsl:text>=&nbsp;</xsl:text>
-  <xsl:apply-templates mode="java"/>
-</xsl:template>
-
-<xsl:template match="void" mode="java">
-  <xsl:text>void&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="methodname" mode="java">
-  <xsl:apply-templates mode="java"/>
-</xsl:template>
-
-<xsl:template match="methodparam" mode="java">
-  <xsl:param name="indent">0</xsl:param>
-  <xsl:if test="preceding-sibling::methodparam">
-    <xsl:text>,&RE;</xsl:text>
-    <xsl:if test="$indent &gt; 0">
-      <xsl:call-template name="copy-string">
-	<xsl:with-param name="string">&nbsp;</xsl:with-param>
-	<xsl:with-param name="count" select="$indent + 1"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:if>
-  <xsl:apply-templates mode="java"/>
-</xsl:template>
-
-<xsl:template match="parameter" mode="java">
-  <xsl:apply-templates mode="java"/>
-</xsl:template>
-
-<xsl:template mode="java"
-  match="constructorsynopsis|destructorsynopsis|methodsynopsis">
-  <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/>
-  <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/>
-  <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/>
-  <xsl:variable name="decl">
-    <xsl:text>  </xsl:text>
-    <xsl:apply-templates select="$start-modifiers" mode="java"/>
-
-    <!-- type -->
-    <xsl:if test="local-name($notmod[1]) != 'methodname'">
-      <xsl:apply-templates select="$notmod[1]" mode="java"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="methodname" mode="java"/>
-  </xsl:variable>
-
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:copy-of select="$decl"/>
-    <xsl:text>(</xsl:text>
-    <xsl:apply-templates select="methodparam" mode="java">
-      <xsl:with-param name="indent" select="string-length($decl)"/>
-    </xsl:apply-templates>
-    <xsl:text>)</xsl:text>
-    <xsl:if test="exceptionname">
-      <xsl:text>&RE;&nbsp;&nbsp;&nbsp;&nbsp;throws&nbsp;</xsl:text>
-      <xsl:apply-templates select="exceptionname" mode="java"/>
-    </xsl:if>
-    <xsl:if test="modifier[preceding-sibling::*[local-name(.) != 'modifier']]">
-      <xsl:text> </xsl:text>
-      <xsl:apply-templates select="$end-modifiers" mode="java"/>
-    </xsl:if>
-    <xsl:text>;</xsl:text>
-  </fo:block>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<!-- ===== C++ ========================================================= -->
-
-<xsl:template match="classsynopsis" mode="cpp">
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:apply-templates select="ooclass[1]" mode="cpp"/>
-    <xsl:if test="ooclass[preceding-sibling::*]">
-      <xsl:text>: </xsl:text>
-      <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="cpp"/>
-      <xsl:if test="oointerface|ooexception">
-	<xsl:text>&RE;&nbsp;&nbsp;&nbsp;&nbsp;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="oointerface">
-      <xsl:text> implements</xsl:text>
-      <xsl:apply-templates select="oointerface" mode="cpp"/>
-      <xsl:if test="ooexception">
-	<xsl:text>&RE;&nbsp;&nbsp;&nbsp;&nbsp;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="ooexception">
-      <xsl:text> throws</xsl:text>
-      <xsl:apply-templates select="ooexception" mode="cpp"/>
-    </xsl:if>
-    <xsl:text>&nbsp;{&RE;</xsl:text>
-    <xsl:apply-templates select="constructorsynopsis
-                                 |destructorsynopsis
-                                 |fieldsynopsis
-                                 |methodsynopsis
-                                 |classsynopsisinfo" mode="cpp"/>
-    <xsl:text>}</xsl:text>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="classsynopsisinfo" mode="cpp">
-  <xsl:apply-templates mode="cpp"/>
-</xsl:template>
-
-<xsl:template match="ooclass|oointerface|ooexception" mode="cpp">
-  <xsl:if test="preceding-sibling::*">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="cpp"/>
-</xsl:template>
-
-<xsl:template match="modifier|package" mode="cpp">
-  <xsl:apply-templates mode="cpp"/>
-    <xsl:if test="following-sibling::*">
-      <xsl:text>&nbsp;</xsl:text>
-    </xsl:if>
-</xsl:template>
-
-<xsl:template match="classname" mode="cpp">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="cpp"/>
-</xsl:template>
-
-<xsl:template match="interfacename" mode="cpp">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="cpp"/>
-</xsl:template>
-
-<xsl:template match="exceptionname" mode="cpp">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="cpp"/>
-</xsl:template>
-
-<xsl:template match="fieldsynopsis" mode="cpp">
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:text>&nbsp;&nbsp;</xsl:text>
-    <xsl:apply-templates mode="cpp"/>
-    <xsl:text>;</xsl:text>
-  </fo:block>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<xsl:template match="type" mode="cpp">
-  <xsl:apply-templates mode="cpp"/>
-  <xsl:text>&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="varname" mode="cpp">
-  <xsl:apply-templates mode="cpp"/>
-  <xsl:text>&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="initializer" mode="cpp">
-  <xsl:text>=&nbsp;</xsl:text>
-  <xsl:apply-templates mode="cpp"/>
-</xsl:template>
-
-<xsl:template match="void" mode="cpp">
-  <xsl:text>void&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="methodname" mode="cpp">
-  <xsl:apply-templates mode="cpp"/>
-</xsl:template>
-
-<xsl:template match="methodparam" mode="cpp">
-  <xsl:if test="preceding-sibling::methodparam">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="cpp"/>
-</xsl:template>
-
-<xsl:template match="parameter" mode="cpp">
-  <xsl:apply-templates mode="cpp"/>
-</xsl:template>
-
-<xsl:template mode="cpp"
-  match="constructorsynopsis|destructorsynopsis|methodsynopsis">
-  <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/>
-  <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/>
-  <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/>
-
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:text>  </xsl:text>
-    <xsl:apply-templates select="$start-modifiers" mode="cpp"/>
-
-    <!-- type -->
-    <xsl:if test="local-name($notmod[1]) != 'methodname'">
-      <xsl:apply-templates select="$notmod[1]" mode="cpp"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="methodname" mode="cpp"/>
-    <xsl:text>(</xsl:text>
-    <xsl:apply-templates select="methodparam" mode="cpp"/>
-    <xsl:text>)</xsl:text>
-    <xsl:if test="exceptionname">
-      <xsl:text>&RE;&nbsp;&nbsp;&nbsp;&nbsp;throws&nbsp;</xsl:text>
-      <xsl:apply-templates select="exceptionname" mode="cpp"/>
-    </xsl:if>
-    <xsl:if test="modifier[preceding-sibling::*[local-name(.) != 'modifier']]">
-      <xsl:text> </xsl:text>
-      <xsl:apply-templates select="$end-modifiers" mode="cpp"/>
-    </xsl:if>
-    <xsl:text>;</xsl:text>
-  </fo:block>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<!-- ===== IDL ========================================================= -->
-
-<xsl:template match="classsynopsis" mode="idl">
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:text>interface </xsl:text>
-    <xsl:apply-templates select="ooclass[1]" mode="idl"/>
-    <xsl:if test="ooclass[preceding-sibling::*]">
-      <xsl:text>: </xsl:text>
-      <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="idl"/>
-      <xsl:if test="oointerface|ooexception">
-	<xsl:text>&RE;&nbsp;&nbsp;&nbsp;&nbsp;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="oointerface">
-      <xsl:text> implements</xsl:text>
-      <xsl:apply-templates select="oointerface" mode="idl"/>
-      <xsl:if test="ooexception">
-	<xsl:text>&RE;&nbsp;&nbsp;&nbsp;&nbsp;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="ooexception">
-      <xsl:text> throws</xsl:text>
-      <xsl:apply-templates select="ooexception" mode="idl"/>
-    </xsl:if>
-    <xsl:text>&nbsp;{&RE;</xsl:text>
-    <xsl:apply-templates select="constructorsynopsis
-                                 |destructorsynopsis
-                                 |fieldsynopsis
-                                 |methodsynopsis
-                                 |classsynopsisinfo" mode="idl"/>
-    <xsl:text>}</xsl:text>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="classsynopsisinfo" mode="idl">
-  <xsl:apply-templates mode="idl"/>
-</xsl:template>
-
-<xsl:template match="ooclass|oointerface|ooexception" mode="idl">
-  <xsl:if test="preceding-sibling::*">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="idl"/>
-</xsl:template>
-
-<xsl:template match="modifier|package" mode="idl">
-  <xsl:apply-templates mode="idl"/>
-    <xsl:if test="following-sibling::*">
-      <xsl:text>&nbsp;</xsl:text>
-    </xsl:if>
-</xsl:template>
-
-<xsl:template match="classname" mode="idl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="idl"/>
-</xsl:template>
-
-<xsl:template match="interfacename" mode="idl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="idl"/>
-</xsl:template>
-
-<xsl:template match="exceptionname" mode="idl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="idl"/>
-</xsl:template>
-
-<xsl:template match="fieldsynopsis" mode="idl">
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:text>&nbsp;&nbsp;</xsl:text>
-    <xsl:apply-templates mode="idl"/>
-    <xsl:text>;</xsl:text>
-  </fo:block>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<xsl:template match="type" mode="idl">
-  <xsl:apply-templates mode="idl"/>
-  <xsl:text>&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="varname" mode="idl">
-  <xsl:apply-templates mode="idl"/>
-  <xsl:text>&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="initializer" mode="idl">
-  <xsl:text>=&nbsp;</xsl:text>
-  <xsl:apply-templates mode="idl"/>
-</xsl:template>
-
-<xsl:template match="void" mode="idl">
-  <xsl:text>void&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="methodname" mode="idl">
-  <xsl:apply-templates mode="idl"/>
-</xsl:template>
-
-<xsl:template match="methodparam" mode="idl">
-  <xsl:if test="preceding-sibling::methodparam">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="idl"/>
-</xsl:template>
-
-<xsl:template match="parameter" mode="idl">
-  <xsl:apply-templates mode="idl"/>
-</xsl:template>
-
-<xsl:template mode="idl"
-  match="constructorsynopsis|destructorsynopsis|methodsynopsis">
-  <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/>
-  <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/>
-  <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/>
-
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:text>  </xsl:text>
-    <xsl:apply-templates select="$start-modifiers" mode="idl"/>
-
-    <!-- type -->
-    <xsl:if test="local-name($notmod[1]) != 'methodname'">
-      <xsl:apply-templates select="$notmod[1]" mode="idl"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="methodname" mode="idl"/>
-    <xsl:text>(</xsl:text>
-    <xsl:apply-templates select="methodparam" mode="idl"/>
-    <xsl:text>)</xsl:text>
-    <xsl:if test="exceptionname">
-      <xsl:text>&RE;&nbsp;&nbsp;&nbsp;&nbsp;raises(</xsl:text>
-      <xsl:apply-templates select="exceptionname" mode="idl"/>
-      <xsl:text>)</xsl:text>
-    </xsl:if>
-    <xsl:if test="modifier[preceding-sibling::*[local-name(.) != 'modifier']]">
-      <xsl:text> </xsl:text>
-      <xsl:apply-templates select="$end-modifiers" mode="idl"/>
-    </xsl:if>
-    <xsl:text>;</xsl:text>
-  </fo:block>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<!-- ===== Perl ======================================================== -->
-
-<xsl:template match="classsynopsis" mode="perl">
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:text>package </xsl:text>
-    <xsl:apply-templates select="ooclass[1]" mode="perl"/>
-    <xsl:text>;&RE;</xsl:text>
-
-    <xsl:if test="ooclass[preceding-sibling::*]">
-      <xsl:text>@ISA = (</xsl:text>
-      <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="perl"/>
-      <xsl:text>);&RE;</xsl:text>
-    </xsl:if>
-
-    <xsl:apply-templates select="constructorsynopsis
-                                 |destructorsynopsis
-                                 |fieldsynopsis
-                                 |methodsynopsis
-                                 |classsynopsisinfo" mode="perl"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="classsynopsisinfo" mode="perl">
-  <xsl:apply-templates mode="perl"/>
-</xsl:template>
-
-<xsl:template match="ooclass|oointerface|ooexception" mode="perl">
-  <xsl:if test="preceding-sibling::*">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="perl"/>
-</xsl:template>
-
-<xsl:template match="modifier|package" mode="perl">
-  <xsl:apply-templates mode="perl"/>
-    <xsl:if test="following-sibling::*">
-      <xsl:text>&nbsp;</xsl:text>
-    </xsl:if>
-</xsl:template>
-
-<xsl:template match="classname" mode="perl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="perl"/>
-</xsl:template>
-
-<xsl:template match="interfacename" mode="perl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="perl"/>
-</xsl:template>
-
-<xsl:template match="exceptionname" mode="perl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="perl"/>
-</xsl:template>
-
-<xsl:template match="fieldsynopsis" mode="perl">
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:text>&nbsp;&nbsp;</xsl:text>
-    <xsl:apply-templates mode="perl"/>
-    <xsl:text>;</xsl:text>
-  </fo:block>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<xsl:template match="type" mode="perl">
-  <xsl:apply-templates mode="perl"/>
-  <xsl:text>&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="varname" mode="perl">
-  <xsl:apply-templates mode="perl"/>
-  <xsl:text>&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="initializer" mode="perl">
-  <xsl:text>=&nbsp;</xsl:text>
-  <xsl:apply-templates mode="perl"/>
-</xsl:template>
-
-<xsl:template match="void" mode="perl">
-  <xsl:text>void&nbsp;</xsl:text>
-</xsl:template>
-
-<xsl:template match="methodname" mode="perl">
-  <xsl:apply-templates mode="perl"/>
-</xsl:template>
-
-<xsl:template match="methodparam" mode="perl">
-  <xsl:if test="preceding-sibling::methodparam">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="perl"/>
-</xsl:template>
-
-<xsl:template match="parameter" mode="perl">
-  <xsl:apply-templates mode="perl"/>
-</xsl:template>
-
-<xsl:template mode="perl"
-  match="constructorsynopsis|destructorsynopsis|methodsynopsis">
-  <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/>
-  <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/>
-  <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/>
-
-  <fo:block wrap-option='no-wrap'
-            white-space-collapse='false'
-            linefeed-treatment="preserve"
-            xsl:use-attribute-sets="monospace.verbatim.properties">
-    <xsl:text>sub </xsl:text>
-
-    <xsl:apply-templates select="methodname" mode="perl"/>
-    <xsl:text> { ... };</xsl:text>
-    <xsl:call-template name="synop-break"/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- * DocBook 5 allows linking elements (link, olink, and xref) -->
-<!-- * within the OO *synopsis elements (classsynopsis, fieldsynopsis, -->
-<!-- * methodsynopsis, constructorsynopsis, destructorsynopsis) and -->
-<!-- * their children. So we need to have mode="java|cpp|idl|perl" -->
-<!-- * per-mode matches for those linking elements in order for them -->
-<!-- * to be processed as expected. -->
-
-<xsl:template match="link|olink|xref" mode="java">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="link|olink|xref" mode="cpp">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="link|olink|xref" mode="idl">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="link|olink|xref" mode="perl">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/table.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/table.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1535 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:rx="http://www.renderx.com/XSL/Extensions"
-                xmlns:stbl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Table"
-                xmlns:xtbl="com.nwalsh.xalan.Table"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:ptbl="http://nwalsh.com/xslt/ext/xsltproc/python/Table"
-                exclude-result-prefixes="doc stbl xtbl lxslt ptbl"
-                version='1.0'>
-
-<xsl:include href="../common/table.xsl"/>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<doc:reference xmlns="" xml:id="table-templates">
-  <?dbhtml dir="fo"?>
-  <info>
-    <title>Formatting Object Table Reference</title>
-    <releaseinfo role="meta">
-      $Id$
-    </releaseinfo>
-  </info>
-  <partintro xml:id="partintro">
-    <title>Introduction</title>
-    <para>This is technical reference documentation for the FO
-      table-processing templates in the DocBook XSL Stylesheets.</para>
-    <para>This is not intended to be user documentation.  It is
-      provided for developers writing customization layers for the
-      stylesheets.</para>
-  </partintro>
-</doc:reference>
-
-<!-- ==================================================================== -->
-
-<lxslt:component prefix="xtbl"
-                 functions="adjustColumnWidths"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="make.table.content">
-  <xsl:choose>
-    <xsl:when test="tgroup|mediaobject|graphic">
-      <xsl:call-template name="calsTable"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="." mode="htmlTable"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="calsTable">
-
-  <xsl:variable name="keep.together">
-    <xsl:call-template name="pi.dbfo_keep-together"/>
-  </xsl:variable>
-
-  <xsl:for-each select="tgroup">
-
-    <fo:table xsl:use-attribute-sets="table.table.properties">
-      <xsl:if test="$keep.together != ''">
-        <xsl:attribute name="keep-together.within-column">
-          <xsl:value-of select="$keep.together"/>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:call-template name="table.frame"/>
-      <xsl:if test="following-sibling::tgroup">
-        <xsl:attribute name="border-bottom-width">0pt</xsl:attribute>
-        <xsl:attribute name="border-bottom-style">none</xsl:attribute>
-        <xsl:attribute name="padding-bottom">0pt</xsl:attribute>
-        <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
-        <xsl:attribute name="space-after">0pt</xsl:attribute>
-        <xsl:attribute name="space-after.minimum">0pt</xsl:attribute>
-        <xsl:attribute name="space-after.optimum">0pt</xsl:attribute>
-        <xsl:attribute name="space-after.maximum">0pt</xsl:attribute>
-      </xsl:if>
-      <xsl:if test="preceding-sibling::tgroup">
-        <xsl:attribute name="border-top-width">0pt</xsl:attribute>
-        <xsl:attribute name="border-top-style">none</xsl:attribute>
-        <xsl:attribute name="padding-top">0pt</xsl:attribute>
-        <xsl:attribute name="margin-top">0pt</xsl:attribute>
-        <xsl:attribute name="space-before">0pt</xsl:attribute>
-        <xsl:attribute name="space-before.minimum">0pt</xsl:attribute>
-        <xsl:attribute name="space-before.optimum">0pt</xsl:attribute>
-        <xsl:attribute name="space-before.maximum">0pt</xsl:attribute>
-      </xsl:if>
-      <xsl:apply-templates select="."/>
-    </fo:table>
-  </xsl:for-each>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- Placeholder template enables wrapping a fo:table in
-     another table for purposes of layout or applying
-     extensions such as XEP table-omit-initial-header to
-     create "continued" titles on page breaks. -->
-<xsl:template name="table.layout">
-  <xsl:param name="table.content" select="NOTANODE"/>
-
-  <xsl:copy-of select="$table.content"/>
-</xsl:template>
-
-<xsl:template name="table.block">
-  <xsl:param name="table.layout" select="NOTANODE"/>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="param.placement"
-                select="substring-after(normalize-space(
-                   $formal.title.placement), concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="self::table">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="table.properties">
-        <xsl:if test="$placement = 'before'">
-          <xsl:call-template name="formal.object.heading">
-            <xsl:with-param name="placement" select="$placement"/>
-          </xsl:call-template>
-        </xsl:if>
-        <xsl:copy-of select="$table.layout"/>
-        <xsl:call-template name="table.footnote.block"/>
-        <xsl:if test="$placement != 'before'">
-          <xsl:call-template name="formal.object.heading">
-            <xsl:with-param name="placement" select="$placement"/>
-          </xsl:call-template>
-        </xsl:if>
-      </fo:block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="informaltable.properties">
-        <xsl:copy-of select="$table.layout"/>
-        <xsl:call-template name="table.footnote.block"/>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-
-
-</xsl:template>
-
-<!-- Output a table's footnotes in a block -->
-<xsl:template name="table.footnote.block">
-  <xsl:if test=".//footnote">
-    <fo:block keep-with-previous.within-column="always">
-      <xsl:apply-templates select=".//footnote" mode="table.footnote.mode"/>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="table.container">
-  <xsl:param name="table.block"/>
-  <xsl:choose>
-    <xsl:when test="@orient='land' and 
-                    $fop.extensions = 0 and 
-                    $passivetex.extensions = 0" >
-      <fo:block-container reference-orientation="90"
-            padding="6pt"
-            xsl:use-attribute-sets="list.block.spacing">
-        <xsl:attribute name="width">
-          <xsl:call-template name="table.width"/>
-        </xsl:attribute>
-        <fo:block start-indent="0pt" end-indent="0pt">
-          <xsl:copy-of select="$table.block"/>
-        </fo:block>
-      </fo:block-container>
-    </xsl:when>
-    <xsl:when test="@pgwide = 1">
-      <fo:block xsl:use-attribute-sets="pgwide.properties">
-        <xsl:copy-of select="$table.block"/>
-      </fo:block>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$table.block"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="empty.table.cell">
-  <xsl:param name="colnum" select="0"/>
-
-  <xsl:variable name="rowsep">
-    <xsl:choose>
-      <!-- If this is the last row, rowsep never applies. -->
-      <xsl:when test="not(ancestor-or-self::row[1]/following-sibling::row
-                          or ancestor-or-self::thead/following-sibling::tbody
-                          or ancestor-or-self::tbody/preceding-sibling::tfoot)">
-        <xsl:value-of select="0"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="inherited.table.attribute">
-          <xsl:with-param name="entry" select="NOT-AN-ELEMENT-NAME"/>
-          <xsl:with-param name="row" select="ancestor-or-self::row[1]"/>
-          <xsl:with-param name="colnum" select="$colnum"/>
-          <xsl:with-param name="attribute" select="'rowsep'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="colsep">
-    <xsl:choose>
-      <!-- If this is the last column, colsep never applies. -->
-      <xsl:when test="number($colnum) &gt;= ancestor::tgroup/@cols">0</xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="inherited.table.attribute">
-          <xsl:with-param name="entry" select="NOT-AN-ELEMENT-NAME"/>
-          <xsl:with-param name="row" select="ancestor-or-self::row[1]"/>
-          <xsl:with-param name="colnum" select="$colnum"/>
-          <xsl:with-param name="attribute" select="'colsep'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <fo:table-cell text-align="center"
-                 display-align="center"
-                 xsl:use-attribute-sets="table.cell.padding">
-    <xsl:if test="$xep.extensions != 0">
-      <!-- Suggested by RenderX to workaround a bug in their implementation -->
-      <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
-    </xsl:if>
-    <xsl:if test="$rowsep &gt; 0">
-      <xsl:call-template name="border">
-        <xsl:with-param name="side" select="'bottom'"/>
-      </xsl:call-template>
-    </xsl:if>
-
-    <xsl:if test="$colsep &gt; 0 and number($colnum) &lt; ancestor::tgroup/@cols">
-      <xsl:call-template name="border">
-        <xsl:with-param name="side" select="'right'"/>
-      </xsl:call-template>
-    </xsl:if>
-
-    <!-- fo:table-cell should not be empty -->
-    <fo:block/>
-  </fo:table-cell>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<xsl:template name="table.frame">
-  <xsl:variable name="frame">
-    <xsl:choose>
-      <xsl:when test="../@frame">
-        <xsl:value-of select="../@frame"/>
-      </xsl:when>
-      <xsl:when test="$default.table.frame != ''">
-        <xsl:value-of select="$default.table.frame"/>
-      </xsl:when>
-      <xsl:otherwise>all</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$frame='all'">
-      <xsl:attribute name="border-left-style">
-        <xsl:value-of select="$table.frame.border.style"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-right-style">
-        <xsl:value-of select="$table.frame.border.style"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-top-style">
-        <xsl:value-of select="$table.frame.border.style"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-bottom-style">
-        <xsl:value-of select="$table.frame.border.style"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-left-width">
-        <xsl:value-of select="$table.frame.border.thickness"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-right-width">
-        <xsl:value-of select="$table.frame.border.thickness"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-top-width">
-        <xsl:value-of select="$table.frame.border.thickness"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-bottom-width">
-        <xsl:value-of select="$table.frame.border.thickness"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-left-color">
-        <xsl:value-of select="$table.frame.border.color"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-right-color">
-        <xsl:value-of select="$table.frame.border.color"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-top-color">
-        <xsl:value-of select="$table.frame.border.color"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-bottom-color">
-        <xsl:value-of select="$table.frame.border.color"/>
-      </xsl:attribute>
-    </xsl:when>
-    <xsl:when test="$frame='bottom'">
-      <xsl:attribute name="border-left-style">none</xsl:attribute>
-      <xsl:attribute name="border-right-style">none</xsl:attribute>
-      <xsl:attribute name="border-top-style">none</xsl:attribute>
-      <xsl:attribute name="border-bottom-style">
-        <xsl:value-of select="$table.frame.border.style"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-bottom-width">
-        <xsl:value-of select="$table.frame.border.thickness"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-bottom-color">
-        <xsl:value-of select="$table.frame.border.color"/>
-      </xsl:attribute>
-    </xsl:when>
-    <xsl:when test="$frame='sides'">
-      <xsl:attribute name="border-left-style">
-        <xsl:value-of select="$table.frame.border.style"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-right-style">
-        <xsl:value-of select="$table.frame.border.style"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-top-style">none</xsl:attribute>
-      <xsl:attribute name="border-bottom-style">none</xsl:attribute>
-      <xsl:attribute name="border-left-width">
-        <xsl:value-of select="$table.frame.border.thickness"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-right-width">
-        <xsl:value-of select="$table.frame.border.thickness"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-left-color">
-        <xsl:value-of select="$table.frame.border.color"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-right-color">
-        <xsl:value-of select="$table.frame.border.color"/>
-      </xsl:attribute>
-    </xsl:when>
-    <xsl:when test="$frame='top'">
-      <xsl:attribute name="border-left-style">none</xsl:attribute>
-      <xsl:attribute name="border-right-style">none</xsl:attribute>
-      <xsl:attribute name="border-top-style">
-        <xsl:value-of select="$table.frame.border.style"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-bottom-style">none</xsl:attribute>
-      <xsl:attribute name="border-top-width">
-        <xsl:value-of select="$table.frame.border.thickness"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-top-color">
-        <xsl:value-of select="$table.frame.border.color"/>
-      </xsl:attribute>
-    </xsl:when>
-    <xsl:when test="$frame='topbot'">
-      <xsl:attribute name="border-left-style">none</xsl:attribute>
-      <xsl:attribute name="border-right-style">none</xsl:attribute>
-      <xsl:attribute name="border-top-style">
-        <xsl:value-of select="$table.frame.border.style"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-bottom-style">
-        <xsl:value-of select="$table.frame.border.style"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-top-width">
-        <xsl:value-of select="$table.frame.border.thickness"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-bottom-width">
-        <xsl:value-of select="$table.frame.border.thickness"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-top-color">
-        <xsl:value-of select="$table.frame.border.color"/>
-      </xsl:attribute>
-      <xsl:attribute name="border-bottom-color">
-        <xsl:value-of select="$table.frame.border.color"/>
-      </xsl:attribute>
-    </xsl:when>
-    <xsl:when test="$frame='none'">
-      <xsl:attribute name="border-left-style">none</xsl:attribute>
-      <xsl:attribute name="border-right-style">none</xsl:attribute>
-      <xsl:attribute name="border-top-style">none</xsl:attribute>
-      <xsl:attribute name="border-bottom-style">none</xsl:attribute>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>Impossible frame on table: </xsl:text>
-        <xsl:value-of select="$frame"/>
-      </xsl:message>
-      <xsl:attribute name="border-left-style">none</xsl:attribute>
-      <xsl:attribute name="border-right-style">none</xsl:attribute>
-      <xsl:attribute name="border-top-style">none</xsl:attribute>
-      <xsl:attribute name="border-bottom-style">none</xsl:attribute>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="border">
-  <xsl:param name="side" select="'left'"/>
-
-  <xsl:attribute name="border-{$side}-width">
-    <xsl:value-of select="$table.cell.border.thickness"/>
-  </xsl:attribute>
-  <xsl:attribute name="border-{$side}-style">
-    <xsl:value-of select="$table.cell.border.style"/>
-  </xsl:attribute>
-  <xsl:attribute name="border-{$side}-color">
-    <xsl:value-of select="$table.cell.border.color"/>
-  </xsl:attribute>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="tgroup" name="tgroup">
-  <xsl:if test="not(@cols) or @cols = '' or string(number(@cols)) = 'NaN'">
-    <xsl:message terminate="yes">
-      <xsl:text>Error: CALS tables must specify the number of columns.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="table.width">
-    <xsl:call-template name="table.width"/>
-  </xsl:variable>
-
-  <xsl:variable name="colspecs">
-    <xsl:choose>
-      <xsl:when test="$use.extensions != 0
-                      and $tablecolumns.extension != 0">
-        <xsl:call-template name="generate.colgroup.raw">
-          <xsl:with-param name="cols" select="@cols"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="generate.colgroup">
-          <xsl:with-param name="cols" select="@cols"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="prop-columns"
-                select=".//colspec[contains(@colwidth, '*')]"/>
-  <xsl:if test="count($prop-columns) != 0 or
-                $fop.extensions != 0 or
-                $fop1.extensions != 0 or
-                $passivetex.extensions != 0">
-    <xsl:attribute name="table-layout">fixed</xsl:attribute>
-  </xsl:if>
- 
-    <xsl:attribute name="width">
-      <xsl:value-of select="$table.width"/>
-    </xsl:attribute>
- 
-  <xsl:choose>
-    <xsl:when test="$use.extensions != 0
-                    and $tablecolumns.extension != 0">
-      <xsl:choose>
-        <xsl:when test="function-available('stbl:adjustColumnWidths')">
-          <xsl:copy-of select="stbl:adjustColumnWidths($colspecs)"/>
-        </xsl:when>
-        <xsl:when test="function-available('xtbl:adjustColumnWidths')">
-          <xsl:copy-of select="xtbl:adjustColumnWidths($colspecs)"/>
-        </xsl:when>
-        <xsl:when test="function-available('ptbl:adjustColumnWidths')">
-          <xsl:copy-of select="ptbl:adjustColumnWidths($colspecs)"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message terminate="yes">
-            <xsl:text>No adjustColumnWidths function available.</xsl:text>
-          </xsl:message>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$colspecs"/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:apply-templates select="thead"/>
-  <xsl:apply-templates select="tfoot"/>
-  <xsl:apply-templates select="tbody"/>
-</xsl:template>
-
-<xsl:template match="colspec"></xsl:template>
-
-<xsl:template name="table.width">
-
-  <xsl:variable name="numcols">
-    <xsl:call-template name="widest-html-row">
-      <xsl:with-param name="rows" select=".//tr"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="explicit.table.width">
-    <xsl:choose>
-      <xsl:when test="self::entrytbl">
-        <xsl:call-template name="pi.dbfo_table-width"/>
-      </xsl:when>
-      <xsl:when test="self::table or self::informaltable">
-        <xsl:call-template name="pi.dbfo_table-width"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- * no dbfo@table-width PI as a child of this table, so check -->
-        <!-- * the parent of this table to see if the table has any -->
-        <!-- * sibling dbfo@table-width PIs (FIXME: 2007-07 MikeSmith: we -->
-        <!-- * should really instead be checking here just to see if the -->
-        <!-- * first preceding sibling of this table is a -->
-        <!-- * dbfo@table-width PI) -->
-        <xsl:call-template name="pi.dbfo_table-width">
-          <xsl:with-param name="node" select=".."/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="column.sum">
-    <xsl:choose>
-      <!-- CALS table -->
-      <xsl:when test="@cols">
-        <xsl:if test="count(colspec) = @cols">
-          <xsl:for-each select="colspec">
-            <xsl:if test="position() != 1">
-              <xsl:text> + </xsl:text>
-            </xsl:if>
-            <xsl:choose>
-              <xsl:when test="not(@colwidth)">NOWIDTH</xsl:when>
-              <xsl:when test="contains(@colwidth, '*')">NOWIDTH</xsl:when>
-              <xsl:otherwise>
-                <xsl:value-of select="@colwidth"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:for-each>
-        </xsl:if>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- HTML table -->
-        <xsl:if test="count(col|colgroup/col) = $numcols">
-          <xsl:for-each select="col|colgroup/col">
-            <xsl:if test="position() != 1">
-              <xsl:text> + </xsl:text>
-            </xsl:if>
-            <xsl:choose>
-              <xsl:when test="not(@width)">NOWIDTH</xsl:when>
-              <xsl:when test="contains(@width, '%')">NOWIDTH</xsl:when>
-              <xsl:otherwise>
-                <xsl:value-of select="@width"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:for-each>
-        </xsl:if>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="column.sum.width">
-    <xsl:if test="not(contains($column.sum, 'NOWIDTH'))">
-      <xsl:value-of select="$column.sum"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="prop-columns"
-                select=".//colspec[contains(@colwidth, '*')]"/>
-
-  <xsl:variable name="table.width">
-    <xsl:choose>
-      <xsl:when test="$explicit.table.width != ''">
-        <xsl:value-of select="$explicit.table.width"/>
-      </xsl:when>
-      <xsl:when test="$column.sum.width != ''">
-        <xsl:value-of select="$column.sum.width"/>
-      </xsl:when>
-      <xsl:when test="$default.table.width = ''">
-        <xsl:choose>
-          <!-- These processors don't support table-layout="auto" -->
-          <xsl:when test="$fop.extensions != 0 or
-                          $fop1.extensions != 0 or
-                          $passivetex.extensions != 0">
-            <xsl:text>100%</xsl:text>
-          </xsl:when>
-          <!-- Proportional columns imply 100% width -->
-          <xsl:when test="count($prop-columns) != 0">
-            <xsl:text>100%</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:text>auto</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$default.table.width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:value-of select="$table.width"/>
-
-</xsl:template>
-
-<xsl:template match="spanspec"></xsl:template>
-
-<xsl:template match="thead">
-  <xsl:variable name="tgroup" select="parent::*"/>
-
-  <fo:table-header start-indent="0pt" end-indent="0pt">
-    <xsl:apply-templates select="row[1]">
-      <xsl:with-param name="spans">
-        <xsl:call-template name="blank.spans">
-          <xsl:with-param name="cols" select="../@cols"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:apply-templates>
-  </fo:table-header>
-</xsl:template>
-
-<xsl:template match="tfoot">
-  <xsl:variable name="tgroup" select="parent::*"/>
-
-  <fo:table-footer start-indent="0pt" end-indent="0pt">
-    <xsl:apply-templates select="row[1]">
-      <xsl:with-param name="spans">
-        <xsl:call-template name="blank.spans">
-          <xsl:with-param name="cols" select="../@cols"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:apply-templates>
-
-  </fo:table-footer>
-</xsl:template>
-
-<xsl:template match="tbody">
-  <xsl:variable name="tgroup" select="parent::*"/>
-
-  <fo:table-body start-indent="0pt" end-indent="0pt">
-    <xsl:apply-templates select="row[1]">
-      <xsl:with-param name="spans">
-        <xsl:call-template name="blank.spans">
-          <xsl:with-param name="cols" select="../@cols"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:apply-templates>
-  </fo:table-body>
-</xsl:template>
-
-<xsl:template match="row">
-  <xsl:param name="spans"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($spans, '0')">
-      <xsl:call-template name="normal-row">
-        <xsl:with-param name="spans" select="$spans"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <!--
-      <xsl:message>
-        <xsl:text>Ignoring row: </xsl:text>
-        <xsl:value-of select="$spans"/>
-        <xsl:text> = </xsl:text>
-        <xsl:call-template name="consume-row">
-          <xsl:with-param name="spans" select="$spans"/>
-        </xsl:call-template>
-      </xsl:message>
-      -->
-
-      <xsl:if test="normalize-space(.//text()) != ''">
-        <xsl:message>Warning: overlapped row contains content!</xsl:message>
-      </xsl:if>
-
-      <fo:table-row>
-        <xsl:comment> This row intentionally left blank </xsl:comment>
-        <fo:table-cell><fo:block/></fo:table-cell>
-      </fo:table-row>
-
-      <xsl:apply-templates select="following-sibling::row[1]">
-        <xsl:with-param name="spans">
-          <xsl:call-template name="consume-row">
-            <xsl:with-param name="spans" select="$spans"/>
-          </xsl:call-template>
-        </xsl:with-param>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="normal-row">
-  <xsl:param name="spans"/>
-
-  <fo:table-row>
-    <xsl:call-template name="table.row.properties"/>
-    <xsl:call-template name="anchor"/>
-
-    <xsl:apply-templates select="(entry|entrytbl)[1]">
-      <xsl:with-param name="spans" select="$spans"/>
-    </xsl:apply-templates>
-  </fo:table-row>
-
-  <xsl:if test="following-sibling::row">
-    <xsl:variable name="nextspans">
-      <xsl:apply-templates select="(entry|entrytbl)[1]" mode="span">
-        <xsl:with-param name="spans" select="$spans"/>
-      </xsl:apply-templates>
-    </xsl:variable>
-
-    <xsl:apply-templates select="following-sibling::row[1]">
-      <xsl:with-param name="spans" select="$nextspans"/>
-    </xsl:apply-templates>
-  </xsl:if>
-</xsl:template>
-
-<!-- customize this template to add row properties -->
-<xsl:template name="table.row.properties">
-  <xsl:variable name="bgcolor">
-    <xsl:call-template name="pi.dbfo_bgcolor"/>
-  </xsl:variable>
-  <xsl:if test="$bgcolor != ''">
-    <xsl:attribute name="background-color">
-      <xsl:value-of select="$bgcolor"/>
-    </xsl:attribute>
-  </xsl:if>
-
-  <!-- Keep header row with next row -->
-  <xsl:if test="ancestor::thead">
-    <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-  </xsl:if>
-
-</xsl:template>
-
-<xsl:template match="entry|entrytbl" name="entry">
-  <xsl:param name="col" select="1"/>
-  <xsl:param name="spans"/>
-
-  <xsl:variable name="row" select="parent::row"/>
-  <xsl:variable name="group" select="$row/parent::*[1]"/>
-  <xsl:variable name="frame" select="ancestor::tgroup/parent::*/@frame"/>
-
-  <xsl:variable name="empty.cell" select="count(node()) = 0"/>
-
-  <xsl:variable name="named.colnum">
-    <xsl:call-template name="entry.colnum"/>
-  </xsl:variable>
-
-  <xsl:variable name="entry.colnum">
-    <xsl:choose>
-      <xsl:when test="$named.colnum &gt; 0">
-        <xsl:value-of select="$named.colnum"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$col"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="entry.colspan">
-    <xsl:choose>
-      <xsl:when test="@spanname or @namest">
-        <xsl:call-template name="calculate.colspan"/>
-      </xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="following.spans">
-    <xsl:call-template name="calculate.following.spans">
-      <xsl:with-param name="colspan" select="$entry.colspan"/>
-      <xsl:with-param name="spans" select="$spans"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="rowsep">
-    <xsl:choose>
-      <!-- If this is the last row, rowsep never applies. -->
-      <xsl:when test="not(ancestor-or-self::row[1]/following-sibling::row
-                          or ancestor-or-self::thead/following-sibling::tbody
-                          or ancestor-or-self::tbody/preceding-sibling::tfoot)">
-        <xsl:value-of select="0"/>
-      </xsl:when>
-      <!-- Check for morerows too -->
-      <xsl:when test="(@morerows and count(ancestor-or-self::row[1]/
-                       following-sibling::row) = @morerows )
-                      and not (ancestor-or-self::thead/following-sibling::tbody
-                       or ancestor-or-self::tbody/preceding-sibling::tfoot)">
-        <xsl:value-of select="0"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="inherited.table.attribute">
-          <xsl:with-param name="entry" select="."/>
-          <xsl:with-param name="colnum" select="$entry.colnum"/>
-          <xsl:with-param name="attribute" select="'rowsep'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-<!--
-  <xsl:message><xsl:value-of select="."/>: <xsl:value-of select="$rowsep"/></xsl:message>
--->
-
-  <xsl:variable name="colsep">
-    <xsl:choose>
-      <!-- If this is the last column, colsep never applies. -->
-      <xsl:when test="$following.spans = ''">0</xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="inherited.table.attribute">
-          <xsl:with-param name="entry" select="."/>
-          <xsl:with-param name="colnum" select="$entry.colnum"/>
-          <xsl:with-param name="attribute" select="'colsep'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="valign">
-    <xsl:call-template name="inherited.table.attribute">
-      <xsl:with-param name="entry" select="."/>
-      <xsl:with-param name="colnum" select="$entry.colnum"/>
-      <xsl:with-param name="attribute" select="'valign'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="align">
-    <xsl:call-template name="inherited.table.attribute">
-      <xsl:with-param name="entry" select="."/>
-      <xsl:with-param name="colnum" select="$entry.colnum"/>
-      <xsl:with-param name="attribute" select="'align'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="char">
-    <xsl:call-template name="inherited.table.attribute">
-      <xsl:with-param name="entry" select="."/>
-      <xsl:with-param name="colnum" select="$entry.colnum"/>
-      <xsl:with-param name="attribute" select="'char'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="charoff">
-    <xsl:call-template name="inherited.table.attribute">
-      <xsl:with-param name="entry" select="."/>
-      <xsl:with-param name="colnum" select="$entry.colnum"/>
-      <xsl:with-param name="attribute" select="'charoff'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$spans != '' and not(starts-with($spans,'0:'))">
-      <xsl:call-template name="entry">
-        <xsl:with-param name="col" select="$col+1"/>
-        <xsl:with-param name="spans" select="substring-after($spans,':')"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:when test="number($entry.colnum) &gt; $col">
-      <xsl:call-template name="empty.table.cell">
-        <xsl:with-param name="colnum" select="$col"/>
-      </xsl:call-template>
-      <xsl:call-template name="entry">
-        <xsl:with-param name="col" select="$col+1"/>
-        <xsl:with-param name="spans" select="substring-after($spans,':')"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:variable name="cell.content">
-        <fo:block>
-          <xsl:call-template name="table.cell.block.properties"/>
-
-          <!-- are we missing any indexterms? -->
-          <xsl:if test="not(preceding-sibling::entry)
-                        and not(parent::row/preceding-sibling::row)">
-            <!-- this is the first entry of the first row -->
-            <xsl:if test="ancestor::thead or
-                          (ancestor::tbody
-                           and not(ancestor::tbody/preceding-sibling::thead
-                                   or ancestor::tbody/preceding-sibling::tbody))">
-              <!-- of the thead or the first tbody -->
-              <xsl:apply-templates select="ancestor::tgroup/preceding-sibling::indexterm"/>
-            </xsl:if>
-          </xsl:if>
-
-          <!--
-          <xsl:text>(</xsl:text>
-          <xsl:value-of select="$rowsep"/>
-          <xsl:text>,</xsl:text>
-          <xsl:value-of select="$colsep"/>
-          <xsl:text>)</xsl:text>
-          -->
-          <xsl:choose>
-            <xsl:when test="$empty.cell">
-              <xsl:text>&#160;</xsl:text>
-            </xsl:when>
-            <xsl:when test="self::entrytbl">
-              <xsl:variable name="prop-columns"
-                            select=".//colspec[contains(@colwidth, '*')]"/>
-              <fo:table xsl:use-attribute-sets="table.table.properties">
-                <xsl:if test="count($prop-columns) != 0">
-                  <xsl:attribute name="table-layout">fixed</xsl:attribute>
-                </xsl:if>
-                <xsl:call-template name="tgroup"/>
-              </fo:table>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </fo:block>
-      </xsl:variable>
-
-      <xsl:variable name="cell-orientation">
-        <xsl:call-template name="pi.dbfo_orientation">
-          <xsl:with-param name="node" select="ancestor-or-self::entry"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="row-orientation">
-        <xsl:call-template name="pi.dbfo_orientation">
-          <xsl:with-param name="node" select="ancestor-or-self::row"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="cell-width">
-        <xsl:call-template name="pi.dbfo_rotated-width">
-          <xsl:with-param name="node" select="ancestor-or-self::entry"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="row-width">
-        <xsl:call-template name="pi.dbfo_rotated-width">
-          <xsl:with-param name="node" select="ancestor-or-self::row"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="orientation">
-        <xsl:choose>
-          <xsl:when test="$cell-orientation != ''">
-            <xsl:value-of select="$cell-orientation"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$row-orientation"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="rotated-width">
-        <xsl:choose>
-          <xsl:when test="$cell-width != ''">
-            <xsl:value-of select="$cell-width"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$row-width"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="bgcolor">
-        <xsl:call-template name="pi.dbfo_bgcolor">
-          <xsl:with-param name="node" select="ancestor-or-self::entry"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <fo:table-cell xsl:use-attribute-sets="table.cell.padding">
-        <xsl:call-template name="table.cell.properties">
-          <xsl:with-param name="bgcolor.pi" select="$bgcolor"/>
-          <xsl:with-param name="rowsep.inherit" select="$rowsep"/>
-          <xsl:with-param name="colsep.inherit" select="$colsep"/>
-          <xsl:with-param name="col" select="$col"/>
-          <xsl:with-param name="valign.inherit" select="$valign"/>
-          <xsl:with-param name="align.inherit" select="$align"/>
-          <xsl:with-param name="char.inherit" select="$char"/>
-        </xsl:call-template>
-
-        <xsl:call-template name="anchor"/>
-
-        <xsl:if test="@morerows">
-          <xsl:attribute name="number-rows-spanned">
-            <xsl:value-of select="@morerows+1"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:if test="$entry.colspan &gt; 1">
-          <xsl:attribute name="number-columns-spanned">
-            <xsl:value-of select="$entry.colspan"/>
-          </xsl:attribute>
-        </xsl:if>
-
-<!--
-        <xsl:if test="@charoff">
-          <xsl:attribute name="charoff">
-            <xsl:value-of select="@charoff"/>
-          </xsl:attribute>
-        </xsl:if>
--->
-
-        <xsl:choose>
-          <xsl:when test="$fop.extensions = 0 and $passivetex.extensions = 0
-                          and $orientation != ''">
-            <fo:block-container reference-orientation="{$orientation}">
-              <xsl:if test="$rotated-width != ''">
-                <xsl:attribute name="width">
-                  <xsl:value-of select="$rotated-width"/>
-                </xsl:attribute>
-              </xsl:if>
-              <xsl:copy-of select="$cell.content"/>
-            </fo:block-container>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:copy-of select="$cell.content"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:table-cell>
-
-      <xsl:choose>
-        <xsl:when test="following-sibling::entry|following-sibling::entrytbl">
-          <xsl:apply-templates select="(following-sibling::entry
-                                       |following-sibling::entrytbl)[1]">
-            <xsl:with-param name="col" select="$col+$entry.colspan"/>
-            <xsl:with-param name="spans" select="$following.spans"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="finaltd">
-            <xsl:with-param name="spans" select="$following.spans"/>
-            <xsl:with-param name="col" select="$col+$entry.colspan"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- Expand this template to add properties to any fo:table-cell -->
-<xsl:template name="table.cell.properties">
-  <xsl:param name="bgcolor.pi" select="''"/>
-  <xsl:param name="rowsep.inherit" select="1"/>
-  <xsl:param name="colsep.inherit" select="1"/>
-  <xsl:param name="col" select="1"/>
-  <xsl:param name="valign.inherit" select="''"/>
-  <xsl:param name="align.inherit" select="''"/>
-  <xsl:param name="char.inherit" select="''"/>
-
-  <xsl:choose>
-    <xsl:when test="ancestor::tgroup">
-      <xsl:if test="$bgcolor.pi != ''">
-        <xsl:attribute name="background-color">
-          <xsl:value-of select="$bgcolor.pi"/>
-        </xsl:attribute>
-      </xsl:if>
-
-      <xsl:if test="$rowsep.inherit &gt; 0">
-        <xsl:call-template name="border">
-          <xsl:with-param name="side" select="'bottom'"/>
-        </xsl:call-template>
-      </xsl:if>
-
-      <xsl:if test="$colsep.inherit &gt; 0 and 
-                      $col &lt; ancestor::tgroup/@cols">
-        <xsl:call-template name="border">
-          <xsl:with-param name="side" select="'right'"/>
-        </xsl:call-template>
-      </xsl:if>
-
-      <xsl:if test="$valign.inherit != ''">
-        <xsl:attribute name="display-align">
-          <xsl:choose>
-            <xsl:when test="$valign.inherit='top'">before</xsl:when>
-            <xsl:when test="$valign.inherit='middle'">center</xsl:when>
-            <xsl:when test="$valign.inherit='bottom'">after</xsl:when>
-            <xsl:otherwise>
-              <xsl:message>
-                <xsl:text>Unexpected valign value: </xsl:text>
-                <xsl:value-of select="$valign.inherit"/>
-                <xsl:text>, center used.</xsl:text>
-              </xsl:message>
-              <xsl:text>center</xsl:text>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:attribute>
-      </xsl:if>
-
-      <xsl:choose>
-        <xsl:when test="$align.inherit = 'char' and $char.inherit != ''">
-          <xsl:attribute name="text-align">
-            <xsl:value-of select="$char.inherit"/>
-          </xsl:attribute>
-        </xsl:when>
-        <xsl:when test="$align.inherit != ''">
-          <xsl:attribute name="text-align">
-            <xsl:value-of select="$align.inherit"/>
-          </xsl:attribute>
-        </xsl:when>
-      </xsl:choose>
-
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- HTML table -->
-      <xsl:variable name="border" 
-                    select="(ancestor::table |
-                             ancestor::informaltable)[last()]/@border"/>
-      <xsl:if test="$border != '' and $border != 0">
-        <xsl:attribute name="border">
-          <xsl:value-of select="$table.cell.border.thickness"/>
-          <xsl:text> </xsl:text>
-          <xsl:value-of select="$table.cell.border.style"/>
-          <xsl:text> </xsl:text>
-          <xsl:value-of select="$table.cell.border.color"/>
-        </xsl:attribute>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<!-- Expand this template to add properties to any cell's block -->
-<xsl:template name="table.cell.block.properties">
-  <!-- highlight this entry? -->
-  <xsl:if test="ancestor::thead or ancestor::tfoot">
-    <xsl:attribute name="font-weight">bold</xsl:attribute>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="entry|entrytbl" name="sentry" mode="span">
-  <xsl:param name="col" select="1"/>
-  <xsl:param name="spans"/>
-
-  <xsl:variable name="entry.colnum">
-    <xsl:call-template name="entry.colnum"/>
-  </xsl:variable>
-
-  <xsl:variable name="entry.colspan">
-    <xsl:choose>
-      <xsl:when test="@spanname or @namest">
-        <xsl:call-template name="calculate.colspan"/>
-      </xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="following.spans">
-    <xsl:call-template name="calculate.following.spans">
-      <xsl:with-param name="colspan" select="$entry.colspan"/>
-      <xsl:with-param name="spans" select="$spans"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$spans != '' and not(starts-with($spans,'0:'))">
-      <xsl:value-of select="substring-before($spans,':')-1"/>
-      <xsl:text>:</xsl:text>
-      <xsl:call-template name="sentry">
-        <xsl:with-param name="col" select="$col+1"/>
-        <xsl:with-param name="spans" select="substring-after($spans,':')"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:when test="number($entry.colnum) &gt; $col">
-      <xsl:text>0:</xsl:text>
-      <xsl:call-template name="sentry">
-        <xsl:with-param name="col" select="$col+$entry.colspan"/>
-        <xsl:with-param name="spans" select="$following.spans"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:call-template name="copy-string">
-        <xsl:with-param name="count" select="$entry.colspan"/>
-        <xsl:with-param name="string">
-          <xsl:choose>
-            <xsl:when test="@morerows">
-              <xsl:value-of select="@morerows"/>
-            </xsl:when>
-            <xsl:otherwise>0</xsl:otherwise>
-          </xsl:choose>
-          <xsl:text>:</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <xsl:choose>
-        <xsl:when test="following-sibling::entry|following-sibling::entrytbl">
-          <xsl:apply-templates select="(following-sibling::entry
-                                       |following-sibling::entrytbl)[1]"
-                               mode="span">
-            <xsl:with-param name="col" select="$col+$entry.colspan"/>
-            <xsl:with-param name="spans" select="$following.spans"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="sfinaltd">
-            <xsl:with-param name="spans" select="$following.spans"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="generate.colgroup.raw">
-  <xsl:param name="cols" select="1"/>
-  <xsl:param name="count" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="$count>$cols"></xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="generate.col.raw">
-        <xsl:with-param name="countcol" select="$count"/>
-      </xsl:call-template>
-      <xsl:call-template name="generate.colgroup.raw">
-        <xsl:with-param name="cols" select="$cols"/>
-        <xsl:with-param name="count" select="$count+1"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="generate.colgroup">
-  <xsl:param name="cols" select="1"/>
-  <xsl:param name="count" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="$count>$cols"></xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="generate.col">
-        <xsl:with-param name="countcol" select="$count"/>
-      </xsl:call-template>
-      <xsl:call-template name="generate.colgroup">
-        <xsl:with-param name="cols" select="$cols"/>
-        <xsl:with-param name="count" select="$count+1"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="generate.col.raw">
-  <!-- generate the table-column for column countcol -->
-  <xsl:param name="countcol">1</xsl:param>
-  <xsl:param name="colspecs" select="./colspec"/>
-  <xsl:param name="count">1</xsl:param>
-  <xsl:param name="colnum">1</xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="$count>count($colspecs)">
-      <fo:table-column column-number="{$countcol}"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="colspec" select="$colspecs[$count=position()]"/>
-
-      <xsl:variable name="colspec.colnum">
-        <xsl:choose>
-          <xsl:when test="$colspec/@colnum">
-            <xsl:value-of select="$colspec/@colnum"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$colnum"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="colspec.colwidth">
-        <xsl:choose>
-          <xsl:when test="$colspec/@colwidth">
-            <xsl:value-of select="$colspec/@colwidth"/>
-          </xsl:when>
-          <xsl:otherwise>1*</xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$colspec.colnum=$countcol">
-          <fo:table-column column-number="{$countcol}">
-            <xsl:attribute name="column-width">
-              <xsl:value-of select="$colspec.colwidth"/>
-            </xsl:attribute>
-          </fo:table-column>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="generate.col.raw">
-            <xsl:with-param name="countcol" select="$countcol"/>
-            <xsl:with-param name="colspecs" select="$colspecs"/>
-            <xsl:with-param name="count" select="$count+1"/>
-            <xsl:with-param name="colnum">
-              <xsl:choose>
-                <xsl:when test="$colspec/@colnum">
-                  <xsl:value-of select="$colspec/@colnum + 1"/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:value-of select="$colnum + 1"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-           </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="generate.col">
-  <!-- generate the table-column for column countcol -->
-  <xsl:param name="countcol">1</xsl:param>
-  <xsl:param name="colspecs" select="./colspec"/>
-  <xsl:param name="count">1</xsl:param>
-  <xsl:param name="colnum">1</xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="$count>count($colspecs)">
-      <fo:table-column column-number="{$countcol}">
-        <xsl:variable name="colwidth">
-          <xsl:call-template name="calc.column.width"/>
-        </xsl:variable>
-        <xsl:if test="$colwidth != 'proportional-column-width(1)'">
-          <xsl:attribute name="column-width">
-            <xsl:value-of select="$colwidth"/>
-          </xsl:attribute>
-        </xsl:if>
-      </fo:table-column>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="colspec" select="$colspecs[$count=position()]"/>
-
-      <xsl:variable name="colspec.colnum">
-        <xsl:choose>
-          <xsl:when test="$colspec/@colnum">
-            <xsl:value-of select="$colspec/@colnum"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$colnum"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="colspec.colwidth">
-        <xsl:choose>
-          <xsl:when test="$colspec/@colwidth">
-            <xsl:value-of select="$colspec/@colwidth"/>
-          </xsl:when>
-          <xsl:otherwise>1*</xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$colspec.colnum=$countcol">
-          <fo:table-column column-number="{$countcol}">
-            <xsl:variable name="colwidth">
-              <xsl:call-template name="calc.column.width">
-                <xsl:with-param name="colwidth">
-                  <xsl:value-of select="$colspec.colwidth"/>
-                </xsl:with-param>
-              </xsl:call-template>
-            </xsl:variable>
-            <xsl:if test="$colwidth != 'proportional-column-width(1)'">
-              <xsl:attribute name="column-width">
-                <xsl:value-of select="$colwidth"/>
-              </xsl:attribute>
-            </xsl:if>
-          </fo:table-column>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="generate.col">
-            <xsl:with-param name="countcol" select="$countcol"/>
-            <xsl:with-param name="colspecs" select="$colspecs"/>
-            <xsl:with-param name="count" select="$count+1"/>
-            <xsl:with-param name="colnum">
-              <xsl:choose>
-                <xsl:when test="$colspec/@colnum">
-                  <xsl:value-of select="$colspec/@colnum + 1"/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:value-of select="$colnum + 1"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-           </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<doc:template name="calc.column.width" xmlns="">
-<refpurpose>Calculate an XSL FO table column width specification from a
-CALS table column width specification.</refpurpose>
-
-<refdescription>
-<para>CALS expresses table column widths in the following basic
-forms:</para>
-
-<itemizedlist>
-<listitem>
-<para><emphasis>99.99units</emphasis>, a fixed length specifier.</para>
-</listitem>
-<listitem>
-<para><emphasis>99.99</emphasis>, a fixed length specifier without any units.</para>
-</listitem>
-<listitem>
-<para><emphasis>99.99*</emphasis>, a relative length specifier.</para>
-</listitem>
-<listitem>
-<para><emphasis>99.99*+99.99units</emphasis>, a combination of both.</para>
-</listitem>
-</itemizedlist>
-
-<para>The CALS units are points (pt), picas (pi), centimeters (cm),
-millimeters (mm), and inches (in). These are the same units as XSL,
-except that XSL abbreviates picas "pc" instead of "pi". If a length
-specifier has no units, the CALS default unit (pt) is assumed.</para>
-
-<para>Relative length specifiers are represented in XSL with the
-proportional-column-width() function.</para>
-
-<para>Here are some examples:</para>
-
-<itemizedlist>
-<listitem>
-<para>"36pt" becomes "36pt"</para>
-</listitem>
-<listitem>
-<para>"3pi" becomes "3pc"</para>
-</listitem>
-<listitem>
-<para>"36" becomes "36pt"</para>
-</listitem>
-<listitem>
-<para>"3*" becomes "proportional-column-width(3)"</para>
-</listitem>
-<listitem>
-<para>"3*+2pi" becomes "proportional-column-width(3)+2pc"</para>
-</listitem>
-<listitem>
-<para>"1*+2" becomes "proportional-column-width(1)+2pt"</para>
-</listitem>
-</itemizedlist>
-</refdescription>
-
-<refparameter>
-<variablelist>
-<varlistentry><term>colwidth</term>
-<listitem>
-<para>The CALS column width specification.</para>
-</listitem>
-</varlistentry>
-</variablelist>
-</refparameter>
-
-<refreturn>
-<para>The XSL column width specification.</para>
-</refreturn>
-</doc:template>
-
-<xsl:template name="calc.column.width">
-  <xsl:param name="colwidth">1*</xsl:param>
-
-  <!-- Ok, the colwidth could have any one of the following forms: -->
-  <!--        1*       = proportional width -->
-  <!--         *       = same as 1* -->
-  <!--     1unit       = 1.0 units wide -->
-  <!--         1       = 1pt wide -->
-  <!--  1*+1unit       = proportional width + some fixed width -->
-  <!--      1*+1       = proportional width + some fixed width -->
-
-  <!-- If it has a proportional width, translate it to XSL -->
-  <xsl:if test="contains($colwidth, '*')">
-    <xsl:text>proportional-column-width(</xsl:text>
-    <xsl:choose>
-      <xsl:when test="substring-before($colwidth, '*') != ''"> 
-        <xsl:value-of select="substring-before($colwidth, '*')"/>
-      </xsl:when>
-      <xsl:otherwise>
-         <xsl:text>1.00</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:text>)</xsl:text>
-  </xsl:if>
-
-  <!-- Now grab the non-proportional part of the specification -->
-  <xsl:variable name="width-units">
-    <xsl:choose>
-      <xsl:when test="contains($colwidth, '*')">
-        <xsl:value-of
-             select="normalize-space(substring-after($colwidth, '*'))"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="normalize-space($colwidth)"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- Ok, now the width-units could have any one of the following forms: -->
-  <!--                 = <empty string> -->
-  <!--     1unit       = 1.0 units wide -->
-  <!--         1       = 1pt wide -->
-  <!-- with an optional leading sign -->
-
-  <!-- Grab the width part by blanking out the units part and discarding -->
-  <!-- whitespace. It's not pretty, but it works. -->
-  <xsl:variable name="width"
-       select="normalize-space(translate($width-units,
-                                         '+-0123456789.abcdefghijklmnopqrstuvwxyz',
-                                         '+-0123456789.'))"/>
-
-  <!-- Grab the units part by blanking out the width part and discarding -->
-  <!-- whitespace. It's not pretty, but it works. -->
-  <xsl:variable name="units"
-       select="normalize-space(translate($width-units,
-                                         'abcdefghijklmnopqrstuvwxyz+-0123456789.',
-                                         'abcdefghijklmnopqrstuvwxyz'))"/>
-
-  <!-- Output the width -->
-  <xsl:value-of select="$width"/>
-
-  <!-- Output the units, translated appropriately -->
-  <xsl:choose>
-    <xsl:when test="$units = 'pi'">pc</xsl:when>
-    <xsl:when test="$units = '' and $width != ''">pt</xsl:when>
-    <xsl:otherwise><xsl:value-of select="$units"/></xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/task.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/task.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,81 +1,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="task">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="param.placement"
-                select="substring-after(normalize-space($formal.title.placement),
-                                        concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="preamble"
-                select="*[not(self::title
-                              or self::titleabbrev)]"/>
-
-  <fo:block id="{$id}"
-            xsl:use-attribute-sets="formal.object.properties">
-    <xsl:call-template name="anchor"/>
-
-    <xsl:if test="title and $placement = 'before'">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="$preamble"/>
-
-    <xsl:if test="title and $placement != 'before'">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="task/title">
-  <!-- nop -->
-</xsl:template>
-
-<xsl:template match="tasksummary">
-  <xsl:call-template name="semiformal.object"/>
-</xsl:template>
-
-<xsl:template match="tasksummary/title"/>
-
-<xsl:template match="taskprerequisites">
-  <xsl:call-template name="semiformal.object"/>
-</xsl:template>
-
-<xsl:template match="taskprerequisites/title"/>
-
-<xsl:template match="taskrelated">
-  <xsl:call-template name="semiformal.object"/>
-</xsl:template>
-
-<xsl:template match="taskrelated/title"/>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/titlepage.templates.xml
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/titlepage.templates.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1311 +1,0 @@
-<!DOCTYPE t:templates [
-<!ENTITY hsize0 "10pt">
-<!ENTITY hsize1 "12pt">
-<!ENTITY hsize2 "14.4pt">
-<!ENTITY hsize3 "17.28pt">
-<!ENTITY hsize4 "20.736pt">
-<!ENTITY hsize5 "24.8832pt">
-<!ENTITY hsize0space "7.5pt"> <!-- 0.75 * hsize0 -->
-<!ENTITY hsize1space "9pt"> <!-- 0.75 * hsize1 -->
-<!ENTITY hsize2space "10.8pt"> <!-- 0.75 * hsize2 -->
-<!ENTITY hsize3space "12.96pt"> <!-- 0.75 * hsize3 -->
-<!ENTITY hsize4space "15.552pt"> <!-- 0.75 * hsize4 -->
-<!ENTITY hsize5space "18.6624pt"> <!-- 0.75 * hsize5 -->
-]>
-<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
-	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
-             xmlns:fo="http://www.w3.org/1999/XSL/Format"
-             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the DocBook XSL Stylesheet distribution.
-     See ../README or http://docbook.sf.net/ for copyright
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<t:titlepage t:element="article" t:wrapper="fo:block"
-             font-family="{$title.fontset}">
-
-  <t:titlepage-content t:side="recto"
-	     start-indent="0pt"
-             text-align="center">
-
-    <title t:named-template="component.title"
-	   param:node="ancestor-or-self::article[1]"
-	   keep-with-next.within-column="always"
-	   font-size="&hsize5;"
-	   font-weight="bold"/>
-
-    <subtitle/>
-
-    <corpauthor space-before="0.5em"
-                font-size="&hsize2;"/>
-    <authorgroup space-before="0.5em"
-                 font-size="&hsize2;"/>
-    <author space-before="0.5em"
-            font-size="&hsize2;"/>
-
-    <othercredit space-before="0.5em"/>
-    <releaseinfo space-before="0.5em"/>
-    <copyright space-before="0.5em"/>
-    <legalnotice text-align="start"
-                 margin-left="0.5in"
-                 margin-right="0.5in"
-                 font-family="{$body.fontset}"/>
-    <pubdate space-before="0.5em"/>
-    <revision space-before="0.5em"/>
-    <revhistory space-before="0.5em"/>
-    <abstract space-before="0.5em"
-	      text-align="start"
-	      margin-left="0.5in"
-              margin-right="0.5in"
-              font-family="{$body.fontset}"/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-<t:titlepage t:element="set" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-      <title
-	     t:named-template="division.title"
-	     param:node="ancestor-or-self::set[1]"
-	     text-align="center"
-	     font-size="&hsize5;"
-	     space-before="&hsize5space;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-    <subtitle
-	      font-family="{$title.fontset}"
-	      text-align="center"/>
-    <corpauthor/>
-    <authorgroup/>
-    <author/>
-    <othercredit/>
-    <releaseinfo/>
-    <copyright/>
-    <legalnotice/>
-    <pubdate/>
-    <revision/>
-    <revhistory/>
-    <abstract/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="book" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:named-template="division.title"
-	     param:node="ancestor-or-self::book[1]"
-	     text-align="center"
-	     font-size="&hsize5;"
-	     space-before="&hsize5space;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-      <subtitle
-		text-align="center"
-		font-size="&hsize4;"
-		space-before="&hsize4space;"
-		font-family="{$title.fontset}"/>
-      <corpauthor font-size="&hsize3;"
-		  keep-with-next.within-column="always"
-		  space-before="2in"/>
-      <authorgroup space-before="2in"/>
-      <author font-size="&hsize3;"
-	      space-before="&hsize2space;"
-	      keep-with-next.within-column="always"/>
-    </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-      <title
-	     t:named-template="book.verso.title"
-	     font-size="&hsize2;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-      <corpauthor/>
-      <authorgroup t:named-template="verso.authorgroup"/>
-      <author/>
-      <othercredit/>
-      <releaseinfo space-before="0.5em"/>
-      <pubdate space-before="1em"/>
-      <copyright/>
-      <abstract/>
-      <legalnotice font-size="8pt"/>
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-      <fo:block break-after="page"/>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-      <fo:block break-after="page"/>
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-<t:titlepage t:element="part" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-      <title
-	     t:named-template="division.title"
-	     param:node="ancestor-or-self::part[1]"
-	     text-align="center"
-	     font-size="&hsize5;"
-	     space-before="&hsize5space;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-    <subtitle
-	      text-align="center"
-	      font-size="&hsize4;"
-	      space-before="&hsize4space;"
-	      font-weight='bold'
-	      font-style='italic'
-	      font-family="{$title.fontset}"/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<t:titlepage t:element="partintro" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   text-align="center"
-	   font-size="&hsize5;"
-	   font-weight="bold"
-	   space-before="1em"
-	   font-family="{$title.fontset}"/>
-    <subtitle
-	      text-align="center"
-	      font-size="&hsize2;"
-	      font-weight="bold"
-	      font-style="italic"
-	      font-family="{$title.fontset}"/>
-    <corpauthor/>
-    <authorgroup/>
-    <author/>
-    <othercredit/>
-    <releaseinfo/>
-    <copyright/>
-    <legalnotice/>
-    <pubdate/>
-    <revision/>
-    <revhistory/>
-    <abstract/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-<t:titlepage t:element="reference" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-      <title
-	     t:named-template="division.title"
-	     param:node="ancestor-or-self::reference[1]"
-	     text-align="center"
-	     font-size="&hsize5;"
-	     space-before="&hsize5space;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-    <subtitle
-	      font-family="{$title.fontset}"
-	      text-align="center"/>
-    <corpauthor/>
-    <authorgroup/>
-    <author/>
-    <othercredit/>
-    <releaseinfo/>
-    <copyright/>
-    <legalnotice/>
-    <pubdate/>
-    <revision/>
-    <revhistory/>
-    <abstract/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-<t:titlepage t:element="refsynopsisdiv" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   font-family="{$title.fontset}"/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-<t:titlepage t:element="refsection" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   font-family="{$title.fontset}"/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-<t:titlepage t:element="refsect1" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   font-family="{$title.fontset}"/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-<t:titlepage t:element="refsect2" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   font-family="{$title.fontset}"/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-<t:titlepage t:element="refsect3" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   font-family="{$title.fontset}"/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="dedication" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="component.title"
-	     param:node="ancestor-or-self::dedication[1]"
-	     margin-left="{$title.margin.left}"
-	     font-size="&hsize5;"
-	     font-family="{$title.fontset}"
-	     font-weight="bold"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="preface" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="component.title"
-	     param:node="ancestor-or-self::preface[1]"
-	     margin-left="{$title.margin.left}"
-	     font-size="&hsize5;"
-	     font-family="{$title.fontset}"
-	     font-weight="bold"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-      <corpauthor/>
-      <authorgroup/>
-      <author/>
-      <othercredit/>
-      <releaseinfo/>
-      <copyright/>
-      <legalnotice/>
-      <pubdate/>
-      <revision/>
-      <revhistory/>
-      <abstract/>
-    </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="chapter" t:wrapper="fo:block"
-               font-family="{$title.fontset}">
-    <t:titlepage-content t:side="recto" margin-left="{$title.margin.left}">
-      <title t:named-template="component.title"
-	     param:node="ancestor-or-self::chapter[1]"
-	     font-size="&hsize5;"
-	     font-weight="bold"/>
-
-      <subtitle space-before="0.5em"
-		font-style="italic"
-		font-size="&hsize2;"
-		font-weight="bold"/>
-
-      <corpauthor  space-before="0.5em"
-	           space-after="0.5em"
-                   font-size="&hsize2;"/>
-
-      <authorgroup space-before="0.5em"
-	           space-after="0.5em"
-                   font-size="&hsize2;"/>
-
-      <author      space-before="0.5em"
-	           space-after="0.5em"
-                   font-size="&hsize2;"/>
-
-      <othercredit/>
-      <releaseinfo/>
-      <copyright/>
-      <legalnotice/>
-      <pubdate/>
-      <revision/>
-      <revhistory/>
-      <abstract/>
-    </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="appendix" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:named-template="component.title"
-	     param:node="ancestor-or-self::appendix[1]"
-	     margin-left="{$title.margin.left}"
-	     font-size="&hsize5;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-      <corpauthor/>
-      <authorgroup/>
-      <author/>
-      <othercredit/>
-      <releaseinfo/>
-      <copyright/>
-      <legalnotice/>
-      <pubdate/>
-      <revision/>
-      <revhistory/>
-      <abstract/>
-    </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-<t:titlepage t:element="section" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   margin-left="{$title.margin.left}"
-	   font-family="{$title.fontset}"/>
-    <subtitle
-	      font-family="{$title.fontset}"/>
-    <corpauthor/>
-    <authorgroup/>
-    <author/>
-    <othercredit/>
-    <releaseinfo/>
-    <copyright/>
-    <legalnotice/>
-    <pubdate/>
-    <revision/>
-    <revhistory/>
-    <abstract/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<t:titlepage t:element="sect1" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   margin-left="{$title.margin.left}"
-	   font-family="{$title.fontset}"/>
-    <subtitle
-	      font-family="{$title.fontset}"/>
-    <corpauthor/>
-    <authorgroup/>
-    <author/>
-    <othercredit/>
-    <releaseinfo/>
-    <copyright/>
-    <legalnotice/>
-    <pubdate/>
-    <revision/>
-    <revhistory/>
-    <abstract/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<t:titlepage t:element="sect2" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   margin-left="{$title.margin.left}"
-	   font-family="{$title.fontset}"/>
-    <subtitle
-	      font-family="{$title.fontset}"/>
-    <corpauthor/>
-    <authorgroup/>
-    <author/>
-    <othercredit/>
-    <releaseinfo/>
-    <copyright/>
-    <legalnotice/>
-    <pubdate/>
-    <revision/>
-    <revhistory/>
-    <abstract/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<t:titlepage t:element="sect3" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   margin-left="{$title.margin.left}"
-	   font-family="{$title.fontset}"/>
-    <subtitle
-	      font-family="{$title.fontset}"/>
-    <corpauthor/>
-    <authorgroup/>
-    <author/>
-    <othercredit/>
-    <releaseinfo/>
-    <copyright/>
-    <legalnotice/>
-    <pubdate/>
-    <revision/>
-    <revhistory/>
-    <abstract/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<t:titlepage t:element="sect4" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   margin-left="{$title.margin.left}"
-	   font-family="{$title.fontset}"/>
-    <subtitle
-	      font-family="{$title.fontset}"/>
-    <corpauthor/>
-    <authorgroup/>
-    <author/>
-    <othercredit/>
-    <releaseinfo/>
-    <copyright/>
-    <legalnotice/>
-    <pubdate/>
-    <revision/>
-    <revhistory/>
-    <abstract/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<t:titlepage t:element="sect5" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   margin-left="{$title.margin.left}"
-	   font-family="{$title.fontset}"/>
-    <subtitle
-	      font-family="{$title.fontset}"/>
-    <corpauthor/>
-    <authorgroup/>
-    <author/>
-    <othercredit/>
-    <releaseinfo/>
-    <copyright/>
-    <legalnotice/>
-    <pubdate/>
-    <revision/>
-    <revhistory/>
-    <abstract/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<t:titlepage t:element="simplesect" t:wrapper="fo:block">
-  <t:titlepage-content t:side="recto">
-    <title
-	   margin-left="{$title.margin.left}"
-	   font-family="{$title.fontset}"/>
-    <subtitle
-	      font-family="{$title.fontset}"/>
-    <corpauthor/>
-    <authorgroup/>
-    <author/>
-    <othercredit/>
-    <releaseinfo/>
-    <copyright/>
-    <legalnotice/>
-    <pubdate/>
-    <revision/>
-    <revhistory/>
-    <abstract/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="bibliography" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="component.title"
-	     param:node="ancestor-or-self::bibliography[1]"
-	     margin-left="{$title.margin.left}"
-	     font-size="&hsize5;"
-	     font-family="{$title.fontset}"
-	     font-weight="bold"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="bibliodiv" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title t:named-template="component.title"
-	     param:node="ancestor-or-self::bibliodiv[1]"
-	     margin-left="{$title.margin.left}"
-	     font-size="&hsize4;"
-	     font-family="{$title.fontset}"
-	     font-weight="bold"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="glossary" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="component.title"
-	     param:node="ancestor-or-self::glossary[1]"
-	     margin-left="{$title.margin.left}"
-	     font-size="&hsize5;"
-	     font-family="{$title.fontset}"
-	     font-weight="bold"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="glossdiv" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title t:named-template="component.title"
-	     param:node="ancestor-or-self::glossdiv[1]"
-	     margin-left="{$title.margin.left}"
-	     font-size="&hsize4;"
-	     font-family="{$title.fontset}"
-	     font-weight="bold"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="index" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="component.title"
-	     param:node="ancestor-or-self::index[1]"
-             param:pagewide="1"
-	     margin-left="0pt"
-	     font-size="&hsize5;"
-	     font-family="{$title.fontset}"
-	     font-weight="bold"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <!-- The indexdiv.title template is used so that manual and -->
-  <!-- automatically generated indexdiv titles get the same -->
-  <!-- formatting. -->
-
-  <t:titlepage t:element="indexdiv" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title t:force="1"
-	     t:named-template="indexdiv.title"
-	     param:title="title"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="setindex" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="component.title"
-	     param:node="ancestor-or-self::setindex[1]"
-             param:pagewide="1"
-	     margin-left="0pt"
-	     font-size="&hsize5;"
-	     font-family="{$title.fontset}"
-	     font-weight="bold"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="colophon" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="component.title"
-	     param:node="ancestor-or-self::colophon[1]"
-	     margin-left="{$title.margin.left}"
-	     font-size="&hsize5;"
-	     font-family="{$title.fontset}"
-	     font-weight="bold"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="sidebar" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title 
-	     font-family="{$title.fontset}"
-	     font-weight="bold"/>
-      <subtitle
-		font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-<!-- ==================================================================== -->
-<t:titlepage t:element="qandaset" t:wrapper="fo:block"
-             font-family="{$title.fontset}">
-
-  <t:titlepage-content t:side="recto"
-	     start-indent="0pt"
-             text-align="center">
-
-    <title t:named-template="component.title"
-	   param:node="ancestor-or-self::qandaset[1]"
-	   keep-with-next.within-column="always"
-	   font-size="&hsize5;"
-	   font-weight="bold"/>
-
-    <subtitle/>
-
-    <corpauthor space-before="0.5em"
-                font-size="&hsize2;"/>
-    <authorgroup space-before="0.5em"
-                 font-size="&hsize2;"/>
-    <author space-before="0.5em"
-            font-size="&hsize2;"/>
-
-    <othercredit space-before="0.5em"/>
-    <releaseinfo space-before="0.5em"/>
-    <copyright space-before="0.5em"/>
-    <legalnotice text-align="start"
-                 margin-left="0.5in"
-                 margin-right="0.5in"
-                 font-family="{$body.fontset}"/>
-    <pubdate space-before="0.5em"/>
-    <revision space-before="0.5em"/>
-    <revhistory space-before="0.5em"/>
-    <abstract space-before="0.5em"
-	      text-align="start"
-	      margin-left="0.5in"
-              margin-right="0.5in"
-              font-family="{$body.fontset}"/>
-  </t:titlepage-content>
-
-  <t:titlepage-content t:side="verso">
-  </t:titlepage-content>
-
-  <t:titlepage-separator>
-  </t:titlepage-separator>
-
-  <t:titlepage-before t:side="recto">
-  </t:titlepage-before>
-
-  <t:titlepage-before t:side="verso">
-  </t:titlepage-before>
-</t:titlepage>
-
-<!-- ==================================================================== -->
-
-  <t:titlepage t:element="table.of.contents" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="gentext"
-	     param:key="'TableofContents'"
-             space-before.minimum="1em"
-             space-before.optimum="1.5em"
-             space-before.maximum="2em"
-	     space-after="0.5em"
-	     margin-left="{$title.margin.left}"
-	     start-indent="0pt"
-	     font-size="&hsize3;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-  <t:titlepage t:element="list.of.tables" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="gentext"
-	     param:key="'ListofTables'"
-             space-before.minimum="1em"
-             space-before.optimum="1.5em"
-             space-before.maximum="2em"
-	     space-after="0.5em"
-	     margin-left="{$title.margin.left}"
-	     start-indent="0pt"
-	     font-size="&hsize3;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-  <t:titlepage t:element="list.of.figures" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="gentext"
-	     param:key="'ListofFigures'"
-             space-before.minimum="1em"
-             space-before.optimum="1.5em"
-             space-before.maximum="2em"
-	     space-after="0.5em"
-	     margin-left="{$title.margin.left}"
-	     start-indent="0pt"
-	     font-size="&hsize3;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-  <t:titlepage t:element="list.of.examples" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="gentext"
-	     param:key="'ListofExamples'"
-             space-before.minimum="1em"
-             space-before.optimum="1.5em"
-             space-before.maximum="2em"
-	     space-after="0.5em"
-	     margin-left="{$title.margin.left}"
-	     start-indent="0pt"
-	     font-size="&hsize3;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-  <t:titlepage t:element="list.of.equations" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="gentext"
-	     param:key="'ListofEquations'"
-             space-before.minimum="1em"
-             space-before.optimum="1.5em"
-             space-before.maximum="2em"
-	     space-after="0.5em"
-	     margin-left="{$title.margin.left}"
-	     start-indent="0pt"
-	     font-size="&hsize3;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-  <t:titlepage t:element="list.of.procedures" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="gentext"
-	     param:key="'ListofProcedures'"
-             space-before.minimum="1em"
-             space-before.optimum="1.5em"
-             space-before.maximum="2em"
-	     space-after="0.5em"
-	     margin-left="{$title.margin.left}"
-	     start-indent="0pt"
-	     font-size="&hsize3;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-  <t:titlepage t:element="list.of.unknowns" t:wrapper="fo:block">
-    <t:titlepage-content t:side="recto">
-      <title
-	     t:force="1"
-	     t:named-template="gentext"
-	     param:key="'ListofUnknown'"
-             space-before.minimum="1em"
-             space-before.optimum="1.5em"
-             space-before.maximum="2em"
-	     space-after="0.5em"
-	     margin-left="{$title.margin.left}"
-	     start-indent="0pt"
-	     font-size="&hsize3;"
-	     font-weight="bold"
-	     font-family="{$title.fontset}"/>
-    </t:titlepage-content>
-
-    <t:titlepage-content t:side="verso">
-    </t:titlepage-content>
-
-    <t:titlepage-separator>
-    </t:titlepage-separator>
-
-    <t:titlepage-before t:side="recto">
-    </t:titlepage-before>
-
-    <t:titlepage-before t:side="verso">
-    </t:titlepage-before>
-  </t:titlepage>
-
-<!-- ==================================================================== -->
-
-</t:templates>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/titlepage.templates.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/titlepage.templates.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,5094 +1,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" version="1.0" exclude-result-prefixes="exsl">
-
-<!-- This stylesheet was created by template/titlepage.xsl-->
-
-<xsl:template name="article.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="articleinfo/title">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
-    </xsl:when>
-    <xsl:when test="artheader/title">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="articleinfo/subtitle">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="artheader/subtitle">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="article.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="article.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="article.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="article.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="article.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="article.titlepage.before.recto"/>
-      <xsl:call-template name="article.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block start-indent="0pt" text-align="center"><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="article.titlepage.before.verso"/>
-      <xsl:call-template name="article.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="article.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="article.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="article.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" keep-with-next.within-column="always" font-size="24.8832pt" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::article[1]"/>
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="set.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="setinfo/title">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="setinfo/subtitle">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="set.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="set.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="set.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="set.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="set.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="set.titlepage.before.recto"/>
-      <xsl:call-template name="set.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="set.titlepage.before.verso"/>
-      <xsl:call-template name="set.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="set.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="set.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="set.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="division.title">
-<xsl:with-param name="node" select="ancestor-or-self::set[1]"/>
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="book.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="bookinfo/title">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="bookinfo/subtitle">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
-</xsl:template>
-
-<xsl:template name="book.titlepage.verso">
-  <xsl:choose>
-    <xsl:when test="bookinfo/title">
-      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/corpauthor"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/releaseinfo"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/abstract"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/>
-  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/legalnotice"/>
-</xsl:template>
-
-<xsl:template name="book.titlepage.separator"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
-</xsl:template>
-
-<xsl:template name="book.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="book.titlepage.before.verso"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
-</xsl:template>
-
-<xsl:template name="book.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="book.titlepage.before.recto"/>
-      <xsl:call-template name="book.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="book.titlepage.before.verso"/>
-      <xsl:call-template name="book.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="book.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="book.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="book.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="division.title">
-<xsl:with-param name="node" select="ancestor-or-self::book[1]"/>
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" keep-with-next.within-column="always" space-before="2in">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" space-before="2in">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="10.8pt" keep-with-next.within-column="always">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="title" mode="book.titlepage.verso.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="14.4pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="book.verso.title">
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="book.titlepage.verso.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
-<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="book.titlepage.verso.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
-<xsl:call-template name="verso.authorgroup">
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="book.titlepage.verso.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
-<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="book.titlepage.verso.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
-<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="book.titlepage.verso.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="book.titlepage.verso.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
-<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="book.titlepage.verso.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
-<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="book.titlepage.verso.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
-<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="book.titlepage.verso.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="8pt">
-<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="part.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="partinfo/title">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="partinfo/subtitle">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="part.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="part.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="part.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="part.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="part.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="part.titlepage.before.recto"/>
-      <xsl:call-template name="part.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="part.titlepage.before.verso"/>
-      <xsl:call-template name="part.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="part.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="part.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="part.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="division.title">
-<xsl:with-param name="node" select="ancestor-or-self::part[1]"/>
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="partintro.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="partintroinfo/title">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="partintroinfo/subtitle">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="partintro.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="partintro.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="partintro.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="partintro.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="partintro.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="partintro.titlepage.before.recto"/>
-      <xsl:call-template name="partintro.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="partintro.titlepage.before.verso"/>
-      <xsl:call-template name="partintro.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="partintro.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="partintro.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="partintro.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="24.8832pt" font-weight="bold" space-before="1em" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="14.4pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="reference.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="referenceinfo/title">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="referenceinfo/subtitle">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="reference.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="reference.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="reference.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="reference.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="reference.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="reference.titlepage.before.recto"/>
-      <xsl:call-template name="reference.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="reference.titlepage.before.verso"/>
-      <xsl:call-template name="reference.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="reference.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="reference.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="reference.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="division.title">
-<xsl:with-param name="node" select="ancestor-or-self::reference[1]"/>
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="refsynopsisdiv.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="refsynopsisdivinfo/title">
-      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="refsynopsisdivinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="refsynopsisdiv.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="refsynopsisdiv.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="refsynopsisdiv.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="refsynopsisdiv.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="refsynopsisdiv.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="refsynopsisdiv.titlepage.before.recto"/>
-      <xsl:call-template name="refsynopsisdiv.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="refsynopsisdiv.titlepage.before.verso"/>
-      <xsl:call-template name="refsynopsisdiv.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="refsynopsisdiv.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="refsynopsisdiv.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="refsynopsisdiv.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="refsynopsisdiv.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsynopsisdiv.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="refsynopsisdiv.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="refsection.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="refsectioninfo/title">
-      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="refsectioninfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="refsection.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="refsection.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="refsection.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="refsection.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="refsection.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="refsection.titlepage.before.recto"/>
-      <xsl:call-template name="refsection.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="refsection.titlepage.before.verso"/>
-      <xsl:call-template name="refsection.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="refsection.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="refsection.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="refsection.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="refsection.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsection.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="refsection.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="refsect1.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="refsect1info/title">
-      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="refsect1info/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="refsect1.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="refsect1.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="refsect1.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="refsect1.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="refsect1.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="refsect1.titlepage.before.recto"/>
-      <xsl:call-template name="refsect1.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="refsect1.titlepage.before.verso"/>
-      <xsl:call-template name="refsect1.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="refsect1.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="refsect1.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="refsect1.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="refsect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect1.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="refsect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="refsect2.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="refsect2info/title">
-      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="refsect2info/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="refsect2.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="refsect2.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="refsect2.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="refsect2.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="refsect2.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="refsect2.titlepage.before.recto"/>
-      <xsl:call-template name="refsect2.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="refsect2.titlepage.before.verso"/>
-      <xsl:call-template name="refsect2.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="refsect2.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="refsect2.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="refsect2.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="refsect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect2.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="refsect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="refsect3.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="refsect3info/title">
-      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="refsect3info/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="refsect3.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="refsect3.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="refsect3.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="refsect3.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="refsect3.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="refsect3.titlepage.before.recto"/>
-      <xsl:call-template name="refsect3.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="refsect3.titlepage.before.verso"/>
-      <xsl:call-template name="refsect3.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="refsect3.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="refsect3.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="refsect3.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="refsect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect3.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="refsect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="dedication.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
-</xsl:call-template></fo:block>
-  <xsl:choose>
-    <xsl:when test="dedicationinfo/subtitle">
-      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="dedication.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="dedication.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="dedication.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="dedication.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="dedication.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="dedication.titlepage.before.recto"/>
-      <xsl:call-template name="dedication.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="dedication.titlepage.before.verso"/>
-      <xsl:call-template name="dedication.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="dedication.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="dedication.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="dedication.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="preface.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::preface[1]"/>
-</xsl:call-template></fo:block>
-  <xsl:choose>
-    <xsl:when test="prefaceinfo/subtitle">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="preface.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="preface.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="preface.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="preface.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="preface.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="preface.titlepage.before.recto"/>
-      <xsl:call-template name="preface.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="preface.titlepage.before.verso"/>
-      <xsl:call-template name="preface.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="preface.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="preface.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="preface.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="chapter.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="chapterinfo/title">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="chapterinfo/subtitle">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="chapter.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="chapter.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="chapter.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="chapter.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="chapter.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="chapter.titlepage.before.recto"/>
-      <xsl:call-template name="chapter.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block margin-left="{$title.margin.left}"><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="chapter.titlepage.before.verso"/>
-      <xsl:call-template name="chapter.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="chapter.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="chapter.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="chapter.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" font-size="24.8832pt" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" font-style="italic" font-size="14.4pt" font-weight="bold">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="appendix.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="appendixinfo/title">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="appendixinfo/subtitle">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="appendix.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="appendix.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="appendix.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="appendix.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="appendix.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="appendix.titlepage.before.recto"/>
-      <xsl:call-template name="appendix.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="appendix.titlepage.before.verso"/>
-      <xsl:call-template name="appendix.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="appendix.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="appendix.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="appendix.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::appendix[1]"/>
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="section.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sectioninfo/title">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sectioninfo/subtitle">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="section.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="section.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="section.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="section.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="section.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="section.titlepage.before.recto"/>
-      <xsl:call-template name="section.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="section.titlepage.before.verso"/>
-      <xsl:call-template name="section.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="section.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="section.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="section.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="sect1.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sect1info/title">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sect1info/subtitle">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="sect1.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sect1.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="sect1.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sect1.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sect1.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sect1.titlepage.before.recto"/>
-      <xsl:call-template name="sect1.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sect1.titlepage.before.verso"/>
-      <xsl:call-template name="sect1.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="sect1.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="sect1.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sect1.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="sect2.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sect2info/title">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sect2info/subtitle">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="sect2.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sect2.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="sect2.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sect2.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sect2.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sect2.titlepage.before.recto"/>
-      <xsl:call-template name="sect2.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sect2.titlepage.before.verso"/>
-      <xsl:call-template name="sect2.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="sect2.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="sect2.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sect2.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="sect3.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sect3info/title">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sect3info/subtitle">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="sect3.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sect3.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="sect3.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sect3.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sect3.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sect3.titlepage.before.recto"/>
-      <xsl:call-template name="sect3.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sect3.titlepage.before.verso"/>
-      <xsl:call-template name="sect3.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="sect3.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="sect3.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sect3.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="sect4.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sect4info/title">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sect4info/subtitle">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="sect4.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sect4.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="sect4.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sect4.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sect4.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sect4.titlepage.before.recto"/>
-      <xsl:call-template name="sect4.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sect4.titlepage.before.verso"/>
-      <xsl:call-template name="sect4.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="sect4.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="sect4.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sect4.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="sect5.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sect5info/title">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sect5info/subtitle">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="sect5.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sect5.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="sect5.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sect5.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sect5.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sect5.titlepage.before.recto"/>
-      <xsl:call-template name="sect5.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sect5.titlepage.before.verso"/>
-      <xsl:call-template name="sect5.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="sect5.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="sect5.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sect5.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="simplesectinfo/title">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="simplesectinfo/subtitle">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="simplesect.titlepage.before.recto"/>
-      <xsl:call-template name="simplesect.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="simplesect.titlepage.before.verso"/>
-      <xsl:call-template name="simplesect.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="simplesect.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
-</xsl:call-template></fo:block>
-  <xsl:choose>
-    <xsl:when test="bibliographyinfo/subtitle">
-      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="bibliography.titlepage.before.recto"/>
-      <xsl:call-template name="bibliography.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="bibliography.titlepage.before.verso"/>
-      <xsl:call-template name="bibliography.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="bibliography.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="bibliodiv.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="bibliodivinfo/title">
-      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="bibliodivinfo/subtitle">
-      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="bibliodiv.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="bibliodiv.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="bibliodiv.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="bibliodiv.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="bibliodiv.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="bibliodiv.titlepage.before.recto"/>
-      <xsl:call-template name="bibliodiv.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="bibliodiv.titlepage.before.verso"/>
-      <xsl:call-template name="bibliodiv.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="bibliodiv.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="bibliodiv.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="bibliodiv.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="bibliodiv.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::bibliodiv[1]"/>
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="bibliodiv.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="bibliodiv.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="glossary.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
-</xsl:call-template></fo:block>
-  <xsl:choose>
-    <xsl:when test="glossaryinfo/subtitle">
-      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="glossary.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="glossary.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="glossary.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="glossary.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="glossary.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="glossary.titlepage.before.recto"/>
-      <xsl:call-template name="glossary.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="glossary.titlepage.before.verso"/>
-      <xsl:call-template name="glossary.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="glossary.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="glossary.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="glossary.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="glossdiv.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="glossdivinfo/title">
-      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="glossdivinfo/subtitle">
-      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="glossdiv.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="glossdiv.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="glossdiv.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="glossdiv.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="glossdiv.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="glossdiv.titlepage.before.recto"/>
-      <xsl:call-template name="glossdiv.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="glossdiv.titlepage.before.verso"/>
-      <xsl:call-template name="glossdiv.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="glossdiv.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="glossdiv.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="glossdiv.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="glossdiv.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::glossdiv[1]"/>
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="glossdiv.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="glossdiv.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="index.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
-<xsl:with-param name="pagewide" select="1"/>
-</xsl:call-template></fo:block>
-  <xsl:choose>
-    <xsl:when test="indexinfo/subtitle">
-      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="index.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="index.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="index.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="index.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="index.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="index.titlepage.before.recto"/>
-      <xsl:call-template name="index.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="index.titlepage.before.verso"/>
-      <xsl:call-template name="index.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="index.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="index.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="index.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="indexdiv.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style">
-<xsl:call-template name="indexdiv.title">
-<xsl:with-param name="title" select="title"/>
-</xsl:call-template></fo:block>
-  <xsl:choose>
-    <xsl:when test="indexdivinfo/subtitle">
-      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="indexdivinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="indexdiv.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="indexdiv.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="indexdiv.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="indexdiv.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="indexdiv.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="indexdiv.titlepage.before.recto"/>
-      <xsl:call-template name="indexdiv.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="indexdiv.titlepage.before.verso"/>
-      <xsl:call-template name="indexdiv.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="indexdiv.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="indexdiv.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="indexdiv.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="indexdiv.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="indexdiv.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="setindex.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
-<xsl:with-param name="pagewide" select="1"/>
-</xsl:call-template></fo:block>
-  <xsl:choose>
-    <xsl:when test="setindexinfo/subtitle">
-      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="setindex.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="setindex.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="setindex.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="setindex.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="setindex.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="setindex.titlepage.before.recto"/>
-      <xsl:call-template name="setindex.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="setindex.titlepage.before.verso"/>
-      <xsl:call-template name="setindex.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="setindex.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="setindex.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="setindex.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="colophon.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::colophon[1]"/>
-</xsl:call-template></fo:block>
-  <xsl:choose>
-    <xsl:when test="colophoninfo/subtitle">
-      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="colophoninfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="colophon.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="colophon.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="colophon.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="colophon.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="colophon.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="colophon.titlepage.before.recto"/>
-      <xsl:call-template name="colophon.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="colophon.titlepage.before.verso"/>
-      <xsl:call-template name="colophon.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="colophon.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="colophon.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="colophon.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="colophon.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="colophon.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="sidebar.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sidebarinfo/title">
-      <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sidebarinfo/subtitle">
-      <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="sidebar.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sidebar.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="sidebar.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sidebar.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sidebar.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sidebar.titlepage.before.recto"/>
-      <xsl:call-template name="sidebar.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sidebar.titlepage.before.verso"/>
-      <xsl:call-template name="sidebar.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="sidebar.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="sidebar.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sidebar.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sidebar.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sidebar.titlepage.recto.style" font-family="{$title.fontset}" font-weight="bold">
-<xsl:apply-templates select="." mode="sidebar.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sidebar.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sidebar.titlepage.recto.style" font-family="{$title.fontset}">
-<xsl:apply-templates select="." mode="sidebar.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="qandaset.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="qandasetinfo/title">
-      <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/title"/>
-    </xsl:when>
-    <xsl:when test="blockinfo/title">
-      <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="qandasetinfo/subtitle">
-      <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="blockinfo/subtitle">
-      <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/corpauthor"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/corpauthor"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/authorgroup"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/authorgroup"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/author"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/author"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/othercredit"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/othercredit"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/releaseinfo"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/releaseinfo"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/copyright"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/copyright"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/legalnotice"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/legalnotice"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/pubdate"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/pubdate"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/revision"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/revision"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/revhistory"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/revhistory"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/abstract"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/abstract"/>
-  <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="qandaset.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="qandaset.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="qandaset.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="qandaset.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="qandaset.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="qandaset.titlepage.before.recto"/>
-      <xsl:call-template name="qandaset.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block start-indent="0pt" text-align="center"><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="qandaset.titlepage.before.verso"/>
-      <xsl:call-template name="qandaset.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="qandaset.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="qandaset.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="qandaset.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" keep-with-next.within-column="always" font-size="24.8832pt" font-weight="bold">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::qandaset[1]"/>
-</xsl:call-template>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="author" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="copyright" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revision" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template match="abstract" mode="qandaset.titlepage.recto.auto.mode">
-<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
-<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/>
-</fo:block>
-</xsl:template>
-
-<xsl:template name="table.of.contents.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="table.of.contents.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="gentext">
-<xsl:with-param name="key" select="'TableofContents'"/>
-</xsl:call-template></fo:block>
-</xsl:template>
-
-<xsl:template name="table.of.contents.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="table.of.contents.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="table.of.contents.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="table.of.contents.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="table.of.contents.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="table.of.contents.titlepage.before.recto"/>
-      <xsl:call-template name="table.of.contents.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="table.of.contents.titlepage.before.verso"/>
-      <xsl:call-template name="table.of.contents.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="table.of.contents.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="table.of.contents.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="table.of.contents.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template name="list.of.tables.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.tables.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="gentext">
-<xsl:with-param name="key" select="'ListofTables'"/>
-</xsl:call-template></fo:block>
-</xsl:template>
-
-<xsl:template name="list.of.tables.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="list.of.tables.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="list.of.tables.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="list.of.tables.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="list.of.tables.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="list.of.tables.titlepage.before.recto"/>
-      <xsl:call-template name="list.of.tables.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="list.of.tables.titlepage.before.verso"/>
-      <xsl:call-template name="list.of.tables.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="list.of.tables.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.tables.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.tables.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template name="list.of.figures.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.figures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="gentext">
-<xsl:with-param name="key" select="'ListofFigures'"/>
-</xsl:call-template></fo:block>
-</xsl:template>
-
-<xsl:template name="list.of.figures.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="list.of.figures.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="list.of.figures.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="list.of.figures.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="list.of.figures.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="list.of.figures.titlepage.before.recto"/>
-      <xsl:call-template name="list.of.figures.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="list.of.figures.titlepage.before.verso"/>
-      <xsl:call-template name="list.of.figures.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="list.of.figures.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.figures.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.figures.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template name="list.of.examples.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.examples.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="gentext">
-<xsl:with-param name="key" select="'ListofExamples'"/>
-</xsl:call-template></fo:block>
-</xsl:template>
-
-<xsl:template name="list.of.examples.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="list.of.examples.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="list.of.examples.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="list.of.examples.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="list.of.examples.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="list.of.examples.titlepage.before.recto"/>
-      <xsl:call-template name="list.of.examples.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="list.of.examples.titlepage.before.verso"/>
-      <xsl:call-template name="list.of.examples.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="list.of.examples.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.examples.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.examples.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template name="list.of.equations.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.equations.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="gentext">
-<xsl:with-param name="key" select="'ListofEquations'"/>
-</xsl:call-template></fo:block>
-</xsl:template>
-
-<xsl:template name="list.of.equations.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="list.of.equations.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="list.of.equations.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="list.of.equations.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="list.of.equations.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="list.of.equations.titlepage.before.recto"/>
-      <xsl:call-template name="list.of.equations.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="list.of.equations.titlepage.before.verso"/>
-      <xsl:call-template name="list.of.equations.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="list.of.equations.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.equations.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.equations.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template name="list.of.procedures.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.procedures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="gentext">
-<xsl:with-param name="key" select="'ListofProcedures'"/>
-</xsl:call-template></fo:block>
-</xsl:template>
-
-<xsl:template name="list.of.procedures.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="list.of.procedures.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="list.of.procedures.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="list.of.procedures.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="list.of.procedures.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="list.of.procedures.titlepage.before.recto"/>
-      <xsl:call-template name="list.of.procedures.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="list.of.procedures.titlepage.before.verso"/>
-      <xsl:call-template name="list.of.procedures.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="list.of.procedures.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.procedures.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.procedures.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template name="list.of.unknowns.titlepage.recto">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.unknowns.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
-<xsl:call-template name="gentext">
-<xsl:with-param name="key" select="'ListofUnknown'"/>
-</xsl:call-template></fo:block>
-</xsl:template>
-
-<xsl:template name="list.of.unknowns.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="list.of.unknowns.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="list.of.unknowns.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="list.of.unknowns.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="list.of.unknowns.titlepage">
-  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="list.of.unknowns.titlepage.before.recto"/>
-      <xsl:call-template name="list.of.unknowns.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="list.of.unknowns.titlepage.before.verso"/>
-      <xsl:call-template name="list.of.unknowns.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
-    </xsl:if>
-    <xsl:call-template name="list.of.unknowns.titlepage.separator"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.unknowns.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="list.of.unknowns.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/titlepage.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/titlepage.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,738 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:attribute-set name="book.titlepage.recto.style">
-  <xsl:attribute name="font-family">
-    <xsl:value-of select="$title.fontset"/>
-  </xsl:attribute>
-  <xsl:attribute name="font-weight">bold</xsl:attribute>
-  <xsl:attribute name="font-size">12pt</xsl:attribute>
-  <xsl:attribute name="text-align">center</xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:attribute-set name="book.titlepage.verso.style">
-  <xsl:attribute name="font-size">10pt</xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:attribute-set name="article.titlepage.recto.style"/>
-<xsl:attribute-set name="article.titlepage.verso.style"/>
-
-<xsl:attribute-set name="set.titlepage.recto.style"/>
-<xsl:attribute-set name="set.titlepage.verso.style"/>
-
-<xsl:attribute-set name="part.titlepage.recto.style">
-  <xsl:attribute name="text-align">center</xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:attribute-set name="part.titlepage.verso.style"/>
-
-<xsl:attribute-set name="partintro.titlepage.recto.style"/>
-<xsl:attribute-set name="partintro.titlepage.verso.style"/>
-
-<xsl:attribute-set name="reference.titlepage.recto.style"/>
-<xsl:attribute-set name="reference.titlepage.verso.style"/>
-
-<xsl:attribute-set name="dedication.titlepage.recto.style"/>
-<xsl:attribute-set name="dedication.titlepage.verso.style"/>
-
-<xsl:attribute-set name="preface.titlepage.recto.style"/>
-<xsl:attribute-set name="preface.titlepage.verso.style"/>
-
-<xsl:attribute-set name="chapter.titlepage.recto.style"/>
-<xsl:attribute-set name="chapter.titlepage.verso.style"/>
-
-<xsl:attribute-set name="appendix.titlepage.recto.style"/>
-<xsl:attribute-set name="appendix.titlepage.verso.style"/>
-
-<xsl:attribute-set name="bibliography.titlepage.recto.style"/>
-<xsl:attribute-set name="bibliography.titlepage.verso.style"/>
-
-<xsl:attribute-set name="bibliodiv.titlepage.recto.style"/>
-<xsl:attribute-set name="bibliodiv.titlepage.verso.style"/>
-
-<xsl:attribute-set name="glossary.titlepage.recto.style"/>
-<xsl:attribute-set name="glossary.titlepage.verso.style"/>
-
-<xsl:attribute-set name="glossdiv.titlepage.recto.style"/>
-<xsl:attribute-set name="glossdiv.titlepage.verso.style"/>
-
-<xsl:attribute-set name="index.titlepage.recto.style"/>
-<xsl:attribute-set name="index.titlepage.verso.style"/>
-
-<xsl:attribute-set name="setindex.titlepage.recto.style"/>
-<xsl:attribute-set name="setindex.titlepage.verso.style"/>
-
-<xsl:attribute-set name="indexdiv.titlepage.recto.style"/>
-<xsl:attribute-set name="indexdiv.titlepage.verso.style"/>
-
-<xsl:attribute-set name="colophon.titlepage.recto.style"/>
-<xsl:attribute-set name="colophon.titlepage.verso.style"/>
-
-<xsl:attribute-set name="sidebar.titlepage.recto.style"/>
-<xsl:attribute-set name="sidebar.titlepage.verso.style"/>
-
-<xsl:attribute-set name="qandaset.titlepage.recto.style"/>
-<xsl:attribute-set name="qandaset.titlepage.verso.style"/>
-
-<xsl:attribute-set name="section.titlepage.recto.style">
-  <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:attribute-set name="section.titlepage.verso.style">
-  <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
-  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:attribute-set name="sect1.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="sect1.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="sect2.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="sect2.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="sect3.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="sect3.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="sect4.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="sect4.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="sect5.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="sect5.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="simplesect.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="simplesect.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="refnamediv.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="refnamediv.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="refsynopsisdiv.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="refsynopsisdiv.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="refsection.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="refsection.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="refsect1.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="refsect1.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="refsect2.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="refsect2.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="refsect3.titlepage.recto.style"
-                   use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="refsect3.titlepage.verso.style"
-                   use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/>
-<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.procedures.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.procedures.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="titlepage.mode">
-  <!-- if an element isn't found in this mode, try the default mode -->
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="abbrev" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="abstract" mode="titlepage.mode">
-  <fo:block>
-    <xsl:call-template name="formal.object.heading">
-      <xsl:with-param name="title">
-        <xsl:apply-templates select="." mode="title.markup"/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="abstract/title" mode="titlepage.mode"/>
-
-<xsl:template match="abstract/title" mode="titlepage.abstract.title.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="address" mode="titlepage.mode">
-  <!-- use the normal address handling code -->
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="affiliation" mode="titlepage.mode">
-  <fo:block>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="artpagenums" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="author" mode="titlepage.mode">
-  <fo:block>
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="person.name"/>
-    <xsl:if test="affiliation/orgname">
-      <xsl:text>, </xsl:text>
-      <xsl:apply-templates select="affiliation/orgname" mode="titlepage.mode"/>
-    </xsl:if>
-    <xsl:if test="email|affiliation/address/email">
-      <xsl:text> </xsl:text>
-      <xsl:apply-templates select="(email|affiliation/address/email)[1]"/>
-    </xsl:if>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="authorblurb" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="titlepage.mode">
-  <fo:wrapper>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:wrapper>
-</xsl:template>
-
-<xsl:template match="authorinitials" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="bibliomisc" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="bibliomset" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="collab" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="confgroup" mode="titlepage.mode">
-  <fo:block>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="confdates" mode="titlepage.mode">
-  <fo:block>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="conftitle" mode="titlepage.mode">
-  <fo:block>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="confnum" mode="titlepage.mode">
-  <!-- suppress -->
-</xsl:template>
-
-<xsl:template match="contractnum" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="contractsponsor" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="contrib" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="copyright" mode="titlepage.mode">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'Copyright'"/>
-  </xsl:call-template>
-  <xsl:call-template name="gentext.space"/>
-  <xsl:call-template name="dingbat">
-    <xsl:with-param name="dingbat">copyright</xsl:with-param>
-  </xsl:call-template>
-  <xsl:call-template name="gentext.space"/>
-  <xsl:call-template name="copyright.years">
-    <xsl:with-param name="years" select="year"/>
-    <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
-    <xsl:with-param name="single.year.ranges"
-                    select="$make.single.year.ranges"/>
-  </xsl:call-template>
-  <xsl:call-template name="gentext.space"/>
-  <xsl:apply-templates select="holder" mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="year" mode="titlepage.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="holder" mode="titlepage.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="corpcredit" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="corpname" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="date" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="edition" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-  <xsl:call-template name="gentext.space"/>
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'Edition'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="editor" mode="titlepage.mode">
-  <!-- The first editor is dealt with in the following template,
-       which in turn displays all editors of the same mode. -->
-</xsl:template>
-
-<xsl:template match="editor[1]" priority="2" mode="titlepage.mode">
-  <xsl:call-template name="gentext.edited.by"/>
-  <xsl:call-template name="gentext.space"/>
-  <xsl:call-template name="person.name.list">
-    <xsl:with-param name="person.list" select="../editor"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="firstname" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="graphic" mode="titlepage.mode">
-  <!-- use the normal graphic handling code -->
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="honorific" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="isbn" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="issn" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="biblioid" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="itermset" mode="titlepage.mode">
-  <!-- discard -->
-</xsl:template>
-
-<xsl:template match="invpartnumber" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="issuenum" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="jobtitle" mode="titlepage.mode">
-  <fo:block>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="keywordset" mode="titlepage.mode">
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="titlepage.mode">
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <fo:block id="{$id}">
-    <xsl:if test="title"> <!-- FIXME: add param for using default title? -->
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="legalnotice/title" mode="titlepage.mode">
-</xsl:template>
-
-<xsl:template match="lineage" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="modespec" mode="titlepage.mode">
-  <!-- discard -->
-</xsl:template>
-
-<xsl:template match="orgdiv" mode="titlepage.mode">
-  <xsl:if test="preceding-sibling::*[1][self::orgname]">
-    <xsl:text> </xsl:text>
-  </xsl:if>
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="orgname" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="titlepage.mode">
-  <xsl:variable name="contrib" select="string(contrib)"/>
-  <xsl:choose>
-    <xsl:when test="contrib">
-      <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])">
-        <fo:block>
-          <xsl:apply-templates mode="titlepage.mode" select="contrib"/>
-          <xsl:text>: </xsl:text>
-          <xsl:call-template name="person.name"/>
-          <xsl:apply-templates mode="titlepage.mode" select="affiliation"/>
-          <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/>
-        </fo:block>
-      </xsl:if>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block><xsl:call-template name="person.name"/></fo:block>
-      <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="titlepage.othercredits">
-  <xsl:text>, </xsl:text>
-  <xsl:call-template name="person.name"/>
-</xsl:template>
-
-<xsl:template match="othername" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="pagenums" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="printhistory" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="productname" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="productnumber" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="publisher" mode="titlepage.mode">
-  <fo:block>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="publishername" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="pubsnumber" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="titlepage.mode">
-
-  <xsl:variable name="explicit.table.width">
-    <xsl:call-template name="pi.dbfo_table-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="table.width">
-    <xsl:choose>
-      <xsl:when test="$explicit.table.width != ''">
-        <xsl:value-of select="$explicit.table.width"/>
-      </xsl:when>
-      <xsl:when test="$default.table.width = ''">
-        <xsl:text>100%</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$default.table.width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <fo:table table-layout="fixed" width="{$table.width}" xsl:use-attribute-sets="revhistory.table.properties">
-    <fo:table-column column-number="1" column-width="proportional-column-width(1)"/>
-    <fo:table-column column-number="2" column-width="proportional-column-width(1)"/>
-    <fo:table-column column-number="3" column-width="proportional-column-width(1)"/>
-    <fo:table-body start-indent="0pt" end-indent="0pt">
-      <fo:table-row>
-        <fo:table-cell number-columns-spanned="3" xsl:use-attribute-sets="revhistory.table.cell.properties">
-          <fo:block xsl:use-attribute-sets="revhistory.title.properties">
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'RevHistory'"/>
-            </xsl:call-template>
-          </fo:block>
-        </fo:table-cell>
-      </fo:table-row>
-      <xsl:apply-templates mode="titlepage.mode"/>
-    </fo:table-body>
-  </fo:table>
-</xsl:template>
-
-<xsl:template match="revhistory/revision" mode="titlepage.mode">
-  <xsl:variable name="revnumber" select="revnumber"/>
-  <xsl:variable name="revdate"   select="date"/>
-  <xsl:variable name="revauthor" select="authorinitials|author"/>
-  <xsl:variable name="revremark" select="revremark|revdescription"/>
-  <fo:table-row>
-    <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
-      <fo:block>
-        <xsl:if test="$revnumber">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'Revision'"/>
-          </xsl:call-template>
-          <xsl:call-template name="gentext.space"/>
-          <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/>
-        </xsl:if>
-      </fo:block>
-    </fo:table-cell>
-    <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
-      <fo:block>
-        <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/>
-      </fo:block>
-    </fo:table-cell>
-    <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
-      <fo:block>
-        <xsl:for-each select="$revauthor">
-          <xsl:apply-templates select="." mode="titlepage.mode"/>
-          <xsl:if test="position() != last()">
-            <xsl:text>, </xsl:text>
-          </xsl:if>
-        </xsl:for-each>
-      </fo:block>
-    </fo:table-cell>
-  </fo:table-row>
-  <xsl:if test="$revremark">
-    <fo:table-row>
-      <fo:table-cell number-columns-spanned="3" xsl:use-attribute-sets="revhistory.table.cell.properties">
-        <fo:block>
-          <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/>
-        </fo:block>
-      </fo:table-cell>
-    </fo:table-row>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="revision/revnumber" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revision/date" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revision/authorinitials" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revision/author" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revision/revremark" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revision/revdescription" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="seriesvolnums" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="shortaffil" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subjectset" mode="titlepage.mode">
-  <!-- discard -->
-</xsl:template>
-
-<xsl:template match="subtitle" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="surname" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="titleabbrev" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="volumenum" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- Book templates -->
-
-<!-- Note: these templates cannot use *.titlepage.recto.mode or
-     *.titlepage.verso.mode. If they do then subsequent use of a custom
-     titlepage.templates.xml file will not work correctly. -->
-
-<!-- book recto -->
-
-<xsl:template match="bookinfo/authorgroup|info/authorgroup"
-              mode="titlepage.mode" priority="2">
-  <fo:block>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:block>
-</xsl:template>
-
-<!-- book verso -->
-
-<xsl:template name="book.verso.title">
-  <fo:block>
-    <xsl:apply-templates mode="titlepage.mode"/>
-
-    <xsl:if test="following-sibling::subtitle
-                  |following-sibling::info/subtitle
-                  |following-sibling::bookinfo/subtitle">
-      <xsl:text>: </xsl:text>
-
-      <xsl:apply-templates select="(following-sibling::subtitle
-                                   |following-sibling::info/subtitle
-                                   |following-sibling::bookinfo/subtitle)[1]"
-                           mode="book.verso.subtitle.mode"/>
-    </xsl:if>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="book.verso.subtitle.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-  <xsl:if test="following-sibling::subtitle">
-    <xsl:text>: </xsl:text>
-    <xsl:apply-templates select="following-sibling::subtitle[1]"
-                         mode="book.verso.subtitle.mode"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="verso.authorgroup">
-  <fo:block>
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'by'"/>
-    </xsl:call-template>
-    <xsl:text> </xsl:text>
-    <xsl:call-template name="person.name.list">
-      <xsl:with-param name="person.list" select="author|corpauthor|editor"/>
-    </xsl:call-template>
-  </fo:block>
-  <xsl:apply-templates select="othercredit" mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="bookinfo/author|info/author"
-              mode="titlepage.mode" priority="2">
-  <fo:block>
-    <xsl:call-template name="person.name"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="bookinfo/corpauthor|info/corpauthor"
-              mode="titlepage.mode" priority="2">
-  <fo:block>
-    <xsl:apply-templates/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template match="bookinfo/pubdate|info/pubdate"
-              mode="titlepage.mode" priority="2">
-  <fo:block>
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'published'"/>
-    </xsl:call-template>
-    <xsl:text> </xsl:text>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/toc.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/toc.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,280 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- FIXME: in the contexts where <toc> can occur, I think it's always
-     the case that a page-sequence is required. Is that true? -->
-
-<xsl:template match="toc">
-  <xsl:variable name="master-reference">
-    <xsl:call-template name="select.pagemaster"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="*">
-      <xsl:if test="$process.source.toc != 0">
-        <!-- if the toc isn't empty, process it -->
-        <fo:page-sequence hyphenate="{$hyphenate}"
-                          master-reference="{$master-reference}">
-          <xsl:attribute name="language">
-            <xsl:call-template name="l10n.language"/>
-          </xsl:attribute>
-          <xsl:attribute name="format">
-            <xsl:call-template name="page.number.format">
-              <xsl:with-param name="element" select="'toc'"/>
-              <xsl:with-param name="master-reference" 
-                              select="$master-reference"/>
-            </xsl:call-template>
-          </xsl:attribute>
-
-          <xsl:attribute name="initial-page-number">
-            <xsl:call-template name="initial.page.number">
-              <xsl:with-param name="element" select="'toc'"/>
-              <xsl:with-param name="master-reference" 
-                              select="$master-reference"/>
-            </xsl:call-template>
-          </xsl:attribute>
-
-          <xsl:attribute name="force-page-count">
-            <xsl:call-template name="force.page.count">
-              <xsl:with-param name="master-reference" 
-	                      select="$master-reference"/>
-            </xsl:call-template>
-          </xsl:attribute>
-
-          <xsl:attribute name="hyphenation-character">
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'hyphenation-character'"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:attribute name="hyphenation-push-character-count">
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:attribute name="hyphenation-remain-character-count">
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-            </xsl:call-template>
-          </xsl:attribute>
-
-          <xsl:apply-templates select="." mode="running.head.mode">
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:apply-templates>
-          <xsl:apply-templates select="." mode="running.foot.mode">
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:apply-templates>
-
-          <fo:flow flow-name="xsl-region-body">
-            <xsl:call-template name="set.flow.properties">
-              <xsl:with-param name="element" select="local-name(.)"/>
-              <xsl:with-param name="master-reference" 
-                              select="$master-reference"/>
-            </xsl:call-template>
-
-            <fo:block xsl:use-attribute-sets="toc.margin.properties">
-              <xsl:call-template name="table.of.contents.titlepage"/>
-              <xsl:apply-templates/>
-            </fo:block>
-          </fo:flow>
-        </fo:page-sequence>
-      </xsl:if>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$process.empty.source.toc != 0">
-        <fo:page-sequence hyphenate="{$hyphenate}"
-                          master-reference="{$master-reference}">
-          <xsl:attribute name="language">
-            <xsl:call-template name="l10n.language"/>
-          </xsl:attribute>
-          <xsl:attribute name="format">
-            <xsl:call-template name="page.number.format">
-              <xsl:with-param name="element" select="'toc'"/>
-              <xsl:with-param name="master-reference" 
-                              select="$master-reference"/>
-            </xsl:call-template>
-          </xsl:attribute>
-
-          <xsl:attribute name="initial-page-number">
-            <xsl:call-template name="initial.page.number">
-              <xsl:with-param name="element" select="'toc'"/>
-              <xsl:with-param name="master-reference" 
-                              select="$master-reference"/>
-            </xsl:call-template>
-          </xsl:attribute>
-
-          <xsl:attribute name="hyphenation-character">
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'hyphenation-character'"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:attribute name="hyphenation-push-character-count">
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:attribute name="hyphenation-remain-character-count">
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
-            </xsl:call-template>
-          </xsl:attribute>
-
-          <xsl:apply-templates select="." mode="running.head.mode">
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:apply-templates>
-          <xsl:apply-templates select="." mode="running.foot.mode">
-            <xsl:with-param name="master-reference" select="$master-reference"/>
-          </xsl:apply-templates>
-
-          <fo:flow flow-name="xsl-region-body">
-            <xsl:choose>
-              <xsl:when test="parent::section
-                              or parent::sect1
-                              or parent::sect2
-                              or parent::sect3
-                              or parent::sect4
-                              or parent::sect5">
-                <xsl:apply-templates select="parent::*"
-                                     mode="toc.for.section"/>
-              </xsl:when>
-              <xsl:when test="parent::article">
-                <xsl:apply-templates select="parent::*"
-                                     mode="toc.for.component"/>
-              </xsl:when>
-              <xsl:when test="parent::book
-                              or parent::part">
-                <xsl:apply-templates select="parent::*"
-                                     mode="toc.for.division"/>
-              </xsl:when>
-              <xsl:when test="parent::set">
-                <xsl:apply-templates select="parent::*"
-                                     mode="toc.for.set"/>
-              </xsl:when>
-              <!-- there aren't any other contexts that allow toc -->
-              <xsl:otherwise>
-                <xsl:message>
-                  <xsl:text>I don't know how to make a TOC in this context!</xsl:text>
-                </xsl:message>
-              </xsl:otherwise>
-            </xsl:choose>
-          </fo:flow>
-        </fo:page-sequence>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="tocpart|tocchap
-                     |toclevel1|toclevel2|toclevel3|toclevel4|toclevel5">
-  <xsl:apply-templates select="tocentry"/>
-  <xsl:if test="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5">
-    <fo:block start-indent="{count(ancestor::*)*2}pc">
-      <xsl:apply-templates select="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"/>
-    </fo:block>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="tocentry|tocfront|tocback">
-  <fo:block text-align-last="justify"
-            end-indent="2pc"
-            last-line-end-indent="-2pc">
-    <fo:inline keep-with-next.within-line="always">
-      <xsl:choose>
-        <xsl:when test="@linkend">
-          <fo:basic-link internal-destination="{@linkend}">
-            <xsl:apply-templates/>
-          </fo:basic-link>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </fo:inline>
-
-    <xsl:choose>
-      <xsl:when test="@linkend">
-        <fo:inline keep-together.within-line="always">
-          <xsl:text> </xsl:text>
-          <fo:leader leader-pattern="dots"
-                     keep-with-next.within-line="always"/>
-          <xsl:text> </xsl:text>
-          <fo:basic-link internal-destination="{@linkend}">
-            <xsl:choose>
-              <xsl:when test="@pagenum">
-                <xsl:value-of select="@pagenum"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <fo:page-number-citation ref-id="{@linkend}"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </fo:basic-link>
-        </fo:inline>
-      </xsl:when>
-      <xsl:when test="@pagenum">
-        <fo:inline keep-together.within-line="always">
-          <xsl:text> </xsl:text>
-          <fo:leader leader-pattern="dots"
-                     keep-with-next.within-line="always"/>
-          <xsl:text> </xsl:text>
-          <xsl:value-of select="@pagenum"/>
-        </fo:inline>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- just the leaders, what else can I do? -->
-        <fo:inline keep-together.within-line="always">
-          <xsl:text> </xsl:text>
-          <fo:leader leader-pattern="space"
-                     keep-with-next.within-line="always"/>
-        </fo:inline>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:block>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="toc.for.section">
-<!--
-  <xsl:call-template name="section.toc"/>
--->
-</xsl:template>
-
-<xsl:template match="*" mode="toc.for.component">
-  <xsl:call-template name="component.toc"/>
-</xsl:template>
-
-<xsl:template match="*" mode="toc.for.section">
-<!--
-  <xsl:call-template name="section.toc"/>
--->
-</xsl:template>
-
-<xsl:template match="*" mode="toc.for.division">
-  <xsl:call-template name="division.toc"/>
-</xsl:template>
-
-<xsl:template match="*" mode="toc.for.set">
-<!--
-  <xsl:call-template name="set.toc"/>
--->
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="lot|lotentry">
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/verbatim.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/verbatim.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,417 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:sverb="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim"
-                xmlns:xverb="com.nwalsh.xalan.Verbatim"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:exsl="http://exslt.org/common"
-                exclude-result-prefixes="sverb xverb lxslt exsl"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:include href="../highlighting/common.xsl"/>
-<xsl:include href="highlight.xsl"/>
-
-<lxslt:component prefix="xverb"
-                 functions="numberLines"/>
-
-<xsl:template match="programlisting|screen|synopsis">
-  <xsl:param name="suppress-numbers" select="'0'"/>
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-
-  <xsl:variable name="content">
-    <xsl:choose>
-      <xsl:when test="$suppress-numbers = '0'
-                      and @linenumbering = 'numbered'
-                      and $use.extensions != '0'
-                      and $linenumbering.extension != '0'">
-        <xsl:call-template name="number.rtf.lines">
-          <xsl:with-param name="rtf">
-	    <xsl:call-template name="apply-highlighting"/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:call-template name="apply-highlighting"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$shade.verbatim != 0">
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="monospace.verbatim.properties shade.verbatim.style">
-        <xsl:choose>
-          <xsl:when test="$hyphenate.verbatim != 0 and function-available('exsl:node-set')">
-            <xsl:apply-templates select="exsl:node-set($content)" mode="hyphenate.verbatim"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:copy-of select="$content"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:block>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:block id="{$id}"
-                xsl:use-attribute-sets="monospace.verbatim.properties">
-        <xsl:choose>
-          <xsl:when test="$hyphenate.verbatim != 0 and function-available('exsl:node-set')">
-            <xsl:apply-templates select="exsl:node-set($content)" mode="hyphenate.verbatim"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:copy-of select="$content"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:block>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="literallayout">
-  <xsl:param name="suppress-numbers" select="'0'"/>
-
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-
-  <xsl:variable name="content">
-    <xsl:choose>
-      <xsl:when test="$suppress-numbers = '0'
-                      and @linenumbering = 'numbered'
-                      and $use.extensions != '0'
-                      and $linenumbering.extension != '0'">
-        <xsl:call-template name="number.rtf.lines">
-          <xsl:with-param name="rtf">
-            <xsl:apply-templates/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="@class='monospaced'">
-      <xsl:choose>
-        <xsl:when test="$shade.verbatim != 0">
-          <fo:block id="{$id}"
-                    xsl:use-attribute-sets="monospace.verbatim.properties shade.verbatim.style">
-
-            <xsl:copy-of select="$content"/>
-          </fo:block>
-        </xsl:when>
-        <xsl:otherwise>
-          <fo:block id="{$id}"
-                    xsl:use-attribute-sets="monospace.verbatim.properties">
-            <xsl:copy-of select="$content"/>
-          </fo:block>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$shade.verbatim != 0">
-          <fo:block id="{$id}"
-                    xsl:use-attribute-sets="verbatim.properties shade.verbatim.style">
-            <xsl:copy-of select="$content"/>
-          </fo:block>
-        </xsl:when>
-        <xsl:otherwise>
-          <fo:block id="{$id}"
-                    xsl:use-attribute-sets="verbatim.properties">
-            <xsl:copy-of select="$content"/>
-          </fo:block>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="address">
-  <xsl:param name="suppress-numbers" select="'0'"/>
-
-  <xsl:variable name="content">
-    <xsl:choose>
-      <xsl:when test="$suppress-numbers = '0'
-                      and @linenumbering = 'numbered'
-                      and $use.extensions != '0'
-                      and $linenumbering.extension != '0'">
-        <xsl:call-template name="number.rtf.lines">
-          <xsl:with-param name="rtf">
-            <xsl:apply-templates/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <fo:block xsl:use-attribute-sets="verbatim.properties">
-    <xsl:copy-of select="$content"/>
-  </fo:block>
-</xsl:template>
-
-<xsl:template name="number.rtf.lines">
-  <xsl:param name="rtf" select="''"/>
-  <xsl:param name="pi.context" select="."/>
-
-  <!-- Save the global values -->
-  <xsl:variable name="global.linenumbering.everyNth"
-                select="$linenumbering.everyNth"/>
-
-  <xsl:variable name="global.linenumbering.separator"
-                select="$linenumbering.separator"/>
-
-  <xsl:variable name="global.linenumbering.width"
-                select="$linenumbering.width"/>
-
-  <!-- Extract the <?dbfo linenumbering.*?> PI values -->
-  <xsl:variable name="pi.linenumbering.everyNth">
-    <xsl:call-template name="pi.dbfo_linenumbering.everyNth">
-      <xsl:with-param name="node" select="$pi.context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="pi.linenumbering.separator">
-    <xsl:call-template name="pi.dbfo_linenumbering.separator">
-      <xsl:with-param name="node" select="$pi.context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="pi.linenumbering.width">
-    <xsl:call-template name="pi.dbfo_linenumbering.width">
-      <xsl:with-param name="node" select="$pi.context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <!-- Construct the 'in-context' values -->
-  <xsl:variable name="linenumbering.everyNth">
-    <xsl:choose>
-      <xsl:when test="$pi.linenumbering.everyNth != ''">
-        <xsl:value-of select="$pi.linenumbering.everyNth"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$global.linenumbering.everyNth"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="linenumbering.separator">
-    <xsl:choose>
-      <xsl:when test="$pi.linenumbering.separator != ''">
-        <xsl:value-of select="$pi.linenumbering.separator"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$global.linenumbering.separator"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="linenumbering.width">
-    <xsl:choose>
-      <xsl:when test="$pi.linenumbering.width != ''">
-        <xsl:value-of select="$pi.linenumbering.width"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$global.linenumbering.width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="linenumbering.startinglinenumber">
-    <xsl:choose>
-      <xsl:when test="$pi.context/@startinglinenumber">
-        <xsl:value-of select="$pi.context/@startinglinenumber"/>
-      </xsl:when>
-      <xsl:when test="$pi.context/@continuation='continues'">
-        <xsl:variable name="lastLine">
-          <xsl:choose>
-            <xsl:when test="$pi.context/self::programlisting">
-              <xsl:call-template name="lastLineNumber">
-                <xsl:with-param name="listings"
-                     select="preceding::programlisting[@linenumbering='numbered']"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$pi.context/self::screen">
-              <xsl:call-template name="lastLineNumber">
-                <xsl:with-param name="listings"
-                     select="preceding::screen[@linenumbering='numbered']"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$pi.context/self::literallayout">
-              <xsl:call-template name="lastLineNumber">
-                <xsl:with-param name="listings"
-                     select="preceding::literallayout[@linenumbering='numbered']"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$pi.context/self::address">
-              <xsl:call-template name="lastLineNumber">
-                <xsl:with-param name="listings"
-                     select="preceding::address[@linenumbering='numbered']"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$pi.context/self::synopsis">
-              <xsl:call-template name="lastLineNumber">
-                <xsl:with-param name="listings"
-                     select="preceding::synopsis[@linenumbering='numbered']"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:message>
-                <xsl:text>Unexpected verbatim environment: </xsl:text>
-                <xsl:value-of select="local-name(.)"/>
-              </xsl:message>
-              <xsl:value-of select="0"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:variable>
-
-        <xsl:value-of select="$lastLine + 1"/>
-      </xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="function-available('sverb:numberLines')">
-      <xsl:copy-of select="sverb:numberLines($rtf)"/>
-    </xsl:when>
-    <xsl:when test="function-available('xverb:numberLines')">
-      <xsl:copy-of select="xverb:numberLines($rtf)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message terminate="yes">
-        <xsl:text>No numberLines function available.</xsl:text>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ======================================================================== -->
-
-<xsl:template name="lastLineNumber">
-  <xsl:param name="listings"/>
-  <xsl:param name="number" select="0"/>
-
-  <xsl:variable name="lines">
-    <xsl:call-template name="countLines">
-      <xsl:with-param name="listing" select="string($listings[1])"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="not($listings)">
-      <xsl:value-of select="$number"/>
-    </xsl:when>
-    <xsl:when test="$listings[1]/@startinglinenumber">
-      <xsl:value-of select="$number + $listings[1]/@startinglinenumber + $lines - 1"/>
-    </xsl:when>
-    <xsl:when test="$listings[1]/@continuation='continues'">
-      <xsl:call-template name="lastLineNumber">
-        <xsl:with-param name="listings" select="listings[position() &gt; 1]"/>
-        <xsl:with-param name="number" select="$number + $lines"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$lines"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="countLines">
-  <xsl:param name="listing"/>
-  <xsl:param name="count" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($listing, '&#10;')">
-      <xsl:call-template name="countLines">
-        <xsl:with-param name="listing" select="substring-after($listing, '&#10;')"/>
-        <xsl:with-param name="count" select="$count + 1"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$count"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ======================================================================== -->
-
-<xsl:template match="node()|@*" mode="hyphenate.verbatim">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="hyphenate.verbatim"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="text()" mode="hyphenate.verbatim" priority="2">
-  <xsl:call-template name="hyphenate.verbatim.block">
-    <xsl:with-param name="content" select="."/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="hyphenate.verbatim.block">
-  <xsl:param name="content" select="''"/>
-  <xsl:param name="count" select="1"/>
-
-  <!-- recurse on lines first to keep recursion depth reasonable -->
-  <xsl:choose>
-    <xsl:when test="contains($content, '&#xA;')">
-      <xsl:variable name="line" select="substring-before($content, '&#xA;')"/>
-      <xsl:variable name="rest" select="substring-after($content, '&#xA;')"/>
-      <xsl:call-template name="hyphenate.verbatim">
-        <xsl:with-param name="content" select="concat($line, '&#xA;')"/>
-      </xsl:call-template>
-      <xsl:call-template name="hyphenate.verbatim.block">
-        <xsl:with-param name="content" select="$rest"/>
-        <xsl:with-param name="count" select="$count + 1"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="hyphenate.verbatim">
-        <xsl:with-param name="content" select="$content"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-  
-</xsl:template>
-
-<xsl:template name="hyphenate.verbatim">
-  <xsl:param name="content"/>
-  <xsl:variable name="head" select="substring($content, 1, 1)"/>
-  <xsl:variable name="tail" select="substring($content, 2)"/>
-  <xsl:choose>
-    <!-- Place soft-hyphen after space or non-breakable space. -->
-    <xsl:when test="$head = ' ' or $head = '&#160;'">
-      <xsl:text>&#160;</xsl:text>
-      <xsl:text>&#x00AD;</xsl:text>
-    </xsl:when>
-    <xsl:when test="$hyphenate.verbatim.characters != '' and
-                    translate($head, $hyphenate.verbatim.characters, '') = '' and not($tail = '')">
-      <xsl:value-of select="$head"/>
-      <xsl:text>&#x00AD;</xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$head"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:if test="$tail">
-    <xsl:call-template name="hyphenate.verbatim">
-      <xsl:with-param name="content" select="$tail"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/xep.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/xep.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,180 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:rx="http://www.renderx.com/XSL/Extensions"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-     (c) Stephane Bline Peregrine Systems 2001
-     Implementation of xep extensions:
-       * Pdf bookmarks (based on the XEP 2.5 implementation)
-       * Document information (XEP 2.5 meta information extensions)
-     ******************************************************************** -->
-
-<!-- FIXME: Norm, I changed things so that the top-level element (book or set)
-     does not appear in the TOC. Is this the right thing? -->
-
-<xsl:template name="xep-document-information">
-  <rx:meta-info>
-    <xsl:variable name="authors" 
-                  select="(//author|//editor|//corpauthor|//authorgroup)[1]"/>
-    <xsl:if test="$authors">
-      <xsl:variable name="author">
-        <xsl:choose>
-          <xsl:when test="$authors[self::authorgroup]">
-            <xsl:call-template name="person.name.list">
-              <xsl:with-param name="person.list" 
-                        select="$authors/*[self::author|self::corpauthor|
-                               self::othercredit|self::editor]"/>
-            </xsl:call-template>
-          </xsl:when>
-          <xsl:when test="$authors[self::corpauthor]">
-            <xsl:value-of select="$authors"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="person.name">
-              <xsl:with-param name="node" select="$authors"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-      <xsl:element name="rx:meta-field">
-        <xsl:attribute name="name">author</xsl:attribute>
-        <xsl:attribute name="value">
-          <xsl:value-of select="normalize-space($author)"/>
-        </xsl:attribute>
-      </xsl:element>
-    </xsl:if>
-
-    <xsl:variable name="title">
-      <xsl:apply-templates select="/*[1]" mode="label.markup"/>
-      <xsl:apply-templates select="/*[1]" mode="title.markup"/>
-    </xsl:variable>
-
-    <xsl:element name="rx:meta-field">
-      <xsl:attribute name="name">creator</xsl:attribute>
-      <xsl:attribute name="value">
-        <xsl:text>DocBook </xsl:text>
-        <xsl:value-of select="$DistroTitle"/>
-        <xsl:text> V</xsl:text>
-        <xsl:value-of select="$VERSION"/>
-      </xsl:attribute>
-    </xsl:element>
-
-    <xsl:element name="rx:meta-field">
-      <xsl:attribute name="name">title</xsl:attribute>
-      <xsl:attribute name="value">
-        <xsl:value-of select="normalize-space($title)"/>
-      </xsl:attribute>
-    </xsl:element>
-
-    <xsl:if test="//keyword">
-      <xsl:element name="rx:meta-field">
-        <xsl:attribute name="name">keywords</xsl:attribute>
-        <xsl:attribute name="value">
-          <xsl:for-each select="//keyword">
-            <xsl:value-of select="normalize-space(.)"/>
-            <xsl:if test="position() != last()">
-              <xsl:text>, </xsl:text>
-            </xsl:if>
-          </xsl:for-each>
-        </xsl:attribute>
-      </xsl:element>
-    </xsl:if>
-
-    <xsl:if test="//subjectterm">
-      <xsl:element name="rx:meta-field">
-        <xsl:attribute name="name">subject</xsl:attribute>
-        <xsl:attribute name="value">
-          <xsl:for-each select="//subjectterm">
-            <xsl:value-of select="normalize-space(.)"/>
-            <xsl:if test="position() != last()">
-              <xsl:text>, </xsl:text>
-            </xsl:if>
-          </xsl:for-each>
-        </xsl:attribute>
-      </xsl:element>
-    </xsl:if>
-  </rx:meta-info>
-</xsl:template>
-
-<!-- ********************************************************************
-     Pdf bookmarks
-     ******************************************************************** -->
-
-<xsl:template match="*" mode="xep.outline">
-  <xsl:apply-templates select="*" mode="xep.outline"/>
-</xsl:template>
-
-<xsl:template match="set|book|part|reference|preface|chapter|appendix|article
-                     |glossary|bibliography|index|setindex
-                     |refentry|refsynopsisdiv
-                     |refsect1|refsect2|refsect3|refsection
-                     |sect1|sect2|sect3|sect4|sect5|section"
-              mode="xep.outline">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <xsl:variable name="bookmark-label">
-    <xsl:apply-templates select="." mode="object.title.markup"/>
-  </xsl:variable>
-
-  <!-- Put the root element bookmark at the same level as its children -->
-  <!-- If the object is a set or book, generate a bookmark for the toc -->
-
-  <xsl:choose>
-    <xsl:when test="parent::*">
-      <rx:bookmark internal-destination="{$id}">
-        <rx:bookmark-label>
-          <xsl:value-of select="normalize-space($bookmark-label)"/>
-        </rx:bookmark-label>
-        <xsl:apply-templates select="*" mode="xep.outline"/>
-      </rx:bookmark>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$bookmark-label != ''">
-        <rx:bookmark internal-destination="{$id}">
-          <rx:bookmark-label>
-            <xsl:value-of select="normalize-space($bookmark-label)"/>
-          </rx:bookmark-label>
-        </rx:bookmark>
-      </xsl:if>
-
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:if test="contains($toc.params, 'toc')
-                    and set|book|part|reference|section|sect1|refentry
-                        |article|bibliography|glossary|chapter
-                        |appendix">
-        <rx:bookmark internal-destination="toc...{$id}">
-          <rx:bookmark-label>
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'TableofContents'"/>
-            </xsl:call-template>
-          </rx:bookmark-label>
-        </rx:bookmark>
-      </xsl:if>
-      <xsl:apply-templates select="*" mode="xep.outline"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="xep-pis">
-  <xsl:if test="$crop.marks != 0">
-    <xsl:processing-instruction name="xep-pdf-crop-mark-width"><xsl:value-of select="$crop.mark.width"/></xsl:processing-instruction>
-    <xsl:processing-instruction name="xep-pdf-crop-offset"><xsl:value-of select="$crop.mark.offset"/></xsl:processing-instruction>
-    <xsl:processing-instruction name="xep-pdf-bleed"><xsl:value-of select="$crop.mark.bleed"/></xsl:processing-instruction>
-  </xsl:if>
-
-  <xsl:call-template name="user-xep-pis"/>
-</xsl:template>
-
-<!-- Placeholder for user defined PIs -->
-<xsl:template name="user-xep-pis"/>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/xref.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/xref.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1440 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                xmlns:exsl="http://exslt.org/common"
-                xmlns:xlink='http://www.w3.org/1999/xlink'
-                exclude-result-prefixes="exsl"
-                version='1.0'>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- Use internal variable for olink xlink role for consistency -->
-<xsl:variable 
-      name="xolink.role">http://docbook.org/xlink/role/olink</xsl:variable>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="anchor">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <fo:inline id="{$id}"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="xref" name="xref">
-  <xsl:param name="xhref" select="@xlink:href"/>
-  <!-- is the @xlink:href a local idref link? -->
-  <xsl:param name="xlink.idref">
-    <xsl:if test="starts-with($xhref,'#')
-                  and (not(contains($xhref,'&#40;'))
-                  or starts-with($xhref, '#xpointer&#40;id&#40;'))">
-      <xsl:call-template name="xpointer.idref">
-        <xsl:with-param name="xpointer" select="$xhref"/>
-      </xsl:call-template>
-   </xsl:if>
-  </xsl:param>
-  <xsl:param name="xlink.targets" select="key('id',$xlink.idref)"/>
-  <xsl:param name="linkend.targets" select="key('id',@linkend)"/>
-  <xsl:param name="target" select="($xlink.targets | $linkend.targets)[1]"/>
-  <xsl:param name="refelem" select="local-name($target)"/>
-
-  <xsl:variable name="xrefstyle">
-    <xsl:choose>
-      <xsl:when test="@role and not(@xrefstyle) 
-                      and $use.role.as.xrefstyle != 0">
-        <xsl:value-of select="@role"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="@xrefstyle"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="content">
-    <fo:inline xsl:use-attribute-sets="xref.properties">
-      <xsl:choose>
-        <xsl:when test="@endterm">
-          <xsl:variable name="etargets" select="key('id',@endterm)"/>
-          <xsl:variable name="etarget" select="$etargets[1]"/>
-          <xsl:choose>
-            <xsl:when test="count($etarget) = 0">
-              <xsl:message>
-                <xsl:value-of select="count($etargets)"/>
-                <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-                <xsl:value-of select="@endterm"/>
-              </xsl:message>
-              <xsl:text>???</xsl:text>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="$etarget" mode="endterm"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-  
-        <xsl:when test="$target/@xreflabel">
-          <xsl:call-template name="xref.xreflabel">
-            <xsl:with-param name="target" select="$target"/>
-          </xsl:call-template>
-        </xsl:when>
-  
-        <xsl:when test="$target">
-          <xsl:if test="not(parent::citation)">
-            <xsl:apply-templates select="$target" mode="xref-to-prefix"/>
-          </xsl:if>
-  
-          <xsl:apply-templates select="$target" mode="xref-to">
-            <xsl:with-param name="referrer" select="."/>
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-          </xsl:apply-templates>
-  
-          <xsl:if test="not(parent::citation)">
-            <xsl:apply-templates select="$target" mode="xref-to-suffix"/>
-          </xsl:if>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>ERROR: xref linking to </xsl:text>
-            <xsl:value-of select="@linkend|@xlink:href"/>
-            <xsl:text> has no generated link text.</xsl:text>
-          </xsl:message>
-          <xsl:text>???</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </fo:inline>
-  </xsl:variable>
-
-  <!-- Convert it into an active link -->
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="content" select="$content"/>
-  </xsl:call-template>
-
-  <!-- Add standard page reference? -->
-  <xsl:choose>
-    <xsl:when test="not($target)">
-      <!-- page numbers only for local targets -->
-    </xsl:when>
-    <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:') 
-                  and contains($xrefstyle, 'nopage')">
-      <!-- negative xrefstyle in instance turns it off -->
-    </xsl:when>
-    <!-- positive xrefstyle already handles it -->
-    <xsl:when test="not(starts-with(normalize-space($xrefstyle), 'select:') 
-                  and (contains($xrefstyle, 'page')
-                       or contains($xrefstyle, 'Page')))
-                  and ( $insert.xref.page.number = 'yes' 
-                     or $insert.xref.page.number = '1')
-                  or local-name($target) = 'para'">
-      <xsl:apply-templates select="$target" mode="page.citation">
-        <xsl:with-param name="id" select="$target/@id|$target/@xml:id"/>
-      </xsl:apply-templates>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- Handled largely like an xref -->
-<!-- To be done: add support for begin, end, and units attributes -->
-<xsl:template match="biblioref" name="biblioref">
-  <xsl:variable name="targets" select="key('id',@linkend)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-  <xsl:variable name="refelem" select="local-name($target)"/>
-
-  <xsl:call-template name="check.id.unique">
-    <xsl:with-param name="linkend" select="@linkend"/>
-  </xsl:call-template>
-
-  <xsl:choose>
-    <xsl:when test="$refelem=''">
-      <xsl:message>
-        <xsl:text>XRef to nonexistent id: </xsl:text>
-        <xsl:value-of select="@linkend"/>
-      </xsl:message>
-      <xsl:text>???</xsl:text>
-    </xsl:when>
-
-    <xsl:when test="@endterm">
-      <fo:basic-link internal-destination="{@linkend}"
-                     xsl:use-attribute-sets="xref.properties">
-        <xsl:variable name="etargets" select="key('id',@endterm)"/>
-        <xsl:variable name="etarget" select="$etargets[1]"/>
-        <xsl:choose>
-          <xsl:when test="count($etarget) = 0">
-            <xsl:message>
-              <xsl:value-of select="count($etargets)"/>
-              <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-              <xsl:value-of select="@endterm"/>
-            </xsl:message>
-            <xsl:text>???</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates select="$etarget" mode="endterm"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:basic-link>
-    </xsl:when>
-
-    <xsl:when test="$target/@xreflabel">
-      <fo:basic-link internal-destination="{@linkend}"
-                     xsl:use-attribute-sets="xref.properties">
-        <xsl:call-template name="xref.xreflabel">
-          <xsl:with-param name="target" select="$target"/>
-        </xsl:call-template>
-      </fo:basic-link>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:if test="not(parent::citation)">
-        <xsl:apply-templates select="$target" mode="xref-to-prefix"/>
-      </xsl:if>
-
-      <fo:basic-link internal-destination="{@linkend}"
-                     xsl:use-attribute-sets="xref.properties">
-        <xsl:apply-templates select="$target" mode="xref-to">
-          <xsl:with-param name="referrer" select="."/>
-          <xsl:with-param name="xrefstyle">
-            <xsl:choose>
-              <xsl:when test="@role and not(@xrefstyle) and $use.role.as.xrefstyle != 0">
-                <xsl:value-of select="@role"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:value-of select="@xrefstyle"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:apply-templates>
-      </fo:basic-link>
-
-      <xsl:if test="not(parent::citation)">
-        <xsl:apply-templates select="$target" mode="xref-to-suffix"/>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="endterm">
-  <!-- Process the children of the endterm element -->
-  <xsl:variable name="endterm">
-    <xsl:apply-templates select="child::node()"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="function-available('exsl:node-set')">
-      <xsl:apply-templates select="exsl:node-set($endterm)" mode="remove-ids"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$endterm"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="remove-ids">
-  <xsl:copy>
-    <xsl:for-each select="@*">
-      <xsl:choose>
-        <xsl:when test="name(.) != 'id'">
-          <xsl:copy/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>removing <xsl:value-of select="name(.)"/></xsl:message>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:for-each>
-    <xsl:apply-templates mode="remove-ids"/>
-  </xsl:copy>
-</xsl:template>
-
-<!--- ==================================================================== -->
-
-<xsl:template match="*" mode="xref-to-prefix"/>
-<xsl:template match="*" mode="xref-to-suffix"/>
-
-<xsl:template match="*" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-
-  <xsl:if test="$verbose != 0">
-    <xsl:message>
-      <xsl:text>Don't know what gentext to create for xref to: "</xsl:text>
-      <xsl:value-of select="name(.)"/>
-      <xsl:text>"</xsl:text>
-    </xsl:message>
-    <xsl:text>???</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="title" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <!-- if you xref to a title, xref to the parent... -->
-  <xsl:choose>
-    <!-- FIXME: how reliable is this? -->
-    <xsl:when test="contains(local-name(parent::*), 'info')">
-      <xsl:apply-templates select="parent::*[2]" mode="xref-to">
-        <xsl:with-param name="referrer" select="$referrer"/>
-        <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-        <xsl:with-param name="verbose" select="$verbose"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="parent::*" mode="xref-to">
-        <xsl:with-param name="referrer" select="$referrer"/>
-        <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-        <xsl:with-param name="verbose" select="$verbose"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="abstract|article|authorblurb|bibliodiv|bibliomset
-                     |biblioset|blockquote|calloutlist|caution|colophon
-                     |constraintdef|formalpara|glossdiv|important|indexdiv
-                     |itemizedlist|legalnotice|lot|msg|msgexplan|msgmain
-                     |msgrel|msgset|msgsub|note|orderedlist|partintro
-                     |productionset|qandadiv|refsynopsisdiv|segmentedlist
-                     |set|setindex|sidebar|tip|toc|variablelist|warning"
-              mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <!-- catch-all for things with (possibly optional) titles -->
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="author|editor|othercredit|personname" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:call-template name="person.name"/>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:call-template name="person.name.list"/>
-</xsl:template>
-
-<xsl:template match="figure|example|table|equation" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="procedure" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="task" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="cmdsynopsis" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="(.//command)[1]" mode="xref"/>
-</xsl:template>
-
-<xsl:template match="funcsynopsis" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="(.//function)[1]" mode="xref"/>
-</xsl:template>
-
-<xsl:template match="dedication|preface|chapter|appendix" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="bibliography" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="biblioentry|bibliomixed" mode="xref-to-prefix">
-  <xsl:text>[</xsl:text>
-</xsl:template>
-
-<xsl:template match="biblioentry|bibliomixed" mode="xref-to-suffix">
-  <xsl:text>]</xsl:text>
-</xsl:template>
-
-<xsl:template match="biblioentry|bibliomixed" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <!-- handles both biblioentry and bibliomixed -->
-  <xsl:choose>
-    <xsl:when test="string(.) = ''">
-      <xsl:variable name="bib" select="document($bibliography.collection,.)"/>
-      <xsl:variable name="id" select="(@id|@xml:id)[1]"/>
-      <xsl:variable name="entry" select="$bib/bibliography/
-                                         *[@id=$id or @xml:id=$id][1]"/>
-      <xsl:choose>
-        <xsl:when test="$entry">
-          <xsl:choose>
-            <xsl:when test="$bibliography.numbered != 0">
-              <xsl:number from="bibliography" count="biblioentry|bibliomixed"
-                          level="any" format="1"/>
-            </xsl:when>
-            <xsl:when test="local-name($entry/*[1]) = 'abbrev'">
-              <xsl:apply-templates select="$entry/*[1]"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:value-of select="(@id|@xml:id)[1]"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>No bibliography entry: </xsl:text>
-            <xsl:value-of select="$id"/>
-            <xsl:text> found in </xsl:text>
-            <xsl:value-of select="$bibliography.collection"/>
-          </xsl:message>
-          <xsl:value-of select="(@id|@xml:id)[1]"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$bibliography.numbered != 0">
-          <xsl:number from="bibliography" count="biblioentry|bibliomixed"
-                      level="any" format="1"/>
-        </xsl:when>
-        <xsl:when test="local-name(*[1]) = 'abbrev'">
-          <xsl:apply-templates select="*[1]"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="(@id|@xml:id)[1]"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="glossary" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="glossentry" mode="xref-to">
-  <xsl:choose>
-    <xsl:when test="$glossentry.show.acronym = 'primary'">
-      <xsl:choose>
-        <xsl:when test="acronym|abbrev">
-          <xsl:apply-templates select="(acronym|abbrev)[1]"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="glossterm[1]" mode="xref-to"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="glossterm[1]" mode="xref-to"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="glossterm" mode="xref-to">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="index" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="listitem" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="section|simplesect
-                     |sect1|sect2|sect3|sect4|sect5
-                     |refsect1|refsect2|refsect3|refsection" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-  <!-- What about "in Chapter X"? -->
-</xsl:template>
-
-<xsl:template match="bridgehead" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-  <!-- What about "in Chapter X"? -->
-</xsl:template>
-
-<xsl:template match="qandaset" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="qandadiv" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="qandaentry" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="question[1]" mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="question|answer" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="part|reference" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="refentry" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="refmeta/refentrytitle">
-      <xsl:apply-templates select="refmeta/refentrytitle"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="refnamediv/refname[1]"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:apply-templates select="refmeta/manvolnum"/>
-</xsl:template>
-
-<xsl:template match="refnamediv" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="refname[1]" mode="xref-to">
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="refname" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates mode="xref-to">
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="step" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'Step'"/>
-  </xsl:call-template>
-  <xsl:text> </xsl:text>
-  <xsl:apply-templates select="." mode="number"/>
-</xsl:template>
-
-<xsl:template match="varlistentry" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="term[1]" mode="xref-to">
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="varlistentry/term" mode="xref-to">
-  <xsl:param name="verbose" select="1"/>
-  <!-- to avoid the comma that will be generated if there are several terms -->
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="co" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="callout-bug"/>
-</xsl:template>
-
-<xsl:template match="area|areaset" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-
-  <xsl:call-template name="callout-bug">
-    <xsl:with-param name="conum">
-      <xsl:apply-templates select="." mode="conumber"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="book" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="para" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose"/>
-
-  <xsl:variable name="context" select="(ancestor::simplesect
-                                       |ancestor::section
-                                       |ancestor::sect1
-                                       |ancestor::sect2
-                                       |ancestor::sect3
-                                       |ancestor::sect4
-                                       |ancestor::sect5
-                                       |ancestor::refsection
-                                       |ancestor::refsect1
-                                       |ancestor::refsect2
-                                       |ancestor::refsect3
-                                       |ancestor::chapter
-                                       |ancestor::appendix
-                                       |ancestor::preface
-                                       |ancestor::partintro
-                                       |ancestor::dedication
-                                       |ancestor::colophon
-                                       |ancestor::bibliography
-                                       |ancestor::index
-                                       |ancestor::glossary
-                                       |ancestor::glossentry
-                                       |ancestor::listitem
-                                       |ancestor::varlistentry)[last()]"/>
-
-  <xsl:apply-templates select="$context" mode="xref-to">
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="link" name="link">
-  <xsl:param name="linkend" select="@linkend"/>
-  <xsl:param name="targets" select="key('id',$linkend)"/>
-  <xsl:param name="target" select="$targets[1]"/>
-
-  <xsl:variable name="xrefstyle">
-    <xsl:choose>
-      <xsl:when test="@role and not(@xrefstyle) 
-                      and $use.role.as.xrefstyle != 0">
-        <xsl:value-of select="@role"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="@xrefstyle"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="content">
-    <fo:inline xsl:use-attribute-sets="xref.properties">
-      <xsl:choose>
-        <xsl:when test="count(child::node()) &gt; 0">
-          <!-- If it has content, use it -->
-          <xsl:apply-templates/>
-        </xsl:when>
-        <!-- look for an endterm -->
-        <xsl:when test="@endterm">
-          <xsl:variable name="etargets" select="key('id',@endterm)"/>
-          <xsl:variable name="etarget" select="$etargets[1]"/>
-          <xsl:choose>
-            <xsl:when test="count($etarget) = 0">
-              <xsl:message>
-                <xsl:value-of select="count($etargets)"/>
-                <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-                <xsl:value-of select="@endterm"/>
-              </xsl:message>
-              <xsl:text>???</xsl:text>
-            </xsl:when>
-            <xsl:otherwise>
-                <xsl:apply-templates select="$etarget" mode="endterm"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <!-- Use the xlink:href if no other text -->
-        <xsl:when test="@xlink:href">
-          <xsl:value-of select="@xlink:href"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>Link element has no content and no Endterm. </xsl:text>
-            <xsl:text>Nothing to show in the link to </xsl:text>
-            <xsl:value-of select="$target"/>
-          </xsl:message>
-          <xsl:text>???</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </fo:inline>
-  </xsl:variable>
-
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="node" select="."/>
-    <xsl:with-param name="linkend" select="$linkend"/>
-    <xsl:with-param name="content" select="$content"/>
-  </xsl:call-template>
-
-  <!-- Add standard page reference? -->
-  <xsl:choose>
-    <!-- page numbering on link only enabled for @linkend -->
-    <!-- There is no link element in DB5 with xlink:href -->
-    <xsl:when test="not($linkend)">
-    </xsl:when>
-    <!-- negative xrefstyle in instance turns it off -->
-    <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:') 
-                  and contains($xrefstyle, 'nopage')">
-    </xsl:when>
-    <xsl:when test="(starts-with(normalize-space($xrefstyle), 'select:') 
-                  and $insert.link.page.number = 'maybe'  
-                  and (contains($xrefstyle, 'page')
-                       or contains($xrefstyle, 'Page')))
-                  or ( $insert.link.page.number = 'yes' 
-                     or $insert.link.page.number = '1')
-                  or local-name($target) = 'para'">
-      <xsl:apply-templates select="$target" mode="page.citation">
-        <xsl:with-param name="id" select="$linkend"/>
-      </xsl:apply-templates>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="ulink" name="ulink">
-  <xsl:param name="url" select="@url"/>
-
-  <xsl:variable name ="ulink.url">
-    <xsl:call-template name="fo-external-image">
-      <xsl:with-param name="filename" select="$url"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <fo:basic-link xsl:use-attribute-sets="xref.properties"
-                 external-destination="{$ulink.url}">
-    <xsl:choose>
-      <xsl:when test="count(child::node())=0">
-        <xsl:call-template name="hyphenate-url">
-          <xsl:with-param name="url" select="$url"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:basic-link>
-
-  <xsl:if test="count(child::node()) != 0
-                and string(.) != $url
-                and $ulink.show != 0">
-    <!-- yes, show the URI -->
-    <xsl:choose>
-      <xsl:when test="$ulink.footnotes != 0 and not(ancestor::footnote)">
-        <fo:footnote>
-          <xsl:call-template name="ulink.footnote.number"/>
-          <fo:footnote-body xsl:use-attribute-sets="footnote.properties">
-            <fo:block>
-              <xsl:call-template name="ulink.footnote.number"/>
-              <xsl:text> </xsl:text>
-              <fo:basic-link external-destination="{$ulink.url}">
-                <xsl:value-of select="$url"/>
-              </fo:basic-link>
-            </fo:block>
-          </fo:footnote-body>
-        </fo:footnote>
-      </xsl:when>
-      <xsl:otherwise>
-        <fo:inline hyphenate="false">
-          <xsl:text> [</xsl:text>
-          <fo:basic-link external-destination="{$ulink.url}">
-            <xsl:call-template name="hyphenate-url">
-              <xsl:with-param name="url" select="$url"/>
-            </xsl:call-template>
-          </fo:basic-link>
-          <xsl:text>]</xsl:text>
-        </fo:inline>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-
-</xsl:template>
-
-<xsl:template name="ulink.footnote.number">
-  <fo:inline xsl:use-attribute-sets="footnote.mark.properties">
-    <xsl:choose>
-      <xsl:when test="$fop.extensions != 0">
-        <xsl:attribute name="vertical-align">super</xsl:attribute>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:attribute name="baseline-shift">super</xsl:attribute>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:variable name="fnum">
-      <!-- FIXME: list in @from is probably not complete -->
-      <xsl:number level="any" 
-                  from="chapter|appendix|preface|article|refentry|bibliography[not(parent::article)]" 
-                  count="footnote[not(@label)][not(ancestor::tgroup)]|ulink[node()][@url != .][not(ancestor::footnote)]" 
-                  format="1"/>
-    </xsl:variable>
-    <xsl:choose>
-      <xsl:when test="string-length($footnote.number.symbols) &gt;= $fnum">
-        <xsl:value-of select="substring($footnote.number.symbols, $fnum, 1)"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:number value="$fnum" format="{$footnote.number.format}"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </fo:inline>
-</xsl:template>
-
-<xsl:template name="hyphenate-url">
-  <xsl:param name="url" select="''"/>
-  <xsl:choose>
-    <xsl:when test="$ulink.hyphenate = ''">
-      <xsl:value-of select="$url"/>
-    </xsl:when>
-    <xsl:when test="string-length($url) &gt; 1">
-      <xsl:variable name="char" select="substring($url, 1, 1)"/>
-      <xsl:value-of select="$char"/>
-      <xsl:if test="contains($ulink.hyphenate.chars, $char)">
-        <!-- Do not hyphen in-between // -->
-        <xsl:if test="not($char = '/' and substring($url,2,1) = '/')">
-          <xsl:copy-of select="$ulink.hyphenate"/>
-        </xsl:if>
-      </xsl:if>
-      <!-- recurse to the next character -->
-      <xsl:call-template name="hyphenate-url">
-        <xsl:with-param name="url" select="substring($url, 2)"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$url"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="olink" name="olink">
-  <!-- olink content may be passed in from xlink olink -->
-  <xsl:param name="content" select="NOTANELEMENT"/>
-
-  <xsl:call-template name="anchor"/>
-
-  <xsl:variable name="localinfo" select="@localinfo"/>
-
-  <xsl:choose>
-    <!-- olinks resolved by stylesheet and target database -->
-    <xsl:when test="@targetdoc or @targetptr or
-                    (@xlink:role=$xolink.role and
-                     contains(@xlink:href, '#') )" >
-
-      <xsl:variable name="targetdoc.att">
-        <xsl:choose>
-          <xsl:when test="@targetdoc != ''">
-            <xsl:value-of select="@targetdoc"/>
-          </xsl:when>
-          <xsl:when test="@xlink:role=$xolink.role and
-                       contains(@xlink:href, '#')" >
-            <xsl:value-of select="substring-before(@xlink:href, '#')"/>
-          </xsl:when>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="targetptr.att">
-        <xsl:choose>
-          <xsl:when test="@targetptr != ''">
-            <xsl:value-of select="@targetptr"/>
-          </xsl:when>
-          <xsl:when test="@xlink:role=$xolink.role and
-                       contains(@xlink:href, '#')" >
-            <xsl:value-of select="substring-after(@xlink:href, '#')"/>
-          </xsl:when>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="olink.lang">
-        <xsl:call-template name="l10n.language">
-          <xsl:with-param name="xref-context" select="true()"/>
-        </xsl:call-template>
-      </xsl:variable>
-    
-      <xsl:variable name="target.database.filename">
-        <xsl:call-template name="select.target.database">
-          <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/>
-          <xsl:with-param name="targetptr.att" select="$targetptr.att"/>
-          <xsl:with-param name="olink.lang" select="$olink.lang"/>
-        </xsl:call-template>
-      </xsl:variable>
-    
-      <xsl:variable name="target.database" 
-          select="document($target.database.filename, /)"/>
-    
-      <xsl:if test="$olink.debug != 0">
-        <xsl:message>
-          <xsl:text>Olink debug: root element of target.database is '</xsl:text>
-          <xsl:value-of select="local-name($target.database/*[1])"/>
-          <xsl:text>'.</xsl:text>
-        </xsl:message>
-      </xsl:if>
-    
-      <xsl:variable name="olink.key">
-        <xsl:call-template name="select.olink.key">
-          <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/>
-          <xsl:with-param name="targetptr.att" select="$targetptr.att"/>
-          <xsl:with-param name="olink.lang" select="$olink.lang"/>
-          <xsl:with-param name="target.database" select="$target.database"/>
-        </xsl:call-template>
-      </xsl:variable>
-    
-      <xsl:if test="string-length($olink.key) = 0">
-        <xsl:message>
-          <xsl:text>Error: unresolved olink: </xsl:text>
-          <xsl:text>targetdoc/targetptr = '</xsl:text>
-          <xsl:value-of select="$targetdoc.att"/>
-          <xsl:text>/</xsl:text>
-          <xsl:value-of select="$targetptr.att"/>
-          <xsl:text>'.</xsl:text>
-        </xsl:message>
-      </xsl:if>
-
-      <xsl:variable name="href">
-        <xsl:call-template name="make.olink.href">
-          <xsl:with-param name="olink.key" select="$olink.key"/>
-          <xsl:with-param name="target.database" select="$target.database"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <!-- Olink that points to internal id can be a link -->
-      <xsl:variable name="linkend">
-        <xsl:call-template name="olink.as.linkend">
-          <xsl:with-param name="olink.key" select="$olink.key"/>
-          <xsl:with-param name="olink.lang" select="$olink.lang"/>
-          <xsl:with-param name="target.database" select="$target.database"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="hottext">
-        <xsl:choose>
-          <xsl:when test="$content">
-            <xsl:copy-of select="$content"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="olink.hottext">
-              <xsl:with-param name="olink.key" select="$olink.key"/>
-              <xsl:with-param name="olink.lang" select="$olink.lang"/>
-              <xsl:with-param name="target.database" select="$target.database"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="olink.docname.citation">
-        <xsl:call-template name="olink.document.citation">
-          <xsl:with-param name="olink.key" select="$olink.key"/>
-          <xsl:with-param name="target.database" select="$target.database"/>
-          <xsl:with-param name="olink.lang" select="$olink.lang"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="olink.page.citation">
-        <xsl:call-template name="olink.page.citation">
-          <xsl:with-param name="olink.key" select="$olink.key"/>
-          <xsl:with-param name="target.database" select="$target.database"/>
-          <xsl:with-param name="olink.lang" select="$olink.lang"/>
-          <xsl:with-param name="linkend" select="$linkend"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$linkend != ''">
-          <fo:basic-link internal-destination="{$linkend}"
-                       xsl:use-attribute-sets="xref.properties">
-            <xsl:copy-of select="$hottext"/>
-            <xsl:copy-of select="$olink.page.citation"/>
-          </fo:basic-link>
-        </xsl:when>
-        <xsl:when test="$href != ''">
-          <xsl:choose>
-            <xsl:when test="$xep.extensions != 0">
-              <fo:basic-link external-destination="url({$href})"
-                             xsl:use-attribute-sets="olink.properties">
-                <xsl:copy-of select="$hottext"/>
-              </fo:basic-link>
-              <xsl:copy-of select="$olink.page.citation"/>
-              <xsl:copy-of select="$olink.docname.citation"/>
-            </xsl:when>
-            <xsl:when test="$axf.extensions != 0">
-              <fo:basic-link external-destination="{$href}"
-                             xsl:use-attribute-sets="olink.properties">
-                <xsl:copy-of select="$hottext"/>
-              </fo:basic-link>
-              <xsl:copy-of select="$olink.page.citation"/>
-              <xsl:copy-of select="$olink.docname.citation"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <fo:basic-link external-destination="{$href}"
-                             xsl:use-attribute-sets="olink.properties">
-                <xsl:copy-of select="$hottext"/>
-              </fo:basic-link>
-              <xsl:copy-of select="$olink.page.citation"/>
-              <xsl:copy-of select="$olink.docname.citation"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:copy-of select="$hottext"/>
-          <xsl:copy-of select="$olink.page.citation"/>
-          <xsl:copy-of select="$olink.docname.citation"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <!-- olink never implemented in FO for old olink entity syntax -->
-    <xsl:otherwise>
-      <xsl:apply-templates/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.olink.docname.markup">
-  <xsl:param name="docname" select="''"/>
-  
-  <fo:inline font-style="italic">
-    <xsl:value-of select="$docname"/>
-  </fo:inline>
-
-</xsl:template>
-
-<!-- This prevents error message when processing olinks with xrefstyle -->
-<xsl:template match="olink" mode="object.xref.template"/>
-
-
-<xsl:template name="olink.as.linkend">
-  <xsl:param name="olink.key" select="''"/>
-  <xsl:param name="olink.lang" select="''"/>
-  <xsl:param name="target.database" select="NotANode"/>
-
-  <xsl:variable name="targetdoc">
-    <xsl:value-of select="substring-before($olink.key, '/')"/>
-  </xsl:variable>
-
-  <xsl:variable name="targetptr">
-    <xsl:value-of 
-       select="substring-before(substring-after($olink.key, '/'), '/')"/>
-  </xsl:variable>
-
-  <xsl:variable name="target.lang">
-    <xsl:variable name="candidate">
-      <xsl:for-each select="$target.database" >
-        <xsl:value-of 
-                  select="key('targetptr-key', $olink.key)/@lang" />
-      </xsl:for-each>
-    </xsl:variable>
-    <xsl:choose>
-      <xsl:when test="$candidate != ''">
-        <xsl:value-of select="$candidate"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$olink.lang"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="$current.docid = $targetdoc and 
-                $olink.lang = $target.lang">
-    <xsl:variable name="targets" select="key('id',$targetptr)"/>
-    <xsl:variable name="target" select="$targets[1]"/>
-    <xsl:if test="$target">
-      <xsl:value-of select="$targetptr"/>
-    </xsl:if>
-  </xsl:if>
-
-</xsl:template>
-
-
-<xsl:template name="olink.outline">
-  <xsl:param name="outline.base.uri"/>
-  <xsl:param name="localinfo"/>
-  <xsl:param name="return" select="href"/>
-
-  <xsl:message terminate="yes">Fatal error: olink.outline template: what is this supposed to do?</xsl:message>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="title.xref">
-  <xsl:param name="target" select="."/>
-  <xsl:choose>
-    <xsl:when test="local-name($target) = 'figure'
-                    or local-name($target) = 'example'
-                    or local-name($target) = 'equation'
-                    or local-name($target) = 'table'
-                    or local-name($target) = 'dedication'
-                    or local-name($target) = 'preface'
-                    or local-name($target) = 'bibliography'
-                    or local-name($target) = 'glossary'
-                    or local-name($target) = 'index'
-                    or local-name($target) = 'setindex'
-                    or local-name($target) = 'colophon'">
-      <xsl:call-template name="gentext.startquote"/>
-      <xsl:apply-templates select="$target" mode="title.markup"/>
-      <xsl:call-template name="gentext.endquote"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <fo:inline font-style="italic">
-        <xsl:apply-templates select="$target" mode="title.markup"/>
-      </fo:inline>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="number.xref">
-  <xsl:param name="target" select="."/>
-  <xsl:apply-templates select="$target" mode="label.markup"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="xref.xreflabel">
-  <!-- called to process an xreflabel...you might use this to make  -->
-  <!-- xreflabels come out in the right font for different targets, -->
-  <!-- for example. -->
-  <xsl:param name="target" select="."/>
-  <xsl:value-of select="$target/@xreflabel"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="title" mode="xref">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="command" mode="xref">
-  <xsl:call-template name="inline.boldseq"/>
-</xsl:template>
-
-<xsl:template match="function" mode="xref">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="*" mode="page.citation">
-  <xsl:param name="id" select="'???'"/>
-
-  <fo:basic-link internal-destination="{$id}"
-                 xsl:use-attribute-sets="xref.properties">
-    <fo:inline keep-together.within-line="always">
-      <xsl:call-template name="substitute-markup">
-        <xsl:with-param name="template">
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="name" select="'page.citation'"/>
-            <xsl:with-param name="context" select="'xref'"/>
-          </xsl:call-template>
-        </xsl:with-param>
-      </xsl:call-template>
-    </fo:inline>
-  </fo:basic-link>
-</xsl:template>
-
-<xsl:template match="*" mode="pagenumber.markup">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <fo:page-number-citation ref-id="{$id}"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="insert.title.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="title"/>
-
-  <xsl:choose>
-    <!-- FIXME: what about the case where titleabbrev is inside the info? -->
-    <xsl:when test="$purpose = 'xref' and titleabbrev">
-      <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$title"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="chapter|appendix" mode="insert.title.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="title"/>
-
-  <xsl:choose>
-    <xsl:when test="$purpose = 'xref'">
-      <fo:inline font-style="italic">
-        <xsl:copy-of select="$title"/>
-      </fo:inline>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$title"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.subtitle.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="subtitle"/>
-
-  <xsl:copy-of select="$subtitle"/>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.label.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="label"/>
-
-  <xsl:copy-of select="$label"/>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.pagenumber.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="pagenumber"/>
-
-  <xsl:copy-of select="$pagenumber"/>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.direction.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="direction"/>
-
-  <xsl:copy-of select="$direction"/>
-</xsl:template>
-
-<xsl:template match="olink" mode="pagenumber.markup">
-  <!-- Local olinks can use page-citation -->
-  <xsl:variable name="targetdoc.att" select="@targetdoc"/>
-  <xsl:variable name="targetptr.att" select="@targetptr"/>
-
-  <xsl:variable name="olink.lang">
-    <xsl:call-template name="l10n.language">
-      <xsl:with-param name="xref-context" select="true()"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="target.database.filename">
-    <xsl:call-template name="select.target.database">
-      <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/>
-      <xsl:with-param name="targetptr.att" select="$targetptr.att"/>
-      <xsl:with-param name="olink.lang" select="$olink.lang"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="target.database" 
-      select="document($target.database.filename, /)"/>
-
-  <xsl:if test="$olink.debug != 0">
-    <xsl:message>
-      <xsl:text>Olink debug: root element of target.database is '</xsl:text>
-      <xsl:value-of select="local-name($target.database/*[1])"/>
-      <xsl:text>'.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="olink.key">
-    <xsl:call-template name="select.olink.key">
-      <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/>
-      <xsl:with-param name="targetptr.att" select="$targetptr.att"/>
-      <xsl:with-param name="olink.lang" select="$olink.lang"/>
-      <xsl:with-param name="target.database" select="$target.database"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <!-- Olink that points to internal id can be a link -->
-  <xsl:variable name="linkend">
-    <xsl:call-template name="olink.as.linkend">
-      <xsl:with-param name="olink.key" select="$olink.key"/>
-      <xsl:with-param name="olink.lang" select="$olink.lang"/>
-      <xsl:with-param name="target.database" select="$target.database"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$linkend != ''">
-      <fo:page-number-citation ref-id="{$linkend}"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>Olink error: no page number linkend for local olink '</xsl:text>
-        <xsl:value-of select="$olink.key"/>
-        <xsl:text>'</xsl:text>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/highlighting/common.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/highlighting/common.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,16 +1,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version='1.0'>
-
-<!-- ********************************************************************
-
-     Fake file to keep happy ../{fo,xhtml}/verbatim.xsl
-
-     ******************************************************************** -->
-
-  <xsl:template name="apply-highlighting">
-    <xsl:apply-templates/>
-  </xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/html/chunker.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/html/chunker.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,439 +1,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:saxon="http://icl.com/saxon"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:redirect="http://xml.apache.org/xalan/redirect"
-                xmlns:exsl="http://exslt.org/common"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-		version="1.0"
-                exclude-result-prefixes="doc"
-                extension-element-prefixes="saxon redirect lxslt exsl">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- This stylesheet works with XSLT implementations that support -->
-<!-- exsl:document, saxon:output, or Xalan's redirect:write -->
-<!-- Note: Only Saxon 6.4.2 or later is supported. -->
-
-<xsl:param name="chunker.output.method" select="'html'"/>
-<xsl:param name="chunker.output.encoding" select="'ISO-8859-1'"/>
-<xsl:param name="chunker.output.indent" select="'no'"/>
-<xsl:param name="chunker.output.omit-xml-declaration" select="'no'"/>
-<xsl:param name="chunker.output.standalone" select="'no'"/>
-<xsl:param name="chunker.output.doctype-public" select="''"/>
-<xsl:param name="chunker.output.doctype-system" select="''"/>
-<xsl:param name="chunker.output.media-type" select="''"/>
-<xsl:param name="chunker.output.cdata-section-elements" select="''"/>
-<xsl:param name="chunker.output.quiet" select="0"/>
-
-<xsl:param name="saxon.character.representation" select="'entity;decimal'"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="make-relative-filename">
-  <xsl:param name="base.dir" select="'./'"/>
-  <xsl:param name="base.name" select="''"/>
-
-  <xsl:choose>
-    <!-- put Saxon first to work around a bug in libxslt -->
-    <xsl:when test="element-available('saxon:output')">
-      <!-- Saxon doesn't make the chunks relative -->
-      <xsl:value-of select="concat($base.dir,$base.name)"/>
-    </xsl:when>
-    <xsl:when test="element-available('exsl:document')">
-      <!-- EXSL document does make the chunks relative, I think -->
-      <xsl:choose>
-        <xsl:when test="count(parent::*) = 0">
-          <xsl:value-of select="concat($base.dir,$base.name)"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$base.name"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="element-available('redirect:write')">
-      <!-- Xalan doesn't make the chunks relative -->
-      <xsl:value-of select="concat($base.dir,$base.name)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message terminate="yes">
-        <xsl:text>Don't know how to chunk with </xsl:text>
-        <xsl:value-of select="system-property('xsl:vendor')"/>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="write.chunk">
-  <xsl:param name="filename" select="''"/>
-  <xsl:param name="quiet" select="$chunker.output.quiet"/>
-  <xsl:param name="suppress-context-node-name" select="0"/>
-  <xsl:param name="message-prolog"/>
-  <xsl:param name="message-epilog"/>
-
-  <xsl:param name="method" select="$chunker.output.method"/>
-  <xsl:param name="encoding" select="$chunker.output.encoding"/>
-  <xsl:param name="indent" select="$chunker.output.indent"/>
-  <xsl:param name="omit-xml-declaration"
-             select="$chunker.output.omit-xml-declaration"/>
-  <xsl:param name="standalone" select="$chunker.output.standalone"/>
-  <xsl:param name="doctype-public" select="$chunker.output.doctype-public"/>
-  <xsl:param name="doctype-system" select="$chunker.output.doctype-system"/>
-  <xsl:param name="media-type" select="$chunker.output.media-type"/>
-  <xsl:param name="cdata-section-elements"
-             select="$chunker.output.cdata-section-elements"/>
-
-  <xsl:param name="content"/>
-
-  <xsl:if test="$quiet = 0">
-    <xsl:message>
-      <xsl:if test="not($message-prolog = '')">
-        <xsl:value-of select="$message-prolog"/>
-      </xsl:if>
-      <xsl:text>Writing </xsl:text>
-      <xsl:value-of select="$filename"/>
-      <xsl:if test="name(.) != '' and $suppress-context-node-name = 0">
-        <xsl:text> for </xsl:text>
-        <xsl:value-of select="name(.)"/>
-        <xsl:if test="@id or @xml:id">
-          <xsl:text>(</xsl:text>
-          <xsl:value-of select="(@id|@xml:id)[1]"/>
-          <xsl:text>)</xsl:text>
-        </xsl:if>
-      </xsl:if>
-      <xsl:if test="not($message-epilog = '')">
-        <xsl:value-of select="$message-epilog"/>
-      </xsl:if>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="element-available('exsl:document')">
-      <xsl:choose>
-        <!-- Handle the permutations ... -->
-        <xsl:when test="$media-type != ''">
-          <xsl:choose>
-            <xsl:when test="$doctype-public != '' and $doctype-system != ''">
-              <exsl:document href="{$filename}"
-                             method="{$method}"
-                             encoding="{$encoding}"
-                             indent="{$indent}"
-                             omit-xml-declaration="{$omit-xml-declaration}"
-                             cdata-section-elements="{$cdata-section-elements}"
-                             media-type="{$media-type}"
-                             doctype-public="{$doctype-public}"
-                             doctype-system="{$doctype-system}"
-                             standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:when test="$doctype-public != '' and $doctype-system = ''">
-              <exsl:document href="{$filename}"
-                             method="{$method}"
-                             encoding="{$encoding}"
-                             indent="{$indent}"
-                             omit-xml-declaration="{$omit-xml-declaration}"
-                             cdata-section-elements="{$cdata-section-elements}"
-                             media-type="{$media-type}"
-                             doctype-public="{$doctype-public}"
-                             standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:when test="$doctype-public = '' and $doctype-system != ''">
-              <exsl:document href="{$filename}"
-                             method="{$method}"
-                             encoding="{$encoding}"
-                             indent="{$indent}"
-                             omit-xml-declaration="{$omit-xml-declaration}"
-                             cdata-section-elements="{$cdata-section-elements}"
-                             media-type="{$media-type}"
-                             doctype-system="{$doctype-system}"
-                             standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> -->
-              <exsl:document href="{$filename}"
-                             method="{$method}"
-                             encoding="{$encoding}"
-                             indent="{$indent}"
-                             omit-xml-declaration="{$omit-xml-declaration}"
-                             cdata-section-elements="{$cdata-section-elements}"
-                             media-type="{$media-type}"
-                             standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:choose>
-            <xsl:when test="$doctype-public != '' and $doctype-system != ''">
-              <exsl:document href="{$filename}"
-                             method="{$method}"
-                             encoding="{$encoding}"
-                             indent="{$indent}"
-                             omit-xml-declaration="{$omit-xml-declaration}"
-                             cdata-section-elements="{$cdata-section-elements}"
-                             doctype-public="{$doctype-public}"
-                             doctype-system="{$doctype-system}"
-                             standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:when test="$doctype-public != '' and $doctype-system = ''">
-              <exsl:document href="{$filename}"
-                             method="{$method}"
-                             encoding="{$encoding}"
-                             indent="{$indent}"
-                             omit-xml-declaration="{$omit-xml-declaration}"
-                             cdata-section-elements="{$cdata-section-elements}"
-                             doctype-public="{$doctype-public}"
-                             standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:when test="$doctype-public = '' and $doctype-system != ''">
-              <exsl:document href="{$filename}"
-                             method="{$method}"
-                             encoding="{$encoding}"
-                             indent="{$indent}"
-                             omit-xml-declaration="{$omit-xml-declaration}"
-                             cdata-section-elements="{$cdata-section-elements}"
-                             doctype-system="{$doctype-system}"
-                             standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> -->
-              <exsl:document href="{$filename}"
-                             method="{$method}"
-                             encoding="{$encoding}"
-                             indent="{$indent}"
-                             omit-xml-declaration="{$omit-xml-declaration}"
-                             cdata-section-elements="{$cdata-section-elements}"
-                             standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="element-available('saxon:output')">
-      <xsl:choose>
-        <!-- Handle the permutations ... -->
-        <xsl:when test="$media-type != ''">
-          <xsl:choose>
-            <xsl:when test="$doctype-public != '' and $doctype-system != ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}"
-                            href="{$filename}"
-                            method="{$method}"
-                            encoding="{$encoding}"
-                            indent="{$indent}"
-                            omit-xml-declaration="{$omit-xml-declaration}"
-                            cdata-section-elements="{$cdata-section-elements}"
-                            media-type="{$media-type}"
-                            doctype-public="{$doctype-public}"
-                            doctype-system="{$doctype-system}"
-                            standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:when test="$doctype-public != '' and $doctype-system = ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}"
-                            href="{$filename}"
-                            method="{$method}"
-                            encoding="{$encoding}"
-                            indent="{$indent}"
-                            omit-xml-declaration="{$omit-xml-declaration}"
-                            cdata-section-elements="{$cdata-section-elements}"
-                            media-type="{$media-type}"
-                            doctype-public="{$doctype-public}"
-                            standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:when test="$doctype-public = '' and $doctype-system != ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}"
-                            href="{$filename}"
-                            method="{$method}"
-                            encoding="{$encoding}"
-                            indent="{$indent}"
-                            omit-xml-declaration="{$omit-xml-declaration}"
-                            cdata-section-elements="{$cdata-section-elements}"
-                            media-type="{$media-type}"
-                            doctype-system="{$doctype-system}"
-                            standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> -->
-              <saxon:output saxon:character-representation="{$saxon.character.representation}"
-                            href="{$filename}"
-                            method="{$method}"
-                            encoding="{$encoding}"
-                            indent="{$indent}"
-                            omit-xml-declaration="{$omit-xml-declaration}"
-                            cdata-section-elements="{$cdata-section-elements}"
-                            media-type="{$media-type}"
-                            standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:choose>
-            <xsl:when test="$doctype-public != '' and $doctype-system != ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}"
-                            href="{$filename}"
-                            method="{$method}"
-                            encoding="{$encoding}"
-                            indent="{$indent}"
-                            omit-xml-declaration="{$omit-xml-declaration}"
-                            cdata-section-elements="{$cdata-section-elements}"
-                            doctype-public="{$doctype-public}"
-                            doctype-system="{$doctype-system}"
-                            standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:when test="$doctype-public != '' and $doctype-system = ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}"
-                            href="{$filename}"
-                            method="{$method}"
-                            encoding="{$encoding}"
-                            indent="{$indent}"
-                            omit-xml-declaration="{$omit-xml-declaration}"
-                            cdata-section-elements="{$cdata-section-elements}"
-                            doctype-public="{$doctype-public}"
-                            standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:when test="$doctype-public = '' and $doctype-system != ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}"
-                            href="{$filename}"
-                            method="{$method}"
-                            encoding="{$encoding}"
-                            indent="{$indent}"
-                            omit-xml-declaration="{$omit-xml-declaration}"
-                            cdata-section-elements="{$cdata-section-elements}"
-                            doctype-system="{$doctype-system}"
-                            standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> -->
-              <saxon:output saxon:character-representation="{$saxon.character.representation}"
-                            href="{$filename}"
-                            method="{$method}"
-                            encoding="{$encoding}"
-                            indent="{$indent}"
-                            omit-xml-declaration="{$omit-xml-declaration}"
-                            cdata-section-elements="{$cdata-section-elements}"
-                            standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="element-available('redirect:write')">
-      <!-- Xalan uses redirect -->
-      <redirect:write file="{$filename}">
-        <xsl:copy-of select="$content"/>
-      </redirect:write>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <!-- it doesn't matter since we won't be making chunks... -->
-      <xsl:message terminate="yes">
-        <xsl:text>Can't make chunks with </xsl:text>
-        <xsl:value-of select="system-property('xsl:vendor')"/>
-        <xsl:text>'s processor.</xsl:text>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="write.chunk.with.doctype">
-  <xsl:param name="filename" select="''"/>
-  <xsl:param name="quiet" select="$chunker.output.quiet"/>
-
-  <xsl:param name="method" select="$chunker.output.method"/>
-  <xsl:param name="encoding" select="$chunker.output.encoding"/>
-  <xsl:param name="indent" select="$chunker.output.indent"/>
-  <xsl:param name="omit-xml-declaration"
-             select="$chunker.output.omit-xml-declaration"/>
-  <xsl:param name="standalone" select="$chunker.output.standalone"/>
-  <xsl:param name="doctype-public" select="$chunker.output.doctype-public"/>
-  <xsl:param name="doctype-system" select="$chunker.output.doctype-system"/>
-  <xsl:param name="media-type" select="$chunker.output.media-type"/>
-  <xsl:param name="cdata-section-elements"
-             select="$chunker.output.cdata-section-elements"/>
-
-  <xsl:param name="content"/>
-
-  <xsl:call-template name="write.chunk">
-    <xsl:with-param name="filename" select="$filename"/>
-    <xsl:with-param name="quiet" select="$quiet"/>
-    <xsl:with-param name="method" select="$method"/>
-    <xsl:with-param name="encoding" select="$encoding"/>
-    <xsl:with-param name="indent" select="$indent"/>
-    <xsl:with-param name="omit-xml-declaration" select="$omit-xml-declaration"/>
-    <xsl:with-param name="standalone" select="$standalone"/>
-    <xsl:with-param name="doctype-public" select="$doctype-public"/>
-    <xsl:with-param name="doctype-system" select="$doctype-system"/>
-    <xsl:with-param name="media-type" select="$media-type"/>
-    <xsl:with-param name="cdata-section-elements" select="$cdata-section-elements"/>
-    <xsl:with-param name="content" select="$content"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="write.text.chunk">
-  <xsl:param name="filename" select="''"/>
-  <xsl:param name="quiet" select="$chunker.output.quiet"/>
-  <xsl:param name="suppress-context-node-name" select="0"/>
-  <xsl:param name="message-prolog"/>
-  <xsl:param name="message-epilog"/>
-  <xsl:param name="method" select="'text'"/>
-  <xsl:param name="encoding" select="$chunker.output.encoding"/>
-  <xsl:param name="media-type" select="$chunker.output.media-type"/>
-  <xsl:param name="content"/>
-
-  <xsl:call-template name="write.chunk">
-    <xsl:with-param name="filename" select="$filename"/>
-    <xsl:with-param name="quiet" select="$quiet"/>
-    <xsl:with-param name="suppress-context-node-name" select="$suppress-context-node-name"/>
-    <xsl:with-param name="message-prolog" select="$message-prolog"/>
-    <xsl:with-param name="message-epilog" select="$message-epilog"/>
-    <xsl:with-param name="method" select="$method"/>
-    <xsl:with-param name="encoding" select="$encoding"/>
-    <xsl:with-param name="indent" select="'no'"/>
-    <xsl:with-param name="omit-xml-declaration" select="'no'"/>
-    <xsl:with-param name="standalone" select="'no'"/>
-    <xsl:with-param name="doctype-public"/>
-    <xsl:with-param name="doctype-system"/>
-    <xsl:with-param name="media-type" select="$media-type"/>
-    <xsl:with-param name="cdata-section-elements"/>
-    <xsl:with-param name="content" select="$content"/>
-  </xsl:call-template>
-</xsl:template>
-
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/lib/lib.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/lib/lib.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,480 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     This module implements DTD-independent functions
-
-     ******************************************************************** -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<xsl:template name="dot.count">
-  <!-- Returns the number of "." characters in a string -->
-  <xsl:param name="string"/>
-  <xsl:param name="count" select="0"/>
-  <xsl:choose>
-    <xsl:when test="contains($string, '.')">
-      <xsl:call-template name="dot.count">
-        <xsl:with-param name="string" select="substring-after($string, '.')"/>
-        <xsl:with-param name="count" select="$count+1"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$count"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="copy-string">
-  <!-- returns 'count' copies of 'string' -->
-  <xsl:param name="string"/>
-  <xsl:param name="count" select="0"/>
-  <xsl:param name="result"/>
-
-  <xsl:choose>
-    <xsl:when test="$count&gt;0">
-      <xsl:call-template name="copy-string">
-        <xsl:with-param name="string" select="$string"/>
-        <xsl:with-param name="count" select="$count - 1"/>
-        <xsl:with-param name="result">
-          <xsl:value-of select="$result"/>
-          <xsl:value-of select="$string"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$result"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="string.subst">
-  <xsl:param name="string"/>
-  <xsl:param name="target"/>
-  <xsl:param name="replacement"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($string, $target)">
-      <xsl:variable name="rest">
-        <xsl:call-template name="string.subst">
-          <xsl:with-param name="string" select="substring-after($string, $target)"/>
-          <xsl:with-param name="target" select="$target"/>
-          <xsl:with-param name="replacement" select="$replacement"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:value-of select="concat(substring-before($string, $target),                                    $replacement,                                    $rest)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$string"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="xpointer.idref">
-  <xsl:param name="xpointer">http://...</xsl:param>
-  <xsl:choose>
-    <xsl:when test="starts-with($xpointer, '#xpointer(id(')">
-      <xsl:variable name="rest" select="substring-after($xpointer, '#xpointer(id(')"/>
-      <xsl:variable name="quote" select="substring($rest, 1, 1)"/>
-      <xsl:value-of select="substring-before(substring-after($xpointer, $quote), $quote)"/>
-    </xsl:when>
-    <xsl:when test="starts-with($xpointer, '#')">
-      <xsl:value-of select="substring-after($xpointer, '#')"/>
-    </xsl:when>
-    <!-- otherwise it's a pointer to some other document -->
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="length-magnitude">
-  <xsl:param name="length" select="'0pt'"/>
-
-  <xsl:choose>
-    <xsl:when test="string-length($length) = 0"/>
-    <xsl:when test="substring($length,1,1) = '0'                     or substring($length,1,1) = '1'                     or substring($length,1,1) = '2'                     or substring($length,1,1) = '3'                     or substring($length,1,1) = '4'                     or substring($length,1,1) = '5'                     or substring($length,1,1) = '6'                     or substring($length,1,1) = '7'                     or substring($length,1,1) = '8'                     or substring($length,1,1) = '9'                     or substring($length,1,1) = '.'">
-      <xsl:value-of select="substring($length,1,1)"/>
-      <xsl:call-template name="length-magnitude">
-        <xsl:with-param name="length" select="substring($length,2)"/>
-      </xsl:call-template>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="length-units">
-  <xsl:param name="length" select="'0pt'"/>
-  <xsl:param name="default.units" select="'px'"/>
-  <xsl:variable name="magnitude">
-    <xsl:call-template name="length-magnitude">
-      <xsl:with-param name="length" select="$length"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="units">
-    <xsl:value-of select="substring($length, string-length($magnitude)+1)"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$units = ''">
-      <xsl:value-of select="$default.units"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$units"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="length-spec">
-  <xsl:param name="length" select="'0pt'"/>
-  <xsl:param name="default.units" select="'px'"/>
-
-  <xsl:variable name="magnitude">
-    <xsl:call-template name="length-magnitude">
-      <xsl:with-param name="length" select="$length"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="units">
-    <xsl:value-of select="substring($length, string-length($magnitude)+1)"/>
-  </xsl:variable>
-
-  <xsl:value-of select="$magnitude"/>
-  <xsl:choose>
-    <xsl:when test="$units='cm'                     or $units='mm'                     or $units='in'                     or $units='pt'                     or $units='pc'                     or $units='px'                     or $units='em'">
-      <xsl:value-of select="$units"/>
-    </xsl:when>
-    <xsl:when test="$units = ''">
-      <xsl:value-of select="$default.units"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>Unrecognized unit of measure: </xsl:text>
-        <xsl:value-of select="$units"/>
-        <xsl:text>.</xsl:text>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="length-in-points">
-  <xsl:param name="length" select="'0pt'"/>
-  <xsl:param name="em.size" select="10"/>
-  <xsl:param name="pixels.per.inch" select="90"/>
-
-  <xsl:variable name="magnitude">
-    <xsl:call-template name="length-magnitude">
-      <xsl:with-param name="length" select="$length"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="units">
-    <xsl:value-of select="substring($length, string-length($magnitude)+1)"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$units = 'pt'">
-      <xsl:value-of select="$magnitude"/>
-    </xsl:when>
-    <xsl:when test="$units = 'cm'">
-      <xsl:value-of select="$magnitude div 2.54 * 72.0"/>
-    </xsl:when>
-    <xsl:when test="$units = 'mm'">
-      <xsl:value-of select="$magnitude div 25.4 * 72.0"/>
-    </xsl:when>
-    <xsl:when test="$units = 'in'">
-      <xsl:value-of select="$magnitude * 72.0"/>
-    </xsl:when>
-    <xsl:when test="$units = 'pc'">
-      <xsl:value-of select="$magnitude * 12.0"/>
-    </xsl:when>
-    <xsl:when test="$units = 'px'">
-      <xsl:value-of select="$magnitude div $pixels.per.inch * 72.0"/>
-    </xsl:when>
-    <xsl:when test="$units = 'em'">
-      <xsl:value-of select="$magnitude * $em.size"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>Unrecognized unit of measure: </xsl:text>
-        <xsl:value-of select="$units"/>
-        <xsl:text>.</xsl:text>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="pi-attribute">
-  <xsl:param name="pis" select="processing-instruction('BOGUS_PI')"/>
-  <xsl:param name="attribute">filename</xsl:param>
-  <xsl:param name="count">1</xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="$count&gt;count($pis)">
-      <!-- not found -->
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="pi">
-        <xsl:value-of select="$pis[$count]"/>
-      </xsl:variable>
-      <xsl:variable name="pivalue">
-        <xsl:value-of select="concat(' ', normalize-space($pi))"/>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="contains($pivalue,concat(' ', $attribute, '='))">
-          <xsl:variable name="rest" select="substring-after($pivalue,concat(' ', $attribute,'='))"/>
-          <xsl:variable name="quote" select="substring($rest,1,1)"/>
-          <xsl:value-of select="substring-before(substring($rest,2),$quote)"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="pi-attribute">
-            <xsl:with-param name="pis" select="$pis"/>
-            <xsl:with-param name="attribute" select="$attribute"/>
-            <xsl:with-param name="count" select="$count + 1"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="lookup.key">
-  <xsl:param name="key" select="''"/>
-  <xsl:param name="table" select="''"/>
-
-  <xsl:if test="contains($table, ' ')">
-    <xsl:choose>
-      <xsl:when test="substring-before($table, ' ') = $key">
-        <xsl:variable name="rest" select="substring-after($table, ' ')"/>
-        <xsl:choose>
-          <xsl:when test="contains($rest, ' ')">
-            <xsl:value-of select="substring-before($rest, ' ')"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$rest"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="lookup.key">
-          <xsl:with-param name="key" select="$key"/>
-          <xsl:with-param name="table" select="substring-after(substring-after($table,' '), ' ')"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-</xsl:template>
-<xsl:template name="xpath.location">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="path" select="''"/>
-
-  <xsl:variable name="next.path">
-    <xsl:value-of select="local-name($node)"/>
-    <xsl:if test="$path != ''">/</xsl:if>
-    <xsl:value-of select="$path"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$node/parent::*">
-      <xsl:call-template name="xpath.location">
-        <xsl:with-param name="node" select="$node/parent::*"/>
-        <xsl:with-param name="path" select="$next.path"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>/</xsl:text>
-      <xsl:value-of select="$next.path"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="comment-escape-string">
-  <xsl:param name="string" select="''"/>
-
-  <xsl:if test="starts-with($string, '-')">
-    <xsl:text> </xsl:text>
-  </xsl:if>
-
-  <xsl:call-template name="comment-escape-string.recursive">
-    <xsl:with-param name="string" select="$string"/>
-  </xsl:call-template>
-
-  <xsl:if test="substring($string, string-length($string), 1) = '-'">
-    <xsl:text> </xsl:text>
-  </xsl:if>
-</xsl:template>
-<xsl:template name="comment-escape-string.recursive">
-  <xsl:param name="string" select="''"/>
-  <xsl:choose>
-    <xsl:when test="contains($string, '--')">
-      <xsl:value-of select="substring-before($string, '--')"/>
-      <xsl:value-of select="'- -'"/>
-      <xsl:call-template name="comment-escape-string.recursive">
-        <xsl:with-param name="string" select="substring-after($string, '--')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$string"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-  <xsl:template name="str.tokenize.keep.delimiters">
-    <xsl:param name="string" select="''"/>
-    <xsl:param name="delimiters" select="' '"/>
-    <xsl:choose>
-      <xsl:when test="not($string)"/>
-      <xsl:when test="not($delimiters)">
-        <xsl:call-template name="str.tokenize.keep.delimiters-characters">
-          <xsl:with-param name="string" select="$string"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
-          <xsl:with-param name="string" select="$string"/>
-          <xsl:with-param name="delimiters" select="$delimiters"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-  <xsl:template name="str.tokenize.keep.delimiters-characters">
-    <xsl:param name="string"/>
-    <xsl:if test="$string">
-      <ssb:token xmlns:ssb="http://sideshowbarker.net/ns"><xsl:value-of select="substring($string, 1, 1)"/></ssb:token>
-      <xsl:call-template name="str.tokenize.keep.delimiters-characters">
-        <xsl:with-param name="string" select="substring($string, 2)"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:template>
-  <xsl:template name="str.tokenize.keep.delimiters-delimiters">
-    <xsl:param name="string"/>
-    <xsl:param name="delimiters"/>
-    <xsl:variable name="delimiter" select="substring($delimiters, 1, 1)"/>
-    <xsl:choose>
-      <xsl:when test="not($delimiter)">
-        <ssb:token xmlns:ssb="http://sideshowbarker.net/ns"><xsl:value-of select="$string"/></ssb:token>
-      </xsl:when>
-      <xsl:when test="contains($string, $delimiter)">
-        <xsl:if test="not(starts-with($string, $delimiter))">
-          <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
-            <xsl:with-param name="string" select="substring-before($string, $delimiter)"/>
-            <xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
-          </xsl:call-template>
-        </xsl:if>
-        <!-- output each delimiter -->
-        <xsl:value-of select="$delimiter"/>
-        <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
-          <xsl:with-param name="string" select="substring-after($string, $delimiter)"/>
-          <xsl:with-param name="delimiters" select="$delimiters"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
-          <xsl:with-param name="string" select="$string"/>
-          <xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-    <xsl:template name="apply-string-subst-map">
-      <xsl:param name="content"/>
-      <xsl:param name="map.contents"/>
-      <xsl:variable name="replaced_text">
-        <xsl:call-template name="string.subst">
-          <xsl:with-param name="string" select="$content"/>
-          <xsl:with-param name="target" select="$map.contents[1]/@oldstring"/>
-          <xsl:with-param name="replacement" select="$map.contents[1]/@newstring"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="$map.contents[2]">
-          <xsl:call-template name="apply-string-subst-map">
-            <xsl:with-param name="content" select="$replaced_text"/>
-            <xsl:with-param name="map.contents" select="$map.contents[position() &gt; 1]"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$replaced_text"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-  
-<xsl:template name="count.uri.path.depth">
-  <xsl:param name="filename" select="''"/>
-  <xsl:param name="count" select="0"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($filename, '/')">
-      <xsl:call-template name="count.uri.path.depth">
-        <xsl:with-param name="filename" select="substring-after($filename, '/')"/>
-        <xsl:with-param name="count" select="$count + 1"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$count"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-<xsl:template name="trim.common.uri.paths">
-  <xsl:param name="uriA" select="''"/>
-  <xsl:param name="uriB" select="''"/>
-  <xsl:param name="return" select="'A'"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($uriA, '/') and contains($uriB, '/')                     and substring-before($uriA, '/') = substring-before($uriB, '/')">
-      <xsl:call-template name="trim.common.uri.paths">
-        <xsl:with-param name="uriA" select="substring-after($uriA, '/')"/>
-        <xsl:with-param name="uriB" select="substring-after($uriB, '/')"/>
-        <xsl:with-param name="return" select="$return"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$return = 'A'">
-          <xsl:value-of select="$uriA"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$uriB"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-  <xsl:template name="trim.text">
-    <xsl:param name="contents" select="."/>
-    <xsl:variable name="contents-left-trimmed">
-      <xsl:call-template name="trim-left">
-        <xsl:with-param name="contents" select="$contents"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:variable name="contents-trimmed">
-      <xsl:call-template name="trim-right">
-        <xsl:with-param name="contents" select="$contents-left-trimmed"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:value-of select="$contents-trimmed"/>
-  </xsl:template>
-
-  <xsl:template name="trim-left">
-    <xsl:param name="contents"/>
-    <xsl:choose>
-      <xsl:when test="starts-with($contents,'&#10;') or                       starts-with($contents,'&#13;') or                       starts-with($contents,' ') or                       starts-with($contents,'&#9;')">
-        <xsl:call-template name="trim-left">
-          <xsl:with-param name="contents" select="substring($contents, 2)"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$contents"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <xsl:template name="trim-right">
-    <xsl:param name="contents"/>
-    <xsl:variable name="last-char">
-      <xsl:value-of select="substring($contents, string-length($contents), 1)"/>
-    </xsl:variable>
-    <xsl:choose>
-      <xsl:when test="($last-char = '&#10;') or                       ($last-char = '&#13;') or                       ($last-char = ' ') or                       ($last-char = '&#9;')">
-        <xsl:call-template name="trim-right">
-          <xsl:with-param name="contents" select="substring($contents, 1, string-length($contents) - 1)"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$contents"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/profiling/profile-mode.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/profiling/profile-mode.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,239 +1,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:saxon="http://icl.com/saxon"
-                exclude-result-prefixes="saxon"
-                version="1.0">
-
-<!-- Should be base URI for imagedata and so on fixed? -->
-<xsl:param name="profile.baseuri.fixup" select="true()"/>
-
-<!-- Copy all non-element nodes -->
-<xsl:template match="@*|text()|comment()|processing-instruction()" mode="profile">
-  <xsl:copy/>
-</xsl:template>
-
-<!-- Profile elements based on input parameters -->
-<xsl:template match="*" mode="profile">
-
-  <xsl:variable name="arch.content">
-    <xsl:if test="@arch">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.arch"/>
-        <xsl:with-param name="b" select="@arch"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="arch.ok" select="not(@arch) or not($profile.arch) or
-                                       $arch.content != '' or @arch = ''"/>
-
-  <xsl:variable name="audience.content">
-    <xsl:if test="@audience">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.audience"/>
-        <xsl:with-param name="b" select="@audience"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="audience.ok" 
-                        select="not(@audience) or not($profile.audience) or
-                                $audience.content != '' or @audience = ''"/>
-
-  <xsl:variable name="condition.content">
-    <xsl:if test="@condition">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.condition"/>
-        <xsl:with-param name="b" select="@condition"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="condition.ok" select="not(@condition) or not($profile.condition) or
-                                            $condition.content != '' or @condition = ''"/>
-
-  <xsl:variable name="conformance.content">
-    <xsl:if test="@conformance">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.conformance"/>
-        <xsl:with-param name="b" select="@conformance"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="conformance.ok" select="not(@conformance) or not($profile.conformance) or
-                                              $conformance.content != '' or @conformance = ''"/>
-
-  <xsl:variable name="lang.content">
-    <xsl:if test="@lang | @xml:lang">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.lang"/>
-        <xsl:with-param name="b" select="(@lang | @xml:lang)[1]"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="lang.ok" select="not(@lang | @xml:lang) or not($profile.lang) or
-                                       $lang.content != '' or @lang = '' or @xml:lang = ''"/>
-
-  <xsl:variable name="os.content">
-    <xsl:if test="@os">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.os"/>
-        <xsl:with-param name="b" select="@os"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="os.ok" select="not(@os) or not($profile.os) or
-                                     $os.content != '' or @os = ''"/>
-
-  <xsl:variable name="revision.content">
-    <xsl:if test="@revision">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.revision"/>
-        <xsl:with-param name="b" select="@revision"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="revision.ok" select="not(@revision) or not($profile.revision) or
-                                           $revision.content != '' or @revision = ''"/>
-
-  <xsl:variable name="revisionflag.content">
-    <xsl:if test="@revisionflag">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.revisionflag"/>
-        <xsl:with-param name="b" select="@revisionflag"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="revisionflag.ok" select="not(@revisionflag) or not($profile.revisionflag) or
-                                               $revisionflag.content != '' or @revisionflag = ''"/>
-
-  <xsl:variable name="role.content">
-    <xsl:if test="@role">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.role"/>
-        <xsl:with-param name="b" select="@role"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="role.ok" select="not(@role) or not($profile.role) or
-                                       $role.content != '' or @role = ''"/>
-
-  <xsl:variable name="security.content">
-    <xsl:if test="@security">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.security"/>
-        <xsl:with-param name="b" select="@security"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="security.ok" select="not(@security) or not($profile.security) or
-                                           $security.content != '' or @security = ''"/>
-
-  <xsl:variable name="status.content">
-    <xsl:if test="@status">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.status"/>
-        <xsl:with-param name="b" select="@status"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="status.ok" select="not(@status) or not($profile.status) or
-                                           $status.content != '' or @status = ''"/>
-
-  <xsl:variable name="userlevel.content">
-    <xsl:if test="@userlevel">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.userlevel"/>
-        <xsl:with-param name="b" select="@userlevel"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="userlevel.ok" select="not(@userlevel) or not($profile.userlevel) or
-                                            $userlevel.content != '' or @userlevel = ''"/>
-
-  <xsl:variable name="vendor.content">
-    <xsl:if test="@vendor">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.vendor"/>
-        <xsl:with-param name="b" select="@vendor"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="vendor.ok" select="not(@vendor) or not($profile.vendor) or
-                                         $vendor.content != '' or @vendor = ''"/>
-
-  <xsl:variable name="wordsize.content">
-    <xsl:if test="@wordsize">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.wordsize"/>
-        <xsl:with-param name="b" select="@wordsize"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="wordsize.ok" 
-                        select="not(@wordsize) or not($profile.wordsize) or
-                                $wordsize.content != '' or @wordsize = ''"/>
-
-  <xsl:variable name="attribute.content">
-    <xsl:if test="@*[local-name()=$profile.attribute]">
-      <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$profile.value"/>
-        <xsl:with-param name="b" select="@*[local-name()=$profile.attribute]"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="attribute.ok" 
-                select="not(@*[local-name()=$profile.attribute]) or 
-                        not($profile.value) or $attribute.content != '' or 
-                        @*[local-name()=$profile.attribute] = '' or 
-                        not($profile.attribute)"/>
-
-  <xsl:if test="$arch.ok and 
-                $audience.ok and 
-                $condition.ok and 
-                $conformance.ok and 
-                $lang.ok and 
-                $os.ok and 
-                $revision.ok and 
-                $revisionflag.ok and 
-                $role.ok and 
-                $security.ok and 
-                $status.ok and 
-                $userlevel.ok and 
-                $vendor.ok and 
-                $wordsize.ok and 
-                $attribute.ok">
-    <xsl:copy>
-      <xsl:copy-of select="@*"/>
-
-      <!-- Entity references must be replaced with filereferences for temporary tree -->
-      <xsl:if test="@entityref and $profile.baseuri.fixup">
-        <xsl:attribute name="fileref">
-          <xsl:value-of select="unparsed-entity-uri(@entityref)"/>
-        </xsl:attribute>
-      </xsl:if>
-
-      <!-- xml:base is eventually added to the root element -->
-      <xsl:if test="not(../..) and $profile.baseuri.fixup">
-        <xsl:call-template name="add-xml-base"/>
-      </xsl:if>
-
-      <xsl:apply-templates select="node()" mode="profile"/>
-    </xsl:copy>
-  </xsl:if>
-</xsl:template>
-
-<!-- Returns non-empty string if list in $b contains one ore more values from list $a -->
-<xsl:template name="cross.compare">
-  <xsl:param name="a"/>
-  <xsl:param name="b"/>
-  <xsl:param name="sep" select="$profile.separator"/>
-  <xsl:variable name="head" select="substring-before(concat($a, $sep), $sep)"/>
-  <xsl:variable name="tail" select="substring-after($a, $sep)"/>
-  <xsl:if test="contains(concat($sep, $b, $sep), concat($sep, $head, $sep))">1</xsl:if>
-  <xsl:if test="$tail">
-    <xsl:call-template name="cross.compare">
-      <xsl:with-param name="a" select="$tail"/>
-      <xsl:with-param name="b" select="$b"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/profiling/profile.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/profiling/profile.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,49 +1,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-
-<!-- Include common profiling stylesheet -->
-<xsl:import href="profile-mode.xsl"/>
-
-<!-- This file must be included, because profile-mode is using templates from it -->
-<xsl:import href="../common/stripns.xsl"/>
-
-<!-- In the two pass processing there is no need for base URI fixup -->
-<xsl:param name="profile.baseuri.fixup" select="false()"/>
-
-<!-- If you need to validate profiled content against DTD, 
-     create customization that will import this stylesheet and
-     will use xsl:output (see example bellow) to output reference 
-     to the desired DTD version. --> 
-<!-- Generate DocBook instance with correct DOCTYPE -->
-<!--
-<xsl:output method="xml" 
-            doctype-public="-//OASIS//DTD DocBook XML V4.5//EN"
-            doctype-system="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"/>
--->
-
-<!-- Profiling parameters -->
-<xsl:param name="profile.arch" select="''"/>
-<xsl:param name="profile.audience" select="''"/>
-<xsl:param name="profile.condition" select="''"/>
-<xsl:param name="profile.conformance" select="''"/>
-<xsl:param name="profile.lang" select="''"/>
-<xsl:param name="profile.os" select="''"/>
-<xsl:param name="profile.revision" select="''"/>
-<xsl:param name="profile.revisionflag" select="''"/>
-<xsl:param name="profile.role" select="''"/>
-<xsl:param name="profile.security" select="''"/>
-<xsl:param name="profile.status" select="''"/>
-<xsl:param name="profile.userlevel" select="''"/>
-<xsl:param name="profile.vendor" select="''"/>
-<xsl:param name="profile.wordsize" select="''"/>
-<xsl:param name="profile.attribute" select="''"/>
-<xsl:param name="profile.value" select="''"/>
-<xsl:param name="profile.separator" select="';'"/>
-
-<!-- Call common profiling mode -->
-<xsl:template match="/">
-  <xsl:apply-templates select="." mode="profile"/>
-</xsl:template>
-
-</xsl:stylesheet>
-
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/profiling/strip-attributes.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/profiling/strip-attributes.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,27 +1,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-
-<xsl:output method="xml"/>
-
-<xsl:param name="attributes" select="''"/>
-
-<xsl:variable name="strip-attributes"
-              select="concat(' ', normalize-space($attributes), ' ')"/>
-
-<xsl:template match="@*|text()|comment()|processing-instruction()">
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="*">
-  <xsl:copy>
-    <xsl:for-each select="@*">
-      <xsl:if test="not(contains($strip-attributes, concat(' ',name(.),' ')))">
-        <xsl:copy-of select="."/>
-      </xsl:if>
-    </xsl:for-each>
-    <xsl:apply-templates select="node()"/>
-  </xsl:copy>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/profiling/xsl2profile.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/profiling/xsl2profile.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,159 +1,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:xslo="http://www.w3.org/1999/XSL/TransformAlias"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                exclude-result-prefixes="fo"
-                version="1.0">
-
-<xsl:include href="../lib/lib.xsl"/>
-
-<xsl:output method="xml" encoding="US-ASCII"/>
-
-<xsl:namespace-alias stylesheet-prefix="xslo" result-prefix="xsl"/>
-
-<xsl:preserve-space elements="*"/>
-
-<xsl:template match="/">
-  <xsl:comment>This file was created automatically by xsl2profile</xsl:comment>
-  <xsl:comment>from the DocBook XSL stylesheets.</xsl:comment>
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- Make sure we override some templates and parameters appropriately for XHTML -->
-<xsl:template match="xsl:stylesheet">
-  <xsl:copy>
-    <xsl:attribute name="exslt:dummy" xmlns:exslt="http://exslt.org/common">dummy</xsl:attribute>
-    <xsl:attribute name="ng:dummy" xmlns:ng="http://docbook.org/docbook-ng">dummy</xsl:attribute>
-    <xsl:attribute name="db:dummy" xmlns:db="http://docbook.org/ns/docbook">dummy</xsl:attribute>
-    <xsl:if test="not(@extension-element-prefixes)">
-      <xsl:attribute name="extension-element-prefixes">exslt</xsl:attribute>
-    </xsl:if>
-    <xsl:if test="not(@exclude-result-prefixes)">
-      <xsl:attribute name="exclude-result-prefixes">exslt</xsl:attribute>
-    </xsl:if>
-    <xsl:for-each select="@*">
-      <xsl:choose>
-        <xsl:when test="local-name(.) = 'extension-element-prefixes' or
-                        local-name(.) = 'exclude-result-prefixes'">
-          <xsl:attribute name="{local-name(.)}"><xsl:value-of select="concat(., ' exslt')"/></xsl:attribute>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:attribute name="{local-name(.)}"><xsl:value-of select="."/></xsl:attribute>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:for-each>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="*">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="comment()|processing-instruction()|text()">
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="xsl:template[@match='/']">
-  <xslo:include href="../profiling/profile-mode.xsl"/>
-  <xslo:variable name="profiled-content">
-    <xslo:choose>
-      <xslo:when test="*/self::ng:* or */self::db:*">
-        <xslo:message>Note: namesp. cut : stripped namespace before processing</xslo:message>
-        <xslo:variable name="stripped-content">
-          <xslo:apply-templates select="/" mode="stripNS"/>
-        </xslo:variable>
-        <xslo:message>Note: namesp. cut : processing stripped document</xslo:message>
-        <xslo:apply-templates select="exslt:node-set($stripped-content)" mode="profile"/>
-      </xslo:when>
-      <xslo:otherwise>
-        <xslo:apply-templates select="/" mode="profile"/>
-      </xslo:otherwise>
-    </xslo:choose>
-  </xslo:variable>
-  <xslo:variable name="profiled-nodes" select="exslt:node-set($profiled-content)"/>
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="correct"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="xsl:template[@name='hhc-main' or @name='hhp-main' or @name='etoc'] | xsl:variable[@name='raw.help.title']">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="correct"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="*[starts-with(@select, '/')]" mode="correct">
-  <xsl:copy>
-    <xsl:for-each select="@*">
-      <xsl:choose>
-        <xsl:when test="local-name(.) = 'select' and string(.) =  '/'">
-          <xsl:attribute name="{local-name(.)}">$profiled-nodes</xsl:attribute>
-        </xsl:when>
-        <xsl:when test="local-name(.) = 'select' and starts-with(., '/')">
-          <xsl:attribute name="{local-name(.)}">$profiled-nodes<xsl:value-of select="."/></xsl:attribute>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:attribute name="{local-name(.)}"><xsl:value-of select="."/></xsl:attribute>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:for-each>
-    <xsl:apply-templates mode="correct"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match='*[contains(@*, "key(&apos;id&apos;,$rootid)")]' mode="correct" priority="2">
-  <xsl:copy>
-    <xsl:for-each select="@*">
-      <xsl:choose>
-        <xsl:when test='contains(., "key(&apos;id&apos;,$rootid)")'>
-          <xsl:attribute name="{local-name(.)}">
-            <xsl:call-template name="string.subst">
-              <xsl:with-param name="string" select="."/>
-              <xsl:with-param name="target">key('id',$rootid)</xsl:with-param>
-              <xsl:with-param name="replacement">$profiled-nodes//*[@id=$rootid]</xsl:with-param>
-            </xsl:call-template>
-          </xsl:attribute>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:attribute name="{local-name(.)}"><xsl:value-of select="."/></xsl:attribute>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:for-each>
-    <xsl:apply-templates mode="correct"/>
-  </xsl:copy>
-</xsl:template>
-
-<!-- FO stylesheet has apply-templates without select, we must detect it by context -->
-<xsl:template match="fo:root//xsl:apply-templates" mode="correct">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:attribute name="select">$profiled-nodes/node()</xsl:attribute>
-    <xsl:apply-templates mode="correct"/>
-  </xsl:copy>
-</xsl:template>
-
-<!-- DB5 namespace stripping is already done  -->
-<xsl:template match="xsl:when[contains(@test, 'self::db')]" mode="correct">
-  <xsl:copy>
-    <xsl:attribute name="test">false()</xsl:attribute>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="*" mode="correct">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="correct"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="comment()|processing-instruction()|text()" mode="correct">
-  <xsl:copy/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/admon.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/admon.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,133 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template match="*" mode="admon.graphic.width">
-  <xsl:param name="node" select="."/>
-  <xsl:text>25</xsl:text>
-</xsl:template>
-
-<xsl:template match="note|important|warning|caution|tip">
-  <xsl:choose>
-    <xsl:when test="$admon.graphics != 0">
-      <xsl:call-template name="graphical.admonition"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="nongraphical.admonition"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="admon.graphic">
-  <xsl:param name="node" select="."/>
-  <xsl:value-of select="$admon.graphics.path"/>
-  <xsl:choose>
-    <xsl:when test="local-name($node)='note'">note</xsl:when>
-    <xsl:when test="local-name($node)='warning'">warning</xsl:when>
-    <xsl:when test="local-name($node)='caution'">caution</xsl:when>
-    <xsl:when test="local-name($node)='tip'">tip</xsl:when>
-    <xsl:when test="local-name($node)='important'">important</xsl:when>
-    <xsl:otherwise>note</xsl:otherwise>
-  </xsl:choose>
-  <xsl:value-of select="$admon.graphics.extension"/>
-</xsl:template>
-
-<xsl:template name="graphical.admonition">
-  <xsl:variable name="admon.type">
-    <xsl:choose>
-      <xsl:when test="local-name(.)='note'">Note</xsl:when>
-      <xsl:when test="local-name(.)='warning'">Warning</xsl:when>
-      <xsl:when test="local-name(.)='caution'">Caution</xsl:when>
-      <xsl:when test="local-name(.)='tip'">Tip</xsl:when>
-      <xsl:when test="local-name(.)='important'">Important</xsl:when>
-      <xsl:otherwise>Note</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="alt">
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="$admon.type"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="$admon.style != ''">
-      <xsl:attribute name="style">
-        <xsl:value-of select="$admon.style"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <table border="0">
-      <xsl:attribute name="summary">
-        <xsl:value-of select="$admon.type"/>
-        <xsl:if test="title|info/title">
-          <xsl:text>: </xsl:text>
-          <xsl:value-of select="(title|info/title)[1]"/>
-        </xsl:if>
-      </xsl:attribute>
-      <tr>
-        <td rowspan="2" align="center" valign="top">
-          <xsl:attribute name="width">
-            <xsl:apply-templates select="." mode="admon.graphic.width"/>
-          </xsl:attribute>
-          <img alt="[{$alt}]">
-            <xsl:attribute name="src">
-              <xsl:call-template name="admon.graphic"/>
-            </xsl:attribute>
-          </img>
-        </td>
-        <th align="left">
-          <xsl:call-template name="anchor"/>
-          <xsl:if test="$admon.textlabel != 0 or title or info/title">
-            <xsl:apply-templates select="." mode="object.title.markup"/>
-          </xsl:if>
-        </th>
-      </tr>
-      <tr>
-        <td align="left" valign="top">
-          <xsl:apply-templates/>
-        </td>
-      </tr>
-    </table>
-  </div>
-</xsl:template>
-
-<xsl:template name="nongraphical.admonition">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="$admon.style">
-      <xsl:attribute name="style">
-        <xsl:value-of select="$admon.style"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="$admon.textlabel != 0 or title or info/title">
-      <h3 class="title">
-        <xsl:call-template name="anchor"/>
-        <xsl:apply-templates select="." mode="object.title.markup"/>
-      </h3>
-    </xsl:if>
-
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="note/title"/>
-<xsl:template match="important/title"/>
-<xsl:template match="warning/title"/>
-<xsl:template match="caution/title"/>
-<xsl:template match="tip/title"/>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/annotations.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/annotations.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,158 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<xsl:template name="add.annotation.links">
-  <xsl:param name="scripts" select="normalize-space($annotation.js)"/>
-  <xsl:choose>
-    <xsl:when test="contains($scripts, ' ')">
-      <script type="text/javascript" src="{substring-before($scripts, ' ')}"/>
-      <xsl:call-template name="add.annotation.links">
-        <xsl:with-param name="scripts" select="substring-after($scripts, ' ')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <script type="text/javascript" src="{$scripts}"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="annotation"/>
-
-<xsl:template name="apply-annotations">
-  <xsl:if test="$annotation.support != 0">
-  <!-- do any annotations apply to the context node? -->
-  <xsl:variable name="id" select="(@id|@xml:id)[1]"/>
-
-  <xsl:variable name="aids">
-    <xsl:for-each select="//annotation">
-      <xsl:if test="@annotates=$id                     or starts-with(@annotates, concat($id, ' '))                     or contains(@annotates, concat(' ', $id, ' '))                     or substring(@annotates, string-length(@annotates)-3)                        = concat(' ', $id)">
-        <xsl:value-of select="generate-id()"/>
-        <xsl:text> </xsl:text>
-      </xsl:if>
-    </xsl:for-each>
-    <xsl:if test="normalize-space(@annotations) != ''">
-      <xsl:call-template name="annotations-pointed-to">
-        <xsl:with-param name="annotations" select="normalize-space(@annotations)"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:if test="$aids != ''">
-    <xsl:call-template name="apply-annotations-by-gid">
-      <xsl:with-param name="gids" select="normalize-space($aids)"/>
-    </xsl:call-template>
-  </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="annotations-pointed-to">
-  <xsl:param name="annotations"/>
-  <xsl:choose>
-    <xsl:when test="contains($annotations, ' ')">
-      <xsl:variable name="a" select="key('id', substring-before($annotations, ' '))"/>
-      <xsl:if test="$a">
-        <xsl:value-of select="generate-id($a)"/>
-        <xsl:text> </xsl:text>
-      </xsl:if>
-      <xsl:call-template name="annotations-pointed-to">
-        <xsl:with-param name="annotations" select="substring-after($annotations, ' ')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="a" select="key('id', $annotations)"/>
-      <xsl:if test="$a">
-        <xsl:value-of select="generate-id($a)"/>
-        <xsl:text> </xsl:text>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="apply-annotations-by-gid">
-  <xsl:param name="gids"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($gids, ' ')">
-      <xsl:variable name="gid" select="substring-before($gids, ' ')"/>
-      <xsl:apply-templates select="key('gid', $gid)" mode="annotation-inline"/>
-      <xsl:call-template name="apply-annotations-by-gid">
-        <xsl:with-param name="gids" select="substring-after($gids, ' ')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="key('gid', $gids)" mode="annotation-inline"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="annotation" mode="annotation-inline">
-  <xsl:variable name="title">
-    <xsl:choose>
-      <xsl:when test="title">
-        <xsl:value-of select="title"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:text>[Annotation #</xsl:text>
-        <xsl:number count="annotation" level="any" format="1"/>
-        <xsl:text>]</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <a id="anch-{generate-id(.)}" href="#annot-{generate-id(.)}" title="{$title}">
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:attribute name="onClick">
-      <xsl:text>popup_</xsl:text>
-      <xsl:value-of select="generate-id(.)"/>
-      <xsl:text>.showPopup('anch-</xsl:text>
-      <xsl:value-of select="generate-id(.)"/>
-      <xsl:text>'); return false;</xsl:text>
-    </xsl:attribute>
-    <img src="{$annotation.graphic.open}" border="0" alt="{$title}"/>
-  </a>
-</xsl:template>
-
-<xsl:template match="annotation" mode="annotation-popup">
-  <div class="annotation-nocss">
-    <p>
-      <a id="annot-{generate-id(.)}"/>
-      <xsl:text>Annotation #</xsl:text>
-      <xsl:number count="annotation" level="any" format="1"/>
-      <xsl:text>:</xsl:text>
-    </p>
-  </div>
-
-  <div id="popup-{generate-id(.)}" class="annotation-popup">
-    <xsl:if test="string-length(.) &gt; 300">
-      <xsl:attribute name="style">width:400px</xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="annotation-title"/>
-    <div class="annotation-body">
-      <xsl:apply-templates select="*[local-name(.) != 'title']"/>
-    </div>
-    <div class="annotation-close">
-      <a href="#" onclick="popup_{generate-id(.)}.hidePopup();return false;">
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <img src="{$annotation.graphic.close}" alt="X" border="0"/>
-      </a>
-    </div>
-  </div>
-</xsl:template>
-
-<xsl:template name="annotation-title">
-  <div class="annotation-title">
-    <xsl:choose>
-      <xsl:when test="title">
-        <xsl:apply-templates select="title/node()"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:text>Annotation</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </div>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/autoidx-kimber.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/autoidx-kimber.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,139 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:k="http://www.isogen.com/functions/com.isogen.saxoni18n.Saxoni18nService" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="k" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<!-- The "kimber" method contributed by Eliot Kimber of Innodata Isogen.  -->
-<!-- ==================================================================== -->
-<!--   *** THIS MODULE ONLY WORKS WITH SAXON 6 OR SAXON 8 ***             -->
-<!-- ==================================================================== -->
-
-
-<xsl:include href="../common/autoidx-kimber.xsl"/>
-
-<!-- Java sort apparently works only on lang part, not country -->
-<xsl:param name="sort.lang">
-  <xsl:choose>
-    <xsl:when test="contains(concat(/*/@lang, /*/@xml:lang), '-')">
-      <xsl:value-of select="substring-before(concat(/*/@lang, /*/@xml:lang), '-')"/>
-    </xsl:when>
-    <xsl:when test="contains(concat(/*/@lang, /*/@xml:lang), '_')">
-      <xsl:value-of select="substring-before(concat(/*/@lang, /*/@xml:lang), '_')"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="concat(/*/@lang, /*/@xml:lang)"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-
-<xsl:template name="generate-kimber-index">
-  <xsl:param name="scope" select="NOTANODE"/>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:if test="not(contains($vendor, 'SAXON '))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text>
-      <xsl:text>Saxon version 6 or 8 XSLT processor.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="not(function-available('k:getIndexGroupKey'))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text>
-      <xsl:text>Innodata Isogen 
-Java extensions for </xsl:text>
-      <xsl:text>internationalized indexes. 
-Install those </xsl:text>
-      <xsl:text>extensions, or use a different index method.
-</xsl:text>
-      <xsl:text>For more information, see:
-</xsl:text>
-      <xsl:text>http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="role">
-    <xsl:if test="$index.on.role != 0">
-      <xsl:value-of select="@role"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="type">
-    <xsl:if test="$index.on.type != 0">
-      <xsl:value-of select="@type"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="terms" select="//indexterm[count(.|key('k-group', k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;]))))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1 and not(@class = 'endofrange')]"/>
-
-  <xsl:variable name="alphabetical" select="$terms[not(starts-with(                 k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;]))),                 '#NUMERIC'                 ))]"/>
-
-  <xsl:variable name="others" select="$terms[starts-with(                 k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;]))),                 '#NUMERIC'                 )]"/>
-
-  <div class="index">
-    <xsl:if test="$others">
-      <div class="indexdev">
-        <h3>
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'index symbols'"/>
-          </xsl:call-template>
-        </h3>
-        <dl>
-          <xsl:apply-templates select="$others" mode="index-symbol-div">
-            <xsl:with-param name="scope" select="$scope"/>
-            <xsl:with-param name="role" select="$role"/>
-            <xsl:with-param name="type" select="$type"/>
-            <xsl:sort lang="{$sort.lang}" select="k:getIndexGroupSortKey(concat(/*/@lang, /*/@xml:lang),                         k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;]))))"/>
-          </xsl:apply-templates>
-        </dl>
-      </div>
-    </xsl:if>
-
-    <xsl:apply-templates select="$alphabetical" mode="index-div-kimber">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort lang="{$sort.lang}" select="k:getIndexGroupSortKey(concat(/*/@lang, /*/@xml:lang),                      k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;]))))"/>
-    </xsl:apply-templates>
-  </div>
-
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-div-kimber">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key" select="k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))"/>
-
-  <xsl:variable name="label" select="k:getIndexGroupLabel(concat(/*/@lang, /*/@xml:lang), $key)"/>
-
-  <xsl:if test="key('k-group', $label)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][count(.|key('primary', normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]">
-    <div class="indexdiv">
-      <h3>
-        <xsl:value-of select="$label"/>
-      </h3>
-      <dl>
-        <xsl:apply-templates select="key('k-group', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]                             [count(.|key('primary', normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]                             [1])=1]" mode="index-primary">
-          <xsl:sort select="normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;]))" lang="{$sort.lang}"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-        </xsl:apply-templates>
-      </dl>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/autoidx-kosek.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/autoidx-kosek.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,109 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:i="urn:cz-kosek:functions:index" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:func="http://exslt.org/functions" xmlns:k="http://www.isogen.com/functions/com.isogen.saxoni18n.Saxoni18nService" xmlns:exslt="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" extension-element-prefixes="func exslt" exclude-result-prefixes="func exslt i l k" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<!-- The "kosek" method contributed by Jirka Kosek. -->
-
-<xsl:include href="../common/autoidx-kosek.xsl"/>
-
-<xsl:template name="generate-kosek-index">
-  <xsl:param name="scope" select="(ancestor::book|/)[last()]"/>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:if test="contains($vendor, 'libxslt')">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method does not </xsl:text>
-      <xsl:text>work with the xsltproc XSLT processor.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="contains($vendor, 'Saxonica')">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method does not </xsl:text>
-      <xsl:text>work with the Saxon 8 XSLT processor.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="not(function-available('exslt:node-set') or                     function-available('exslt:nodeSet'))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method requires the </xsl:text>
-      <xsl:text>exslt:node-set() function. Use a processor that </xsl:text>
-      <xsl:text>has it, or use a different index method.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="not(function-available('i:group-index'))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method requires the
-</xsl:text>
-      <xsl:text>index extension functions be imported:
-</xsl:text>
-      <xsl:text>  xsl:import href="common/autoidx-kosek.xsl"</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="role">
-    <xsl:if test="$index.on.role != 0">
-      <xsl:value-of select="@role"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="type">
-    <xsl:if test="$index.on.type != 0">
-      <xsl:value-of select="@type"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="terms" select="//indexterm[count(.|key('group-code', i:group-index(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;]))))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1 and not(@class = 'endofrange')]"/>
-
-  <div class="index">
-    <xsl:apply-templates select="$terms" mode="index-div-kosek">
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="i:group-index(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))" data-type="number"/>
-    </xsl:apply-templates>
-  </div>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-div-kosek">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key" select="i:group-index(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))"/>
-
-  <xsl:variable name="lang">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:variable>
-
-  <xsl:if test="key('group-code', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][count(.|key('primary', normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]">
-    <div class="indexdiv">
-      <h3>
-        <xsl:value-of select="i:group-letter($key)"/>
-      </h3>
-      <dl>
-        <xsl:apply-templates select="key('group-code', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][count(.|key('primary', normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])=1]" mode="index-primary">
-          <xsl:sort select="normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;]))" lang="{$lang}"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-        </xsl:apply-templates>
-      </dl>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/autoidx-ng.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/autoidx-ng.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,21 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the DocBook XSL Stylesheet distribution.
-     See ../README or http://docbook.sf.net/ for copyright
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- You should have this directly in your customization file. -->
-<!-- This file is there only to retain backward compatibility. -->
-<xsl:import href="autoidx-kosek.xsl"/>
-<xsl:param name="index.method">kosek</xsl:param>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/autoidx.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/autoidx.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,588 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" extension-element-prefixes="exslt" exclude-result-prefixes="exslt" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<!-- The "basic" method derived from Jeni Tennison's work. -->
-<!-- The "kosek" method contributed by Jirka Kosek. -->
-<!-- The "kimber" method contributed by Eliot Kimber of Innodata Isogen. -->
-
-<xsl:variable name="kimber.imported" select="0"/>
-<xsl:variable name="kosek.imported" select="0"/>
-
-<xsl:key name="letter" match="indexterm" use="translate(substring(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 1, 1),'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-
-<xsl:key name="primary" match="indexterm" use="normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;]))"/>
-
-<xsl:key name="secondary" match="indexterm" use="concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])))"/>
-
-<xsl:key name="tertiary" match="indexterm" use="concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = &quot;&quot;])))"/>
-
-<xsl:key name="endofrange" match="indexterm[@class='endofrange']" use="@startref"/>
-
-<xsl:key name="primary-section" match="indexterm[not(secondary) and not(see)]" use="concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()]))"/>
-
-<xsl:key name="secondary-section" match="indexterm[not(tertiary) and not(see)]" use="concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()]))"/>
-
-<xsl:key name="tertiary-section" match="indexterm[not(see)]" use="concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()]))"/>
-
-<xsl:key name="see-also" match="indexterm[seealso]" use="concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, seealso)"/>
-
-<xsl:key name="see" match="indexterm[see]" use="concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, see)"/>
-
-<xsl:key name="sections" match="*[@id or @xml:id]" use="@id|@xml:id"/>
-
-
-<xsl:template name="generate-index">
-  <xsl:param name="scope" select="(ancestor::book|/)[last()]"/>
-
-  <xsl:choose>
-    <xsl:when test="$index.method = 'kosek'">
-      <xsl:call-template name="generate-kosek-index">
-        <xsl:with-param name="scope" select="$scope"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$index.method = 'kimber'">
-      <xsl:call-template name="generate-kimber-index">
-        <xsl:with-param name="scope" select="$scope"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:call-template name="generate-basic-index">
-        <xsl:with-param name="scope" select="$scope"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-      
-<xsl:template name="generate-basic-index">
-  <xsl:param name="scope" select="NOTANODE"/>
-
-  <xsl:variable name="role">
-    <xsl:if test="$index.on.role != 0">
-      <xsl:value-of select="@role"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="type">
-    <xsl:if test="$index.on.type != 0">
-      <xsl:value-of select="@type"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="terms" select="//indexterm                         [count(.|key('letter',                           translate(substring(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 1, 1),                              'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;',                              'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))                           [count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1                           and not(@class = 'endofrange')]"/>
-
-  <xsl:variable name="alphabetical" select="$terms[contains(concat('Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'),                                         substring(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 1, 1))]"/>
-
-  <xsl:variable name="others" select="$terms[not(contains(concat('Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;',                                                  'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'),                                              substring(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 1, 1)))]"/>
-  <div class="index">
-    <xsl:if test="$others">
-      <div class="indexdiv">
-        <h3>
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'index symbols'"/>
-          </xsl:call-template>
-        </h3>
-        <dl>
-          <xsl:apply-templates select="$others[count(.|key('primary',                                        normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]" mode="index-symbol-div">
-            <xsl:with-param name="position" select="position()"/>                                
-            <xsl:with-param name="scope" select="$scope"/>
-            <xsl:with-param name="role" select="$role"/>
-            <xsl:with-param name="type" select="$type"/>
-            <xsl:sort select="translate(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-          </xsl:apply-templates>
-        </dl>
-      </div>
-    </xsl:if>
-
-    <xsl:apply-templates select="$alphabetical[count(.|key('letter',                                  translate(substring(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 1, 1),                                            'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]" mode="index-div-basic">
-      <xsl:with-param name="position" select="position()"/>
-      <xsl:with-param name="scope" select="$scope"/>
-      <xsl:with-param name="role" select="$role"/>
-      <xsl:with-param name="type" select="$type"/>
-      <xsl:sort select="translate(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-    </xsl:apply-templates>
-  </div>
-</xsl:template>
-
-<!-- This template not used if html/autoidx-kosek.xsl is imported -->
-<xsl:template name="generate-kosek-index">
-  <xsl:param name="scope" select="NOTANODE"/>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:if test="contains($vendor, 'libxslt')">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method does not </xsl:text>
-      <xsl:text>work with the xsltproc XSLT processor.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-
-  <xsl:if test="not(function-available('exslt:node-set') or                     function-available('exslt:nodeSet'))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method requires the </xsl:text>
-      <xsl:text>exslt:node-set() function. Use a processor that </xsl:text>
-      <xsl:text>has it, or use a different index method.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="$kosek.imported = 0">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kosek' index method requires the
-</xsl:text>
-      <xsl:text>kosek index extensions be imported:
-</xsl:text>
-      <xsl:text>  xsl:import href="html/autoidx-kosek.xsl"</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-</xsl:template>
-
-<!-- This template not used if html/autoidx-kimber.xsl is imported -->
-<xsl:template name="generate-kimber-index">
-  <xsl:param name="scope" select="NOTANODE"/>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-  <xsl:if test="not(contains($vendor, 'SAXON '))">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text>
-      <xsl:text>Saxon version 6 or 8 XSLT processor.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="$kimber.imported = 0">
-    <xsl:message terminate="yes">
-      <xsl:text>ERROR: the 'kimber' index method requires the
-</xsl:text>
-      <xsl:text>kimber index extensions be imported:
-</xsl:text>
-      <xsl:text>  xsl:import href="html/autoidx-kimber.xsl"</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-div-basic">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key" select="translate(substring(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 1, 1),                          'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-
-  <xsl:if test="key('letter', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]                 [count(.|key('primary', normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]">
-    <div class="indexdiv">
-      <xsl:if test="contains(concat('Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'), $key)">
-        <h3>
-          <xsl:value-of select="translate($key, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-        </h3>
-      </xsl:if>
-      <dl>
-        <xsl:apply-templates select="key('letter', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]                                      [count(.|key('primary', normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))                                      [count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])=1]" mode="index-primary">
-          <xsl:with-param name="position" select="position()"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:sort select="translate(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-        </xsl:apply-templates>
-      </dl>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-symbol-div">
-  <xsl:param name="scope" select="/"/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key" select="translate(substring(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 1, 1),                                              'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-
-  <xsl:apply-templates select="key('letter', $key)                                [count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][count(.|key('primary', normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])))[1]) = 1]" mode="index-primary">
-    <xsl:with-param name="position" select="position()"/>
-    <xsl:with-param name="scope" select="$scope"/>
-    <xsl:with-param name="role" select="$role"/>
-    <xsl:with-param name="type" select="$type"/>
-    <xsl:sort select="translate(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-primary">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key" select="normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;]))"/>
-  <xsl:variable name="refs" select="key('primary', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]"/>
-  <dt>
-    <xsl:value-of select="primary"/>
-    <xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section', concat($key, &quot; &quot;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]">
-      <xsl:apply-templates select="." mode="reference">
-        <xsl:with-param name="position" select="position()"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-      </xsl:apply-templates>
-    </xsl:for-each>
-
-    <xsl:if test="$refs[not(secondary)]/*[self::see]">
-      <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, &quot; &quot;, &quot; &quot;, see))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]" mode="index-see">
-        <xsl:with-param name="position" select="position()"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-        <xsl:sort select="translate(see, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-      </xsl:apply-templates>
-    </xsl:if>
-  </dt>
-  <xsl:if test="$refs/secondary or $refs[not(secondary)]/*[self::seealso]">
-    <dd>
-      <dl>
-        <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, &quot; &quot;, &quot; &quot;, seealso))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]" mode="index-seealso">
-          <xsl:with-param name="position" select="position()"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:sort select="translate(seealso, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-        </xsl:apply-templates>
-        <xsl:apply-templates select="$refs[secondary and count(.|key('secondary', concat($key, &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;]))))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]" mode="index-secondary">
-          <xsl:with-param name="position" select="position()"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:sort select="translate(normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-        </xsl:apply-templates>
-      </dl>
-    </dd>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-secondary">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key" select="concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])))"/>
-  <xsl:variable name="refs" select="key('secondary', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]"/>
-  <dt>
-    <xsl:value-of select="secondary"/>
-    <xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section', concat($key, &quot; &quot;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]">
-      <xsl:apply-templates select="." mode="reference">
-        <xsl:with-param name="position" select="position()"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-      </xsl:apply-templates>
-    </xsl:for-each>
-
-    <xsl:if test="$refs[not(tertiary)]/*[self::see]">
-      <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, &quot; &quot;, see))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]" mode="index-see">
-        <xsl:with-param name="position" select="position()"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-        <xsl:sort select="translate(see, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-      </xsl:apply-templates>
-    </xsl:if>
-  </dt>
-  <xsl:if test="$refs/tertiary or $refs[not(tertiary)]/*[self::seealso]">
-    <dd>
-      <dl>
-        <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, &quot; &quot;, seealso))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]" mode="index-seealso">
-          <xsl:with-param name="position" select="position()"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:sort select="translate(seealso, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-        </xsl:apply-templates>
-        <xsl:apply-templates select="$refs[tertiary and count(.|key('tertiary', concat($key, &quot; &quot;, normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = &quot;&quot;]))))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]" mode="index-tertiary">
-          <xsl:with-param name="position" select="position()"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:sort select="translate(normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = &quot;&quot;])), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-        </xsl:apply-templates>
-      </dl>
-    </dd>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-tertiary">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:variable name="key" select="concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = &quot;&quot;])))"/>
-  <xsl:variable name="refs" select="key('tertiary', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]"/>
-  <dt>
-    <xsl:value-of select="tertiary"/>
-    <xsl:for-each select="$refs[generate-id() = generate-id(key('tertiary-section', concat($key, &quot; &quot;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]">
-      <xsl:apply-templates select="." mode="reference">
-        <xsl:with-param name="position" select="position()"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-      </xsl:apply-templates>
-    </xsl:for-each>
-
-    <xsl:if test="$refs/see">
-      <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, see))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]" mode="index-see">
-        <xsl:with-param name="position" select="position()"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-        <xsl:sort select="translate(see, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-      </xsl:apply-templates>
-    </xsl:if>
-  </dt>
-  <xsl:if test="$refs/seealso">
-    <dd>
-      <dl>
-        <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas) or @sortas = &quot;&quot;])), &quot; &quot;, seealso))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]" mode="index-seealso">
-          <xsl:with-param name="position" select="position()"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:sort select="translate(seealso, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-        </xsl:apply-templates>
-      </dl>
-    </dd>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="reference">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:param name="position"/>
-  
-  <xsl:variable name="term.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.term.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="number.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.number.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="range.separator">
-    <xsl:call-template name="index.separator">
-      <xsl:with-param name="key" select="'index.range.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$position = 1">
-      <xsl:value-of select="$term.separator"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$number.separator"/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="@zone and string(@zone)">
-      <xsl:call-template name="reference">
-        <xsl:with-param name="zones" select="normalize-space(@zone)"/>
-        <xsl:with-param name="position" select="position()"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <a>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:variable name="title">
-          <xsl:choose>
-            <xsl:when test="(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()]/titleabbrev and $index.prefer.titleabbrev != 0">
-              <xsl:apply-templates select="(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()]" mode="titleabbrev.markup"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()]" mode="title.markup"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:variable>
-
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()]"/>
-            <xsl:with-param name="context" select="//index[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]"/>
-          </xsl:call-template>
-        </xsl:attribute>
-
-        <xsl:value-of select="$title"/> <!-- text only -->
-      </a>
-
-      <xsl:variable name="id" select="(@id|@xml:id)[1]"/>
-      <xsl:if test="key('endofrange', $id)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]">
-        <xsl:apply-templates select="key('endofrange', $id)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][last()]" mode="reference">
-          <xsl:with-param name="position" select="position()"/>
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:with-param name="role" select="$role"/>
-          <xsl:with-param name="type" select="$type"/>
-          <xsl:with-param name="separator" select="$range.separator"/>
-        </xsl:apply-templates>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="reference">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-  <xsl:param name="zones"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($zones, ' ')">
-      <xsl:variable name="zone" select="substring-before($zones, ' ')"/>
-      <xsl:variable name="target" select="key('sections', $zone)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]"/>
-
-      <a>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$target[1]"/>
-            <xsl:with-param name="context" select="//index[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:apply-templates select="$target[1]" mode="index-title-content"/>
-      </a>
-      <xsl:text>, </xsl:text>
-      <xsl:call-template name="reference">
-        <xsl:with-param name="zones" select="substring-after($zones, ' ')"/>
-        <xsl:with-param name="position" select="position()"/>
-        <xsl:with-param name="scope" select="$scope"/>
-        <xsl:with-param name="role" select="$role"/>
-        <xsl:with-param name="type" select="$type"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="zone" select="$zones"/>
-      <xsl:variable name="target" select="key('sections', $zone)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]"/>
-
-      <a>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$target[1]"/>
-            <xsl:with-param name="context" select="//index[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:apply-templates select="$target[1]" mode="index-title-content"/>
-      </a>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-see">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:text> (</xsl:text>
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'see'"/>
-  </xsl:call-template>
-  <xsl:text> </xsl:text>
-  <xsl:value-of select="see"/>
-  <xsl:text>)</xsl:text>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="index-seealso">
-  <xsl:param name="scope" select="."/>
-  <xsl:param name="role" select="''"/>
-  <xsl:param name="type" select="''"/>
-
-  <xsl:for-each select="seealso">
-    <xsl:sort select="translate(., 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')"/>
-    <dt>
-    <xsl:text>(</xsl:text>
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'seealso'"/>
-    </xsl:call-template>
-    <xsl:text> </xsl:text>
-    <xsl:value-of select="."/>
-    <xsl:text>)</xsl:text>
-    </dt>
-  </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="*" mode="index-title-content">
-  <xsl:variable name="title">
-    <xsl:apply-templates select="(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage)[last()]" mode="title.markup"/>
-  </xsl:variable>
-
-  <xsl:value-of select="$title"/>
-</xsl:template>
-
-<xsl:template name="index.separator">
-  <xsl:param name="key" select="''"/>
-  <xsl:param name="lang">
-    <xsl:call-template name="l10n.language"/>
-  </xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="$key = 'index.term.separator'">
-      <xsl:choose>
-        <!-- Use the override if not blank -->
-        <xsl:when test="$index.term.separator != ''">
-          <xsl:copy-of select="$index.term.separator"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="lang" select="$lang"/>
-            <xsl:with-param name="context">index</xsl:with-param>
-            <xsl:with-param name="name">term-separator</xsl:with-param>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="$key = 'index.number.separator'">
-      <xsl:choose>
-        <!-- Use the override if not blank -->
-        <xsl:when test="$index.number.separator != ''">
-          <xsl:copy-of select="$index.number.separator"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="lang" select="$lang"/>
-            <xsl:with-param name="context">index</xsl:with-param>
-            <xsl:with-param name="name">number-separator</xsl:with-param>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="$key = 'index.range.separator'">
-      <xsl:choose>
-        <!-- Use the override if not blank -->
-        <xsl:when test="$index.range.separator != ''">
-          <xsl:copy-of select="$index.range.separator"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="lang" select="$lang"/>
-            <xsl:with-param name="context">index</xsl:with-param>
-            <xsl:with-param name="name">range-separator</xsl:with-param>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/autotoc.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/autotoc.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,632 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:variable name="toc.listitem.type">
-  <xsl:choose>
-    <xsl:when test="$toc.list.type = 'dl'">dt</xsl:when>
-    <xsl:otherwise>li</xsl:otherwise>
-  </xsl:choose>
-</xsl:variable>
-
-<!-- this is just hack because dl and ul aren't completely isomorphic -->
-<xsl:variable name="toc.dd.type">
-  <xsl:choose>
-    <xsl:when test="$toc.list.type = 'dl'">dd</xsl:when>
-    <xsl:otherwise/>
-  </xsl:choose>
-</xsl:variable>
-
-<xsl:template name="make.toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="toc.title.p" select="true()"/>
-  <xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
-
-  <xsl:variable name="nodes.plus" select="$nodes | qandaset"/>
-
-  <xsl:variable name="toc.title">
-    <xsl:if test="$toc.title.p">
-      <p>
-        <b>
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key">TableofContents</xsl:with-param>
-          </xsl:call-template>
-        </b>
-      </p>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$manual.toc != ''">
-      <xsl:variable name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:variable>
-      <xsl:variable name="toc" select="document($manual.toc, .)"/>
-      <xsl:variable name="tocentry" select="$toc//tocentry[@linkend=$id]"/>
-      <xsl:if test="$tocentry and $tocentry/*">
-        <div class="toc">
-          <xsl:copy-of select="$toc.title"/>
-          <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
-            <xsl:call-template name="manual-toc">
-              <xsl:with-param name="tocentry" select="$tocentry/*[1]"/>
-            </xsl:call-template>
-          </xsl:element>
-        </div>
-      </xsl:if>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$qanda.in.toc != 0">
-          <xsl:if test="$nodes.plus">
-            <div class="toc">
-              <xsl:copy-of select="$toc.title"/>
-              <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
-                <xsl:apply-templates select="$nodes.plus" mode="toc">
-                  <xsl:with-param name="toc-context" select="$toc-context"/>
-                </xsl:apply-templates>
-              </xsl:element>
-            </div>
-          </xsl:if>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:if test="$nodes">
-            <div class="toc">
-              <xsl:copy-of select="$toc.title"/>
-              <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
-                <xsl:apply-templates select="$nodes" mode="toc">
-                  <xsl:with-param name="toc-context" select="$toc-context"/>
-                </xsl:apply-templates>
-              </xsl:element>
-            </div>
-          </xsl:if>
-        </xsl:otherwise>
-      </xsl:choose>
-
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="make.lots">
-  <xsl:param name="toc.params" select="''"/>
-  <xsl:param name="toc"/>
-
-  <xsl:if test="contains($toc.params, 'toc')">
-    <xsl:copy-of select="$toc"/>
-  </xsl:if>
-
-  <xsl:if test="contains($toc.params, 'figure')">
-    <xsl:call-template name="list.of.titles">
-      <xsl:with-param name="titles" select="'figure'"/>
-      <xsl:with-param name="nodes" select=".//figure"/>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="contains($toc.params, 'table')">
-    <xsl:call-template name="list.of.titles">
-      <xsl:with-param name="titles" select="'table'"/>
-      <xsl:with-param name="nodes" select=".//table"/>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="contains($toc.params, 'example')">
-    <xsl:call-template name="list.of.titles">
-      <xsl:with-param name="titles" select="'example'"/>
-      <xsl:with-param name="nodes" select=".//example"/>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="contains($toc.params, 'equation')">
-    <xsl:call-template name="list.of.titles">
-      <xsl:with-param name="titles" select="'equation'"/>
-      <xsl:with-param name="nodes" select=".//equation[title or info/title]"/>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="contains($toc.params, 'procedure')">
-    <xsl:call-template name="list.of.titles">
-      <xsl:with-param name="titles" select="'procedure'"/>
-      <xsl:with-param name="nodes" select=".//procedure[title]"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template name="set.toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="toc.title.p" select="true()"/>
-
-  <xsl:call-template name="make.toc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="toc.title.p" select="$toc.title.p"/>
-    <xsl:with-param name="nodes" select="book|setindex"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="division.toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="toc.title.p" select="true()"/>
-
-  <xsl:call-template name="make.toc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="toc.title.p" select="$toc.title.p"/>
-    <xsl:with-param name="nodes" select="part|reference                                          |preface|chapter|appendix                                          |article                                          |bibliography|glossary|index                                          |refentry                                          |bridgehead[$bridgehead.in.toc != 0]"/>
-
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="component.toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="toc.title.p" select="true()"/>
-
-  <xsl:call-template name="make.toc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="toc.title.p" select="$toc.title.p"/>
-    <xsl:with-param name="nodes" select="section|sect1                                          |simplesect[$simplesect.in.toc != 0]                                          |refentry                                          |article|bibliography|glossary                                          |appendix|index                                          |bridgehead[not(@renderas)                                                      and $bridgehead.in.toc != 0]                                          |.//bridgehead[@renderas='sect1'                                                         and $bridgehead.in.toc != 0]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="component.toc.separator">
-  <!-- Customize to output something between
-       component.toc and first output -->
-</xsl:template>
-
-<xsl:template name="section.toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="toc.title.p" select="true()"/>
-
-  <xsl:call-template name="make.toc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="toc.title.p" select="$toc.title.p"/>
-    <xsl:with-param name="nodes" select="section|sect1|sect2|sect3|sect4|sect5|refentry                            |bridgehead[$bridgehead.in.toc != 0]"/>
-
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="section.toc.separator">
-  <!-- Customize to output something between
-       section.toc and first output -->
-</xsl:template>
-<!-- ==================================================================== -->
-
-<xsl:template name="subtoc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="nodes" select="NOT-AN-ELEMENT"/>
-
-  <xsl:variable name="nodes.plus" select="$nodes | qandaset"/>
-
-  <xsl:variable name="subtoc">
-    <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
-      <xsl:choose>
-        <xsl:when test="$qanda.in.toc != 0">
-          <xsl:apply-templates mode="toc" select="$nodes.plus">
-            <xsl:with-param name="toc-context" select="$toc-context"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates mode="toc" select="$nodes">
-            <xsl:with-param name="toc-context" select="$toc-context"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:element>
-  </xsl:variable>
-
-  <xsl:variable name="depth">
-    <xsl:choose>
-      <xsl:when test="local-name(.) = 'section'">
-        <xsl:value-of select="count(ancestor::section) + 1"/>
-      </xsl:when>
-      <xsl:when test="local-name(.) = 'sect1'">1</xsl:when>
-      <xsl:when test="local-name(.) = 'sect2'">2</xsl:when>
-      <xsl:when test="local-name(.) = 'sect3'">3</xsl:when>
-      <xsl:when test="local-name(.) = 'sect4'">4</xsl:when>
-      <xsl:when test="local-name(.) = 'sect5'">5</xsl:when>
-      <xsl:when test="local-name(.) = 'refsect1'">1</xsl:when>
-      <xsl:when test="local-name(.) = 'refsect2'">2</xsl:when>
-      <xsl:when test="local-name(.) = 'refsect3'">3</xsl:when>
-      <xsl:when test="local-name(.) = 'simplesect'">
-        <!-- sigh... -->
-        <xsl:choose>
-          <xsl:when test="local-name(..) = 'section'">
-            <xsl:value-of select="count(ancestor::section)"/>
-          </xsl:when>
-          <xsl:when test="local-name(..) = 'sect1'">2</xsl:when>
-          <xsl:when test="local-name(..) = 'sect2'">3</xsl:when>
-          <xsl:when test="local-name(..) = 'sect3'">4</xsl:when>
-          <xsl:when test="local-name(..) = 'sect4'">5</xsl:when>
-          <xsl:when test="local-name(..) = 'sect5'">6</xsl:when>
-          <xsl:when test="local-name(..) = 'refsect1'">2</xsl:when>
-          <xsl:when test="local-name(..) = 'refsect2'">3</xsl:when>
-          <xsl:when test="local-name(..) = 'refsect3'">4</xsl:when>
-          <xsl:otherwise>1</xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>0</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-
-  <xsl:variable name="subtoc.list">
-    <xsl:choose>
-      <xsl:when test="$toc.dd.type = ''">
-        <xsl:copy-of select="$subtoc"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:element name="{$toc.dd.type}" namespace="http://www.w3.org/1999/xhtml">
-          <xsl:copy-of select="$subtoc"/>
-        </xsl:element>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:element name="{$toc.listitem.type}" namespace="http://www.w3.org/1999/xhtml">
-    <xsl:call-template name="toc.line">
-      <xsl:with-param name="toc-context" select="$toc-context"/>
-    </xsl:call-template>
-    <xsl:if test="$toc.listitem.type = 'li'                   and $toc.section.depth &gt; $depth and                    ( ($qanda.in.toc = 0 and count($nodes)&gt;0) or                     ($qanda.in.toc != 0 and count($nodes.plus)&gt;0) )                   and $toc.max.depth &gt; $depth.from.context">
-      <xsl:copy-of select="$subtoc.list"/>
-    </xsl:if>
-  </xsl:element>
-  <xsl:if test="$toc.listitem.type != 'li'                 and $toc.section.depth &gt; $depth and                  ( ($qanda.in.toc = 0 and count($nodes)&gt;0) or                   ($qanda.in.toc != 0 and count($nodes.plus)&gt;0) )                 and $toc.max.depth &gt; $depth.from.context">
-    <xsl:copy-of select="$subtoc.list"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="toc.line">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="depth" select="1"/>
-  <xsl:param name="depth.from.context" select="8"/>
-
- <span>
-  <xsl:attribute name="class"><xsl:value-of select="local-name(.)"/></xsl:attribute>
-
-  <!-- * if $autotoc.label.in.hyperlink is zero, then output the label -->
-  <!-- * before the hyperlinked title (as the DSSSL stylesheet does) -->
-  <xsl:if test="$autotoc.label.in.hyperlink = 0">
-    <xsl:variable name="label">
-      <xsl:apply-templates select="." mode="label.markup"/>
-    </xsl:variable>
-    <xsl:copy-of select="$label"/>
-    <xsl:if test="$label != ''">
-      <xsl:value-of select="$autotoc.label.separator"/>
-    </xsl:if>
-  </xsl:if>
-
-  <a>
-    <xsl:attribute name="href">
-      <xsl:call-template name="href.target">
-        <xsl:with-param name="context" select="$toc-context"/>
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    
-  <!-- * if $autotoc.label.in.hyperlink is non-zero, then output the label -->
-  <!-- * as part of the hyperlinked title -->
-  <xsl:if test="not($autotoc.label.in.hyperlink = 0)">
-    <xsl:variable name="label">
-      <xsl:apply-templates select="." mode="label.markup"/>
-    </xsl:variable>
-    <xsl:copy-of select="$label"/>
-    <xsl:if test="$label != ''">
-      <xsl:value-of select="$autotoc.label.separator"/>
-    </xsl:if>
-  </xsl:if>
-
-    <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-  </a>
-  </span>
-</xsl:template>
-
-<xsl:template match="book" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="nodes" select="part|reference                                          |preface|chapter|appendix                                          |article                                          |bibliography|glossary|index                                          |refentry                                          |bridgehead[$bridgehead.in.toc != 0]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="setindex" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <!-- If the setindex tag is not empty, it should be it in the TOC -->
-  <xsl:if test="* or $generate.index != 0">
-    <xsl:call-template name="subtoc">
-      <xsl:with-param name="toc-context" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="part|reference" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="nodes" select="appendix|chapter|article                                          |index|glossary|bibliography                                          |preface|reference|refentry                                          |bridgehead[$bridgehead.in.toc != 0]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="preface|chapter|appendix|article" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="nodes" select="section|sect1                                          |simplesect[$simplesect.in.toc != 0]                                          |refentry                                          |glossary|bibliography|index                                          |bridgehead[$bridgehead.in.toc != 0]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="sect1" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="nodes" select="sect2                                          |bridgehead[$bridgehead.in.toc != 0]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="sect2" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="nodes" select="sect3                                          |bridgehead[$bridgehead.in.toc != 0]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="sect3" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="nodes" select="sect4                                          |bridgehead[$bridgehead.in.toc != 0]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="sect4" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="nodes" select="sect5                                          |bridgehead[$bridgehead.in.toc != 0]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="sect5" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="simplesect" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="section" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="nodes" select="section                                          |bridgehead[$bridgehead.in.toc != 0]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="bridgehead" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:if test="$bridgehead.in.toc != 0">
-    <xsl:call-template name="subtoc">
-      <xsl:with-param name="toc-context" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="bibliography|glossary" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="index" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <!-- If the index tag is not empty, it should be it in the TOC -->
-  <xsl:if test="* or $generate.index != 0">
-    <xsl:call-template name="subtoc">
-      <xsl:with-param name="toc-context" select="$toc-context"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refentry" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:variable name="refmeta" select=".//refmeta"/>
-  <xsl:variable name="refentrytitle" select="$refmeta//refentrytitle"/>
-  <xsl:variable name="refnamediv" select=".//refnamediv"/>
-  <xsl:variable name="refname" select="$refnamediv//refname"/>
-  <xsl:variable name="refdesc" select="$refnamediv//refdescriptor"/>
-  <xsl:variable name="title">
-    <xsl:choose>
-      <xsl:when test="$refentrytitle">
-        <xsl:apply-templates select="$refentrytitle[1]" mode="titleabbrev.markup"/>
-      </xsl:when>
-      <xsl:when test="$refdesc">
-        <xsl:apply-templates select="$refdesc" mode="titleabbrev.markup"/>
-      </xsl:when>
-      <xsl:when test="$refname">
-        <xsl:apply-templates select="$refname[1]" mode="titleabbrev.markup"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:element name="{$toc.listitem.type}" namespace="http://www.w3.org/1999/xhtml">
-    <span class="refentrytitle">
-      <a>
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="toc-context" select="$toc-context"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:copy-of select="$title"/>
-      </a>
-    </span>
-    <span class="refpurpose">
-      <xsl:if test="$annotate.toc != 0">
-        <!-- * DocBook 5 says inlinemediaobject (among other things) -->
-        <!-- * is allowed in refpurpose; so we need to run -->
-        <!-- * apply-templates on refpurpose here, instead of value-of  -->
-        <xsl:apply-templates select="refnamediv/refpurpose"/>
-      </xsl:if>
-    </span>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="title" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <a>
-    <xsl:attribute name="href">
-      <xsl:call-template name="href.target">
-        <xsl:with-param name="object" select=".."/>
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:apply-templates/>
-  </a>
-</xsl:template>
-
-<xsl:template name="manual-toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="tocentry"/>
-
-  <!-- be careful, we don't want to change the current document to the other tree! -->
-
-  <xsl:if test="$tocentry">
-    <xsl:variable name="node" select="key('id', $tocentry/@linkend)"/>
-
-    <xsl:element name="{$toc.listitem.type}" namespace="http://www.w3.org/1999/xhtml">
-      <xsl:variable name="label">
-        <xsl:apply-templates select="$node" mode="label.markup"/>
-      </xsl:variable>
-      <xsl:copy-of select="$label"/>
-      <xsl:if test="$label != ''">
-        <xsl:value-of select="$autotoc.label.separator"/>
-      </xsl:if>
-      <a>
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$node"/>
-            <xsl:with-param name="toc-context" select="$toc-context"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:apply-templates select="$node" mode="titleabbrev.markup"/>
-      </a>
-    </xsl:element>
-
-    <xsl:if test="$tocentry/*">
-      <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
-        <xsl:call-template name="manual-toc">
-          <xsl:with-param name="tocentry" select="$tocentry/*[1]"/>
-        </xsl:call-template>
-      </xsl:element>
-    </xsl:if>
-
-    <xsl:if test="$tocentry/following-sibling::*">
-      <xsl:call-template name="manual-toc">
-        <xsl:with-param name="tocentry" select="$tocentry/following-sibling::*[1]"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="list.of.titles">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:param name="titles" select="'table'"/>
-  <xsl:param name="nodes" select=".//table"/>
-
-  <xsl:if test="$nodes">
-    <div class="list-of-{$titles}s">
-      <p>
-        <b>
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key">
-              <xsl:choose>
-                <xsl:when test="$titles='table'">ListofTables</xsl:when>
-                <xsl:when test="$titles='figure'">ListofFigures</xsl:when>
-                <xsl:when test="$titles='equation'">ListofEquations</xsl:when>
-                <xsl:when test="$titles='example'">ListofExamples</xsl:when>
-                <xsl:when test="$titles='procedure'">ListofProcedures</xsl:when>
-                <xsl:otherwise>ListofUnknown</xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-          </xsl:call-template>
-        </b>
-      </p>
-
-      <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
-        <xsl:apply-templates select="$nodes" mode="toc">
-          <xsl:with-param name="toc-context" select="$toc-context"/>
-        </xsl:apply-templates>
-      </xsl:element>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="figure|table|example|equation|procedure" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:element name="{$toc.listitem.type}" namespace="http://www.w3.org/1999/xhtml">
-    <xsl:variable name="label">
-      <xsl:apply-templates select="." mode="label.markup"/>
-    </xsl:variable>
-    <xsl:copy-of select="$label"/>
-    <xsl:if test="$label != ''">
-      <xsl:value-of select="$autotoc.label.separator"/>
-    </xsl:if>
-    <a>
-      <xsl:attribute name="href">
-        <xsl:call-template name="href.target">
-          <xsl:with-param name="toc-context" select="$toc-context"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-    </a>
-  </xsl:element>
-</xsl:template>
-
-<!-- Used only if qanda.in.toc parameter is non-zero -->
-<xsl:template match="qandaset" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-    <xsl:with-param name="nodes" select="qandadiv | qandaentry"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="qandadiv|qandaentry" mode="toc">
-  <xsl:apply-templates select="." mode="qandatoc.mode"/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/biblio-iso690.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/biblio-iso690.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1300 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     The original code for processing bibliography in ISO690 style
-     was provided by Jana Dvorakova <jana4u@seznam.cz>
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- if biblioentry.alt.primary.seps is set to nonzero value then use alternative separators for primary responsibility - $alt.person.two.sep, $alt.person.last.sep, $alt.person.more.sep  -->
-<xsl:param name="biblioentry.alt.primary.seps" select="0"/>
-
-<!-- how many authors will be printed if there is more than three authors - set to number 1 (default value), 2 or 3 -->
-<xsl:param name="biblioentry.primary.count" select="1"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="iso690.makecitation">
-<!-- Types of resources -->
-  <xsl:choose>
-
-    <!-- SYSTEMS OF ELECTRONIC COMMUNICATION : ENTIRE MESSAGE SYSTEM -->
-    <!-- same as Monographs -->
-    <xsl:when test="./@role='messagesystem'">
-      <xsl:call-template name="iso690.monogr"/>
-    </xsl:when>
-
-    <!-- SYSTEMS OF ELECTRONIC COMMUNICATION : ELECTRONIC MESSAGES -->
-    <!-- same as Contributions to Monographs -->
-    <xsl:when test="./@role='message'">
-      <xsl:call-template name="iso690.paper.mon"/>
-    </xsl:when>
-
-    <!-- SERIALS -->
-    <xsl:when test="./@role='serial' or ./biblioid/@class='issn' or ./issn">
-      <xsl:call-template name="iso690.serial"/>
-    </xsl:when>
-
-    <!-- PARTS OF MONOGRAPHS -->
-    <xsl:when test="./@role='part' or (./bibliomisc[@role='secnum']|./bibliomisc[@role='sectitle'])">
-      <xsl:call-template name="iso690.monogr.part"/>
-    </xsl:when>
-
-    <!-- CONTRIBUTIONS TO MONOGRAPHS -->
-    <xsl:when test="./@role='contribution' or (./biblioset/@relation='part' and ./biblioset/@relation='book')">
-      <xsl:call-template name="iso690.paper.mon"/>
-    </xsl:when>
-
-    <!-- ARTICLES, ETC., IN SERIALS -->
-    <xsl:when test="./@role='article' or (./biblioset/@relation='journal' and ./biblioset/@relation='article')">
-      <xsl:call-template name="iso690.article"/>
-    </xsl:when>
-
-    <!-- PATENT DOCUMENTS -->
-    <xsl:when test="./@role='patent' or (./bibliomisc[@role='patenttype'] and ./bibliomisc[@role='patentnum'])">
-      <xsl:call-template name="iso690.patent"/>
-    </xsl:when>
-
-    <!-- MONOGRAPHS -->
-    <xsl:otherwise>
-      <xsl:call-template name="iso690.monogr"/>
-    </xsl:otherwise>
-
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- MONOGRAPHS -->
-<xsl:template name="iso690.monogr">
-  <!-- Primary responsibility -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title and Type of medium -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Subordinate responsibility -->
-  <xsl:call-template name="iso690.secondary"/>
-  <!-- Edition -->
-  <xsl:call-template name="iso690.edition"/>
-  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->
-  <xsl:call-template name="iso690.pub"/>
-  <!-- Extent -->
-  <xsl:call-template name="iso690.extent"/>
-  <!-- Series -->
-  <xsl:call-template name="iso690.serie"/>
-  <!-- Notes -->
-  <xsl:call-template name="iso690.notice"/>
-  <!-- Avaibility and access -->
-  <xsl:call-template name="iso690.access"/>
-  <!-- Standard number -->
-  <xsl:call-template name="iso690.isbn"/>
-</xsl:template>
-
-<!-- SERIALS -->
-<xsl:template name="iso690.serial">
-  <!-- Title and Type of medium -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Responsibility [nonEL] -->
-  <xsl:if test="not(./bibliomisc[@role='medium'])">
-    <xsl:call-template name="iso690.secondary"/>
-  </xsl:if>
-  <!-- Edition -->
-  <xsl:call-template name="iso690.edition">
-    <xsl:with-param name="after" select="./bibliomisc[@role='issuing']"/>
-  </xsl:call-template>
-  <!-- Issue designation (date and/or num) [nonEL] -->
-  <xsl:if test="not(./bibliomisc[@role='medium'])">
-    <xsl:call-template name="iso690.issuing"/>
-  </xsl:if>
-  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->
-  <xsl:call-template name="iso690.pub"/>
-  <!-- Series -->
-  <xsl:call-template name="iso690.serie"/>
-  <!-- Notes -->
-  <xsl:call-template name="iso690.notice"/>
-  <!-- Avaibility and access -->
-  <xsl:call-template name="iso690.access"/>
-  <!-- Standard number -->
-  <xsl:call-template name="iso690.issn"/>
-</xsl:template>
-
-<!-- PARTS OF MONOGRAPHS -->
-<xsl:template name="iso690.monogr.part">
-  <!-- Primary responsibility of host document -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title and Type of medium of host document -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Subordinate responsibility of host document [EL] -->
-  <xsl:if test="./bibliomisc[@role='medium']">
-    <xsl:call-template name="iso690.secondary"/>
-  </xsl:if>
-  <!-- Edition -->
-  <xsl:call-template name="iso690.edition">
-    <xsl:with-param name="after" select="./volumenum"/>
-  </xsl:call-template>
-  <!-- Numeration of the part [nonEL]-->
-  <xsl:if test="not(./bibliomisc[@role='medium'])">
-    <xsl:call-template name="iso690.partnr"/>
-  <!-- Subordinate responsibility [nonEL] -->
-    <xsl:call-template name="iso690.secondary"/>
-  </xsl:if>
-  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->
-  <xsl:call-template name="iso690.pub"/>
-  <!-- Location within host -->
-  <xsl:call-template name="iso690.part.location"/>
-  <xsl:if test="./bibliomisc[@role='medium']">
-  <!-- Numeration within host document [EL] -->
-  <!-- Notes [EL] -->
-    <xsl:call-template name="iso690.notice"/>
-  <!-- Avaibility and access [EL] -->
-    <xsl:call-template name="iso690.access"/>
-  <!-- Standard number [EL] -->
-    <xsl:call-template name="iso690.isbn"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- CONTRIBUTIONS TO MONOGRAPHS -->
-<xsl:template name="iso690.paper.mon">
-<!-- Contribution -->
-  <xsl:apply-templates mode="iso690.paper.part" select="./biblioset[@relation='part']"/>
-<!-- In -->
-  <xsl:text>In </xsl:text>
-<!-- Host -->
-  <xsl:apply-templates mode="iso690.paper.book" select="./biblioset[@relation='book']"/>
-</xsl:template>
-
-<xsl:template match="biblioset" mode="iso690.paper.part">
-<!-- Contribution -->
-  <!-- Primary responsibility -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title -->
-  <xsl:call-template name="iso690.title">
-    <xsl:with-param name="italic" select="0"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="biblioset" mode="iso690.paper.book">
-<!-- Host -->
-  <!-- Primary responsibility -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title and Type of medium -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Subordinate responsibility [EL] -->
-  <xsl:if test="./bibliomisc[@role='medium']">
-    <xsl:call-template name="iso690.secondary"/>
-  </xsl:if>
-  <!-- Edition -->
-  <xsl:call-template name="iso690.edition"/>
-  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->
-  <xsl:call-template name="iso690.paper.pub"/>
-  <!-- Numeration within host document [EL] -->
-  <!-- Location within host -->
-  <xsl:call-template name="iso690.location"/>
-  <xsl:if test="./bibliomisc[@role='medium']">
-  <!-- Notes [EL] -->
-    <xsl:call-template name="iso690.notice"/>
-  <!-- Avaibility and access [EL] -->
-    <xsl:call-template name="iso690.access"/>
-  <!-- Standard number [EL] -->
-    <xsl:call-template name="iso690.isbn"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- ARTICLES, ETC., IN SERIALS -->
-<xsl:template name="iso690.article">
-<!-- Article -->
-  <xsl:apply-templates mode="iso690.article.art" select="./biblioset[@relation='article']"/>
-<!-- Serial -->
-  <xsl:apply-templates mode="iso690.article.jour" select="./biblioset[@relation='journal']"/>
-</xsl:template>
-
-<xsl:template match="biblioset" mode="iso690.article.art">
-<!-- Article -->
-  <!-- Primary responsibility -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title -->
-  <xsl:call-template name="iso690.title">
-    <xsl:with-param name="italic" select="0"/>
-  </xsl:call-template>
-  <!-- Subordinate responsibility [nonEL] -->
-  <xsl:if test="not(../*/bibliomisc[@role='medium'])">
-    <xsl:call-template name="iso690.secondary"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="biblioset" mode="iso690.article.jour">
-<!-- Serial -->
-  <!-- Title and Type of medium -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Edition -->
-  <xsl:call-template name="iso690.edition">
-    <xsl:with-param name="after" select="./pubdate[not(@role='issuing')]|./volumenum|./issuenum|./pagenums"/>
-  </xsl:call-template>
-  <!-- Number designation [EL] -->
-  <!-- Location within host -->
-  <xsl:call-template name="iso690.article.location"/>
-  <xsl:if test="./bibliomisc[@role='medium']">
-  <!-- Notes [EL] -->
-    <xsl:call-template name="iso690.notice"/>
-  <!-- Avaibility and access [EL] -->
-    <xsl:call-template name="iso690.access"/>
-  <!-- Standard number [EL] -->
-    <xsl:call-template name="iso690.issn"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- PATENT DOCUMENTS -->
-<xsl:template name="iso690.patent">
-  <!-- Primary responsibility (applicant) -->
-  <xsl:call-template name="iso690.primary"/>
-  <!-- Title of the invention -->
-  <xsl:call-template name="iso690.title"/>
-  <!-- Subordinate responsibility -->
-  <xsl:call-template name="iso690.secondary"/>
-  <!-- Notes -->
-  <xsl:call-template name="iso690.notice"/>
-  <!-- Identification -->
-  <xsl:call-template name="iso690.pat.ident"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- Elements -->
-
-<!-- Primary responsibility -->
-<xsl:template name="iso690.primary">
-  <xsl:param name="primary.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./authorgroup/author|./author">
-      <xsl:call-template name="iso690.author.list">
-        <xsl:with-param name="person.list" select=".//authorgroup/author|.//author"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="./authorgroup/editor|./editor">
-      <xsl:call-template name="iso690.author.list">
-        <xsl:with-param name="person.list" select=".//authorgroup/editor|.//editor"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="./authorgroup/corpauthor|./corpauthor">
-      <xsl:call-template name="iso690.author.list">
-        <xsl:with-param name="person.list" select=".//authorgroup/corpauthor|.//corpauthor"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="(./firstname)and(./surname)">
-        <xsl:call-template name="iso690.author"/>
-        <xsl:call-template name="iso690.endsep">
-          <xsl:with-param name="text" select="string(./firstname[1])"/>
-          <xsl:with-param name="sep" select="$primary.sep"/>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.author.list">
-  <xsl:param name="person.list" select="author|corpauthor|editor"/>
-  <xsl:param name="person.count" select="count($person.list)"/>
-  <xsl:param name="count" select="1"/>
-  <xsl:param name="group" select="./authorgroup[@role='many']"/>
-  <xsl:param name="many" select="0"/>
-
-  <xsl:param name="primary.many">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.many'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="primary.editor">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.editor'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="primary.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.sep'"/></xsl:call-template>
-  </xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="$count &gt; $person.count"/>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$person.count &lt; 4 and not($group)">
-          <xsl:call-template name="iso690.author">
-            <xsl:with-param name="node" select="$person.list[position()=$count]"/>
-          </xsl:call-template>
-          <xsl:choose>
-            <xsl:when test="$person.count = 2 and $count = 1 and $biblioentry.alt.primary.seps != 0">
-              <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.two.sep'"/></xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$person.count = 2 and $count = 1">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'authorgroup'"/>
-                <xsl:with-param name="name" select="'sep2'"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$person.count &gt; 2 and $count+1 = $person.count and $biblioentry.alt.primary.seps != 0">
-              <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.last.sep'"/></xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$person.count &gt; 2 and $count+1 = $person.count">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'authorgroup'"/>
-                <xsl:with-param name="name" select="'seplast'"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$count &lt; $person.count and $biblioentry.alt.primary.seps != 0">
-              <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.more.sep'"/></xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$count &lt; $person.count">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'authorgroup'"/>
-                <xsl:with-param name="name" select="'sep'"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="($count = $person.count)">
-              <xsl:choose>
-                <xsl:when test="$many!=0">
-                  <xsl:if test="name($person.list[position()=$count])='editor'">
-                    <xsl:value-of select="$primary.editor"/>
-                  </xsl:if>
-                  <xsl:value-of select="$primary.many"/>
-                  <xsl:call-template name="iso690.endsep">
-                    <xsl:with-param name="text" select="$primary.many"/>
-                    <xsl:with-param name="sep" select="$primary.sep"/>
-                  </xsl:call-template>
-                </xsl:when>
-                <xsl:when test="name($person.list[position()=$count])='editor'">
-                  <xsl:value-of select="$primary.editor"/>
-                  <xsl:value-of select="$primary.sep"/>
-                </xsl:when>
-                <xsl:when test="name($person.list[position()=$count])='corpauthor'">
-                  <xsl:call-template name="iso690.endsep">
-                    <xsl:with-param name="text" select="string($person.list[position()=$count])"/>
-                    <xsl:with-param name="sep" select="$primary.sep"/>
-                  </xsl:call-template>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:call-template name="iso690.endsep">
-                    <xsl:with-param name="text" select="string($person.list[position()=$count]//firstname[1])"/>
-                    <xsl:with-param name="sep" select="$primary.sep"/>
-                  </xsl:call-template>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:when>
-          </xsl:choose>
-
-          <xsl:call-template name="iso690.author.list">
-            <xsl:with-param name="person.list" select="$person.list"/>
-            <xsl:with-param name="person.count" select="$person.count"/>
-            <xsl:with-param name="count" select="$count+1"/>
-            <xsl:with-param name="many" select="$many"/>
-            <xsl:with-param name="group"/>
-          </xsl:call-template>
-        </xsl:when>
-
-        <xsl:otherwise>
-          <xsl:choose>
-            <xsl:when test="($biblioentry.primary.count&gt;=3) and ($person.count&gt;=3)">
-              <xsl:call-template name="iso690.author.list">
-                <xsl:with-param name="person.list" select="$person.list[1]|$person.list[2]|$person.list[3]"/>
-                <xsl:with-param name="person.count" select="3"/>
-                <xsl:with-param name="count" select="1"/>
-                <xsl:with-param name="many" select="1"/>
-                <xsl:with-param name="group"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="($biblioentry.primary.count&gt;1) and  ($person.count&gt;1)">
-              <xsl:call-template name="iso690.author.list">
-                <xsl:with-param name="person.list" select="$person.list[1]|$person.list[2]"/>
-                <xsl:with-param name="person.count" select="2"/>
-                <xsl:with-param name="count" select="1"/>
-                <xsl:with-param name="many" select="1"/>
-                <xsl:with-param name="group"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:call-template name="iso690.author.list">
-                <xsl:with-param name="person.list" select="$person.list[1]"/>
-                <xsl:with-param name="person.count" select="1"/>
-                <xsl:with-param name="count" select="1"/>
-                <xsl:with-param name="many" select="1"/>
-                <xsl:with-param name="group"/>
-              </xsl:call-template>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.author">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="lastfirst.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'lastfirst.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="name($node)!='corpauthor'">
-      <span style="text-transform:uppercase">
-        <xsl:apply-templates mode="iso690.mode" select="$node//surname[1]"/>
-      </span>
-      <xsl:if test="$node//surname and $node//firstname">
-        <xsl:value-of select="$lastfirst.sep"/>
-      </xsl:if>
-      <xsl:apply-templates mode="iso690.mode" select="$node//firstname[1]"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <span style="text-transform:uppercase">
-        <xsl:apply-templates mode="iso690.mode" select="$node"/>
-      </span>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="corpauthor|firstname|surname" mode="iso690.mode">
-  <xsl:apply-templates mode="iso690.mode"/>
-</xsl:template>
-
-<!-- Title and Type of medium -->
-<xsl:template name="iso690.title">
-  <xsl:param name="medium" select="./bibliomisc[@role='medium']"/>
-  <xsl:param name="italic" select="1"/>
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'title.sep'"/></xsl:call-template>
-  </xsl:param>
-
-  <xsl:apply-templates mode="iso690.mode" select="./title">
-    <xsl:with-param name="medium" select="$medium"/>
-    <xsl:with-param name="italic" select="$italic"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="title" mode="iso690.mode">
-  <xsl:param name="medium"/>
-  <xsl:param name="italic" select="1"/>
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'title.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="medium1">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'medium1'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="medium2">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'medium2'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="$italic=1">
-      <xsl:call-template name="iso690.italic.title"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="iso690.make.title"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:if test="$medium">
-    <xsl:value-of select="$medium1"/>
-    <xsl:apply-templates mode="iso690.mode" select="$medium"/>
-    <xsl:value-of select="$medium2"/>
-  </xsl:if>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="concat(string(.),string(../subtitle))"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="iso690.italic.title">
-  <i>
-    <xsl:call-template name="iso690.make.title"/>
-  </i>
-</xsl:template>
-
-<xsl:template name="iso690.make.title">
-  <xsl:param name="submaintitle.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'submaintitle.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:if test="../subtitle">
-    <xsl:value-of select="$submaintitle.sep"/>
-    <xsl:apply-templates mode="iso690.mode" select="../subtitle"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="iso690.mode">
-  <xsl:apply-templates mode="iso690.mode"/>
-</xsl:template>
-
-<xsl:template match="bibliomisc[@role='medium']" mode="iso690.mode">
-  <xsl:apply-templates mode="iso690.mode"/>
-</xsl:template>
-
-<!-- Subordinate responsibility -->
-<xsl:template name="iso690.secondary">
-  <xsl:param name="secondary.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'secondary.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="secondary.person.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'secondary.person.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:for-each select="./bibliomisc[@role='secondary']">
-    <xsl:apply-templates mode="iso690.mode" select="."/>
-    <xsl:choose>
-      <xsl:when test="position()=count(../bibliomisc[@role='secondary'])">
-        <xsl:call-template name="iso690.endsep">
-          <xsl:with-param name="text" select="string(.)"/>
-          <xsl:with-param name="sep" select="$secondary.sep"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$secondary.person.sep"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="bibliomisc[@role='secondary']" mode="iso690.mode">
-  <xsl:apply-templates mode="iso690.mode"/>
-</xsl:template>
-
-<!-- Edition -->
-<xsl:template name="iso690.edition">
-  <xsl:param name="after"/>
-  <xsl:param name="edition.serial.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'edition.serial.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="string($after)!=''">
-      <xsl:apply-templates mode="iso690.mode" select="./edition">
-        <xsl:with-param name="sep" select="$edition.serial.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="iso690.mode" select="./edition"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="edition" mode="iso690.mode">
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'edition.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- Issue designation (date and/or num) -->
-<xsl:template name="iso690.issuing">
-  <xsl:param name="issuing.div">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.div'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="issuing.range">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.range'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="issuing.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./pubdate[@role='issuing'] and ./volumenum[2] and ./issuenum[2]">
-      <xsl:call-template name="iso690.issuedate"/>
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum[1]">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum[1]">
-        <xsl:with-param name="sep" select="$issuing.range"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum[2]">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum[2]">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./pubdate[@role='issuing'] and ./volumenum[2]">
-      <xsl:call-template name="iso690.issuedate"/>
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum[1]">
-        <xsl:with-param name="sep" select="$issuing.range"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum[2]">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./pubdate[@role='issuing'] and ./volumenum and ./issuenum">
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./pubdate[@role='issuing']">
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./volumenum">
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./issuenum">
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum">
-        <xsl:with-param name="sep" select="$issuing.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.issuedate">
-  <xsl:param name="issuing.div">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.div'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="issuing.range">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.range'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="issuing.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./pubdate[@role='issuing'][2]">
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing'][1]">
-        <xsl:with-param name="sep" select="$issuing.range"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing'][2]">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']">
-        <xsl:with-param name="sep" select="$issuing.div"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="pubdate[@role='issuing']" mode="iso690.mode">
-  <xsl:param name="sep"/>
-  <xsl:variable name="substr" select="substring(string(.),string-length(string(.)))"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.space">
-    <xsl:with-param name="text" select="$substr"/>
-  </xsl:call-template>
-  <xsl:choose>
-    <xsl:when test="$substr='-'">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="' '"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="string(.)"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- Numeration of the part -->
-<xsl:template name="iso690.partnr">
-  <xsl:param name="partnr.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'partnr.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode" select="./volumenum">
-    <xsl:with-param name="sep" select="$partnr.sep"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->
-<xsl:template name="iso690.pub">
-  <xsl:param name="onlydate" select="0"/>
-  <xsl:param name="placesep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'placepubl.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="pubsep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'publyear.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="endsep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'pubinfo.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="(./publisher/publishername|./publishername|./publisher/address/city)and($onlydate=0)and(./pubdate[not(@role='issuing')]|./copyright/year|./date[@role='upd']|./date[@role='upd'])">
-      <xsl:apply-templates mode="iso690.mode" select="./publisher/address/city">
-        <xsl:with-param name="sep" select="$placesep"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./publisher/publishername|./publishername">
-        <xsl:with-param name="sep" select="$pubsep"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]|./copyright/year">
-        <xsl:with-param name="sep" select="$endsep"/>
-      </xsl:apply-templates>
-      <xsl:if test="not(./pubdate[not(@role='issuing')]|./copyright/year)">
-        <xsl:call-template name="iso690.data">
-          <xsl:with-param name="sep" select="$endsep"/>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:when>
-    <xsl:when test="(./publisher/publishername|./publishername)and(./publisher/address/city)and($onlydate=0)">
-      <xsl:apply-templates mode="iso690.mode" select="./publisher/address/city">
-        <xsl:with-param name="sep" select="$placesep"/>
-      </xsl:apply-templates>
-      <xsl:apply-templates mode="iso690.mode" select="./publisher/publishername|./publishername">
-        <xsl:with-param name="sep" select="$endsep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="($onlydate=1)or(./pubdate[not(@role='issuing')]|./copyright/year)">
-      <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]|./copyright/year">
-        <xsl:with-param name="sep" select="$endsep"/>
-      </xsl:apply-templates>
-      <xsl:if test="$onlydate=1">
-        <xsl:call-template name="iso690.location">
-          <xsl:with-param name="onlypages" select="1"/>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:when>
-    <xsl:when test="not(./pubdate[not(@role='issuing')]|./copyright/year)">
-      <xsl:call-template name="iso690.data">
-        <xsl:with-param name="sep" select="$endsep"/>
-      </xsl:call-template>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.paper.pub">
-  <xsl:param name="spec.pubinfo.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'spec.pubinfo.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./volumnum|./issuenum|./pagenums">
-      <xsl:call-template name="iso690.pub">
-        <xsl:with-param name="endsep" select="$spec.pubinfo.sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="iso690.pub"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.data">
-  <xsl:param name="sep"/>
-  <xsl:param name="datecit2">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode" select="./date[@role='upd']">
-    <xsl:with-param name="sep"/>
-  </xsl:apply-templates>
-  <xsl:apply-templates mode="iso690.mode" select="./date[@role='cit']"/>
-  <xsl:choose>
-    <xsl:when test="./date[@role='cit']">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="$datecit2"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="./date[@role='upd']">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="string(./date[@role='upd'])"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="publisher/address/city|publishername" mode="iso690.mode">
-  <xsl:param name="sep"/>
-  <xsl:param name="upd" select="0"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="pubdate|copyright/year" mode="iso690.mode">
-  <xsl:param name="sep"/>
-  <xsl:param name="upd" select="1"/>
-  <xsl:param name="datecit2">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:variable name="substr" select="substring(string(.),string-length(string(.)))"/>
-  <xsl:if test="name(.)!='pubdate'">
-    <xsl:value-of select="'&#169;'"/><!-- copyright -->
-  </xsl:if>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.space">
-    <xsl:with-param name="text" select="$substr"/>
-  </xsl:call-template>
-  <xsl:if test="$upd!=0">
-    <xsl:choose>
-      <xsl:when test="name(.)='pubdate'">
-        <xsl:apply-templates mode="iso690.mode" select="../date[@role='upd']"/>
-        <xsl:apply-templates mode="iso690.mode" select="../date[@role='cit']"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates mode="iso690.mode" select="../../date[@role='upd']"/>
-        <xsl:apply-templates mode="iso690.mode" select="../../date[@role='cit']"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-  <xsl:choose>
-    <xsl:when test="../date[@role='cit']|../../date[@role='cit'] and $upd!=0">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="$datecit2"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="../date[@role='upd']|../../date[@role='upd'] and $upd!=0">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="string(../date[@role='upd'])"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$substr='-'">
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="' '"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="string(.)"/>
-        <xsl:with-param name="sep" select="$sep"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.space">
-  <xsl:param name="text" select="substring(string(.),string-length(string(.)))"/>
-  <xsl:if test="$text='-'">
-    <xsl:value-of select="' '"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- Date of update/revision -->
-<xsl:template match="date[@role='upd']" mode="iso690.mode">
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'upd.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:value-of select="$sep"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-</xsl:template>
-
-<!-- Date of citation -->
-<xsl:template match="date[@role='cit']" mode="iso690.mode">
-  <xsl:param name="datecit1">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit1'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="datecit2">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:value-of select="$datecit1"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:value-of select="$datecit2"/>
-</xsl:template>
-
-<!-- Extent -->
-<xsl:template name="iso690.extent">
-  <xsl:param name="extent.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'extent.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode" select="./pagenums">
-    <xsl:with-param name="sep" select="$extent.sep"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<!-- Location within host -->
-<xsl:template name="iso690.part.location">
-  <xsl:param name="location.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./pagenums">
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']"/>
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='sectitle']"/>
-      <xsl:apply-templates mode="iso690.mode" select="./pagenums"/>
-    </xsl:when>
-    <xsl:when test="./bibliomisc[@role='sectitle']">
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']"/>
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='sectitle']">
-        <xsl:with-param name="sep" select="$location.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']">
-        <xsl:with-param name="sep" select="$location.sep"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.article.location">
-  <xsl:param name="location.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="locs.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="not(./date[@role='upd']|./date[@role='cit'])">
-      <xsl:choose>
-        <xsl:when test="./volumenum|./issuenum|./pagenums">
-          <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]">
-            <xsl:with-param name="upd" select="0"/>
-            <xsl:with-param name="sep" select="$locs.sep"/>
-          </xsl:apply-templates>
-          <xsl:call-template name="iso690.location"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]">
-            <xsl:with-param name="sep" select="$location.sep"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="./volumenum|./issuenum|./pagenums">
-          <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]">
-            <xsl:with-param name="upd" select="0"/>
-            <xsl:with-param name="sep" select="$locs.sep"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]">
-            <xsl:with-param name="upd" select="0"/>
-            <xsl:with-param name="sep" select="$location.sep"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:choose>
-        <xsl:when test="./issuenum">
-          <xsl:apply-templates mode="iso690.mode" select="./volumenum"/>
-          <xsl:apply-templates mode="iso690.mode" select="./issuenum">
-            <xsl:with-param name="sep"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates mode="iso690.mode" select="./volumenum">
-            <xsl:with-param name="sep"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:choose>
-        <xsl:when test="./pagenums">
-          <xsl:call-template name="iso690.data">
-            <xsl:with-param name="sep" select="$locs.sep"/>
-          </xsl:call-template>
-          <xsl:apply-templates mode="iso690.mode" select="./pagenums"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="iso690.data">
-            <xsl:with-param name="sep" select="$location.sep"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="iso690.location">
-  <xsl:param name="location.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="./volumenum and not(./issuenum) and not(./pagenums)">
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum">
-        <xsl:with-param name="sep" select="$location.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./issuenum and not(./pagenums)">
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum"/>
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum">
-        <xsl:with-param name="sep" select="$location.sep"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:when test="./pagenums">
-      <xsl:apply-templates mode="iso690.mode" select="./volumenum"/>
-      <xsl:apply-templates mode="iso690.mode" select="./issuenum"/>
-      <xsl:apply-templates mode="iso690.mode" select="./pagenums"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="bibliomisc[@role='secnum']|bibliomisc[@role='sectitle']" mode="iso690.mode">
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="volumenum|issuenum" mode="iso690.mode">
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="pagenums" mode="iso690.mode">
-  <xsl:param name="sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- Series -->
-<xsl:template name="iso690.serie">
-  <xsl:apply-templates mode="iso690.mode" select=".//bibliomisc[@role='serie']"/>
-</xsl:template>
-
-<!-- Notes -->
-<xsl:template name="iso690.notice">
-  <xsl:apply-templates mode="iso690.mode" select=".//bibliomisc[not(@role)]"/>
-</xsl:template>
-
-<xsl:template match="bibliomisc[not(@role)]|bibliomisc[@role='serie']" mode="iso690.mode">
-  <xsl:param name="notice.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'notice.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:call-template name="iso690.endsep">
-    <xsl:with-param name="text" select="string(.)"/>
-    <xsl:with-param name="sep" select="$notice.sep"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- Avaibility and access -->
-<xsl:template name="iso690.access">
-  <xsl:for-each select="./biblioid[@class='uri']|./bibliomisc[@role='access']">
-    <xsl:choose>
-      <xsl:when test="position()=1">
-        <xsl:apply-templates mode="iso690.mode" select="."/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates mode="iso690.mode" select=".">
-          <xsl:with-param name="firstacc" select="0"/>
-        </xsl:apply-templates>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="biblioid[@class='uri']/ulink|bibliomisc[@role='access']/ulink" mode="iso690.mode">
-  <xsl:param name="link1">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'link1'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="link2">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'link2'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:value-of select="$link1"/>
-  <xsl:call-template name="ulink"/>
-  <xsl:value-of select="$link2"/>
-</xsl:template>
-
-<xsl:template match="biblioid[@class='uri']|bibliomisc[@role='access']" mode="iso690.mode">
-  <xsl:param name="firstacc" select="1"/>
-  <xsl:param name="access">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="acctoo">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'acctoo'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="onwww">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'onwww'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="oninet">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'oninet'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="access.end">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access.end'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="access.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="$firstacc=1">
-      <xsl:value-of select="$access"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$acctoo"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:choose>
-    <xsl:when test="(./ulink)and(string(./ulink)=string(.))">
-      <xsl:choose>
-        <xsl:when test="(starts-with(./ulink/@url,'http://')or(starts-with(./ulink/@url,'https://')))">
-          <xsl:value-of select="$onwww"/>
-          <xsl:value-of select="$access.end"/>
-          <xsl:apply-templates mode="iso690.mode" select="./ulink"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$oninet"/>
-          <xsl:value-of select="$access.end"/>
-          <xsl:apply-templates mode="iso690.mode" select="./ulink"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="(./ulink)and(string(./ulink)!=string(.))">
-      <xsl:value-of select="text()[1]"/>
-      <xsl:call-template name="iso690.endsep">
-        <xsl:with-param name="text" select="text()[1]"/>
-        <xsl:with-param name="sep" select="$access.end"/>
-      </xsl:call-template>
-      <xsl:apply-templates mode="iso690.mode" select="./ulink"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="iso690.mode"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:value-of select="$access.sep"/>
-</xsl:template>
-
-<!-- Standard number - ISBN -->
-<xsl:template name="iso690.isbn">
-  <xsl:choose>
-    <xsl:when test="./biblioid/@class='isbn'">
-      <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='isbn']"/>
-    </xsl:when>
-    <xsl:when test="./isbn">
-      <xsl:apply-templates mode="iso690.mode" select="./isbn"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="isbn|biblioid[@class='isbn']" mode="iso690.mode">
-  <xsl:param name="isbn">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'isbn'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="stdnum.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'stdnum.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:value-of select="$isbn"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:value-of select="$stdnum.sep"/>
-</xsl:template>
-
-<!-- Standard number - ISSN -->
-<xsl:template name="iso690.issn">
-  <xsl:choose>
-    <xsl:when test="./biblioid/@class='issn'">
-      <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='issn']"/>
-    </xsl:when>
-    <xsl:when test="./issn">
-      <xsl:apply-templates mode="iso690.mode" select="./issn"/>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="issn|biblioid[@class='issn']" mode="iso690.mode">
-  <xsl:param name="issn">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issn'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:param name="stdnum.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'stdnum.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:value-of select="$issn"/>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:value-of select="$stdnum.sep"/>
-</xsl:template>
-
-<!-- Identification of patent document -->
-<xsl:template name="iso690.pat.ident">
-  <xsl:param name="patdate.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patdate.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode" select="./address/country"/>
-  <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='patenttype']"/>
-  <xsl:choose>
-    <xsl:when test="./biblioid[@class='other' and @otherclass='patentnum']">
-      <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='other' and @otherclass='patentnum']"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='patentnum']"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]">
-    <xsl:with-param name="sep" select="$patdate.sep"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<!-- Country or issuing office -->
-<xsl:template match="address/country" mode="iso690.mode">
-  <xsl:param name="patcountry.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patcountry.sep'"/></xsl:call-template>
-  </xsl:param>
-  <i>
-    <xsl:apply-templates mode="iso690.mode"/>
-  </i>
-  <xsl:value-of select="$patcountry.sep"/>
-</xsl:template>
-
-<!-- Kind of patent document -->
-<xsl:template match="bibliomisc[@role='patenttype']" mode="iso690.mode">
-  <xsl:param name="pattype.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'pattype.sep'"/></xsl:call-template>
-  </xsl:param>
-  <i>
-    <xsl:apply-templates mode="iso690.mode"/>
-  </i>
-  <xsl:value-of select="$pattype.sep"/>
-</xsl:template>
-
-<!-- Number -->
-<xsl:template match="biblioid[@class='other' and @otherclass='patentnum']|bibliomisc[@role='patentnum']" mode="iso690.mode">
-  <xsl:param name="patnum.sep">
-    <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patnum.sep'"/></xsl:call-template>
-  </xsl:param>
-  <xsl:apply-templates mode="iso690.mode"/>
-  <xsl:value-of select="$patnum.sep"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- Supplementary templates -->
-
-<xsl:template name="iso690.endsep">
-  <xsl:param name="text"/>
-  <xsl:param name="sep" select=". "/>
-  <xsl:choose>
-    <xsl:when test="substring($text,string-length($text))!=substring($sep,1,1)">
-      <xsl:value-of select="$sep"/>
-    </xsl:when>
-    <xsl:when test="substring($text,string-length($text))=' '">
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="' '"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="iso690.mode">
-  <xsl:apply-templates select="."/><!-- try the default mode -->
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/biblio.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/biblio.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1217 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="bibliography">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="bibliography.titlepage"/>
-
-    <xsl:apply-templates/>
-
-    <xsl:if test="not(parent::article)">
-      <xsl:call-template name="process.footnotes"/>
-    </xsl:if>
-  </div>
-</xsl:template>
-
-<xsl:template match="bibliography/bibliographyinfo"/>
-<xsl:template match="bibliography/info"/>
-<xsl:template match="bibliography/title"/>
-<xsl:template match="bibliography/subtitle"/>
-<xsl:template match="bibliography/titleabbrev"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="bibliodiv">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="bibliodiv/title">
-  <h3>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="node" select=".."/>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-  </h3>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="bibliolist">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="blockinfo/title|info/title|title">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-    <xsl:apply-templates select="*[not(self::blockinfo)                                    and not(self::info)                                    and not(self::title)                                    and not(self::titleabbrev)                                    and not(self::biblioentry)                                    and not(self::bibliomixed)]"/>
-    <xsl:apply-templates select="biblioentry|bibliomixed"/>
-  </div>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="biblioentry">
-  <xsl:param name="label">
-    <xsl:call-template name="biblioentry.label"/>
-  </xsl:param>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="string(.) = ''">
-      <xsl:variable name="bib" select="document($bibliography.collection,.)"/>
-      <xsl:variable name="entry" select="$bib/bibliography/                                          *[@id=$id or @xml:id=$id][1]"/>
-      <xsl:choose>
-        <xsl:when test="$entry">
-          <xsl:choose>
-            <xsl:when test="$bibliography.numbered != 0">
-              <xsl:apply-templates select="$entry">
-                <xsl:with-param name="label" select="$label"/>
-              </xsl:apply-templates>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="$entry"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>No bibliography entry: </xsl:text>
-            <xsl:value-of select="$id"/>
-            <xsl:text> found in </xsl:text>
-            <xsl:value-of select="$bibliography.collection"/>
-          </xsl:message>
-          <div>
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:call-template name="anchor"/>
-            <p>
-              <xsl:copy-of select="$label"/>
-              <xsl:text>Error: no bibliography entry: </xsl:text>
-              <xsl:value-of select="$id"/>
-              <xsl:text> found in </xsl:text>
-              <xsl:value-of select="$bibliography.collection"/>
-            </p>
-          </div>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:call-template name="anchor">
-          <xsl:with-param name="conditional" select="0"/>
-        </xsl:call-template>
-        <p>
-          <xsl:copy-of select="$label"/>
-	  <xsl:choose>
-	    <xsl:when test="$bibliography.style = 'iso690'">
-	      <xsl:call-template name="iso690.makecitation"/>
-	    </xsl:when>
-	    <xsl:otherwise>
-	      <xsl:apply-templates mode="bibliography.mode"/>
-	    </xsl:otherwise>
-	  </xsl:choose>
-        </p>
-      </div>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="bibliomixed">
-  <xsl:param name="label">
-    <xsl:call-template name="biblioentry.label"/>
-  </xsl:param>
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="string(.) = ''">
-      <xsl:variable name="bib" select="document($bibliography.collection,.)"/>
-      <xsl:variable name="entry" select="$bib/bibliography/                                          *[@id=$id or @xml:id=$id][1]"/>
-      <xsl:choose>
-        <xsl:when test="$entry">
-          <xsl:choose>
-            <xsl:when test="$bibliography.numbered != 0">
-              <xsl:apply-templates select="$entry">
-                <xsl:with-param name="label" select="$label"/>
-              </xsl:apply-templates>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="$entry"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>No bibliography entry: </xsl:text>
-            <xsl:value-of select="$id"/>
-            <xsl:text> found in </xsl:text>
-            <xsl:value-of select="$bibliography.collection"/>
-          </xsl:message>
-          <div>
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:call-template name="anchor"/>
-            <p>
-              <xsl:copy-of select="$label"/>
-              <xsl:text>Error: no bibliography entry: </xsl:text>
-              <xsl:value-of select="$id"/>
-              <xsl:text> found in </xsl:text>
-              <xsl:value-of select="$bibliography.collection"/>
-            </p>
-          </div>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:call-template name="anchor">
-          <xsl:with-param name="conditional" select="0"/>
-        </xsl:call-template>
-        <p>
-          <xsl:apply-templates select="." mode="class.attribute"/>
-          <xsl:copy-of select="$label"/>
-          <xsl:apply-templates mode="bibliomixed.mode"/>
-        </p>
-      </div>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="biblioentry.label">
-  <xsl:param name="node" select="."/>
-
-  <xsl:choose>
-    <xsl:when test="$bibliography.numbered != 0">
-      <xsl:text>[</xsl:text>
-      <xsl:number from="bibliography" count="biblioentry|bibliomixed" level="any" format="1"/>
-      <xsl:text>] </xsl:text>
-    </xsl:when>
-    <xsl:when test="local-name($node/child::*[1]) = 'abbrev'">
-      <xsl:text>[</xsl:text>
-      <xsl:apply-templates select="$node/abbrev[1]"/>
-      <xsl:text>] </xsl:text>
-    </xsl:when>
-    <xsl:when test="$node/@xreflabel">
-      <xsl:text>[</xsl:text>
-      <xsl:value-of select="$node/@xreflabel"/>
-      <xsl:text>] </xsl:text>
-    </xsl:when>
-    <xsl:when test="$node/@id">
-      <xsl:text>[</xsl:text>
-      <xsl:value-of select="$node/@id"/>
-      <xsl:text>] </xsl:text>
-    </xsl:when>
-    <xsl:when test="$node/@xml:id">
-      <xsl:text>[</xsl:text>
-      <xsl:value-of select="$node/@xml:id"/>
-      <xsl:text>] </xsl:text>
-    </xsl:when>
-    <xsl:otherwise><!-- nop --></xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="bibliography.mode">
-  <xsl:apply-templates select="."/><!-- try the default mode -->
-</xsl:template>
-
-<xsl:template match="abbrev" mode="bibliography.mode">
-  <xsl:if test="preceding-sibling::*">
-    <xsl:apply-templates mode="bibliography.mode"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="abstract" mode="bibliography.mode">
-  <!-- suppressed -->
-</xsl:template>
-
-<xsl:template match="address" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="affiliation" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="shortaffil" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="jobtitle" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="artheader|articleinfo|info" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="artpagenums" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="author" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="person.name"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="authorblurb|personblurb" mode="bibliography.mode">
-  <!-- suppressed -->
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="person.name.list"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="authorinitials" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="bibliomisc" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="bibliomset" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="biblioset" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="biblioset/title|biblioset/citetitle" mode="bibliography.mode">
-  <xsl:variable name="relation" select="../@relation"/>
-  <xsl:choose>
-    <xsl:when test="$relation='article' or @pubwork='article'">
-      <xsl:call-template name="gentext.startquote"/>
-      <xsl:apply-templates/>
-      <xsl:call-template name="gentext.endquote"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <i><xsl:apply-templates/></i>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:copy-of select="$biblioentry.item.separator"/>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="bookbiblio" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="citetitle" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:choose>
-      <xsl:when test="@pubwork = 'article'">
-        <xsl:call-template name="gentext.startquote"/>
-        <xsl:call-template name="inline.charseq"/>
-        <xsl:call-template name="gentext.endquote"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="inline.italicseq"/>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="collab" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="collabname" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="confgroup" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="confdates" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="conftitle" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="confnum" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="confsponsor" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="contractnum" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="contractsponsor" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="contrib" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="copyright" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'Copyright'"/>
-    </xsl:call-template>
-    <xsl:call-template name="gentext.space"/>
-    <xsl:call-template name="dingbat">
-      <xsl:with-param name="dingbat">copyright</xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="gentext.space"/>
-    <xsl:apply-templates select="year" mode="bibliography.mode"/>
-    <xsl:if test="holder">
-      <xsl:call-template name="gentext.space"/>
-      <xsl:apply-templates select="holder" mode="bibliography.mode"/>
-    </xsl:if>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="year" mode="bibliography.mode">
-  <xsl:apply-templates/><xsl:text>, </xsl:text>
-</xsl:template>
-
-<xsl:template match="year[position()=last()]" mode="bibliography.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="holder" mode="bibliography.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="corpauthor" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="corpcredit" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="corpname" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="date" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="edition" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="editor" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="person.name"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="firstname" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="honorific" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="invpartnumber" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="isbn" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="issn" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="issuenum" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="lineage" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="orgname" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="orgdiv" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="othername" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="pagenums" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="printhistory" mode="bibliography.mode">
-  <!-- suppressed -->
-</xsl:template>
-
-<xsl:template match="productname" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="productnumber" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="publisher" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="publishername" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="pubsnumber" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="bibliography.mode">
-  <!-- suppressed; how could this be represented? -->
-</xsl:template>
-
-<xsl:template match="seriesinfo" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="seriesvolnums" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="surname" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="title" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <i><xsl:apply-templates mode="bibliography.mode"/></i>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="titleabbrev" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="volumenum" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource" mode="bibliography.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliography.mode"/>
-    <xsl:copy-of select="$biblioentry.item.separator"/>
-  </span>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="bibliomixed.mode">
-  <xsl:apply-templates select="."/><!-- try the default mode -->
-</xsl:template>
-
-<xsl:template match="abbrev" mode="bibliomixed.mode">
-  <xsl:if test="preceding-sibling::*">
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="abstract" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="address" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="affiliation" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="shortaffil" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="jobtitle" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="artpagenums" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="author" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="authorblurb|personblurb" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="authorinitials" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="bibliomisc" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="bibliomset" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="bibliomset/title|bibliomset/citetitle" mode="bibliomixed.mode">
-  <xsl:variable name="relation" select="../@relation"/>
-  <xsl:choose>
-    <xsl:when test="$relation='article' or @pubwork='article'">
-      <xsl:call-template name="gentext.startquote"/>
-      <xsl:apply-templates/>
-      <xsl:call-template name="gentext.endquote"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <i><xsl:apply-templates/></i>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ================================================== -->
-
-<xsl:template match="biblioset" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="citetitle" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:choose>
-      <xsl:when test="@pubwork = 'article'">
-        <xsl:call-template name="gentext.startquote"/>
-        <xsl:call-template name="inline.charseq"/>
-        <xsl:call-template name="gentext.endquote"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="inline.italicseq"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </span>
-</xsl:template>
-
-
-<xsl:template match="collab" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="confgroup" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="contractnum" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="contractsponsor" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="contrib" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="copyright" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="corpcredit" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="corpname" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="date" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="edition" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="editor" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="firstname" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="honorific" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="indexterm" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="invpartnumber" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="isbn" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="issn" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="issuenum" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="lineage" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="orgname" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="othername" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="pagenums" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="printhistory" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="productname" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="productnumber" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="publisher" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="publishername" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="pubsnumber" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="bibliomixed.mode">
-  <!-- suppressed; how could this be represented? -->
-</xsl:template>
-
-<xsl:template match="seriesvolnums" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="surname" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="title" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="titleabbrev" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="volumenum" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource" mode="bibliomixed.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="bibliomixed.mode"/>
-  </span>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/block.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/block.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,432 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<!-- What should we do about styling blockinfo? -->
-
-<xsl:template match="blockinfo|info">
-  <!-- suppress -->
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="block.object">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="para">
-  <xsl:call-template name="paragraph">
-    <xsl:with-param name="class">
-      <xsl:if test="@role and $para.propagates.style != 0">
-        <xsl:value-of select="@role"/>
-      </xsl:if>
-    </xsl:with-param>
-    <xsl:with-param name="content">
-      <xsl:if test="position() = 1 and parent::listitem">
-        <xsl:call-template name="anchor">
-          <xsl:with-param name="node" select="parent::listitem"/>
-        </xsl:call-template>
-      </xsl:if>
-
-      <xsl:call-template name="anchor"/>
-      <xsl:apply-templates/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="paragraph">
-  <xsl:param name="class" select="''"/>
-  <xsl:param name="content"/>
-
-  <xsl:variable name="p">
-    <p>
-      <xsl:call-template name="dir"/>
-      <xsl:if test="$class != ''">
-        <xsl:apply-templates select="." mode="class.attribute">
-          <xsl:with-param name="class" select="$class"/>
-        </xsl:apply-templates>
-      </xsl:if>
-      <xsl:copy-of select="$content"/>
-    </p>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$html.cleanup != 0">
-      <xsl:call-template name="unwrap.p">
-        <xsl:with-param name="p" select="$p"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$p"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="simpara">
-  <!-- see also listitem/simpara in lists.xsl -->
-  <p>
-    <xsl:if test="@role and $para.propagates.style != 0">
-      <xsl:apply-templates select="." mode="class.attribute">
-        <xsl:with-param name="class" select="@role"/>
-      </xsl:apply-templates>
-    </xsl:if>
-
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </p>
-</xsl:template>
-
-<xsl:template match="formalpara">
-  <xsl:call-template name="paragraph">
-    <xsl:with-param name="class">
-      <xsl:if test="@role and $para.propagates.style != 0">
-        <xsl:value-of select="@role"/>
-      </xsl:if>
-    </xsl:with-param>
-    <xsl:with-param name="content">
-      <xsl:call-template name="anchor"/>
-      <xsl:apply-templates/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- Only use title from info -->
-<xsl:template match="formalpara/info">
-  <xsl:apply-templates select="title"/>
-</xsl:template>
-
-<xsl:template match="formalpara/title|formalpara/info/title">
-  <xsl:variable name="titleStr">
-      <xsl:apply-templates/>
-  </xsl:variable>
-  <xsl:variable name="lastChar">
-    <xsl:if test="$titleStr != ''">
-      <xsl:value-of select="substring($titleStr,string-length($titleStr),1)"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <b>
-    <xsl:copy-of select="$titleStr"/>
-    <xsl:if test="$lastChar != ''                   and not(contains($runinhead.title.end.punct, $lastChar))">
-      <xsl:value-of select="$runinhead.default.title.end.punct"/>
-    </xsl:if>
-    <xsl:text>&#160;</xsl:text>
-  </b>
-</xsl:template>
-
-<xsl:template match="formalpara/para">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="blockquote">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="@lang or @xml:lang">
-      <xsl:call-template name="language.attribute"/>
-    </xsl:if>
-    <xsl:call-template name="anchor"/>
-
-    <xsl:choose>
-      <xsl:when test="attribution">
-        <table border="0" width="100%" cellspacing="0" cellpadding="0" class="blockquote" summary="Block quote">
-          <tr>
-            <td width="10%" valign="top">&#160;</td>
-            <td width="80%" valign="top">
-              <xsl:apply-templates select="child::*[local-name(.)!='attribution']"/>
-            </td>
-            <td width="10%" valign="top">&#160;</td>
-          </tr>
-          <tr>
-            <td width="10%" valign="top">&#160;</td>
-            <td colspan="2" align="right" valign="top">
-              <xsl:text>--</xsl:text>
-              <xsl:apply-templates select="attribution"/>
-            </td>
-          </tr>
-        </table>
-      </xsl:when>
-      <xsl:otherwise>
-        <blockquote>
-          <xsl:apply-templates select="." mode="class.attribute"/>
-          <xsl:apply-templates/>
-        </blockquote>
-      </xsl:otherwise>
-    </xsl:choose>
-  </div>
-</xsl:template>
-
-<xsl:template match="blockquote/title|blockquote/info/title">
-  <div class="blockquote-title">
-    <p>
-      <b>
-        <xsl:apply-templates/>
-      </b>
-    </p>
-  </div>
-</xsl:template>
-
-<xsl:template match="epigraph">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-      <xsl:apply-templates select="para|simpara|formalpara|literallayout"/>
-      <xsl:if test="attribution">
-        <div class="attribution">
-          <span>--<xsl:apply-templates select="attribution"/></span>
-        </div>
-      </xsl:if>
-  </div>
-</xsl:template>
-
-<xsl:template match="attribution">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates/>
-  </span>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="abstract|sidebar">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="formal.object.heading">
-      <xsl:with-param name="title">
-        <xsl:apply-templates select="." mode="title.markup">
-          <xsl:with-param name="allow-anchors" select="'1'"/>
-        </xsl:apply-templates>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="abstract/title|sidebar/title">
-</xsl:template>
-
-<xsl:template match="sidebar/sidebarinfo|sidebar/info"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="msgset">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="msgentry">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<xsl:template match="simplemsgentry">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<xsl:template match="msg">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<xsl:template match="msgmain">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="msgmain/title">
-  <b><xsl:apply-templates/></b>
-</xsl:template>
-
-<xsl:template match="msgsub">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="msgsub/title">
-  <b><xsl:apply-templates/></b>
-</xsl:template>
-
-<xsl:template match="msgrel">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="msgrel/title">
-  <b><xsl:apply-templates/></b>
-</xsl:template>
-
-<xsl:template match="msgtext">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="msginfo">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<xsl:template match="msglevel">
-  <p>
-    <b>
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'msgset'"/>
-        <xsl:with-param name="name" select="'MsgLevel'"/>
-      </xsl:call-template>
-    </b>
-    <xsl:apply-templates/>
-  </p>
-</xsl:template>
-
-<xsl:template match="msgorig">
-  <p>
-    <b>
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'msgset'"/>
-        <xsl:with-param name="name" select="'MsgOrig'"/>
-      </xsl:call-template>
-    </b>
-    <xsl:apply-templates/>
-  </p>
-</xsl:template>
-
-<xsl:template match="msgaud">
-  <p>
-    <b>
-      <xsl:call-template name="gentext.template">
-        <xsl:with-param name="context" select="'msgset'"/>
-        <xsl:with-param name="name" select="'MsgAud'"/>
-      </xsl:call-template>
-    </b>
-    <xsl:apply-templates/>
-  </p>
-</xsl:template>
-
-<xsl:template match="msgexplan">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<xsl:template match="msgexplan/title">
-  <p><b><xsl:apply-templates/></b></p>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="revhistory">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <table border="0" width="100%" summary="Revision history">
-      <tr>
-        <th align="left" valign="top" colspan="3">
-          <b>
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'RevHistory'"/>
-            </xsl:call-template>
-          </b>
-        </th>
-      </tr>
-      <xsl:apply-templates/>
-    </table>
-  </div>
-</xsl:template>
-
-<xsl:template match="revhistory/revision">
-  <xsl:variable name="revnumber" select="revnumber"/>
-  <xsl:variable name="revdate" select="date"/>
-  <xsl:variable name="revauthor" select="authorinitials|author"/>
-  <xsl:variable name="revremark" select="revremark|revdescription"/>
-  <tr>
-    <td align="left">
-      <xsl:if test="$revnumber">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'Revision'"/>
-        </xsl:call-template>
-        <xsl:call-template name="gentext.space"/>
-        <xsl:apply-templates select="$revnumber"/>
-      </xsl:if>
-    </td>
-    <td align="left">
-      <xsl:apply-templates select="$revdate"/>
-    </td>
-    <xsl:choose>
-      <xsl:when test="count($revauthor)=0">
-        <td align="left">
-          <xsl:call-template name="dingbat">
-            <xsl:with-param name="dingbat">nbsp</xsl:with-param>
-          </xsl:call-template>
-        </td>
-      </xsl:when>
-      <xsl:otherwise>
-        <td align="left">
-          <xsl:for-each select="$revauthor">
-            <xsl:apply-templates select="."/>
-            <xsl:if test="position() != last()">
-              <xsl:text>, </xsl:text>
-            </xsl:if>
-          </xsl:for-each>
-        </td>
-      </xsl:otherwise>
-    </xsl:choose>
-  </tr>
-  <xsl:if test="$revremark">
-    <tr>
-      <td align="left" colspan="3">
-        <xsl:apply-templates select="$revremark"/>
-      </td>
-    </tr>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="revision/revnumber">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="revision/date">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="revision/authorinitials">
-  <xsl:text>, </xsl:text>
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="revision/authorinitials[1]" priority="2">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="revision/revremark">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="revision/revdescription">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="ackno">
-  <p>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates/>
-  </p>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="highlights">
-  <xsl:call-template name="block.object"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/callout.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/callout.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,188 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sverb="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim" xmlns:xverb="xalan://com.nwalsh.xalan.Verbatim" xmlns:lxslt="http://xml.apache.org/xslt" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="sverb xverb lxslt" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<lxslt:component prefix="xverb" functions="insertCallouts"/>
-
-<xsl:template match="programlistingco|screenco">
-  <xsl:variable name="verbatim" select="programlisting|screen"/>
-
-  <xsl:choose>
-    <xsl:when test="$use.extensions != '0'                     and $callouts.extension != '0'">
-      <xsl:variable name="rtf">
-        <xsl:apply-templates select="$verbatim">
-          <xsl:with-param name="suppress-numbers" select="'1'"/>
-        </xsl:apply-templates>
-      </xsl:variable>
-
-      <xsl:variable name="rtf-with-callouts">
-        <xsl:choose>
-          <xsl:when test="function-available('sverb:insertCallouts')">
-            <xsl:copy-of select="sverb:insertCallouts(areaspec,$rtf)"/>
-          </xsl:when>
-          <xsl:when test="function-available('xverb:insertCallouts')">
-            <xsl:copy-of select="xverb:insertCallouts(areaspec,$rtf)"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:message terminate="yes">
-              <xsl:text>No insertCallouts function is available.</xsl:text>
-            </xsl:message>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$verbatim/@linenumbering = 'numbered'                         and $linenumbering.extension != '0'">
-          <div>
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:call-template name="number.rtf.lines">
-              <xsl:with-param name="rtf" select="$rtf-with-callouts"/>
-              <xsl:with-param name="pi.context" select="programlisting|screen"/>
-            </xsl:call-template>
-            <xsl:apply-templates select="calloutlist"/>
-          </div>
-        </xsl:when>
-        <xsl:otherwise>
-          <div>
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:copy-of select="$rtf-with-callouts"/>
-            <xsl:apply-templates select="calloutlist"/>
-          </div>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:apply-templates/>
-      </div>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="areaspec|areaset|area">
-</xsl:template>
-
-<xsl:template match="areaset" mode="conumber">
-  <xsl:number count="area|areaset" format="1"/>
-</xsl:template>
-
-<xsl:template match="area" mode="conumber">
-  <xsl:number count="area|areaset" format="1"/>
-</xsl:template>
-
-<xsl:template match="co" name="co">
-  <!-- Support a single linkend in HTML -->
-  <xsl:variable name="targets" select="key('id', @linkends)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-  <xsl:choose>
-    <xsl:when test="$target">
-      <a>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:if test="@id or @xml:id">
-          <xsl:attribute name="id">
-            <xsl:value-of select="(@id|@xml:id)[1]"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$target"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:apply-templates select="." mode="callout-bug"/>
-      </a>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="anchor"/>
-      <xsl:apply-templates select="." mode="callout-bug"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="coref">
-  <!-- tricky; this relies on the fact that we can process the "co" that's -->
-  <!-- "over there" as if it were "right here" -->
-
-  <xsl:variable name="co" select="key('id', @linkend)"/>
-  <xsl:choose>
-    <xsl:when test="not($co)">
-      <xsl:message>
-        <xsl:text>Error: coref link is broken: </xsl:text>
-        <xsl:value-of select="@linkend"/>
-      </xsl:message>
-    </xsl:when>
-    <xsl:when test="local-name($co) != 'co'">
-      <xsl:message>
-        <xsl:text>Error: coref doesn't point to a co: </xsl:text>
-        <xsl:value-of select="@linkend"/>
-      </xsl:message>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="$co"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="co" mode="callout-bug">
-  <xsl:call-template name="callout-bug">
-    <xsl:with-param name="conum">
-      <xsl:number count="co" level="any" from="programlisting|screen|literallayout|synopsis" format="1"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="callout-bug">
-  <xsl:param name="conum" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="$callout.graphics != 0                     and $conum &lt;= $callout.graphics.number.limit">
-      <img src="{$callout.graphics.path}{$conum}{$callout.graphics.extension}" alt="{$conum}" border="0"/>
-    </xsl:when>
-    <xsl:when test="$callout.unicode != 0                     and $conum &lt;= $callout.unicode.number.limit">
-      <xsl:choose>
-        <xsl:when test="$callout.unicode.start.character = 10102">
-          <xsl:choose>
-            <xsl:when test="$conum = 1">&#10102;</xsl:when>
-            <xsl:when test="$conum = 2">&#10103;</xsl:when>
-            <xsl:when test="$conum = 3">&#10104;</xsl:when>
-            <xsl:when test="$conum = 4">&#10105;</xsl:when>
-            <xsl:when test="$conum = 5">&#10106;</xsl:when>
-            <xsl:when test="$conum = 6">&#10107;</xsl:when>
-            <xsl:when test="$conum = 7">&#10108;</xsl:when>
-            <xsl:when test="$conum = 8">&#10109;</xsl:when>
-            <xsl:when test="$conum = 9">&#10110;</xsl:when>
-            <xsl:when test="$conum = 10">&#10111;</xsl:when>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>Don't know how to generate Unicode callouts </xsl:text>
-            <xsl:text>when $callout.unicode.start.character is </xsl:text>
-            <xsl:value-of select="$callout.unicode.start.character"/>
-          </xsl:message>
-          <xsl:text>(</xsl:text>
-          <xsl:value-of select="$conum"/>
-          <xsl:text>)</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>(</xsl:text>
-      <xsl:value-of select="$conum"/>
-      <xsl:text>)</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/changebars.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/changebars.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,72 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<xsl:import href="docbook.xsl"/>
-
-<xsl:param name="show.revisionflag" select="'1'"/>
-
-<xsl:template name="system.head.content">
-<xsl:param name="node" select="."/>
-
-<style type="text/css">
-<xsl:text>
-div.added    { background-color: #ffff99; 
-               text-decoration: underline; }
-div.deleted  { text-decoration: line-through;
-               background-color: #FF7F7F; }
-div.changed  { background-color: #99ff99; }
-div.off      {  }
-
-span.added   { background-color: #ffff99; 
-               text-decoration: underline; }
-span.deleted { text-decoration: line-through;
-               background-color: #FF7F7F; }
-span.changed { background-color: #99ff99; }
-span.off     {  }
-</xsl:text>
-</style>
-</xsl:template>
-
-<xsl:template match="*[@revisionflag]">
-  <xsl:choose>
-    <xsl:when test="local-name(.) = 'para'                     or local-name(.) = 'simpara'                     or local-name(.) = 'formalpara'                     or local-name(.) = 'section'                     or local-name(.) = 'sect1'                     or local-name(.) = 'sect2'                     or local-name(.) = 'sect3'                     or local-name(.) = 'sect4'                     or local-name(.) = 'sect5'                     or local-name(.) = 'chapter'                     or local-name(.) = 'preface'                     or local-name(.) = 'itemizedlist'                     or local-name(.) = 'varlistentry'                     or local-name(.) = 'glossary'                     or local-name(.) = 'bibliography'                     or local-name(.) = 'index'                     or local-name(.) = 'appendix'">
-      <div class="{@revisionflag}">
-	<xsl:apply-imports/>
-      </div>
-    </xsl:when>
-    <xsl:when test="local-name(.) = 'phrase'                     or local-name(.) = 'ulink'                     or local-name(.) = 'link'                     or local-name(.) = 'filename'                     or local-name(.) = 'literal'                     or local-name(.) = 'member'                     or local-name(.) = 'glossterm'                     or local-name(.) = 'sgmltag'                     or local-name(.) = 'quote'                     or local-name(.) = 'emphasis'                     or local-name(.) = 'command'                     or local-name(.) = 'xref'">
-      <span class="{@revisionflag}">
-	<xsl:apply-imports/>
-      </span>
-    </xsl:when>
-    <xsl:when test="local-name(.) = 'listitem'                     or local-name(.) = 'entry'                     or local-name(.) = 'title'">
-      <!-- nop; these are handled directly in the stylesheet -->
-      <xsl:apply-imports/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-	<xsl:text>Revisionflag on unexpected element: </xsl:text>
-	<xsl:value-of select="local-name(.)"/>
-	<xsl:text> (Assuming block)</xsl:text>
-      </xsl:message>
-      <div class="{@revisionflag}">
-	<xsl:apply-imports/>
-      </div>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunk-code.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunk-code.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,639 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0" xmlns:ng="http://docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="exsl cf ng db" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-
-<xsl:template match="*" mode="chunk-filename">
-  <!-- returns the filename of a chunk -->
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:variable name="fn">
-    <xsl:apply-templates select="." mode="recursive-chunk-filename"/>
-  </xsl:variable>
-
-  <!--
-  <xsl:message>
-    <xsl:value-of select="$ischunk"/>
-    <xsl:text> (</xsl:text>
-    <xsl:value-of select="local-name(.)"/>
-    <xsl:text>) </xsl:text>
-    <xsl:value-of select="$fn"/>
-    <xsl:text>, </xsl:text>
-    <xsl:call-template name="dbhtml-dir"/>
-  </xsl:message>
-  -->
-
-  <!-- 2003-11-25 by ndw:
-       The following test used to read test="$ischunk != 0 and $fn != ''"
-       I've removed the ischunk part of the test so that href.to.uri and
-       href.from.uri will be fully qualified even if the source or target
-       isn't a chunk. I *think* that if $fn != '' then it's appropriate
-       to put the directory on the front, even if the element isn't a
-       chunk. I could be wrong. -->
-
-  <xsl:if test="$fn != ''">
-    <xsl:call-template name="dbhtml-dir"/>
-  </xsl:if>
-
-  <xsl:value-of select="$fn"/>
-  <!-- You can't add the html.ext here because dbhtml filename= may already -->
-  <!-- have added it. It really does have to be handled in the recursive template -->
-</xsl:template>
-
-<xsl:template match="*" mode="recursive-chunk-filename">
-  <xsl:param name="recursive" select="false()"/>
-
-  <!-- returns the filename of a chunk -->
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:variable name="dbhtml-filename">
-    <xsl:call-template name="pi.dbhtml_filename"/>
-  </xsl:variable>
-
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="$dbhtml-filename != ''">
-        <xsl:value-of select="$dbhtml-filename"/>
-      </xsl:when>
-      <!-- if this is the root element, use the root.filename -->
-      <xsl:when test="not(parent::*) and $root.filename != ''">
-        <xsl:value-of select="$root.filename"/>
-        <xsl:value-of select="$html.ext"/>
-      </xsl:when>
-      <!-- Special case -->
-      <xsl:when test="self::legalnotice and not($generate.legalnotice.link = 0)">
-        <xsl:choose>
-          <xsl:when test="(@id or @xml:id) and not($use.id.as.filename = 0)">
-            <!-- * if this legalnotice has an ID, then go ahead and use -->
-            <!-- * just the value of that ID as the basename for the file -->
-            <!-- * (that is, without prepending an "ln-" too it) -->
-            <xsl:value-of select="(@id|@xml:id)[1]"/>
-            <xsl:value-of select="$html.ext"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <!-- * otherwise, if this legalnotice does not have an ID, -->
-            <!-- * then we generate an ID... -->
-            <xsl:variable name="id">
-              <xsl:call-template name="object.id"/>
-            </xsl:variable>
-            <!-- * ...and then we take that generated ID, prepend an -->
-            <!-- * "ln-" to it, and use that as the basename for the file -->
-            <xsl:value-of select="concat('ln-',$id,$html.ext)"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <!-- if there's no dbhtml filename, and if we're to use IDs as -->
-      <!-- filenames, then use the ID to generate the filename. -->
-      <xsl:when test="(@id or @xml:id) and $use.id.as.filename != 0">
-        <xsl:value-of select="(@id|@xml:id)[1]"/>
-        <xsl:value-of select="$html.ext"/>
-      </xsl:when>
-      <xsl:otherwise/>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$ischunk='0'">
-      <!-- if called on something that isn't a chunk, walk up... -->
-      <xsl:choose>
-        <xsl:when test="count(parent::*)&gt;0">
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="$recursive"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <!-- unless there is no up, in which case return "" -->
-        <xsl:otherwise/>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="not($recursive) and $filename != ''">
-      <!-- if this chunk has an explicit name, use it -->
-      <xsl:value-of select="$filename"/>
-    </xsl:when>
-
-    <xsl:when test="self::set">
-      <xsl:value-of select="$root.filename"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::book">
-      <xsl:text>bk</xsl:text>
-      <xsl:number level="any" format="01"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::article">
-      <xsl:if test="/set">
-        <!-- in a set, make sure we inherit the right book info... -->
-        <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-          <xsl:with-param name="recursive" select="true()"/>
-        </xsl:apply-templates>
-      </xsl:if>
-
-      <xsl:text>ar</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::preface">
-      <xsl:if test="/set">
-        <!-- in a set, make sure we inherit the right book info... -->
-        <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-          <xsl:with-param name="recursive" select="true()"/>
-        </xsl:apply-templates>
-      </xsl:if>
-
-      <xsl:text>pr</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::chapter">
-      <xsl:if test="/set">
-        <!-- in a set, make sure we inherit the right book info... -->
-        <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-          <xsl:with-param name="recursive" select="true()"/>
-        </xsl:apply-templates>
-      </xsl:if>
-
-      <xsl:text>ch</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::appendix">
-      <xsl:if test="/set">
-        <!-- in a set, make sure we inherit the right book info... -->
-        <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-          <xsl:with-param name="recursive" select="true()"/>
-        </xsl:apply-templates>
-      </xsl:if>
-
-      <xsl:text>ap</xsl:text>
-      <xsl:number level="any" format="a" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::part">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>pt</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::reference">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>rn</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::refentry">
-      <xsl:choose>
-        <xsl:when test="parent::reference">
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>re</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::colophon">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>co</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::sect1                     or self::sect2                     or self::sect3                     or self::sect4                     or self::sect5                     or self::section">
-      <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-        <xsl:with-param name="recursive" select="true()"/>
-      </xsl:apply-templates>
-      <xsl:text>s</xsl:text>
-      <xsl:number format="01"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::bibliography">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>bi</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::glossary">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>go</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::index">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>ix</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::setindex">
-      <xsl:text>si</xsl:text>
-      <xsl:number level="any" format="01" from="set"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:text>chunk-filename-error-</xsl:text>
-      <xsl:value-of select="name(.)"/>
-      <xsl:number level="any" format="01" from="set"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-
-
-<xsl:template match="processing-instruction('dbhtml')">
-  <!-- nop -->
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-
-<xsl:template match="*" mode="find.chunks">
-  <xsl:variable name="chunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$chunk != 0">
-      <cf:div id="{generate-id()}">
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:apply-templates select="*" mode="find.chunks"/>
-      </cf:div>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="*" mode="find.chunks"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="/">
-  <!-- * Get a title for current doc so that we let the user -->
-  <!-- * know what document we are processing at this point. -->
-  <xsl:variable name="doc.title">
-    <xsl:call-template name="get.doc.title"/>
-  </xsl:variable>
-  <xsl:choose>
-    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
-         toss the namespace and continue.  Use the docbook5 namespaced
-	 stylesheets for DocBook5 if you don't want to use this feature.-->
-    <!-- include extra test for Xalan quirk -->
-    <xsl:when test="(function-available('exsl:node-set') or                      contains(system-property('xsl:vendor'),                        'Apache Software Foundation'))                     and (*/self::ng:* or */self::db:*)">
-      <xsl:call-template name="log.message">
-        <xsl:with-param name="level">Note</xsl:with-param>
-        <xsl:with-param name="source" select="$doc.title"/>
-        <xsl:with-param name="context-desc">
-          <xsl:text>namesp. cut</xsl:text>
-        </xsl:with-param>
-        <xsl:with-param name="message">
-          <xsl:text>stripped namespace before processing</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:variable name="nons">
-        <xsl:apply-templates mode="stripNS"/>
-      </xsl:variable>
-      <xsl:call-template name="log.message">
-        <xsl:with-param name="level">Note</xsl:with-param>
-        <xsl:with-param name="source" select="$doc.title"/>
-        <xsl:with-param name="context-desc">
-          <xsl:text>namesp. cut</xsl:text>
-        </xsl:with-param>
-        <xsl:with-param name="message">
-          <xsl:text>processing stripped document</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:apply-templates select="exsl:node-set($nons)"/>
-    </xsl:when>
-    <!-- Can't process unless namespace removed -->
-    <xsl:when test="*/self::ng:* or */self::db:*">
-      <xsl:message terminate="yes">
-        <xsl:text>Unable to strip the namespace from DB5 document,</xsl:text>
-        <xsl:text> cannot proceed.</xsl:text>
-      </xsl:message>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$rootid != ''">
-          <xsl:choose>
-            <xsl:when test="count(key('id',$rootid)) = 0">
-              <xsl:message terminate="yes">
-                <xsl:text>ID '</xsl:text>
-                <xsl:value-of select="$rootid"/>
-                <xsl:text>' not found in document.</xsl:text>
-              </xsl:message>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:if test="$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'">
-                <xsl:apply-templates select="key('id', $rootid)" mode="collect.targets"/>
-              </xsl:if>
-              <xsl:if test="$collect.xref.targets != 'only'">
-                <xsl:apply-templates select="key('id',$rootid)" mode="process.root"/>
-                <xsl:if test="$tex.math.in.alt != ''">
-                  <xsl:apply-templates select="key('id',$rootid)" mode="collect.tex.math"/>
-                </xsl:if>
-                <xsl:if test="$generate.manifest != 0">
-                  <xsl:call-template name="generate.manifest">
-                    <xsl:with-param name="node" select="key('id',$rootid)"/>
-                  </xsl:call-template>
-                </xsl:if>
-              </xsl:if>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:if test="$collect.xref.targets = 'yes' or                         $collect.xref.targets = 'only'">
-            <xsl:apply-templates select="/" mode="collect.targets"/>
-          </xsl:if>
-          <xsl:if test="$collect.xref.targets != 'only'">
-            <xsl:apply-templates select="/" mode="process.root"/>
-            <xsl:if test="$tex.math.in.alt != ''">
-              <xsl:apply-templates select="/" mode="collect.tex.math"/>
-            </xsl:if>
-            <xsl:if test="$generate.manifest != 0">
-              <xsl:call-template name="generate.manifest">
-                <xsl:with-param name="node" select="/"/>
-              </xsl:call-template>
-            </xsl:if>
-          </xsl:if>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="process.root">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template match="set|book|part|preface|chapter|appendix                      |article                      |reference|refentry                      |book/glossary|article/glossary|part/glossary                      |book/bibliography|article/bibliography|part/bibliography                      |colophon">
-  <xsl:choose>
-    <xsl:when test="$onechunk != 0 and parent::*">
-      <xsl:apply-imports/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="process-chunk-element"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="sect1|sect2|sect3|sect4|sect5|section">
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="not(parent::*)">
-      <xsl:call-template name="process-chunk-element"/>
-    </xsl:when>
-    <xsl:when test="$ischunk = 0">
-      <xsl:apply-imports/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="process-chunk-element"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="setindex                      |book/index                      |article/index                      |part/index">
-  <!-- some implementations use completely empty index tags to indicate -->
-  <!-- where an automatically generated index should be inserted. so -->
-  <!-- if the index is completely empty, skip it. -->
-  <xsl:if test="count(*)&gt;0 or $generate.index != '0'">
-    <xsl:call-template name="process-chunk-element"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- Resolve xml:base attributes -->
-<xsl:template match="@fileref">
-  <!-- need a check for absolute urls -->
-  <xsl:choose>
-    <xsl:when test="contains(., ':')">
-      <!-- it has a uri scheme so it is an absolute uri -->
-      <xsl:value-of select="."/>
-    </xsl:when>
-    <xsl:when test="$keep.relative.image.uris != 0">
-      <!-- leave it alone -->
-      <xsl:value-of select="."/>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- its a relative uri -->
-      <xsl:call-template name="relative-uri">
-        <xsl:with-param name="destdir">
-          <xsl:call-template name="dbhtml-dir">
-            <xsl:with-param name="context" select=".."/>
-          </xsl:call-template>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<xsl:template match="set|book|part|preface|chapter|appendix                      |article                      |reference|refentry                      |sect1|sect2|sect3|sect4|sect5                      |section                      |book/glossary|article/glossary|part/glossary                      |book/bibliography|article/bibliography|part/bibliography                      |colophon" mode="enumerate-files">
-  <xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable>
-  <xsl:if test="$ischunk='1'">
-    <xsl:call-template name="make-relative-filename">
-      <xsl:with-param name="base.dir">
-        <xsl:if test="$manifest.in.base.dir = 0">
-          <xsl:value-of select="$base.dir"/>
-        </xsl:if>
-      </xsl:with-param>
-      <xsl:with-param name="base.name">
-        <xsl:apply-templates mode="chunk-filename" select="."/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:text>
-</xsl:text>
-  </xsl:if>
-  <xsl:apply-templates select="*" mode="enumerate-files"/>
-</xsl:template>
-
-<xsl:template match="book/index|article/index|part/index" mode="enumerate-files">
-  <xsl:if test="$htmlhelp.output != 1">
-    <xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable>
-    <xsl:if test="$ischunk='1'">
-      <xsl:call-template name="make-relative-filename">
-        <xsl:with-param name="base.dir">
-          <xsl:if test="$manifest.in.base.dir = 0">
-            <xsl:value-of select="$base.dir"/>
-          </xsl:if>
-        </xsl:with-param>
-        <xsl:with-param name="base.name">
-          <xsl:apply-templates mode="chunk-filename" select="."/>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:text>
-</xsl:text>
-    </xsl:if>
-    <xsl:apply-templates select="*" mode="enumerate-files"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="enumerate-files">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-  <xsl:if test="$generate.legalnotice.link != 0">
-    <xsl:call-template name="make-relative-filename">
-      <xsl:with-param name="base.dir">
-        <xsl:if test="$manifest.in.base.dir = 0">
-          <xsl:value-of select="$base.dir"/>
-        </xsl:if>
-      </xsl:with-param>
-      <xsl:with-param name="base.name">
-        <xsl:apply-templates mode="chunk-filename" select="."/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:text>
-</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="mediaobject[imageobject] | inlinemediaobject[imageobject]" mode="enumerate-files">
-  <xsl:variable name="longdesc.uri">
-    <xsl:call-template name="longdesc.uri">
-      <xsl:with-param name="mediaobject" select="."/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="mediaobject" select="."/>
-
-  <xsl:if test="$html.longdesc != 0 and $mediaobject/textobject[not(phrase)]">
-    <xsl:call-template name="longdesc.uri">
-      <xsl:with-param name="mediaobject" select="$mediaobject"/>
-    </xsl:call-template>
-    <xsl:text>
-</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="text()" mode="enumerate-files">
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunk-common.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunk-common.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1545 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0" xmlns:ng="http://docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="exsl cf ng db">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:param name="onechunk" select="0"/>
-<xsl:param name="refentry.separator" select="0"/>
-<xsl:param name="chunk.fast" select="0"/>
-
-<xsl:key name="genid" match="*" use="generate-id()"/>
-
-<!-- ==================================================================== -->
-
-<xsl:variable name="chunk.hierarchy">
-  <xsl:if test="$chunk.fast != 0">
-    <xsl:choose>
-      <xsl:when test="function-available('exsl:node-set')">
-        <xsl:message>Computing chunks...</xsl:message>
-        <xsl:apply-templates select="/*" mode="find.chunks"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:message>
-          <xsl:text>Fast chunking requires exsl:node-set(). </xsl:text>
-          <xsl:text>Using "slow" chunking.</xsl:text>
-        </xsl:message>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-</xsl:variable>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="process-chunk-element">
-  <xsl:param name="content">
-    <xsl:apply-imports/>
-  </xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="$chunk.fast != 0 and function-available('exsl:node-set')">
-      <xsl:variable name="chunks" select="exsl:node-set($chunk.hierarchy)//cf:div"/>
-      <xsl:variable name="genid" select="generate-id()"/>
-
-      <xsl:variable name="div" select="$chunks[@id=$genid or @xml:id=$genid]"/>
-
-      <xsl:variable name="prevdiv" select="($div/preceding-sibling::cf:div|$div/preceding::cf:div|$div/parent::cf:div)[last()]"/>
-      <xsl:variable name="prev" select="key('genid', ($prevdiv/@id|$prevdiv/@xml:id)[1])"/>
-
-      <xsl:variable name="nextdiv" select="($div/following-sibling::cf:div|$div/following::cf:div|$div/cf:div)[1]"/>
-      <xsl:variable name="next" select="key('genid', ($nextdiv/@id|$nextdiv/@xml:id)[1])"/>
-
-      <xsl:choose>
-        <xsl:when test="$onechunk != 0 and parent::*">
-          <xsl:copy-of select="$content"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="process-chunk">
-            <xsl:with-param name="prev" select="$prev"/>
-            <xsl:with-param name="next" select="$next"/>
-            <xsl:with-param name="content" select="$content"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$onechunk != 0 and not(parent::*)">
-          <xsl:call-template name="chunk-all-sections">
-            <xsl:with-param name="content" select="$content"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="$onechunk != 0">
-          <xsl:copy-of select="$content"/>
-        </xsl:when>
-        <xsl:when test="$chunk.first.sections = 0">
-          <xsl:call-template name="chunk-first-section-with-parent">
-            <xsl:with-param name="content" select="$content"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="chunk-all-sections">
-            <xsl:with-param name="content" select="$content"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="process-chunk">
-  <xsl:param name="prev" select="."/>
-  <xsl:param name="next" select="."/>
-  <xsl:param name="content">
-    <xsl:apply-imports/>
-  </xsl:param>
-
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:variable name="chunkfn">
-    <xsl:if test="$ischunk='1'">
-      <xsl:apply-templates mode="chunk-filename" select="."/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:if test="$ischunk='0'">
-    <xsl:message>
-      <xsl:text>Error </xsl:text>
-      <xsl:value-of select="name(.)"/>
-      <xsl:text> is not a chunk!</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="filename">
-    <xsl:call-template name="make-relative-filename">
-      <xsl:with-param name="base.dir" select="$base.dir"/>
-      <xsl:with-param name="base.name" select="$chunkfn"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="write.chunk">
-    <xsl:with-param name="filename" select="$filename"/>
-    <xsl:with-param name="content">
-      <xsl:call-template name="chunk-element-content">
-        <xsl:with-param name="prev" select="$prev"/>
-        <xsl:with-param name="next" select="$next"/>
-        <xsl:with-param name="content" select="$content"/>
-      </xsl:call-template>
-    </xsl:with-param>
-    <xsl:with-param name="quiet" select="$chunk.quietly"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="chunk-first-section-with-parent">
-  <xsl:param name="content">
-    <xsl:apply-imports/>
-  </xsl:param>
-
-  <!-- These xpath expressions are really hairy. The trick is to pick sections -->
-  <!-- that are not first children and are not the children of first children -->
-
-  <!-- Break these variables into pieces to work around
-       http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6063 -->
-
-  <xsl:variable name="prev-v1" select="(ancestor::sect1[$chunk.section.depth &gt; 0                                and preceding-sibling::sect1][1]               |ancestor::sect2[$chunk.section.depth &gt; 1                                and preceding-sibling::sect2                                and parent::sect1[preceding-sibling::sect1]][1]               |ancestor::sect3[$chunk.section.depth &gt; 2                                and preceding-sibling::sect3                                and parent::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |ancestor::sect4[$chunk.section.depth &gt; 3                                and preceding-sibling::sect4                                and parent::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |ancestor::sect5[$chunk.section.depth &gt; 4                                and preceding-sibling::sect5                                and parent::sect4[preceding-sibling::sect4]                                and ancestor::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |ancestor::section[$chunk.section.depth &gt; count(ancestor::section)                                 and not(ancestor::section[not(preceding-sibling::section)])][1])[last()]"/>
-
-  <xsl:variable name="prev-v2" select="(preceding::sect1[$chunk.section.depth &gt; 0                                and preceding-sibling::sect1][1]               |preceding::sect2[$chunk.section.depth &gt; 1                                and preceding-sibling::sect2                                and parent::sect1[preceding-sibling::sect1]][1]               |preceding::sect3[$chunk.section.depth &gt; 2                                and preceding-sibling::sect3                                and parent::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |preceding::sect4[$chunk.section.depth &gt; 3                                and preceding-sibling::sect4                                and parent::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |preceding::sect5[$chunk.section.depth &gt; 4                                and preceding-sibling::sect5                                and parent::sect4[preceding-sibling::sect4]                                and ancestor::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |preceding::section[$chunk.section.depth &gt; count(ancestor::section)                                  and preceding-sibling::section                                  and not(ancestor::section[not(preceding-sibling::section)])][1])[last()]"/>
-
-  <xsl:variable name="prev" select="(preceding::book[1]              |preceding::preface[1]              |preceding::chapter[1]              |preceding::appendix[1]              |preceding::part[1]              |preceding::reference[1]              |preceding::refentry[1]              |preceding::colophon[1]              |preceding::article[1]              |preceding::bibliography[parent::article or parent::book or parent::part][1]              |preceding::glossary[parent::article or parent::book or parent::part][1]              |preceding::index[$generate.index != 0]                                [parent::article or parent::book or parent::part][1]              |preceding::setindex[$generate.index != 0][1]              |ancestor::set              |ancestor::book[1]              |ancestor::preface[1]              |ancestor::chapter[1]              |ancestor::appendix[1]              |ancestor::part[1]              |ancestor::reference[1]              |ancestor::article[1]              |$prev-v1              |$prev-v2)[last()]"/>
-
-  <xsl:variable name="next-v1" select="(following::sect1[$chunk.section.depth &gt; 0                                and preceding-sibling::sect1][1]               |following::sect2[$chunk.section.depth &gt; 1                                and preceding-sibling::sect2                                and parent::sect1[preceding-sibling::sect1]][1]               |following::sect3[$chunk.section.depth &gt; 2                                and preceding-sibling::sect3                                and parent::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |following::sect4[$chunk.section.depth &gt; 3                                and preceding-sibling::sect4                                and parent::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |following::sect5[$chunk.section.depth &gt; 4                                and preceding-sibling::sect5                                and parent::sect4[preceding-sibling::sect4]                                and ancestor::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |following::section[$chunk.section.depth &gt; count(ancestor::section)                                  and preceding-sibling::section                                  and not(ancestor::section[not(preceding-sibling::section)])][1])[1]"/>
-
-  <xsl:variable name="next-v2" select="(descendant::sect1[$chunk.section.depth &gt; 0                                and preceding-sibling::sect1][1]               |descendant::sect2[$chunk.section.depth &gt; 1                                and preceding-sibling::sect2                                and parent::sect1[preceding-sibling::sect1]][1]               |descendant::sect3[$chunk.section.depth &gt; 2                                and preceding-sibling::sect3                                and parent::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |descendant::sect4[$chunk.section.depth &gt; 3                                and preceding-sibling::sect4                                and parent::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |descendant::sect5[$chunk.section.depth &gt; 4                                and preceding-sibling::sect5                                and parent::sect4[preceding-sibling::sect4]                                and ancestor::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |descendant::section[$chunk.section.depth &gt; count(ancestor::section)                                  and preceding-sibling::section                                  and not(ancestor::section[not(preceding-sibling::section)])])[1]"/>
-
-  <xsl:variable name="next" select="(following::book[1]              |following::preface[1]              |following::chapter[1]              |following::appendix[1]              |following::part[1]              |following::reference[1]              |following::refentry[1]              |following::colophon[1]              |following::bibliography[parent::article or parent::book or parent::part][1]              |following::glossary[parent::article or parent::book or parent::part][1]              |following::index[$generate.index != 0]                                [parent::article or parent::book or parent::part][1]              |following::article[1]              |following::setindex[$generate.index != 0][1]              |descendant::book[1]              |descendant::preface[1]              |descendant::chapter[1]              |descendant::appendix[1]              |descendant::article[1]              |descendant::bibliography[parent::article or parent::book or parent::part][1]              |descendant::glossary[parent::article or parent::book or parent::part][1]              |descendant::index[$generate.index != 0]                                [parent::article or parent::book or parent::part][1]              |descendant::colophon[1]              |descendant::setindex[$generate.index != 0][1]              |descendant::part[1]              |descendant::reference[1]              |descendant::refentry[1]              |$next-v1              |$next-v2)[1]"/>
-
-  <xsl:call-template name="process-chunk">
-    <xsl:with-param name="prev" select="$prev"/>
-    <xsl:with-param name="next" select="$next"/>
-    <xsl:with-param name="content" select="$content"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="chunk-all-sections">
-  <xsl:param name="content">
-    <xsl:apply-imports/>
-  </xsl:param>
-
-  <xsl:variable name="prev-v1" select="(preceding::sect1[$chunk.section.depth &gt; 0][1]              |preceding::sect2[$chunk.section.depth &gt; 1][1]              |preceding::sect3[$chunk.section.depth &gt; 2][1]              |preceding::sect4[$chunk.section.depth &gt; 3][1]              |preceding::sect5[$chunk.section.depth &gt; 4][1]              |preceding::section[$chunk.section.depth &gt; count(ancestor::section)][1])[last()]"/>
-
-  <xsl:variable name="prev-v2" select="(ancestor::sect1[$chunk.section.depth &gt; 0][1]              |ancestor::sect2[$chunk.section.depth &gt; 1][1]              |ancestor::sect3[$chunk.section.depth &gt; 2][1]              |ancestor::sect4[$chunk.section.depth &gt; 3][1]              |ancestor::sect5[$chunk.section.depth &gt; 4][1]              |ancestor::section[$chunk.section.depth &gt; count(ancestor::section)][1])[last()]"/>
-
-  <xsl:variable name="prev" select="(preceding::book[1]              |preceding::preface[1]              |preceding::chapter[1]              |preceding::appendix[1]              |preceding::part[1]              |preceding::reference[1]              |preceding::refentry[1]              |preceding::colophon[1]              |preceding::article[1]              |preceding::bibliography[parent::article or parent::book or parent::part][1]              |preceding::glossary[parent::article or parent::book or parent::part][1]              |preceding::index[$generate.index != 0]                                [parent::article or parent::book or parent::part][1]              |preceding::setindex[$generate.index != 0][1]              |ancestor::set              |ancestor::book[1]              |ancestor::preface[1]              |ancestor::chapter[1]              |ancestor::appendix[1]              |ancestor::part[1]              |ancestor::reference[1]              |ancestor::article[1]              |$prev-v1              |$prev-v2)[last()]"/>
-
-  <xsl:variable name="next-v1" select="(following::sect1[$chunk.section.depth &gt; 0][1]              |following::sect2[$chunk.section.depth &gt; 1][1]              |following::sect3[$chunk.section.depth &gt; 2][1]              |following::sect4[$chunk.section.depth &gt; 3][1]              |following::sect5[$chunk.section.depth &gt; 4][1]              |following::section[$chunk.section.depth &gt; count(ancestor::section)][1])[1]"/>
-
-  <xsl:variable name="next-v2" select="(descendant::sect1[$chunk.section.depth &gt; 0][1]              |descendant::sect2[$chunk.section.depth &gt; 1][1]              |descendant::sect3[$chunk.section.depth &gt; 2][1]              |descendant::sect4[$chunk.section.depth &gt; 3][1]              |descendant::sect5[$chunk.section.depth &gt; 4][1]              |descendant::section[$chunk.section.depth                                    &gt; count(ancestor::section)][1])[1]"/>
-
-  <xsl:variable name="next" select="(following::book[1]              |following::preface[1]              |following::chapter[1]              |following::appendix[1]              |following::part[1]              |following::reference[1]              |following::refentry[1]              |following::colophon[1]              |following::bibliography[parent::article or parent::book or parent::part][1]              |following::glossary[parent::article or parent::book or parent::part][1]              |following::index[$generate.index != 0]                                [parent::article or parent::book][1]              |following::article[1]              |following::setindex[$generate.index != 0][1]              |descendant::book[1]              |descendant::preface[1]              |descendant::chapter[1]              |descendant::appendix[1]              |descendant::article[1]              |descendant::bibliography[parent::article or parent::book][1]              |descendant::glossary[parent::article or parent::book or parent::part][1]              |descendant::index[$generate.index != 0]                                [parent::article or parent::book][1]              |descendant::colophon[1]              |descendant::setindex[$generate.index != 0][1]              |descendant::part[1]              |descendant::reference[1]              |descendant::refentry[1]              |$next-v1              |$next-v2)[1]"/>
-
-  <xsl:call-template name="process-chunk">
-    <xsl:with-param name="prev" select="$prev"/>
-    <xsl:with-param name="next" select="$next"/>
-    <xsl:with-param name="content" select="$content"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- ==================================================================== -->
-
-<xsl:template name="make.lots">
-  <xsl:param name="toc.params" select="''"/>
-  <xsl:param name="toc"/>
-
-  <xsl:variable name="lots">
-    <xsl:if test="contains($toc.params, 'toc')">
-      <xsl:copy-of select="$toc"/>
-    </xsl:if>
-
-    <xsl:if test="contains($toc.params, 'figure')">
-      <xsl:choose>
-        <xsl:when test="$chunk.separate.lots != '0'">
-          <xsl:call-template name="make.lot.chunk">
-            <xsl:with-param name="type" select="'figure'"/>
-            <xsl:with-param name="lot">
-              <xsl:call-template name="list.of.titles">
-                <xsl:with-param name="titles" select="'figure'"/>
-                <xsl:with-param name="nodes" select=".//figure"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.titles">
-            <xsl:with-param name="titles" select="'figure'"/>
-            <xsl:with-param name="nodes" select=".//figure"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-
-    <xsl:if test="contains($toc.params, 'table')">
-      <xsl:choose>
-        <xsl:when test="$chunk.separate.lots != '0'">
-          <xsl:call-template name="make.lot.chunk">
-            <xsl:with-param name="type" select="'table'"/>
-            <xsl:with-param name="lot">
-              <xsl:call-template name="list.of.titles">
-                <xsl:with-param name="titles" select="'table'"/>
-                <xsl:with-param name="nodes" select=".//table"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.titles">
-            <xsl:with-param name="titles" select="'table'"/>
-            <xsl:with-param name="nodes" select=".//table"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-
-    <xsl:if test="contains($toc.params, 'example')">
-      <xsl:choose>
-        <xsl:when test="$chunk.separate.lots != '0'">
-          <xsl:call-template name="make.lot.chunk">
-            <xsl:with-param name="type" select="'example'"/>
-            <xsl:with-param name="lot">
-              <xsl:call-template name="list.of.titles">
-                <xsl:with-param name="titles" select="'example'"/>
-                <xsl:with-param name="nodes" select=".//example"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.titles">
-            <xsl:with-param name="titles" select="'example'"/>
-            <xsl:with-param name="nodes" select=".//example"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-
-    <xsl:if test="contains($toc.params, 'equation')">
-      <xsl:choose>
-        <xsl:when test="$chunk.separate.lots != '0'">
-          <xsl:call-template name="make.lot.chunk">
-            <xsl:with-param name="type" select="'equation'"/>
-            <xsl:with-param name="lot">
-              <xsl:call-template name="list.of.titles">
-                <xsl:with-param name="titles" select="'equation'"/>
-                <xsl:with-param name="nodes" select=".//equation"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.titles">
-            <xsl:with-param name="titles" select="'equation'"/>
-            <xsl:with-param name="nodes" select=".//equation"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-
-    <xsl:if test="contains($toc.params, 'procedure')">
-      <xsl:choose>
-        <xsl:when test="$chunk.separate.lots != '0'">
-          <xsl:call-template name="make.lot.chunk">
-            <xsl:with-param name="type" select="'procedure'"/>
-            <xsl:with-param name="lot">
-              <xsl:call-template name="list.of.titles">
-                <xsl:with-param name="titles" select="'procedure'"/>
-                <xsl:with-param name="nodes" select=".//procedure[title]"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.titles">
-            <xsl:with-param name="titles" select="'procedure'"/>
-            <xsl:with-param name="nodes" select=".//procedure[title]"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:if test="string($lots) != ''">
-    <xsl:choose>
-      <xsl:when test="$chunk.tocs.and.lots != 0 and not(parent::*)">
-        <xsl:call-template name="write.chunk">
-          <xsl:with-param name="filename">
-            <xsl:call-template name="make-relative-filename">
-              <xsl:with-param name="base.dir" select="$base.dir"/>
-              <xsl:with-param name="base.name">
-                <xsl:call-template name="dbhtml-dir"/>
-                <xsl:apply-templates select="." mode="recursive-chunk-filename">
-                  <xsl:with-param name="recursive" select="true()"/>
-                </xsl:apply-templates>
-                <xsl:text>-toc</xsl:text>
-                <xsl:value-of select="$html.ext"/>
-              </xsl:with-param>
-            </xsl:call-template>
-          </xsl:with-param>
-          <xsl:with-param name="content">
-            <xsl:call-template name="chunk-element-content">
-              <xsl:with-param name="prev" select="/foo"/>
-              <xsl:with-param name="next" select="/foo"/>
-              <xsl:with-param name="nav.context" select="'toc'"/>
-              <xsl:with-param name="content">
-                <xsl:if test="$chunk.tocs.and.lots.has.title != 0">
-                  <h1>
-                    <xsl:apply-templates select="." mode="object.title.markup"/>
-                  </h1>
-                </xsl:if>
-                <xsl:copy-of select="$lots"/>
-              </xsl:with-param>
-            </xsl:call-template>
-          </xsl:with-param>
-          <xsl:with-param name="quiet" select="$chunk.quietly"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:copy-of select="$lots"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="make.lot.chunk">
-  <xsl:param name="type" select="''"/>
-  <xsl:param name="lot"/>
-
-  <xsl:if test="string($lot) != ''">
-    <xsl:variable name="filename">
-      <xsl:call-template name="make-relative-filename">
-        <xsl:with-param name="base.dir" select="$base.dir"/>
-        <xsl:with-param name="base.name">
-          <xsl:call-template name="dbhtml-dir"/>
-          <xsl:value-of select="$type"/>
-          <xsl:text>-toc</xsl:text>
-          <xsl:value-of select="$html.ext"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:variable name="href">
-      <xsl:call-template name="make-relative-filename">
-        <xsl:with-param name="base.name">
-          <xsl:call-template name="dbhtml-dir"/>
-          <xsl:value-of select="$type"/>
-          <xsl:text>-toc</xsl:text>
-          <xsl:value-of select="$html.ext"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:call-template name="write.chunk">
-      <xsl:with-param name="filename" select="$filename"/>
-      <xsl:with-param name="content">
-        <xsl:call-template name="chunk-element-content">
-          <xsl:with-param name="prev" select="/foo"/>
-          <xsl:with-param name="next" select="/foo"/>
-          <xsl:with-param name="nav.context" select="'toc'"/>
-          <xsl:with-param name="content">
-            <xsl:copy-of select="$lot"/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:with-param>
-      <xsl:with-param name="quiet" select="$chunk.quietly"/>
-    </xsl:call-template>
-    <!-- And output a link to this file -->
-    <div>
-      <xsl:attribute name="class">
-        <xsl:text>ListofTitles</xsl:text>
-      </xsl:attribute>
-      <a href="{$href}">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key">
-            <xsl:choose>
-              <xsl:when test="$type='table'">ListofTables</xsl:when>
-              <xsl:when test="$type='figure'">ListofFigures</xsl:when>
-              <xsl:when test="$type='equation'">ListofEquations</xsl:when>
-              <xsl:when test="$type='example'">ListofExamples</xsl:when>
-              <xsl:when test="$type='procedure'">ListofProcedures</xsl:when>
-              <xsl:otherwise>ListofUnknown</xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:call-template>
-      </a>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="in.other.chunk">
-  <xsl:param name="chunk" select="."/>
-  <xsl:param name="node" select="."/>
-
-  <xsl:variable name="is.chunk">
-    <xsl:call-template name="chunk">
-      <xsl:with-param name="node" select="$node"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-<!--
-  <xsl:message>
-    <xsl:text>in.other.chunk: </xsl:text>
-    <xsl:value-of select="name($chunk)"/>
-    <xsl:text> </xsl:text>
-    <xsl:value-of select="name($node)"/>
-    <xsl:text> </xsl:text>
-    <xsl:value-of select="$chunk = $node"/>
-    <xsl:text> </xsl:text>
-    <xsl:value-of select="$is.chunk"/>
-  </xsl:message>
--->
-
-  <xsl:choose>
-    <xsl:when test="$chunk = $node">0</xsl:when>
-    <xsl:when test="$is.chunk = 1">1</xsl:when>
-    <xsl:when test="count($node) = 0">0</xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="in.other.chunk">
-        <xsl:with-param name="chunk" select="$chunk"/>
-        <xsl:with-param name="node" select="$node/parent::*"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="count.footnotes.in.this.chunk">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="footnotes" select="$node//footnote"/>
-  <xsl:param name="count" select="0"/>
-
-<!--
-  <xsl:message>
-    <xsl:text>count.footnotes.in.this.chunk: </xsl:text>
-    <xsl:value-of select="name($node)"/>
-  </xsl:message>
--->
-
-  <xsl:variable name="in.other.chunk">
-    <xsl:call-template name="in.other.chunk">
-      <xsl:with-param name="chunk" select="$node"/>
-      <xsl:with-param name="node" select="$footnotes[1]"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="count($footnotes) = 0">
-      <xsl:value-of select="$count"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$in.other.chunk != 0">
-          <xsl:call-template name="count.footnotes.in.this.chunk">
-            <xsl:with-param name="node" select="$node"/>
-            <xsl:with-param name="footnotes" select="$footnotes[position() &gt; 1]"/>
-            <xsl:with-param name="count" select="$count"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="$footnotes[1]/ancestor::table                         |$footnotes[1]/ancestor::informaltable">
-          <xsl:call-template name="count.footnotes.in.this.chunk">
-            <xsl:with-param name="node" select="$node"/>
-            <xsl:with-param name="footnotes" select="$footnotes[position() &gt; 1]"/>
-            <xsl:with-param name="count" select="$count"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="count.footnotes.in.this.chunk">
-            <xsl:with-param name="node" select="$node"/>
-            <xsl:with-param name="footnotes" select="$footnotes[position() &gt; 1]"/>
-            <xsl:with-param name="count" select="$count + 1"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="process.footnotes.in.this.chunk">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="footnotes" select="$node//footnote"/>
-
-<!--
-  <xsl:message>process.footnotes.in.this.chunk</xsl:message>
--->
-
-  <xsl:variable name="in.other.chunk">
-    <xsl:call-template name="in.other.chunk">
-      <xsl:with-param name="chunk" select="$node"/>
-      <xsl:with-param name="node" select="$footnotes[1]"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="count($footnotes) = 0">
-      <!-- nop -->
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$in.other.chunk != 0">
-          <xsl:call-template name="process.footnotes.in.this.chunk">
-            <xsl:with-param name="node" select="$node"/>
-            <xsl:with-param name="footnotes" select="$footnotes[position() &gt; 1]"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="$footnotes[1]/ancestor::table                         |$footnotes[1]/ancestor::informaltable">
-          <xsl:call-template name="process.footnotes.in.this.chunk">
-            <xsl:with-param name="node" select="$node"/>
-            <xsl:with-param name="footnotes" select="$footnotes[position() &gt; 1]"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$footnotes[1]" mode="process.footnote.mode"/>
-          <xsl:call-template name="process.footnotes.in.this.chunk">
-            <xsl:with-param name="node" select="$node"/>
-            <xsl:with-param name="footnotes" select="$footnotes[position() &gt; 1]"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="process.footnotes">
-  <xsl:variable name="footnotes" select=".//footnote"/>
-  <xsl:variable name="fcount">
-    <xsl:call-template name="count.footnotes.in.this.chunk">
-      <xsl:with-param name="node" select="."/>
-      <xsl:with-param name="footnotes" select="$footnotes"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-<!--
-  <xsl:message>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text> fcount: </xsl:text>
-    <xsl:value-of select="$fcount"/>
-  </xsl:message>
--->
-
-  <!-- Only bother to do this if there's at least one non-table footnote -->
-  <xsl:if test="$fcount &gt; 0">
-    <div class="footnotes">
-      <br/>
-      <hr width="100" align="left"/>
-      <xsl:call-template name="process.footnotes.in.this.chunk">
-        <xsl:with-param name="node" select="."/>
-        <xsl:with-param name="footnotes" select="$footnotes"/>
-      </xsl:call-template>
-    </div>
-  </xsl:if>
-
-  <!-- FIXME: When chunking, only the annotations actually used
-              in this chunk should be referenced. I don't think it
-              does any harm to reference them all, but it adds
-              unnecessary bloat to each chunk. -->
-  <xsl:if test="$annotation.support != 0 and //annotation">
-    <div class="annotation-list">
-      <div class="annotation-nocss">
-        <p>The following annotations are from this essay. You are seeing
-        them here because your browser doesn&#8217;t support the user-interface
-        techniques used to make them appear as &#8216;popups&#8217; on modern browsers.</p>
-      </div>
-
-      <xsl:apply-templates select="//annotation" mode="annotation-popup"/>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="process.chunk.footnotes">
-  <xsl:variable name="is.chunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-  <xsl:if test="$is.chunk = 1">
-    <xsl:call-template name="process.footnotes"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template name="chunk">
-  <xsl:param name="node" select="."/>
-  <!-- returns 1 if $node is a chunk -->
-
-  <!-- ==================================================================== -->
-  <!-- What's a chunk?
-
-       The root element
-       appendix
-       article
-       bibliography  in article or part or book
-       book
-       chapter
-       colophon
-       glossary      in article or part or book
-       index         in article or part or book
-       part
-       preface
-       refentry
-       reference
-       sect{1,2,3,4,5}  if position()>1 && depth < chunk.section.depth
-       section          if position()>1 && depth < chunk.section.depth
-       set
-       setindex
-                                                                            -->
-  <!-- ==================================================================== -->
-
-<!--
-  <xsl:message>
-    <xsl:text>chunk: </xsl:text>
-    <xsl:value-of select="name($node)"/>
-    <xsl:text>(</xsl:text>
-    <xsl:value-of select="$node/@id"/>
-    <xsl:text>)</xsl:text>
-    <xsl:text> csd: </xsl:text>
-    <xsl:value-of select="$chunk.section.depth"/>
-    <xsl:text> cfs: </xsl:text>
-    <xsl:value-of select="$chunk.first.sections"/>
-    <xsl:text> ps: </xsl:text>
-    <xsl:value-of select="count($node/parent::section)"/>
-    <xsl:text> prs: </xsl:text>
-    <xsl:value-of select="count($node/preceding-sibling::section)"/>
-  </xsl:message>
--->
-
-  <xsl:choose>
-    <xsl:when test="not($node/parent::*)">1</xsl:when>
-
-    <xsl:when test="local-name($node) = 'sect1'                     and $chunk.section.depth &gt;= 1                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::sect1) &gt; 0)">
-      <xsl:text>1</xsl:text>
-    </xsl:when>
-    <xsl:when test="local-name($node) = 'sect2'                     and $chunk.section.depth &gt;= 2                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::sect2) &gt; 0)">
-      <xsl:call-template name="chunk">
-        <xsl:with-param name="node" select="$node/parent::*"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="local-name($node) = 'sect3'                     and $chunk.section.depth &gt;= 3                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::sect3) &gt; 0)">
-      <xsl:call-template name="chunk">
-        <xsl:with-param name="node" select="$node/parent::*"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="local-name($node) = 'sect4'                     and $chunk.section.depth &gt;= 4                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::sect4) &gt; 0)">
-      <xsl:call-template name="chunk">
-        <xsl:with-param name="node" select="$node/parent::*"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="local-name($node) = 'sect5'                     and $chunk.section.depth &gt;= 5                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::sect5) &gt; 0)">
-      <xsl:call-template name="chunk">
-        <xsl:with-param name="node" select="$node/parent::*"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="local-name($node) = 'section'                     and $chunk.section.depth &gt;= count($node/ancestor::section)+1                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::section) &gt; 0)">
-      <xsl:call-template name="chunk">
-        <xsl:with-param name="node" select="$node/parent::*"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:when test="local-name($node)='preface'">1</xsl:when>
-    <xsl:when test="local-name($node)='chapter'">1</xsl:when>
-    <xsl:when test="local-name($node)='appendix'">1</xsl:when>
-    <xsl:when test="local-name($node)='article'">1</xsl:when>
-    <xsl:when test="local-name($node)='part'">1</xsl:when>
-    <xsl:when test="local-name($node)='reference'">1</xsl:when>
-    <xsl:when test="local-name($node)='refentry'">1</xsl:when>
-    <xsl:when test="local-name($node)='index' and ($generate.index != 0 or count($node/*) &gt; 0)                     and (local-name($node/parent::*) = 'article'                     or local-name($node/parent::*) = 'book'                     or local-name($node/parent::*) = 'part'                     )">1</xsl:when>
-    <xsl:when test="local-name($node)='bibliography'                     and (local-name($node/parent::*) = 'article'                     or local-name($node/parent::*) = 'book'                     or local-name($node/parent::*) = 'part'                     )">1</xsl:when>
-    <xsl:when test="local-name($node)='glossary'                     and (local-name($node/parent::*) = 'article'                     or local-name($node/parent::*) = 'book'                     or local-name($node/parent::*) = 'part'                     )">1</xsl:when>
-    <xsl:when test="local-name($node)='colophon'">1</xsl:when>
-    <xsl:when test="local-name($node)='book'">1</xsl:when>
-    <xsl:when test="local-name($node)='set'">1</xsl:when>
-    <xsl:when test="local-name($node)='setindex'">1</xsl:when>
-    <xsl:when test="local-name($node)='legalnotice'                     and $generate.legalnotice.link != 0">1</xsl:when>
-    <xsl:otherwise>0</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<xsl:template name="href.target.uri">
-  <xsl:param name="object" select="."/>
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk">
-      <xsl:with-param name="node" select="$object"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:apply-templates mode="chunk-filename" select="$object"/>
-
-  <xsl:if test="$ischunk='0'">
-    <xsl:text>#</xsl:text>
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$object"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="href.target">
-  <xsl:param name="context" select="."/>
-  <xsl:param name="object" select="."/>
-  <xsl:param name="toc-context" select="."/>
-  <!-- * If $toc-context contains some node other than the current node, -->
-  <!-- * it means we're processing a link in a TOC. In that case, to -->
-  <!-- * ensure the link will work correctly, we need to take a look at -->
-  <!-- * where the file containing the TOC will get written, and where -->
-  <!-- * the file that's being linked to will get written. -->
-  <xsl:variable name="toc-output-dir">
-    <xsl:if test="not($toc-context = .)">
-      <!-- * Get the $toc-context node and all its ancestors, look down -->
-      <!-- * through them to find the last/closest node to the -->
-      <!-- * toc-context node that has a "dbhtml dir" PI, and get the -->
-      <!-- * directory name from that. That's the name of the directory -->
-      <!-- * to which the current toc output file will get written. -->
-      <xsl:call-template name="dbhtml-dir">
-        <xsl:with-param name="context" select="$toc-context/ancestor-or-self::*[processing-instruction('dbhtml')[contains(.,'dir')]][last()]"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="linked-file-output-dir">
-    <xsl:if test="not($toc-context = .)">
-      <!-- * Get the current node and all its ancestors, look down -->
-      <!-- * through them to find the last/closest node to the current -->
-      <!-- * node that has a "dbhtml dir" PI, and get the directory name -->
-      <!-- * from that.  That's the name of the directory to which the -->
-      <!-- * file that's being linked to will get written. -->
-      <xsl:call-template name="dbhtml-dir">
-        <xsl:with-param name="context" select="ancestor-or-self::*[processing-instruction('dbhtml')[contains(.,'dir')]][last()]"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="href.to.uri">
-    <xsl:call-template name="href.target.uri">
-      <xsl:with-param name="object" select="$object"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="href.from.uri">
-    <xsl:call-template name="href.target.uri">
-      <xsl:with-param name="object" select="$context"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <!-- * <xsl:message>toc-context: <xsl:value-of select="local-name($toc-context)"/></xsl:message> -->
-  <!-- * <xsl:message>node: <xsl:value-of select="local-name(.)"/></xsl:message> -->
-  <!-- * <xsl:message>context: <xsl:value-of select="local-name($context)"/></xsl:message> -->
-  <!-- * <xsl:message>object: <xsl:value-of select="local-name($object)"/></xsl:message> -->
-  <!-- * <xsl:message>toc-output-dir: <xsl:value-of select="$toc-output-dir"/></xsl:message> -->
-  <!-- * <xsl:message>linked-file-output-dir: <xsl:value-of select="$linked-file-output-dir"/></xsl:message> -->
-  <!-- * <xsl:message>href.to.uri: <xsl:value-of select="$href.to.uri"/></xsl:message> -->
-  <!-- * <xsl:message>href.from.uri: <xsl:value-of select="$href.from.uri"/></xsl:message> -->
-  <xsl:variable name="href.to">
-    <xsl:choose>
-      <!-- * 2007-07-19, MikeSmith: Added the following conditional to -->
-      <!-- * deal with a problem case for links in TOCs. It checks to see -->
-      <!-- * if the output dir that a TOC will get written to is -->
-      <!-- * different from the output dir of the file being linked to. -->
-      <!-- * If it is different, we do not call trim.common.uri.paths. -->
-      <!-- *  -->
-      <!-- * Reason why I added that conditional is: I ran into a bug for -->
-      <!-- * this case: -->
-      <!-- *  -->
-      <!-- * 1. we are chunking into separate dirs -->
-      <!-- *  -->
-      <!-- * 2. output for the TOC is written to current dir, but the file -->
-      <!-- *    being linked to is written to some subdir "foo". -->
-      <!-- *  -->
-      <!-- * For that case, links to that file in that TOC did not show -->
-      <!-- * the correct path - they omitted the "foo". -->
-      <!-- *  -->
-      <!-- * The cause of that problem was that the trim.common.uri.paths -->
-      <!-- * template[1] was being called under all conditions. But it's -->
-      <!-- * apparent that we don't want to call trim.common.uri.paths in -->
-      <!-- * the case where a linked file is being written to a different -->
-      <!-- * directory than the TOC that contains the link, because doing -->
-      <!-- * so will cause a necessary (not redundant) directory-name -->
-      <!-- * part of the link to get inadvertently trimmed, resulting in -->
-      <!-- * a broken link to that file. Thus, added the conditional. -->
-      <!-- *  -->
-      <!-- * [1] The purpose of the trim.common.uri.paths template is to -->
-      <!-- * prevent cases where, if we didn't call it, we end up with -->
-      <!-- * unnecessary, redundant directory names getting output; for -->
-      <!-- * example, "foo/foo/refname.html". -->
-      <xsl:when test="not($toc-output-dir = $linked-file-output-dir)">
-        <xsl:value-of select="$href.to.uri"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="trim.common.uri.paths">
-          <xsl:with-param name="uriA" select="$href.to.uri"/>
-          <xsl:with-param name="uriB" select="$href.from.uri"/>
-          <xsl:with-param name="return" select="'A'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:variable name="href.from">
-    <xsl:call-template name="trim.common.uri.paths">
-      <xsl:with-param name="uriA" select="$href.to.uri"/>
-      <xsl:with-param name="uriB" select="$href.from.uri"/>
-      <xsl:with-param name="return" select="'B'"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="depth">
-    <xsl:call-template name="count.uri.path.depth">
-      <xsl:with-param name="filename" select="$href.from"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="href">
-    <xsl:call-template name="copy-string">
-      <xsl:with-param name="string" select="'../'"/>
-      <xsl:with-param name="count" select="$depth"/>
-    </xsl:call-template>
-    <xsl:value-of select="$href.to"/>
-  </xsl:variable>
-  <!--
-  <xsl:message>
-    <xsl:text>In </xsl:text>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text> (</xsl:text>
-    <xsl:value-of select="$href.from"/>
-    <xsl:text>,</xsl:text>
-    <xsl:value-of select="$depth"/>
-    <xsl:text>) </xsl:text>
-    <xsl:value-of select="name($object)"/>
-    <xsl:text> href=</xsl:text>
-    <xsl:value-of select="$href"/>
-  </xsl:message>
-  -->
-  <xsl:value-of select="$href"/>
-</xsl:template>
-
-<!-- Returns the complete olink href value if found -->
-<!-- Must take into account any dbhtml dir of the chunk containing the olink -->
-<xsl:template name="make.olink.href">
-  <xsl:param name="olink.key" select="''"/>
-  <xsl:param name="target.database"/>
-
-  <xsl:if test="$olink.key != ''">
-    <xsl:variable name="target.href">
-      <xsl:for-each select="$target.database">
-        <xsl:value-of select="key('targetptr-key', $olink.key)/@href"/>
-      </xsl:for-each>
-    </xsl:variable>
-  
-    <!-- an olink starting point may be in a subdirectory, so need
-         the "from" reference point to compute a relative path -->
-
-    <xsl:variable name="from.href">
-      <xsl:call-template name="olink.from.uri">
-        <xsl:with-param name="target.database" select="$target.database"/>
-        <xsl:with-param name="object" select="."/>
-        <xsl:with-param name="object.targetdoc" select="$current.docid"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <!-- If the from.href has directory path, then must "../" upward
-         to document level -->
-    <xsl:variable name="upward.from.path">
-      <xsl:call-template name="upward.path">
-        <xsl:with-param name="path" select="$from.href"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:variable name="targetdoc">
-      <xsl:value-of select="substring-before($olink.key, '/')"/>
-    </xsl:variable>
-  
-    <!-- Does the target database use a sitemap? -->
-    <xsl:variable name="use.sitemap">
-      <xsl:choose>
-        <xsl:when test="$target.database//sitemap">1</xsl:when>
-        <xsl:otherwise>0</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-  
-  
-    <!-- Get the baseuri for this targetptr -->
-    <xsl:variable name="baseuri">
-      <xsl:choose>
-        <!-- Does the database use a sitemap? -->
-        <xsl:when test="$use.sitemap != 0">
-          <xsl:choose>
-            <!-- Was current.docid parameter set? -->
-            <xsl:when test="$current.docid != ''">
-              <!-- Was it found in the database? -->
-              <xsl:variable name="currentdoc.key">
-                <xsl:for-each select="$target.database">
-                  <xsl:value-of select="key('targetdoc-key',                                         $current.docid)/@targetdoc"/>
-                </xsl:for-each>
-              </xsl:variable>
-              <xsl:choose>
-                <xsl:when test="$currentdoc.key != ''">
-                  <xsl:for-each select="$target.database">
-                    <xsl:call-template name="targetpath">
-                      <xsl:with-param name="dirnode" select="key('targetdoc-key', $current.docid)/parent::dir"/>
-                      <xsl:with-param name="targetdoc" select="$targetdoc"/>
-                    </xsl:call-template>
-                  </xsl:for-each>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:message>
-                    <xsl:text>Olink error: cannot compute relative </xsl:text>
-                    <xsl:text>sitemap path because $current.docid '</xsl:text>
-                    <xsl:value-of select="$current.docid"/>
-                    <xsl:text>' not found in target database.</xsl:text>
-                  </xsl:message>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:message>
-                <xsl:text>Olink warning: cannot compute relative </xsl:text>
-                <xsl:text>sitemap path without $current.docid parameter</xsl:text>
-              </xsl:message>
-            </xsl:otherwise>
-          </xsl:choose> 
-          <!-- In either case, add baseuri from its document entry-->
-          <xsl:variable name="docbaseuri">
-            <xsl:for-each select="$target.database">
-              <xsl:value-of select="key('targetdoc-key', $targetdoc)/@baseuri"/>
-            </xsl:for-each>
-          </xsl:variable>
-          <xsl:if test="$docbaseuri != ''">
-            <xsl:value-of select="$docbaseuri"/>
-          </xsl:if>
-        </xsl:when>
-        <!-- No database sitemap in use -->
-        <xsl:otherwise>
-          <!-- Just use any baseuri from its document entry -->
-          <xsl:variable name="docbaseuri">
-            <xsl:for-each select="$target.database">
-              <xsl:value-of select="key('targetdoc-key', $targetdoc)/@baseuri"/>
-            </xsl:for-each>
-          </xsl:variable>
-          <xsl:if test="$docbaseuri != ''">
-            <xsl:value-of select="$docbaseuri"/>
-          </xsl:if>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-  
-    <!-- Form the href information -->
-    <xsl:if test="not(contains($baseuri, ':'))">
-      <!-- if not an absolute uri, add upward path from olink chunk -->
-      <xsl:value-of select="$upward.from.path"/>
-    </xsl:if>
-
-    <xsl:if test="$baseuri != ''">
-      <xsl:value-of select="$baseuri"/>
-      <xsl:if test="substring($target.href,1,1) != '#'">
-        <!--xsl:text>/</xsl:text-->
-      </xsl:if>
-    </xsl:if>
-    <!-- optionally turn off frag for PDF references -->
-    <xsl:if test="not($insert.olink.pdf.frag = 0 and           translate(substring($baseuri, string-length($baseuri) - 3),                     'PDF', 'pdf') = '.pdf'           and starts-with($target.href, '#') )">
-      <xsl:value-of select="$target.href"/>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<!-- Computes "../" to reach top -->
-<xsl:template name="upward.path">
-  <xsl:param name="path" select="''"/>
-  <xsl:choose> 
-    <!-- Don't bother with absolute uris -->
-    <xsl:when test="contains($path, ':')"/>
-    <xsl:when test="starts-with($path, '/')"/>
-    <xsl:when test="contains($path, '/')">
-      <xsl:text>../</xsl:text>
-      <xsl:call-template name="upward.path">
-        <xsl:with-param name="path" select="substring-after($path, '/')"/>
-      </xsl:call-template>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="html.head">
-  <xsl:param name="prev" select="/foo"/>
-  <xsl:param name="next" select="/foo"/>
-  <xsl:variable name="this" select="."/>
-  <xsl:variable name="home" select="/*[1]"/>
-  <xsl:variable name="up" select="parent::*"/>
-
-  <head>
-    <xsl:call-template name="system.head.content"/>
-    <xsl:call-template name="head.content"/>
-
-    <xsl:if test="$home">
-      <link rel="start">
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$home"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="title">
-          <xsl:apply-templates select="$home" mode="object.title.markup.textonly"/>
-        </xsl:attribute>
-      </link>
-    </xsl:if>
-
-    <xsl:if test="$up">
-      <link rel="up">
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$up"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="title">
-          <xsl:apply-templates select="$up" mode="object.title.markup.textonly"/>
-        </xsl:attribute>
-      </link>
-    </xsl:if>
-
-    <xsl:if test="$prev">
-      <link rel="prev">
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$prev"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="title">
-          <xsl:apply-templates select="$prev" mode="object.title.markup.textonly"/>
-        </xsl:attribute>
-      </link>
-    </xsl:if>
-
-    <xsl:if test="$next">
-      <link rel="next">
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$next"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:attribute name="title">
-          <xsl:apply-templates select="$next" mode="object.title.markup.textonly"/>
-        </xsl:attribute>
-      </link>
-    </xsl:if>
-
-    <xsl:if test="$html.extra.head.links != 0">
-      <xsl:for-each select="//part                             |//reference                             |//preface                             |//chapter                             |//article                             |//refentry                             |//appendix[not(parent::article)]|appendix                             |//glossary[not(parent::article)]|glossary                             |//index[not(parent::article)]|index">
-        <link rel="{local-name(.)}">
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="context" select="$this"/>
-              <xsl:with-param name="object" select="."/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:attribute name="title">
-            <xsl:apply-templates select="." mode="object.title.markup.textonly"/>
-          </xsl:attribute>
-        </link>
-      </xsl:for-each>
-
-      <xsl:for-each select="section|sect1|refsection|refsect1">
-        <link>
-          <xsl:attribute name="rel">
-            <xsl:choose>
-              <xsl:when test="local-name($this) = 'section'                               or local-name($this) = 'refsection'">
-                <xsl:value-of select="'subsection'"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:value-of select="'section'"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:attribute>
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="context" select="$this"/>
-              <xsl:with-param name="object" select="."/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:attribute name="title">
-            <xsl:apply-templates select="." mode="object.title.markup.textonly"/>
-          </xsl:attribute>
-        </link>
-      </xsl:for-each>
-
-      <xsl:for-each select="sect2|sect3|sect4|sect5|refsect2|refsect3">
-        <link rel="subsection">
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="context" select="$this"/>
-              <xsl:with-param name="object" select="."/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:attribute name="title">
-            <xsl:apply-templates select="." mode="object.title.markup.textonly"/>
-          </xsl:attribute>
-        </link>
-      </xsl:for-each>
-    </xsl:if>
-
-    <!-- * if we have a legalnotice and user wants it output as a -->
-    <!-- * separate page and $html.head.legalnotice.link.types is -->
-    <!-- * non-empty, we generate a link or links for each value in -->
-    <!-- * $html.head.legalnotice.link.types -->
-    <xsl:if test="//legalnotice                   and not($generate.legalnotice.link = 0)                   and not($html.head.legalnotice.link.types = '')">
-      <xsl:call-template name="make.legalnotice.head.links"/>
-    </xsl:if>
-
-    <xsl:call-template name="user.head.content"/>
-  </head>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="header.navigation">
-  <xsl:param name="prev" select="/foo"/>
-  <xsl:param name="next" select="/foo"/>
-  <xsl:param name="nav.context"/>
-
-  <xsl:variable name="home" select="/*[1]"/>
-  <xsl:variable name="up" select="parent::*"/>
-
-  <xsl:variable name="row1" select="$navig.showtitles != 0"/>
-  <xsl:variable name="row2" select="count($prev) &gt; 0                                     or (count($up) &gt; 0                                          and generate-id($up) != generate-id($home)                                         and $navig.showtitles != 0)                                     or count($next) &gt; 0"/>
-
-  <xsl:if test="$suppress.navigation = '0' and $suppress.header.navigation = '0'">
-    <div class="navheader">
-      <xsl:if test="$row1 or $row2">
-        <table width="100%" summary="Navigation header">
-          <xsl:if test="$row1">
-            <tr>
-              <th colspan="3" align="center">
-                <xsl:apply-templates select="." mode="object.title.markup"/>
-              </th>
-            </tr>
-          </xsl:if>
-
-          <xsl:if test="$row2">
-            <tr>
-              <td width="20%" align="left">
-                <xsl:if test="count($prev)&gt;0">
-                  <a accesskey="p">
-                    <xsl:attribute name="href">
-                      <xsl:call-template name="href.target">
-                        <xsl:with-param name="object" select="$prev"/>
-                      </xsl:call-template>
-                    </xsl:attribute>
-                    <xsl:call-template name="navig.content">
-                      <xsl:with-param name="direction" select="'prev'"/>
-                    </xsl:call-template>
-                  </a>
-                </xsl:if>
-                <xsl:text>&#160;</xsl:text>
-              </td>
-              <th width="60%" align="center">
-                <xsl:choose>
-                  <xsl:when test="count($up) &gt; 0                                   and generate-id($up) != generate-id($home)                                   and $navig.showtitles != 0">
-                    <xsl:apply-templates select="$up" mode="object.title.markup"/>
-                  </xsl:when>
-                  <xsl:otherwise>&#160;</xsl:otherwise>
-                </xsl:choose>
-              </th>
-              <td width="20%" align="right">
-                <xsl:text>&#160;</xsl:text>
-                <xsl:if test="count($next)&gt;0">
-                  <a accesskey="n">
-                    <xsl:attribute name="href">
-                      <xsl:call-template name="href.target">
-                        <xsl:with-param name="object" select="$next"/>
-                      </xsl:call-template>
-                    </xsl:attribute>
-                    <xsl:call-template name="navig.content">
-                      <xsl:with-param name="direction" select="'next'"/>
-                    </xsl:call-template>
-                  </a>
-                </xsl:if>
-              </td>
-            </tr>
-          </xsl:if>
-        </table>
-      </xsl:if>
-      <xsl:if test="$header.rule != 0">
-        <hr/>
-      </xsl:if>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="footer.navigation">
-  <xsl:param name="prev" select="/foo"/>
-  <xsl:param name="next" select="/foo"/>
-  <xsl:param name="nav.context"/>
-
-  <xsl:variable name="home" select="/*[1]"/>
-  <xsl:variable name="up" select="parent::*"/>
-
-  <xsl:variable name="row1" select="count($prev) &gt; 0                                     or count($up) &gt; 0                                     or count($next) &gt; 0"/>
-
-  <xsl:variable name="row2" select="($prev and $navig.showtitles != 0)                                     or (generate-id($home) != generate-id(.)                                         or $nav.context = 'toc')                                     or ($chunk.tocs.and.lots != 0                                         and $nav.context != 'toc')                                     or ($next and $navig.showtitles != 0)"/>
-
-  <xsl:if test="$suppress.navigation = '0' and $suppress.footer.navigation = '0'">
-    <div class="navfooter">
-      <xsl:if test="$footer.rule != 0">
-        <hr/>
-      </xsl:if>
-
-      <xsl:if test="$row1 or $row2">
-        <table width="100%" summary="Navigation footer">
-          <xsl:if test="$row1">
-            <tr>
-              <td width="40%" align="left">
-                <xsl:if test="count($prev)&gt;0">
-                  <a accesskey="p">
-                    <xsl:attribute name="href">
-                      <xsl:call-template name="href.target">
-                        <xsl:with-param name="object" select="$prev"/>
-                      </xsl:call-template>
-                    </xsl:attribute>
-                    <xsl:call-template name="navig.content">
-                      <xsl:with-param name="direction" select="'prev'"/>
-                    </xsl:call-template>
-                  </a>
-                </xsl:if>
-                <xsl:text>&#160;</xsl:text>
-              </td>
-              <td width="20%" align="center">
-                <xsl:choose>
-                  <xsl:when test="count($up)&gt;0                                   and generate-id($up) != generate-id($home)">
-                    <a accesskey="u">
-                      <xsl:attribute name="href">
-                        <xsl:call-template name="href.target">
-                          <xsl:with-param name="object" select="$up"/>
-                        </xsl:call-template>
-                      </xsl:attribute>
-                      <xsl:call-template name="navig.content">
-                        <xsl:with-param name="direction" select="'up'"/>
-                      </xsl:call-template>
-                    </a>
-                  </xsl:when>
-                  <xsl:otherwise>&#160;</xsl:otherwise>
-                </xsl:choose>
-              </td>
-              <td width="40%" align="right">
-                <xsl:text>&#160;</xsl:text>
-                <xsl:if test="count($next)&gt;0">
-                  <a accesskey="n">
-                    <xsl:attribute name="href">
-                      <xsl:call-template name="href.target">
-                        <xsl:with-param name="object" select="$next"/>
-                      </xsl:call-template>
-                    </xsl:attribute>
-                    <xsl:call-template name="navig.content">
-                      <xsl:with-param name="direction" select="'next'"/>
-                    </xsl:call-template>
-                  </a>
-                </xsl:if>
-              </td>
-            </tr>
-          </xsl:if>
-
-          <xsl:if test="$row2">
-            <tr>
-              <td width="40%" align="left" valign="top">
-                <xsl:if test="$navig.showtitles != 0">
-                  <xsl:apply-templates select="$prev" mode="object.title.markup"/>
-                </xsl:if>
-                <xsl:text>&#160;</xsl:text>
-              </td>
-              <td width="20%" align="center">
-                <xsl:choose>
-                  <xsl:when test="$home != . or $nav.context = 'toc'">
-                    <a accesskey="h">
-                      <xsl:attribute name="href">
-                        <xsl:call-template name="href.target">
-                          <xsl:with-param name="object" select="$home"/>
-                        </xsl:call-template>
-                      </xsl:attribute>
-                      <xsl:call-template name="navig.content">
-                        <xsl:with-param name="direction" select="'home'"/>
-                      </xsl:call-template>
-                    </a>
-                    <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
-                      <xsl:text>&#160;|&#160;</xsl:text>
-                    </xsl:if>
-                  </xsl:when>
-                  <xsl:otherwise>&#160;</xsl:otherwise>
-                </xsl:choose>
-
-                <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
-                  <a accesskey="t">
-                    <xsl:attribute name="href">
-                      <xsl:apply-templates select="/*[1]" mode="recursive-chunk-filename">
-                        <xsl:with-param name="recursive" select="true()"/>
-                      </xsl:apply-templates>
-                      <xsl:text>-toc</xsl:text>
-                      <xsl:value-of select="$html.ext"/>
-                    </xsl:attribute>
-                    <xsl:call-template name="gentext">
-                      <xsl:with-param name="key" select="'nav-toc'"/>
-                    </xsl:call-template>
-                  </a>
-                </xsl:if>
-              </td>
-              <td width="40%" align="right" valign="top">
-                <xsl:text>&#160;</xsl:text>
-                <xsl:if test="$navig.showtitles != 0">
-                  <xsl:apply-templates select="$next" mode="object.title.markup"/>
-                </xsl:if>
-              </td>
-            </tr>
-          </xsl:if>
-        </table>
-      </xsl:if>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="navig.content">
-    <xsl:param name="direction" select="next"/>
-    <xsl:variable name="navtext">
-        <xsl:choose>
-            <xsl:when test="$direction = 'prev'">
-                <xsl:call-template name="gentext.nav.prev"/>
-            </xsl:when>
-            <xsl:when test="$direction = 'next'">
-                <xsl:call-template name="gentext.nav.next"/>
-            </xsl:when>
-            <xsl:when test="$direction = 'up'">
-                <xsl:call-template name="gentext.nav.up"/>
-            </xsl:when>
-            <xsl:when test="$direction = 'home'">
-                <xsl:call-template name="gentext.nav.home"/>
-            </xsl:when>
-            <xsl:otherwise>
-                <xsl:text>xxx</xsl:text>
-            </xsl:otherwise>
-        </xsl:choose>
-    </xsl:variable>
-
-    <xsl:choose>
-        <xsl:when test="$navig.graphics != 0">
-            <img>
-                <xsl:attribute name="src">
-                    <xsl:value-of select="$navig.graphics.path"/>
-                    <xsl:value-of select="$direction"/>
-                    <xsl:value-of select="$navig.graphics.extension"/>
-                </xsl:attribute>
-                <xsl:attribute name="alt">
-                    <xsl:value-of select="$navtext"/>
-                </xsl:attribute>
-            </img>
-        </xsl:when>
-        <xsl:otherwise>
-            <xsl:value-of select="$navtext"/>
-        </xsl:otherwise>
-    </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- * The following template assumes that the first legalnotice -->
-<!-- * instance found in a document applies to the contents of the -->
-<!-- * entire document. It generates an HTML link in each chunk, back -->
-<!-- * to the file containing the contents of the first legalnotice. -->
-<!-- * -->
-<!-- * Actually, it may generate multiple link instances in each chunk, -->
-<!-- * because it walks through the space-separated list of link -->
-<!-- * types specified in the $html.head.legalnotice.link.types param, -->
-<!-- * popping off link types and generating links for them until it -->
-<!-- * depletes the list. -->
-  
-<xsl:template name="make.legalnotice.head.links">
-  <!-- * the following ID is used as part of the legalnotice filename; -->
-  <!-- * we need it in order to construct the filename for use in the -->
-  <!-- * value of the href attribute on the link -->
-  <xsl:param name="id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="(//legalnotice)[1]"/>
-    </xsl:call-template>
-  </xsl:param>
-  <xsl:param name="linktype">
-    <xsl:choose>
-      <xsl:when test="contains($html.head.legalnotice.link.types, ' ')">
-        <xsl:value-of select="normalize-space(                     substring-before($html.head.legalnotice.link.types, ' '))"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$html.head.legalnotice.link.types"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:param>
-  <xsl:param name="remaining.linktypes" select="concat(               normalize-space(               substring-after($html.head.legalnotice.link.types, ' ')),' ')"/>
-  <xsl:if test="not($linktype = '')">
-    <link rel="{$linktype}">
-      <xsl:attribute name="href">
-        <xsl:value-of select="concat('ln-',$id,$html.ext)"/>
-      </xsl:attribute>
-      <xsl:attribute name="title">
-        <xsl:apply-templates select="(//legalnotice)[1]" mode="object.title.markup.textonly"/>
-      </xsl:attribute>
-    </link>
-    <xsl:call-template name="make.legalnotice.head.links">
-      <!-- * pop the next value off the list of link types -->
-      <xsl:with-param name="linktype" select="substring-before($remaining.linktypes, ' ')"/>
-      <!-- * remove the link type from the list of remaining link types -->
-      <xsl:with-param name="remaining.linktypes" select="substring-after($remaining.linktypes, ' ')"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<xsl:template name="chunk-element-content">
-  <xsl:param name="prev"/>
-  <xsl:param name="next"/>
-  <xsl:param name="nav.context"/>
-  <xsl:param name="content">
-    <xsl:apply-imports/>
-  </xsl:param>
-
-  <xsl:call-template name="user.preroot"/>
-
-  <html>
-    <xsl:call-template name="html.head">
-      <xsl:with-param name="prev" select="$prev"/>
-      <xsl:with-param name="next" select="$next"/>
-    </xsl:call-template>
-
-    <body>
-      <xsl:call-template name="body.attributes"/>
-      <xsl:call-template name="user.header.navigation"/>
-
-      <xsl:call-template name="header.navigation">
-        <xsl:with-param name="prev" select="$prev"/>
-        <xsl:with-param name="next" select="$next"/>
-        <xsl:with-param name="nav.context" select="$nav.context"/>
-      </xsl:call-template>
-
-      <xsl:call-template name="user.header.content"/>
-
-      <xsl:copy-of select="$content"/>
-
-      <xsl:call-template name="user.footer.content"/>
-
-      <xsl:call-template name="footer.navigation">
-        <xsl:with-param name="prev" select="$prev"/>
-        <xsl:with-param name="next" select="$next"/>
-        <xsl:with-param name="nav.context" select="$nav.context"/>
-      </xsl:call-template>
-
-      <xsl:call-template name="user.footer.navigation"/>
-    </body>
-  </html>
-  <xsl:value-of select="$chunk.append"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<xsl:template name="generate.manifest">
-  <xsl:param name="node" select="/"/>
-  <xsl:call-template name="write.text.chunk">
-    <xsl:with-param name="filename">
-      <xsl:if test="$manifest.in.base.dir != 0">
-        <xsl:value-of select="$base.dir"/>
-      </xsl:if>
-      <xsl:value-of select="$manifest"/>
-    </xsl:with-param>
-    <xsl:with-param name="method" select="'text'"/>
-    <xsl:with-param name="content">
-      <xsl:apply-templates select="$node" mode="enumerate-files"/>
-    </xsl:with-param>
-    <xsl:with-param name="encoding" select="$chunker.output.encoding"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="dbhtml-dir">
-  <xsl:param name="context" select="."/>
-  <!-- directories are now inherited from previous levels -->
-  <xsl:variable name="ppath">
-    <xsl:if test="$context/parent::*">
-      <xsl:call-template name="dbhtml-dir">
-        <xsl:with-param name="context" select="$context/parent::*"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="path">
-    <xsl:call-template name="pi.dbhtml_dir">
-      <xsl:with-param name="node" select="$context"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:choose>
-    <xsl:when test="$path = ''">
-      <xsl:if test="$ppath != ''">
-        <xsl:value-of select="$ppath"/>
-      </xsl:if>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$ppath != ''">
-        <xsl:value-of select="$ppath"/>
-        <xsl:if test="substring($ppath, string-length($ppath), 1) != '/'">
-          <xsl:text>/</xsl:text>
-        </xsl:if>
-      </xsl:if>
-      <xsl:value-of select="$path"/>
-      <xsl:text>/</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunk.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunk.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,52 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="exsl">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- First import the non-chunking templates that format elements
-     within each chunk file. In a customization, you should
-     create a separate non-chunking customization layer such
-     as mydocbook.xsl that imports the original docbook.xsl and
-     customizes any presentation templates. Then your chunking
-     customization should import mydocbook.xsl instead of
-     docbook.xsl.  -->
-<xsl:import href="docbook.xsl"/>
-
-<!-- chunk-common.xsl contains all the named templates for chunking.
-     In a customization file, you import chunk-common.xsl, then
-     add any customized chunking templates of the same name. 
-     They will have import precedence over the original 
-     chunking templates in chunk-common.xsl. -->
-<xsl:import href="chunk-common.xsl"/>
-
-<!-- The manifest.xsl module is no longer imported because its
-     templates were moved into chunk-common and chunk-code -->
-
-<!-- chunk-code.xsl contains all the chunking templates that use
-     a match attribute.  In a customization it should be referenced
-     using <xsl:include> instead of <xsl:import>, and then add
-     any customized chunking templates with match attributes. But be sure
-     to add a priority="1" to such customized templates to resolve
-     its conflict with the original, since they have the
-     same import precedence.
-     
-     Using xsl:include prevents adding another layer
-     of import precedence, which would cause any
-     customizations that use xsl:apply-imports to wrongly
-     apply the chunking version instead of the original
-     non-chunking version to format an element.  -->
-<xsl:include href="chunk-code.xsl"/>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunker.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunker.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,302 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://icl.com/saxon" xmlns:lxslt="http://xml.apache.org/xslt" xmlns:redirect="http://xml.apache.org/xalan/redirect" xmlns:exsl="http://exslt.org/common" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="doc" extension-element-prefixes="saxon redirect lxslt exsl">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- This stylesheet works with XSLT implementations that support -->
-<!-- exsl:document, saxon:output, or Xalan's redirect:write -->
-<!-- Note: Only Saxon 6.4.2 or later is supported. -->
-
-<xsl:param name="chunker.output.method" select="'xml'"/>
-<xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
-<xsl:param name="chunker.output.indent" select="'no'"/>
-<xsl:param name="chunker.output.omit-xml-declaration" select="'no'"/>
-<xsl:param name="chunker.output.standalone" select="'no'"/>
-<xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD XHTML 1.0 Transitional//EN'"/>
-<xsl:param name="chunker.output.doctype-system" select="'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'"/>
-<xsl:param name="chunker.output.media-type" select="''"/>
-<xsl:param name="chunker.output.cdata-section-elements" select="''"/>
-<xsl:param name="chunker.output.quiet" select="0"/>
-
-<xsl:param name="saxon.character.representation" select="'entity;decimal'"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="make-relative-filename">
-  <xsl:param name="base.dir" select="'./'"/>
-  <xsl:param name="base.name" select="''"/>
-
-  <xsl:choose>
-    <!-- put Saxon first to work around a bug in libxslt -->
-    <xsl:when test="element-available('saxon:output')">
-      <!-- Saxon doesn't make the chunks relative -->
-      <xsl:value-of select="concat($base.dir,$base.name)"/>
-    </xsl:when>
-    <xsl:when test="element-available('exsl:document')">
-      <!-- EXSL document does make the chunks relative, I think -->
-      <xsl:choose>
-        <xsl:when test="count(parent::*) = 0">
-          <xsl:value-of select="concat($base.dir,$base.name)"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$base.name"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:when test="element-available('redirect:write')">
-      <!-- Xalan doesn't make the chunks relative -->
-      <xsl:value-of select="concat($base.dir,$base.name)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message terminate="yes">
-        <xsl:text>Don't know how to chunk with </xsl:text>
-        <xsl:value-of select="system-property('xsl:vendor')"/>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="write.chunk">
-  <xsl:param name="filename" select="''"/>
-  <xsl:param name="quiet" select="$chunker.output.quiet"/>
-  <xsl:param name="suppress-context-node-name" select="0"/>
-  <xsl:param name="message-prolog"/>
-  <xsl:param name="message-epilog"/>
-
-  <xsl:param name="method" select="$chunker.output.method"/>
-  <xsl:param name="encoding" select="$chunker.output.encoding"/>
-  <xsl:param name="indent" select="$chunker.output.indent"/>
-  <xsl:param name="omit-xml-declaration" select="$chunker.output.omit-xml-declaration"/>
-  <xsl:param name="standalone" select="$chunker.output.standalone"/>
-  <xsl:param name="doctype-public" select="$chunker.output.doctype-public"/>
-  <xsl:param name="doctype-system" select="$chunker.output.doctype-system"/>
-  <xsl:param name="media-type" select="$chunker.output.media-type"/>
-  <xsl:param name="cdata-section-elements" select="$chunker.output.cdata-section-elements"/>
-
-  <xsl:param name="content"/>
-
-  <xsl:if test="$quiet = 0">
-    <xsl:message>
-      <xsl:if test="not($message-prolog = '')">
-        <xsl:value-of select="$message-prolog"/>
-      </xsl:if>
-      <xsl:text>Writing </xsl:text>
-      <xsl:value-of select="$filename"/>
-      <xsl:if test="name(.) != '' and $suppress-context-node-name = 0">
-        <xsl:text> for </xsl:text>
-        <xsl:value-of select="name(.)"/>
-        <xsl:if test="@id or @xml:id">
-          <xsl:text>(</xsl:text>
-          <xsl:value-of select="(@id|@xml:id)[1]"/>
-          <xsl:text>)</xsl:text>
-        </xsl:if>
-      </xsl:if>
-      <xsl:if test="not($message-epilog = '')">
-        <xsl:value-of select="$message-epilog"/>
-      </xsl:if>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="element-available('exsl:document')">
-      <xsl:choose>
-        <!-- Handle the permutations ... -->
-        <xsl:when test="$media-type != ''">
-          <xsl:choose>
-            <xsl:when test="$doctype-public != '' and $doctype-system != ''">
-              <exsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" media-type="{$media-type}" doctype-public="{$doctype-public}" doctype-system="{$doctype-system}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:when test="$doctype-public != '' and $doctype-system = ''">
-              <exsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" media-type="{$media-type}" doctype-public="{$doctype-public}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:when test="$doctype-public = '' and $doctype-system != ''">
-              <exsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" media-type="{$media-type}" doctype-system="{$doctype-system}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> -->
-              <exsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" media-type="{$media-type}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:choose>
-            <xsl:when test="$doctype-public != '' and $doctype-system != ''">
-              <exsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" doctype-public="{$doctype-public}" doctype-system="{$doctype-system}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:when test="$doctype-public != '' and $doctype-system = ''">
-              <exsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" doctype-public="{$doctype-public}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:when test="$doctype-public = '' and $doctype-system != ''">
-              <exsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" doctype-system="{$doctype-system}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:when>
-            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> -->
-              <exsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </exsl:document>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="element-available('saxon:output')">
-      <xsl:choose>
-        <!-- Handle the permutations ... -->
-        <xsl:when test="$media-type != ''">
-          <xsl:choose>
-            <xsl:when test="$doctype-public != '' and $doctype-system != ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}" href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" media-type="{$media-type}" doctype-public="{$doctype-public}" doctype-system="{$doctype-system}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:when test="$doctype-public != '' and $doctype-system = ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}" href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" media-type="{$media-type}" doctype-public="{$doctype-public}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:when test="$doctype-public = '' and $doctype-system != ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}" href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" media-type="{$media-type}" doctype-system="{$doctype-system}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> -->
-              <saxon:output saxon:character-representation="{$saxon.character.representation}" href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" media-type="{$media-type}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:choose>
-            <xsl:when test="$doctype-public != '' and $doctype-system != ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}" href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" doctype-public="{$doctype-public}" doctype-system="{$doctype-system}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:when test="$doctype-public != '' and $doctype-system = ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}" href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" doctype-public="{$doctype-public}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:when test="$doctype-public = '' and $doctype-system != ''">
-              <saxon:output saxon:character-representation="{$saxon.character.representation}" href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" doctype-system="{$doctype-system}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:when>
-            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> -->
-              <saxon:output saxon:character-representation="{$saxon.character.representation}" href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" standalone="{$standalone}">
-                <xsl:copy-of select="$content"/>
-              </saxon:output>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="element-available('redirect:write')">
-      <!-- Xalan uses redirect -->
-      <redirect:write file="{$filename}">
-        <xsl:copy-of select="$content"/>
-      </redirect:write>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <!-- it doesn't matter since we won't be making chunks... -->
-      <xsl:message terminate="yes">
-        <xsl:text>Can't make chunks with </xsl:text>
-        <xsl:value-of select="system-property('xsl:vendor')"/>
-        <xsl:text>'s processor.</xsl:text>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="write.chunk.with.doctype">
-  <xsl:param name="filename" select="''"/>
-  <xsl:param name="quiet" select="$chunker.output.quiet"/>
-
-  <xsl:param name="method" select="$chunker.output.method"/>
-  <xsl:param name="encoding" select="$chunker.output.encoding"/>
-  <xsl:param name="indent" select="$chunker.output.indent"/>
-  <xsl:param name="omit-xml-declaration" select="$chunker.output.omit-xml-declaration"/>
-  <xsl:param name="standalone" select="$chunker.output.standalone"/>
-  <xsl:param name="doctype-public" select="$chunker.output.doctype-public"/>
-  <xsl:param name="doctype-system" select="$chunker.output.doctype-system"/>
-  <xsl:param name="media-type" select="$chunker.output.media-type"/>
-  <xsl:param name="cdata-section-elements" select="$chunker.output.cdata-section-elements"/>
-
-  <xsl:param name="content"/>
-
-  <xsl:call-template name="write.chunk">
-    <xsl:with-param name="filename" select="$filename"/>
-    <xsl:with-param name="quiet" select="$quiet"/>
-    <xsl:with-param name="method" select="$method"/>
-    <xsl:with-param name="encoding" select="$encoding"/>
-    <xsl:with-param name="indent" select="$indent"/>
-    <xsl:with-param name="omit-xml-declaration" select="$omit-xml-declaration"/>
-    <xsl:with-param name="standalone" select="$standalone"/>
-    <xsl:with-param name="doctype-public" select="$doctype-public"/>
-    <xsl:with-param name="doctype-system" select="$doctype-system"/>
-    <xsl:with-param name="media-type" select="$media-type"/>
-    <xsl:with-param name="cdata-section-elements" select="$cdata-section-elements"/>
-    <xsl:with-param name="content" select="$content"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="write.text.chunk">
-  <xsl:param name="filename" select="''"/>
-  <xsl:param name="quiet" select="$chunker.output.quiet"/>
-  <xsl:param name="suppress-context-node-name" select="0"/>
-  <xsl:param name="message-prolog"/>
-  <xsl:param name="message-epilog"/>
-  <xsl:param name="method" select="'text'"/>
-  <xsl:param name="encoding" select="$chunker.output.encoding"/>
-  <xsl:param name="media-type" select="$chunker.output.media-type"/>
-  <xsl:param name="content"/>
-
-  <xsl:call-template name="write.chunk">
-    <xsl:with-param name="filename" select="$filename"/>
-    <xsl:with-param name="quiet" select="$quiet"/>
-    <xsl:with-param name="suppress-context-node-name" select="$suppress-context-node-name"/>
-    <xsl:with-param name="message-prolog" select="$message-prolog"/>
-    <xsl:with-param name="message-epilog" select="$message-epilog"/>
-    <xsl:with-param name="method" select="$method"/>
-    <xsl:with-param name="encoding" select="$encoding"/>
-    <xsl:with-param name="indent" select="'no'"/>
-    <xsl:with-param name="omit-xml-declaration" select="'no'"/>
-    <xsl:with-param name="standalone" select="'no'"/>
-    <xsl:with-param name="doctype-public"/>
-    <xsl:with-param name="doctype-system"/>
-    <xsl:with-param name="media-type" select="$media-type"/>
-    <xsl:with-param name="cdata-section-elements"/>
-    <xsl:with-param name="content" select="$content"/>
-  </xsl:call-template>
-</xsl:template>
-
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunkfast.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunkfast.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,69 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="cf exsl">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:import href="chunk.xsl"/>
-<xsl:param name="chunk.fast" select="1"/>
-
-<xsl:variable name="chunks" select="exsl:node-set($chunk.hierarchy)//cf:div"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="process-chunk-element">
-  <xsl:choose>
-    <xsl:when test="$chunk.fast != 0 and function-available('exsl:node-set')">
-      <xsl:variable name="genid" select="generate-id()"/>
-
-      <xsl:variable name="div" select="$chunks[@id=$genid or @xml:id=$genid]"/>
-
-      <xsl:variable name="prevdiv" select="($div/preceding-sibling::cf:div|$div/preceding::cf:div|$div/parent::cf:div)[last()]"/>
-      <xsl:variable name="prev" select="key('genid', ($prevdiv/@id|$prevdiv/@xml:id)[1])"/>
-
-      <xsl:variable name="nextdiv" select="($div/following-sibling::cf:div|$div/following::cf:div|$div/cf:div)[1]"/>
-      <xsl:variable name="next" select="key('genid', ($nextdiv/@id|$nextdiv/@xml:id)[1])"/>
-
-      <xsl:choose>
-        <xsl:when test="$onechunk != 0 and parent::*">
-          <xsl:apply-imports/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="process-chunk">
-            <xsl:with-param name="prev" select="$prev"/>
-            <xsl:with-param name="next" select="$next"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$onechunk != 0 and not(parent::*)">
-          <xsl:call-template name="chunk-all-sections"/>
-        </xsl:when>
-        <xsl:when test="$onechunk != 0">
-          <xsl:apply-imports/>
-        </xsl:when>
-        <xsl:when test="$chunk.first.sections = 0">
-          <xsl:call-template name="chunk-first-section-with-parent"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="chunk-all-sections"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunktoc.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/chunktoc.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,462 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="doc">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:import href="docbook.xsl"/>
-<xsl:import href="chunk-common.xsl"/>
-
-<xsl:template name="chunk">
-  <xsl:param name="node" select="."/>
-  <!-- returns 1 if $node is a chunk -->
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$node"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="chunks" select="document($chunk.toc,/)"/>
-
-  <xsl:choose>
-    <xsl:when test="$chunks//tocentry[@linkend=$id]">1</xsl:when>
-    <xsl:otherwise>0</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="chunk-filename">
-  <!-- returns the filename of a chunk -->
-
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="chunks" select="document($chunk.toc,/)"/>
-
-  <xsl:variable name="chunk" select="$chunks//tocentry[@linkend=$id]"/>
-  <xsl:variable name="filename">
-    <xsl:call-template name="pi.dbhtml_filename">
-      <xsl:with-param name="node" select="$chunk"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$chunk">
-      <xsl:value-of select="$filename"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="parent::*" mode="chunk-filename"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="process-chunk">
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:variable name="chunks" select="document($chunk.toc,/)"/>
-
-  <xsl:variable name="chunk" select="$chunks//tocentry[@linkend=$id]"/>
-  <xsl:variable name="prev-id" select="($chunk/preceding::tocentry                          |$chunk/ancestor::tocentry)[last()]/@linkend"/>
-  <xsl:variable name="next-id" select="($chunk/following::tocentry                          |$chunk/child::tocentry)[1]/@linkend"/>
-
-  <xsl:variable name="prev" select="key('id',$prev-id)"/>
-  <xsl:variable name="next" select="key('id',$next-id)"/>
-
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:variable name="chunkfn">
-    <xsl:if test="$ischunk='1'">
-      <xsl:apply-templates mode="chunk-filename" select="."/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="filename">
-    <xsl:call-template name="make-relative-filename">
-      <xsl:with-param name="base.dir" select="$base.dir"/>
-      <xsl:with-param name="base.name" select="$chunkfn"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$ischunk = 0">
-      <xsl:apply-imports/>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:call-template name="write.chunk">
-        <xsl:with-param name="filename" select="$filename"/>
-        <xsl:with-param name="content">
-          <xsl:call-template name="chunk-element-content">
-            <xsl:with-param name="prev" select="$prev"/>
-            <xsl:with-param name="next" select="$next"/>
-          </xsl:call-template>
-        </xsl:with-param>
-        <xsl:with-param name="quiet" select="$chunk.quietly"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="set">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="book">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="book/appendix">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="book/glossary">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="book/bibliography">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="dedication" mode="dedication">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="preface|chapter">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="part|reference">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="refentry">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="colophon">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="article">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="article/appendix">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="article/glossary">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="article/bibliography">
-  <xsl:call-template name="process-chunk"/>
-</xsl:template>
-
-<xsl:template match="sect1|sect2|sect3|sect4|sect5|section">
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$ischunk != 0">
-      <xsl:call-template name="process-chunk"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-imports/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="setindex                      |book/index                      |article/index">
-  <!-- some implementations use completely empty index tags to indicate -->
-  <!-- where an automatically generated index should be inserted. so -->
-  <!-- if the index is completely empty, skip it. -->
-  <xsl:if test="count(*)&gt;0 or $generate.index != '0'">
-    <xsl:call-template name="process-chunk"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="/">
-  <xsl:choose>
-    <xsl:when test="$chunk.toc = ''">
-      <xsl:message terminate="yes">
-        <xsl:text>The chunk.toc file is not set.</xsl:text>
-      </xsl:message>
-    </xsl:when>
-
-    <xsl:when test="$rootid != ''">
-      <xsl:choose>
-        <xsl:when test="count(key('id',$rootid)) = 0">
-          <xsl:message terminate="yes">
-            <xsl:text>ID '</xsl:text>
-            <xsl:value-of select="$rootid"/>
-            <xsl:text>' not found in document.</xsl:text>
-          </xsl:message>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="key('id',$rootid)"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:apply-templates select="/" mode="process.root"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="process.root">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template name="make.lots">
-  <xsl:param name="toc.params" select="''"/>
-  <xsl:param name="toc"/>
-
-  <xsl:variable name="lots">
-    <xsl:if test="contains($toc.params, 'toc')">
-      <xsl:copy-of select="$toc"/>
-    </xsl:if>
-
-    <xsl:if test="contains($toc.params, 'figure')">
-      <xsl:choose>
-        <xsl:when test="$chunk.separate.lots != '0'">
-          <xsl:call-template name="make.lot.chunk">
-            <xsl:with-param name="type" select="'figure'"/>
-            <xsl:with-param name="lot">
-              <xsl:call-template name="list.of.titles">
-                <xsl:with-param name="titles" select="'figure'"/>
-                <xsl:with-param name="nodes" select=".//figure"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.titles">
-            <xsl:with-param name="titles" select="'figure'"/>
-            <xsl:with-param name="nodes" select=".//figure"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-
-    <xsl:if test="contains($toc.params, 'table')">
-      <xsl:choose>
-        <xsl:when test="$chunk.separate.lots != '0'">
-          <xsl:call-template name="make.lot.chunk">
-            <xsl:with-param name="type" select="'table'"/>
-            <xsl:with-param name="lot">
-              <xsl:call-template name="list.of.titles">
-                <xsl:with-param name="titles" select="'table'"/>
-                <xsl:with-param name="nodes" select=".//table"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.titles">
-            <xsl:with-param name="titles" select="'table'"/>
-            <xsl:with-param name="nodes" select=".//table"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-
-    <xsl:if test="contains($toc.params, 'example')">
-      <xsl:choose>
-        <xsl:when test="$chunk.separate.lots != '0'">
-          <xsl:call-template name="make.lot.chunk">
-            <xsl:with-param name="type" select="'example'"/>
-            <xsl:with-param name="lot">
-              <xsl:call-template name="list.of.titles">
-                <xsl:with-param name="titles" select="'example'"/>
-                <xsl:with-param name="nodes" select=".//example"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.titles">
-            <xsl:with-param name="titles" select="'example'"/>
-            <xsl:with-param name="nodes" select=".//example"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-
-    <xsl:if test="contains($toc.params, 'equation')">
-      <xsl:choose>
-        <xsl:when test="$chunk.separate.lots != '0'">
-          <xsl:call-template name="make.lot.chunk">
-            <xsl:with-param name="type" select="'equation'"/>
-            <xsl:with-param name="lot">
-              <xsl:call-template name="list.of.titles">
-                <xsl:with-param name="titles" select="'equation'"/>
-                <xsl:with-param name="nodes" select=".//equation"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.titles">
-            <xsl:with-param name="titles" select="'equation'"/>
-            <xsl:with-param name="nodes" select=".//equation"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-
-    <xsl:if test="contains($toc.params, 'procedure')">
-      <xsl:choose>
-        <xsl:when test="$chunk.separate.lots != '0'">
-          <xsl:call-template name="make.lot.chunk">
-            <xsl:with-param name="type" select="'procedure'"/>
-            <xsl:with-param name="lot">
-              <xsl:call-template name="list.of.titles">
-                <xsl:with-param name="titles" select="'procedure'"/>
-                <xsl:with-param name="nodes" select=".//procedure[title]"/>
-              </xsl:call-template>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="list.of.titles">
-            <xsl:with-param name="titles" select="'procedure'"/>
-            <xsl:with-param name="nodes" select=".//procedure[title]"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:if test="string($lots) != ''">
-    <xsl:choose>
-      <xsl:when test="$chunk.tocs.and.lots != 0 and not(parent::*)">
-        <xsl:call-template name="write.chunk">
-          <xsl:with-param name="filename">
-            <xsl:call-template name="make-relative-filename">
-              <xsl:with-param name="base.dir" select="$base.dir"/>
-              <xsl:with-param name="base.name">
-                <xsl:call-template name="dbhtml-dir"/>
-                <xsl:apply-templates select="." mode="recursive-chunk-filename">
-                  <xsl:with-param name="recursive" select="true()"/>
-                </xsl:apply-templates>
-                <xsl:text>-toc</xsl:text>
-                <xsl:value-of select="$html.ext"/>
-              </xsl:with-param>
-            </xsl:call-template>
-          </xsl:with-param>
-          <xsl:with-param name="content">
-            <xsl:call-template name="chunk-element-content">
-              <xsl:with-param name="prev" select="/foo"/>
-              <xsl:with-param name="next" select="/foo"/>
-              <xsl:with-param name="nav.context" select="'toc'"/>
-              <xsl:with-param name="content">
-                <h1>
-                  <xsl:apply-templates select="." mode="object.title.markup"/>
-                </h1>
-                <xsl:copy-of select="$lots"/>
-              </xsl:with-param>
-            </xsl:call-template>
-          </xsl:with-param>
-          <xsl:with-param name="quiet" select="$chunk.quietly"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:copy-of select="$lots"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="make.lot.chunk">
-  <xsl:param name="type" select="''"/>
-  <xsl:param name="lot"/>
-
-  <xsl:if test="string($lot) != ''">
-    <xsl:variable name="filename">
-      <xsl:call-template name="make-relative-filename">
-        <xsl:with-param name="base.dir" select="$base.dir"/>
-        <xsl:with-param name="base.name">
-          <xsl:call-template name="dbhtml-dir"/>
-          <xsl:value-of select="$type"/>
-          <xsl:text>-toc</xsl:text>
-          <xsl:value-of select="$html.ext"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:variable name="href">
-      <xsl:call-template name="make-relative-filename">
-        <xsl:with-param name="base.name">
-          <xsl:call-template name="dbhtml-dir"/>
-          <xsl:value-of select="$type"/>
-          <xsl:text>-toc</xsl:text>
-          <xsl:value-of select="$html.ext"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:call-template name="write.chunk">
-      <xsl:with-param name="filename" select="$filename"/>
-      <xsl:with-param name="content">
-        <xsl:call-template name="chunk-element-content">
-          <xsl:with-param name="prev" select="/foo"/>
-          <xsl:with-param name="next" select="/foo"/>
-          <xsl:with-param name="nav.context" select="'toc'"/>
-          <xsl:with-param name="content">
-            <xsl:copy-of select="$lot"/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:with-param>
-      <xsl:with-param name="quiet" select="$chunk.quietly"/>
-    </xsl:call-template>
-    <!-- And output a link to this file -->
-    <div>
-      <xsl:attribute name="class">
-        <xsl:text>ListofTitles</xsl:text>
-      </xsl:attribute>
-      <a href="{$href}">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key">
-            <xsl:choose>
-              <xsl:when test="$type='table'">ListofTables</xsl:when>
-              <xsl:when test="$type='figure'">ListofFigures</xsl:when>
-              <xsl:when test="$type='equation'">ListofEquations</xsl:when>
-              <xsl:when test="$type='example'">ListofExamples</xsl:when>
-              <xsl:when test="$type='procedure'">ListofProcedures</xsl:when>
-              <xsl:otherwise>ListofUnknown</xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:call-template>
-      </a>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/component.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/component.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,375 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template name="component.title">
-  <xsl:param name="node" select="."/>
-
-  <xsl:variable name="level">
-    <xsl:choose>
-      <xsl:when test="ancestor::section">
-        <xsl:value-of select="count(ancestor::section)+1"/>
-      </xsl:when>
-      <xsl:when test="ancestor::sect5">6</xsl:when>
-      <xsl:when test="ancestor::sect4">5</xsl:when>
-      <xsl:when test="ancestor::sect3">4</xsl:when>
-      <xsl:when test="ancestor::sect2">3</xsl:when>
-      <xsl:when test="ancestor::sect1">2</xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- Let's handle the case where a component (bibliography, for example)
-       occurs inside a section; will we need parameters for this? -->
-
-  <xsl:element name="h{$level+1}" namespace="http://www.w3.org/1999/xhtml">
-    <xsl:attribute name="class">title</xsl:attribute>
-    <xsl:if test="$generate.id.attributes = 0">
-      <xsl:call-template name="anchor">
-	<xsl:with-param name="node" select="$node"/>
-	<xsl:with-param name="conditional" select="0"/>
-      </xsl:call-template>
-    </xsl:if>
-      <xsl:apply-templates select="$node" mode="object.title.markup">
-      <xsl:with-param name="allow-anchors" select="1"/>
-    </xsl:apply-templates>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template name="component.subtitle">
-  <xsl:param name="node" select="."/>
-  <xsl:variable name="subtitle" select="($node/docinfo/subtitle                         |$node/info/subtitle                         |$node/prefaceinfo/subtitle                         |$node/chapterinfo/subtitle                         |$node/appendixinfo/subtitle                         |$node/articleinfo/subtitle                         |$node/artheader/subtitle                         |$node/subtitle)[1]"/>
-
-  <xsl:if test="$subtitle">
-    <h3 class="subtitle">
-      <i>
-        <xsl:apply-templates select="$node" mode="object.subtitle.markup"/>
-      </i>
-    </h3>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="component.separator">
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="dedication" mode="dedication">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:call-template name="dedication.titlepage"/>
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="dedication/title|dedication/info/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="component.title">
-    <xsl:with-param name="node" select="ancestor::dedication[1]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="dedication/subtitle|dedication/info/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="component.subtitle">
-    <xsl:with-param name="node" select="ancestor::dedication[1]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="dedication"/> <!-- see mode="dedication" -->
-<xsl:template match="dedication/title"/>
-<xsl:template match="dedication/subtitle"/>
-<xsl:template match="dedication/titleabbrev"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="colophon">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="component.separator"/>
-    <xsl:call-template name="component.title"/>
-    <xsl:call-template name="component.subtitle"/>
-
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="colophon/title"/>
-<xsl:template match="colophon/subtitle"/>
-<xsl:template match="colophon/titleabbrev"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="preface">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="component.separator"/>
-    <xsl:call-template name="preface.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')">
-      <xsl:call-template name="component.toc">
-        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="component.toc.separator"/>
-    </xsl:if>
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="preface/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="component.title">
-    <xsl:with-param name="node" select="ancestor::preface[1]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="preface/subtitle                      |preface/prefaceinfo/subtitle                      |preface/info/subtitle                      |preface/docinfo/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="component.subtitle">
-    <xsl:with-param name="node" select="ancestor::preface[1]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="preface/docinfo|prefaceinfo"/>
-<xsl:template match="preface/info"/>
-<xsl:template match="preface/title"/>
-<xsl:template match="preface/titleabbrev"/>
-<xsl:template match="preface/subtitle"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="chapter">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="component.separator"/>
-    <xsl:call-template name="chapter.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:if test="contains($toc.params, 'toc')">
-      <xsl:call-template name="component.toc">
-        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="component.toc.separator"/>
-    </xsl:if>
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="chapter/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="component.title">
-    <xsl:with-param name="node" select="ancestor::chapter[1]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="chapter/subtitle                      |chapter/chapterinfo/subtitle                      |chapter/info/subtitle                      |chapter/docinfo/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="component.subtitle">
-    <xsl:with-param name="node" select="ancestor::chapter[1]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="chapter/docinfo|chapterinfo"/>
-<xsl:template match="chapter/info"/>
-<xsl:template match="chapter/title"/>
-<xsl:template match="chapter/titleabbrev"/>
-<xsl:template match="chapter/subtitle"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="appendix">
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:choose>
-      <xsl:when test="parent::article and $ischunk = 0">
-        <xsl:call-template name="section.heading">
-          <xsl:with-param name="level" select="1"/>
-          <xsl:with-param name="title">
-            <xsl:apply-templates select="." mode="object.title.markup"/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="component.separator"/>
-        <xsl:call-template name="appendix.titlepage"/>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')">
-      <xsl:call-template name="component.toc">
-        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="component.toc.separator"/>
-    </xsl:if>
-
-    <xsl:apply-templates/>
-
-    <xsl:if test="not(parent::article) or $ischunk != 0">
-      <xsl:call-template name="process.footnotes"/>
-    </xsl:if>
-  </div>
-</xsl:template>
-
-<xsl:template match="appendix/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="component.title">
-    <xsl:with-param name="node" select="ancestor::appendix[1]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="appendix/subtitle                      |appendix/appendixinfo/subtitle                      |appendix/info/subtitle                      |appendix/docinfo/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="component.subtitle">
-    <xsl:with-param name="node" select="ancestor::appendix[1]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="appendix/docinfo|appendixinfo"/>
-<xsl:template match="appendix/info"/>
-<xsl:template match="appendix/title"/>
-<xsl:template match="appendix/titleabbrev"/>
-<xsl:template match="appendix/subtitle"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="article">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="article.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:call-template name="make.lots">
-      <xsl:with-param name="toc.params" select="$toc.params"/>
-      <xsl:with-param name="toc">
-        <xsl:call-template name="component.toc">
-          <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:call-template>
-
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="article/title|article/articleinfo/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="component.title">
-    <xsl:with-param name="node" select="ancestor::article[1]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="article/subtitle                      |article/articleinfo/subtitle                      |article/info/subtitle                      |article/artheader/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="component.subtitle">
-    <xsl:with-param name="node" select="ancestor::article[1]"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="article/artheader|article/articleinfo"/>
-<xsl:template match="article/info"/>
-<xsl:template match="article/title"/>
-<xsl:template match="article/titleabbrev"/>
-<xsl:template match="article/subtitle"/>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/division.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/division.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,228 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="set">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="set.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:call-template name="make.lots">
-      <xsl:with-param name="toc.params" select="$toc.params"/>
-      <xsl:with-param name="toc">
-        <xsl:call-template name="set.toc">
-          <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:call-template>
-
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="set/setinfo"/>
-<xsl:template match="set/title"/>
-<xsl:template match="set/titleabbrev"/>
-<xsl:template match="set/subtitle"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="book">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="book.titlepage"/>
-
-    <xsl:apply-templates select="dedication" mode="dedication"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:call-template name="make.lots">
-      <xsl:with-param name="toc.params" select="$toc.params"/>
-      <xsl:with-param name="toc">
-        <xsl:call-template name="division.toc">
-          <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:call-template>
-
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="book/bookinfo"/>
-<xsl:template match="book/info"/>
-<xsl:template match="book/title"/>
-<xsl:template match="book/titleabbrev"/>
-<xsl:template match="book/subtitle"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="part">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="part.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:if test="not(partintro) and contains($toc.params, 'toc')">
-      <xsl:call-template name="division.toc"/>
-    </xsl:if>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="part" mode="make.part.toc">
-  <xsl:call-template name="division.toc"/>
-</xsl:template>
-
-<xsl:template match="reference" mode="make.part.toc">
-  <xsl:call-template name="division.toc"/>
-</xsl:template>
-
-<xsl:template match="part/docinfo"/>
-<xsl:template match="part/partinfo"/>
-<xsl:template match="part/info"/>
-<xsl:template match="part/title"/>
-<xsl:template match="part/titleabbrev"/>
-<xsl:template match="part/subtitle"/>
-
-<xsl:template match="partintro">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="partintro.titlepage"/>
-    <xsl:apply-templates/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="node" select="parent::*"/>
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:if test="contains($toc.params, 'toc')">
-      <!-- not ancestor::part because partintro appears in reference -->
-      <xsl:apply-templates select="parent::*" mode="make.part.toc"/>
-    </xsl:if>
-    <xsl:call-template name="process.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="partintro/title"/>
-<xsl:template match="partintro/titleabbrev"/>
-<xsl:template match="partintro/subtitle"/>
-
-<xsl:template match="partintro/title" mode="partintro.title.mode">
-  <h2>
-    <xsl:apply-templates/>
-  </h2>
-</xsl:template>
-
-<xsl:template match="partintro/subtitle" mode="partintro.title.mode">
-  <h3>
-    <i><xsl:apply-templates/></i>
-  </h3>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="book" mode="division.number">
-  <xsl:number from="set" count="book" format="1."/>
-</xsl:template>
-
-<xsl:template match="part" mode="division.number">
-  <xsl:number from="book" count="part" format="I."/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="division.title">
-  <xsl:param name="node" select="."/>
-
-  <h1>
-    <xsl:attribute name="class">title</xsl:attribute>
-    <xsl:if test="$generate.id.attributes = 0">
-      <xsl:call-template name="anchor">
-	<xsl:with-param name="node" select="$node"/>
-	<xsl:with-param name="conditional" select="0"/>
-      </xsl:call-template>
-    </xsl:if>
-      <xsl:apply-templates select="$node" mode="object.title.markup">
-      <xsl:with-param name="allow-anchors" select="1"/>
-    </xsl:apply-templates>
-  </h1>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/docbook.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/docbook.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,447 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ng="http://docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook" xmlns:exsl="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="db ng exsl" version="1.0">
-
-<xsl:output method="xml" encoding="UTF-8" indent="no" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:include href="../VERSION"/>
-<xsl:include href="param.xsl"/>
-<xsl:include href="../lib/lib.xsl"/>
-<xsl:include href="../common/l10n.xsl"/>
-<xsl:include href="../common/common.xsl"/>
-<xsl:include href="../common/utility.xsl"/>
-<xsl:include href="../common/labels.xsl"/>
-<xsl:include href="../common/titles.xsl"/>
-<xsl:include href="../common/subtitles.xsl"/>
-<xsl:include href="../common/gentext.xsl"/>
-<xsl:include href="../common/targets.xsl"/>
-<xsl:include href="../common/olink.xsl"/>
-<xsl:include href="../common/pi.xsl"/>
-<xsl:include href="autotoc.xsl"/>
-<xsl:include href="autoidx.xsl"/>
-<xsl:include href="lists.xsl"/>
-<xsl:include href="callout.xsl"/>
-<xsl:include href="verbatim.xsl"/>
-<xsl:include href="graphics.xsl"/>
-<xsl:include href="xref.xsl"/>
-<xsl:include href="formal.xsl"/>
-<xsl:include href="table.xsl"/>
-<xsl:include href="htmltbl.xsl"/>
-<xsl:include href="sections.xsl"/>
-<xsl:include href="inline.xsl"/>
-<xsl:include href="footnote.xsl"/>
-<xsl:include href="html.xsl"/>
-<xsl:include href="info.xsl"/>
-<xsl:include href="keywords.xsl"/>
-<xsl:include href="division.xsl"/>
-<xsl:include href="toc.xsl"/>
-<xsl:include href="index.xsl"/>
-<xsl:include href="refentry.xsl"/>
-<xsl:include href="math.xsl"/>
-<xsl:include href="admon.xsl"/>
-<xsl:include href="component.xsl"/>
-<xsl:include href="biblio.xsl"/>
-<xsl:include href="biblio-iso690.xsl"/>
-<xsl:include href="glossary.xsl"/>
-<xsl:include href="block.xsl"/>
-<xsl:include href="task.xsl"/>
-<xsl:include href="qandaset.xsl"/>
-<xsl:include href="synop.xsl"/>
-<xsl:include href="titlepage.xsl"/>
-<xsl:include href="titlepage.templates.xsl"/>
-<xsl:include href="pi.xsl"/>
-<xsl:include href="ebnf.xsl"/>
-<xsl:include href="chunker.xsl"/>
-<xsl:include href="html-rtf.xsl"/>
-<xsl:include href="annotations.xsl"/>
-<xsl:include href="../common/stripns.xsl"/>
-
-<xsl:param name="stylesheet.result.type" select="'xhtml'"/>
-<xsl:param name="htmlhelp.output" select="0"/>
-
-<!-- ==================================================================== -->
-
-<xsl:key name="id" match="*" use="@id|@xml:id"/>
-<xsl:key name="gid" match="*" use="generate-id()"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*">
-  <xsl:message>
-    <xsl:text>Element </xsl:text>
-    <xsl:value-of select="local-name(.)"/>
-    <xsl:text> in namespace '</xsl:text>
-    <xsl:value-of select="namespace-uri(.)"/>
-    <xsl:text>' encountered</xsl:text>
-    <xsl:if test="parent::*">
-      <xsl:text> in </xsl:text>
-      <xsl:value-of select="name(parent::*)"/>
-    </xsl:if>
-    <xsl:text>, but no template matches.</xsl:text>
-  </xsl:message>
-
-  <span style="color: red">
-    <xsl:text>&lt;</xsl:text>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text>&gt;</xsl:text>
-    <xsl:apply-templates/>
-    <xsl:text>&lt;/</xsl:text>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text>&gt;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="text()">
-  <xsl:value-of select="."/>
-</xsl:template>
-
-<xsl:template name="body.attributes">
-<!-- no apply-templates; make it empty -->
-</xsl:template>
-
-<xsl:template name="head.content">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="title">
-    <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/>
-  </xsl:param>
-
-  <title>
-    <xsl:copy-of select="$title"/>
-  </title>
-
-  <xsl:if test="$html.stylesheet != ''">
-    <xsl:call-template name="output.html.stylesheets">
-      <xsl:with-param name="stylesheets" select="normalize-space($html.stylesheet)"/>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="$link.mailto.url != ''">
-    <link rev="made" href="{$link.mailto.url}"/>
-  </xsl:if>
-
-  <xsl:if test="$html.base != ''">
-    <base href="{$html.base}"/>
-  </xsl:if>
-
-  <meta name="generator" content="DocBook {$DistroTitle} V{$VERSION}"/>
-
-  <xsl:if test="$generate.meta.abstract != 0">
-    <xsl:variable name="info" select="(articleinfo                                       |bookinfo                                       |prefaceinfo                                       |chapterinfo                                       |appendixinfo                                       |sectioninfo                                       |sect1info                                       |sect2info                                       |sect3info                                       |sect4info                                       |sect5info                                       |referenceinfo                                       |refentryinfo                                       |partinfo                                       |info                                       |docinfo)[1]"/>
-    <xsl:if test="$info and $info/abstract">
-      <meta name="description">
-        <xsl:attribute name="content">
-          <xsl:for-each select="$info/abstract[1]/*">
-            <xsl:value-of select="normalize-space(.)"/>
-            <xsl:if test="position() &lt; last()">
-              <xsl:text> </xsl:text>
-            </xsl:if>
-          </xsl:for-each>
-        </xsl:attribute>
-      </meta>
-    </xsl:if>
-  </xsl:if>
-
-  <xsl:if test="($draft.mode = 'yes' or                 ($draft.mode = 'maybe' and                 ancestor-or-self::*[@status][1]/@status = 'draft'))                 and $draft.watermark.image != ''">
-    <style type="text/css"><xsl:text>
-body { background-image: url('</xsl:text>
-<xsl:value-of select="$draft.watermark.image"/><xsl:text>');
-       background-repeat: no-repeat;
-       background-position: top left;
-       /* The following properties make the watermark "fixed" on the page. */
-       /* I think that's just a bit too distracting for the reader... */
-       /* background-attachment: fixed; */
-       /* background-position: center center; */
-     }</xsl:text>
-    </style>
-  </xsl:if>
-  <xsl:apply-templates select="." mode="head.keywords.content"/>
-</xsl:template>
-
-<xsl:template name="output.html.stylesheets">
-  <xsl:param name="stylesheets" select="''"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($stylesheets, ' ')">
-      <link rel="stylesheet" href="{substring-before($stylesheets, ' ')}">
-        <xsl:if test="$html.stylesheet.type != ''">
-          <xsl:attribute name="type">
-            <xsl:value-of select="$html.stylesheet.type"/>
-          </xsl:attribute>
-        </xsl:if>
-      </link>
-      <xsl:call-template name="output.html.stylesheets">
-        <xsl:with-param name="stylesheets" select="substring-after($stylesheets, ' ')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$stylesheets != ''">
-      <link rel="stylesheet" href="{$stylesheets}">
-        <xsl:if test="$html.stylesheet.type != ''">
-          <xsl:attribute name="type">
-            <xsl:value-of select="$html.stylesheet.type"/>
-          </xsl:attribute>
-        </xsl:if>
-      </link>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="head.keywords.content">
-  <xsl:apply-templates select="chapterinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="appendixinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="prefaceinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="bookinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="setinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="articleinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="artheader/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sect1info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sect2info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sect3info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sect4info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sect5info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sectioninfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="refsect1info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="refsect2info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="refsect3info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="bibliographyinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="glossaryinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="indexinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="refentryinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="partinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="referenceinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="docinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="info/keywordset" mode="html.header"/>
-
-  <xsl:if test="$inherit.keywords != 0                 and parent::*">
-    <xsl:apply-templates select="parent::*" mode="head.keywords.content"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template name="system.head.content">
-  <xsl:param name="node" select="."/>
-
-  <!-- FIXME: When chunking, only the annotations actually used
-              in this chunk should be referenced. I don't think it
-              does any harm to reference them all, but it adds
-              unnecessary bloat to each chunk. -->
-  <xsl:if test="$annotation.support != 0 and //annotation">
-    <xsl:call-template name="add.annotation.links"/>
-    <script type="text/javascript">
-      <xsl:text>
-// Create PopupWindow objects</xsl:text>
-      <xsl:for-each select="//annotation">
-        <xsl:text>
-var popup_</xsl:text>
-        <xsl:value-of select="generate-id(.)"/>
-        <xsl:text> = new PopupWindow("popup-</xsl:text>
-        <xsl:value-of select="generate-id(.)"/>
-        <xsl:text>");
-</xsl:text>
-        <xsl:text>popup_</xsl:text>
-        <xsl:value-of select="generate-id(.)"/>
-        <xsl:text>.offsetY = 15;
-</xsl:text>
-        <xsl:text>popup_</xsl:text>
-        <xsl:value-of select="generate-id(.)"/>
-        <xsl:text>.autoHide();
-</xsl:text>
-      </xsl:for-each>
-    </script>
-
-    <style type="text/css">
-      <xsl:value-of select="$annotation.css"/>
-    </style>
-  </xsl:if>
-
-  <!-- system.head.content is like user.head.content, except that
-       it is called before head.content. This is important because it
-       means, for example, that <style> elements output by system.head.content
-       have a lower CSS precedence than the users stylesheet. -->
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template name="user.preroot">
-  <!-- Pre-root output, can be used to output comments and PIs. -->
-  <!-- This must not output any element content! -->
-</xsl:template>
-
-<xsl:template name="user.head.content">
-  <xsl:param name="node" select="."/>
-</xsl:template>
-
-<xsl:template name="user.header.navigation">
-  <xsl:param name="node" select="."/>
-</xsl:template>
-
-<xsl:template name="user.header.content">
-  <xsl:param name="node" select="."/>
-</xsl:template>
-
-<xsl:template name="user.footer.content">
-  <xsl:param name="node" select="."/>
-</xsl:template>
-
-<xsl:template name="user.footer.navigation">
-  <xsl:param name="node" select="."/>
-</xsl:template>
-
-<xsl:template match="/">
-  <!-- * Get a title for current doc so that we let the user -->
-  <!-- * know what document we are processing at this point. -->
-  <xsl:variable name="doc.title">
-    <xsl:call-template name="get.doc.title"/>
-  </xsl:variable>
-  <xsl:choose>
-    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
-         toss the namespace and continue.  Use the docbook5 namespaced
-         stylesheets for DocBook5 if you don't want to use this feature.-->
-    <!-- include extra test for Xalan quirk -->
-    <xsl:when test="(function-available('exsl:node-set') or                      contains(system-property('xsl:vendor'),                        'Apache Software Foundation'))                     and (*/self::ng:* or */self::db:*)">
-      <xsl:call-template name="log.message">
-        <xsl:with-param name="level">Note</xsl:with-param>
-        <xsl:with-param name="source" select="$doc.title"/>
-        <xsl:with-param name="context-desc">
-          <xsl:text>namesp. cut</xsl:text>
-        </xsl:with-param>
-        <xsl:with-param name="message">
-          <xsl:text>stripped namespace before processing</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:variable name="nons">
-        <xsl:apply-templates mode="stripNS"/>
-      </xsl:variable>
-      <!--
-      <xsl:message>Saving stripped document.</xsl:message>
-      <xsl:call-template name="write.chunk">
-        <xsl:with-param name="filename" select="'/tmp/stripped.xml'"/>
-        <xsl:with-param name="method" select="'xml'"/>
-        <xsl:with-param name="content">
-          <xsl:copy-of select="exsl:node-set($nons)"/>
-        </xsl:with-param>
-      </xsl:call-template>
-      -->
-      <xsl:call-template name="log.message">
-        <xsl:with-param name="level">Note</xsl:with-param>
-        <xsl:with-param name="source" select="$doc.title"/>
-        <xsl:with-param name="context-desc">
-          <xsl:text>namesp. cut</xsl:text>
-        </xsl:with-param>
-        <xsl:with-param name="message">
-          <xsl:text>processing stripped document</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:apply-templates select="exsl:node-set($nons)"/>
-    </xsl:when>
-    <!-- Can't process unless namespace removed -->
-    <xsl:when test="*/self::ng:* or */self::db:*">
-      <xsl:message terminate="yes">
-        <xsl:text>Unable to strip the namespace from DB5 document,</xsl:text>
-        <xsl:text> cannot proceed.</xsl:text>
-      </xsl:message>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$rootid != ''">
-          <xsl:choose>
-            <xsl:when test="count(key('id',$rootid)) = 0">
-              <xsl:message terminate="yes">
-                <xsl:text>ID '</xsl:text>
-                <xsl:value-of select="$rootid"/>
-                <xsl:text>' not found in document.</xsl:text>
-              </xsl:message>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:if test="$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'">
-                <xsl:apply-templates select="key('id', $rootid)" mode="collect.targets"/>
-              </xsl:if>
-              <xsl:if test="$collect.xref.targets != 'only'">
-                <xsl:apply-templates select="key('id',$rootid)" mode="process.root"/>
-                <xsl:if test="$tex.math.in.alt != ''">
-                  <xsl:apply-templates select="key('id',$rootid)" mode="collect.tex.math"/>
-                </xsl:if>
-              </xsl:if>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:if test="$collect.xref.targets = 'yes' or                         $collect.xref.targets = 'only'">
-            <xsl:apply-templates select="/" mode="collect.targets"/>
-          </xsl:if>
-          <xsl:if test="$collect.xref.targets != 'only'">
-            <xsl:apply-templates select="/" mode="process.root"/>
-            <xsl:if test="$tex.math.in.alt != ''">
-              <xsl:apply-templates select="/" mode="collect.tex.math"/>
-            </xsl:if>
-          </xsl:if>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="process.root">
-  <xsl:variable name="doc" select="self::*"/>
-
-  <xsl:call-template name="user.preroot"/>
-  <xsl:call-template name="root.messages"/>
-
-  <html>
-    <head>
-      <xsl:call-template name="system.head.content">
-        <xsl:with-param name="node" select="$doc"/>
-      </xsl:call-template>
-      <xsl:call-template name="head.content">
-        <xsl:with-param name="node" select="$doc"/>
-      </xsl:call-template>
-      <xsl:call-template name="user.head.content">
-        <xsl:with-param name="node" select="$doc"/>
-      </xsl:call-template>
-    </head>
-    <body>
-      <xsl:call-template name="body.attributes"/>
-      <xsl:call-template name="user.header.content">
-        <xsl:with-param name="node" select="$doc"/>
-      </xsl:call-template>
-      <xsl:apply-templates select="."/>
-      <xsl:call-template name="user.footer.content">
-        <xsl:with-param name="node" select="$doc"/>
-      </xsl:call-template>
-    </body>
-  </html>
-  <xsl:value-of select="$html.append"/>
-</xsl:template>
-
-<xsl:template name="root.messages">
-  <!-- redefine this any way you'd like to output messages -->
-  <!-- DO NOT OUTPUT ANYTHING FROM THIS TEMPLATE -->
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="chunk">
-  <xsl:param name="node" select="."/>
-
-  <!-- The default is that we are not chunking... -->
-  <xsl:text>0</xsl:text>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/ebnf.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/ebnf.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,328 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="doc" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<doc:reference xmlns="">
-<referenceinfo xmlns="http://www.w3.org/1999/xhtml">
-<releaseinfo role="meta">
-$Id$
-</releaseinfo>
-<author><surname>Walsh</surname>
-<firstname>Norman</firstname></author>
-<copyright><year>1999</year><year>2000</year>
-<holder>Norman Walsh</holder>
-</copyright>
-</referenceinfo>
-<title xmlns="http://www.w3.org/1999/xhtml">HTML EBNF Reference</title>
-
-<partintro xmlns="http://www.w3.org/1999/xhtml">
-<section><title>Introduction</title>
-
-<para>This is technical reference documentation for the DocBook XSL
-Stylesheets; it documents (some of) the parameters, templates, and
-other elements of the stylesheets.</para>
-
-<para>This reference describes the templates and parameters relevant
-to formatting EBNF markup.</para>
-
-<para>This is not intended to be <quote>user</quote> documentation.
-It is provided for developers writing customization layers for the
-stylesheets, and for anyone who's interested in <quote>how it
-works</quote>.</para>
-
-<para>Although I am trying to be thorough, this documentation is known
-to be incomplete. Don't forget to read the source, too :-)</para>
-</section>
-</partintro>
-</doc:reference>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="productionset">
-  <table width="100%" cellpadding="5">
-    <xsl:if test="$ebnf.table.bgcolor != ''">
-      <xsl:attribute name="bgcolor">
-        <xsl:value-of select="$ebnf.table.bgcolor"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="$ebnf.table.border != 0">
-      <xsl:attribute name="border">1</xsl:attribute>
-    </xsl:if>
-    <xsl:attribute name="class">
-      <xsl:value-of select="local-name(.)"/>
-    </xsl:attribute>
-    <xsl:attribute name="summary">
-      <xsl:text>EBNF</xsl:text>
-      <xsl:if test="title">
-        <xsl:text> for </xsl:text>
-        <xsl:value-of select="title"/>
-      </xsl:if>
-    </xsl:attribute>
-
-    <xsl:if test="title">
-      <tr>
-        <th align="left" valign="top">
-          <xsl:apply-templates select="." mode="class.attribute"/>
-          <xsl:apply-templates select="title"/>
-        </th>
-      </tr>
-    </xsl:if>
-    <tr>
-      <td>
-        <table border="0" width="99%" cellpadding="0">
-          <xsl:if test="$ebnf.table.bgcolor != ''">
-            <xsl:attribute name="bgcolor">
-              <xsl:value-of select="$ebnf.table.bgcolor"/>
-            </xsl:attribute>
-          </xsl:if>
-          <xsl:attribute name="class">
-            <xsl:value-of select="local-name(.)"/>
-          </xsl:attribute>
-          <xsl:attribute name="summary">EBNF productions</xsl:attribute>
-          <xsl:apply-templates select="production|productionrecap"/>
-        </table>
-      </td>
-    </tr>
-  </table>
-</xsl:template>
-
-<xsl:template match="productionset/title">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="production">
-  <xsl:param name="recap" select="false()"/>
-  <tr>
-    <td align="left" valign="top" width="3%">
-      <xsl:text>[</xsl:text>
-      <xsl:number count="production" level="any"/>
-      <xsl:text>]</xsl:text>
-    </td>
-    <td align="right" valign="top" width="10%">
-      <xsl:choose>
-        <xsl:when test="$recap">
-          <a>
-            <xsl:attribute name="href">
-              <xsl:call-template name="href.target">
-                <xsl:with-param name="object" select="."/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:apply-templates select="lhs"/>
-          </a>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="anchor"/>
-          <xsl:apply-templates select="lhs"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </td>
-    <td valign="top" width="5%" align="center">
-      <xsl:copy-of select="$ebnf.assignment"/>
-    </td>
-    <td valign="top" width="52%">
-      <xsl:apply-templates select="rhs"/>
-      <xsl:copy-of select="$ebnf.statement.terminator"/>
-    </td>
-    <td align="left" valign="top" width="30%">
-      <xsl:choose>
-        <xsl:when test="rhs/lineannotation|constraint">
-          <xsl:apply-templates select="rhs/lineannotation" mode="rhslo"/>
-          <xsl:apply-templates select="constraint"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:text>&#160;</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </td>
-  </tr>
-</xsl:template>
-
-<xsl:template match="productionrecap">
-  <xsl:variable name="targets" select="key('id',@linkend)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:if test="count($targets)=0">
-    <xsl:message>
-      <xsl:text>Error: no ID for productionrecap linkend: </xsl:text>
-      <xsl:value-of select="@linkend"/>
-      <xsl:text>.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="count($targets)&gt;1">
-    <xsl:message>
-      <xsl:text>Warning: multiple "IDs" for productionrecap linkend: </xsl:text>
-      <xsl:value-of select="@linkend"/>
-      <xsl:text>.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:apply-templates select="$target">
-    <xsl:with-param name="recap" select="true()"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="lhs">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="rhs">
-  <xsl:apply-templates/>
-  <xsl:if test="following-sibling::rhs">
-    <xsl:text> |</xsl:text>
-    <br/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="nonterminal">
-  <xsl:variable name="linkend">
-    <xsl:call-template name="xpointer.idref">
-      <xsl:with-param name="xpointer" select="@def"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="check.id.unique">
-    <xsl:with-param name="linkend" select="$linkend"/>
-  </xsl:call-template>
-
-  <xsl:call-template name="check.idref.targets">
-    <xsl:with-param name="linkend" select="$linkend"/>
-    <xsl:with-param name="element-list">production</xsl:with-param>
-  </xsl:call-template>
-
-  <!-- If you don't provide content, you can't point outside this doc. -->
-  <xsl:choose>
-    <xsl:when test="*|text()"><!--nop--></xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$linkend = ''">
-        <xsl:message>
-          <xsl:text>Non-terminals with no content must point to </xsl:text>
-          <xsl:text>production elements in the current document.</xsl:text>
-        </xsl:message>
-        <xsl:message>
-          <xsl:text>Invalid xpointer for empty nt: </xsl:text>
-          <xsl:value-of select="@def"/>
-        </xsl:message>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:variable name="href">
-    <xsl:choose>
-      <xsl:when test="$linkend != ''">
-        <xsl:variable name="targets" select="key('id',$linkend)"/>
-        <xsl:variable name="target" select="$targets[1]"/>
-        <xsl:call-template name="href.target">
-          <xsl:with-param name="object" select="$target"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="@def"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <a href="{$href}">
-    <xsl:choose>
-      <xsl:when test="*|text()">
-        <xsl:apply-templates/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:choose>
-          <xsl:when test="$linkend != ''">
-            <xsl:variable name="targets" select="key('id',$linkend)"/>
-            <xsl:variable name="target" select="$targets[1]"/>
-            <xsl:apply-templates select="$target/lhs"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:text>???</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-  </a>
-</xsl:template>
-
-<xsl:template match="rhs/lineannotation">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="rhs/lineannotation" mode="rhslo">
-  <xsl:text>/*&#160;</xsl:text>
-  <xsl:apply-templates/>
-  <xsl:text>&#160;*/</xsl:text>
-  <br/>
-</xsl:template>
-
-<xsl:template match="constraint">
-  <xsl:call-template name="check.id.unique">
-    <xsl:with-param name="linkend" select="@linkend"/>
-  </xsl:call-template>
-
-  <xsl:call-template name="check.idref.targets">
-    <xsl:with-param name="linkend" select="@linkend"/>
-    <xsl:with-param name="element-list">constraintdef</xsl:with-param>
-  </xsl:call-template>
-
-  <xsl:variable name="href">
-    <xsl:variable name="targets" select="key('id',@linkend)"/>
-    <xsl:variable name="target" select="$targets[1]"/>
-    <xsl:call-template name="href.target">
-      <xsl:with-param name="object" select="$target"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:text>[&#160;</xsl:text>
-
-  <xsl:choose>
-    <xsl:when test="@role">
-      <xsl:value-of select="@role"/>
-      <xsl:text>: </xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="targets" select="key('id',@linkend)"/>
-      <xsl:variable name="target" select="$targets[1]"/>
-      <xsl:if test="$target/@role">
-        <xsl:value-of select="$target/@role"/>
-        <xsl:text>: </xsl:text>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <a href="{$href}">
-    <xsl:variable name="targets" select="key('id',@linkend)"/>
-    <xsl:variable name="target" select="$targets[1]"/>
-    <xsl:apply-templates select="$target" mode="title.markup"/>
-  </a>
-  <xsl:text>&#160;]</xsl:text>
-  <xsl:if test="following-sibling::constraint">
-    <br/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="constraintdef">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="constraintdef/title">
-  <p><b><xsl:apply-templates/></b></p>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/footnote.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/footnote.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,292 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="exsl" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template match="footnote">
-  <xsl:variable name="name">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-  <xsl:variable name="href">
-    <xsl:text>#ftn.</xsl:text>
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="ancestor::tgroup">
-      <sup>
-        <xsl:text>[</xsl:text>
-        <a id="{$name}" href="{$href}">
-          <xsl:apply-templates select="." mode="class.attribute"/>
-          <xsl:apply-templates select="." mode="footnote.number"/>
-        </a>
-        <xsl:text>]</xsl:text>
-      </sup>
-    </xsl:when>
-    <xsl:otherwise>
-      <sup>
-        <xsl:text>[</xsl:text>
-        <a id="{$name}" href="{$href}">
-          <xsl:apply-templates select="." mode="class.attribute"/>
-          <xsl:apply-templates select="." mode="footnote.number"/>
-        </a>
-        <xsl:text>]</xsl:text>
-      </sup>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="footnoteref">
-  <xsl:variable name="targets" select="key('id',@linkend)"/>
-  <xsl:variable name="footnote" select="$targets[1]"/>
-
-  <xsl:variable name="target.href">
-    <xsl:call-template name="href.target">
-      <xsl:with-param name="object" select="$footnote"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="href">
-    <xsl:value-of select="substring-before($target.href, '#')"/>
-    <xsl:text>#ftn.</xsl:text>
-    <xsl:value-of select="substring-after($target.href, '#')"/>
-  </xsl:variable>
-
-  <sup>
-    <xsl:text>[</xsl:text>
-    <a href="{$href}">
-      <xsl:apply-templates select="." mode="class.attribute"/>
-      <xsl:apply-templates select="$footnote" mode="footnote.number"/>
-    </a>
-    <xsl:text>]</xsl:text>
-  </sup>
-</xsl:template>
-
-<xsl:template match="footnote" mode="footnote.number">
-  <xsl:choose>
-    <xsl:when test="string-length(@label) != 0">
-      <xsl:value-of select="@label"/>
-    </xsl:when>
-    <xsl:when test="ancestor::tgroup">
-      <xsl:variable name="tfnum">
-        <xsl:number level="any" from="table|informaltable" format="1"/>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="string-length($table.footnote.number.symbols) &gt;= $tfnum">
-          <xsl:value-of select="substring($table.footnote.number.symbols, $tfnum, 1)"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number level="any" from="tgroup" format="{$table.footnote.number.format}"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="pfoot" select="preceding::footnote[not(@label)]"/>
-      <xsl:variable name="ptfoot" select="preceding::tgroup//footnote"/>
-      <xsl:variable name="fnum" select="count($pfoot) - count($ptfoot) + 1"/>
-
-      <xsl:choose>
-        <xsl:when test="string-length($footnote.number.symbols) &gt;= $fnum">
-          <xsl:value-of select="substring($footnote.number.symbols, $fnum, 1)"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:number value="$fnum" format="{$footnote.number.format}"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="footnote/para[1]|footnote/simpara[1]" priority="2">
-  <!-- this only works if the first thing in a footnote is a para, -->
-  <!-- which is ok, because it usually is. -->
-  <xsl:variable name="name">
-    <xsl:text>ftn.</xsl:text>
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="ancestor::footnote"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="href">
-    <xsl:text>#</xsl:text>
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="ancestor::footnote"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <p>
-    <xsl:if test="@role and $para.propagates.style != 0">
-      <xsl:apply-templates select="." mode="class.attribute">
-        <xsl:with-param name="class" select="@role"/>
-      </xsl:apply-templates>
-    </xsl:if>
-    <sup>
-      <xsl:text>[</xsl:text>
-      <a id="{$name}" href="{$href}">
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:apply-templates select="ancestor::footnote" mode="footnote.number"/>
-      </a>
-      <xsl:text>] </xsl:text>
-    </sup>
-    <xsl:apply-templates/>
-  </p>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="footnote.body.number">
-  <xsl:variable name="name">
-    <xsl:text>ftn.</xsl:text>
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="ancestor::footnote"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="href">
-    <xsl:text>#</xsl:text>
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="ancestor::footnote"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="footnote.mark">
-    <sup>
-      <xsl:text>[</xsl:text>
-      <a id="{$name}" href="{$href}">
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:apply-templates select="ancestor::footnote" mode="footnote.number"/>
-      </a>
-      <xsl:text>] </xsl:text>
-    </sup>
-  </xsl:variable>
-
-  <xsl:variable name="html">
-    <xsl:apply-templates select="."/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="function-available('exsl:node-set')">
-      <xsl:variable name="html-nodes" select="exsl:node-set($html)"/>
-      <xsl:choose>
-        <xsl:when test="$html-nodes//p">
-          <xsl:apply-templates select="$html-nodes" mode="insert.html.p">
-            <xsl:with-param name="mark" select="$footnote.mark"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$html-nodes" mode="insert.html.text">
-            <xsl:with-param name="mark" select="$footnote.mark"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$html"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!--
-<xsl:template name="count-element-from">
-  <xsl:param name="from" select=".."/>
-  <xsl:param name="to" select="."/>
-  <xsl:param name="count" select="0"/>
-  <xsl:param name="list" select="$from/following::*[local-name(.)=local-name($to)]
-                                 |$from/descendant-or-self::*[local-name(.)=local-name($to)]"/>
-
-  <xsl:choose>
-    <xsl:when test="not($list)">
-      <xsl:text>-1</xsl:text>
-    </xsl:when>
-    <xsl:when test="$list[1] = $to">
-      <xsl:value-of select="$count + 1"/>
-    </xsl:when>
-    <xsl:otherwise>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
--->
-
-<!-- ==================================================================== -->
-
-<xsl:template name="process.footnotes">
-  <xsl:variable name="footnotes" select=".//footnote"/>
-  <xsl:variable name="table.footnotes" select=".//tgroup//footnote"/>
-
-  <!-- Only bother to do this if there's at least one non-table footnote -->
-  <xsl:if test="count($footnotes)&gt;count($table.footnotes)">
-    <div class="footnotes">
-      <br/>
-      <hr width="100" align="left"/>
-      <xsl:apply-templates select="$footnotes" mode="process.footnote.mode"/>
-    </div>
-  </xsl:if>
-
-  <xsl:if test="$annotation.support != 0 and //annotation">
-    <div class="annotation-list">
-      <div class="annotation-nocss">
-	<p>The following annotations are from this essay. You are seeing
-	them here because your browser doesn&#8217;t support the user-interface
-	techniques used to make them appear as &#8216;popups&#8217; on modern browsers.</p>
-      </div>
-
-      <xsl:apply-templates select="//annotation" mode="annotation-popup"/>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="process.chunk.footnotes">
-  <!-- nop -->
-</xsl:template>
-
-<xsl:template match="footnote" name="process.footnote" mode="process.footnote.mode">
-  <xsl:choose>
-    <xsl:when test="local-name(*[1]) = 'para' or local-name(*[1]) = 'simpara'">
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:apply-templates/>
-      </div>
-    </xsl:when>
-
-    <xsl:when test="$html.cleanup != 0 and function-available('exsl:node-set')">
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:apply-templates select="*[1]" mode="footnote.body.number"/>
-        <xsl:apply-templates select="*[position() &gt; 1]"/>
-      </div>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>Warning: footnote number may not be generated </xsl:text>
-        <xsl:text>correctly; </xsl:text>
-        <xsl:value-of select="local-name(*[1])"/>
-        <xsl:text> unexpected as first child of footnote.</xsl:text>
-      </xsl:message>
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:apply-templates/>
-      </div>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="tgroup//footnote" mode="process.footnote.mode">
-</xsl:template>
-
-<xsl:template match="footnote" mode="table.footnote.mode">
-  <xsl:call-template name="process.footnote"/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/formal.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/formal.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,386 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:param name="formal.object.break.after">1</xsl:param>
-
-<xsl:template name="formal.object">
-  <xsl:param name="placement" select="'before'"/>
-  <xsl:param name="class">
-    <xsl:apply-templates select="." mode="class.value"/>
-  </xsl:param>
-
-  <xsl:call-template name="id.warning"/>
-
-  <xsl:variable name="content">
-    <div class="{$class}">
-      <xsl:call-template name="anchor">
-        <xsl:with-param name="conditional" select="0"/>
-      </xsl:call-template>
-    
-      <xsl:choose>
-        <xsl:when test="$placement = 'before'">
-          <xsl:call-template name="formal.object.heading"/>
-          <div class="{$class}-contents">
-            <xsl:apply-templates/>
-          </div>
-          <!-- HACK: This doesn't belong inside formal.object; it 
-               should be done by the table template, but I want 
-               the link to be inside the DIV, so... -->
-          <xsl:if test="local-name(.) = 'table'">
-            <xsl:call-template name="table.longdesc"/>
-          </xsl:if>
-    
-          <xsl:if test="$spacing.paras != 0"><p/></xsl:if>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:if test="$spacing.paras != 0"><p/></xsl:if>
-          <div class="{$class}-contents"><xsl:apply-templates/></div>
-          <!-- HACK: This doesn't belong inside formal.object; it 
-               should be done by the table template, but I want 
-               the link to be inside the DIV, so... -->
-          <xsl:if test="local-name(.) = 'table'">
-            <xsl:call-template name="table.longdesc"/>
-          </xsl:if>
-    
-          <xsl:call-template name="formal.object.heading"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </div>
-    <xsl:if test="not($formal.object.break.after = '0')">
-      <br class="{$class}-break"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="floatstyle">
-    <xsl:call-template name="floatstyle"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$floatstyle != ''">
-      <xsl:call-template name="floater">
-        <xsl:with-param name="class"><xsl:value-of select="$class"/>-float</xsl:with-param>
-        <xsl:with-param name="floatstyle" select="$floatstyle"/>
-        <xsl:with-param name="content" select="$content"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$content"/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="formal.object.heading">
-  <xsl:param name="object" select="."/>
-  <xsl:param name="title">
-    <xsl:apply-templates select="$object" mode="object.title.markup">
-      <xsl:with-param name="allow-anchors" select="1"/>
-    </xsl:apply-templates>
-  </xsl:param>
-
-  <p class="title">
-    <b>
-      <xsl:copy-of select="$title"/>
-    </b>
-  </p>
-</xsl:template>
-
-<xsl:template name="informal.object">
-  <xsl:param name="class" select="local-name(.)"/>
-
-  <xsl:variable name="content">
-    <div class="{$class}">
-      <xsl:if test="$spacing.paras != 0"><p/></xsl:if>
-      <xsl:call-template name="anchor"/>
-      <xsl:apply-templates/>
-  
-      <!-- HACK: This doesn't belong inside formal.object; it 
-           should be done by the table template, but I want 
-           the link to be inside the DIV, so... -->
-      <xsl:if test="local-name(.) = 'informaltable'">
-        <xsl:call-template name="table.longdesc"/>
-      </xsl:if>
-  
-      <xsl:if test="$spacing.paras != 0"><p/></xsl:if>
-    </div>
-  </xsl:variable>
-
-  <xsl:variable name="floatstyle">
-    <xsl:call-template name="floatstyle"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$floatstyle != ''">
-      <xsl:call-template name="floater">
-        <xsl:with-param name="class"><xsl:value-of select="$class"/>-float</xsl:with-param>
-        <xsl:with-param name="floatstyle" select="$floatstyle"/>
-        <xsl:with-param name="content" select="$content"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$content"/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="semiformal.object">
-  <xsl:param name="placement" select="'before'"/>
-  <xsl:param name="class" select="local-name(.)"/>
-
-  <xsl:choose>
-    <xsl:when test="title">
-      <xsl:call-template name="formal.object">
-        <xsl:with-param name="placement" select="$placement"/>
-        <xsl:with-param name="class" select="$class"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="informal.object">
-        <xsl:with-param name="class" select="$class"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="figure">
-  <xsl:variable name="param.placement" select="substring-after(normalize-space($formal.title.placement),                                         concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="formal.object">
-    <xsl:with-param name="placement" select="$placement"/>
-  </xsl:call-template>
-
-</xsl:template>
-
-<xsl:template match="table">
-  <xsl:choose>
-    <xsl:when test="tgroup|mediaobject|graphic">
-      <xsl:call-template name="calsTable"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy>
-        <xsl:copy-of select="@*[not(local-name()='id')]"/>
-        <xsl:attribute name="id">
-          <xsl:call-template name="object.id"/>
-        </xsl:attribute>
-        <xsl:call-template name="htmlTable"/>
-      </xsl:copy>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="calsTable">
-  <xsl:if test="tgroup/tbody/tr                 |tgroup/thead/tr                 |tgroup/tfoot/tr">
-    <xsl:message terminate="yes">Broken table: tr descendent of CALS Table.</xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="param.placement" select="substring-after(normalize-space($formal.title.placement),                                         concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="formal.object">
-    <xsl:with-param name="placement" select="$placement"/>
-    <xsl:with-param name="class">
-      <xsl:choose>
-        <xsl:when test="@tabstyle">
-          <!-- hack, this will only ever occur on table, not example -->
-          <xsl:value-of select="@tabstyle"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="local-name(.)"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="htmlTable">
-  <xsl:if test="tgroup/tbody/row                 |tgroup/thead/row                 |tgroup/tfoot/row">
-    <xsl:message terminate="yes">Broken table: row descendent of HTML table.</xsl:message>
-  </xsl:if>
-
-  <xsl:apply-templates mode="htmlTable"/>
-</xsl:template>
-
-<xsl:template match="example">
-  <xsl:variable name="param.placement" select="substring-after(normalize-space($formal.title.placement),                      concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="formal.object">
-    <xsl:with-param name="placement" select="$placement"/>
-  </xsl:call-template>
-
-</xsl:template>
-
-<xsl:template match="equation">
-  <xsl:variable name="param.placement" select="substring-after(normalize-space($formal.title.placement),                                       concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="formal.object">
-    <xsl:with-param name="placement" select="$placement"/>
-  </xsl:call-template>
-
-</xsl:template>
-
-<xsl:template match="figure/title"/>
-<xsl:template match="figure/titleabbrev"/>
-<xsl:template match="table/title"/>
-<xsl:template match="table/titleabbrev"/>
-<xsl:template match="table/textobject"/>
-<xsl:template match="example/title"/>
-<xsl:template match="example/titleabbrev"/>
-<xsl:template match="equation/title"/>
-<xsl:template match="equation/titleabbrev"/>
-
-<xsl:template match="informalfigure">
-  <xsl:call-template name="informal.object"/>
-</xsl:template>
-
-<xsl:template match="informalexample">
-  <xsl:call-template name="informal.object"/>
-</xsl:template>
-
-<xsl:template match="informaltable">
-  <xsl:choose>
-    <xsl:when test="tgroup|mediaobject|graphic">
-      <xsl:call-template name="informal.object">
-        <xsl:with-param name="class">
-          <xsl:choose>
-            <xsl:when test="@tabstyle">
-              <xsl:value-of select="@tabstyle"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:value-of select="local-name(.)"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <table>
-        <xsl:copy-of select="@*"/>
-        <xsl:call-template name="htmlTable"/>
-      </table>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="informaltable/textobject"/>
-
-<xsl:template name="table.longdesc">
-  <!-- HACK: This doesn't belong inside formal.objectt; it should be done by -->
-  <!-- the table template, but I want the link to be inside the DIV, so... -->
-  <xsl:variable name="longdesc.uri">
-    <xsl:call-template name="longdesc.uri">
-      <xsl:with-param name="mediaobject" select="."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="irrelevant">
-    <!-- write.longdesc returns the filename ... -->
-    <xsl:call-template name="write.longdesc">
-      <xsl:with-param name="mediaobject" select="."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="$html.longdesc != 0 and $html.longdesc.link != 0                 and textobject[not(phrase)]">
-    <xsl:call-template name="longdesc.link">
-      <xsl:with-param name="longdesc.uri" select="$longdesc.uri"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="informalequation">
-  <xsl:call-template name="informal.object"/>
-</xsl:template>
-
-<xsl:template name="floatstyle">
-  <xsl:if test="(@float and @float != '0') or @floatstyle != ''">
-    <xsl:choose>
-      <xsl:when test="@floatstyle != ''">
-        <xsl:value-of select="@floatstyle"/>
-      </xsl:when>
-      <xsl:when test="@float = '1'">
-        <xsl:value-of select="$default.float.class"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="@float"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="floater">
-  <xsl:param name="content"/>
-  <xsl:param name="class" select="'float'"/>
-  <xsl:param name="floatstyle" select="'left'"/>
-
-  <div class="{$class}">
-    <xsl:if test="$floatstyle = 'left' or $floatstyle = 'right'">
-      <xsl:attribute name="style">
-        <xsl:text>float: </xsl:text>
-        <xsl:value-of select="$floatstyle"/>
-        <xsl:text>;</xsl:text>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:copy-of select="$content"/>
-  </div>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/glossary.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/glossary.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,548 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="glossary">
-  
-<xsl:variable name="language">
-  <xsl:call-template name="l10n.language"/>
-</xsl:variable>
-
-<xsl:variable name="lowercase">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-<xsl:variable name="uppercase">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="glossary.titlepage"/>
-
-    <xsl:choose>
-      <xsl:when test="glossdiv">
-        <xsl:apply-templates select="(glossdiv[1]/preceding-sibling::*)"/>
-      </xsl:when>
-      <xsl:when test="glossentry">
-        <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:choose>
-      <xsl:when test="glossdiv">
-        <xsl:apply-templates select="glossdiv"/>
-      </xsl:when>
-      <xsl:when test="glossentry">
-        <dl>
-          <xsl:choose>
-            <xsl:when test="$glossary.sort != 0">
-              <xsl:apply-templates select="glossentry">
-                <xsl:sort lang="{$language}" select="translate(glossterm, $lowercase,                                              $uppercase)"/>
-              </xsl:apply-templates>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="glossentry"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </dl>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- empty glossary -->
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:if test="not(parent::article)">
-      <xsl:call-template name="process.footnotes"/>
-    </xsl:if>
-  </div>
-</xsl:template>
-
-<xsl:template match="glossary/glossaryinfo"/>
-<xsl:template match="glossary/info"/>
-<xsl:template match="glossary/title"/>
-<xsl:template match="glossary/subtitle"/>
-<xsl:template match="glossary/titleabbrev"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="glosslist">
-  
-<xsl:variable name="language">
-  <xsl:call-template name="l10n.language"/>
-</xsl:variable>
-
-<xsl:variable name="lowercase">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-<xsl:variable name="uppercase">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="blockinfo/title|info/title|title">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-    <dl>
-      <xsl:choose>
-        <xsl:when test="$glossary.sort != 0">
-          <xsl:apply-templates select="glossentry">
-            <xsl:sort lang="{$language}" select="translate(glossterm, $lowercase,                                          $uppercase)"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="glossentry"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </dl>
-  </div>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="glossdiv">
-  
-<xsl:variable name="language">
-  <xsl:call-template name="l10n.language"/>
-</xsl:variable>
-
-<xsl:variable name="lowercase">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-<xsl:variable name="uppercase">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
-
-    <dl>
-      <xsl:choose>
-        <xsl:when test="$glossary.sort != 0">
-          <xsl:apply-templates select="glossentry">
-            <xsl:sort lang="{$language}" select="translate(glossterm, $lowercase,                                          $uppercase)"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="glossentry"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </dl>
-  </div>
-</xsl:template>
-
-<xsl:template match="glossdiv/title">
-  <h3>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates/>
-  </h3>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!--
-GlossEntry ::=
-  GlossTerm, Acronym?, Abbrev?,
-  (IndexTerm)*,
-  RevHistory?,
-  (GlossSee | GlossDef+)
--->
-
-<xsl:template match="glossentry">
-  <xsl:choose>
-    <xsl:when test="$glossentry.show.acronym = 'primary'">
-      <dt>
-        <xsl:call-template name="anchor">
-          <xsl:with-param name="conditional">
-            <xsl:choose>
-              <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
-              <xsl:otherwise>1</xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:call-template>
-
-        <xsl:choose>
-          <xsl:when test="acronym|abbrev">
-            <xsl:apply-templates select="acronym|abbrev"/>
-            <xsl:text> (</xsl:text>
-            <xsl:apply-templates select="glossterm"/>
-            <xsl:text>)</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates select="glossterm"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </dt>
-    </xsl:when>
-    <xsl:when test="$glossentry.show.acronym = 'yes'">
-      <dt>
-        <xsl:call-template name="anchor">
-          <xsl:with-param name="conditional">
-            <xsl:choose>
-              <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
-              <xsl:otherwise>1</xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:call-template>
-
-        <xsl:apply-templates select="glossterm"/>
-
-        <xsl:if test="acronym|abbrev">
-          <xsl:text> (</xsl:text>
-          <xsl:apply-templates select="acronym|abbrev"/>
-          <xsl:text>)</xsl:text>
-        </xsl:if>
-      </dt>
-    </xsl:when>
-    <xsl:otherwise>
-      <dt>
-        <xsl:call-template name="anchor">
-          <xsl:with-param name="conditional">
-            <xsl:choose>
-              <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
-              <xsl:otherwise>1</xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:call-template>
-
-        <xsl:apply-templates select="glossterm"/>
-      </dt>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:apply-templates select="indexterm|revhistory|glosssee|glossdef"/>
-</xsl:template>
-
-<xsl:template match="glossentry/glossterm">
-  <xsl:apply-templates/>
-  <xsl:if test="following-sibling::glossterm">, </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/acronym">
-  <xsl:apply-templates/>
-  <xsl:if test="following-sibling::acronym|following-sibling::abbrev">, </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/abbrev">
-  <xsl:apply-templates/>
-  <xsl:if test="following-sibling::acronym|following-sibling::abbrev">, </xsl:if>
-</xsl:template>
-
-<xsl:template match="glossentry/revhistory">
-</xsl:template>
-
-<xsl:template match="glossentry/glosssee">
-  <xsl:variable name="otherterm" select="@otherterm"/>
-  <xsl:variable name="targets" select="key('id', $otherterm)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <dd>
-    <p>
-      <xsl:variable name="template">
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'glossary'"/>
-          <xsl:with-param name="name" select="'see'"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="title">
-        <xsl:choose>
-          <xsl:when test="$target">
-            <a>
-              <xsl:apply-templates select="." mode="class.attribute"/>
-              <xsl:attribute name="href">
-                <xsl:call-template name="href.target">
-                  <xsl:with-param name="object" select="$target"/>
-                </xsl:call-template>
-              </xsl:attribute>
-              <xsl:apply-templates select="$target" mode="xref-to"/>
-            </a>
-          </xsl:when>
-          <xsl:when test="$otherterm != '' and not($target)">
-            <xsl:message>
-              <xsl:text>Warning: glosssee @otherterm reference not found: </xsl:text>
-              <xsl:value-of select="$otherterm"/>
-            </xsl:message>
-            <xsl:apply-templates/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:call-template name="substitute-markup">
-        <xsl:with-param name="template" select="$template"/>
-        <xsl:with-param name="title" select="$title"/>
-      </xsl:call-template>
-      <xsl:text>.</xsl:text>
-    </p>
-  </dd>
-</xsl:template>
-
-<xsl:template match="glossentry/glossdef">
-  <dd>
-    <xsl:apply-templates select="*[local-name(.) != 'glossseealso']"/>
-    <xsl:if test="glossseealso">
-      <p>
-        <xsl:variable name="template">
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="context" select="'glossary'"/>
-            <xsl:with-param name="name" select="'seealso'"/>
-          </xsl:call-template>
-        </xsl:variable>
-        <xsl:variable name="title">
-          <xsl:apply-templates select="glossseealso"/>
-        </xsl:variable>
-        <xsl:call-template name="substitute-markup">
-          <xsl:with-param name="template" select="$template"/>
-          <xsl:with-param name="title" select="$title"/>
-        </xsl:call-template>
-      </p>
-    </xsl:if>
-  </dd>
-</xsl:template>
-
-<xsl:template match="glossseealso">
-  <xsl:variable name="otherterm" select="@otherterm"/>
-  <xsl:variable name="targets" select="key('id', $otherterm)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="$target">
-      <a>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$target"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:apply-templates select="$target" mode="xref-to"/>
-      </a>
-    </xsl:when>
-    <xsl:when test="$otherterm != '' and not($target)">
-      <xsl:message>
-        <xsl:text>Warning: glossseealso @otherterm reference not found: </xsl:text>
-        <xsl:value-of select="$otherterm"/>
-      </xsl:message>
-      <xsl:apply-templates/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="position() = last()">
-      <xsl:text>.</xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>, </xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- Glossary collection -->
-
-<xsl:template match="glossary[@role='auto']" priority="2">
-  
-<xsl:variable name="language">
-  <xsl:call-template name="l10n.language"/>
-</xsl:variable>
-
-<xsl:variable name="lowercase">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-<xsl:variable name="uppercase">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-  <xsl:variable name="terms" select="//glossterm[not(parent::glossdef)]|//firstterm"/>
-  <xsl:variable name="collection" select="document($glossary.collection, .)"/>
-
-  <xsl:call-template name="id.warning"/>
-
-  <xsl:if test="$glossary.collection = ''">
-    <xsl:message>
-      <xsl:text>Warning: processing automatic glossary </xsl:text>
-      <xsl:text>without a glossary.collection file.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:if test="not($collection) and $glossary.collection != ''">
-    <xsl:message>
-      <xsl:text>Warning: processing automatic glossary but unable to </xsl:text>
-      <xsl:text>open glossary.collection file '</xsl:text>
-      <xsl:value-of select="$glossary.collection"/>
-      <xsl:text>'</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="glossary.titlepage"/>
-
-    <xsl:choose>
-      <xsl:when test="glossdiv and $collection//glossdiv">
-        <xsl:for-each select="$collection//glossdiv">
-          <!-- first see if there are any in this div -->
-          <xsl:variable name="exist.test">
-            <xsl:for-each select="glossentry">
-              <xsl:variable name="cterm" select="glossterm"/>
-              <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-                <xsl:value-of select="glossterm"/>
-              </xsl:if>
-            </xsl:for-each>
-          </xsl:variable>
-
-          <xsl:if test="$exist.test != ''">
-            <xsl:apply-templates select="." mode="auto-glossary">
-              <xsl:with-param name="terms" select="$terms"/>
-            </xsl:apply-templates>
-          </xsl:if>
-        </xsl:for-each>
-      </xsl:when>
-      <xsl:otherwise>
-        <dl>
-          <xsl:choose>
-            <xsl:when test="$glossary.sort != 0">
-              <xsl:for-each select="$collection//glossentry">
-                <xsl:sort lang="{$language}" select="translate(glossterm, $lowercase,                                              $uppercase)"/>
-                <xsl:variable name="cterm" select="glossterm"/>
-                <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-                  <xsl:apply-templates select="." mode="auto-glossary"/>
-                </xsl:if>
-              </xsl:for-each>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:for-each select="$collection//glossentry">
-                <xsl:variable name="cterm" select="glossterm"/>
-                <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-                  <xsl:apply-templates select="." mode="auto-glossary"/>
-                </xsl:if>
-              </xsl:for-each>
-            </xsl:otherwise>
-          </xsl:choose>
-        </dl>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:if test="not(parent::article)">
-      <xsl:call-template name="process.footnotes"/>
-    </xsl:if>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="auto-glossary">
-  <!-- pop back out to the default mode for most elements -->
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="glossdiv" mode="auto-glossary">
-  <xsl:param name="terms" select="."/>
-
-  
-<xsl:variable name="language">
-  <xsl:call-template name="l10n.language"/>
-</xsl:variable>
-
-<xsl:variable name="lowercase">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-<xsl:variable name="uppercase">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
-  </xsl:call-template>
-</xsl:variable>
-
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
-
-    <dl>
-      <xsl:choose>
-        <xsl:when test="$glossary.sort != 0">
-          <xsl:for-each select="glossentry">
-            <xsl:sort lang="{$language}" select="translate(glossterm, $lowercase,                                          $uppercase)"/>
-            <xsl:variable name="cterm" select="glossterm"/>
-            <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-              <xsl:apply-templates select="." mode="auto-glossary"/>
-            </xsl:if>
-          </xsl:for-each>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:for-each select="glossentry">
-            <xsl:variable name="cterm" select="glossterm"/>
-            <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
-              <xsl:apply-templates select="." mode="auto-glossary"/>
-            </xsl:if>
-          </xsl:for-each>
-        </xsl:otherwise>
-      </xsl:choose>
-    </dl>
-  </div>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/graphics.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/graphics.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1414 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:stext="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.TextFactory" xmlns:simg="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.ImageIntrinsics" xmlns:ximg="xalan://com.nwalsh.xalan.ImageIntrinsics" xmlns:xtext="xalan://com.nwalsh.xalan.Text" xmlns:lxslt="http://xml.apache.org/xslt" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xlink stext xtext lxslt simg ximg" extension-element-prefixes="stext xtext" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     Contributors:
-     Colin Paul Adams, <colin@colina.demon.co.uk>
-
-     ******************************************************************** -->
-
-<lxslt:component prefix="xtext" elements="insertfile"/>
-<lxslt:component prefix="ximg" functions="new getWidth getDepth"/>
-
-<!-- ==================================================================== -->
-<!-- Graphic format tests for the HTML backend -->
-
-<xsl:template name="is.graphic.format">
-  <xsl:param name="format"/>
-  <xsl:if test="$format = 'SVG'                 or $format = 'PNG'                 or $format = 'JPG'                 or $format = 'JPEG'                 or $format = 'linespecific'                 or $format = 'GIF'                 or $format = 'GIF87a'                 or $format = 'GIF89a'                 or $format = 'BMP'">1</xsl:if>
-</xsl:template>
-
-<xsl:template name="is.graphic.extension">
-  <xsl:param name="ext"/>
-  <xsl:variable name="lcext" select="translate($ext,                                        'ABCDEFGHIJKLMNOPQRSTUVWXYZ',                                        'abcdefghijklmnopqrstuvwxyz')"/>
-  <xsl:if test="$lcext = 'svg'              or $lcext = 'png'              or $lcext = 'jpeg'              or $lcext = 'jpg'              or $lcext = 'avi'              or $lcext = 'mpg'              or $lcext = 'mpeg'              or $lcext = 'qt'              or $lcext = 'gif'              or $lcext = 'bmp'">1</xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="screenshot">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="screeninfo">
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="process.image">
-  <!-- When this template is called, the current node should be  -->
-  <!-- a graphic, inlinegraphic, imagedata, or videodata. All    -->
-  <!-- those elements have the same set of attributes, so we can -->
-  <!-- handle them all in one place.                             -->
-  <xsl:param name="tag" select="'img'"/>
-  <xsl:param name="alt"/>
-  <xsl:param name="longdesc"/>
-
-  <!-- The HTML img element only supports the notion of content-area
-       scaling; it doesn't support the distinction between a
-       content-area and a viewport-area, so we have to make some
-       compromises.
-
-       1. If only the content-area is specified, everything is fine.
-          (If you ask for a three inch image, that's what you'll get.)
-
-       2. If only the viewport-area is provided:
-          - If scalefit=1, treat it as both the content-area and
-            the viewport-area. (If you ask for an image in a five inch
-            area, we'll make the image five inches to fill that area.)
-          - If scalefit=0, ignore the viewport-area specification.
-
-          Note: this is not quite the right semantic and has the additional
-          problem that it can result in anamorphic scaling, which scalefit
-          should never cause.
-
-       3. If both the content-area and the viewport-area is specified
-          on a graphic element, ignore the viewport-area.
-          (If you ask for a three inch image in a five inch area, we'll assume
-           it's better to give you a three inch image in an unspecified area
-           than a five inch image in a five inch area.
-
-       Relative units also cause problems. As a general rule, the stylesheets
-       are operating too early and too loosely coupled with the rendering engine
-       to know things like the current font size or the actual dimensions of
-       an image. Therefore:
-
-       1. We use a fixed size for pixels, $pixels.per.inch
-
-       2. We use a fixed size for "em"s, $points.per.em
-
-       Percentages are problematic. In the following discussion, we speak
-       of width and contentwidth, but the same issues apply to depth and
-       contentdepth
-
-       1. A width of 50% means "half of the available space for the image."
-          That's fine. But note that in HTML, this is a dynamic property and
-          the image size will vary if the browser window is resized.
-
-       2. A contentwidth of 50% means "half of the actual image width". But
-          the stylesheets have no way to assess the image's actual size. Treating
-          this as a width of 50% is one possibility, but it produces behavior
-          (dynamic scaling) that seems entirely out of character with the
-          meaning.
-
-          Instead, the stylesheets define a $nominal.image.width
-          and convert percentages to actual values based on that nominal size.
-
-       Scale can be problematic. Scale applies to the contentwidth, so
-       a scale of 50 when a contentwidth is not specified is analagous to a
-       width of 50%. (If a contentwidth is specified, the scaling factor can
-       be applied to that value and no problem exists.)
-
-       If scale is specified but contentwidth is not supplied, the
-       nominal.image.width is used to calculate a base size
-       for scaling.
-
-       Warning: as a consequence of these decisions, unless the aspect ratio
-       of your image happens to be exactly the same as (nominal width / nominal height),
-       specifying contentwidth="50%" and contentdepth="50%" is NOT going to
-       scale the way you expect (or really, the way it should).
-
-       Don't do that. In fact, a percentage value is not recommended for content
-       size at all. Use scale instead.
-
-       Finally, align and valign are troublesome. Horizontal alignment is now
-       supported by wrapping the image in a <div align="{@align}"> (in block
-       contexts!). I can't think of anything (practical) to do about vertical
-       alignment.
-  -->
-
-  <xsl:variable name="width-units">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0"/>
-      <xsl:when test="@width">
-        <xsl:call-template name="length-units">
-          <xsl:with-param name="length" select="@width"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:when test="not(@depth) and $default.image.width != ''">
-        <xsl:call-template name="length-units">
-          <xsl:with-param name="length" select="$default.image.width"/>
-        </xsl:call-template>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="width">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0"/>
-      <xsl:when test="@width">
-        <xsl:choose>
-          <xsl:when test="$width-units = '%'">
-            <xsl:value-of select="@width"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="length-spec">
-              <xsl:with-param name="length" select="@width"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:when test="not(@depth) and $default.image.width != ''">
-        <xsl:value-of select="$default.image.width"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="scalefit">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0">0</xsl:when>
-      <xsl:when test="@contentwidth or @contentdepth">0</xsl:when>
-      <xsl:when test="@scale">0</xsl:when>
-      <xsl:when test="@scalefit"><xsl:value-of select="@scalefit"/></xsl:when>
-      <xsl:when test="$width != '' or @depth">1</xsl:when>
-      <xsl:otherwise>0</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="scale">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0">1.0</xsl:when>
-      <xsl:when test="@contentwidth or @contentdepth">1.0</xsl:when>
-      <xsl:when test="@scale">
-        <xsl:value-of select="@scale div 100.0"/>
-      </xsl:when>
-      <xsl:otherwise>1.0</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="local-name(.) = 'graphic'                       or local-name(.) = 'inlinegraphic'">
-        <!-- handle legacy graphic and inlinegraphic by new template --> 
-        <xsl:call-template name="mediaobject.filename">
-          <xsl:with-param name="object" select="."/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- imagedata, videodata, audiodata -->
-        <xsl:call-template name="mediaobject.filename">
-          <xsl:with-param name="object" select=".."/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="output_filename">
-    <xsl:choose>
-      <xsl:when test="@entityref">
-        <xsl:value-of select="$filename"/>
-      </xsl:when>
-      <!--
-        Moved test for $keep.relative.image.uris to template below:
-            <xsl:template match="@fileref">
-      -->
-      <xsl:otherwise>
-        <xsl:value-of select="$filename"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="img.src.path.pi">
-    <xsl:call-template name="pi.dbhtml_img.src.path">
-      <xsl:with-param name="node" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="filename.for.graphicsize">
-    <xsl:choose>
-      <xsl:when test="$img.src.path.pi != ''">
-        <xsl:value-of select="concat($img.src.path.pi, $filename)"/>
-      </xsl:when>
-      <xsl:when test="$img.src.path != '' and                       $graphicsize.use.img.src.path != 0 and                       $tag = 'img' and                       not(starts-with($filename, '/')) and                       not(contains($filename, '://'))">
-        <xsl:value-of select="concat($img.src.path, $filename)"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$filename"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="realintrinsicwidth">
-    <!-- This funny compound test works around a bug in XSLTC -->
-    <xsl:choose>
-      <xsl:when test="$use.extensions != 0 and $graphicsize.extension != 0">
-        <xsl:choose>
-          <xsl:when test="function-available('simg:getWidth')">
-            <xsl:value-of select="simg:getWidth(simg:new($filename.for.graphicsize),                                                 $nominal.image.width)"/>
-          </xsl:when>
-          <xsl:when test="function-available('ximg:getWidth')">
-            <xsl:value-of select="ximg:getWidth(ximg:new($filename.for.graphicsize),                                                 $nominal.image.width)"/>
-          </xsl:when>
-          <xsl:otherwise>
-           <xsl:value-of select="0"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="0"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="intrinsicwidth">
-    <xsl:choose>
-      <xsl:when test="$realintrinsicwidth = 0">
-       <xsl:value-of select="$nominal.image.width"/>
-      </xsl:when>
-      <xsl:otherwise>
-       <xsl:value-of select="$realintrinsicwidth"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="intrinsicdepth">
-    <!-- This funny compound test works around a bug in XSLTC -->
-    <xsl:choose>
-      <xsl:when test="$use.extensions != 0 and $graphicsize.extension != 0">
-        <xsl:choose>
-          <xsl:when test="function-available('simg:getDepth')">
-            <xsl:value-of select="simg:getDepth(simg:new($filename.for.graphicsize),                                                 $nominal.image.depth)"/>
-          </xsl:when>
-          <xsl:when test="function-available('ximg:getDepth')">
-            <xsl:value-of select="ximg:getDepth(ximg:new($filename.for.graphicsize),                                                 $nominal.image.depth)"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$nominal.image.depth"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$nominal.image.depth"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="contentwidth">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0"/>
-      <xsl:when test="@contentwidth">
-        <xsl:variable name="units">
-          <xsl:call-template name="length-units">
-            <xsl:with-param name="length" select="@contentwidth"/>
-          </xsl:call-template>
-        </xsl:variable>
-
-        <xsl:choose>
-          <xsl:when test="$units = '%'">
-            <xsl:variable name="cmagnitude">
-              <xsl:call-template name="length-magnitude">
-                <xsl:with-param name="length" select="@contentwidth"/>
-              </xsl:call-template>
-            </xsl:variable>
-            <xsl:value-of select="$intrinsicwidth * $cmagnitude div 100.0"/>
-            <xsl:text>px</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="length-spec">
-              <xsl:with-param name="length" select="@contentwidth"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$intrinsicwidth"/>
-        <xsl:text>px</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="scaled.contentwidth">
-    <xsl:if test="$contentwidth != ''">
-      <xsl:variable name="cwidth.in.points">
-        <xsl:call-template name="length-in-points">
-          <xsl:with-param name="length" select="$contentwidth"/>
-          <xsl:with-param name="pixels.per.inch" select="$pixels.per.inch"/>
-          <xsl:with-param name="em.size" select="$points.per.em"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:value-of select="$cwidth.in.points div 72.0 * $pixels.per.inch * $scale"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="html.width">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0"/>
-      <xsl:when test="$width-units = '%'">
-        <xsl:value-of select="$width"/>
-      </xsl:when>
-      <xsl:when test="$width != ''">
-        <xsl:variable name="width.in.points">
-          <xsl:call-template name="length-in-points">
-            <xsl:with-param name="length" select="$width"/>
-            <xsl:with-param name="pixels.per.inch" select="$pixels.per.inch"/>
-            <xsl:with-param name="em.size" select="$points.per.em"/>
-          </xsl:call-template>
-        </xsl:variable>
-        <xsl:value-of select="round($width.in.points div 72.0 * $pixels.per.inch)"/>
-      </xsl:when>
-      <xsl:otherwise/>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="contentdepth">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0"/>
-      <xsl:when test="@contentdepth">
-        <xsl:variable name="units">
-          <xsl:call-template name="length-units">
-            <xsl:with-param name="length" select="@contentdepth"/>
-          </xsl:call-template>
-        </xsl:variable>
-
-        <xsl:choose>
-          <xsl:when test="$units = '%'">
-            <xsl:variable name="cmagnitude">
-              <xsl:call-template name="length-magnitude">
-                <xsl:with-param name="length" select="@contentdepth"/>
-              </xsl:call-template>
-            </xsl:variable>
-            <xsl:value-of select="$intrinsicdepth * $cmagnitude div 100.0"/>
-            <xsl:text>px</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="length-spec">
-              <xsl:with-param name="length" select="@contentdepth"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$intrinsicdepth"/>
-        <xsl:text>px</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="scaled.contentdepth">
-    <xsl:if test="$contentdepth != ''">
-      <xsl:variable name="cdepth.in.points">
-        <xsl:call-template name="length-in-points">
-          <xsl:with-param name="length" select="$contentdepth"/>
-          <xsl:with-param name="pixels.per.inch" select="$pixels.per.inch"/>
-          <xsl:with-param name="em.size" select="$points.per.em"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:value-of select="$cdepth.in.points div 72.0 * $pixels.per.inch * $scale"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="depth-units">
-    <xsl:if test="@depth">
-      <xsl:call-template name="length-units">
-        <xsl:with-param name="length" select="@depth"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="depth">
-    <xsl:if test="@depth">
-      <xsl:choose>
-        <xsl:when test="$depth-units = '%'">
-          <xsl:value-of select="@depth"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="length-spec">
-            <xsl:with-param name="length" select="@depth"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="html.depth">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0"/>
-      <xsl:when test="$depth-units = '%'">
-        <xsl:value-of select="$depth"/>
-      </xsl:when>
-      <xsl:when test="@depth and @depth != ''">
-        <xsl:variable name="depth.in.points">
-          <xsl:call-template name="length-in-points">
-            <xsl:with-param name="length" select="$depth"/>
-            <xsl:with-param name="pixels.per.inch" select="$pixels.per.inch"/>
-            <xsl:with-param name="em.size" select="$points.per.em"/>
-          </xsl:call-template>
-        </xsl:variable>
-        <xsl:value-of select="round($depth.in.points div 72.0 * $pixels.per.inch)"/>
-      </xsl:when>
-      <xsl:otherwise/>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="viewport">
-    <xsl:choose>
-      <xsl:when test="$ignore.image.scaling != 0">0</xsl:when>
-      <xsl:when test="local-name(.) = 'inlinegraphic'                       or ancestor::inlinemediaobject                       or ancestor::inlineequation">0</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$make.graphic.viewport"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-<!--
-  <xsl:message>=====================================
-scale: <xsl:value-of select="$scale"/>, <xsl:value-of select="$scalefit"/>
-@contentwidth <xsl:value-of select="@contentwidth"/>
-$contentwidth <xsl:value-of select="$contentwidth"/>
-scaled.contentwidth: <xsl:value-of select="$scaled.contentwidth"/>
-@width: <xsl:value-of select="@width"/>
-width: <xsl:value-of select="$width"/>
-html.width: <xsl:value-of select="$html.width"/>
-@contentdepth <xsl:value-of select="@contentdepth"/>
-$contentdepth <xsl:value-of select="$contentdepth"/>
-scaled.contentdepth: <xsl:value-of select="$scaled.contentdepth"/>
-@depth: <xsl:value-of select="@depth"/>
-depth: <xsl:value-of select="$depth"/>
-html.depth: <xsl:value-of select="$html.depth"/>
-align: <xsl:value-of select="@align"/>
-valign: <xsl:value-of select="@valign"/></xsl:message>
--->
-
-  <xsl:variable name="scaled" select="@width|@depth|@contentwidth|@contentdepth                         |@scale|@scalefit"/>
-
-  <xsl:variable name="img">
-    <xsl:choose>
-      <xsl:when test="@format = 'SVG'">
-        <object data="{$output_filename}" type="image/svg+xml">
-          <xsl:call-template name="process.image.attributes">
-            <!--xsl:with-param name="alt" select="$alt"/ there's no alt here-->
-            <xsl:with-param name="html.depth" select="$html.depth"/>
-            <xsl:with-param name="html.width" select="$html.width"/>
-            <xsl:with-param name="longdesc" select="$longdesc"/>
-            <xsl:with-param name="scale" select="$scale"/>
-            <xsl:with-param name="scalefit" select="$scalefit"/>
-            <xsl:with-param name="scaled.contentdepth" select="$scaled.contentdepth"/>
-            <xsl:with-param name="scaled.contentwidth" select="$scaled.contentwidth"/>
-            <xsl:with-param name="viewport" select="$viewport"/>
-          </xsl:call-template>
-          <xsl:if test="@align">
-            <xsl:attribute name="align">
-                <xsl:choose>
-                  <xsl:when test="@align = 'center'">middle</xsl:when>
-                  <xsl:otherwise>
-                    <xsl:value-of select="@align"/>
-                  </xsl:otherwise>
-                </xsl:choose>
-            </xsl:attribute>
-          </xsl:if>
-          <xsl:if test="$use.embed.for.svg != 0">
-            <embed src="{$output_filename}" type="image/svg+xml">
-              <xsl:call-template name="process.image.attributes">
-                <!--xsl:with-param name="alt" select="$alt"/ there's no alt here -->
-                <xsl:with-param name="html.depth" select="$html.depth"/>
-                <xsl:with-param name="html.width" select="$html.width"/>
-                <xsl:with-param name="longdesc" select="$longdesc"/>
-                <xsl:with-param name="scale" select="$scale"/>
-                <xsl:with-param name="scalefit" select="$scalefit"/>
-                <xsl:with-param name="scaled.contentdepth" select="$scaled.contentdepth"/>
-                <xsl:with-param name="scaled.contentwidth" select="$scaled.contentwidth"/>
-                <xsl:with-param name="viewport" select="$viewport"/>
-              </xsl:call-template>
-            </embed>
-          </xsl:if>
-        </object>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:element name="{$tag}" namespace="http://www.w3.org/1999/xhtml">
-         <xsl:if test="$tag = 'img' and ../../self::imageobjectco">
-           <xsl:variable name="mapname">
-             <xsl:call-template name="object.id">
-               <xsl:with-param name="object" select="../../areaspec"/>
-             </xsl:call-template>
-           </xsl:variable>
-           <xsl:choose>
-             <xsl:when test="$scaled">
-              <!-- It might be possible to handle some scaling; needs -->
-              <!-- more investigation -->
-              <xsl:message>
-                <xsl:text>Warning: imagemaps not supported </xsl:text>
-                <xsl:text>on scaled images</xsl:text>
-              </xsl:message>
-             </xsl:when>
-             <xsl:otherwise>
-              <xsl:attribute name="border">0</xsl:attribute>
-              <xsl:attribute name="usemap">
-                <xsl:value-of select="concat('#', $mapname)"/>
-              </xsl:attribute>
-             </xsl:otherwise>
-           </xsl:choose>
-         </xsl:if>
-
-          <xsl:attribute name="src">
-           <xsl:choose>
-             <xsl:when test="$img.src.path != '' and                            $tag = 'img' and                              not(starts-with($output_filename, '/')) and                            not(contains($output_filename, '://'))">
-               <xsl:value-of select="$img.src.path"/>
-             </xsl:when>
-           </xsl:choose>
-            <xsl:value-of select="$output_filename"/>
-          </xsl:attribute>
-
-          <xsl:if test="@align">
-            <xsl:attribute name="align">
-              <xsl:choose>
-                <xsl:when test="@align = 'center'">middle</xsl:when>
-                <xsl:otherwise>
-                  <xsl:value-of select="@align"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:attribute>
-          </xsl:if>
-
-          <xsl:call-template name="process.image.attributes">
-            <xsl:with-param name="alt">
-              <xsl:choose>
-                <xsl:when test="$alt != ''">
-                  <xsl:copy-of select="$alt"/>
-                </xsl:when>
-                <xsl:when test="ancestor::figure">
-                  <xsl:value-of select="normalize-space(ancestor::figure/title)"/>
-                </xsl:when>
-              </xsl:choose>
-            </xsl:with-param>
-            <xsl:with-param name="html.depth" select="$html.depth"/>
-            <xsl:with-param name="html.width" select="$html.width"/>
-            <xsl:with-param name="longdesc" select="$longdesc"/>
-            <xsl:with-param name="scale" select="$scale"/>
-            <xsl:with-param name="scalefit" select="$scalefit"/>
-            <xsl:with-param name="scaled.contentdepth" select="$scaled.contentdepth"/>
-            <xsl:with-param name="scaled.contentwidth" select="$scaled.contentwidth"/>
-            <xsl:with-param name="viewport" select="$viewport"/>
-          </xsl:call-template>
-        </xsl:element>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="bgcolor">
-    <xsl:call-template name="pi.dbhtml_background-color">
-      <xsl:with-param name="node" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="use.viewport" select="$viewport != 0                         and ($html.width != ''                              or ($html.depth != '' and $depth-units != '%')                              or $bgcolor != ''                              or @valign)"/>
-
-  <xsl:choose>
-    <xsl:when test="$use.viewport">
-      <table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0">
-        <xsl:if test="$html.width != ''">
-          <xsl:attribute name="width">
-            <xsl:value-of select="$html.width"/>
-          </xsl:attribute>
-        </xsl:if>
-        <tr>
-          <xsl:if test="$html.depth != '' and $depth-units != '%'">
-            <!-- don't do this for percentages because browsers get confused -->
-            <xsl:choose>
-              <xsl:when test="$css.decoration != 0">
-                <xsl:attribute name="style">
-                  <xsl:text>height: </xsl:text>
-                  <xsl:value-of select="$html.depth"/>
-                  <xsl:text>px</xsl:text>
-                </xsl:attribute>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:attribute name="height">
-                  <xsl:value-of select="$html.depth"/>
-                </xsl:attribute>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:if>
-          <td>
-            <xsl:if test="$bgcolor != ''">
-              <xsl:choose>
-                <xsl:when test="$css.decoration != 0">
-                  <xsl:attribute name="style">
-                    <xsl:text>background-color: </xsl:text>
-                    <xsl:value-of select="$bgcolor"/>
-                  </xsl:attribute>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:attribute name="bgcolor">
-                    <xsl:value-of select="$bgcolor"/>
-                  </xsl:attribute>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:if>
-            <xsl:if test="@align">
-              <xsl:attribute name="align">
-                <xsl:value-of select="@align"/>
-              </xsl:attribute>
-            </xsl:if>
-            <xsl:if test="@valign">
-              <xsl:attribute name="valign">
-                <xsl:value-of select="@valign"/>
-              </xsl:attribute>
-            </xsl:if>
-            <xsl:copy-of select="$img"/>
-          </td>
-        </tr>
-      </table>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$img"/>
-    </xsl:otherwise>
-  </xsl:choose>
-
-  <xsl:if test="$tag = 'img' and ../../self::imageobjectco and not($scaled)">
-    <xsl:variable name="mapname">
-      <xsl:call-template name="object.id">
-        <xsl:with-param name="object" select="../../areaspec"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <map name="{$mapname}">
-      <xsl:for-each select="../../areaspec//area">
-        <xsl:variable name="units">
-          <xsl:choose>
-            <xsl:when test="@units = 'other' and @otherunits">
-              <xsl:value-of select="@otherunits"/>
-            </xsl:when>
-            <xsl:when test="@units">
-              <xsl:value-of select="@units"/>
-            </xsl:when>
-            <!-- areaspec|areaset/area -->
-            <xsl:when test="../@units = 'other' and ../@otherunits">
-              <xsl:value-of select="../@otherunits"/>
-            </xsl:when>
-            <xsl:when test="../@units">
-              <xsl:value-of select="../@units"/>
-            </xsl:when>
-            <!-- areaspec/areaset/area -->
-            <xsl:when test="../../@units = 'other' and ../../@otherunits">
-              <xsl:value-of select="../@otherunits"/>
-            </xsl:when>
-            <xsl:when test="../../@units">
-              <xsl:value-of select="../../@units"/>
-            </xsl:when>
-            <xsl:otherwise>calspair</xsl:otherwise>
-          </xsl:choose>
-        </xsl:variable>
- 
-        <xsl:choose>
-          <xsl:when test="$units = 'calspair' or                           $units = 'imagemap'">
-            <xsl:variable name="coords" select="normalize-space(@coords)"/>
-
-            <area shape="rect">
-              <xsl:variable name="linkends">
-                <xsl:choose>
-                  <xsl:when test="@linkends">
-                    <xsl:value-of select="normalize-space(@linkends)"/>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:value-of select="normalize-space(../@linkends)"/>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:variable>
- 
-              <xsl:variable name="href">
-                <xsl:choose>
-                  <xsl:when test="@xlink:href">
-                    <xsl:value-of select="@xlink:href"/>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:value-of select="../@xlink:href"/>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:variable>
- 
-              <xsl:choose>
-                <xsl:when test="$linkends != ''">
-                  <xsl:variable name="linkend">
-                    <xsl:choose>
-                      <xsl:when test="contains($linkends, ' ')">
-                        <xsl:value-of select="substring-before($linkends, ' ')"/>
-                      </xsl:when>
-                      <xsl:otherwise>
-                        <xsl:value-of select="$linkends"/>
-                      </xsl:otherwise>
-                    </xsl:choose>
-                  </xsl:variable>
-                  
-                  <xsl:variable name="target" select="key('id', $linkend)[1]"/>
-                 
-                  <xsl:if test="$target">
-                    <xsl:attribute name="href">
-                      <xsl:call-template name="href.target">
-                        <xsl:with-param name="object" select="$target"/>
-                      </xsl:call-template>
-                    </xsl:attribute>
-                  </xsl:if>
-                </xsl:when>
-                <xsl:when test="$href != ''">
-                  <xsl:attribute name="href">
-                    <xsl:value-of select="$href"/>
-                  </xsl:attribute>
-                </xsl:when>
-              </xsl:choose>
- 
-              <xsl:if test="alt">
-                <xsl:attribute name="alt">
-                  <xsl:value-of select="alt[1]"/>
-                </xsl:attribute>
-              </xsl:if>
- 
-              <xsl:attribute name="coords">
-                <xsl:choose>
-                  <xsl:when test="$units = 'calspair'">
-
-                    <xsl:variable name="p1" select="substring-before($coords, ' ')"/>
-                    <xsl:variable name="p2" select="substring-after($coords, ' ')"/>
-         
-                    <xsl:variable name="x1" select="substring-before($p1,',')"/>
-                    <xsl:variable name="y1" select="substring-after($p1,',')"/>
-                    <xsl:variable name="x2" select="substring-before($p2,',')"/>
-                    <xsl:variable name="y2" select="substring-after($p2,',')"/>
-         
-                    <xsl:variable name="x1p" select="$x1 div 100.0"/>
-                    <xsl:variable name="y1p" select="$y1 div 100.0"/>
-                    <xsl:variable name="x2p" select="$x2 div 100.0"/>
-                    <xsl:variable name="y2p" select="$y2 div 100.0"/>
-         
-         <!--
-                    <xsl:message>
-                      <xsl:text>units: </xsl:text>
-                      <xsl:value-of select="$units"/>
-                      <xsl:text> </xsl:text>
-                      <xsl:value-of select="$x1p"/><xsl:text>, </xsl:text>
-                      <xsl:value-of select="$y1p"/><xsl:text>, </xsl:text>
-                      <xsl:value-of select="$x2p"/><xsl:text>, </xsl:text>
-                      <xsl:value-of select="$y2p"/><xsl:text>, </xsl:text>
-                    </xsl:message>
-         
-                    <xsl:message>
-                      <xsl:text>      </xsl:text>
-                      <xsl:value-of select="$intrinsicwidth"/>
-                      <xsl:text>, </xsl:text>
-                      <xsl:value-of select="$intrinsicdepth"/>
-                    </xsl:message>
-         
-                    <xsl:message>
-                      <xsl:text>      </xsl:text>
-                      <xsl:value-of select="$units"/>
-                      <xsl:text> </xsl:text>
-                      <xsl:value-of 
-                            select="round($x1p * $intrinsicwidth div 100.0)"/>
-                      <xsl:text>,</xsl:text>
-                      <xsl:value-of select="round($intrinsicdepth
-                                       - ($y2p * $intrinsicdepth div 100.0))"/>
-                      <xsl:text>,</xsl:text>
-                      <xsl:value-of select="round($x2p * 
-                                            $intrinsicwidth div 100.0)"/>
-                      <xsl:text>,</xsl:text>
-                      <xsl:value-of select="round($intrinsicdepth
-                                       - ($y1p * $intrinsicdepth div 100.0))"/>
-                    </xsl:message>
-         -->
-                    <xsl:value-of select="round($x1p * $intrinsicwidth div 100.0)"/>
-                    <xsl:text>,</xsl:text>
-                    <xsl:value-of select="round($intrinsicdepth                                         - ($y2p * $intrinsicdepth div 100.0))"/>
-                    <xsl:text>,</xsl:text>
-                    <xsl:value-of select="round($x2p * $intrinsicwidth div 100.0)"/>
-                    <xsl:text>,</xsl:text>
-                    <xsl:value-of select="round($intrinsicdepth                                       - ($y1p * $intrinsicdepth div 100.0))"/>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:copy-of select="$coords"/>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:attribute>
-            </area>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:message>
-              <xsl:text>Warning: only calspair or </xsl:text>
-              <xsl:text>otherunits='imagemap' supported </xsl:text>
-              <xsl:text>in imageobjectco</xsl:text>
-            </xsl:message>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:for-each>
-    </map>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="process.image.attributes">
-  <xsl:param name="alt"/>
-  <xsl:param name="html.width"/>
-  <xsl:param name="html.depth"/>
-  <xsl:param name="longdesc"/>
-  <xsl:param name="scale"/>
-  <xsl:param name="scalefit"/>
-  <xsl:param name="scaled.contentdepth"/>
-  <xsl:param name="scaled.contentwidth"/>
-  <xsl:param name="viewport"/>
-
-  <xsl:choose>
-    <xsl:when test="@contentwidth or @contentdepth">
-      <!-- ignore @width/@depth, @scale, and @scalefit if specified -->
-      <xsl:if test="@contentwidth and $scaled.contentwidth != ''">
-        <xsl:attribute name="width">
-          <xsl:value-of select="$scaled.contentwidth"/>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:if test="@contentdepth and $scaled.contentdepth != ''">
-        <xsl:attribute name="height">
-          <xsl:value-of select="$scaled.contentdepth"/>
-        </xsl:attribute>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="number($scale) != 1.0">
-      <!-- scaling is always uniform, so we only have to specify one dimension -->
-      <!-- ignore @scalefit if specified -->
-      <xsl:attribute name="width">
-        <xsl:value-of select="$scaled.contentwidth"/>
-      </xsl:attribute>
-    </xsl:when>
-
-    <xsl:when test="$scalefit != 0">
-      <xsl:choose>
-        <xsl:when test="contains($html.width, '%')">
-          <xsl:choose>
-            <xsl:when test="$viewport != 0">
-              <!-- The *viewport* will be scaled, so use 100% here! -->
-              <xsl:attribute name="width">
-                <xsl:value-of select="'100%'"/>
-              </xsl:attribute>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:attribute name="width">
-                <xsl:value-of select="$html.width"/>
-              </xsl:attribute>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-
-        <xsl:when test="contains($html.depth, '%')">
-          <!-- HTML doesn't deal with this case very well...do nothing -->
-        </xsl:when>
-
-        <xsl:when test="$scaled.contentwidth != '' and $html.width != ''                         and $scaled.contentdepth != '' and $html.depth != ''">
-          <!-- scalefit should not be anamorphic; figure out which direction -->
-          <!-- has the limiting scale factor and scale in that direction -->
-          <xsl:choose>
-            <xsl:when test="$html.width div $scaled.contentwidth &gt;                             $html.depth div $scaled.contentdepth">
-              <xsl:attribute name="height">
-                <xsl:value-of select="$html.depth"/>
-              </xsl:attribute>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:attribute name="width">
-                <xsl:value-of select="$html.width"/>
-              </xsl:attribute>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-
-        <xsl:when test="$scaled.contentwidth != '' and $html.width != ''">
-          <xsl:attribute name="width">
-            <xsl:value-of select="$html.width"/>
-          </xsl:attribute>
-        </xsl:when>
-
-        <xsl:when test="$scaled.contentdepth != '' and $html.depth != ''">
-          <xsl:attribute name="height">
-            <xsl:value-of select="$html.depth"/>
-          </xsl:attribute>
-        </xsl:when>
-      </xsl:choose>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:if test="$alt != ''">
-    <xsl:attribute name="alt">
-      <xsl:value-of select="normalize-space($alt)"/>
-    </xsl:attribute>
-  </xsl:if>
-
-  <xsl:if test="$longdesc != ''">
-    <xsl:attribute name="longdesc">
-      <xsl:value-of select="$longdesc"/>
-    </xsl:attribute>
-  </xsl:if>
-
-  <xsl:if test="@align and $viewport = 0">
-    <xsl:attribute name="align">
-      <xsl:choose>
-        <xsl:when test="@align = 'center'">middle</xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="@align"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="graphic">
-  <xsl:choose>
-    <xsl:when test="parent::inlineequation">
-      <xsl:call-template name="anchor"/>
-      <xsl:call-template name="process.image"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <div>
-        <xsl:if test="@align">
-          <xsl:attribute name="align">
-            <xsl:value-of select="@align"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:call-template name="anchor"/>
-        <xsl:call-template name="process.image"/>
-      </div>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="inlinegraphic">
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="@entityref">
-        <xsl:value-of select="unparsed-entity-uri(@entityref)"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates select="@fileref"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="anchor"/>
-
-  <xsl:choose>
-    <xsl:when test="@format='linespecific'">
-      <xsl:choose>
-        <xsl:when test="$use.extensions != '0'                         and $textinsert.extension != '0'">
-          <xsl:choose>
-            <xsl:when test="element-available('stext:insertfile')">
-              <stext:insertfile href="{$filename}" encoding="{$textdata.default.encoding}"/>
-            </xsl:when>
-            <xsl:when test="element-available('xtext:insertfile')">
-              <xtext:insertfile href="{$filename}"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:message terminate="yes">
-                <xsl:text>No insertfile extension available.</xsl:text>
-              </xsl:message>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <a xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" href="{$filename}"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="process.image"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="mediaobject|mediaobjectco">
-
-  <xsl:variable name="olist" select="imageobject|imageobjectco                      |videoobject|audioobject                      |textobject"/>
-
-  <xsl:variable name="object.index">
-    <xsl:call-template name="select.mediaobject.index">
-      <xsl:with-param name="olist" select="$olist"/>
-      <xsl:with-param name="count" select="1"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="object" select="$olist[position() = $object.index]"/>
-
-  <xsl:variable name="align">
-    <xsl:value-of select="$object/descendant::imagedata[@align][1]/@align"/>
-  </xsl:variable>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="$align != '' ">
-      <xsl:attribute name="align">
-        <xsl:value-of select="$align"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:call-template name="anchor"/>
-
-    <xsl:apply-templates select="$object"/>
-    <xsl:apply-templates select="caption"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="inlinemediaobject">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="select.mediaobject"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="programlisting/inlinemediaobject                      |screen/inlinemediaobject" priority="2">
-  <!-- the additional span causes problems in some cases -->
-  <xsl:call-template name="select.mediaobject"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="imageobjectco">
-  <xsl:call-template name="anchor"/>
-  <xsl:apply-templates select="imageobject"/>
-  <xsl:apply-templates select="calloutlist"/>
-</xsl:template>
-
-<xsl:template match="imageobject">
-  <xsl:apply-templates select="imagedata"/>
-</xsl:template>
-
-<xsl:template match="imagedata">
-  <xsl:variable name="filename">
-    <xsl:call-template name="mediaobject.filename">
-      <xsl:with-param name="object" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <!-- Handle MathML and SVG markup in imagedata -->
-    <xsl:when xmlns:mml="http://www.w3.org/1998/Math/MathML" test="mml:*">
-      <xsl:apply-templates/>
-    </xsl:when>
-    
-    <xsl:when xmlns:svg="http://www.w3.org/2000/svg" test="svg:*">
-      <xsl:apply-templates/>
-    </xsl:when>
-
-    <xsl:when test="@format='linespecific'">
-      <xsl:choose>
-        <xsl:when test="$use.extensions != '0'                         and $textinsert.extension != '0'">
-          <xsl:choose>
-            <xsl:when test="element-available('stext:insertfile')">
-              <stext:insertfile href="{$filename}" encoding="{$textdata.default.encoding}"/>
-            </xsl:when>
-            <xsl:when test="element-available('xtext:insertfile')">
-              <xtext:insertfile href="{$filename}"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:message terminate="yes">
-                <xsl:text>No insertfile extension available.</xsl:text>
-              </xsl:message>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <a xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" href="{$filename}"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="longdesc.uri">
-        <xsl:call-template name="longdesc.uri">
-          <xsl:with-param name="mediaobject" select="ancestor::imageobject/parent::*"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="phrases" select="ancestor::mediaobject/textobject[phrase]                             |ancestor::inlinemediaobject/textobject[phrase]                             |ancestor::mediaobjectco/textobject[phrase]"/>
-
-      <xsl:call-template name="process.image">
-        <xsl:with-param name="alt">
-          <xsl:apply-templates select="$phrases[not(@role) or @role!='tex'][1]"/>
-        </xsl:with-param>
-        <xsl:with-param name="longdesc">
-          <xsl:call-template name="write.longdesc">
-            <xsl:with-param name="mediaobject" select="ancestor::imageobject/parent::*"/>
-          </xsl:call-template>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <xsl:if test="$html.longdesc != 0 and $html.longdesc.link != 0                     and ancestor::imageobject/parent::*/textobject[not(phrase)]">
-        <xsl:call-template name="longdesc.link">
-          <xsl:with-param name="longdesc.uri" select="$longdesc.uri"/>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="longdesc.uri">
-  <xsl:param name="mediaobject" select="."/>
-  <xsl:if test="$html.longdesc">
-    <xsl:if test="$mediaobject/textobject[not(phrase)]">
-      <xsl:variable name="dbhtml.dir">
-        <xsl:call-template name="dbhtml-dir"/>
-      </xsl:variable>
-      <xsl:variable name="filename">
-        <xsl:call-template name="make-relative-filename">
-          <xsl:with-param name="base.dir">
-            <xsl:choose>
-              <xsl:when test="$dbhtml.dir != ''">
-                <xsl:value-of select="$dbhtml.dir"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:value-of select="$base.dir"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-          <xsl:with-param name="base.name">
-            <xsl:choose>
-              <xsl:when test="                 $mediaobject/@*[local-name() = 'id']                 and not($use.id.as.filename = 0)">
-                <!-- * if this mediaobject has an ID, then we use the -->
-                <!-- * value of that ID as basename for the "longdesc" -->
-                <!-- * file (that is, without prepending an "ld-" too it) -->
-                <xsl:value-of select="$mediaobject/@*[local-name() = 'id']"/>
-                <xsl:value-of select="$html.ext"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <!-- * otherwise, if this mediaobject does not have an -->
-                <!-- * ID, then we generate an ID... -->
-                <xsl:variable name="image-id">
-                  <xsl:call-template name="object.id">
-                    <xsl:with-param name="object" select="$mediaobject"/>
-                  </xsl:call-template>
-                </xsl:variable>
-                <!-- * ...and then we take that generated ID, prepend an -->
-                <!-- * "ld-" to it, and use that as the basename for the file -->
-                <xsl:value-of select="concat('ld-',$image-id,$html.ext)"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:value-of select="$filename"/>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="write.longdesc">
-  <xsl:param name="mediaobject" select="."/>
-  <xsl:if test="$html.longdesc != 0 and $mediaobject/textobject[not(phrase)]">
-    <xsl:variable name="filename">
-      <xsl:call-template name="longdesc.uri">
-        <xsl:with-param name="mediaobject" select="$mediaobject"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:value-of select="$filename"/>
-
-    <xsl:call-template name="write.chunk">
-      <xsl:with-param name="filename" select="$filename"/>
-      <xsl:with-param name="quiet" select="$chunk.quietly"/>
-      <xsl:with-param name="content">
-      <xsl:call-template name="user.preroot"/>
-        <html>
-          <head>
-            <xsl:call-template name="system.head.content"/>
-            <xsl:call-template name="head.content">
-              <xsl:with-param name="title" select="'Long Description'"/>
-            </xsl:call-template>
-            <xsl:call-template name="user.head.content"/>
-          </head>
-          <body>
-            <xsl:call-template name="body.attributes"/>
-            <xsl:for-each select="$mediaobject/textobject[not(phrase)]">
-              <xsl:apply-templates select="./*"/>
-            </xsl:for-each>
-          </body>
-        </html>
-        <xsl:value-of select="$chunk.append"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="longdesc.link">
-  <xsl:param name="longdesc.uri" select="''"/>
-
-  <xsl:variable name="this.uri">
-    <xsl:call-template name="make-relative-filename">
-      <xsl:with-param name="base.dir" select="$base.dir"/>
-      <xsl:with-param name="base.name">
-        <xsl:call-template name="href.target.uri"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="href.to">
-    <xsl:call-template name="trim.common.uri.paths">
-      <xsl:with-param name="uriA" select="$longdesc.uri"/>
-      <xsl:with-param name="uriB" select="$this.uri"/>
-      <xsl:with-param name="return" select="'A'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <div class="longdesc-link" align="right">
-    <br clear="all"/>
-    <span class="longdesc-link">
-      <xsl:text>[</xsl:text>
-      <a href="{$href.to}" target="longdesc">D</a>
-      <xsl:text>]</xsl:text>
-    </span>
-  </div>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="videoobject">
-  <xsl:apply-templates select="videodata"/>
-</xsl:template>
-
-<xsl:template match="videodata">
-  <xsl:call-template name="process.image">
-    <xsl:with-param name="tag" select="'embed'"/>
-    <xsl:with-param name="alt">
-      <xsl:apply-templates select="(../../textobject/phrase)[1]"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="audioobject">
-  <xsl:apply-templates select="audiodata"/>
-</xsl:template>
-
-<xsl:template match="audiodata">
-  <xsl:call-template name="process.image">
-    <xsl:with-param name="tag" select="'embed'"/>
-    <xsl:with-param name="alt">
-      <xsl:apply-templates select="(../../textobject/phrase)[1]"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="textobject">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="textdata">
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="@entityref">
-        <xsl:value-of select="unparsed-entity-uri(@entityref)"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates select="@fileref"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="encoding">
-    <xsl:choose>
-      <xsl:when test="@encoding">
-        <xsl:value-of select="@encoding"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$textdata.default.encoding"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$use.extensions != '0'                     and $textinsert.extension != '0'">
-      <xsl:choose>
-        <xsl:when test="element-available('stext:insertfile')">
-          <stext:insertfile href="{$filename}" encoding="{$encoding}"/>
-        </xsl:when>
-        <xsl:when test="element-available('xtext:insertfile')">
-          <xtext:insertfile href="{$filename}"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message terminate="yes">
-            <xsl:text>No insertfile extension available.</xsl:text>
-          </xsl:message>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <a xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" href="{$filename}"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="caption">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="@align = 'right' or @align = 'left' or @align='center'">
-      <xsl:attribute name="align"><xsl:value-of select="@align"/></xsl:attribute>
-    </xsl:if>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- "Support" for SVG -->
-
-<xsl:template xmlns:svg="http://www.w3.org/2000/svg" match="svg:*">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-
-<!-- The following works sometimes, but needs to take into account
-             1. When there is no /*/@xml:base
-             2. When the chunks are going somewhere else
-<xsl:variable name="relpath">
-  <xsl:call-template name="relative-uri">
-    <xsl:with-param name="filename" select="@fileref"/>
-  </xsl:call-template>
-</xsl:variable>
-
-<xsl:choose>
-  <xsl:when test="/*/@xml:base
-                  and starts-with($relpath,/*/@xml:base)">
-    <xsl:value-of select="substring-after($relpath,/*/@xml:base)"/>
-  </xsl:when>
-  <xsl:otherwise>
-    <xsl:value-of select="@fileref"/>
-  </xsl:otherwise>
-</xsl:choose>
-<xsl:value-of select="@fileref"/>
-      </xsl:when>
--->
-<!-- Resolve xml:base attributes -->
-<xsl:template match="@fileref">
-  <!-- need a check for absolute urls -->
-  <xsl:choose>
-    <xsl:when test="contains(., ':')">
-      <!-- it has a uri scheme so it is an absolute uri -->
-      <xsl:value-of select="."/>
-    </xsl:when>
-    <xsl:when test="$keep.relative.image.uris != 0">
-      <!-- leave it alone -->
-      <xsl:value-of select="."/>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- its a relative uri that needs xml:base processing -->
-      <xsl:call-template name="relative-uri">
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/highlight.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/highlight.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,52 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xslthl="http://xslthl.sf.net" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xslthl" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     and other information.
-
-     ******************************************************************** -->
-
-<xsl:template match="xslthl:keyword">
-  <b class="hl-keyword"><xsl:apply-templates/></b>
-</xsl:template>
-
-<xsl:template match="xslthl:string">
-  <b class="hl-string"><i style="color:red"><xsl:apply-templates/></i></b>
-</xsl:template>
-
-<xsl:template match="xslthl:comment">
-  <i class="hl-comment" style="color: silver"><xsl:apply-templates/></i>
-</xsl:template>
-
-<xsl:template match="xslthl:tag">
-  <b class="hl-tag" style="color: blue"><xsl:apply-templates/></b>
-</xsl:template>
-
-<xsl:template match="xslthl:attribute">
-  <span class="hl-attribute" style="color: blue"><xsl:apply-templates/></span>
-</xsl:template>
-
-<xsl:template match="xslthl:value">
-  <span class="hl-value" style="color: blue"><xsl:apply-templates/></span>
-</xsl:template>
-
-<xsl:template match="xslthl:html">
-  <b><i style="color: red"><xsl:apply-templates/></i></b>
-</xsl:template>
-
-<xsl:template match="xslthl:xslt">
-  <b style="color: blue"><xsl:apply-templates/></b>
-</xsl:template>
-
-<xsl:template match="xslthl:section">
-  <b><xsl:apply-templates/></b>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/html-rtf.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/html-rtf.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,321 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:set="http://exslt.org/sets" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="exsl set" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- This module contains templates that match against HTML nodes. It is used
-     to post-process result tree fragments for some sorts of cleanup.
-     These templates can only ever be fired by a processor that supports
-     exslt:node-set(). -->
-
-<!-- ==================================================================== -->
-
-<!-- insert.html.p mode templates insert a particular RTF at the beginning
-     of the first paragraph in the primary RTF. -->
-
-<xsl:template match="/" mode="insert.html.p">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:apply-templates mode="insert.html.p">
-    <xsl:with-param name="mark" select="$mark"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.html.p">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="insert.html.p">
-      <xsl:with-param name="mark" select="$mark"/>
-    </xsl:apply-templates>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template xmlns:html="http://www.w3.org/1999/xhtml" match="html:p|p" mode="insert.html.p">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:if test="not(preceding::p|preceding::html:p)">
-      <xsl:copy-of select="$mark"/>
-    </xsl:if>
-    <xsl:apply-templates mode="insert.html.p">
-      <xsl:with-param name="mark" select="$mark"/>
-    </xsl:apply-templates>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="text()|processing-instruction()|comment()" mode="insert.html.p">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- insert.html.text mode templates insert a particular RTF at the beginning
-     of the first text-node in the primary RTF. -->
-
-<xsl:template match="/" mode="insert.html.text">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:apply-templates mode="insert.html.text">
-    <xsl:with-param name="mark" select="$mark"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.html.text">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="insert.html.text">
-      <xsl:with-param name="mark" select="$mark"/>
-    </xsl:apply-templates>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="text()|processing-instruction()|comment()" mode="insert.html.text">
-  <xsl:param name="mark" select="'?'"/>
-
-  <xsl:if test="not(preceding::text())">
-    <xsl:copy-of select="$mark"/>
-  </xsl:if>
-
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="processing-instruction()|comment()" mode="insert.html.text">
-  <xsl:param name="mark" select="'?'"/>
-  <xsl:copy/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- unwrap.p mode templates remove blocks from HTML p elements (and
-     other places where blocks aren't allowed) -->
-
-<xsl:template name="unwrap.p">
-  <xsl:param name="p"/>
-  <xsl:choose>
-    <xsl:when test="function-available('exsl:node-set')                     and function-available('set:leading')                     and function-available('set:trailing')">
-      <xsl:apply-templates select="exsl:node-set($p)" mode="unwrap.p"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$p"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template xmlns:html="http://www.w3.org/1999/xhtml" match="html:p|p" mode="unwrap.p">
-  <!-- xmlns:html is necessary for the xhtml stylesheet case -->
-  <xsl:variable name="blocks" select="address|blockquote|div|hr|h1|h2|h3|h4|h5|h6                         |layer|p|pre|table|dl|menu|ol|ul|form                         |html:address|html:blockquote|html:div|html:hr                         |html:h1|html:h2|html:h3|html:h4|html:h5|html:h6                         |html:layer|html:p|html:pre|html:table|html:dl                         |html:menu|html:ol|html:ul|html:form"/>
-  <xsl:choose>
-    <xsl:when test="$blocks">
-      <xsl:call-template name="unwrap.p.nodes">
-        <xsl:with-param name="wrap" select="."/>
-        <xsl:with-param name="first" select="1"/>
-        <xsl:with-param name="nodes" select="node()"/>
-        <xsl:with-param name="blocks" select="$blocks"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy>
-        <xsl:copy-of select="@*"/>
-        <xsl:apply-templates mode="unwrap.p"/>
-      </xsl:copy>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="unwrap.p">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="unwrap.p"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="text()|processing-instruction()|comment()" mode="unwrap.p">
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template name="unwrap.p.nodes">
-  <xsl:param name="wrap" select="."/>
-  <xsl:param name="first" select="0"/>
-  <xsl:param name="nodes"/>
-  <xsl:param name="blocks"/>
-  <xsl:variable name="block" select="$blocks[1]"/>
-
-  <!-- This template should never get called if these functions aren't available -->
-  <!-- but this test is still necessary so that processors don't choke on the -->
-  <!-- function calls if they don't support the set: functions -->
-  <xsl:if test="function-available('set:leading')                 and function-available('set:trailing')">
-    <xsl:choose>
-      <xsl:when test="$blocks">
-        <xsl:variable name="leading" select="set:leading($nodes,$block)"/>
-        <xsl:variable name="trailing" select="set:trailing($nodes,$block)"/>
-
-        <xsl:if test="(($wrap/@id or $wrap/@xml:id)                          and $first = 1) or $leading">
-          <xsl:element name="{local-name($wrap)}" namespace="http://www.w3.org/1999/xhtml">
-            <xsl:for-each select="$wrap/@*">
-              <xsl:if test="$first != 0 or local-name(.) != 'id'">
-                <xsl:copy/>
-              </xsl:if>
-            </xsl:for-each>
-            <xsl:apply-templates select="$leading" mode="unwrap.p"/>
-          </xsl:element>
-        </xsl:if>
-
-        <xsl:apply-templates select="$block" mode="unwrap.p"/>
-
-        <xsl:if test="$trailing">
-          <xsl:call-template name="unwrap.p.nodes">
-            <xsl:with-param name="wrap" select="$wrap"/>
-            <xsl:with-param name="nodes" select="$trailing"/>
-            <xsl:with-param name="blocks" select="$blocks[position() &gt; 1]"/>
-          </xsl:call-template>
-        </xsl:if>
-      </xsl:when>
-
-      <xsl:otherwise>
-        <xsl:if test="(($wrap/@id or $wrap/@xml:id) and $first = 1) or $nodes">
-          <xsl:element name="{local-name($wrap)}" namespace="http://www.w3.org/1999/xhtml">
-            <xsl:for-each select="$wrap/@*">
-              <xsl:if test="$first != 0 or local-name(.) != 'id'">
-                <xsl:copy/>
-              </xsl:if>
-            </xsl:for-each>
-            <xsl:apply-templates select="$nodes" mode="unwrap.p"/>
-          </xsl:element>
-        </xsl:if>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- make.verbatim.mode replaces spaces and newlines -->
-
-<xsl:template match="/" mode="make.verbatim.mode">
-  <xsl:apply-templates mode="make.verbatim.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="make.verbatim.mode">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="make.verbatim.mode"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="processing-instruction()|comment()" mode="make.verbatim.mode">
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="text()" mode="make.verbatim.mode">
-  <xsl:variable name="text" select="translate(., ' ', '&#160;')"/>
-
-  <xsl:choose>
-    <xsl:when test="not(contains($text, '&#10;'))">
-      <xsl:value-of select="$text"/>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:variable name="len" select="string-length($text)"/>
-
-      <xsl:choose>
-        <xsl:when test="$len = 1">
-          <br/><xsl:text>
-</xsl:text>
-        </xsl:when>
-
-        <xsl:otherwise>
-          <xsl:variable name="half" select="$len div 2"/>
-          <xsl:call-template name="make-verbatim-recursive">
-            <xsl:with-param name="text" select="substring($text, 1, $half)"/>
-          </xsl:call-template>
-          <xsl:call-template name="make-verbatim-recursive">
-            <xsl:with-param name="text" select="substring($text, ($half + 1), $len)"/>
-          </xsl:call-template>
-    	</xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="make-verbatim-recursive">
-  <xsl:param name="text" select="''"/>
-
-  <xsl:choose>
-    <xsl:when test="not(contains($text, '&#10;'))">
-      <xsl:value-of select="$text"/>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:variable name="len" select="string-length($text)"/>
-
-      <xsl:choose>
-        <xsl:when test="$len = 1">
-          <br/><xsl:text>
-</xsl:text>
-        </xsl:when>
-
-        <xsl:otherwise>
-    	  <xsl:variable name="half" select="$len div 2"/>
-          <xsl:call-template name="make-verbatim-recursive">
-    	    <xsl:with-param name="text" select="substring($text, 1, $half)"/>
-    	  </xsl:call-template>
-    	  <xsl:call-template name="make-verbatim-recursive">
-    	    <xsl:with-param name="text" select="substring($text, ($half + 1), $len)"/>
-    	  </xsl:call-template>
-    	</xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- remove.empty.div mode templates remove empty blocks -->
-
-<xsl:template name="remove.empty.div">
-  <xsl:param name="div"/>
-  <xsl:choose>
-    <xsl:when test="function-available('exsl:node-set')">
-      <xsl:apply-templates select="exsl:node-set($div)" mode="remove.empty.div"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$div"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template xmlns:html="http://www.w3.org/1999/xhtml" match="html:p|p|html:div|div" mode="remove.empty.div">
-  <xsl:if test="node()">
-    <xsl:copy>
-      <xsl:copy-of select="@*"/>
-      <xsl:apply-templates mode="remove.empty.div"/>
-    </xsl:copy>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="*" mode="remove.empty.div">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="remove.empty.div"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="text()|processing-instruction()|comment()" mode="remove.empty.div">
-  <xsl:copy/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/html.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/html.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,236 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- The generate.html.title template is currently used for generating HTML -->
-<!-- "title" attributes for some inline elements only, but not for any -->
-<!-- block elements. It is called in eleven places in the inline.xsl -->
-<!-- file. But it's called by all the inline.* templates (e.g., -->
-<!-- inline.boldseq), which in turn are called by other (element) -->
-<!-- templates, so it results, currently, in supporting generation of the -->
-<!-- HTML "title" attribute for a total of about 92 elements. -->
-<!-- You can use mode="html.title.attribute" to get a title for -->
-<!-- an element specified by a param, including targets of cross references. -->
-<xsl:template name="generate.html.title">
-  <xsl:apply-templates select="." mode="html.title.attribute"/>
-</xsl:template>
-
-<!-- Generate a title attribute for the context node -->
-<xsl:template match="*" mode="html.title.attribute">
-  <xsl:variable name="is.title">
-    <xsl:call-template name="gentext.template.exists">
-      <xsl:with-param name="context" select="'title'"/>
-      <xsl:with-param name="name" select="local-name(.)"/>
-      <xsl:with-param name="lang">
-        <xsl:call-template name="l10n.language"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="is.title-numbered">
-    <xsl:call-template name="gentext.template.exists">
-      <xsl:with-param name="context" select="'title-numbered'"/>
-      <xsl:with-param name="name" select="local-name(.)"/>
-      <xsl:with-param name="lang">
-        <xsl:call-template name="l10n.language"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="is.title-unnumbered">
-    <xsl:call-template name="gentext.template.exists">
-      <xsl:with-param name="context" select="'title-unnumbered'"/>
-      <xsl:with-param name="name" select="local-name(.)"/>
-      <xsl:with-param name="lang">
-        <xsl:call-template name="l10n.language"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="gentext.title">
-    <xsl:if test="$is.title != 0 or                   $is.title-numbered != 0 or                   $is.title-unnumbered != 0">
-      <xsl:apply-templates select="." mode="object.title.markup.textonly"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="string-length($gentext.title) != 0">
-      <xsl:attribute name="title">
-        <xsl:value-of select="$gentext.title"/>
-      </xsl:attribute>
-    </xsl:when>
-    <!-- Fall back to alt if available -->
-    <xsl:when test="alt">
-      <xsl:attribute name="title">
-        <xsl:value-of select="normalize-space(alt)"/>
-      </xsl:attribute>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="dir">
-  <xsl:param name="inherit" select="0"/>
-
-  <xsl:variable name="dir">
-    <xsl:choose>
-      <xsl:when test="@dir">
-        <xsl:value-of select="@dir"/>
-      </xsl:when>
-      <xsl:when test="$inherit != 0">
-        <xsl:value-of select="ancestor::*/@dir[1]"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="$dir != ''">
-    <xsl:attribute name="dir">
-      <xsl:value-of select="$dir"/>
-    </xsl:attribute>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="anchor">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="conditional" select="1"/>
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="$node"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:if test="$conditional = 0 or $node/@id or $node/@xml:id">
-    <a id="{$id}"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="href.target.uri">
-  <xsl:param name="context" select="."/>
-  <xsl:param name="object" select="."/>
-  <xsl:text>#</xsl:text>
-  <xsl:call-template name="object.id">
-    <xsl:with-param name="object" select="$object"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="href.target">
-  <xsl:param name="context" select="."/>
-  <xsl:param name="object" select="."/>
-  <xsl:text>#</xsl:text>
-  <xsl:call-template name="object.id">
-    <xsl:with-param name="object" select="$object"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="href.target.with.base.dir">
-  <xsl:param name="context" select="."/>
-  <xsl:param name="object" select="."/>
-  <xsl:if test="$manifest.in.base.dir = 0">
-    <xsl:value-of select="$base.dir"/>
-  </xsl:if>
-  <xsl:call-template name="href.target">
-    <xsl:with-param name="context" select="$context"/>
-    <xsl:with-param name="object" select="$object"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="dingbat">
-  <xsl:param name="dingbat">bullet</xsl:param>
-  <xsl:call-template name="dingbat.characters">
-    <xsl:with-param name="dingbat" select="$dingbat"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="dingbat.characters">
-  <!-- now that I'm using the real serializer, all that dingbat malarky -->
-  <!-- isn't necessary anymore... -->
-  <xsl:param name="dingbat">bullet</xsl:param>
-  <xsl:choose>
-    <xsl:when test="$dingbat='bullet'">&#8226;</xsl:when>
-    <xsl:when test="$dingbat='copyright'">&#169;</xsl:when>
-    <xsl:when test="$dingbat='trademark'">&#8482;</xsl:when>
-    <xsl:when test="$dingbat='trade'">&#8482;</xsl:when>
-    <xsl:when test="$dingbat='registered'">&#174;</xsl:when>
-    <xsl:when test="$dingbat='service'">(SM)</xsl:when>
-    <xsl:when test="$dingbat='nbsp'">&#160;</xsl:when>
-    <xsl:when test="$dingbat='ldquo'">&#8220;</xsl:when>
-    <xsl:when test="$dingbat='rdquo'">&#8221;</xsl:when>
-    <xsl:when test="$dingbat='lsquo'">&#8216;</xsl:when>
-    <xsl:when test="$dingbat='rsquo'">&#8217;</xsl:when>
-    <xsl:when test="$dingbat='em-dash'">&#8212;</xsl:when>
-    <xsl:when test="$dingbat='mdash'">&#8212;</xsl:when>
-    <xsl:when test="$dingbat='en-dash'">&#8211;</xsl:when>
-    <xsl:when test="$dingbat='ndash'">&#8211;</xsl:when>
-    <xsl:otherwise>
-      <xsl:text>&#8226;</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="id.warning">
-  <xsl:if test="$id.warnings != 0 and not(@id) and not(@xml:id) and parent::*">
-    <xsl:variable name="title">
-      <xsl:choose>
-        <xsl:when test="title">
-          <xsl:value-of select="title[1]"/>
-        </xsl:when>
-        <xsl:when test="substring(local-name(*[1]),                                   string-length(local-name(*[1])-3) = 'info')                         and *[1]/title">
-          <xsl:value-of select="*[1]/title[1]"/>
-        </xsl:when>
-        <xsl:when test="refmeta/refentrytitle">
-          <xsl:value-of select="refmeta/refentrytitle"/>
-        </xsl:when>
-        <xsl:when test="refnamediv/refname">
-          <xsl:value-of select="refnamediv/refname[1]"/>
-        </xsl:when>
-      </xsl:choose>
-    </xsl:variable>
-
-    <xsl:message>
-      <xsl:text>ID recommended on </xsl:text>
-      <xsl:value-of select="local-name(.)"/>
-      <xsl:if test="$title != ''">
-        <xsl:text>: </xsl:text>
-        <xsl:choose>
-          <xsl:when test="string-length($title) &gt; 40">
-            <xsl:value-of select="substring($title,1,40)"/>
-            <xsl:text>...</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$title"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:if>
-    </xsl:message>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="*" mode="class.attribute">
-  <xsl:param name="class" select="local-name(.)"/>
-  <!-- permit customization of class attributes -->
-  <!-- Use element name by default -->
-  <xsl:attribute name="class">
-    <xsl:apply-templates select="." mode="class.value">
-      <xsl:with-param name="class" select="$class"/>
-    </xsl:apply-templates>
-  </xsl:attribute>
-</xsl:template>
-
-<xsl:template match="*" mode="class.value">
-  <xsl:param name="class" select="local-name(.)"/>
-  <!-- permit customization of class value only -->
-  <!-- Use element name by default -->
-  <xsl:value-of select="$class"/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/htmltbl.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/htmltbl.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,56 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="colgroup" mode="htmlTable">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="htmlTable"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="col" mode="htmlTable">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="caption" mode="htmlTable">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-
-    <xsl:apply-templates select=".." mode="object.title.markup">
-      <xsl:with-param name="allow-anchors" select="1"/>
-    </xsl:apply-templates>
-
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="thead|tbody|tgroup|tr" mode="htmlTable">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="htmlTable"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="th|td" mode="htmlTable">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates/> <!-- *not* mode=htmlTable -->
-  </xsl:copy>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/index.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/index.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,224 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="index">
-  <!-- some implementations use completely empty index tags to indicate -->
-  <!-- where an automatically generated index should be inserted. so -->
-  <!-- if the index is completely empty, skip it. Unless generate.index -->
-  <!-- is non-zero, in which case, this is where the automatically -->
-  <!-- generated index should go. -->
-
-  <xsl:call-template name="id.warning"/>
-
-  <xsl:if test="count(*)&gt;0 or $generate.index != '0'">
-    <div>
-      <xsl:apply-templates select="." mode="class.attribute"/>
-      <xsl:if test="$generate.id.attributes != 0">
-        <xsl:attribute name="id">
-          <xsl:call-template name="object.id"/>
-        </xsl:attribute>
-      </xsl:if>
-
-      <xsl:call-template name="index.titlepage"/>
-      <xsl:choose>
-	<xsl:when test="indexdiv">
-	  <xsl:apply-templates/>
-	</xsl:when>
-	<xsl:otherwise>
-	  <xsl:apply-templates select="*[not(self::indexentry)]"/>
-	  <!-- Because it's actually valid for Index to have neither any -->
-	  <!-- Indexdivs nor any Indexentries, we need to check and make -->
-	  <!-- sure that at least one Indexentry exists, and generate a -->
-	  <!-- wrapper dl if there is at least one; otherwise, do nothing. -->
-	  <xsl:if test="indexentry">
-	    <!-- The indexentry template assumes a parent dl wrapper has -->
-	    <!-- been generated; for Indexes that have Indexdivs, the dl -->
-	    <!-- wrapper is generated by the indexdiv template; however, -->
-	    <!-- for Indexes that lack Indexdivs, if we don't generate a -->
-	    <!-- dl here, HTML output will not be valid. -->
-	    <dl>
-	      <xsl:apply-templates select="indexentry"/>
-	    </dl>
-	  </xsl:if>
-	</xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:if test="count(indexentry) = 0 and count(indexdiv) = 0">
-        <xsl:call-template name="generate-index">
-          <xsl:with-param name="scope" select="(ancestor::book|/)[last()]"/>
-        </xsl:call-template>
-      </xsl:if>
-
-      <xsl:if test="not(parent::article)">
-        <xsl:call-template name="process.footnotes"/>
-      </xsl:if>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="setindex">
-  <!-- some implementations use completely empty index tags to indicate -->
-  <!-- where an automatically generated index should be inserted. so -->
-  <!-- if the index is completely empty, skip it. Unless generate.index -->
-  <!-- is non-zero, in which case, this is where the automatically -->
-  <!-- generated index should go. -->
-
-  <xsl:call-template name="id.warning"/>
-
-  <xsl:if test="count(*)&gt;0 or $generate.index != '0'">
-    <div>
-      <xsl:apply-templates select="." mode="class.attribute"/>
-      <xsl:if test="$generate.id.attributes != 0">
-        <xsl:attribute name="id">
-          <xsl:call-template name="object.id"/>
-        </xsl:attribute>
-      </xsl:if>
-
-      <xsl:call-template name="setindex.titlepage"/>
-      <xsl:apply-templates/>
-
-      <xsl:if test="count(indexentry) = 0 and count(indexdiv) = 0">
-        <xsl:call-template name="generate-index">
-          <xsl:with-param name="scope" select="/"/>
-        </xsl:call-template>
-      </xsl:if>
-
-      <xsl:if test="not(parent::article)">
-        <xsl:call-template name="process.footnotes"/>
-      </xsl:if>
-    </div>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="index/indexinfo"/>
-<xsl:template match="index/info"/>
-<xsl:template match="index/title"/>
-<xsl:template match="index/subtitle"/>
-<xsl:template match="index/titleabbrev"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="indexdiv">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates select="*[not(self::indexentry)]"/>
-    <dl>
-      <xsl:apply-templates select="indexentry"/>
-    </dl>
-  </div>
-</xsl:template>
-
-<xsl:template match="indexdiv/title">
-  <h3>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates/>
-  </h3>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="indexterm">
-  <!-- this one must have a name, even if it doesn't have an ID -->
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <a id="{$id}" class="indexterm"/>
-</xsl:template>
-
-<xsl:template match="primary|secondary|tertiary|see|seealso">
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="indexentry">
-  <xsl:apply-templates select="primaryie"/>
-</xsl:template>
-
-<xsl:template match="primaryie">
-  <dt>
-    <xsl:apply-templates/>
-  </dt>
-  <xsl:choose>
-    <xsl:when test="following-sibling::secondaryie">
-      <dd>
-        <dl>
-          <xsl:apply-templates select="following-sibling::secondaryie"/>
-        </dl>
-      </dd>
-    </xsl:when>
-    <xsl:when test="following-sibling::seeie                     |following-sibling::seealsoie">
-      <dd>
-        <dl>
-          <xsl:apply-templates select="following-sibling::seeie                                        |following-sibling::seealsoie"/>
-        </dl>
-      </dd>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="secondaryie">
-  <dt>
-    <xsl:apply-templates/>
-  </dt>
-  <xsl:choose>
-    <xsl:when test="following-sibling::tertiaryie">
-      <dd>
-        <dl>
-          <xsl:apply-templates select="following-sibling::tertiaryie"/>
-        </dl>
-      </dd>
-    </xsl:when>
-    <xsl:when test="following-sibling::seeie                     |following-sibling::seealsoie">
-      <dd>
-        <dl>
-          <xsl:apply-templates select="following-sibling::seeie                                        |following-sibling::seealsoie"/>
-        </dl>
-      </dd>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="tertiaryie">
-  <dt>
-    <xsl:apply-templates/>
-  </dt>
-  <xsl:if test="following-sibling::seeie                 |following-sibling::seealsoie">
-    <dd>
-      <dl>
-        <xsl:apply-templates select="following-sibling::seeie                                      |following-sibling::seealsoie"/>
-      </dl>
-    </dd>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="seeie|seealsoie">
-  <dt>
-    <xsl:apply-templates/>
-  </dt>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/info.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/info.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,44 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- These templates define the "default behavior" for info
-     elements.  Even if you don't process the *info wrappers,
-     some of these elements are needed because the elements are
-     processed from named templates that are called with modes.
-     Since modes aren't sticky, these rules apply. 
-     (TODO: clarify this comment) -->
-
-<!-- ==================================================================== -->
-<!-- called from named templates in a given mode -->
-
-<xsl:template match="corpauthor">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates/>
-  </span>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="jobtitle">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates/>
-  </span>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/inline.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/inline.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1404 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:suwl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.UnwrapLinks" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xlink suwl" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-<xsl:template name="simple.xlink">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="content">
-    <xsl:apply-templates/>
-  </xsl:param>
-  <xsl:param name="a.target"/>
-  <xsl:param name="linkend" select="$node/@linkend"/>
-  <xsl:param name="xhref" select="$node/@xlink:href"/>
-
-  <xsl:variable name="link">
-    <xsl:choose>
-      <xsl:when test="$xhref and                        (not($node/@xlink:type) or                             $node/@xlink:type='simple')">
-
-        <!-- Is it a local idref or a uri? -->
-        <xsl:variable name="is.idref">
-          <xsl:choose>
-            <!-- if the href starts with # and does not contain an "(" -->
-            <!-- or if the href starts with #xpointer(id(, it's just an ID -->
-            <xsl:when test="starts-with($xhref,'#')                             and (not(contains($xhref,'('))                             or starts-with($xhref,                                        '#xpointer(id('))">1</xsl:when>
-            <xsl:otherwise>0</xsl:otherwise>
-          </xsl:choose>
-        </xsl:variable>
-
-        <!-- Is it an olink ? -->
-        <xsl:variable name="is.olink">
-          <xsl:choose>
-	    <!-- If xlink:role="http://docbook.org/xlink/role/olink" -->
-            <!-- and if the href contains # -->
-            <xsl:when test="contains($xhref,'#') and           @xlink:role = $xolink.role">1</xsl:when>
-            <xsl:otherwise>0</xsl:otherwise>
-          </xsl:choose>
-        </xsl:variable>
-
-        <xsl:choose>
-          <xsl:when test="$is.idref = 1">
-
-            <xsl:variable name="idref">
-              <xsl:call-template name="xpointer.idref">
-                <xsl:with-param name="xpointer" select="$xhref"/>
-              </xsl:call-template>
-            </xsl:variable>
-
-            <xsl:variable name="targets" select="key('id',$idref)"/>
-            <xsl:variable name="target" select="$targets[1]"/>
-
-            <xsl:call-template name="check.id.unique">
-              <xsl:with-param name="linkend" select="$idref"/>
-            </xsl:call-template>
-
-            <xsl:choose>
-              <xsl:when test="count($target) = 0">
-                <xsl:message>
-                  <xsl:text>XLink to nonexistent id: </xsl:text>
-                  <xsl:value-of select="$idref"/>
-                </xsl:message>
-                <xsl:copy-of select="$content"/>
-              </xsl:when>
-
-              <xsl:otherwise>
-                <a>
-                  <xsl:apply-templates select="." mode="class.attribute"/>
-
-                  <xsl:attribute name="href">
-                    <xsl:call-template name="href.target">
-                      <xsl:with-param name="object" select="$target"/>
-                    </xsl:call-template>
-                  </xsl:attribute>
-
-                  <xsl:choose>
-                    <xsl:when test="$node/@xlink:title">
-                      <xsl:attribute name="title">
-                        <xsl:value-of select="$node/@xlink:title"/>
-                      </xsl:attribute>
-                    </xsl:when>
-                    <xsl:otherwise>
-                      <xsl:apply-templates select="$target" mode="html.title.attribute"/>
-                    </xsl:otherwise>
-                  </xsl:choose>
-
-                  <xsl:if test="$a.target">
-                    <xsl:attribute name="target">
-                      <xsl:value-of select="$a.target"/>
-                    </xsl:attribute>
-                  </xsl:if>
-
-                  <xsl:copy-of select="$content"/>
-
-                </a>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:when>
-
-          <xsl:when test="$is.olink = 1">
-	    <xsl:call-template name="olink">
-	      <xsl:with-param name="content" select="$content"/>
-	    </xsl:call-template>
-          </xsl:when>
-
-          <!-- otherwise it's a URI -->
-          <xsl:otherwise>
-            <a>
-              <xsl:apply-templates select="." mode="class.attribute"/>
-              <xsl:attribute name="href">
-                <xsl:value-of select="$xhref"/>
-              </xsl:attribute>
-              <xsl:if test="$node/@xlink:title">
-                <xsl:attribute name="title">
-                  <xsl:value-of select="$node/@xlink:title"/>
-                </xsl:attribute>
-              </xsl:if>
-              <xsl:copy-of select="$content"/>
-            </a>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-
-      <xsl:when test="$linkend">
-        <xsl:variable name="targets" select="key('id',$linkend)"/>
-        <xsl:variable name="target" select="$targets[1]"/>
-
-        <xsl:call-template name="check.id.unique">
-          <xsl:with-param name="linkend" select="$linkend"/>
-        </xsl:call-template>
-
-        <a>
-          <xsl:apply-templates select="." mode="class.attribute"/>
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="object" select="$target"/>
-            </xsl:call-template>
-          </xsl:attribute>
-
-          <xsl:apply-templates select="$target" mode="html.title.attribute"/>
-
-          <xsl:copy-of select="$content"/>
-          
-        </a>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:copy-of select="$content"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="function-available('suwl:unwrapLinks')">
-      <xsl:copy-of select="suwl:unwrapLinks($link)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$link"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="inline.charseq">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-  <!-- * if you want output from the inline.charseq template wrapped in -->
-  <!-- * something other than a Span, call the template with some value -->
-  <!-- * for the 'wrapper-name' param -->
-  <xsl:param name="wrapper-name">span</xsl:param>
-  <xsl:element name="{$wrapper-name}" namespace="http://www.w3.org/1999/xhtml">
-    <xsl:attribute name="class">
-      <xsl:value-of select="local-name(.)"/>
-    </xsl:attribute>
-    <xsl:call-template name="dir"/>
-    <xsl:call-template name="generate.html.title"/>
-    <xsl:copy-of select="$content"/>
-    <xsl:call-template name="apply-annotations"/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template name="inline.monoseq">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir"/>
-    <xsl:call-template name="generate.html.title"/>
-    <xsl:copy-of select="$content"/>
-    <xsl:call-template name="apply-annotations"/>
-  </code>
-</xsl:template>
-
-<xsl:template name="inline.boldseq">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="generate.html.title"/>
-    <xsl:call-template name="dir"/>
-
-    <!-- don't put <strong> inside figure, example, or table titles -->
-    <xsl:choose>
-      <xsl:when test="local-name(..) = 'title'                       and (local-name(../..) = 'figure'                       or local-name(../..) = 'example'                       or local-name(../..) = 'table')">
-        <xsl:copy-of select="$content"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <strong>
-          <xsl:copy-of select="$content"/>
-        </strong>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:call-template name="apply-annotations"/>
-  </span>
-</xsl:template>
-
-<xsl:template name="inline.italicseq">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-  <em>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="generate.html.title"/>
-    <xsl:call-template name="dir"/>
-    <xsl:copy-of select="$content"/>
-    <xsl:call-template name="apply-annotations"/>
-  </em>
-</xsl:template>
-
-<xsl:template name="inline.boldmonoseq">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-  <!-- don't put <strong> inside figure, example, or table titles -->
-  <!-- or other titles that may already be represented with <strong>'s. -->
-  <xsl:choose>
-    <xsl:when test="local-name(..) = 'title'                     and (local-name(../..) = 'figure'                          or local-name(../..) = 'example'                          or local-name(../..) = 'table'                          or local-name(../..) = 'formalpara')">
-      <code>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:call-template name="generate.html.title"/>
-        <xsl:call-template name="dir"/>
-        <xsl:copy-of select="$content"/>
-        <xsl:call-template name="apply-annotations"/>
-      </code>
-    </xsl:when>
-    <xsl:otherwise>
-      <strong>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <code>
-          <xsl:call-template name="generate.html.title"/>
-          <xsl:call-template name="dir"/>
-          <xsl:copy-of select="$content"/>
-        </code>
-        <xsl:call-template name="apply-annotations"/>
-      </strong>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="inline.italicmonoseq">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-  <em>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <code>
-      <xsl:call-template name="generate.html.title"/>
-      <xsl:call-template name="dir"/>
-      <xsl:copy-of select="$content"/>
-      <xsl:call-template name="apply-annotations"/>
-    </code>
-  </em>
-</xsl:template>
-
-<xsl:template name="inline.superscriptseq">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-  <sup>
-    <xsl:call-template name="generate.html.title"/>
-    <xsl:call-template name="dir"/>
-    <xsl:copy-of select="$content"/>
-    <xsl:call-template name="apply-annotations"/>
-  </sup>
-</xsl:template>
-
-<xsl:template name="inline.subscriptseq">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-  <sub>
-    <xsl:call-template name="generate.html.title"/>
-    <xsl:call-template name="dir"/>
-    <xsl:copy-of select="$content"/>
-    <xsl:call-template name="apply-annotations"/>
-  </sub>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<!-- some special cases -->
-
-<xsl:template match="author">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:call-template name="person.name"/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="apply-annotations"/>
-  </xsl:param>
-
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:copy-of select="$content"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="editor">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:call-template name="person.name"/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="apply-annotations"/>
-  </xsl:param>
-
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:copy-of select="$content"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="othercredit">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:call-template name="person.name"/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="apply-annotations"/>
-  </xsl:param>
-
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:copy-of select="$content"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="authorinitials">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="accel">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="action">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="application">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="classname">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="exceptionname">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="interfacename">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="methodname">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="command">
-  <xsl:call-template name="inline.boldseq"/>
-</xsl:template>
-
-<xsl:template match="computeroutput">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="constant">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="database">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="date">
-  <!-- should this support locale-specific formatting? how? -->
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="errorcode">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="errorname">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="errortype">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="errortext">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="envar">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="filename">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="function">
-  <xsl:choose>
-    <xsl:when test="$function.parens != '0'                     and (parameter or function or replaceable)">
-      <xsl:variable name="nodes" select="text()|*"/>
-      <xsl:call-template name="inline.monoseq">
-        <xsl:with-param name="content">
-          <xsl:call-template name="simple.xlink">
-            <xsl:with-param name="content">
-              <xsl:apply-templates select="$nodes[1]"/>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:text>(</xsl:text>
-      <xsl:apply-templates select="$nodes[position()&gt;1]"/>
-      <xsl:text>)</xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-     <xsl:call-template name="inline.monoseq"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="function/parameter" priority="2">
-  <xsl:call-template name="inline.italicmonoseq"/>
-  <xsl:if test="following-sibling::*">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="function/replaceable" priority="2">
-  <xsl:call-template name="inline.italicmonoseq"/>
-  <xsl:if test="following-sibling::*">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="guibutton">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="guiicon">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="guilabel">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="guimenu">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="guimenuitem">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="guisubmenu">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="hardware">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="interface">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="interfacedefinition">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="keycap">
-  <xsl:call-template name="inline.boldseq"/>
-</xsl:template>
-
-<xsl:template match="keycode">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="keysym">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="literal">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="code">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="medialabel">
-  <xsl:call-template name="inline.italicseq"/>
-</xsl:template>
-
-<xsl:template match="shortcut">
-  <xsl:call-template name="inline.boldseq"/>
-</xsl:template>
-
-<xsl:template match="mousebutton">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="option">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="package">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="parameter">
-  <xsl:call-template name="inline.italicmonoseq"/>
-</xsl:template>
-
-<xsl:template match="property">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="prompt">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="replaceable" priority="1">
-  <xsl:call-template name="inline.italicmonoseq"/>
-</xsl:template>
-
-<xsl:template match="returnvalue">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="structfield">
-  <xsl:call-template name="inline.italicmonoseq"/>
-</xsl:template>
-
-<xsl:template match="structname">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="symbol">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="systemitem">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="token">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="type">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="userinput">
-  <xsl:call-template name="inline.boldmonoseq"/>
-</xsl:template>
-
-<xsl:template match="abbrev">
-  <xsl:call-template name="inline.charseq">
-    <xsl:with-param name="wrapper-name">abbr</xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="acronym">
-  <xsl:call-template name="inline.charseq">
-    <xsl:with-param name="wrapper-name">acronym</xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="citerefentry">
-  <xsl:choose>
-    <xsl:when test="$citerefentry.link != '0'">
-      <a>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:attribute name="href">
-          <xsl:call-template name="generate.citerefentry.link"/>
-        </xsl:attribute>
-        <xsl:call-template name="inline.charseq"/>
-      </a>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="inline.charseq"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="generate.citerefentry.link">
-  <!-- nop -->
-</xsl:template>
-
-<xsl:template name="x.generate.citerefentry.link">
-  <xsl:text>http://example.com/cgi-bin/man.cgi?</xsl:text>
-  <xsl:value-of select="refentrytitle"/>
-  <xsl:text>(</xsl:text>
-  <xsl:value-of select="manvolnum"/>
-  <xsl:text>)</xsl:text>
-</xsl:template>
-
-<xsl:template match="citetitle">
-  <xsl:choose>
-    <xsl:when test="@pubwork = 'article'">
-      <xsl:call-template name="gentext.startquote"/>
-      <xsl:call-template name="inline.charseq"/>
-      <xsl:call-template name="gentext.endquote"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="inline.italicseq"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="emphasis">
-  <span>
-    <xsl:choose>
-      <xsl:when test="@role and $emphasis.propagates.style != 0">
-        <xsl:apply-templates select="." mode="class.attribute">
-          <xsl:with-param name="class" select="@role"/>
-        </xsl:apply-templates>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:call-template name="anchor"/>
-
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:choose>
-          <xsl:when test="@role = 'bold' or @role='strong'">
-            <!-- backwards compatibility: make bold into b elements, but -->
-            <!-- don't put bold inside figure, example, or table titles -->
-            <xsl:choose>
-              <xsl:when test="local-name(..) = 'title'                               and (local-name(../..) = 'figure'                               or local-name(../..) = 'example'                               or local-name(../..) = 'table')">
-                <xsl:apply-templates/>
-              </xsl:when>
-              <xsl:otherwise>
-                <strong><xsl:apply-templates/></strong>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:when>
-          <xsl:when test="@role and $emphasis.propagates.style != 0">
-            <xsl:apply-templates/>
-          </xsl:when>
-          <xsl:otherwise>
-            <em><xsl:apply-templates/></em>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:with-param>
-    </xsl:call-template>
-  </span>
-</xsl:template>
-
-<xsl:template match="foreignphrase">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="@lang or @xml:lang">
-      <xsl:call-template name="language.attribute"/>
-    </xsl:if>
-    <xsl:call-template name="inline.italicseq"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="markup">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="phrase">
-  <span>
-    <xsl:call-template name="generate.html.title"/>
-    <xsl:if test="@lang or @xml:lang">
-      <xsl:call-template name="language.attribute"/>
-    </xsl:if>
-    <xsl:if test="@role and $phrase.propagates.style != 0">
-      <xsl:apply-templates select="." mode="class.attribute">
-        <xsl:with-param name="class" select="@role"/>
-      </xsl:apply-templates>
-    </xsl:if>
-    <xsl:call-template name="dir"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="apply-annotations"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="quote">
-  <xsl:variable name="depth">
-    <xsl:call-template name="dot.count">
-      <xsl:with-param name="string">
-        <xsl:number level="multiple"/>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:choose>
-    <xsl:when test="$depth mod 2 = 0">
-      <xsl:call-template name="gentext.startquote"/>
-      <xsl:call-template name="inline.charseq"/>
-      <xsl:call-template name="gentext.endquote"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="gentext.nestedstartquote"/>
-      <xsl:call-template name="inline.charseq"/>
-      <xsl:call-template name="gentext.nestedendquote"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="varname">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<xsl:template match="wordasword">
-  <xsl:call-template name="inline.italicseq"/>
-</xsl:template>
-
-<xsl:template match="lineannotation">
-  <em>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="inline.charseq"/>
-  </em>
-</xsl:template>
-
-<xsl:template match="superscript">
-  <xsl:call-template name="inline.superscriptseq"/>
-</xsl:template>
-
-<xsl:template match="subscript">
-  <xsl:call-template name="inline.subscriptseq"/>
-</xsl:template>
-
-<xsl:template match="trademark">
-  <xsl:call-template name="inline.charseq"/>
-  <xsl:choose>
-    <xsl:when test="@class = 'copyright'                     or @class = 'registered'">
-      <xsl:call-template name="dingbat">
-        <xsl:with-param name="dingbat" select="@class"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="@class = 'service'">
-      <sup>SM</sup>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="dingbat">
-        <xsl:with-param name="dingbat" select="'trademark'"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="firstterm">
-  <xsl:call-template name="glossterm">
-    <xsl:with-param name="firstterm" select="1"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="glossterm" name="glossterm">
-  <xsl:param name="firstterm" select="0"/>
-
-  <!-- To avoid extra <a name=""> anchor from inline.italicseq -->
-  <xsl:variable name="content">
-    <xsl:apply-templates/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="($firstterm.only.link = 0 or $firstterm = 1) and @linkend">
-      <xsl:variable name="targets" select="key('id',@linkend)"/>
-      <xsl:variable name="target" select="$targets[1]"/>
-
-      <xsl:call-template name="check.id.unique">
-        <xsl:with-param name="linkend" select="@linkend"/>
-      </xsl:call-template>
-
-      <xsl:choose>
-        <xsl:when test="$target">
-          <a>
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:if test="@id or @xml:id">
-              <xsl:attribute name="id">
-                <xsl:value-of select="(@id|@xml:id)[1]"/>
-              </xsl:attribute>
-            </xsl:if>
-
-            <xsl:attribute name="href">
-              <xsl:call-template name="href.target">
-                <xsl:with-param name="object" select="$target"/>
-              </xsl:call-template>
-            </xsl:attribute>
-
-            <xsl:call-template name="inline.italicseq">
-              <xsl:with-param name="content" select="$content"/>
-            </xsl:call-template>
-          </a>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="inline.italicseq">
-            <xsl:with-param name="content" select="$content"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="not(@linkend)                     and ($firstterm.only.link = 0 or $firstterm = 1)                     and ($glossterm.auto.link != 0)                     and $glossary.collection != ''">
-      <xsl:variable name="term">
-        <xsl:choose>
-          <xsl:when test="@baseform"><xsl:value-of select="@baseform"/></xsl:when>
-          <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="cterm" select="(document($glossary.collection,.)//glossentry[glossterm=$term])[1]"/>
-
-      <!-- HACK HACK HACK! But it works... -->
-      <!-- You'd need to do more work if you wanted to chunk on glossdiv, though -->
-
-      <xsl:variable name="glossary" select="//glossary[@role='auto']"/>
-
-      <xsl:if test="count($glossary) != 1">
-        <xsl:message>
-          <xsl:text>Warning: glossary.collection specified, but there are </xsl:text>
-          <xsl:value-of select="count($glossary)"/>
-          <xsl:text> automatic glossaries</xsl:text>
-        </xsl:message>
-      </xsl:if>
-
-      <xsl:variable name="glosschunk">
-        <xsl:call-template name="href.target">
-          <xsl:with-param name="object" select="$glossary"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="chunkbase">
-        <xsl:choose>
-          <xsl:when test="contains($glosschunk, '#')">
-            <xsl:value-of select="substring-before($glosschunk, '#')"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$glosschunk"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="not($cterm)">
-          <xsl:message>
-            <xsl:text>There's no entry for </xsl:text>
-            <xsl:value-of select="$term"/>
-            <xsl:text> in </xsl:text>
-            <xsl:value-of select="$glossary.collection"/>
-          </xsl:message>
-          <xsl:call-template name="inline.italicseq"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:variable name="id">
-            <xsl:call-template name="object.id">
-              <xsl:with-param name="object" select="$cterm"/>
-            </xsl:call-template>
-          </xsl:variable>
-          <a href="{$chunkbase}#{$id}">
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:call-template name="inline.italicseq">
-              <xsl:with-param name="content" select="$content"/>
-            </xsl:call-template>
-          </a>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="not(@linkend)                     and ($firstterm.only.link = 0 or $firstterm = 1)                     and $glossterm.auto.link != 0">
-      <xsl:variable name="term">
-        <xsl:choose>
-          <xsl:when test="@baseform">
-            <xsl:value-of select="normalize-space(@baseform)"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="normalize-space(.)"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-      <xsl:variable name="targets" select="//glossentry[normalize-space(glossterm)=$term                               or normalize-space(glossterm/@baseform)=$term]"/>
-      <xsl:variable name="target" select="$targets[1]"/>
-
-      <xsl:choose>
-        <xsl:when test="count($targets)=0">
-          <xsl:message>
-            <xsl:text>Error: no glossentry for glossterm: </xsl:text>
-            <xsl:value-of select="."/>
-            <xsl:text>.</xsl:text>
-          </xsl:message>
-          <xsl:call-template name="inline.italicseq"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <a>
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:if test="@id or @xml:id">
-              <xsl:attribute name="id">
-                <xsl:value-of select="(@id|@xml:id)[1]"/>
-              </xsl:attribute>
-            </xsl:if>
-
-            <xsl:attribute name="href">
-              <xsl:call-template name="href.target">
-                <xsl:with-param name="object" select="$target"/>
-              </xsl:call-template>
-            </xsl:attribute>
-
-            <xsl:call-template name="inline.italicseq">
-              <xsl:with-param name="content" select="$content"/>
-            </xsl:call-template>
-          </a>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:call-template name="inline.italicseq"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="termdef">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="generate.html.title"/>
-    <xsl:call-template name="gentext.template">
-      <xsl:with-param name="context" select="'termdef'"/>
-      <xsl:with-param name="name" select="'prefix'"/>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-    <xsl:call-template name="gentext.template">
-      <xsl:with-param name="context" select="'termdef'"/>
-      <xsl:with-param name="name" select="'suffix'"/>
-    </xsl:call-template>
-  </span>
-</xsl:template>
-
-<xsl:template match="sgmltag|tag">
-  <xsl:call-template name="format.sgmltag"/>
-</xsl:template>
-
-<xsl:template name="format.sgmltag">
-  <xsl:param name="class">
-    <xsl:choose>
-      <xsl:when test="@class">
-        <xsl:value-of select="@class"/>
-      </xsl:when>
-      <xsl:otherwise>element</xsl:otherwise>
-    </xsl:choose>
-  </xsl:param>
-
-  <xsl:variable name="content">
-    <xsl:choose>
-      <xsl:when test="$class='attribute'">
-        <xsl:apply-templates/>
-      </xsl:when>
-      <xsl:when test="$class='attvalue'">
-        <xsl:apply-templates/>
-      </xsl:when>
-      <xsl:when test="$class='element'">
-        <xsl:apply-templates/>
-      </xsl:when>
-      <xsl:when test="$class='endtag'">
-        <xsl:text>&lt;/</xsl:text>
-        <xsl:apply-templates/>
-        <xsl:text>&gt;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$class='genentity'">
-        <xsl:text>&amp;</xsl:text>
-        <xsl:apply-templates/>
-        <xsl:text>;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$class='numcharref'">
-        <xsl:text>&amp;#</xsl:text>
-        <xsl:apply-templates/>
-        <xsl:text>;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$class='paramentity'">
-        <xsl:text>%</xsl:text>
-        <xsl:apply-templates/>
-        <xsl:text>;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$class='pi'">
-        <xsl:text>&lt;?</xsl:text>
-        <xsl:apply-templates/>
-        <xsl:text>&gt;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$class='xmlpi'">
-        <xsl:text>&lt;?</xsl:text>
-        <xsl:apply-templates/>
-        <xsl:text>?&gt;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$class='starttag'">
-        <xsl:text>&lt;</xsl:text>
-        <xsl:apply-templates/>
-        <xsl:text>&gt;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$class='emptytag'">
-        <xsl:text>&lt;</xsl:text>
-        <xsl:apply-templates/>
-        <xsl:text>/&gt;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$class='sgmlcomment' or $class='comment'">
-        <xsl:text>&lt;!--</xsl:text>
-        <xsl:apply-templates/>
-        <xsl:text>--&gt;</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute">
-      <xsl:with-param name="class" select="concat('sgmltag-', $class)"/>
-    </xsl:apply-templates>
-    <xsl:call-template name="generate.html.title"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content" select="$content"/>
-    </xsl:call-template>
-  </code>
-</xsl:template>
-
-<xsl:template match="email">
-  <xsl:call-template name="inline.monoseq">
-    <xsl:with-param name="content">
-      <xsl:if test="not($email.delimiters.enabled = 0)">
-        <xsl:text>&lt;</xsl:text>
-      </xsl:if>
-      <a>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:attribute name="href">
-          <xsl:text>mailto:</xsl:text>
-          <xsl:value-of select="."/>
-        </xsl:attribute>
-        <xsl:apply-templates/>
-      </a>
-      <xsl:if test="not($email.delimiters.enabled = 0)">
-        <xsl:text>&gt;</xsl:text>
-      </xsl:if>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="keycombo">
-  <xsl:variable name="action" select="@action"/>
-  <xsl:variable name="joinchar">
-    <xsl:choose>
-      <xsl:when test="$action='seq'"><xsl:text> </xsl:text></xsl:when>
-      <xsl:when test="$action='simul'">+</xsl:when>
-      <xsl:when test="$action='press'">-</xsl:when>
-      <xsl:when test="$action='click'">-</xsl:when>
-      <xsl:when test="$action='double-click'">-</xsl:when>
-      <xsl:when test="$action='other'"/>
-      <xsl:otherwise>+</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:for-each select="*">
-    <xsl:if test="position()&gt;1"><xsl:value-of select="$joinchar"/></xsl:if>
-    <xsl:apply-templates select="."/>
-  </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="uri">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="menuchoice">
-  <xsl:variable name="shortcut" select="./shortcut"/>
-  <xsl:call-template name="process.menuchoice"/>
-  <xsl:if test="$shortcut">
-    <xsl:text> (</xsl:text>
-    <xsl:apply-templates select="$shortcut"/>
-    <xsl:text>)</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="process.menuchoice">
-  <xsl:param name="nodelist" select="guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu|interface"/><!-- not(shortcut) -->
-  <xsl:param name="count" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="$count&gt;count($nodelist)"/>
-    <xsl:when test="$count=1">
-      <xsl:apply-templates select="$nodelist[$count=position()]"/>
-      <xsl:call-template name="process.menuchoice">
-        <xsl:with-param name="nodelist" select="$nodelist"/>
-        <xsl:with-param name="count" select="$count+1"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="node" select="$nodelist[$count=position()]"/>
-      <xsl:choose>
-        <xsl:when test="local-name($node)='guimenuitem'                         or local-name($node)='guisubmenu'">
-          <xsl:value-of select="$menuchoice.menu.separator"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$menuchoice.separator"/>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:apply-templates select="$node"/>
-      <xsl:call-template name="process.menuchoice">
-        <xsl:with-param name="nodelist" select="$nodelist"/>
-        <xsl:with-param name="count" select="$count+1"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="optional">
-  <xsl:value-of select="$arg.choice.opt.open.str"/>
-  <xsl:call-template name="inline.charseq"/>
-  <xsl:value-of select="$arg.choice.opt.close.str"/>
-</xsl:template>
-
-<xsl:template match="citation">
-  <!-- todo: integrate with bibliography collection -->
-  <xsl:variable name="targets" select="(//biblioentry | //bibliomixed)[abbrev = string(current())]"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:choose>
-    <!-- try automatic linking based on match to abbrev -->
-    <xsl:when test="$target and not(xref) and not(link)">
-
-      <xsl:text>[</xsl:text>
-      <a>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$target"/>
-          </xsl:call-template>
-        </xsl:attribute>
-
-	<xsl:choose>
-	  <xsl:when test="$bibliography.numbered != 0">
-	    <xsl:apply-templates select="$target" mode="citation"/>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:call-template name="inline.charseq"/>
-	  </xsl:otherwise>
-	</xsl:choose>
-
-      </a>
-      <xsl:text>]</xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>[</xsl:text>
-      <xsl:call-template name="inline.charseq"/>
-      <xsl:text>]</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="biblioentry|bibliomixed" mode="citation">
-  <xsl:number from="bibliography" count="biblioentry|bibliomixed" level="any" format="1"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="comment[parent::answer|parent::appendix|parent::article|parent::bibliodiv|parent::bibliography|parent::blockquote|parent::caution|parent::chapter|parent::glossary|parent::glossdiv|parent::important|parent::index|parent::indexdiv|parent::listitem|parent::note|parent::orderedlist|parent::partintro|parent::preface|parent::procedure|parent::qandadiv|parent::qandaset|parent::question|parent::refentry|parent::refnamediv|parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection|parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4|parent::sect5|parent::section|parent::setindex|parent::sidebar|parent::simplesect|parent::taskprerequisites|parent::taskrelated|parent::tasksummary|parent::warning]|remark[parent::answer|parent::appendix|parent::article|parent::bibliodiv|parent::bibliography|parent::blockquote|parent::caution|parent::chapter|parent::glossary|parent::glossdiv|parent::important|parent::index|parent::indexdiv|parent::listitem|parent::note|parent::orderedlist|parent::partintro|parent::preface|parent::procedure|parent::qandadiv|parent::qandaset|parent::question|parent::refentry|parent::refnamediv|parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection|parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4|parent::sect5|parent::section|parent::setindex|parent::sidebar|parent::simplesect|parent::taskprerequisites|parent::taskrelated|parent::tasksummary|parent::warning]">
-  <xsl:if test="$show.comments != 0">
-    <p class="remark"><i><xsl:call-template name="inline.charseq"/></i></p>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="comment|remark">
-  <xsl:if test="$show.comments != 0">
-    <em><xsl:call-template name="inline.charseq"/></em>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="productname">
-  <xsl:call-template name="inline.charseq"/>
-  <xsl:if test="@class">
-    <xsl:call-template name="dingbat">
-      <xsl:with-param name="dingbat" select="@class"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="productnumber">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="pob|street|city|state|postcode|country|otheraddr">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="phone|fax">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<!-- in Addresses, for example -->
-<xsl:template match="honorific|firstname|surname|lineage|othername">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="person">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates select="personname"/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="apply-annotations"/>
-  </xsl:param>
-
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:copy-of select="$content"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="personname">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:call-template name="person.name"/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="apply-annotations"/>
-  </xsl:param>
-
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:copy-of select="$content"/>
-  </span>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="org">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="apply-annotations"/>
-  </xsl:param>
-
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:copy-of select="$content"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="orgname">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="apply-annotations"/>
-  </xsl:param>
-
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:copy-of select="$content"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="orgdiv">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="apply-annotations"/>
-  </xsl:param>
-
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:copy-of select="$content"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="affiliation">
-  <xsl:param name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:call-template name="person.name"/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="apply-annotations"/>
-  </xsl:param>
-
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:copy-of select="$content"/>
-  </span>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="beginpage">
-  <!-- does nothing; this *is not* markup to force a page break. -->
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/keywords.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/keywords.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,36 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template match="keywordset"/>
-<xsl:template match="subjectset"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="keywordset" mode="html.header">
-  <meta name="keywords">
-    <xsl:attribute name="content">
-      <xsl:apply-templates select="keyword" mode="html.header"/>
-    </xsl:attribute>
-  </meta>
-</xsl:template>
-
-<xsl:template match="keyword" mode="html.header">
-  <xsl:apply-templates/>
-  <xsl:if test="following-sibling::keyword">, </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/lists.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/lists.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1045 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="itemizedlist">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="title">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-
-    <!-- Preserve order of PIs and comments -->
-    <xsl:apply-templates select="*[not(self::listitem                   or self::title                   or self::titleabbrev)]                 |comment()[not(preceding-sibling::listitem)]                 |processing-instruction()[not(preceding-sibling::listitem)]"/>
-
-    <ul>
-      <xsl:if test="$css.decoration != 0">
-        <xsl:attribute name="type">
-          <xsl:call-template name="list.itemsymbol"/>
-        </xsl:attribute>
-      </xsl:if>
-
-      <xsl:if test="@spacing='compact'">
-        <xsl:attribute name="compact">
-          <xsl:value-of select="@spacing"/>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:apply-templates select="listitem                     |comment()[preceding-sibling::listitem]                     |processing-instruction()[preceding-sibling::listitem]"/>
-    </ul>
-  </div>
-</xsl:template>
-
-<xsl:template match="itemizedlist/title">
-  <!-- nop -->
-</xsl:template>
-
-<xsl:template match="itemizedlist/listitem">
-  <xsl:variable name="mark" select="../@mark"/>
-  <xsl:variable name="override" select="@override"/>
-
-  <xsl:variable name="usemark">
-    <xsl:choose>
-      <xsl:when test="$override != ''">
-        <xsl:value-of select="$override"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$mark"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="cssmark">
-    <xsl:choose>
-      <xsl:when test="$usemark = 'opencircle'">circle</xsl:when>
-      <xsl:when test="$usemark = 'bullet'">disc</xsl:when>
-      <xsl:when test="$usemark = 'box'">square</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$usemark"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <li>
-    <xsl:if test="$css.decoration = '1' and $cssmark != ''">
-      <xsl:attribute name="style">
-        <xsl:text>list-style-type: </xsl:text>
-        <xsl:value-of select="$cssmark"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <!-- we can't just drop the anchor in since some browsers (Opera)
-         get confused about line breaks if we do. So if the first child
-         is a para, assume the para will put in the anchor. Otherwise,
-         put the anchor in anyway. -->
-    <xsl:if test="local-name(child::*[1]) != 'para'">
-      <xsl:call-template name="anchor"/>
-    </xsl:if>
-
-    <xsl:choose>
-      <xsl:when test="$show.revisionflag != 0 and @revisionflag">
-        <div class="{@revisionflag}">
-          <xsl:apply-templates/>
-        </div>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </li>
-</xsl:template>
-
-<xsl:template match="orderedlist">
-  <xsl:variable name="start">
-    <xsl:call-template name="orderedlist-starting-number"/>
-  </xsl:variable>
-
-  <xsl:variable name="numeration">
-    <xsl:call-template name="list.numeration"/>
-  </xsl:variable>
-
-  <xsl:variable name="type">
-    <xsl:choose>
-      <xsl:when test="$numeration='arabic'">1</xsl:when>
-      <xsl:when test="$numeration='loweralpha'">a</xsl:when>
-      <xsl:when test="$numeration='lowerroman'">i</xsl:when>
-      <xsl:when test="$numeration='upperalpha'">A</xsl:when>
-      <xsl:when test="$numeration='upperroman'">I</xsl:when>
-      <!-- What!? This should never happen -->
-      <xsl:otherwise>
-        <xsl:message>
-          <xsl:text>Unexpected numeration: </xsl:text>
-          <xsl:value-of select="$numeration"/>
-        </xsl:message>
-        <xsl:value-of select="1"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-
-    <xsl:if test="title">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-
-    <!-- Preserve order of PIs and comments -->
-    <xsl:apply-templates select="*[not(self::listitem                   or self::title                   or self::titleabbrev)]                 |comment()[not(preceding-sibling::listitem)]                 |processing-instruction()[not(preceding-sibling::listitem)]"/>
-
-    <ol>
-      <xsl:if test="$start != '1'">
-        <xsl:attribute name="start">
-          <xsl:value-of select="$start"/>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:if test="$numeration != ''">
-        <xsl:attribute name="type">
-          <xsl:value-of select="$type"/>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:if test="@spacing='compact'">
-        <xsl:attribute name="compact">
-          <xsl:value-of select="@spacing"/>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:apply-templates select="listitem                     |comment()[preceding-sibling::listitem]                     |processing-instruction()[preceding-sibling::listitem]"/>
-    </ol>
-  </div>
-</xsl:template>
-
-<xsl:template match="orderedlist/title">
-  <!-- nop -->
-</xsl:template>
-
-<xsl:template match="orderedlist/listitem">
-  <li>
-    <xsl:if test="@override">
-      <xsl:attribute name="value">
-        <xsl:value-of select="@override"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <!-- we can't just drop the anchor in since some browsers (Opera)
-         get confused about line breaks if we do. So if the first child
-         is a para, assume the para will put in the anchor. Otherwise,
-         put the anchor in anyway. -->
-    <xsl:if test="local-name(child::*[1]) != 'para'">
-      <xsl:call-template name="anchor"/>
-    </xsl:if>
-
-    <xsl:choose>
-      <xsl:when test="$show.revisionflag != 0 and @revisionflag">
-        <div class="{@revisionflag}">
-          <xsl:apply-templates/>
-        </div>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </li>
-</xsl:template>
-
-<xsl:template match="variablelist">
-  <xsl:variable name="pi-presentation">
-    <xsl:call-template name="pi.dbhtml_list-presentation"/>
-  </xsl:variable>
-
-  <xsl:variable name="presentation">
-    <xsl:choose>
-      <xsl:when test="$pi-presentation != ''">
-        <xsl:value-of select="$pi-presentation"/>
-      </xsl:when>
-      <xsl:when test="$variablelist.as.table != 0">
-        <xsl:value-of select="'table'"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="'list'"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="list-width">
-    <xsl:call-template name="pi.dbhtml_list-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="term-width">
-    <xsl:call-template name="pi.dbhtml_term-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="table-summary">
-    <xsl:call-template name="pi.dbhtml_table-summary"/>
-  </xsl:variable>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="title">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-
-    <xsl:choose>
-      <xsl:when test="$presentation = 'table'">
-        <!-- Preserve order of PIs and comments -->
-        <xsl:apply-templates select="*[not(self::varlistentry                     or self::title                     or self::titleabbrev)]                   |comment()[not(preceding-sibling::varlistentry)]                   |processing-instruction()[not(preceding-sibling::varlistentry)]"/>
-        <table border="0">
-          <xsl:if test="$list-width != ''">
-            <xsl:attribute name="width">
-              <xsl:value-of select="$list-width"/>
-            </xsl:attribute>
-          </xsl:if>
-          <xsl:if test="$table-summary != ''">
-            <xsl:attribute name="summary">
-              <xsl:value-of select="$table-summary"/>
-            </xsl:attribute>
-          </xsl:if>
-          <col align="left" valign="top">
-            <xsl:if test="$term-width != ''">
-              <xsl:attribute name="width">
-                <xsl:value-of select="$term-width"/>
-              </xsl:attribute>
-            </xsl:if>
-          </col>
-          <tbody>
-            <xsl:apply-templates mode="varlist-table" select="varlistentry                       |comment()[preceding-sibling::varlistentry]                       |processing-instruction()[preceding-sibling::varlistentry]"/>
-          </tbody>
-        </table>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- Preserve order of PIs and comments -->
-        <xsl:apply-templates select="*[not(self::varlistentry                     or self::title                     or self::titleabbrev)]                   |comment()[not(preceding-sibling::varlistentry)]                   |processing-instruction()[not(preceding-sibling::varlistentry)]"/>
-        <dl>
-          <xsl:apply-templates select="varlistentry                       |comment()[preceding-sibling::varlistentry]                       |processing-instruction()[preceding-sibling::varlistentry]"/>
-        </dl>
-      </xsl:otherwise>
-    </xsl:choose>
-  </div>
-</xsl:template>
-
-<xsl:template match="variablelist/title">
-  <!-- nop -->
-</xsl:template>
-
-<xsl:template match="itemizedlist/titleabbrev|orderedlist/titleabbrev">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="variablelist/titleabbrev">
-  <!--nop-->
-</xsl:template>
-
-<xsl:template match="listitem" mode="xref">
-  <xsl:number format="1"/>
-</xsl:template>
-
-<xsl:template match="listitem/simpara" priority="2">
-  <!-- If a listitem contains only a single simpara, don't output
-       the <p> wrapper; this has the effect of creating an li
-       with simple text content. -->
-  <xsl:choose>
-    <xsl:when test="not(preceding-sibling::*)                     and not (following-sibling::*)">
-      <xsl:call-template name="anchor"/>
-      <xsl:apply-templates/>
-    </xsl:when>
-    <xsl:otherwise>
-      <p>
-        <xsl:if test="@role and $para.propagates.style != 0">
-           <xsl:apply-templates select="." mode="class.attribute">
-             <xsl:with-param name="class" select="@role"/>
-           </xsl:apply-templates>
-        </xsl:if>
-
-        <xsl:call-template name="anchor"/>
-        <xsl:apply-templates/>
-      </p>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="varlistentry">
-  <dt>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates select="term"/>
-  </dt>
-  <dd>
-    <xsl:apply-templates select="listitem"/>
-  </dd>
-</xsl:template>
-
-<xsl:template match="varlistentry" mode="varlist-table">
-  <xsl:variable name="presentation">
-    <xsl:call-template name="pi.dbhtml_term-presentation">
-      <xsl:with-param name="node" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="separator">
-    <xsl:call-template name="pi.dbhtml_term-separator">
-      <xsl:with-param name="node" select=".."/>
-    </xsl:call-template>
-  </xsl:variable>
-  <tr>
-    <xsl:call-template name="tr.attributes">
-      <xsl:with-param name="rownum">
-        <xsl:number from="variablelist" count="varlistentry"/>
-      </xsl:with-param>
-    </xsl:call-template>
-
-    <td>
-      <p>
-      <xsl:call-template name="anchor"/>
-      <xsl:choose>
-        <xsl:when test="$presentation = 'bold'">
-          <b>
-            <xsl:apply-templates select="term"/>
-            <xsl:value-of select="$separator"/>
-          </b>
-        </xsl:when>
-        <xsl:when test="$presentation = 'italic'">
-          <i>
-            <xsl:apply-templates select="term"/>
-            <xsl:value-of select="$separator"/>
-          </i>
-        </xsl:when>
-        <xsl:when test="$presentation = 'bold-italic'">
-          <b>
-            <i>
-              <xsl:apply-templates select="term"/>
-              <xsl:value-of select="$separator"/>
-            </i>
-          </b>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="term"/>
-          <xsl:value-of select="$separator"/>
-        </xsl:otherwise>
-      </xsl:choose>
-      </p>
-    </td>
-    <td>
-      <xsl:apply-templates select="listitem"/>
-    </td>
-  </tr>
-</xsl:template>
-
-<xsl:template match="varlistentry/term">
-  <span class="term">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:choose>
-      <xsl:when test="position() = last()"/> <!-- do nothing -->
-      <xsl:otherwise>
-        <!-- * if we have multiple terms in the same varlistentry, generate -->
-        <!-- * a separator (", " by default) and/or an additional line -->
-        <!-- * break after each one except the last -->
-        <xsl:value-of select="$variablelist.term.separator"/>
-        <xsl:if test="not($variablelist.term.break.after = '0')">
-          <br/>
-        </xsl:if>
-      </xsl:otherwise>
-    </xsl:choose>
-  </span>
-</xsl:template>
-
-<xsl:template match="varlistentry/listitem">
-  <!-- we can't just drop the anchor in since some browsers (Opera)
-       get confused about line breaks if we do. So if the first child
-       is a para, assume the para will put in the anchor. Otherwise,
-       put the anchor in anyway. -->
-  <xsl:if test="local-name(child::*[1]) != 'para'">
-    <xsl:call-template name="anchor"/>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="$show.revisionflag != 0 and @revisionflag">
-      <div class="{@revisionflag}">
-        <xsl:apply-templates/>
-      </div>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="simplelist">
-  <!-- with no type specified, the default is 'vert' -->
-  <xsl:call-template name="anchor"/>
-  <table class="simplelist" border="0" summary="Simple list">
-    <xsl:call-template name="simplelist.vert">
-      <xsl:with-param name="cols">
-        <xsl:choose>
-          <xsl:when test="@columns">
-            <xsl:value-of select="@columns"/>
-          </xsl:when>
-          <xsl:otherwise>1</xsl:otherwise>
-        </xsl:choose>
-      </xsl:with-param>
-    </xsl:call-template>
-  </table>
-</xsl:template>
-
-<xsl:template match="simplelist[@type='inline']">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-  <!-- if dbchoice PI exists, use that to determine the choice separator -->
-  <!-- (that is, equivalent of "and" or "or" in current locale), or literal -->
-  <!-- value of "choice" otherwise -->
-  <xsl:variable name="localized-choice-separator">
-    <xsl:choose>
-      <xsl:when test="processing-instruction('dbchoice')">
-        <xsl:call-template name="select.choice.separator"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <!-- empty -->
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:for-each select="member">
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:choose>
-      <xsl:when test="position() = last()"/> <!-- do nothing -->
-      <xsl:otherwise>
-	<xsl:text>, </xsl:text>
-	<xsl:if test="position() = last() - 1">
-	  <xsl:if test="$localized-choice-separator != ''">
-	    <xsl:value-of select="$localized-choice-separator"/>
-	    <xsl:text> </xsl:text>
-	  </xsl:if>
-	</xsl:if>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:for-each>
-  </span>
-</xsl:template>
-
-<xsl:template match="simplelist[@type='horiz']">
-  <xsl:call-template name="anchor"/>
-  <table class="simplelist" border="0" summary="Simple list">
-    <xsl:call-template name="simplelist.horiz">
-      <xsl:with-param name="cols">
-        <xsl:choose>
-          <xsl:when test="@columns">
-            <xsl:value-of select="@columns"/>
-          </xsl:when>
-          <xsl:otherwise>1</xsl:otherwise>
-        </xsl:choose>
-      </xsl:with-param>
-    </xsl:call-template>
-  </table>
-</xsl:template>
-
-<xsl:template match="simplelist[@type='vert']">
-  <xsl:call-template name="anchor"/>
-  <table class="simplelist" border="0" summary="Simple list">
-    <xsl:call-template name="simplelist.vert">
-      <xsl:with-param name="cols">
-        <xsl:choose>
-          <xsl:when test="@columns">
-            <xsl:value-of select="@columns"/>
-          </xsl:when>
-          <xsl:otherwise>1</xsl:otherwise>
-        </xsl:choose>
-      </xsl:with-param>
-    </xsl:call-template>
-  </table>
-</xsl:template>
-
-<xsl:template name="simplelist.horiz">
-  <xsl:param name="cols">1</xsl:param>
-  <xsl:param name="cell">1</xsl:param>
-  <xsl:param name="members" select="./member"/>
-
-  <xsl:if test="$cell &lt;= count($members)">
-    <tr>
-      <xsl:call-template name="tr.attributes">
-        <xsl:with-param name="row" select="$members[1]"/>
-        <xsl:with-param name="rownum" select="(($cell - 1) div $cols) + 1"/>
-      </xsl:call-template>
-
-      <xsl:call-template name="simplelist.horiz.row">
-        <xsl:with-param name="cols" select="$cols"/>
-        <xsl:with-param name="cell" select="$cell"/>
-        <xsl:with-param name="members" select="$members"/>
-      </xsl:call-template>
-   </tr>
-    <xsl:call-template name="simplelist.horiz">
-      <xsl:with-param name="cols" select="$cols"/>
-      <xsl:with-param name="cell" select="$cell + $cols"/>
-      <xsl:with-param name="members" select="$members"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="simplelist.horiz.row">
-  <xsl:param name="cols">1</xsl:param>
-  <xsl:param name="cell">1</xsl:param>
-  <xsl:param name="members" select="./member"/>
-  <xsl:param name="curcol">1</xsl:param>
-
-  <xsl:if test="$curcol &lt;= $cols">
-    <td>
-      <xsl:choose>
-        <xsl:when test="$members[position()=$cell]">
-          <xsl:apply-templates select="$members[position()=$cell]"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:text>&#160;</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </td>
-    <xsl:call-template name="simplelist.horiz.row">
-      <xsl:with-param name="cols" select="$cols"/>
-      <xsl:with-param name="cell" select="$cell+1"/>
-      <xsl:with-param name="members" select="$members"/>
-      <xsl:with-param name="curcol" select="$curcol+1"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="simplelist.vert">
-  <xsl:param name="cols">1</xsl:param>
-  <xsl:param name="cell">1</xsl:param>
-  <xsl:param name="members" select="./member"/>
-  <xsl:param name="rows" select="floor((count($members)+$cols - 1) div $cols)"/>
-
-  <xsl:if test="$cell &lt;= $rows">
-    <tr>
-      <xsl:call-template name="tr.attributes">
-        <xsl:with-param name="row" select="$members[1]"/>
-        <xsl:with-param name="rownum" select="$cell"/>
-      </xsl:call-template>
-
-      <xsl:call-template name="simplelist.vert.row">
-        <xsl:with-param name="cols" select="$cols"/>
-        <xsl:with-param name="rows" select="$rows"/>
-        <xsl:with-param name="cell" select="$cell"/>
-        <xsl:with-param name="members" select="$members"/>
-      </xsl:call-template>
-    </tr>
-    <xsl:call-template name="simplelist.vert">
-      <xsl:with-param name="cols" select="$cols"/>
-      <xsl:with-param name="cell" select="$cell+1"/>
-      <xsl:with-param name="members" select="$members"/>
-      <xsl:with-param name="rows" select="$rows"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="simplelist.vert.row">
-  <xsl:param name="cols">1</xsl:param>
-  <xsl:param name="rows">1</xsl:param>
-  <xsl:param name="cell">1</xsl:param>
-  <xsl:param name="members" select="./member"/>
-  <xsl:param name="curcol">1</xsl:param>
-
-  <xsl:if test="$curcol &lt;= $cols">
-    <td>
-      <xsl:choose>
-        <xsl:when test="$members[position()=$cell]">
-          <xsl:apply-templates select="$members[position()=$cell]"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:text>&#160;</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </td>
-    <xsl:call-template name="simplelist.vert.row">
-      <xsl:with-param name="cols" select="$cols"/>
-      <xsl:with-param name="rows" select="$rows"/>
-      <xsl:with-param name="cell" select="$cell+$rows"/>
-      <xsl:with-param name="members" select="$members"/>
-      <xsl:with-param name="curcol" select="$curcol+1"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="member">
-  <xsl:call-template name="anchor"/>
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="content">
-      <xsl:apply-templates/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="procedure">
-  <xsl:variable name="param.placement" select="substring-after(normalize-space($formal.title.placement),                                         concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- Preserve order of PIs and comments -->
-  <xsl:variable name="preamble" select="*[not(self::step                   or self::title                   or self::titleabbrev)]                 |comment()[not(preceding-sibling::step)]                 |processing-instruction()[not(preceding-sibling::step)]"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="conditional">
-        <xsl:choose>
-	  <xsl:when test="title">0</xsl:when>
-	  <xsl:otherwise>1</xsl:otherwise>
-	</xsl:choose>
-      </xsl:with-param>
-    </xsl:call-template>
-
-    <xsl:if test="title and $placement = 'before'">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="$preamble"/>
-
-    <xsl:choose>
-      <xsl:when test="count(step) = 1">
-        <ul>
-          <xsl:apply-templates select="step                     |comment()[preceding-sibling::step]                     |processing-instruction()[preceding-sibling::step]"/>
-        </ul>
-      </xsl:when>
-      <xsl:otherwise>
-        <ol>
-          <xsl:attribute name="type">
-            <xsl:value-of select="substring($procedure.step.numeration.formats,1,1)"/>
-          </xsl:attribute>
-          <xsl:apply-templates select="step                     |comment()[preceding-sibling::step]                     |processing-instruction()[preceding-sibling::step]"/>
-        </ol>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:if test="title and $placement != 'before'">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-  </div>
-</xsl:template>
-
-<xsl:template match="procedure/title">
-  <!-- nop -->
-</xsl:template>
-
-<xsl:template match="substeps">
-  <xsl:variable name="numeration">
-    <xsl:call-template name="procedure.step.numeration"/>
-  </xsl:variable>
-
-  <xsl:call-template name="anchor"/>
-
-  <ol type="{$numeration}">
-    <xsl:apply-templates/>
-  </ol>
-</xsl:template>
-
-<xsl:template match="step">
-  <li>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </li>
-</xsl:template>
-
-<xsl:template match="stepalternatives">
-  <xsl:call-template name="anchor"/>
-  <ul>
-    <xsl:apply-templates/>
-  </ul>
-</xsl:template>
-
-<xsl:template match="step/title">
-  <p class="title">
-    <b>
-      <xsl:apply-templates/>
-    </b>
-  </p>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="segmentedlist">
-  <xsl:variable name="presentation">
-    <xsl:call-template name="pi.dbhtml_list-presentation"/>
-  </xsl:variable>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-
-    <xsl:choose>
-      <xsl:when test="$presentation = 'table'">
-        <xsl:apply-templates select="." mode="seglist-table"/>
-      </xsl:when>
-      <xsl:when test="$presentation = 'list'">
-        <xsl:apply-templates/>
-      </xsl:when>
-      <xsl:when test="$segmentedlist.as.table != 0">
-        <xsl:apply-templates select="." mode="seglist-table"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </div>
-</xsl:template>
-
-<xsl:template match="segmentedlist/title">
-  <div class="title">
-    <strong><span class="title"><xsl:apply-templates/></span></strong>
-  </div>
-</xsl:template>
-
-<xsl:template match="segtitle">
-</xsl:template>
-
-<xsl:template match="segtitle" mode="segtitle-in-seg">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="seglistitem">
-  <div class="seglistitem">
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="seg">
-  <xsl:variable name="segnum" select="count(preceding-sibling::seg)+1"/>
-  <xsl:variable name="seglist" select="ancestor::segmentedlist"/>
-  <xsl:variable name="segtitles" select="$seglist/segtitle"/>
-
-  <!--
-     Note: segtitle is only going to be the right thing in a well formed
-     SegmentedList.  If there are too many Segs or too few SegTitles,
-     you'll get something odd...maybe an error
-  -->
-
-  <div class="seg">
-    <strong>
-      <span class="segtitle">
-        <xsl:apply-templates select="$segtitles[$segnum=position()]" mode="segtitle-in-seg"/>
-        <xsl:text>: </xsl:text>
-      </span>
-    </strong>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="segmentedlist" mode="seglist-table">
-  <xsl:variable name="table-summary">
-    <xsl:call-template name="pi.dbhtml_table-summary"/>
-  </xsl:variable>
-
-  <xsl:variable name="list-width">
-    <xsl:call-template name="pi.dbhtml_list-width"/>
-  </xsl:variable>
-
-  <xsl:apply-templates select="title"/>
-
-  <table border="0">
-    <xsl:if test="$list-width != ''">
-      <xsl:attribute name="width">
-        <xsl:value-of select="$list-width"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="$table-summary != ''">
-      <xsl:attribute name="summary">
-        <xsl:value-of select="$table-summary"/>
-      </xsl:attribute>
-    </xsl:if>
-    <thead>
-      <tr class="segtitle">
-        <xsl:call-template name="tr.attributes">
-          <xsl:with-param name="row" select="segtitle[1]"/>
-          <xsl:with-param name="rownum" select="1"/>
-        </xsl:call-template>
-        <xsl:apply-templates select="segtitle" mode="seglist-table"/>
-      </tr>
-    </thead>
-    <tbody>
-      <xsl:apply-templates select="seglistitem" mode="seglist-table"/>
-    </tbody>
-  </table>
-</xsl:template>
-
-<xsl:template match="segtitle" mode="seglist-table">
-  <th><xsl:apply-templates/></th>
-</xsl:template>
-
-<xsl:template match="seglistitem" mode="seglist-table">
-  <xsl:variable name="seglinum">
-    <xsl:number from="segmentedlist" count="seglistitem"/>
-  </xsl:variable>
-
-  <tr class="seglistitem">
-    <xsl:call-template name="tr.attributes">
-      <xsl:with-param name="rownum" select="$seglinum + 1"/>
-    </xsl:call-template>
-    <xsl:apply-templates mode="seglist-table"/>
-  </tr>
-</xsl:template>
-
-<xsl:template match="seg" mode="seglist-table">
-  <td class="seg"><xsl:apply-templates/></td>
-</xsl:template>
-
-<xsl:template match="seg[1]" mode="seglist-table">
-  <td class="seg">
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="node" select="ancestor::seglistitem"/>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-  </td>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="calloutlist">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="title|info/title">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-
-    <!-- Preserve order of PIs and comments -->
-    <xsl:apply-templates select="*[not(self::callout or self::title or self::titleabbrev)]                    |comment()[not(preceding-sibling::callout)]      |processing-instruction()[not(preceding-sibling::callout)]"/>
-
-    <xsl:choose>
-      <xsl:when test="$callout.list.table != 0">
-        <table border="0" summary="Callout list">
-	  <xsl:apply-templates select="callout            |comment()[preceding-sibling::callout]     |processing-instruction()[preceding-sibling::callout]"/>
-	</table>
-      </xsl:when>
-      <xsl:otherwise>
-	<dl compact="compact">
-	  <xsl:apply-templates select="callout            |comment()[preceding-sibling::callout]     |processing-instruction()[preceding-sibling::callout]"/>
-	</dl>
-      </xsl:otherwise>
-    </xsl:choose>
-  </div>
-</xsl:template>
-
-<xsl:template match="calloutlist/title">
-</xsl:template>
-
-<xsl:template match="callout">
-  <xsl:choose>
-    <xsl:when test="$callout.list.table != 0">
-      <tr>
-        <xsl:call-template name="tr.attributes">
-          <xsl:with-param name="rownum">
-            <xsl:number from="calloutlist" count="callout"/>
-          </xsl:with-param>
-        </xsl:call-template>
-
-        <td width="5%" valign="top" align="left">
-          <p>
-            <xsl:call-template name="anchor"/>
-            <xsl:call-template name="callout.arearefs">
-              <xsl:with-param name="arearefs" select="@arearefs"/>
-            </xsl:call-template>
-          </p>
-        </td>
-        <td valign="top" align="left">
-          <xsl:apply-templates/>
-        </td>
-      </tr>
-    </xsl:when>
-    <xsl:otherwise>
-      <dt>
-        <xsl:call-template name="anchor"/>
-        <xsl:call-template name="callout.arearefs">
-          <xsl:with-param name="arearefs" select="@arearefs"/>
-        </xsl:call-template>
-      </dt>
-      <dd><xsl:apply-templates/></dd>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="callout/simpara" priority="2">
-  <!-- If a callout contains only a single simpara, don't output
-       the <p> wrapper; this has the effect of creating an li
-       with simple text content. -->
-  <xsl:choose>
-    <xsl:when test="not(preceding-sibling::*)                     and not (following-sibling::*)">
-      <xsl:call-template name="anchor"/>
-      <xsl:apply-templates/>
-    </xsl:when>
-    <xsl:otherwise>
-      <p>
-        <xsl:if test="@role and $para.propagates.style != 0">
-          <xsl:apply-templates select="." mode="class.attribute">
-            <xsl:with-param name="class" select="@role"/>
-          </xsl:apply-templates>
-        </xsl:if>
-
-        <xsl:call-template name="anchor"/>
-        <xsl:apply-templates/>
-      </p>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="callout.arearefs">
-  <xsl:param name="arearefs"/>
-  <xsl:if test="$arearefs!=''">
-    <xsl:choose>
-      <xsl:when test="substring-before($arearefs,' ')=''">
-        <xsl:call-template name="callout.arearef">
-          <xsl:with-param name="arearef" select="$arearefs"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="callout.arearef">
-          <xsl:with-param name="arearef" select="substring-before($arearefs,' ')"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:call-template name="callout.arearefs">
-      <xsl:with-param name="arearefs" select="substring-after($arearefs,' ')"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="callout.arearef">
-  <xsl:param name="arearef"/>
-  <xsl:variable name="targets" select="key('id',$arearef)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:call-template name="check.id.unique">
-    <xsl:with-param name="linkend" select="$arearef"/>
-  </xsl:call-template>
-
-  <xsl:choose>
-    <xsl:when test="count($target)=0">
-      <xsl:text>???</xsl:text>
-    </xsl:when>
-    <xsl:when test="local-name($target)='co'">
-      <a>
-        <xsl:attribute name="href">
-          <xsl:text>#</xsl:text>
-          <xsl:value-of select="$arearef"/>
-        </xsl:attribute>
-        <xsl:apply-templates select="$target" mode="callout-bug"/>
-      </a>
-      <xsl:text> </xsl:text>
-    </xsl:when>
-    <xsl:when test="local-name($target)='areaset'">
-      <xsl:call-template name="callout-bug">
-        <xsl:with-param name="conum">
-          <xsl:apply-templates select="$target" mode="conumber"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="local-name($target)='area'">
-      <xsl:choose>
-        <xsl:when test="$target/parent::areaset">
-          <xsl:call-template name="callout-bug">
-            <xsl:with-param name="conum">
-              <xsl:apply-templates select="$target/parent::areaset" mode="conumber"/>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="callout-bug">
-            <xsl:with-param name="conum">
-              <xsl:apply-templates select="$target" mode="conumber"/>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text>???</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="orderedlist-starting-number">
-  <xsl:param name="list" select="."/>
-  <xsl:variable name="pi-start">
-    <xsl:call-template name="pi.dbhtml_start">
-      <xsl:with-param name="node" select="$list"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:call-template name="output-orderedlist-starting-number">
-    <xsl:with-param name="list" select="$list"/>
-    <xsl:with-param name="pi-start" select="$pi-start"/>
-  </xsl:call-template>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/maketoc.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/maketoc.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,91 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="doc">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:import href="docbook.xsl"/>
-<xsl:import href="chunk.xsl"/>
-
-<xsl:output method="xml" indent="no" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
-
-<xsl:param name="toc.list.type" select="'tocentry'"/>
-
-<!-- refentry in autotoc.xsl does not use subtoc, so must
-     handle it explicitly here. -->
-<xsl:template match="refentry" mode="toc">
-  <xsl:param name="toc-context" select="."/>
-
-  <xsl:call-template name="subtoc">
-    <xsl:with-param name="toc-context" select="$toc-context"/>
-  </xsl:call-template>
-</xsl:template>
-
-
-<xsl:template name="subtoc">
-  <xsl:param name="nodes" select="NOT-AN-ELEMENT"/>
-  <xsl:variable name="filename">
-    <xsl:apply-templates select="." mode="chunk-filename"/>
-  </xsl:variable>
-
-  <xsl:variable name="chunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:if test="$chunk != 0">
-    <xsl:call-template name="indent-spaces"/>
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:variable>
-    <tocentry linkend="{$id}">
-      <xsl:processing-instruction name="dbhtml">
-        <xsl:text>filename="</xsl:text>
-        <xsl:value-of select="$filename"/>
-        <xsl:text>"</xsl:text>
-      </xsl:processing-instruction>
-      <xsl:text>
-</xsl:text>
-      <xsl:apply-templates mode="toc" select="$nodes"/>
-      <xsl:call-template name="indent-spaces"/>
-    </tocentry>
-    <xsl:text>
-</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="indent-spaces">
-  <xsl:param name="node" select="."/>
-  <xsl:text>  </xsl:text>
-  <xsl:if test="$node/parent::*">
-    <xsl:call-template name="indent-spaces">
-      <xsl:with-param name="node" select="$node/parent::*"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="/" priority="-1">
-  <xsl:text>
-</xsl:text>
-  <toc role="chunk-toc">
-    <xsl:text>
-</xsl:text>
-    <xsl:apply-templates select="/" mode="toc"/>
-  </toc>
-  <xsl:text>
-</xsl:text>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/manifest.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/manifest.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,22 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="doc">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-<!-- OBSOLETE. The templates from this file were moved to                 -->
-<!-- chunk-common.xsl and chunk-code.xsl.                                 -->
-<!-- ==================================================================== -->
-
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/math.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/math.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,284 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="mml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:template match="inlineequation">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="alt">
-</xsl:template>
-
-<xsl:template match="mathphrase">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates/>
-  </span>
-</xsl:template>
-
-<!-- "Support" for MathML -->
-
-<xsl:template match="mml:*">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<!-- Support for TeX math in alt -->
-
-<xsl:template match="*" mode="collect.tex.math">
-  <xsl:call-template name="write.text.chunk">
-    <xsl:with-param name="filename" select="$tex.math.file"/>
-    <xsl:with-param name="method" select="'text'"/>
-    <xsl:with-param name="content">
-      <xsl:choose>
-        <xsl:when test="$tex.math.in.alt = 'plain'">
-          <xsl:call-template name="tex.math.plain.head"/>
-          <xsl:apply-templates select="." mode="collect.tex.math.plain"/>
-          <xsl:call-template name="tex.math.plain.tail"/>
-        </xsl:when>
-        <xsl:when test="$tex.math.in.alt = 'latex'">
-          <xsl:call-template name="tex.math.latex.head"/>
-          <xsl:apply-templates select="." mode="collect.tex.math.latex"/>
-          <xsl:call-template name="tex.math.latex.tail"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            Unsupported TeX math notation: 
-            <xsl:value-of select="$tex.math.in.alt"/>
-          </xsl:message>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:with-param>
-    <xsl:with-param name="encoding" select="$chunker.output.encoding"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- PlainTeX -->
-
-<xsl:template name="tex.math.plain.head">
-  <xsl:text>\nopagenumbers 
-</xsl:text>
-</xsl:template>
-
-<xsl:template name="tex.math.plain.tail">
-  <xsl:text>\bye 
-</xsl:text>
-</xsl:template>
-
-<xsl:template match="inlineequation" mode="collect.tex.math.plain">
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="graphic">
-        <xsl:call-template name="mediaobject.filename">
-          <xsl:with-param name="object" select="graphic"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="select.mediaobject.filename">
-          <xsl:with-param name="olist" select="inlinemediaobject/*"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:variable name="output.delims">
-    <xsl:call-template name="tex.math.output.delims"/>
-  </xsl:variable>
-  <xsl:variable name="tex" select="alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']"/>
-  <xsl:if test="$tex">
-    <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
-    <xsl:value-of select="$filename"/>
-    <xsl:text>} 
-</xsl:text>
-    <xsl:if test="$output.delims != 0">
-      <xsl:text>$</xsl:text>
-    </xsl:if>
-    <xsl:value-of select="$tex"/>
-    <xsl:if test="$output.delims != 0">
-      <xsl:text>$ 
-</xsl:text>
-    </xsl:if>
-    <xsl:text>\vfill\eject 
-</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="equation|informalequation" mode="collect.tex.math.plain">
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="graphic">
-        <xsl:call-template name="mediaobject.filename">
-          <xsl:with-param name="object" select="graphic"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="select.mediaobject.filename">
-          <xsl:with-param name="olist" select="mediaobject/*"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:variable name="output.delims">
-    <xsl:call-template name="tex.math.output.delims"/>
-  </xsl:variable>
-  <xsl:variable name="tex" select="alt[@role='tex'] | mediaobject/textobject[@role='tex']"/>
-  <xsl:if test="$tex">
-    <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
-    <xsl:value-of select="$filename"/>
-    <xsl:text>} 
-</xsl:text>
-    <xsl:if test="$output.delims != 0">
-      <xsl:text>$$</xsl:text>
-    </xsl:if>
-    <xsl:value-of select="$tex"/>
-    <xsl:if test="$output.delims != 0">
-      <xsl:text>$$ 
-</xsl:text>
-    </xsl:if>
-    <xsl:text>\vfill\eject 
-</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="text()" mode="collect.tex.math.plain"/>
-
-<!-- LaTeX -->
-
-<xsl:template name="tex.math.latex.head">
-  <xsl:text>\documentclass{article} 
-</xsl:text>
-  <xsl:text>\pagestyle{empty} 
-</xsl:text>
-  <xsl:text>\begin{document} 
-</xsl:text>
-</xsl:template>
-
-<xsl:template name="tex.math.latex.tail">
-  <xsl:text>\end{document} 
-</xsl:text>
-</xsl:template>
-
-<xsl:template match="inlineequation" mode="collect.tex.math.latex">
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="graphic">
-        <xsl:call-template name="mediaobject.filename">
-          <xsl:with-param name="object" select="graphic"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="select.mediaobject.filename">
-          <xsl:with-param name="olist" select="inlinemediaobject/*"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:variable name="output.delims">
-    <xsl:call-template name="tex.math.output.delims"/>
-  </xsl:variable>
-  <xsl:variable name="tex" select="alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']"/>
-  <xsl:if test="$tex">
-    <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
-    <xsl:value-of select="$filename"/>
-    <xsl:text>} 
-</xsl:text>
-    <xsl:if test="$output.delims != 0">  
-      <xsl:text>$</xsl:text>
-    </xsl:if>
-    <xsl:value-of select="$tex"/>
-    <xsl:if test="$output.delims != 0">  
-      <xsl:text>$ 
-</xsl:text>
-    </xsl:if>
-    <xsl:text>\newpage 
-</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="equation|informalequation" mode="collect.tex.math.latex">
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="graphic">
-        <xsl:call-template name="mediaobject.filename">
-          <xsl:with-param name="object" select="graphic"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="select.mediaobject.filename">
-          <xsl:with-param name="olist" select="mediaobject/*"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:variable name="output.delims">
-    <xsl:call-template name="tex.math.output.delims"/>
-  </xsl:variable>
-  <xsl:variable name="tex" select="alt[@role='tex'] | mediaobject/textobject[@role='tex']"/>
-  <xsl:if test="$tex">
-    <xsl:text>\special{dvi2bitmap outputfile </xsl:text>
-    <xsl:value-of select="$filename"/>
-    <xsl:text>} 
-</xsl:text>
-    <xsl:if test="$output.delims != 0">
-      <xsl:text>$$</xsl:text>
-    </xsl:if>
-    <xsl:value-of select="$tex"/>
-    <xsl:if test="$output.delims != 0">
-      <xsl:text>$$ 
-</xsl:text>
-    </xsl:if>
-    <xsl:text>\newpage 
-</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="text()" mode="collect.tex.math.latex"/>
-
-<!-- Extracting image filename from mediaobject and graphic elements -->
-
-<xsl:template name="select.mediaobject.filename">
-  <xsl:param name="olist" select="imageobject|imageobjectco                      |videoobject|audioobject|textobject"/>
-
-  <xsl:variable name="mediaobject.index">
-    <xsl:call-template name="select.mediaobject.index">
-      <xsl:with-param name="olist" select="$olist"/>
-      <xsl:with-param name="count" select="1"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="$mediaobject.index != ''">
-    <xsl:call-template name="mediaobject.filename">
-      <xsl:with-param name="object" select="$olist[position() = $mediaobject.index]"/>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template name="tex.math.output.delims">
-  <xsl:variable name="pi.delims">
-    <xsl:call-template name="pi.dbtex_delims">
-      <xsl:with-param name="node" select="descendant-or-self::*"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="result">
-    <xsl:choose>
-      <xsl:when test="$pi.delims = 'no'">0</xsl:when>
-      <xsl:when test="$pi.delims = '' and $tex.math.delims = 0">0</xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:value-of select="$result"/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/oldchunker.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/oldchunker.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,176 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://icl.com/saxon" xmlns:lxslt="http://xml.apache.org/xslt" xmlns:redirect="http://xml.apache.org/xalan/redirect" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns="http://www.w3.org/1999/xhtml" version="1.1" exclude-result-prefixes="doc" extension-element-prefixes="saxon redirect lxslt">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- This stylesheet works with Saxon and Xalan; for XT use xtchunker.xsl -->
-
-<!-- ==================================================================== -->
-
-<xsl:param name="default.encoding" select="'ISO-8859-1'" doc:type="string"/>
-
-<doc:param xmlns="" name="default.encoding">
-<refpurpose xmlns="http://www.w3.org/1999/xhtml">Encoding used in generated HTML pages</refpurpose>
-<refdescription xmlns="http://www.w3.org/1999/xhtml">
-<para>This encoding is used in files generated by chunking stylesheet. Currently
-only Saxon is able to change output encoding.
-</para>
-</refdescription>
-</doc:param>
-
-<!-- ==================================================================== -->
-
-<xsl:param name="saxon.character.representation" select="'entity;decimal'" doc:type="string"/>
-
-<doc:param xmlns="" name="saxon.character.representation">
-<refpurpose xmlns="http://www.w3.org/1999/xhtml">Saxon character representation used in generated HTML pages</refpurpose>
-<refdescription xmlns="http://www.w3.org/1999/xhtml">
-<para>This character representation is used in files generated by chunking stylesheet. If
-you want to suppress entity references for characters with direct representation 
-in default.encoding, set this parameter to value <literal>native</literal>. 
-</para>
-</refdescription>
-</doc:param>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="make-relative-filename">
-  <xsl:param name="base.dir" select="'./'"/>
-  <xsl:param name="base.name" select="''"/>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($vendor, 'SAXON')">
-      <!-- Saxon doesn't make the chunks relative -->
-      <xsl:value-of select="concat($base.dir,$base.name)"/>
-    </xsl:when>
-    <xsl:when test="contains($vendor, 'Apache')">
-      <!-- Xalan doesn't make the chunks relative -->
-      <xsl:value-of select="concat($base.dir,$base.name)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message terminate="yes">
-        <xsl:text>Chunking isn't supported with </xsl:text>
-        <xsl:value-of select="$vendor"/>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="write.chunk">
-  <xsl:param name="filename" select="''"/>
-  <xsl:param name="method" select="'html'"/>
-  <xsl:param name="encoding" select="$default.encoding"/>
-  <xsl:param name="indent" select="'no'"/>
-  <xsl:param name="content" select="''"/>
-
-  <xsl:message>
-    <xsl:text>Writing </xsl:text>
-    <xsl:value-of select="$filename"/>
-    <xsl:if test="name(.) != ''">
-      <xsl:text> for </xsl:text>
-      <xsl:value-of select="name(.)"/>
-      <xsl:if test="@id">
-        <xsl:text>(</xsl:text>
-        <xsl:value-of select="@id"/>
-        <xsl:text>)</xsl:text>
-      </xsl:if>
-    </xsl:if>
-  </xsl:message>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($vendor, 'SAXON 6.2')">
-      <!-- Saxon 6.2.x uses xsl:document -->
-      <xsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" saxon:character-representation="{$saxon.character.representation}">
-        <xsl:copy-of select="$content"/>
-      </xsl:document>
-    </xsl:when>
-    <xsl:when test="contains($vendor, 'SAXON')">
-      <!-- Saxon uses saxon:output -->
-      <saxon:output file="{$filename}" href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" saxon:character-representation="{$saxon.character.representation}">
-        <xsl:copy-of select="$content"/>
-      </saxon:output>
-    </xsl:when>
-    <xsl:when test="contains($vendor, 'Apache')">
-      <!-- Xalan uses redirect -->
-      <redirect:write file="{$filename}">
-        <xsl:copy-of select="$content"/>
-      </redirect:write>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- it doesn't matter since we won't be making chunks... -->
-      <xsl:message terminate="yes">
-        <xsl:text>Can't make chunks with </xsl:text>
-        <xsl:value-of select="$vendor"/>
-        <xsl:text>'s processor.</xsl:text>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="write.chunk.with.doctype">
-  <xsl:param name="filename" select="''"/>
-  <xsl:param name="method" select="'html'"/>
-  <xsl:param name="encoding" select="$default.encoding"/>
-  <xsl:param name="indent" select="'no'"/>
-  <xsl:param name="doctype-public" select="''"/>
-  <xsl:param name="doctype-system" select="''"/>
-  <xsl:param name="content" select="''"/>
-
-  <xsl:message>
-    <xsl:text>Writing </xsl:text>
-    <xsl:value-of select="$filename"/>
-    <xsl:if test="name(.) != ''">
-      <xsl:text> for </xsl:text>
-      <xsl:value-of select="name(.)"/>
-    </xsl:if>
-  </xsl:message>
-
-  <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($vendor, 'SAXON 6.2')">
-      <!-- Saxon 6.2.x uses xsl:document -->
-      <xsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" doctype-public="{$doctype-public}" doctype-system="{$doctype-system}" saxon:character-representation="{$saxon.character.representation}">
-        <xsl:copy-of select="$content"/>
-      </xsl:document>
-    </xsl:when>
-    <xsl:when test="contains($vendor, 'SAXON')">
-      <!-- Saxon uses saxon:output -->
-      <saxon:output file="{$filename}" href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" doctype-public="{$doctype-public}" doctype-system="{$doctype-system}" saxon:character-representation="{$saxon.character.representation}">
-        <xsl:copy-of select="$content"/>
-      </saxon:output>
-    </xsl:when>
-    <xsl:when test="contains($vendor, 'Apache')">
-      <!-- Xalan uses redirect -->
-      <redirect:write file="{$filename}">
-        <xsl:copy-of select="$content"/>
-      </redirect:write>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- it doesn't matter since we won't be making chunks... -->
-      <xsl:message terminate="yes">
-        <xsl:text>Can't make chunks with </xsl:text>
-        <xsl:value-of select="$vendor"/>
-        <xsl:text>'s processor.</xsl:text>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/onechunk.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/onechunk.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,36 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="doc">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:import href="chunk.xsl"/>
-
-<!-- Ok, using the onechunk parameter makes this all work again. -->
-<!-- It does have the disadvantage that it only works for documents that have -->
-<!-- a root element that is considered a chunk by the chunk.xsl stylesheet. -->
-<!-- Ideally, onechunk would let anything be a chunk. But not today. -->
-
-<xsl:param name="onechunk" select="1"/>
-<xsl:param name="suppress.navigation">1</xsl:param>
-
-<xsl:template name="href.target.uri">
-  <xsl:param name="object" select="."/>
-  <xsl:text>#</xsl:text>
-  <xsl:call-template name="object.id">
-    <xsl:with-param name="object" select="$object"/>
-  </xsl:call-template>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/param.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/param.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,414 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<!-- This file is generated from param.xweb -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:param name="admon.graphics.extension">.png</xsl:param>
-<xsl:param name="admon.graphics" select="0"/>
-<xsl:param name="admon.graphics.path">images/</xsl:param>
-<xsl:param name="admon.style">
-  <xsl:text>margin-left: 0.5in; margin-right: 0.5in;</xsl:text>
-</xsl:param>
-<xsl:param name="admon.textlabel" select="1"/>
-<xsl:param name="annotate.toc" select="1"/>
-<xsl:param name="annotation.css">
-/* ======================================================================
-   Annotations
-*/
-
-div.annotation-list  { visibility: hidden;
-                     }
-
-div.annotation-nocss { position: absolute;
-                       visibility: hidden;
-                     }
-
-div.annotation-popup { position: absolute;
-                       z-index: 4;
-                       visibility: hidden;
-                       padding: 0px;
-                       margin: 2px;
-                       border-style: solid;
-                       border-width: 1px;
-                       width: 200px;
-		       background-color: white;
-                     }
-
-div.annotation-title { padding: 1px;
-                       font-weight: bold;
-                       border-bottom-style: solid;
-                       border-bottom-width: 1px;
-		       color: white;
-		       background-color: black;
-                     }
-
-div.annotation-body  { padding: 2px;
-                     }
-
-div.annotation-body p { margin-top: 0px;
-                        padding-top: 0px;
-                      }
-
-div.annotation-close { position: absolute;
-                       top: 2px;
-                       right: 2px;
-                     }
-</xsl:param>
-
-<xsl:param name="annotation.js">
-<xsl:text>http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js</xsl:text></xsl:param>
-
-<xsl:param name="annotation.graphic.open">http://docbook.sourceforge.net/release/images/annot-open.png</xsl:param>
-<xsl:param name="annotation.graphic.close">
-http://docbook.sourceforge.net/release/images/annot-close.png</xsl:param>
-<xsl:param name="annotation.support" select="0"/>
-<xsl:param name="appendix.autolabel">A</xsl:param>
-<xsl:param name="author.othername.in.middle" select="1"/>
-<xsl:param name="autotoc.label.separator">. </xsl:param>
-<xsl:param name="autotoc.label.in.hyperlink" select="1"/>
-<xsl:param name="base.dir"/>
-<xsl:param name="biblioentry.item.separator">. </xsl:param>
-<xsl:param name="bibliography.collection">http://docbook.sourceforge.net/release/bibliography/bibliography.xml</xsl:param>
-
-<xsl:param name="bibliography.numbered" select="0"/>
-<xsl:param name="bibliography.style">normal</xsl:param>
-<xsl:param name="blurb.on.titlepage.enabled" select="0"/>
-<xsl:param name="bridgehead.in.toc" select="0"/>
-<xsl:param name="callout.defaultcolumn">60</xsl:param>
-<xsl:param name="callout.graphics.extension">.png</xsl:param>
-
-<xsl:param name="callout.graphics" select="1"/>
-<xsl:param name="callout.graphics.number.limit">15</xsl:param>
-
-<xsl:param name="callout.graphics.path">images/callouts/</xsl:param>
-<xsl:param name="callout.list.table" select="1"/>
-<xsl:param name="callout.unicode" select="0"/>
-<xsl:param name="callout.unicode.number.limit">10</xsl:param>
-<xsl:param name="callout.unicode.start.character">10102</xsl:param>
-<xsl:param name="callouts.extension" select="1"/>
-<xsl:param name="chapter.autolabel" select="1"/>
-<xsl:param name="chunk.append"/>
-<xsl:param name="chunk.first.sections" select="0"/>
-<xsl:param name="chunk.quietly" select="0"/>
-<xsl:param name="chunk.section.depth" select="1"/>
-<xsl:param name="chunk.toc"/>
-<xsl:param name="chunk.tocs.and.lots" select="0"/>
-<xsl:param name="chunk.tocs.and.lots.has.title" select="1"/>
-<xsl:param name="chunk.separate.lots" select="0"/>
-<xsl:param name="citerefentry.link" select="0"/>
-<xsl:param name="collect.xref.targets">no</xsl:param>
-<xsl:param name="component.label.includes.part.label" select="0"/>
-<xsl:param name="contrib.inline.enabled">1</xsl:param>
-<xsl:param name="css.decoration" select="1"/>
-<xsl:param name="current.docid"/>
-<xsl:param name="default.float.class">
-  <xsl:choose>
-    <xsl:when test="contains($stylesheet.result.type,'html')">left</xsl:when>
-    <xsl:otherwise>before</xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-<xsl:param name="default.image.width"/>
-<xsl:param name="default.table.width"/>
-<xsl:param name="default.table.frame">all</xsl:param>
-<xsl:param name="draft.mode">maybe</xsl:param>
-<xsl:param name="draft.watermark.image">http://docbook.sourceforge.net/release/images/draft.png</xsl:param>
-<xsl:param name="ebnf.table.bgcolor">#F5DCB3</xsl:param>
-<xsl:param name="ebnf.table.border" select="1"/>
-<xsl:param name="ebnf.assignment">
-<code>::=</code>
-</xsl:param>
-
-<xsl:param name="ebnf.statement.terminator"/>
-
-<xsl:param name="eclipse.autolabel" select="0"/>
-<xsl:param name="eclipse.plugin.name">DocBook Online Help Sample</xsl:param>
-<xsl:param name="eclipse.plugin.id">com.example.help</xsl:param>
-<xsl:param name="eclipse.plugin.provider">Example provider</xsl:param>
-<xsl:param name="editedby.enabled">1</xsl:param>
-<xsl:param name="email.delimiters.enabled" select="1"/>
-<xsl:param name="emphasis.propagates.style" select="1"/>
-<xsl:param name="entry.propagates.style" select="1"/>
-<xsl:param name="firstterm.only.link" select="0"/>
-<xsl:param name="footer.rule" select="1"/>
-<xsl:param name="footnote.number.format">1</xsl:param>
-<xsl:param name="footnote.number.symbols"/>
-<xsl:param name="formal.procedures" select="1"/>
-<xsl:param name="formal.title.placement">
-figure before
-example before
-equation before
-table before
-procedure before
-task before
-</xsl:param>
-<xsl:param name="funcsynopsis.decoration" select="1"/>
-<xsl:param name="funcsynopsis.style">kr</xsl:param>
-<xsl:param name="funcsynopsis.tabular.threshold">40</xsl:param>
-<xsl:param name="function.parens" select="0"/>
-<xsl:param name="generate.id.attributes" select="0"/>
-<xsl:param name="generate.index" select="1"/>
-<xsl:param name="generate.legalnotice.link" select="0"/>
-<xsl:param name="generate.revhistory.link" select="0"/>
-<xsl:param name="generate.manifest" select="0"/>
-<xsl:param name="generate.meta.abstract" select="1"/>
-<xsl:param name="generate.section.toc.level" select="0"/>
-<xsl:param name="generate.toc">
-appendix  toc,title
-article/appendix  nop
-article   toc,title
-book      toc,title,figure,table,example,equation
-chapter   toc,title
-part      toc,title
-preface   toc,title
-qandadiv  toc
-qandaset  toc
-reference toc,title
-sect1     toc
-sect2     toc
-sect3     toc
-sect4     toc
-sect5     toc
-section   toc
-set       toc,title
-</xsl:param>
-
-<xsl:param name="glossary.collection"/>
-<xsl:param name="glossary.sort" select="0"/>
-<xsl:param name="glossentry.show.acronym">no</xsl:param>
-<xsl:param name="glossterm.auto.link" select="0"/>
-<xsl:param name="graphic.default.extension"/>
-<xsl:param name="graphicsize.extension" select="1"/>
-<xsl:param name="graphicsize.use.img.src.path" select="0"/>
-<xsl:param name="header.rule" select="1"/>
-<xsl:param name="highlight.default.language"/>
-<xsl:param name="highlight.source" select="0"/>
-<xsl:param name="html.append"/>
-<xsl:param name="html.base"/>
-<xsl:param name="html.cellpadding"/>
-<xsl:param name="html.cellspacing"/>
-<xsl:param name="html.cleanup" select="1"/>
-<xsl:param name="html.ext">.html</xsl:param>
-<xsl:param name="html.extra.head.links" select="0"/>
-<xsl:param name="html.head.legalnotice.link.types">copyright</xsl:param>
-<xsl:param name="html.head.legalnotice.link.multiple" select="1"/>
-<xsl:param name="html.longdesc" select="1"/>
-<xsl:param name="html.longdesc.link" select="$html.longdesc"/>
-<xsl:param name="html.stylesheet"/>
-<xsl:param name="html.stylesheet.type">text/css</xsl:param>
-<xsl:param name="htmlhelp.alias.file">alias.h</xsl:param>
-<xsl:param name="htmlhelp.autolabel" select="0"/>
-<xsl:param name="htmlhelp.button.back" select="1"/>
-<xsl:param name="htmlhelp.button.forward" select="0"/>
-<xsl:param name="htmlhelp.button.hideshow" select="1"/>
-<xsl:param name="htmlhelp.button.home" select="0"/>
-<xsl:param name="htmlhelp.button.home.url"/>
-<xsl:param name="htmlhelp.button.jump1" select="0"/>
-<xsl:param name="htmlhelp.button.jump1.title">User1</xsl:param>
-<xsl:param name="htmlhelp.button.jump1.url"/>
-<xsl:param name="htmlhelp.button.jump2" select="0"/>
-<xsl:param name="htmlhelp.button.jump2.title">User2</xsl:param>
-<xsl:param name="htmlhelp.button.jump2.url"/>
-<xsl:param name="htmlhelp.button.locate" select="0"/>
-<xsl:param name="htmlhelp.button.next" select="1"/>
-<xsl:param name="htmlhelp.button.options" select="1"/>
-<xsl:param name="htmlhelp.button.prev" select="1"/>
-<xsl:param name="htmlhelp.button.print" select="1"/>
-<xsl:param name="htmlhelp.button.refresh" select="0"/>
-<xsl:param name="htmlhelp.button.stop" select="0"/>
-<xsl:param name="htmlhelp.button.zoom" select="0"/>
-<xsl:param name="htmlhelp.chm">htmlhelp.chm</xsl:param>
-<xsl:param name="htmlhelp.default.topic"/>
-<xsl:param name="htmlhelp.display.progress" select="1"/>
-<xsl:param name="htmlhelp.encoding">iso-8859-1</xsl:param>
-<xsl:param name="htmlhelp.enhanced.decompilation" select="0"/>
-<xsl:param name="htmlhelp.enumerate.images" select="0"/>
-<xsl:param name="htmlhelp.force.map.and.alias" select="0"/>
-<xsl:param name="htmlhelp.hhc.binary" select="1"/>
-<xsl:param name="htmlhelp.hhc.folders.instead.books" select="1"/>
-<xsl:param name="htmlhelp.hhc">toc.hhc</xsl:param>
-<xsl:param name="htmlhelp.hhc.section.depth">5</xsl:param>
-<xsl:param name="htmlhelp.hhc.show.root" select="1"/>
-<xsl:param name="htmlhelp.hhc.width"/>
-<xsl:param name="htmlhelp.hhk">index.hhk</xsl:param>
-<xsl:param name="htmlhelp.hhp">htmlhelp.hhp</xsl:param>
-<xsl:param name="htmlhelp.hhp.tail"/>
-<xsl:param name="htmlhelp.hhp.window">Main</xsl:param>
-<xsl:param name="htmlhelp.hhp.windows"/>
-<xsl:param name="htmlhelp.map.file">context.h</xsl:param>
-<xsl:param name="htmlhelp.only" select="0"/>
-<xsl:param name="htmlhelp.remember.window.position" select="0"/>
-<xsl:param name="htmlhelp.show.advanced.search" select="0"/>
-<xsl:param name="htmlhelp.show.favorities" select="0"/>
-<xsl:param name="htmlhelp.show.menu" select="0"/>
-<xsl:param name="htmlhelp.show.toolbar.text" select="1"/>
-<xsl:param name="htmlhelp.title"/>
-<xsl:param name="htmlhelp.use.hhk" select="0"/>
-<xsl:param name="htmlhelp.window.geometry"/>
-<xsl:param name="img.src.path"/>
-<xsl:param name="id.warnings" select="0"/>
-<xsl:param name="index.method">basic</xsl:param>
-<xsl:param name="index.on.role" select="0"/>
-<xsl:param name="index.on.type" select="0"/>
-<xsl:param name="index.number.separator"/>
-<xsl:param name="index.term.separator"/>
-<xsl:param name="index.range.separator"/>
-<xsl:param name="index.prefer.titleabbrev" select="0"/>
-<xsl:param name="ignore.image.scaling" select="0"/>
-<xsl:param name="inherit.keywords" select="1"/>
-<xsl:param name="insert.xref.page.number">no</xsl:param>
-<xsl:param name="javahelp.encoding">iso-8859-1</xsl:param>
-<xsl:param name="keep.relative.image.uris" select="1"/>
-
-<xsl:param name="l10n.gentext.default.language">en</xsl:param>
-<xsl:param name="l10n.gentext.language"/>
-<xsl:param name="l10n.gentext.use.xref.language" select="0"/>
-<xsl:param name="l10n.lang.value.rfc.compliant" select="1"/>
-<xsl:param name="label.from.part" select="0"/>
-<xsl:param name="linenumbering.everyNth">5</xsl:param>
-<xsl:param name="linenumbering.extension" select="1"/>
-<xsl:param name="linenumbering.separator"><xsl:text> </xsl:text></xsl:param>
-<xsl:param name="linenumbering.width">3</xsl:param>
-<xsl:param name="link.mailto.url"/>
-<xsl:param name="make.graphic.viewport" select="1"/>
-<xsl:param name="make.single.year.ranges" select="0"/>
-<xsl:param name="make.valid.html" select="1"/>
-<xsl:param name="make.year.ranges" select="0"/>
-    <xsl:param name="manifest">HTML.manifest</xsl:param>
-    
-<xsl:param name="manifest.in.base.dir" select="0"/>
-<xsl:param name="manual.toc"/>
-<xsl:param name="menuchoice.menu.separator"> &#8594; </xsl:param>
-<xsl:param name="menuchoice.separator">+</xsl:param>
-<xsl:param name="navig.graphics.extension">.gif</xsl:param>
-<xsl:param name="navig.graphics" select="0"/>
-<xsl:param name="navig.graphics.path">images/</xsl:param>
-<xsl:param name="navig.showtitles">1</xsl:param>
-<xsl:param name="nominal.image.depth" select="4 * $pixels.per.inch"/>
-<xsl:param name="nominal.image.width" select="6 * $pixels.per.inch"/>
-<xsl:param name="nominal.table.width">6in</xsl:param>
-<xsl:param name="olink.base.uri"/>
-<xsl:param name="olink.debug" select="0"/>
-<xsl:attribute-set name="olink.properties">
-  <xsl:attribute name="show-destination">replace</xsl:attribute>
-</xsl:attribute-set>
-<xsl:param name="insert.olink.page.number">no</xsl:param>
-<xsl:param name="insert.olink.pdf.frag" select="0"/>
-<xsl:param name="prefer.internal.olink" select="0"/>
-<xsl:param name="olink.lang.fallback.sequence"/>
-<xsl:param name="olink.doctitle">no</xsl:param> 
-<xsl:param name="olink.fragid">fragid=</xsl:param>
-<xsl:param name="olink.outline.ext">.olink</xsl:param>
-<xsl:param name="olink.pubid">pubid</xsl:param>
-  <xsl:param name="olink.resolver">/cgi-bin/olink</xsl:param>
-<xsl:param name="olink.sysid">sysid</xsl:param>
-<xsl:param name="abstract.notitle.enabled" select="0"/>
-<xsl:param name="othercredit.like.author.enabled">0</xsl:param>
-<xsl:param name="para.propagates.style" select="1"/>
-<xsl:param name="part.autolabel">I</xsl:param>
-<xsl:param name="phrase.propagates.style" select="1"/>
-<xsl:param name="pixels.per.inch">90</xsl:param>
-<xsl:param name="points.per.em">10</xsl:param>
-<xsl:param name="preface.autolabel" select="0"/>
-<xsl:param name="preferred.mediaobject.role"/>
-<xsl:param name="process.empty.source.toc" select="0"/>
-<xsl:param name="process.source.toc" select="0"/>
-<xsl:param name="profile.arch"/>
-<xsl:param name="profile.audience"/>
-<xsl:param name="profile.attribute"/>
-<xsl:param name="profile.condition"/>
-<xsl:param name="profile.conformance"/>
-<xsl:param name="profile.lang"/>
-<xsl:param name="profile.os"/>
-<xsl:param name="profile.revision"/>
-<xsl:param name="profile.revisionflag"/>
-<xsl:param name="profile.role"/>
-<xsl:param name="profile.security"/>
-<xsl:param name="profile.separator">;</xsl:param>
-<xsl:param name="profile.status"/>
-<xsl:param name="profile.userlevel"/>
-<xsl:param name="profile.value"/>
-<xsl:param name="profile.vendor"/>
-<xsl:param name="profile.wordsize"/>
-<xsl:param name="punct.honorific">.</xsl:param>
-<xsl:param name="qanda.defaultlabel">number</xsl:param>
-<xsl:param name="qanda.inherit.numeration" select="1"/>
-<xsl:param name="qanda.in.toc" select="0"/>
-<xsl:param name="qanda.nested.in.toc" select="0"/>
-<xsl:param name="qandadiv.autolabel" select="1"/>
-<xsl:param name="refentry.generate.name" select="1"/>
-<xsl:param name="refentry.generate.title" select="0"/>
-<xsl:param name="refentry.separator" select="1"/>
-<xsl:param name="refentry.xref.manvolnum" select="1"/>
-  <xsl:param name="reference.autolabel">I</xsl:param>
-<xsl:param name="refclass.suppress" select="0"/>
-<xsl:param name="root.filename">index</xsl:param>
-<xsl:param name="rootid"/>
-<xsl:param name="runinhead.default.title.end.punct">.</xsl:param>
-<xsl:param name="runinhead.title.end.punct">.!?:</xsl:param>
-<xsl:param name="section.autolabel" select="0"/>
-<xsl:param name="section.autolabel.max.depth">8</xsl:param>
-<xsl:param name="section.label.includes.component.label" select="0"/>
-<xsl:param name="segmentedlist.as.table" select="0"/>
-<xsl:param name="shade.verbatim" select="0"/>
-<xsl:attribute-set name="shade.verbatim.style">
-  <xsl:attribute name="border">0</xsl:attribute>
-  <xsl:attribute name="bgcolor">#E0E0E0</xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:param name="show.comments" select="1"/>
-<xsl:param name="show.revisionflag" select="0"/>
-<xsl:param name="simplesect.in.toc" select="0"/>
-<xsl:param name="spacing.paras" select="0"/>
-<xsl:param name="suppress.footer.navigation">0</xsl:param>
-<xsl:param name="suppress.header.navigation" select="0"/>
-<xsl:param name="suppress.navigation" select="0"/>
-<xsl:param name="table.borders.with.css" select="0"/>
-<xsl:param name="table.cell.border.color"/>
-
-<xsl:param name="table.cell.border.style">solid</xsl:param>
-<xsl:param name="table.cell.border.thickness">0.5pt</xsl:param>
-<xsl:param name="table.footnote.number.format">a</xsl:param>
-<xsl:param name="table.footnote.number.symbols"/>
-<xsl:param name="table.frame.border.color"/>
-
-<xsl:param name="table.frame.border.style">solid</xsl:param>
-<xsl:param name="table.frame.border.thickness">0.5pt</xsl:param>
-<xsl:param name="tablecolumns.extension" select="1"/>
- <xsl:param name="target.database.document">olinkdb.xml</xsl:param>
-<xsl:param name="targets.filename">target.db</xsl:param>
-<xsl:param name="textdata.default.encoding"/>
-<xsl:param name="tex.math.delims" select="1"/>
-<xsl:param name="tex.math.file">tex-math-equations.tex</xsl:param>
-<xsl:param name="tex.math.in.alt"/>
-  <xsl:param name="textinsert.extension" select="1"/>
-<xsl:param name="toc.list.type">dl</xsl:param>
-<xsl:param name="toc.section.depth">2</xsl:param>
-<xsl:param name="toc.max.depth">8</xsl:param>
-<xsl:param name="ulink.target">_top</xsl:param>
-<xsl:param name="use.embed.for.svg" select="0"/>
-<xsl:param name="use.extensions" select="0"/>
-<xsl:param name="use.id.as.filename" select="0"/>
-<xsl:param name="use.local.olink.style" select="0"/> 
-<xsl:param name="use.role.as.xrefstyle" select="1"/>
-<xsl:param name="use.role.for.mediaobject" select="1"/>
-<xsl:param name="use.svg" select="1"/>
-<xsl:param name="variablelist.as.table" select="0"/>
-<xsl:param name="variablelist.term.separator">, </xsl:param>
-<xsl:param name="variablelist.term.break.after">0</xsl:param>
-<xsl:param name="xref.with.number.and.title" select="1"/>
-<xsl:param name="xref.label-title.separator">: </xsl:param>
-<xsl:param name="xref.label-page.separator"><xsl:text> </xsl:text></xsl:param>
-<xsl:param name="xref.title-page.separator"><xsl:text> </xsl:text></xsl:param>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/pi.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/pi.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1182 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="doc" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<doc:reference xmlns=""><info xmlns="http://www.w3.org/1999/xhtml"><title>HTML Processing Instruction Reference</title>
-    <releaseinfo role="meta">
-      $Id$
-    </releaseinfo>
-  </info>
-  <partintro xmlns="http://www.w3.org/1999/xhtml" xml:id="partintro">
-    <title>Introduction</title>
-    <para>This is generated reference documentation for all
-      user-specifiable processing instructions (PIs) in the DocBook
-      XSL stylesheets for HTML output.
-      <note>
-        <para>You add these PIs at particular points in a document to
-          cause specific &#8220;exceptions&#8221; to formatting/output behavior. To
-          make global changes in formatting/output behavior across an
-          entire document, it&#8217;s better to do it by setting an
-          appropriate stylesheet parameter (if there is one).</para>
-      </note>
-    </para>
-  </partintro>
-</doc:reference>
-
-<!-- ==================================================================== -->
-
-<doc:pi xmlns="" name="dbhtml_background-color">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Sets background color for an image</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml background-color</tag> PI before or
-      after an image (<tag>graphic</tag>, <tag>inlinegraphic</tag>,
-      <tag>imagedata</tag>, or <tag>videodata</tag> element) as a
-      sibling to the element, to set a background color for the
-      image.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml background-color="<replaceable>color</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>background-color="<replaceable>color</replaceable>"</term>
-        <listitem>
-          <para>An HTML color value</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="BGcolor.html">Background color</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_background-color">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'background-color'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_bgcolor">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Sets background color on a table row or table cell</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml bgcolor</tag> PI as child of a table row
-      or cell to set a background color for that table row or cell.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml bgcolor="<replaceable>color</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>bgcolor="<replaceable>color</replaceable>"</term>
-        <listitem>
-          <para>An HTML color value</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="BGtableColor.html#CellBGColor">Cell background color</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_bgcolor">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'bgcolor'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_cellpadding">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies cellpadding in table or qandaset output</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml cellpadding</tag> PI as a child of a
-      <tag>table</tag> or <tag>qandaset</tag> to specify the value
-      for the HTML <literal>cellpadding</literal> attribute in the
-      output HTML table.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml cellpadding="<replaceable>number</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>cellpadding="<replaceable>number</replaceable>"</term>
-        <listitem>
-          <para>Specifies the cellpadding</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>html.cellpadding</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="CellSpacing.html">Cell spacing and cell padding</link>,
-      <link role="tcg" xlink:href="QandAformat.html">Q and A formatting</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_cellpadding">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'cellpadding'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_cellspacing">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies cellspacing in table or qandaset output</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml cellspacing</tag> PI as a child of a
-      <tag>table</tag> or <tag>qandaset</tag> to specify the value
-      for the HTML <literal>cellspacing</literal> attribute in the
-      output HTML table.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml cellspacing="<replaceable>number</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>cellspacing="<replaceable>number</replaceable>"</term>
-        <listitem>
-          <para>Specifies the cellspacing</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>html.cellspacing</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="CellSpacing.html">Cell spacing and cell padding</link>,
-      <link role="tcg" xlink:href="QandAformat.html">Q and A formatting</link></para>
-    </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_cellspacing">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'cellspacing'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_class">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Set value of the class attribute for a table row</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml class</tag> PI as a child of a
-      <tag>row</tag> to specify a <literal>class</literal>
-      attribute and value in the HTML output for that row.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml class="<replaceable>name</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>class="<replaceable>name</replaceable>"</term>
-        <listitem>
-          <para>Specifies the class name</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="CSSTableCells.html">Table styles in HTML output</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_class">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'class'"/>
-  </xsl:call-template>
-</xsl:template> 
-
-<doc:pi xmlns="" name="dbhtml_dir">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies a directory name in which to write files</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>When chunking output, use the <tag class="xmlpi">dbhtml dir</tag> PI
-      as a child of a chunk source to cause the output of that
-      chunk to be written to the specified directory; also, use it
-      as a child of a <tag>mediaobject</tag> to specify a
-      directory into which any long-description files for that
-      <tag>mediaobject</tag> will be written.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml dir="<replaceable>path</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>dir="<replaceable>path</replaceable>"</term>
-        <listitem>
-          <para>Specifies the pathname for the directory</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>base.dir</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="Chunking.html#dbhtmlDirPI">dbhtml dir processing instruction</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_dir">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'dir'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_filename">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies a filename for a chunk</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>When chunking output, use the <tag class="xmlpi">dbhtml filename</tag>
-      PI as a child of a chunk source to specify a filename for
-      the output file for that chunk.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml filename="<replaceable>filename</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>filename="<replaceable>path</replaceable>"</term>
-        <listitem>
-          <para>Specifies the filename for the file</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>use.id.as.filename</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="Chunking.html#DbhtmlFilenames">dbhtml filenames</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_filename">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'filename'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_funcsynopsis-style">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies presentation style for a funcsynopsis</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml funcsynopsis-style</tag> PI as a child of
-      a <tag>funcprototype</tag> or anywhere within a funcprototype
-      control the presentation style for the <tag>funcsynopsis</tag>
-      in output.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml funcsynopsis-style="kr"|"ansi"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>funcsynopsis-style="kr"</term>
-        <listitem>
-          <para>Displays the <tag>funcprototype</tag> in K&amp;R style</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>funcsynopsis-style="ansi"</term>
-        <listitem>
-          <para>Displays the <tag>funcprototype</tag> in ANSI style</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>funcsynopsis.style</parameter></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_funcsynopsis-style">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'funcsynopsis-style'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_img.src.path">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies a path to the location of an image file</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml img.src.path</tag> PI before or
-      after an image (<tag>graphic</tag>,
-      <tag>inlinegraphic</tag>, <tag>imagedata</tag>, or
-      <tag>videodata</tag> element) as a sibling to the element,
-      to specify a path to the location of the image; in HTML
-      output, the value specified for the
-      <code>img.src.path</code> attribute is prepended to the
-      filename.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml img.src.path="<replaceable>path</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>img.src.path="<replaceable>path</replaceable>"</term>
-        <listitem>
-          <para>Specifies the pathname to prepend to the name of the image file</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>img.src.path</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="GraphicsLocations.html#UsingFileref">Using fileref</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_img.src.path">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'img.src.path'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_label-width">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies the label width for a qandaset</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml label-width</tag> PI as a child of a
-      <tag>qandaset</tag> to specify the width of labels.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml label-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>label-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the label width (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="QandAformat.html">Q and A formatting</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_label-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'label-width'"/>
-  </xsl:call-template>
-</xsl:template> 
-
-<doc:pi xmlns="" name="dbhtml_linenumbering.everyNth">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies interval for lines numbers in verbatims</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml linenumbering.everyNth</tag> PI as a child
-      of a &#8220;verbatim&#8221; element &#8211; <tag>programlisting</tag>,
-      <tag>screen</tag>, <tag>synopsis</tag> &#8212; to specify
-      the interval at which lines are numbered.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml linenumbering.everyNth="<replaceable>N</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>linenumbering.everyNth="<replaceable>N</replaceable>"</term>
-        <listitem>
-          <para>Specifies numbering interval; a number is output
-            before every <replaceable>N</replaceable>th line</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>linenumbering.everyNth</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="AnnotateListing.html#LineNumbering">Line numbering</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_linenumbering.everyNth">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'linenumbering.everyNth'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_linenumbering.separator">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies separator text for line numbers in verbatims</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml linenumbering.separator</tag> PI as a child
-      of a &#8220;verbatim&#8221; element &#8211; <tag>programlisting</tag>,
-      <tag>screen</tag>, <tag>synopsis</tag> &#8212; to specify
-      the separator text output between the line numbers and content.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml linenumbering.separator="<replaceable>text</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>linenumbering.separator="<replaceable>text</replaceable>"</term>
-        <listitem>
-          <para>Specifies the text (zero or more characters)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>linenumbering.separator</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="AnnotateListing.html#LineNumbering">Line numbering</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_linenumbering.separator">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'linenumbering.separator'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_linenumbering.width">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies width for line numbers in verbatims</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml linenumbering.width</tag> PI as a child
-      of a &#8220;verbatim&#8221; element &#8211; <tag>programlisting</tag>,
-      <tag>screen</tag>, <tag>synopsis</tag> &#8212; to specify
-      the width set aside for line numbers.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml linenumbering.width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>linenumbering.width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the width (inluding units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>linenumbering.width</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="AnnotateListing.html#LineNumbering">Line numbering</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_linenumbering.width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'linenumbering.width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_list-presentation">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies presentation style for a variablelist or
-    segmentedlist</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml list-presentation</tag> PI as a child of
-      a <tag>variablelist</tag> or <tag>segmentedlist</tag> to
-      control the presentation style for the list (to cause it, for
-      example, to be displayed as a table).</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml list-presentation="list"|"table"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>list-presentation="list"</term>
-        <listitem>
-          <para>Displays the list as a list</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>list-presentation="table"</term>
-        <listitem>
-          <para>Displays the list as a table</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <itemizedlist>
-      <listitem>
-        <para><parameter>variablelist.as.table</parameter></para>
-      </listitem>
-      <listitem>
-        <para><parameter>segmentedlist.as.table</parameter></para>
-      </listitem>
-    </itemizedlist>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="Variablelists.html#VarListFormatting">Variable list formatting in HTML</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_list-presentation">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'list-presentation'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_list-width">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies the width of a variablelist or simplelist</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml list-width</tag> PI as a child of a
-      <tag>variablelist</tag> or a <tag>simplelist</tag> presented
-      as a table, to specify the output width.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml list-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>list-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the output width (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="Variablelists.html#VarListFormatting">Variable list formatting in HTML</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_list-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'list-width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_row-height">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies the height for a table row</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml row-height</tag> PI as a child of a
-      <tag>row</tag> to specify the height of the row.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml row-height="<replaceable>height</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>row-height="<replaceable>height</replaceable>"</term>
-        <listitem>
-          <para>Specifies the label height (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="RowHeight.html">Row height</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_row-height">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'row-height'"/>
-  </xsl:call-template>
-</xsl:template> 
-
-<doc:pi xmlns="" name="dbhtml_start">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">(obsolete) Sets the starting number on an ordered list</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para><emphasis>This PI is obsolete</emphasis>. The intent of
-      this PI was to provide a means for setting a specific starting
-      number for an ordered list. Instead of this PI, set a value
-      for the <literal>override</literal> attribute on the first
-      <tag>listitem</tag> in the list; that will have the same
-      effect as what this PI was intended for.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml start="<replaceable>character</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>start="<replaceable>character</replaceable>"</term>
-        <listitem>
-          <para>Specifies the character to use as the starting
-            number; use 0-9, a-z, A-Z, or lowercase or uppercase
-            Roman numerals</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="Orderedlists.html#ListStartNum">List starting number</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_start">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="pi-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'start'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_table-summary">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies summary for table, variablelist, segmentedlist, or qandaset output</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml table-summary</tag> PI as a child of
-      a <tag>table</tag>, <tag>variablelist</tag>,
-      <tag>segmentedlist</tag>, or <tag>qandaset</tag> to specify
-      the text for the HTML <literal>summary</literal> attribute
-      in the output HTML table.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml table-summary="<replaceable>text</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>table-summary="<replaceable>text</replaceable>"</term>
-        <listitem>
-          <para>Specifies the summary text (zero or more characters)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="Variablelists.html#VarListFormatting">Variable list formatting in HTML</link>,
-      <link role="tcg" xlink:href="TableSummary.html">Table summary text</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_table-summary">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'table-summary'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_table-width">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies the width for a table</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml table-width</tag> PI as a child of a
-      <tag>table</tag> to specify the width of the table in
-      output.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml table-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>table-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the table width (including units or as a percentage)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>default.table.width</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="Tables.html#TableWidth">Table width</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_table-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'table-width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_term-presentation">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Sets character formatting for terms in a variablelist</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml term-presentation</tag> PI as a child
-      of a <tag>variablelist</tag> to set character formatting for
-      the <tag>term</tag> output of the list.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml term-presentation="bold"|"italic"|"bold-italic"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>term-presentation="<replaceable>bold</replaceable>"</term>
-        <listitem>
-          <para>Specifies that terms are displayed in bold</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>term-presentation="<replaceable>italic</replaceable>"</term>
-        <listitem>
-          <para>Specifies that terms are displayed in italic</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>term-presentation="<replaceable>bold-italic</replaceable>"</term>
-        <listitem>
-          <para>Specifies that terms are displayed in bold-italic</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="Variablelists.html#VarListFormatting">Variable list formatting in HTML</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_term-presentation">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'term-presentation'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_term-separator">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies separator text among terms in a varlistentry</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml term-separator</tag> PI as a child
-      of a <tag>variablelist</tag> to specify the separator text
-      among <tag>term</tag> instances.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml term-separator="<replaceable>text</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>term-separator="<replaceable>text</replaceable>"</term>
-        <listitem>
-          <para>Specifies the text (zero or more characters)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>variablelist.term.separator</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="Variablelists.html#VarListFormatting">Variable list formatting in HTML</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_term-separator">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'term-separator'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_term-width">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies the term width for a variablelist</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml term-width</tag> PI as a child of a
-      <tag>variablelist</tag> to specify the width for
-      <tag>term</tag> output.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml term-width="<replaceable>width</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>term-width="<replaceable>width</replaceable>"</term>
-        <listitem>
-          <para>Specifies the term width (including units)</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="Variablelists.html#VarListFormatting">Variable list formatting in HTML</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_term-width">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'term-width'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml_toc">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Specifies whether a TOC should be generated for a qandaset</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml toc</tag> PI as a child of a
-      <tag>qandaset</tag> to specify whether a table of contents
-      (TOC) is generated for the <tag>qandaset</tag>.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml toc="0"|"1"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>toc="0"</term>
-        <listitem>
-          <para>If zero, no TOC is generated</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>toc="1"</term>
-        <listitem>
-          <para>If <code>1</code> (or any non-zero value),
-            a TOC is generated</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="QandAtoc.html">Q and A list of questions</link>,
-      <link role="tcg" xlink:href="QandAformat.html">Q and A formatting</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml_toc">
-  <xsl:param name="node" select="."/>
-  <xsl:call-template name="dbhtml-attribute">
-    <xsl:with-param name="pis" select="$node/processing-instruction('dbhtml')"/>
-    <xsl:with-param name="attribute" select="'toc'"/>
-  </xsl:call-template>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbcmdlist">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Generates a hyperlinked list of commands</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbcmdlist</tag> PI as the child of any
-      element (for example, <tag>refsynopsisdiv</tag>) containing multiple
-      <tag>cmdsynopsis</tag> instances; a hyperlinked navigational
-      &#8220;command list&#8221; will be generated at the top of output for that
-      element, enabling users to quickly jump
-      to each command synopsis.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbcmdlist</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <para>[No parameters]</para>
-  </refparameter>
-</doc:pi>
-<xsl:template name="pi.dbcmdlist">
-  <xsl:variable name="cmdsynopses" select="..//cmdsynopsis"/>
-  <xsl:if test="count($cmdsynopses)&lt;1">
-    <xsl:message><xsl:text>No cmdsynopsis elements matched dbcmdlist PI, perhaps it's nested too deep?</xsl:text>
-    </xsl:message>
-  </xsl:if>
-  <dl>
-    <xsl:call-template name="process.cmdsynopsis.list">
-      <xsl:with-param name="cmdsynopses" select="$cmdsynopses"/>
-    </xsl:call-template>
-  </dl>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbfunclist">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Generates a hyperlinked list of functions</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbfunclist</tag> PI as the child of any
-      element (for example, <tag>refsynopsisdiv</tag>) containing multiple
-      <tag>funcsynopsis</tag> instances; a hyperlinked
-      navigational &#8220;function list&#8221; will be generated at the top of
-      output for that element, enabling users to quickly
-      jump to to each function synopsis.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbfunclist</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <para>[No parameters]</para>
-  </refparameter>
-</doc:pi>
-<xsl:template name="pi.dbfunclist">
-  <xsl:variable name="funcsynopses" select="..//funcsynopsis"/>
-  <xsl:if test="count($funcsynopses)&lt;1">
-    <xsl:message><xsl:text>No funcsynopsis elements matched dbfunclist PI, perhaps it's nested too deep?</xsl:text>
-    </xsl:message>
-  </xsl:if>
-  <dl>
-    <xsl:call-template name="process.funcsynopsis.list">
-      <xsl:with-param name="funcsynopses" select="$funcsynopses"/>
-    </xsl:call-template>
-  </dl>
-</xsl:template>
-
-<doc:pi xmlns="" name="dbhtml-include_href">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Copies an external well-formed HTML/XML file into current doc</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhtml-include href</tag> PI anywhere in a
-      document to cause the contents of the file referenced by the
-      <code>href</code> pseudo-attribute to be copied/inserted &#8220;as
-      is&#8221; into your HTML output at the point in document order
-      where the PI occurs in the source.</para>
-    <note>
-      <para>The referenced file may contain plain text (as long as
-        it is &#8220;wrapped&#8221; in an <tag>html</tag> element &#8212; see the
-        note below) or markup in any arbitrary vocabulary,
-        including HTML &#8212; but it must conform to XML
-        well-formedness constraints (because the feature in XSLT
-        1.0 for opening external files, the
-        <function>document()</function> function, can only handle
-        files that meet XML well-formedness constraints).</para>
-      <para>Among other things, XML well-formedness constraints
-        require a document to have <emphasis>a single root
-          element</emphasis>. So if the content you want to
-        include is plain text or is markup that does
-        <emphasis>not</emphasis> have a single root element,
-        <emphasis role="strong">wrap the content in an
-          <tag>html</tag> element</emphasis>. The stylesheets will
-        strip out that surrounding <tag>html</tag> &#8220;wrapper&#8221; when
-        they find it, leaving just the content you want to
-        insert.</para>
-    </note>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhtml-include href="<replaceable>URI</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>href="<replaceable>URI</replaceable>"</term>
-        <listitem>
-          <para>Specifies the URI for the file to include; the URI
-            can be, for example, a remote <literal>http:</literal>
-            URI, or a local filesystem <literal>file:</literal>
-            URI</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="params">
-    <para><parameter>textinsert.extension</parameter></para>
-  </refsee>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="InsertExtHtml.html">Inserting external HTML code</link>,
-      <link xlink:href="ExternalCode.html">External code files</link></para>
-  </refsee>
-</doc:pi>
-<xsl:template name="pi.dbhtml-include">
-  <xsl:param name="href">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="."/>
-      <xsl:with-param name="attribute">href</xsl:with-param>
-    </xsl:call-template>
-  </xsl:param>
-  <xsl:choose>
-    <xsl:when test="$href != ''">
-      <xsl:variable name="content" select="document($href,/)"/>
-      <xsl:choose>
-        <xsl:when test="$content/*">
-          <xsl:choose>
-            <xsl:when test="$content/*[1][self::html]">
-              <!-- include just the children of html wrapper -->
-              <xsl:copy-of select="$content/*[1]/node()"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:copy-of select="$content"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>ERROR: dbhtml-include processing instruction </xsl:text>
-            <xsl:text>href has no content.</xsl:text>
-          </xsl:message>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        <xsl:text>ERROR: dbhtml-include processing instruction has </xsl:text>
-        <xsl:text>missing or empty href value.</xsl:text>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="dbhtml-attribute">
-  <!-- * dbhtml-attribute is an interal utility template for retrieving -->
-  <!-- * pseudo-attributes/parameters from PIs -->
-  <xsl:param name="pis" select="processing-instruction('dbhtml')"/>
-  <xsl:param name="attribute">filename</xsl:param>
-  <xsl:call-template name="pi-attribute">
-    <xsl:with-param name="pis" select="$pis"/>
-    <xsl:with-param name="attribute" select="$attribute"/>
-  </xsl:call-template>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="processing-instruction()">
-</xsl:template>
-
-<xsl:template match="processing-instruction('dbhtml')">
-  <!-- nop -->
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="processing-instruction('dbcmdlist')">
-  <xsl:call-template name="pi.dbcmdlist"/>
-</xsl:template>
-<xsl:template name="process.cmdsynopsis.list">
-  <xsl:param name="cmdsynopses"/><!-- empty node list by default -->
-  <xsl:param name="count" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="$count&gt;count($cmdsynopses)"/>
-    <xsl:otherwise>
-      <xsl:variable name="cmdsyn" select="$cmdsynopses[$count]"/>
-
-       <dt>
-       <a>
-         <xsl:attribute name="href">
-           <xsl:text>#</xsl:text>
-           <xsl:call-template name="object.id">
-             <xsl:with-param name="object" select="$cmdsyn"/>
-           </xsl:call-template>
-         </xsl:attribute>
-
-         <xsl:choose>
-           <xsl:when test="$cmdsyn/@xreflabel">
-             <xsl:call-template name="xref.xreflabel">
-               <xsl:with-param name="target" select="$cmdsyn"/>
-             </xsl:call-template>
-           </xsl:when>
-           <xsl:otherwise>
-             <xsl:apply-templates select="$cmdsyn" mode="xref-to">
-               <xsl:with-param name="target" select="$cmdsyn"/>
-             </xsl:apply-templates>
-           </xsl:otherwise>
-         </xsl:choose>
-       </a>
-       </dt>
-
-        <xsl:call-template name="process.cmdsynopsis.list">
-          <xsl:with-param name="cmdsynopses" select="$cmdsynopses"/>
-          <xsl:with-param name="count" select="$count+1"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="processing-instruction('dbfunclist')">
-  <xsl:call-template name="pi.dbfunclist"/>
-</xsl:template>
-<xsl:template name="process.funcsynopsis.list">
-  <xsl:param name="funcsynopses"/><!-- empty node list by default -->
-  <xsl:param name="count" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="$count&gt;count($funcsynopses)"/>
-    <xsl:otherwise>
-      <xsl:variable name="cmdsyn" select="$funcsynopses[$count]"/>
-
-       <dt>
-       <a>
-         <xsl:attribute name="href">
-           <xsl:text>#</xsl:text>
-           <xsl:call-template name="object.id">
-             <xsl:with-param name="object" select="$cmdsyn"/>
-           </xsl:call-template>
-         </xsl:attribute>
-
-         <xsl:choose>
-           <xsl:when test="$cmdsyn/@xreflabel">
-             <xsl:call-template name="xref.xreflabel">
-               <xsl:with-param name="target" select="$cmdsyn"/>
-             </xsl:call-template>
-           </xsl:when>
-           <xsl:otherwise>
-              <xsl:apply-templates select="$cmdsyn" mode="xref-to">
-                <xsl:with-param name="target" select="$cmdsyn"/>
-              </xsl:apply-templates>
-           </xsl:otherwise>
-         </xsl:choose>
-       </a>
-       </dt>
-
-        <xsl:call-template name="process.funcsynopsis.list">
-          <xsl:with-param name="funcsynopses" select="$funcsynopses"/>
-          <xsl:with-param name="count" select="$count+1"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="processing-instruction('dbhtml-include')">
-  <xsl:call-template name="pi.dbhtml-include"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="dbhtml-dir">
-  <xsl:param name="context" select="."/>
-  <!-- directories are now inherited from previous levels -->
-  <xsl:variable name="ppath">
-    <xsl:if test="$context/parent::*">
-      <xsl:call-template name="dbhtml-dir">
-        <xsl:with-param name="context" select="$context/parent::*"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:variable>
-  <xsl:variable name="path">
-    <xsl:call-template name="pi.dbhtml_dir">
-      <xsl:with-param name="node" select="$context"/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:choose>
-    <xsl:when test="$path = ''">
-      <xsl:if test="$ppath != ''">
-        <xsl:value-of select="$ppath"/>
-      </xsl:if>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$ppath != ''">
-        <xsl:value-of select="$ppath"/>
-        <xsl:if test="substring($ppath, string-length($ppath), 1) != '/'">
-          <xsl:text>/</xsl:text>
-        </xsl:if>
-      </xsl:if>
-      <xsl:value-of select="$path"/>
-      <xsl:text>/</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- There are two templates matching this PI in htmlhelp-common.xsl -->
-<doc:pi xmlns="" name="dbhh">
-  <refpurpose xmlns="http://www.w3.org/1999/xhtml">Sets topic name and topic id for context-sensitive HTML Help</refpurpose>
-  <refdescription xmlns="http://www.w3.org/1999/xhtml">
-    <para>Use the <tag class="xmlpi">dbhh</tag> PI as a child of components
-      that should be used as targets for context-sensitive help requests.</para>
-  </refdescription>
-  <refsynopsisdiv xmlns="http://www.w3.org/1999/xhtml">
-    <synopsis><tag class="xmlpi">dbhh topicname="<replaceable>name</replaceable>" topicid="<replaceable>id</replaceable>"</tag></synopsis>
-  </refsynopsisdiv>
-  <refparameter xmlns="http://www.w3.org/1999/xhtml">
-    <variablelist>
-      <varlistentry><term>topicname="<replaceable>name</replaceable>"</term>
-        <listitem>
-          <para>Specifies a unique string constant that identifies a help topic</para>
-        </listitem>
-      </varlistentry>
-      <varlistentry><term>topicid="<replaceable>id</replaceable>"</term>
-        <listitem>
-          <para>Specifies a unique integer value for the <literal>topicname</literal> string</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </refparameter>
-  <refsee xmlns="http://www.w3.org/1999/xhtml" role="tcg">
-    <para><link role="tcg" xlink:href="HtmlHelp.html#HHContextHelp">Context-sensitive help</link></para>
-  </refsee>
-</doc:pi>
-
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/profile-chunk-code.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/profile-chunk-code.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,611 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<!--This file was created automatically by xsl2profile-->
-<!--from the DocBook XSL stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0" xmlns:ng="http://docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook" xmlns:exslt="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" exslt:dummy="dummy" ng:dummy="dummy" db:dummy="dummy" extension-element-prefixes="exslt" exclude-result-prefixes="exsl cf ng db exslt" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-
-<xsl:template match="*" mode="chunk-filename">
-  <!-- returns the filename of a chunk -->
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:variable name="fn">
-    <xsl:apply-templates select="." mode="recursive-chunk-filename"/>
-  </xsl:variable>
-
-  <!--
-  <xsl:message>
-    <xsl:value-of select="$ischunk"/>
-    <xsl:text> (</xsl:text>
-    <xsl:value-of select="local-name(.)"/>
-    <xsl:text>) </xsl:text>
-    <xsl:value-of select="$fn"/>
-    <xsl:text>, </xsl:text>
-    <xsl:call-template name="dbhtml-dir"/>
-  </xsl:message>
-  -->
-
-  <!-- 2003-11-25 by ndw:
-       The following test used to read test="$ischunk != 0 and $fn != ''"
-       I've removed the ischunk part of the test so that href.to.uri and
-       href.from.uri will be fully qualified even if the source or target
-       isn't a chunk. I *think* that if $fn != '' then it's appropriate
-       to put the directory on the front, even if the element isn't a
-       chunk. I could be wrong. -->
-
-  <xsl:if test="$fn != ''">
-    <xsl:call-template name="dbhtml-dir"/>
-  </xsl:if>
-
-  <xsl:value-of select="$fn"/>
-  <!-- You can't add the html.ext here because dbhtml filename= may already -->
-  <!-- have added it. It really does have to be handled in the recursive template -->
-</xsl:template>
-
-<xsl:template match="*" mode="recursive-chunk-filename">
-  <xsl:param name="recursive" select="false()"/>
-
-  <!-- returns the filename of a chunk -->
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:variable name="dbhtml-filename">
-    <xsl:call-template name="pi.dbhtml_filename"/>
-  </xsl:variable>
-
-  <xsl:variable name="filename">
-    <xsl:choose>
-      <xsl:when test="$dbhtml-filename != ''">
-        <xsl:value-of select="$dbhtml-filename"/>
-      </xsl:when>
-      <!-- if this is the root element, use the root.filename -->
-      <xsl:when test="not(parent::*) and $root.filename != ''">
-        <xsl:value-of select="$root.filename"/>
-        <xsl:value-of select="$html.ext"/>
-      </xsl:when>
-      <!-- Special case -->
-      <xsl:when test="self::legalnotice and not($generate.legalnotice.link = 0)">
-        <xsl:choose>
-          <xsl:when test="(@id or @xml:id) and not($use.id.as.filename = 0)">
-            <!-- * if this legalnotice has an ID, then go ahead and use -->
-            <!-- * just the value of that ID as the basename for the file -->
-            <!-- * (that is, without prepending an "ln-" too it) -->
-            <xsl:value-of select="(@id|@xml:id)[1]"/>
-            <xsl:value-of select="$html.ext"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <!-- * otherwise, if this legalnotice does not have an ID, -->
-            <!-- * then we generate an ID... -->
-            <xsl:variable name="id">
-              <xsl:call-template name="object.id"/>
-            </xsl:variable>
-            <!-- * ...and then we take that generated ID, prepend an -->
-            <!-- * "ln-" to it, and use that as the basename for the file -->
-            <xsl:value-of select="concat('ln-',$id,$html.ext)"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <!-- if there's no dbhtml filename, and if we're to use IDs as -->
-      <!-- filenames, then use the ID to generate the filename. -->
-      <xsl:when test="(@id or @xml:id) and $use.id.as.filename != 0">
-        <xsl:value-of select="(@id|@xml:id)[1]"/>
-        <xsl:value-of select="$html.ext"/>
-      </xsl:when>
-      <xsl:otherwise/>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$ischunk='0'">
-      <!-- if called on something that isn't a chunk, walk up... -->
-      <xsl:choose>
-        <xsl:when test="count(parent::*)&gt;0">
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="$recursive"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <!-- unless there is no up, in which case return "" -->
-        <xsl:otherwise/>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="not($recursive) and $filename != ''">
-      <!-- if this chunk has an explicit name, use it -->
-      <xsl:value-of select="$filename"/>
-    </xsl:when>
-
-    <xsl:when test="self::set">
-      <xsl:value-of select="$root.filename"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::book">
-      <xsl:text>bk</xsl:text>
-      <xsl:number level="any" format="01"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::article">
-      <xsl:if test="/set">
-        <!-- in a set, make sure we inherit the right book info... -->
-        <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-          <xsl:with-param name="recursive" select="true()"/>
-        </xsl:apply-templates>
-      </xsl:if>
-
-      <xsl:text>ar</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::preface">
-      <xsl:if test="/set">
-        <!-- in a set, make sure we inherit the right book info... -->
-        <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-          <xsl:with-param name="recursive" select="true()"/>
-        </xsl:apply-templates>
-      </xsl:if>
-
-      <xsl:text>pr</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::chapter">
-      <xsl:if test="/set">
-        <!-- in a set, make sure we inherit the right book info... -->
-        <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-          <xsl:with-param name="recursive" select="true()"/>
-        </xsl:apply-templates>
-      </xsl:if>
-
-      <xsl:text>ch</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::appendix">
-      <xsl:if test="/set">
-        <!-- in a set, make sure we inherit the right book info... -->
-        <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-          <xsl:with-param name="recursive" select="true()"/>
-        </xsl:apply-templates>
-      </xsl:if>
-
-      <xsl:text>ap</xsl:text>
-      <xsl:number level="any" format="a" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::part">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>pt</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::reference">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>rn</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::refentry">
-      <xsl:choose>
-        <xsl:when test="parent::reference">
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>re</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::colophon">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>co</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::sect1                     or self::sect2                     or self::sect3                     or self::sect4                     or self::sect5                     or self::section">
-      <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-        <xsl:with-param name="recursive" select="true()"/>
-      </xsl:apply-templates>
-      <xsl:text>s</xsl:text>
-      <xsl:number format="01"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::bibliography">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>bi</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::glossary">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>go</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::index">
-      <xsl:choose>
-        <xsl:when test="/set">
-          <!-- in a set, make sure we inherit the right book info... -->
-          <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
-            <xsl:with-param name="recursive" select="true()"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-        </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text>ix</xsl:text>
-      <xsl:number level="any" format="01" from="book"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:when test="self::setindex">
-      <xsl:text>si</xsl:text>
-      <xsl:number level="any" format="01" from="set"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:text>chunk-filename-error-</xsl:text>
-      <xsl:value-of select="name(.)"/>
-      <xsl:number level="any" format="01" from="set"/>
-      <xsl:if test="not($recursive)">
-        <xsl:value-of select="$html.ext"/>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-
-
-<xsl:template match="processing-instruction('dbhtml')">
-  <!-- nop -->
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-
-<xsl:template match="*" mode="find.chunks">
-  <xsl:variable name="chunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$chunk != 0">
-      <cf:div id="{generate-id()}">
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:apply-templates select="*" mode="find.chunks"/>
-      </cf:div>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="*" mode="find.chunks"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xslo:include xmlns:xslo="http://www.w3.org/1999/XSL/Transform" href="../profiling/profile-mode.xsl"/><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profiled-content"><xslo:choose><xslo:when test="*/self::ng:* or */self::db:*"><xslo:message>Note: namesp. cut : stripped namespace before processing</xslo:message><xslo:variable name="stripped-content"><xslo:apply-templates select="/" mode="stripNS"/></xslo:variable><xslo:message>Note: namesp. cut : processing stripped document</xslo:message><xslo:apply-templates select="exslt:node-set($stripped-content)" mode="profile"/></xslo:when><xslo:otherwise><xslo:apply-templates select="/" mode="profile"/></xslo:otherwise></xslo:choose></xslo:variable><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profiled-nodes" select="exslt:node-set($profiled-content)"/><xsl:template match="/">
-  <!-- * Get a title for current doc so that we let the user -->
-  <!-- * know what document we are processing at this point. -->
-  <xsl:variable name="doc.title">
-    <xsl:call-template name="get.doc.title"/>
-  </xsl:variable>
-  <xsl:choose>
-    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
-         toss the namespace and continue.  Use the docbook5 namespaced
-	 stylesheets for DocBook5 if you don't want to use this feature.-->
-    <!-- include extra test for Xalan quirk -->
-    <xsl:when test="false()"/>
-    <!-- Can't process unless namespace removed -->
-    <xsl:when test="false()"/>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$rootid != ''">
-          <xsl:choose>
-            <xsl:when test="count($profiled-nodes//*[@id=$rootid]) = 0">
-              <xsl:message terminate="yes">
-                <xsl:text>ID '</xsl:text>
-                <xsl:value-of select="$rootid"/>
-                <xsl:text>' not found in document.</xsl:text>
-              </xsl:message>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:if test="$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'">
-                <xsl:apply-templates select="key('id', $rootid)" mode="collect.targets"/>
-              </xsl:if>
-              <xsl:if test="$collect.xref.targets != 'only'">
-                <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="process.root"/>
-                <xsl:if test="$tex.math.in.alt != ''">
-                  <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="collect.tex.math"/>
-                </xsl:if>
-                <xsl:if test="$generate.manifest != 0">
-                  <xsl:call-template name="generate.manifest">
-                    <xsl:with-param name="node" select="key('id',$rootid)"/>
-                  </xsl:call-template>
-                </xsl:if>
-              </xsl:if>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:if test="$collect.xref.targets = 'yes' or                         $collect.xref.targets = 'only'">
-            <xsl:apply-templates select="$profiled-nodes" mode="collect.targets"/>
-          </xsl:if>
-          <xsl:if test="$collect.xref.targets != 'only'">
-            <xsl:apply-templates select="$profiled-nodes" mode="process.root"/>
-            <xsl:if test="$tex.math.in.alt != ''">
-              <xsl:apply-templates select="$profiled-nodes" mode="collect.tex.math"/>
-            </xsl:if>
-            <xsl:if test="$generate.manifest != 0">
-              <xsl:call-template name="generate.manifest">
-                <xsl:with-param name="node" select="$profiled-nodes"/>
-              </xsl:call-template>
-            </xsl:if>
-          </xsl:if>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="process.root">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template match="set|book|part|preface|chapter|appendix                      |article                      |reference|refentry                      |book/glossary|article/glossary|part/glossary                      |book/bibliography|article/bibliography|part/bibliography                      |colophon">
-  <xsl:choose>
-    <xsl:when test="$onechunk != 0 and parent::*">
-      <xsl:apply-imports/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="process-chunk-element"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="sect1|sect2|sect3|sect4|sect5|section">
-  <xsl:variable name="ischunk">
-    <xsl:call-template name="chunk"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="not(parent::*)">
-      <xsl:call-template name="process-chunk-element"/>
-    </xsl:when>
-    <xsl:when test="$ischunk = 0">
-      <xsl:apply-imports/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="process-chunk-element"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="setindex                      |book/index                      |article/index                      |part/index">
-  <!-- some implementations use completely empty index tags to indicate -->
-  <!-- where an automatically generated index should be inserted. so -->
-  <!-- if the index is completely empty, skip it. -->
-  <xsl:if test="count(*)&gt;0 or $generate.index != '0'">
-    <xsl:call-template name="process-chunk-element"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- Resolve xml:base attributes -->
-<xsl:template match="@fileref">
-  <!-- need a check for absolute urls -->
-  <xsl:choose>
-    <xsl:when test="contains(., ':')">
-      <!-- it has a uri scheme so it is an absolute uri -->
-      <xsl:value-of select="."/>
-    </xsl:when>
-    <xsl:when test="$keep.relative.image.uris != 0">
-      <!-- leave it alone -->
-      <xsl:value-of select="."/>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- its a relative uri -->
-      <xsl:call-template name="relative-uri">
-        <xsl:with-param name="destdir">
-          <xsl:call-template name="dbhtml-dir">
-            <xsl:with-param name="context" select=".."/>
-          </xsl:call-template>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-<xsl:template match="set|book|part|preface|chapter|appendix                      |article                      |reference|refentry                      |sect1|sect2|sect3|sect4|sect5                      |section                      |book/glossary|article/glossary|part/glossary                      |book/bibliography|article/bibliography|part/bibliography                      |colophon" mode="enumerate-files">
-  <xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable>
-  <xsl:if test="$ischunk='1'">
-    <xsl:call-template name="make-relative-filename">
-      <xsl:with-param name="base.dir">
-        <xsl:if test="$manifest.in.base.dir = 0">
-          <xsl:value-of select="$base.dir"/>
-        </xsl:if>
-      </xsl:with-param>
-      <xsl:with-param name="base.name">
-        <xsl:apply-templates mode="chunk-filename" select="."/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:text>
-</xsl:text>
-  </xsl:if>
-  <xsl:apply-templates select="*" mode="enumerate-files"/>
-</xsl:template>
-
-<xsl:template match="book/index|article/index|part/index" mode="enumerate-files">
-  <xsl:if test="$htmlhelp.output != 1">
-    <xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable>
-    <xsl:if test="$ischunk='1'">
-      <xsl:call-template name="make-relative-filename">
-        <xsl:with-param name="base.dir">
-          <xsl:if test="$manifest.in.base.dir = 0">
-            <xsl:value-of select="$base.dir"/>
-          </xsl:if>
-        </xsl:with-param>
-        <xsl:with-param name="base.name">
-          <xsl:apply-templates mode="chunk-filename" select="."/>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:text>
-</xsl:text>
-    </xsl:if>
-    <xsl:apply-templates select="*" mode="enumerate-files"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="enumerate-files">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-  <xsl:if test="$generate.legalnotice.link != 0">
-    <xsl:call-template name="make-relative-filename">
-      <xsl:with-param name="base.dir">
-        <xsl:if test="$manifest.in.base.dir = 0">
-          <xsl:value-of select="$base.dir"/>
-        </xsl:if>
-      </xsl:with-param>
-      <xsl:with-param name="base.name">
-        <xsl:apply-templates mode="chunk-filename" select="."/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:text>
-</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="mediaobject[imageobject] | inlinemediaobject[imageobject]" mode="enumerate-files">
-  <xsl:variable name="longdesc.uri">
-    <xsl:call-template name="longdesc.uri">
-      <xsl:with-param name="mediaobject" select="."/>
-    </xsl:call-template>
-  </xsl:variable>
-  <xsl:variable name="mediaobject" select="."/>
-
-  <xsl:if test="$html.longdesc != 0 and $mediaobject/textobject[not(phrase)]">
-    <xsl:call-template name="longdesc.uri">
-      <xsl:with-param name="mediaobject" select="$mediaobject"/>
-    </xsl:call-template>
-    <xsl:text>
-</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="text()" mode="enumerate-files">
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/profile-chunk.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/profile-chunk.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,52 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="exsl">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- First import the non-chunking templates that format elements
-     within each chunk file. In a customization, you should
-     create a separate non-chunking customization layer such
-     as mydocbook.xsl that imports the original docbook.xsl and
-     customizes any presentation templates. Then your chunking
-     customization should import mydocbook.xsl instead of
-     docbook.xsl.  -->
-<xsl:import href="docbook.xsl"/>
-
-<!-- chunk-common.xsl contains all the named templates for chunking.
-     In a customization file, you import chunk-common.xsl, then
-     add any customized chunking templates of the same name. 
-     They will have import precedence over the original 
-     chunking templates in chunk-common.xsl. -->
-<xsl:import href="chunk-common.xsl"/>
-
-<!-- The manifest.xsl module is no longer imported because its
-     templates were moved into chunk-common and chunk-code -->
-
-<!-- chunk-code.xsl contains all the chunking templates that use
-     a match attribute.  In a customization it should be referenced
-     using <xsl:include> instead of <xsl:import>, and then add
-     any customized chunking templates with match attributes. But be sure
-     to add a priority="1" to such customized templates to resolve
-     its conflict with the original, since they have the
-     same import precedence.
-     
-     Using xsl:include prevents adding another layer
-     of import precedence, which would cause any
-     customizations that use xsl:apply-imports to wrongly
-     apply the chunking version instead of the original
-     non-chunking version to format an element.  -->
-<xsl:include href="profile-chunk-code.xsl"/>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/profile-docbook.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/profile-docbook.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,409 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<!--This file was created automatically by xsl2profile-->
-<!--from the DocBook XSL stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ng="http://docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook" xmlns:exsl="http://exslt.org/common" xmlns:exslt="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" exslt:dummy="dummy" ng:dummy="dummy" db:dummy="dummy" extension-element-prefixes="exslt" exclude-result-prefixes="db ng exsl exslt" version="1.0">
-
-<xsl:output method="xml" encoding="UTF-8" indent="no" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:include href="../VERSION"/>
-<xsl:include href="param.xsl"/>
-<xsl:include href="../lib/lib.xsl"/>
-<xsl:include href="../common/l10n.xsl"/>
-<xsl:include href="../common/common.xsl"/>
-<xsl:include href="../common/utility.xsl"/>
-<xsl:include href="../common/labels.xsl"/>
-<xsl:include href="../common/titles.xsl"/>
-<xsl:include href="../common/subtitles.xsl"/>
-<xsl:include href="../common/gentext.xsl"/>
-<xsl:include href="../common/targets.xsl"/>
-<xsl:include href="../common/olink.xsl"/>
-<xsl:include href="../common/pi.xsl"/>
-<xsl:include href="autotoc.xsl"/>
-<xsl:include href="autoidx.xsl"/>
-<xsl:include href="lists.xsl"/>
-<xsl:include href="callout.xsl"/>
-<xsl:include href="verbatim.xsl"/>
-<xsl:include href="graphics.xsl"/>
-<xsl:include href="xref.xsl"/>
-<xsl:include href="formal.xsl"/>
-<xsl:include href="table.xsl"/>
-<xsl:include href="htmltbl.xsl"/>
-<xsl:include href="sections.xsl"/>
-<xsl:include href="inline.xsl"/>
-<xsl:include href="footnote.xsl"/>
-<xsl:include href="html.xsl"/>
-<xsl:include href="info.xsl"/>
-<xsl:include href="keywords.xsl"/>
-<xsl:include href="division.xsl"/>
-<xsl:include href="toc.xsl"/>
-<xsl:include href="index.xsl"/>
-<xsl:include href="refentry.xsl"/>
-<xsl:include href="math.xsl"/>
-<xsl:include href="admon.xsl"/>
-<xsl:include href="component.xsl"/>
-<xsl:include href="biblio.xsl"/>
-<xsl:include href="biblio-iso690.xsl"/>
-<xsl:include href="glossary.xsl"/>
-<xsl:include href="block.xsl"/>
-<xsl:include href="task.xsl"/>
-<xsl:include href="qandaset.xsl"/>
-<xsl:include href="synop.xsl"/>
-<xsl:include href="titlepage.xsl"/>
-<xsl:include href="titlepage.templates.xsl"/>
-<xsl:include href="pi.xsl"/>
-<xsl:include href="ebnf.xsl"/>
-<xsl:include href="chunker.xsl"/>
-<xsl:include href="html-rtf.xsl"/>
-<xsl:include href="annotations.xsl"/>
-<xsl:include href="../common/stripns.xsl"/>
-
-<xsl:param name="stylesheet.result.type" select="'xhtml'"/>
-<xsl:param name="htmlhelp.output" select="0"/>
-
-<!-- ==================================================================== -->
-
-<xsl:key name="id" match="*" use="@id|@xml:id"/>
-<xsl:key name="gid" match="*" use="generate-id()"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*">
-  <xsl:message>
-    <xsl:text>Element </xsl:text>
-    <xsl:value-of select="local-name(.)"/>
-    <xsl:text> in namespace '</xsl:text>
-    <xsl:value-of select="namespace-uri(.)"/>
-    <xsl:text>' encountered</xsl:text>
-    <xsl:if test="parent::*">
-      <xsl:text> in </xsl:text>
-      <xsl:value-of select="name(parent::*)"/>
-    </xsl:if>
-    <xsl:text>, but no template matches.</xsl:text>
-  </xsl:message>
-
-  <span style="color: red">
-    <xsl:text>&lt;</xsl:text>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text>&gt;</xsl:text>
-    <xsl:apply-templates/>
-    <xsl:text>&lt;/</xsl:text>
-    <xsl:value-of select="name(.)"/>
-    <xsl:text>&gt;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="text()">
-  <xsl:value-of select="."/>
-</xsl:template>
-
-<xsl:template name="body.attributes">
-<!-- no apply-templates; make it empty -->
-</xsl:template>
-
-<xsl:template name="head.content">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="title">
-    <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/>
-  </xsl:param>
-
-  <title>
-    <xsl:copy-of select="$title"/>
-  </title>
-
-  <xsl:if test="$html.stylesheet != ''">
-    <xsl:call-template name="output.html.stylesheets">
-      <xsl:with-param name="stylesheets" select="normalize-space($html.stylesheet)"/>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:if test="$link.mailto.url != ''">
-    <link rev="made" href="{$link.mailto.url}"/>
-  </xsl:if>
-
-  <xsl:if test="$html.base != ''">
-    <base href="{$html.base}"/>
-  </xsl:if>
-
-  <meta name="generator" content="DocBook {$DistroTitle} V{$VERSION}"/>
-
-  <xsl:if test="$generate.meta.abstract != 0">
-    <xsl:variable name="info" select="(articleinfo                                       |bookinfo                                       |prefaceinfo                                       |chapterinfo                                       |appendixinfo                                       |sectioninfo                                       |sect1info                                       |sect2info                                       |sect3info                                       |sect4info                                       |sect5info                                       |referenceinfo                                       |refentryinfo                                       |partinfo                                       |info                                       |docinfo)[1]"/>
-    <xsl:if test="$info and $info/abstract">
-      <meta name="description">
-        <xsl:attribute name="content">
-          <xsl:for-each select="$info/abstract[1]/*">
-            <xsl:value-of select="normalize-space(.)"/>
-            <xsl:if test="position() &lt; last()">
-              <xsl:text> </xsl:text>
-            </xsl:if>
-          </xsl:for-each>
-        </xsl:attribute>
-      </meta>
-    </xsl:if>
-  </xsl:if>
-
-  <xsl:if test="($draft.mode = 'yes' or                 ($draft.mode = 'maybe' and                 ancestor-or-self::*[@status][1]/@status = 'draft'))                 and $draft.watermark.image != ''">
-    <style type="text/css"><xsl:text>
-body { background-image: url('</xsl:text>
-<xsl:value-of select="$draft.watermark.image"/><xsl:text>');
-       background-repeat: no-repeat;
-       background-position: top left;
-       /* The following properties make the watermark "fixed" on the page. */
-       /* I think that's just a bit too distracting for the reader... */
-       /* background-attachment: fixed; */
-       /* background-position: center center; */
-     }</xsl:text>
-    </style>
-  </xsl:if>
-  <xsl:apply-templates select="." mode="head.keywords.content"/>
-</xsl:template>
-
-<xsl:template name="output.html.stylesheets">
-  <xsl:param name="stylesheets" select="''"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($stylesheets, ' ')">
-      <link rel="stylesheet" href="{substring-before($stylesheets, ' ')}">
-        <xsl:if test="$html.stylesheet.type != ''">
-          <xsl:attribute name="type">
-            <xsl:value-of select="$html.stylesheet.type"/>
-          </xsl:attribute>
-        </xsl:if>
-      </link>
-      <xsl:call-template name="output.html.stylesheets">
-        <xsl:with-param name="stylesheets" select="substring-after($stylesheets, ' ')"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:when test="$stylesheets != ''">
-      <link rel="stylesheet" href="{$stylesheets}">
-        <xsl:if test="$html.stylesheet.type != ''">
-          <xsl:attribute name="type">
-            <xsl:value-of select="$html.stylesheet.type"/>
-          </xsl:attribute>
-        </xsl:if>
-      </link>
-    </xsl:when>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template match="*" mode="head.keywords.content">
-  <xsl:apply-templates select="chapterinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="appendixinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="prefaceinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="bookinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="setinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="articleinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="artheader/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sect1info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sect2info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sect3info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sect4info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sect5info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="sectioninfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="refsect1info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="refsect2info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="refsect3info/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="bibliographyinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="glossaryinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="indexinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="refentryinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="partinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="referenceinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="docinfo/keywordset" mode="html.header"/>
-  <xsl:apply-templates select="info/keywordset" mode="html.header"/>
-
-  <xsl:if test="$inherit.keywords != 0                 and parent::*">
-    <xsl:apply-templates select="parent::*" mode="head.keywords.content"/>
-  </xsl:if>
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template name="system.head.content">
-  <xsl:param name="node" select="."/>
-
-  <!-- FIXME: When chunking, only the annotations actually used
-              in this chunk should be referenced. I don't think it
-              does any harm to reference them all, but it adds
-              unnecessary bloat to each chunk. -->
-  <xsl:if test="$annotation.support != 0 and //annotation">
-    <xsl:call-template name="add.annotation.links"/>
-    <script type="text/javascript">
-      <xsl:text>
-// Create PopupWindow objects</xsl:text>
-      <xsl:for-each select="//annotation">
-        <xsl:text>
-var popup_</xsl:text>
-        <xsl:value-of select="generate-id(.)"/>
-        <xsl:text> = new PopupWindow("popup-</xsl:text>
-        <xsl:value-of select="generate-id(.)"/>
-        <xsl:text>");
-</xsl:text>
-        <xsl:text>popup_</xsl:text>
-        <xsl:value-of select="generate-id(.)"/>
-        <xsl:text>.offsetY = 15;
-</xsl:text>
-        <xsl:text>popup_</xsl:text>
-        <xsl:value-of select="generate-id(.)"/>
-        <xsl:text>.autoHide();
-</xsl:text>
-      </xsl:for-each>
-    </script>
-
-    <style type="text/css">
-      <xsl:value-of select="$annotation.css"/>
-    </style>
-  </xsl:if>
-
-  <!-- system.head.content is like user.head.content, except that
-       it is called before head.content. This is important because it
-       means, for example, that <style> elements output by system.head.content
-       have a lower CSS precedence than the users stylesheet. -->
-</xsl:template>
-
-<!-- ============================================================ -->
-
-<xsl:template name="user.preroot">
-  <!-- Pre-root output, can be used to output comments and PIs. -->
-  <!-- This must not output any element content! -->
-</xsl:template>
-
-<xsl:template name="user.head.content">
-  <xsl:param name="node" select="."/>
-</xsl:template>
-
-<xsl:template name="user.header.navigation">
-  <xsl:param name="node" select="."/>
-</xsl:template>
-
-<xsl:template name="user.header.content">
-  <xsl:param name="node" select="."/>
-</xsl:template>
-
-<xsl:template name="user.footer.content">
-  <xsl:param name="node" select="."/>
-</xsl:template>
-
-<xsl:template name="user.footer.navigation">
-  <xsl:param name="node" select="."/>
-</xsl:template>
-
-<xslo:include xmlns:xslo="http://www.w3.org/1999/XSL/Transform" href="../profiling/profile-mode.xsl"/><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profiled-content"><xslo:choose><xslo:when test="*/self::ng:* or */self::db:*"><xslo:message>Note: namesp. cut : stripped namespace before processing</xslo:message><xslo:variable name="stripped-content"><xslo:apply-templates select="/" mode="stripNS"/></xslo:variable><xslo:message>Note: namesp. cut : processing stripped document</xslo:message><xslo:apply-templates select="exslt:node-set($stripped-content)" mode="profile"/></xslo:when><xslo:otherwise><xslo:apply-templates select="/" mode="profile"/></xslo:otherwise></xslo:choose></xslo:variable><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profiled-nodes" select="exslt:node-set($profiled-content)"/><xsl:template match="/">
-  <!-- * Get a title for current doc so that we let the user -->
-  <!-- * know what document we are processing at this point. -->
-  <xsl:variable name="doc.title">
-    <xsl:call-template name="get.doc.title"/>
-  </xsl:variable>
-  <xsl:choose>
-    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
-         toss the namespace and continue.  Use the docbook5 namespaced
-         stylesheets for DocBook5 if you don't want to use this feature.-->
-    <!-- include extra test for Xalan quirk -->
-    <xsl:when test="false()"/>
-    <!-- Can't process unless namespace removed -->
-    <xsl:when test="false()"/>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$rootid != ''">
-          <xsl:choose>
-            <xsl:when test="count($profiled-nodes//*[@id=$rootid]) = 0">
-              <xsl:message terminate="yes">
-                <xsl:text>ID '</xsl:text>
-                <xsl:value-of select="$rootid"/>
-                <xsl:text>' not found in document.</xsl:text>
-              </xsl:message>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:if test="$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'">
-                <xsl:apply-templates select="key('id', $rootid)" mode="collect.targets"/>
-              </xsl:if>
-              <xsl:if test="$collect.xref.targets != 'only'">
-                <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="process.root"/>
-                <xsl:if test="$tex.math.in.alt != ''">
-                  <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="collect.tex.math"/>
-                </xsl:if>
-              </xsl:if>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:if test="$collect.xref.targets = 'yes' or                         $collect.xref.targets = 'only'">
-            <xsl:apply-templates select="$profiled-nodes" mode="collect.targets"/>
-          </xsl:if>
-          <xsl:if test="$collect.xref.targets != 'only'">
-            <xsl:apply-templates select="$profiled-nodes" mode="process.root"/>
-            <xsl:if test="$tex.math.in.alt != ''">
-              <xsl:apply-templates select="$profiled-nodes" mode="collect.tex.math"/>
-            </xsl:if>
-          </xsl:if>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="process.root">
-  <xsl:variable name="doc" select="self::*"/>
-
-  <xsl:call-template name="user.preroot"/>
-  <xsl:call-template name="root.messages"/>
-
-  <html>
-    <head>
-      <xsl:call-template name="system.head.content">
-        <xsl:with-param name="node" select="$doc"/>
-      </xsl:call-template>
-      <xsl:call-template name="head.content">
-        <xsl:with-param name="node" select="$doc"/>
-      </xsl:call-template>
-      <xsl:call-template name="user.head.content">
-        <xsl:with-param name="node" select="$doc"/>
-      </xsl:call-template>
-    </head>
-    <body>
-      <xsl:call-template name="body.attributes"/>
-      <xsl:call-template name="user.header.content">
-        <xsl:with-param name="node" select="$doc"/>
-      </xsl:call-template>
-      <xsl:apply-templates select="."/>
-      <xsl:call-template name="user.footer.content">
-        <xsl:with-param name="node" select="$doc"/>
-      </xsl:call-template>
-    </body>
-  </html>
-  <xsl:value-of select="$html.append"/>
-</xsl:template>
-
-<xsl:template name="root.messages">
-  <!-- redefine this any way you'd like to output messages -->
-  <!-- DO NOT OUTPUT ANYTHING FROM THIS TEMPLATE -->
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="chunk">
-  <xsl:param name="node" select="."/>
-
-  <!-- The default is that we are not chunking... -->
-  <xsl:text>0</xsl:text>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/profile-onechunk.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/profile-onechunk.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,36 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="doc">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:import href="profile-chunk.xsl"/>
-
-<!-- Ok, using the onechunk parameter makes this all work again. -->
-<!-- It does have the disadvantage that it only works for documents that have -->
-<!-- a root element that is considered a chunk by the chunk.xsl stylesheet. -->
-<!-- Ideally, onechunk would let anything be a chunk. But not today. -->
-
-<xsl:param name="onechunk" select="1"/>
-<xsl:param name="suppress.navigation">1</xsl:param>
-
-<xsl:template name="href.target.uri">
-  <xsl:param name="object" select="."/>
-  <xsl:text>#</xsl:text>
-  <xsl:call-template name="object.id">
-    <xsl:with-param name="object" select="$object"/>
-  </xsl:call-template>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/qandaset.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/qandaset.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,371 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="doc" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="qandaset">
-  <xsl:variable name="title" select="(blockinfo/title|info/title|title)[1]"/>
-  <xsl:variable name="preamble" select="*[local-name(.) != 'title'                                           and local-name(.) != 'titleabbrev'                                           and local-name(.) != 'qandadiv'                                           and local-name(.) != 'qandaentry']"/>
-  <xsl:variable name="toc">
-    <xsl:call-template name="pi.dbhtml_toc"/>
-  </xsl:variable>
-
-  <xsl:variable name="toc.params">
-    <xsl:call-template name="find.path.params">
-      <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates select="$title"/>
-    <xsl:if test="((contains($toc.params, 'toc') and $toc != '0') or $toc = '1')                   and not(ancestor::answer and not($qanda.nested.in.toc=0))">
-      <xsl:call-template name="process.qanda.toc"/>
-    </xsl:if>
-    <xsl:apply-templates select="$preamble"/>
-    <xsl:call-template name="process.qandaset"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="qandaset/blockinfo/title|                      qandaset/info/title|                      qandaset/title">
-  <xsl:variable name="qalevel">
-    <xsl:call-template name="qanda.section.level"/>
-  </xsl:variable>
-  <xsl:element name="h{string(number($qalevel)+1)}" namespace="http://www.w3.org/1999/xhtml">
-    <xsl:attribute name="class">
-      <xsl:value-of select="local-name(.)"/>
-    </xsl:attribute>
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="node" select=".."/>
-      <xsl:with-param name="conditional" select="0"/>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="qandaset/blockinfo|qandaset/info">
-  <!-- what should this template really do? -->
-  <xsl:apply-templates select="legalnotice" mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="qandadiv">
-  <xsl:variable name="preamble" select="*[local-name(.) != 'title'                                           and local-name(.) != 'titleabbrev'                                           and local-name(.) != 'qandadiv'                                           and local-name(.) != 'qandaentry']"/>
-
-  <xsl:if test="blockinfo/title|info/title|title">
-    <tr class="qandadiv">
-      <td align="left" valign="top" colspan="2">
-        <xsl:apply-templates select="(blockinfo/title|info/title|title)[1]"/>
-      </td>
-    </tr>
-  </xsl:if>
-
-  <xsl:variable name="toc">
-    <xsl:call-template name="pi.dbhtml_toc"/>
-  </xsl:variable>
-
-  <xsl:variable name="toc.params">
-    <xsl:call-template name="find.path.params">
-      <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:if test="(contains($toc.params, 'toc') and $toc != '0') or $toc = '1'">
-    <tr class="toc">
-      <td align="left" valign="top" colspan="2">
-        <xsl:call-template name="process.qanda.toc"/>
-      </td>
-    </tr>
-  </xsl:if>
-  <xsl:if test="$preamble">
-    <tr class="toc">
-      <td align="left" valign="top" colspan="2">
-        <xsl:apply-templates select="$preamble"/>
-      </td>
-    </tr>
-  </xsl:if>
-  <xsl:apply-templates select="qandadiv|qandaentry"/>
-</xsl:template>
-
-<xsl:template match="qandadiv/blockinfo/title|                      qandadiv/info/title|                      qandadiv/title">
-  <xsl:variable name="qalevel">
-    <xsl:call-template name="qandadiv.section.level"/>
-  </xsl:variable>
-
-  <xsl:element name="h{string(number($qalevel)+1)}" namespace="http://www.w3.org/1999/xhtml">
-    <xsl:attribute name="class">
-      <xsl:value-of select="local-name(.)"/>
-    </xsl:attribute>
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="node" select=".."/>
-      <xsl:with-param name="conditional" select="0"/>
-    </xsl:call-template>
-    <xsl:apply-templates select="parent::qandadiv" mode="label.markup"/>
-    <xsl:if test="$qandadiv.autolabel != 0">
-      <xsl:apply-templates select="." mode="intralabel.punctuation"/>
-      <xsl:text> </xsl:text>
-    </xsl:if>
-    <xsl:apply-templates/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="qandaentry">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="question">
-  <xsl:variable name="deflabel">
-    <xsl:choose>
-      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
-        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]                               /@defaultlabel"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$qanda.defaultlabel"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <tr>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <td align="left" valign="top">
-      <xsl:call-template name="anchor">
-        <xsl:with-param name="node" select=".."/>
-        <xsl:with-param name="conditional" select="0"/>
-      </xsl:call-template>
-      <xsl:call-template name="anchor">
-        <xsl:with-param name="conditional" select="0"/>
-      </xsl:call-template>
-
-      <xsl:variable name="label.content">
-        <xsl:apply-templates select="." mode="label.markup"/>
-        <xsl:if test="$deflabel = 'number' and not(label)">
-          <xsl:apply-templates select="." mode="intralabel.punctuation"/>
-        </xsl:if>
-      </xsl:variable>
-
-      <xsl:if test="string-length($label.content) &gt; 0">
-        <p><b>
-          <xsl:copy-of select="$label.content"/>
-        </b></p>
-      </xsl:if>
-    </td>
-    <td align="left" valign="top">
-      <xsl:choose>
-        <xsl:when test="$deflabel = 'none' and not(label)">
-          <b><xsl:apply-templates select="*[local-name(.) != 'label']"/></b>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="*[local-name(.) != 'label']"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </td>
-  </tr>
-</xsl:template>
-
-<xsl:template match="answer">
-  <xsl:variable name="deflabel">
-    <xsl:choose>
-      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
-        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]                               /@defaultlabel"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$qanda.defaultlabel"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <tr class="{local-name(.)}">
-    <td align="left" valign="top">
-      <xsl:call-template name="anchor"/>
-      <xsl:variable name="answer.label">
-        <xsl:apply-templates select="." mode="label.markup"/>
-      </xsl:variable>
-      <xsl:if test="string-length($answer.label) &gt; 0">
-        <p><b>
-          <xsl:copy-of select="$answer.label"/>
-        </b></p>
-      </xsl:if>
-    </td>
-    <td align="left" valign="top">
-      <xsl:apply-templates select="*[local-name(.) != 'label'         and local-name(.) != 'qandaentry']"/>
-      <!-- * handle nested answer/qandaentry instances -->
-      <!-- * (bug 1509043 from Daniel Leidert) -->
-      <xsl:if test="descendant::question">
-        <xsl:call-template name="process.qandaset"/>
-      </xsl:if>
-    </td>
-  </tr>
-</xsl:template>
-
-<xsl:template match="label">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="process.qanda.toc">
-  <!-- * if user wants nested qandaset and qandaentry in main Qandaset TOC, -->
-  <!-- * then don't also include the nested stuff in the sub TOCs -->
-  <dl>
-    <xsl:apply-templates select="qandadiv" mode="qandatoc.mode"/>
-    <xsl:apply-templates select="qandaset|qandaentry" mode="qandatoc.mode"/>
-  </dl>
-</xsl:template>
-
-<xsl:template match="qandadiv" mode="qandatoc.mode">
-  <dt><xsl:apply-templates select="title" mode="qandatoc.mode"/></dt>
-  <dd><xsl:call-template name="process.qanda.toc"/></dd>
-</xsl:template>
-
-<xsl:template match="qandadiv/blockinfo/title|                      qandadiv/info/title|                      qandadiv/title" mode="qandatoc.mode">
-  <xsl:variable name="qalevel">
-    <xsl:call-template name="qandadiv.section.level"/>
-  </xsl:variable>
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id">
-      <xsl:with-param name="object" select="parent::*"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:apply-templates select="parent::qandadiv" mode="label.markup"/>
-  <xsl:value-of select="$autotoc.label.separator"/>
-  <xsl:text> </xsl:text>
-  <a>
-    <xsl:attribute name="href">
-      <xsl:call-template name="href.target">
-        <xsl:with-param name="object" select="parent::*"/>
-      </xsl:call-template>
-    </xsl:attribute>
-    <xsl:apply-templates/>
-  </a>
-</xsl:template>
-
-<xsl:template match="qandaset" mode="qandatoc.mode">
-  <xsl:for-each select="qandaentry">
-    <xsl:apply-templates select="." mode="qandatoc.mode"/>
-  </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="qandaentry" mode="qandatoc.mode">
-  <xsl:apply-templates select="question" mode="qandatoc.mode"/>
-</xsl:template>
-
-<xsl:template match="question" mode="qandatoc.mode">
-  <xsl:variable name="firstch">
-    <xsl:apply-templates select="(*[local-name(.)!='label'])[1]"/>
-  </xsl:variable>
-  <xsl:variable name="deflabel">
-    <xsl:choose>
-      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
-        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]                               /@defaultlabel"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$qanda.defaultlabel"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <dt>
-    <xsl:apply-templates select="." mode="label.markup"/>
-    <xsl:if test="$deflabel = 'number' and not(label)">
-      <xsl:apply-templates select="." mode="intralabel.punctuation"/>
-    </xsl:if>
-    <xsl:text> </xsl:text>
-    <a>
-      <xsl:attribute name="href">
-        <xsl:call-template name="href.target">
-          <xsl:with-param name="object" select=".."/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:value-of select="$firstch"/>
-    </a>
-  </dt>
-  <!-- * include nested qandaset/qandaentry in TOC if user wants it -->
-  <xsl:if test="not($qanda.nested.in.toc = 0)">
-    <xsl:apply-templates select="following-sibling::answer" mode="qandatoc.mode"/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="answer" mode="qandatoc.mode">
-  <xsl:if test="descendant::question">
-    <dd>
-      <xsl:call-template name="process.qanda.toc"/>
-    </dd>
-  </xsl:if>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="process.qandaset">
-
-  <xsl:variable name="label-width">
-    <xsl:call-template name="pi.dbhtml_label-width"/>
-  </xsl:variable>
-
-  <xsl:variable name="table-summary">
-    <xsl:call-template name="pi.dbhtml_table-summary"/>
-  </xsl:variable>
-
-  <xsl:variable name="cellpadding">
-    <xsl:call-template name="pi.dbhtml_cellpadding"/>
-  </xsl:variable>
-
-  <xsl:variable name="cellspacing">
-    <xsl:call-template name="pi.dbhtml_cellspacing"/>
-  </xsl:variable>
-
-  <table border="0" summary="Q and A Set">
-    <xsl:if test="$table-summary != ''">
-      <xsl:attribute name="summary">
-        <xsl:value-of select="$table-summary"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="$cellpadding != ''">
-      <xsl:attribute name="cellpadding">
-        <xsl:value-of select="$cellpadding"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="$cellspacing != ''">
-      <xsl:attribute name="cellspacing">
-        <xsl:value-of select="$cellspacing"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <col align="left">
-      <xsl:attribute name="width">
-        <xsl:choose>
-          <xsl:when test="$label-width != ''">
-            <xsl:value-of select="$label-width"/>
-          </xsl:when>
-          <xsl:otherwise>1%</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </col>
-    <tbody>
-      <xsl:apply-templates select="qandaentry|qandadiv"/>
-    </tbody>
-  </table>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="no.wrapper.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/refentry.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/refentry.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,309 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="reference">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$generate.id.attributes != 0">
-      <xsl:attribute name="id">
-        <xsl:call-template name="object.id"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="reference.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="not(partintro) and contains($toc.params, 'toc')">
-      <xsl:call-template name="division.toc"/>
-    </xsl:if>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="reference" mode="division.number">
-  <xsl:number from="book" count="reference" format="I."/>
-</xsl:template>
-
-<xsl:template match="reference/docinfo"/>
-<xsl:template match="reference/referenceinfo"/>
-<xsl:template match="reference/title"/>
-<xsl:template match="reference/subtitle"/>
-<xsl:template match="reference/titleabbrev"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="refentry.title">
-  <xsl:param name="node" select="."/>
-  <xsl:variable name="refmeta" select="$node//refmeta"/>
-  <xsl:variable name="refentrytitle" select="$refmeta//refentrytitle"/>
-  <xsl:variable name="refnamediv" select="$node//refnamediv"/>
-  <xsl:variable name="refname" select="$refnamediv//refname"/>
-  <xsl:variable name="refdesc" select="$refnamediv//refdescriptor"/>
-  <xsl:variable name="title">
-    <xsl:choose>
-      <xsl:when test="$refentrytitle">
-        <xsl:apply-templates select="$refentrytitle[1]" mode="title"/>
-      </xsl:when>
-      <xsl:when test="$refdesc">
-	<xsl:apply-templates select="$refdesc[1]" mode="title"/>
-      </xsl:when>
-      <xsl:when test="$refname">
-        <xsl:apply-templates select="$refname[1]" mode="title"/>
-      </xsl:when>
-      <xsl:otherwise/>
-    </xsl:choose>
-  </xsl:variable>
-
-  <h1 class="title">
-    <xsl:copy-of select="$title"/>
-  </h1>
-</xsl:template>
-
-<xsl:template match="refentry">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:if test="$refentry.separator != 0 and preceding-sibling::refentry">
-      <div class="refentry.separator">
-        <hr/>
-      </div>
-    </xsl:if>
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="conditional" select="0"/>
-    </xsl:call-template>
-    <xsl:call-template name="refentry.titlepage"/>
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="refentry/docinfo|refentry/refentryinfo"/>
-<xsl:template match="refentry/info"/>
-
-<xsl:template match="refentrytitle|refname|refdescriptor" mode="title">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="refmeta">
-</xsl:template>
-
-<xsl:template match="manvolnum">
-  <xsl:if test="$refentry.xref.manvolnum != 0">
-    <xsl:text>(</xsl:text>
-    <xsl:apply-templates/>
-    <xsl:text>)</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refmiscinfo">
-</xsl:template>
-
-<xsl:template match="refentrytitle">
-  <xsl:call-template name="inline.charseq"/>
-</xsl:template>
-
-<xsl:template match="refnamediv">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="anchor"/>
-
-    <xsl:choose>
-      <xsl:when test="preceding-sibling::refnamediv">
-	<!-- no title on secondary refnamedivs! -->
-      </xsl:when>
-      <xsl:when test="$refentry.generate.name != 0">
-        <h2>
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'RefName'"/>
-          </xsl:call-template>
-        </h2>
-      </xsl:when>
-      <xsl:when test="$refentry.generate.title != 0">
-        <h2>
-          <xsl:choose>
-            <xsl:when test="../refmeta/refentrytitle">
-              <xsl:apply-templates select="../refmeta/refentrytitle"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="refname[1]"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </h2>
-      </xsl:when>
-    </xsl:choose>
-
-    <p>
-      <xsl:apply-templates/>
-    </p>
-  </div>
-</xsl:template>
-
-<xsl:template match="refname">
-  <xsl:if test="not(preceding-sibling::refdescriptor)">
-    <xsl:apply-templates/>
-    <xsl:if test="following-sibling::refname">
-      <xsl:text>, </xsl:text>
-    </xsl:if>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refpurpose">
-  <xsl:if test="node()">
-    <xsl:text> </xsl:text>
-    <xsl:call-template name="dingbat">
-      <xsl:with-param name="dingbat">em-dash</xsl:with-param>
-    </xsl:call-template>
-    <xsl:text> </xsl:text>
-    <xsl:apply-templates/>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refdescriptor">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="refclass">
-  <xsl:if test="$refclass.suppress = 0">
-  <p>
-    <b>
-      <xsl:if test="@role">
-        <xsl:value-of select="@role"/>
-        <xsl:text>: </xsl:text>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </b>
-  </p>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refsynopsisdiv">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="anchor"/>
-    <h2>
-      <xsl:choose>
-        <xsl:when test="refsynopsisdiv/title|title">
-          <xsl:apply-templates select="(refsynopsisdiv/title|title)[1]" mode="titlepage.mode"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'RefSynopsisDiv'"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </h2>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="refsynopsisdivinfo"/>
-
-<xsl:template match="refsynopsisdiv/title">
-</xsl:template>
-
-<xsl:template match="refsynopsisdiv/title" mode="titlepage.mode">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="refsection|refsect1|refsect2|refsect3">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="conditional" select="0"/>
-    </xsl:call-template>
-    <!-- pick up info title -->
-    <xsl:apply-templates select="(title|info/title)[1]"/>
-    <xsl:apply-templates select="node()[not(self::title) and not(self::info)]"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="refsection/title|refsection/info/title">
-  <!-- the ID is output in the block.object call for refsect1 -->
-  <xsl:variable name="level" select="count(ancestor-or-self::refsection)"/>
-  <xsl:variable name="refsynopsisdiv">
-    <xsl:text>0</xsl:text>
-    <xsl:if test="ancestor::refsynopsisdiv">1</xsl:if>
-  </xsl:variable>
-  <xsl:variable name="hlevel">
-    <xsl:choose>
-      <xsl:when test="$level+$refsynopsisdiv &gt; 5">6</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$level+1+$refsynopsisdiv"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:element name="h{$hlevel}" namespace="http://www.w3.org/1999/xhtml">
-    <xsl:apply-templates/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="refsect1/title|refsect1/info/title">
-  <!-- the ID is output in the block.object call for refsect1 -->
-  <h2>
-    <xsl:apply-templates/>
-  </h2>
-</xsl:template>
-
-<xsl:template match="refsect2/title|refsect2/info/title">
-  <!-- the ID is output in the block.object call for refsect2 -->
-  <h3>
-    <xsl:apply-templates/>
-  </h3>
-</xsl:template>
-
-<xsl:template match="refsect3/title|refsect3/info/title">
-  <!-- the ID is output in the block.object call for refsect3 -->
-  <h4>
-    <xsl:apply-templates/>
-  </h4>
-</xsl:template>
-
-<xsl:template match="refsectioninfo|refsection/info"/>
-<xsl:template match="refsect1info|refsect1/info"/>
-<xsl:template match="refsect2info|refsect2/info"/>
-<xsl:template match="refsect3info|refsect3/info"/>
-
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/sections.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/sections.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,548 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="section">
-  <xsl:variable name="depth" select="count(ancestor::section)+1"/>
-
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:call-template name="section.titlepage"/>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')                   and $depth &lt;= $generate.section.toc.level">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.chunk.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template name="section.title">
-  <!-- the context node should be the title of a section when called -->
-  <xsl:variable name="section" select="(ancestor::section                                         |ancestor::simplesect                                         |ancestor::sect1                                         |ancestor::sect2                                         |ancestor::sect3                                         |ancestor::sect4                                         |ancestor::sect5)[last()]"/>
-
-  <xsl:variable name="renderas">
-    <xsl:choose>
-      <xsl:when test="$section/@renderas = 'sect1'">1</xsl:when>
-      <xsl:when test="$section/@renderas = 'sect2'">2</xsl:when>
-      <xsl:when test="$section/@renderas = 'sect3'">3</xsl:when>
-      <xsl:when test="$section/@renderas = 'sect4'">4</xsl:when>
-      <xsl:when test="$section/@renderas = 'sect5'">5</xsl:when>
-      <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="level">
-    <xsl:choose>
-      <xsl:when test="$renderas != ''">
-        <xsl:value-of select="$renderas"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="section.level">
-          <xsl:with-param name="node" select="$section"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="section.heading">
-    <xsl:with-param name="section" select="$section"/>
-    <xsl:with-param name="level" select="$level"/>
-    <xsl:with-param name="title">
-      <xsl:apply-templates select="$section" mode="object.title.markup">
-        <xsl:with-param name="allow-anchors" select="1"/>
-      </xsl:apply-templates>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="section/title                     |section/info/title                     |sectioninfo/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.title"/>
-</xsl:template>
-
-<xsl:template match="sect1">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-
-    <xsl:choose>
-      <xsl:when test="@renderas = 'sect2'">
-        <xsl:call-template name="sect2.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect3'">
-        <xsl:call-template name="sect3.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect4'">
-        <xsl:call-template name="sect4.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect5'">
-        <xsl:call-template name="sect5.titlepage"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="sect1.titlepage"/>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')                   and $generate.section.toc.level &gt;= 1">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.chunk.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="sect1/title                     |sect1/info/title                     |sect1info/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.title"/>
-</xsl:template>
-
-<xsl:template match="sect2">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-
-    <xsl:choose>
-      <xsl:when test="@renderas = 'sect1'">
-        <xsl:call-template name="sect1.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect3'">
-        <xsl:call-template name="sect3.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect4'">
-        <xsl:call-template name="sect4.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect5'">
-        <xsl:call-template name="sect5.titlepage"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="sect2.titlepage"/>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')                   and $generate.section.toc.level &gt;= 2">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.chunk.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="sect2/title                     |sect2/info/title                     |sect2info/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.title"/>
-</xsl:template>
-
-<xsl:template match="sect3">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-
-    <xsl:choose>
-      <xsl:when test="@renderas = 'sect1'">
-        <xsl:call-template name="sect1.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect2'">
-        <xsl:call-template name="sect2.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect4'">
-        <xsl:call-template name="sect4.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect5'">
-        <xsl:call-template name="sect5.titlepage"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="sect3.titlepage"/>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')                   and $generate.section.toc.level &gt;= 3">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.chunk.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="sect3/title                     |sect3/info/title                     |sect3info/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.title"/>
-</xsl:template>
-
-<xsl:template match="sect4">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-
-    <xsl:choose>
-      <xsl:when test="@renderas = 'sect1'">
-        <xsl:call-template name="sect1.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect2'">
-        <xsl:call-template name="sect2.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect3'">
-        <xsl:call-template name="sect3.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect5'">
-        <xsl:call-template name="sect5.titlepage"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="sect4.titlepage"/>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')                   and $generate.section.toc.level &gt;= 4">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.chunk.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="sect4/title                     |sect4/info/title                     |sect4info/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.title"/>
-</xsl:template>
-
-<xsl:template match="sect5">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-
-    <xsl:choose>
-      <xsl:when test="@renderas = 'sect1'">
-        <xsl:call-template name="sect1.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect2'">
-        <xsl:call-template name="sect2.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect3'">
-        <xsl:call-template name="sect3.titlepage"/>
-      </xsl:when>
-      <xsl:when test="@renderas = 'sect4'">
-        <xsl:call-template name="sect4.titlepage"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="sect5.titlepage"/>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:variable name="toc.params">
-      <xsl:call-template name="find.path.params">
-        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:if test="contains($toc.params, 'toc')                   and $generate.section.toc.level &gt;= 5">
-      <xsl:call-template name="section.toc">
-        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-      </xsl:call-template>
-      <xsl:call-template name="section.toc.separator"/>
-    </xsl:if>
-    <xsl:apply-templates/>
-    <xsl:call-template name="process.chunk.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="sect5/title                     |sect5/info/title                     |sect5info/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.title"/>
-</xsl:template>
-
-<xsl:template match="simplesect">
-  <xsl:call-template name="id.warning"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="dir">
-      <xsl:with-param name="inherit" select="1"/>
-    </xsl:call-template>
-    <xsl:call-template name="language.attribute"/>
-    <xsl:call-template name="simplesect.titlepage"/>
-    <xsl:apply-templates/>
-  </div>
-</xsl:template>
-
-<xsl:template match="simplesect/title|simplesect/info/title" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.title"/>
-</xsl:template>
-
-<xsl:template match="section/title"/>
-<xsl:template match="section/titleabbrev"/>
-<xsl:template match="section/subtitle"/>
-<xsl:template match="sectioninfo"/>
-<xsl:template match="section/info"/>
-
-<xsl:template match="sect1/title"/>
-<xsl:template match="sect1/titleabbrev"/>
-<xsl:template match="sect1/subtitle"/>
-<xsl:template match="sect1info"/>
-<xsl:template match="sect1/info"/>
-
-<xsl:template match="sect2/title"/>
-<xsl:template match="sect2/subtitle"/>
-<xsl:template match="sect2/titleabbrev"/>
-<xsl:template match="sect2info"/>
-<xsl:template match="sect2/info"/>
-
-<xsl:template match="sect3/title"/>
-<xsl:template match="sect3/subtitle"/>
-<xsl:template match="sect3/titleabbrev"/>
-<xsl:template match="sect3info"/>
-<xsl:template match="sect3/info"/>
-
-<xsl:template match="sect4/title"/>
-<xsl:template match="sect4/subtitle"/>
-<xsl:template match="sect4/titleabbrev"/>
-<xsl:template match="sect4info"/>
-<xsl:template match="sect4/info"/>
-
-<xsl:template match="sect5/title"/>
-<xsl:template match="sect5/subtitle"/>
-<xsl:template match="sect5/titleabbrev"/>
-<xsl:template match="sect5info"/>
-<xsl:template match="sect5/info"/>
-
-<xsl:template match="simplesect/title"/>
-<xsl:template match="simplesect/subtitle"/>
-<xsl:template match="simplesect/titleabbrev"/>
-<xsl:template match="simplesect/info"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="section.heading">
-  <xsl:param name="section" select="."/>
-  <xsl:param name="level" select="1"/>
-  <xsl:param name="allow-anchors" select="1"/>
-  <xsl:param name="title"/>
-  <xsl:param name="class" select="'title'"/>
-
-  <xsl:variable name="id">
-    <xsl:choose>
-      <!-- if title is in an *info wrapper, get the grandparent -->
-      <xsl:when test="contains(local-name(..), 'info')">
-        <xsl:call-template name="object.id">
-          <xsl:with-param name="object" select="../.."/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="object.id">
-          <xsl:with-param name="object" select=".."/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- HTML H level is one higher than section level -->
-  <xsl:variable name="hlevel">
-    <xsl:choose>
-      <!-- highest valid HTML H level is H6; so anything nested deeper
-           than 5 levels down just becomes H6 -->
-      <xsl:when test="$level &gt; 5">6</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$level + 1"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:element name="h{$hlevel}" namespace="http://www.w3.org/1999/xhtml">
-    <xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>
-    <xsl:if test="$css.decoration != '0'">
-      <xsl:if test="$hlevel&lt;3">
-        <xsl:attribute name="style">clear: both</xsl:attribute>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="$allow-anchors != 0 and $generate.id.attributes = 0">
-      <xsl:call-template name="anchor">
-        <xsl:with-param name="node" select="$section"/>
-        <xsl:with-param name="conditional" select="0"/>
-      </xsl:call-template>
-    </xsl:if>
-    <xsl:if test="$generate.id.attributes != 0 and not(local-name(.) = 'appendix')">
-      <xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
-    </xsl:if>
-    <xsl:copy-of select="$title"/>
-  </xsl:element>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="bridgehead">
-  <xsl:variable name="container" select="(ancestor::appendix                         |ancestor::article                         |ancestor::bibliography                         |ancestor::chapter                         |ancestor::glossary                         |ancestor::glossdiv                         |ancestor::index                         |ancestor::partintro                         |ancestor::preface                         |ancestor::refsect1                         |ancestor::refsect2                         |ancestor::refsect3                         |ancestor::sect1                         |ancestor::sect2                         |ancestor::sect3                         |ancestor::sect4                         |ancestor::sect5                         |ancestor::section                         |ancestor::setindex                         |ancestor::simplesect)[last()]"/>
-
-  <xsl:variable name="clevel">
-    <xsl:choose>
-      <xsl:when test="local-name($container) = 'appendix'                       or local-name($container) = 'chapter'                       or local-name($container) = 'article'                       or local-name($container) = 'bibliography'                       or local-name($container) = 'glossary'                       or local-name($container) = 'index'                       or local-name($container) = 'partintro'                       or local-name($container) = 'preface'                       or local-name($container) = 'setindex'">1</xsl:when>
-      <xsl:when test="local-name($container) = 'glossdiv'">
-        <xsl:value-of select="count(ancestor::glossdiv)+1"/>
-      </xsl:when>
-      <xsl:when test="local-name($container) = 'sect1'                       or local-name($container) = 'sect2'                       or local-name($container) = 'sect3'                       or local-name($container) = 'sect4'                       or local-name($container) = 'sect5'                       or local-name($container) = 'refsect1'                       or local-name($container) = 'refsect2'                       or local-name($container) = 'refsect3'                       or local-name($container) = 'section'                       or local-name($container) = 'simplesect'">
-        <xsl:variable name="slevel">
-          <xsl:call-template name="section.level">
-            <xsl:with-param name="node" select="$container"/>
-          </xsl:call-template>
-        </xsl:variable>
-        <xsl:value-of select="$slevel + 1"/>
-      </xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- HTML H level is one higher than section level -->
-  <xsl:variable name="hlevel">
-    <xsl:choose>
-      <xsl:when test="@renderas = 'sect1'">2</xsl:when>
-      <xsl:when test="@renderas = 'sect2'">3</xsl:when>
-      <xsl:when test="@renderas = 'sect3'">4</xsl:when>
-      <xsl:when test="@renderas = 'sect4'">5</xsl:when>
-      <xsl:when test="@renderas = 'sect5'">6</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$clevel + 1"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:element name="h{$hlevel}" namespace="http://www.w3.org/1999/xhtml">
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="conditional" select="0"/>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="section/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.subtitle"/>
-</xsl:template>
-
-<xsl:template match="simplesect/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.subtitle"/>
-</xsl:template>
-
-<xsl:template match="sect1/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.subtitle"/>
-</xsl:template>
-
-<xsl:template match="sect2/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.subtitle"/>
-</xsl:template>
-
-<xsl:template match="sect3/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.subtitle"/>
-</xsl:template>
-
-<xsl:template match="sect4/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.subtitle"/>
-</xsl:template>
-
-<xsl:template match="sect5/subtitle" mode="titlepage.mode" priority="2">
-  <xsl:call-template name="section.subtitle"/>
-</xsl:template>
-
-<xsl:template name="section.subtitle">
-  <!-- the context node should be the subtitle of a section when called -->
-  <xsl:variable name="section" select="(ancestor::section                                         |ancestor::simplesect                                         |ancestor::sect1                                         |ancestor::sect2                                         |ancestor::sect3                                         |ancestor::sect4                                         |ancestor::sect5)[last()]"/>
-
-  <xsl:variable name="level">
-    <xsl:call-template name="section.level">
-      <xsl:with-param name="node" select="$section"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:call-template name="section.heading">
-    <xsl:with-param name="section" select=".."/>
-    <xsl:with-param name="allow-anchors" select="0"/>
-    <!-- subtitle heading level one higher than section level -->
-    <xsl:with-param name="level" select="$level + 1"/>
-    <xsl:with-param name="class" select="'subtitle'"/>
-    <xsl:with-param name="title">
-      <xsl:apply-templates select="$section" mode="object.subtitle.markup">
-        <xsl:with-param name="allow-anchors" select="0"/>
-      </xsl:apply-templates>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/synop.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/synop.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1551 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<!-- synopsis is in verbatim -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="cmdsynopsis">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <p>
-      <xsl:if test="..//processing-instruction('dbcmdlist')">
-        <!-- * Placing a dbcmdlist PI as a child of a particular element -->
-        <!-- * creates a hyperlinked list of all cmdsynopsis instances -->
-        <!-- * that are descendants of that element; so for any -->
-        <!-- * cmdsynopsis that is a descendant of an element containing -->
-        <!-- * a dbcmdlist PI, we need to output an a@id instance so that -->
-        <!-- * we will have something to link to -->
-        <xsl:call-template name="anchor">
-          <xsl:with-param name="conditional" select="0"/>
-        </xsl:call-template>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </p>
-  </div>
-</xsl:template>
-
-<xsl:template match="cmdsynopsis/command">
-  <br/>
-  <xsl:call-template name="inline.monoseq"/>
-  <xsl:text> </xsl:text>
-</xsl:template>
-
-<xsl:template match="cmdsynopsis/command[1]" priority="2">
-  <xsl:call-template name="inline.monoseq"/>
-  <xsl:text> </xsl:text>
-</xsl:template>
-
-<xsl:template match="group|arg" name="group-or-arg">
-  <xsl:variable name="choice" select="@choice"/>
-  <xsl:variable name="rep" select="@rep"/>
-  <xsl:variable name="sepchar">
-    <xsl:choose>
-      <xsl:when test="ancestor-or-self::*/@sepchar">
-        <xsl:value-of select="ancestor-or-self::*/@sepchar"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:text> </xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:if test="preceding-sibling::*">
-    <xsl:value-of select="$sepchar"/>
-  </xsl:if>
-  <xsl:choose>
-    <xsl:when test="$choice='plain'">
-      <xsl:value-of select="$arg.choice.plain.open.str"/>
-    </xsl:when>
-    <xsl:when test="$choice='req'">
-      <xsl:value-of select="$arg.choice.req.open.str"/>
-    </xsl:when>
-    <xsl:when test="$choice='opt'">
-      <xsl:value-of select="$arg.choice.opt.open.str"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$arg.choice.def.open.str"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:apply-templates/>
-  <xsl:choose>
-    <xsl:when test="$rep='repeat'">
-      <xsl:value-of select="$arg.rep.repeat.str"/>
-    </xsl:when>
-    <xsl:when test="$rep='norepeat'">
-      <xsl:value-of select="$arg.rep.norepeat.str"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$arg.rep.def.str"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:choose>
-    <xsl:when test="$choice='plain'">
-      <xsl:value-of select="$arg.choice.plain.close.str"/>
-    </xsl:when>
-    <xsl:when test="$choice='req'">
-      <xsl:value-of select="$arg.choice.req.close.str"/>
-    </xsl:when>
-    <xsl:when test="$choice='opt'">
-      <xsl:value-of select="$arg.choice.opt.close.str"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$arg.choice.def.close.str"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="group/arg">
-  <xsl:variable name="choice" select="@choice"/>
-  <xsl:variable name="rep" select="@rep"/>
-  <xsl:if test="preceding-sibling::*">
-    <xsl:value-of select="$arg.or.sep"/>
-  </xsl:if>
-  <xsl:call-template name="group-or-arg"/>
-</xsl:template>
-
-<xsl:template match="sbr">
-  <br/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="synopfragmentref">
-  <xsl:variable name="target" select="key('id',@linkend)"/>
-  <xsl:variable name="snum">
-    <xsl:apply-templates select="$target" mode="synopfragment.number"/>
-  </xsl:variable>
-  <i>
-    <a href="#{@linkend}">
-      <xsl:text>(</xsl:text>
-      <xsl:value-of select="$snum"/>
-      <xsl:text>)</xsl:text>
-    </a>
-    <xsl:text>&#160;</xsl:text>
-    <xsl:apply-templates/>
-  </i>
-</xsl:template>
-
-<xsl:template match="synopfragment" mode="synopfragment.number">
-  <xsl:number format="1"/>
-</xsl:template>
-
-<xsl:template match="synopfragment">
-  <xsl:variable name="snum">
-    <xsl:apply-templates select="." mode="synopfragment.number"/>
-  </xsl:variable>
-  <p>
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:variable>
-    <a id="{$id}">
-      <xsl:text>(</xsl:text>
-      <xsl:value-of select="$snum"/>
-      <xsl:text>)</xsl:text>
-    </a>
-    <xsl:text> </xsl:text>
-    <xsl:apply-templates/>
-  </p>
-</xsl:template>
-
-<xsl:template match="funcsynopsis">
-  <xsl:if test="..//processing-instruction('dbfunclist')">
-    <!-- * Placing a dbfunclist PI as a child of a particular element -->
-    <!-- * creates a hyperlinked list of all funcsynopsis instances that -->
-    <!-- * are descendants of that element; so for any funcsynopsis that is -->
-    <!-- * a descendant of an element containing a dbfunclist PI, we need -->
-    <!-- * to output an a@id instance so that we will have something to -->
-    <!-- * link to -->
-    <xsl:call-template name="anchor">
-      <xsl:with-param name="conditional" select="0"/>
-    </xsl:call-template>
-  </xsl:if>
-  <xsl:call-template name="informal.object"/>
-</xsl:template>
-
-<xsl:template match="funcsynopsisinfo">
-  <pre>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates/>
-  </pre>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<!-- funcprototype -->
-<!--
-
-funcprototype ::= (funcdef,
-                   (void|varargs|paramdef+))
-
-funcdef       ::= (#PCDATA|type|replaceable|function)*
-
-paramdef      ::= (#PCDATA|type|replaceable|parameter|funcparams)*
--->
-
-<xsl:template match="funcprototype">
-  <xsl:variable name="html-style">
-    <xsl:call-template name="pi.dbhtml_funcsynopsis-style">
-      <xsl:with-param name="node" select="ancestor::funcsynopsis/descendant-or-self::*"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="style">
-    <xsl:choose>
-      <xsl:when test="$html-style != ''">
-        <xsl:value-of select="$html-style"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$funcsynopsis.style"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-<!--
-  <xsl:variable name="tabular-p"
-                select="$funcsynopsis.tabular.threshold &gt; 0
-                        and string-length(.) &gt; $funcsynopsis.tabular.threshold"/>
--->
-
-  <xsl:variable name="tabular-p" select="true()"/>
-
-  <xsl:choose>
-    <xsl:when test="$style = 'kr' and $tabular-p">
-      <xsl:apply-templates select="." mode="kr-tabular"/>
-    </xsl:when>
-    <xsl:when test="$style = 'kr'">
-      <xsl:apply-templates select="." mode="kr-nontabular"/>
-    </xsl:when>
-    <xsl:when test="$style = 'ansi' and $tabular-p">
-      <xsl:apply-templates select="." mode="ansi-tabular"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="." mode="ansi-nontabular"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<!-- funcprototype: kr, non-tabular -->
-
-<xsl:template match="funcprototype" mode="kr-nontabular">
-  <p>
-    <xsl:apply-templates mode="kr-nontabular"/>
-    <xsl:if test="paramdef">
-      <br/>
-      <xsl:apply-templates select="paramdef" mode="kr-funcsynopsis-mode"/>
-    </xsl:if>
-  </p>
-</xsl:template>
-
-<xsl:template match="funcdef" mode="kr-nontabular">
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="kr-nontabular"/>
-    <xsl:text>(</xsl:text>
-  </code>
-</xsl:template>
-
-<xsl:template match="funcdef/function" mode="kr-nontabular">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <b class="fsfunc"><xsl:apply-templates mode="kr-nontabular"/></b>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="kr-nontabular"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="void" mode="kr-nontabular">
-  <code>)</code>
-  <xsl:text>;</xsl:text>
-</xsl:template>
-
-<xsl:template match="varargs" mode="kr-nontabular">
-  <xsl:text>...</xsl:text>
-  <code>)</code>
-  <xsl:text>;</xsl:text>
-</xsl:template>
-
-<xsl:template match="paramdef" mode="kr-nontabular">
-  <xsl:apply-templates select="parameter" mode="kr-nontabular"/>
-  <xsl:choose>
-    <xsl:when test="following-sibling::*">
-      <xsl:text>, </xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <code>)</code>
-      <xsl:text>;</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="paramdef/parameter" mode="kr-nontabular">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <var class="pdparam">
-        <xsl:apply-templates mode="kr-nontabular"/>
-      </var>
-    </xsl:when>
-    <xsl:otherwise>
-      <code>
-	<xsl:apply-templates mode="kr-nontabular"/>
-      </code>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="paramdef" mode="kr-funcsynopsis-mode">
-  <xsl:if test="preceding-sibling::paramdef"><br/></xsl:if>
-  <code>
-    <xsl:apply-templates mode="kr-funcsynopsis-mode"/>
-  </code>
-  <xsl:text>;</xsl:text>
-</xsl:template>
-
-<xsl:template match="paramdef/parameter" mode="kr-funcsynopsis-mode">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <var class="pdparam">
-        <xsl:apply-templates mode="kr-funcsynopsis-mode"/>
-      </var>
-    </xsl:when>
-    <xsl:otherwise>
-      <code>
-	<xsl:apply-templates mode="kr-funcsynopsis-mode"/>
-      </code>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="funcparams" mode="kr-funcsynopsis-mode">
-  <code>(</code>
-  <xsl:apply-templates mode="kr-funcsynopsis-mode"/>
-  <code>)</code>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<!-- funcprototype: kr, tabular -->
-
-<xsl:template match="funcprototype" mode="kr-tabular">
-  <table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
-    <tr>
-      <td>
-        <xsl:apply-templates select="funcdef" mode="kr-tabular"/>
-      </td>
-      <xsl:apply-templates select="(void|varargs|paramdef)[1]" mode="kr-tabular"/>
-    </tr>
-    <xsl:for-each select="(void|varargs|paramdef)[preceding-sibling::*[not(self::funcdef)]]">
-      <tr>
-        <td>&#160;</td>
-        <xsl:apply-templates select="." mode="kr-tabular"/>
-      </tr>
-    </xsl:for-each>
-  </table>
-  <xsl:if test="paramdef">
-    <table border="0" summary="Function argument synopsis" cellspacing="0" cellpadding="0">
-      <xsl:if test="following-sibling::funcprototype">
-        <xsl:attribute name="style">padding-bottom: 1em</xsl:attribute>
-      </xsl:if>
-      <xsl:apply-templates select="paramdef" mode="kr-tabular-funcsynopsis-mode"/>
-    </table>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="funcdef" mode="kr-tabular">
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="kr-tabular"/>
-    <xsl:text>(</xsl:text>
-  </code>
-</xsl:template>
-
-<xsl:template match="funcdef/function" mode="kr-tabular">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <b class="fsfunc"><xsl:apply-templates mode="kr-nontabular"/></b>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="kr-tabular"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="void" mode="kr-tabular">
-  <td>
-    <code>)</code>
-    <xsl:text>;</xsl:text>
-  </td>
-  <td>&#160;</td>
-</xsl:template>
-
-<xsl:template match="varargs" mode="kr-tabular">
-  <td>
-    <xsl:text>...</xsl:text>
-    <code>)</code>
-    <xsl:text>;</xsl:text>
-  </td>
-  <td>&#160;</td>
-</xsl:template>
-
-<xsl:template match="paramdef" mode="kr-tabular">
-  <td>
-    <xsl:apply-templates select="parameter" mode="kr-tabular"/>
-    <xsl:choose>
-      <xsl:when test="following-sibling::*">
-	<xsl:text>, </xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-	<code>)</code>
-	<xsl:text>;</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </td>
-  <td>&#160;</td>
-</xsl:template>
-
-<xsl:template match="paramdef/parameter" mode="kr-tabular">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <var class="pdparam">
-        <xsl:apply-templates mode="kr-tabular"/>
-      </var>
-    </xsl:when>
-    <xsl:otherwise>
-      <code>
-	<xsl:apply-templates mode="kr-tabular"/>
-      </code>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="paramdef" mode="kr-tabular-funcsynopsis-mode">
-  <xsl:variable name="type">
-    <xsl:choose>
-      <xsl:when test="type">
-	<xsl:apply-templates select="type" mode="kr-tabular-funcsynopsis-mode"/>
-      </xsl:when>
-      <xsl:when test="normalize-space(parameter/preceding-sibling::node()[not(self::parameter)]) != ''">
-	<xsl:copy-of select="parameter/preceding-sibling::node()[not(self::parameter)]"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <tr>
-    <xsl:choose>
-      <xsl:when test="$type != '' and funcparams">
-        <td>
-	  <code>
-	    <xsl:copy-of select="$type"/>
-	  </code>
-          <xsl:text>&#160;</xsl:text>
-        </td>
-        <td>
-	  <code>
-	    <xsl:choose>
-	      <xsl:when test="type">
-		<xsl:apply-templates select="type/following-sibling::*" mode="kr-tabular-funcsynopsis-mode"/>
-	      </xsl:when>
-	      <xsl:otherwise>
-		<xsl:apply-templates select="*" mode="kr-tabular-funcsynopsis-mode"/>
-	      </xsl:otherwise>
-	    </xsl:choose>
-	  </code>
-        </td>
-      </xsl:when>
-
-      <xsl:when test="funcparams">
-        <td colspan="2">
-	  <code>
-	    <xsl:apply-templates mode="kr-tabular-funcsynopsis-mode"/>
-	  </code>
-        </td>
-      </xsl:when>
-
-      <xsl:otherwise>
-        <td>
-	  <code>
-	    <xsl:apply-templates select="parameter/preceding-sibling::node()[not(self::parameter)]" mode="kr-tabular-funcsynopsis-mode"/>
-	  </code>
-          <xsl:text>&#160;</xsl:text>
-        </td>
-        <td>
-	  <code>
-	    <xsl:apply-templates select="parameter" mode="kr-tabular"/>
-	    <xsl:apply-templates select="parameter/following-sibling::*[not(self::parameter)]" mode="kr-tabular-funcsynopsis-mode"/>
-	    <xsl:text>;</xsl:text>
-	  </code>
-        </td>
-      </xsl:otherwise>
-    </xsl:choose>
-  </tr>
-</xsl:template>
-
-<xsl:template match="paramdef/parameter" mode="kr-tabular-funcsynopsis-mode">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <var class="pdparam">
-        <xsl:apply-templates mode="kr-tabular-funcsynopsis-mode"/>
-      </var>
-    </xsl:when>
-    <xsl:otherwise>
-      <code>
-	<xsl:apply-templates mode="kr-tabular-funcsynopsis-mode"/>
-      </code>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="funcparams" mode="kr-tabular-funcsynopsis-mode">
-  <code>(</code>
-  <xsl:apply-templates mode="kr-tabular-funcsynopsis-mode"/>
-  <code>)</code>
-  <xsl:text>;</xsl:text>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<!-- funcprototype: ansi, non-tabular -->
-
-<xsl:template match="funcprototype" mode="ansi-nontabular">
-  <p>
-    <xsl:apply-templates mode="ansi-nontabular"/>
-  </p>
-</xsl:template>
-
-<xsl:template match="funcdef" mode="ansi-nontabular">
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="ansi-nontabular"/>
-    <xsl:text>(</xsl:text>
-  </code>
-</xsl:template>
-
-<xsl:template match="funcdef/function" mode="ansi-nontabular">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <b class="fsfunc"><xsl:apply-templates mode="ansi-nontabular"/></b>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="ansi-nontabular"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="void" mode="ansi-nontabular">
-  <code>void)</code>
-  <xsl:text>;</xsl:text>
-</xsl:template>
-
-<xsl:template match="varargs" mode="ansi-nontabular">
-  <xsl:text>...</xsl:text>
-  <code>)</code>
-  <xsl:text>;</xsl:text>
-</xsl:template>
-
-<xsl:template match="paramdef" mode="ansi-nontabular">
-  <xsl:apply-templates mode="ansi-nontabular"/>
-  <xsl:choose>
-    <xsl:when test="following-sibling::*">
-      <xsl:text>, </xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <code>)</code>
-      <xsl:text>;</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="paramdef/parameter" mode="ansi-nontabular">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <var class="pdparam">
-        <xsl:apply-templates mode="ansi-nontabular"/>
-      </var>
-    </xsl:when>
-    <xsl:otherwise>
-      <code>
-	<xsl:apply-templates mode="ansi-nontabular"/>
-      </code>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="funcparams" mode="ansi-nontabular">
-  <code>(</code>
-  <xsl:apply-templates mode="ansi-nontabular"/>
-  <code>)</code>
-</xsl:template>
-
-<!-- ====================================================================== -->
-<!-- funcprototype: ansi, tabular -->
-
-<xsl:template match="funcprototype" mode="ansi-tabular">
-  <table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
-    <xsl:if test="following-sibling::funcprototype">
-      <xsl:attribute name="style">padding-bottom: 1em</xsl:attribute>
-    </xsl:if>
-    <tr>
-      <td>
-        <xsl:apply-templates select="funcdef" mode="ansi-tabular"/>
-      </td>
-      <xsl:apply-templates select="(void|varargs|paramdef)[1]" mode="ansi-tabular"/>
-    </tr>
-    <xsl:for-each select="(void|varargs|paramdef)[preceding-sibling::*[not(self::funcdef)]]">
-      <tr>
-        <td>&#160;</td>
-        <xsl:apply-templates select="." mode="ansi-tabular"/>
-      </tr>
-    </xsl:for-each>
-  </table>
-</xsl:template>
-
-<xsl:template match="funcdef" mode="ansi-tabular">
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="ansi-tabular"/>
-    <xsl:text>(</xsl:text>
-  </code>
-</xsl:template>
-
-<xsl:template match="funcdef/function" mode="ansi-tabular">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <b class="fsfunc"><xsl:apply-templates mode="ansi-nontabular"/></b>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="kr-tabular"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="void" mode="ansi-tabular">
-  <td>
-    <code>void)</code>
-    <xsl:text>;</xsl:text>
-  </td>
-  <td>&#160;</td>
-</xsl:template>
-
-<xsl:template match="varargs" mode="ansi-tabular">
-  <td>
-    <xsl:text>...</xsl:text>
-    <code>)</code>
-    <xsl:text>;</xsl:text>
-  </td>
-  <td>&#160;</td>
-</xsl:template>
-
-<xsl:template match="paramdef" mode="ansi-tabular">
-  <xsl:variable name="type">
-    <xsl:choose>
-      <xsl:when test="type">
-	<xsl:apply-templates select="type" mode="ansi-tabular"/>
-      </xsl:when>
-      <xsl:when test="normalize-space(parameter/preceding-sibling::node()[not(self::parameter)]) != ''">
-	<xsl:copy-of select="parameter/preceding-sibling::node()[not(self::parameter)]"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$type != '' and funcparams">
-      <td>
-	<xsl:copy-of select="$type"/>
-        <xsl:text>&#160;</xsl:text>
-      </td>
-      <td>
-	<xsl:choose>
-	  <xsl:when test="type">
-	    <xsl:apply-templates select="type/following-sibling::*" mode="ansi-tabular"/>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:apply-templates select="*" mode="ansi-tabular"/>
-	  </xsl:otherwise>
-	</xsl:choose>
-        <xsl:choose>
-          <xsl:when test="following-sibling::*">
-            <xsl:text>, </xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <code>)</code>
-            <xsl:text>;</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </td>
-    </xsl:when>
-    <xsl:otherwise>
-      <td>
-        <xsl:apply-templates select="parameter/preceding-sibling::node()[not(self::parameter)]" mode="ansi-tabular"/>
-        <xsl:text>&#160;</xsl:text>
-      </td>
-      <td>
-        <xsl:apply-templates select="parameter" mode="ansi-tabular"/>
-        <xsl:apply-templates select="parameter/following-sibling::*[not(self::parameter)]" mode="ansi-tabular"/>
-        <xsl:choose>
-          <xsl:when test="following-sibling::*">
-            <xsl:text>, </xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <code>)</code>
-            <xsl:text>;</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </td>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="paramdef/parameter" mode="ansi-tabular">
-  <xsl:choose>
-    <xsl:when test="$funcsynopsis.decoration != 0">
-      <var class="pdparam">
-        <xsl:apply-templates mode="ansi-tabular"/>
-      </var>
-    </xsl:when>
-    <xsl:otherwise>
-      <code>
-	<xsl:apply-templates mode="ansi-tabular"/>
-      </code>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="funcparams" mode="ansi-tabular">
-  <code>(</code>
-  <xsl:apply-templates/>
-  <code>)</code>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:variable name="default-classsynopsis-language">java</xsl:variable>
-
-<xsl:template match="classsynopsis                      |fieldsynopsis                      |methodsynopsis                      |constructorsynopsis                      |destructorsynopsis">
-  <xsl:param name="language">
-    <xsl:choose>
-      <xsl:when test="@language">
-	<xsl:value-of select="@language"/>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:value-of select="$default-classsynopsis-language"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="$language='java' or $language='Java'">
-      <xsl:apply-templates select="." mode="java"/>
-    </xsl:when>
-    <xsl:when test="$language='perl' or $language='Perl'">
-      <xsl:apply-templates select="." mode="perl"/>
-    </xsl:when>
-    <xsl:when test="$language='idl' or $language='IDL'">
-      <xsl:apply-templates select="." mode="idl"/>
-    </xsl:when>
-    <xsl:when test="$language='cpp' or $language='c++' or $language='C++'">
-      <xsl:apply-templates select="." mode="cpp"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-	<xsl:text>Unrecognized language on </xsl:text>
-        <xsl:value-of select="local-name(.)"/>
-        <xsl:text>: </xsl:text>
-	<xsl:value-of select="$language"/>
-      </xsl:message>
-      <xsl:apply-templates select=".">
-	<xsl:with-param name="language" select="$default-classsynopsis-language"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="synop-break">
-  <xsl:if test="parent::classsynopsis                 or (following-sibling::fieldsynopsis                     |following-sibling::methodsynopsis                     |following-sibling::constructorsynopsis                     |following-sibling::destructorsynopsis)">
-    <br/>
-  </xsl:if>
-</xsl:template>
-
-
-<!-- ===== Java ======================================================== -->
-
-<xsl:template match="classsynopsis" mode="java">
-  <pre>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates select="ooclass[1]" mode="java"/>
-    <xsl:if test="ooclass[preceding-sibling::*]">
-      <xsl:text> extends</xsl:text>
-      <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="java"/>
-      <xsl:if test="oointerface|ooexception">
-        <br/>
-	<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="oointerface">
-      <xsl:text>implements</xsl:text>
-      <xsl:apply-templates select="oointerface" mode="java"/>
-      <xsl:if test="ooexception">
-        <br/>
-	<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="ooexception">
-      <xsl:text>throws</xsl:text>
-      <xsl:apply-templates select="ooexception" mode="java"/>
-    </xsl:if>
-    <xsl:text>&#160;{</xsl:text>
-    <br/>
-    <xsl:apply-templates select="constructorsynopsis                                  |destructorsynopsis                                  |fieldsynopsis                                  |methodsynopsis                                  |classsynopsisinfo" mode="java"/>
-    <xsl:text>}</xsl:text>
-  </pre>
-</xsl:template>
-
-<xsl:template match="classsynopsisinfo" mode="java">
-  <xsl:apply-templates mode="java"/>
-</xsl:template>
-
-<xsl:template match="ooclass|oointerface|ooexception" mode="java">
-  <xsl:choose>
-    <xsl:when test="preceding-sibling::*">
-      <xsl:text>, </xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:text> </xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="java"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="modifier|package" mode="java">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="java"/>
-    <xsl:if test="following-sibling::*">
-      <xsl:text>&#160;</xsl:text>
-    </xsl:if>
-  </span>
-</xsl:template>
-
-<xsl:template match="classname" mode="java">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="java"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="interfacename" mode="java">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="java"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="exceptionname" mode="java">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="java"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="fieldsynopsis" mode="java">
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="parent::classsynopsis">
-      <xsl:text>&#160;&#160;</xsl:text>
-    </xsl:if>
-    <xsl:apply-templates mode="java"/>
-    <xsl:text>;</xsl:text>
-  </code>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<xsl:template match="type" mode="java">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="java"/>
-    <xsl:text>&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="varname" mode="java">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="java"/>
-    <xsl:text>&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="initializer" mode="java">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>=&#160;</xsl:text>
-    <xsl:apply-templates mode="java"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="void" mode="java">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>void&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="methodname" mode="java">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="java"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="methodparam" mode="java">
-  <xsl:param name="indent">0</xsl:param>
-  <xsl:if test="preceding-sibling::methodparam">
-    <xsl:text>,</xsl:text>
-    <br/>
-    <xsl:if test="$indent &gt; 0">
-      <xsl:call-template name="copy-string">
-	<xsl:with-param name="string">&#160;</xsl:with-param>
-	<xsl:with-param name="count" select="$indent + 1"/>
-      </xsl:call-template>
-    </xsl:if>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="java"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="parameter" mode="java">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="java"/>
-  </span>
-</xsl:template>
-
-<xsl:template mode="java" match="constructorsynopsis|destructorsynopsis|methodsynopsis">
-  <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/>
-  <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/>
-  <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/>
-  <xsl:variable name="decl">
-    <xsl:if test="parent::classsynopsis">
-      <xsl:text>&#160;&#160;</xsl:text>
-    </xsl:if>
-    <xsl:apply-templates select="$start-modifiers" mode="java"/>
-
-    <!-- type -->
-    <xsl:if test="local-name($notmod[1]) != 'methodname'">
-      <xsl:apply-templates select="$notmod[1]" mode="java"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="methodname" mode="java"/>
-  </xsl:variable>
-
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:copy-of select="$decl"/>
-    <xsl:text>(</xsl:text>
-    <xsl:apply-templates select="methodparam" mode="java">
-      <xsl:with-param name="indent" select="string-length($decl)"/>
-    </xsl:apply-templates>
-    <xsl:text>)</xsl:text>
-    <xsl:if test="exceptionname">
-      <br/>
-      <xsl:text>&#160;&#160;&#160;&#160;throws&#160;</xsl:text>
-      <xsl:apply-templates select="exceptionname" mode="java"/>
-    </xsl:if>
-    <xsl:if test="modifier[preceding-sibling::*[local-name(.) != 'modifier']]">
-      <xsl:text> </xsl:text>
-      <xsl:apply-templates select="$end-modifiers" mode="java"/>
-    </xsl:if>
-    <xsl:text>;</xsl:text>
-  </code>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<!-- ===== C++ ========================================================= -->
-
-<xsl:template match="classsynopsis" mode="cpp">
-  <pre>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates select="ooclass[1]" mode="cpp"/>
-    <xsl:if test="ooclass[preceding-sibling::*]">
-      <xsl:text>: </xsl:text>
-      <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="cpp"/>
-      <xsl:if test="oointerface|ooexception">
-        <br/>
-	<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="oointerface">
-      <xsl:text> implements</xsl:text>
-      <xsl:apply-templates select="oointerface" mode="cpp"/>
-      <xsl:if test="ooexception">
-        <br/>
-	<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="ooexception">
-      <xsl:text> throws</xsl:text>
-      <xsl:apply-templates select="ooexception" mode="cpp"/>
-    </xsl:if>
-    <xsl:text>&#160;{</xsl:text>
-    <br/>
-    <xsl:apply-templates select="constructorsynopsis                                  |destructorsynopsis                                  |fieldsynopsis                                  |methodsynopsis                                  |classsynopsisinfo" mode="cpp"/>
-    <xsl:text>}</xsl:text>
-  </pre>
-</xsl:template>
-
-<xsl:template match="classsynopsisinfo" mode="cpp">
-  <xsl:apply-templates mode="cpp"/>
-</xsl:template>
-
-<xsl:template match="ooclass|oointerface|ooexception" mode="cpp">
-  <xsl:if test="preceding-sibling::*">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="cpp"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="modifier|package" mode="cpp">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="cpp"/>
-    <xsl:if test="following-sibling::*">
-      <xsl:text>&#160;</xsl:text>
-    </xsl:if>
-  </span>
-</xsl:template>
-
-<xsl:template match="classname" mode="cpp">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="cpp"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="interfacename" mode="cpp">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="cpp"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="exceptionname" mode="cpp">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="cpp"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="fieldsynopsis" mode="cpp">
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="parent::classsynopsis">
-      <xsl:text>&#160;&#160;</xsl:text>
-    </xsl:if>
-    <xsl:apply-templates mode="cpp"/>
-    <xsl:text>;</xsl:text>
-  </code>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<xsl:template match="type" mode="cpp">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="cpp"/>
-    <xsl:text>&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="varname" mode="cpp">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="cpp"/>
-    <xsl:text>&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="initializer" mode="cpp">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>=&#160;</xsl:text>
-    <xsl:apply-templates mode="cpp"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="void" mode="cpp">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>void&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="methodname" mode="cpp">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="cpp"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="methodparam" mode="cpp">
-  <xsl:if test="preceding-sibling::methodparam">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="cpp"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="parameter" mode="cpp">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="cpp"/>
-  </span>
-</xsl:template>
-
-<xsl:template mode="cpp" match="constructorsynopsis|destructorsynopsis|methodsynopsis">
-  <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/>
-  <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/>
-  <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/>
-
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="parent::classsynopsis">
-      <xsl:text>&#160;&#160;</xsl:text>
-    </xsl:if>
-    <xsl:apply-templates select="$start-modifiers" mode="cpp"/>
-
-    <!-- type -->
-    <xsl:if test="local-name($notmod[1]) != 'methodname'">
-      <xsl:apply-templates select="$notmod[1]" mode="cpp"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="methodname" mode="cpp"/>
-    <xsl:text>(</xsl:text>
-    <xsl:apply-templates select="methodparam" mode="cpp"/>
-    <xsl:text>)</xsl:text>
-    <xsl:if test="exceptionname">
-      <br/>
-      <xsl:text>&#160;&#160;&#160;&#160;throws&#160;</xsl:text>
-      <xsl:apply-templates select="exceptionname" mode="cpp"/>
-    </xsl:if>
-    <xsl:if test="modifier[preceding-sibling::*[local-name(.) != 'modifier']]">
-      <xsl:text> </xsl:text>
-      <xsl:apply-templates select="$end-modifiers" mode="cpp"/>
-    </xsl:if>
-    <xsl:text>;</xsl:text>
-  </code>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<!-- ===== IDL ========================================================= -->
-
-<xsl:template match="classsynopsis" mode="idl">
-  <pre>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>interface </xsl:text>
-    <xsl:apply-templates select="ooclass[1]" mode="idl"/>
-    <xsl:if test="ooclass[preceding-sibling::*]">
-      <xsl:text>: </xsl:text>
-      <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="idl"/>
-      <xsl:if test="oointerface|ooexception">
-        <br/>
-	<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="oointerface">
-      <xsl:text> implements</xsl:text>
-      <xsl:apply-templates select="oointerface" mode="idl"/>
-      <xsl:if test="ooexception">
-        <br/>
-	<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
-      </xsl:if>
-    </xsl:if>
-    <xsl:if test="ooexception">
-      <xsl:text> throws</xsl:text>
-      <xsl:apply-templates select="ooexception" mode="idl"/>
-    </xsl:if>
-    <xsl:text>&#160;{</xsl:text>
-    <br/>
-    <xsl:apply-templates select="constructorsynopsis                                  |destructorsynopsis                                  |fieldsynopsis                                  |methodsynopsis                                  |classsynopsisinfo" mode="idl"/>
-    <xsl:text>}</xsl:text>
-  </pre>
-</xsl:template>
-
-<xsl:template match="classsynopsisinfo" mode="idl">
-  <xsl:apply-templates mode="idl"/>
-</xsl:template>
-
-<xsl:template match="ooclass|oointerface|ooexception" mode="idl">
-  <xsl:if test="preceding-sibling::*">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="idl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="modifier|package" mode="idl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="idl"/>
-    <xsl:if test="following-sibling::*">
-      <xsl:text>&#160;</xsl:text>
-    </xsl:if>
-  </span>
-</xsl:template>
-
-<xsl:template match="classname" mode="idl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="idl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="interfacename" mode="idl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="idl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="exceptionname" mode="idl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="idl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="fieldsynopsis" mode="idl">
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="parent::classsynopsis">
-      <xsl:text>&#160;&#160;</xsl:text>
-    </xsl:if>
-    <xsl:apply-templates mode="idl"/>
-    <xsl:text>;</xsl:text>
-  </code>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<xsl:template match="type" mode="idl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="idl"/>
-    <xsl:text>&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="varname" mode="idl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="idl"/>
-    <xsl:text>&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="initializer" mode="idl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>=&#160;</xsl:text>
-    <xsl:apply-templates mode="idl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="void" mode="idl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>void&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="methodname" mode="idl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="idl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="methodparam" mode="idl">
-  <xsl:if test="preceding-sibling::methodparam">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="idl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="parameter" mode="idl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="idl"/>
-  </span>
-</xsl:template>
-
-<xsl:template mode="idl" match="constructorsynopsis|destructorsynopsis|methodsynopsis">
-  <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/>
-  <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/>
-  <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/>
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="parent::classsynopsis">
-      <xsl:text>&#160;&#160;</xsl:text>
-    </xsl:if>
-    <xsl:apply-templates select="$start-modifiers" mode="idl"/>
-
-    <!-- type -->
-    <xsl:if test="local-name($notmod[1]) != 'methodname'">
-      <xsl:apply-templates select="$notmod[1]" mode="idl"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="methodname" mode="idl"/>
-    <xsl:text>(</xsl:text>
-    <xsl:apply-templates select="methodparam" mode="idl"/>
-    <xsl:text>)</xsl:text>
-    <xsl:if test="exceptionname">
-      <br/>
-      <xsl:text>&#160;&#160;&#160;&#160;raises(</xsl:text>
-      <xsl:apply-templates select="exceptionname" mode="idl"/>
-      <xsl:text>)</xsl:text>
-    </xsl:if>
-    <xsl:if test="modifier[preceding-sibling::*[local-name(.) != 'modifier']]">
-      <xsl:text> </xsl:text>
-      <xsl:apply-templates select="$end-modifiers" mode="idl"/>
-    </xsl:if>
-    <xsl:text>;</xsl:text>
-  </code>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<!-- ===== Perl ======================================================== -->
-
-<xsl:template match="classsynopsis" mode="perl">
-  <pre>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>package </xsl:text>
-    <xsl:apply-templates select="ooclass[1]" mode="perl"/>
-    <xsl:text>;</xsl:text>
-    <br/>
-
-    <xsl:if test="ooclass[preceding-sibling::*]">
-      <xsl:text>@ISA = (</xsl:text>
-      <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="perl"/>
-      <xsl:text>);</xsl:text>
-      <br/>
-    </xsl:if>
-
-    <xsl:apply-templates select="constructorsynopsis                                  |destructorsynopsis                                  |fieldsynopsis                                  |methodsynopsis                                  |classsynopsisinfo" mode="perl"/>
-  </pre>
-</xsl:template>
-
-<xsl:template match="classsynopsisinfo" mode="perl">
-  <xsl:apply-templates mode="perl"/>
-</xsl:template>
-
-<xsl:template match="ooclass|oointerface|ooexception" mode="perl">
-  <xsl:if test="preceding-sibling::*">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="perl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="modifier|package" mode="perl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="perl"/>
-    <xsl:if test="following-sibling::*">
-      <xsl:text>&#160;</xsl:text>
-    </xsl:if>
-  </span>
-</xsl:template>
-
-<xsl:template match="classname" mode="perl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="perl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="interfacename" mode="perl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="perl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="exceptionname" mode="perl">
-  <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="perl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="fieldsynopsis" mode="perl">
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="parent::classsynopsis">
-      <xsl:text>&#160;&#160;</xsl:text>
-    </xsl:if>
-    <xsl:apply-templates mode="perl"/>
-    <xsl:text>;</xsl:text>
-  </code>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<xsl:template match="type" mode="perl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="perl"/>
-    <xsl:text>&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="varname" mode="perl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="perl"/>
-    <xsl:text>&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="initializer" mode="perl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>=&#160;</xsl:text>
-    <xsl:apply-templates mode="perl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="void" mode="perl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>void&#160;</xsl:text>
-  </span>
-</xsl:template>
-
-<xsl:template match="methodname" mode="perl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="perl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="methodparam" mode="perl">
-  <xsl:if test="preceding-sibling::methodparam">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="perl"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="parameter" mode="perl">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="perl"/>
-  </span>
-</xsl:template>
-
-<xsl:template mode="perl" match="constructorsynopsis|destructorsynopsis|methodsynopsis">
-  <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/>
-  <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/>
-  <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/>
-
-  <code>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:text>sub </xsl:text>
-
-    <xsl:apply-templates select="methodname" mode="perl"/>
-    <xsl:text> { ... };</xsl:text>
-  </code>
-  <xsl:call-template name="synop-break"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- * DocBook 5 allows linking elements (link, olink, and xref) -->
-<!-- * within the OO *synopsis elements (classsynopsis, fieldsynopsis, -->
-<!-- * methodsynopsis, constructorsynopsis, destructorsynopsis) and -->
-<!-- * their children. So we need to have mode="java|cpp|idl|perl" -->
-<!-- * per-mode matches for those linking elements in order for them -->
-<!-- * to be processed as expected. -->
-
-<xsl:template match="link|olink|xref" mode="java">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="link|olink|xref" mode="cpp">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="link|olink|xref" mode="idl">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="link|olink|xref" mode="perl">
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/table.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/table.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1093 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns:stbl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Table" xmlns:xtbl="xalan://com.nwalsh.xalan.Table" xmlns:lxslt="http://xml.apache.org/xslt" xmlns:ptbl="http://nwalsh.com/xslt/ext/xsltproc/python/Table" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="doc stbl xtbl lxslt ptbl" version="1.0">
-
-<xsl:include href="../common/table.xsl"/>
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<lxslt:component prefix="xtbl" functions="adjustColumnWidths"/>
-
-<xsl:template name="empty.table.cell">
-  <xsl:param name="colnum" select="0"/>
-
-  <xsl:variable name="rowsep">
-    <xsl:choose>
-      <!-- If this is the last row, rowsep never applies. -->
-      <xsl:when test="not(ancestor-or-self::row[1]/following-sibling::row                           or ancestor-or-self::thead/following-sibling::tbody                           or ancestor-or-self::tbody/preceding-sibling::tfoot)">
-        <xsl:value-of select="0"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="inherited.table.attribute">
-          <xsl:with-param name="entry" select="NOT-AN-ELEMENT-NAME"/>
-          <xsl:with-param name="row" select="ancestor-or-self::row[1]"/>
-          <xsl:with-param name="colnum" select="$colnum"/>
-          <xsl:with-param name="attribute" select="'rowsep'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="colsep">
-    <xsl:choose>
-      <!-- If this is the last column, colsep never applies. -->
-      <xsl:when test="number($colnum) &gt;= ancestor::tgroup/@cols">0</xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="inherited.table.attribute">
-          <xsl:with-param name="entry" select="NOT-AN-ELEMENT-NAME"/>
-          <xsl:with-param name="row" select="ancestor-or-self::row[1]"/>
-          <xsl:with-param name="colnum" select="$colnum"/>
-          <xsl:with-param name="attribute" select="'colsep'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <td class="auto-generated">
-    <xsl:if test="$table.borders.with.css != 0">
-      <xsl:attribute name="style">
-        <xsl:if test="$colsep &gt; 0">
-          <xsl:call-template name="border">
-            <xsl:with-param name="side" select="'right'"/>
-          </xsl:call-template>
-        </xsl:if>
-        <xsl:if test="$rowsep &gt; 0">
-          <xsl:call-template name="border">
-            <xsl:with-param name="side" select="'bottom'"/>
-          </xsl:call-template>
-        </xsl:if>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:text>&#160;</xsl:text>
-  </td>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="border">
-  <xsl:param name="side" select="'left'"/>
-  <xsl:param name="padding" select="0"/>
-  <xsl:param name="style" select="$table.cell.border.style"/>
-  <xsl:param name="color" select="$table.cell.border.color"/>
-  <xsl:param name="thickness" select="$table.cell.border.thickness"/>
-
-  <!-- Note: Some browsers (mozilla) require at least a width and style. -->
-
-  <xsl:choose>
-    <xsl:when test="($thickness != ''                      and $style != ''                      and $color != '')                     or ($thickness != ''                         and $style != '')                     or ($thickness != '')">
-      <!-- use the compound property if we can: -->
-      <!-- it saves space and probably works more reliably -->
-      <xsl:text>border-</xsl:text>
-      <xsl:value-of select="$side"/>
-      <xsl:text>: </xsl:text>
-      <xsl:value-of select="$thickness"/>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="$style"/>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="$color"/>
-      <xsl:text>; </xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- we need to specify the styles individually -->
-      <xsl:if test="$thickness != ''">
-        <xsl:text>border-</xsl:text>
-        <xsl:value-of select="$side"/>
-        <xsl:text>-width: </xsl:text>
-        <xsl:value-of select="$thickness"/>
-        <xsl:text>; </xsl:text>
-      </xsl:if>
-
-      <xsl:if test="$style != ''">
-        <xsl:text>border-</xsl:text>
-        <xsl:value-of select="$side"/>
-        <xsl:text>-style: </xsl:text>
-        <xsl:value-of select="$style"/>
-        <xsl:text>; </xsl:text>
-      </xsl:if>
-
-      <xsl:if test="$color != ''">
-        <xsl:text>border-</xsl:text>
-        <xsl:value-of select="$side"/>
-        <xsl:text>-color: </xsl:text>
-        <xsl:value-of select="$color"/>
-        <xsl:text>; </xsl:text>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="tgroup" name="tgroup">
-  <xsl:if test="not(@cols) or @cols = '' or string(number(@cols)) = 'NaN'">
-    <xsl:message terminate="yes">
-      <xsl:text>Error: CALS tables must specify the number of columns.</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:variable name="summary">
-    <xsl:call-template name="pi.dbhtml_table-summary"/>
-  </xsl:variable>
-
-  <xsl:variable name="cellspacing">
-    <xsl:call-template name="pi.dbhtml_cellspacing"/>
-  </xsl:variable>
-
-  <xsl:variable name="cellpadding">
-    <xsl:call-template name="pi.dbhtml_cellpadding"/>
-  </xsl:variable>
-
-  <table>
-    <xsl:choose>
-      <!-- If there's a textobject/phrase for the table summary, use it -->
-      <xsl:when test="../textobject/phrase">
-        <xsl:attribute name="summary">
-          <xsl:value-of select="../textobject/phrase"/>
-        </xsl:attribute>
-      </xsl:when>
-
-      <!-- If there's a <?dbhtml table-summary="foo"?> PI, use it for
-           the HTML table summary attribute -->
-      <xsl:when test="$summary != ''">
-        <xsl:attribute name="summary">
-          <xsl:value-of select="$summary"/>
-        </xsl:attribute>
-      </xsl:when>
-
-      <!-- Otherwise, if there's a title, use that -->
-      <xsl:when test="../title">
-        <xsl:attribute name="summary">
-          <xsl:value-of select="string(../title)"/>
-        </xsl:attribute>
-      </xsl:when>
-
-      <!-- Otherwise, forget the whole idea -->
-      <xsl:otherwise><!-- nevermind --></xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:if test="$cellspacing != '' or $html.cellspacing != ''">
-      <xsl:attribute name="cellspacing">
-        <xsl:choose>
-          <xsl:when test="$cellspacing != ''">
-            <xsl:value-of select="$cellspacing"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$html.cellspacing"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="$cellpadding != '' or $html.cellpadding != ''">
-      <xsl:attribute name="cellpadding">
-        <xsl:choose>
-          <xsl:when test="$cellpadding != ''">
-            <xsl:value-of select="$cellpadding"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$html.cellpadding"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="../@pgwide=1 or local-name(.) = 'entrytbl'">
-      <xsl:attribute name="width">100%</xsl:attribute>
-    </xsl:if>
-
-    <xsl:choose>
-      <xsl:when test="$table.borders.with.css != 0">
-        <xsl:choose>
-          <xsl:when test="../@frame='all' or (not(../@frame) and $default.table.frame='all')">
-            <xsl:attribute name="style">
-              <xsl:text>border-collapse: collapse;</xsl:text>
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'top'"/>
-                <xsl:with-param name="style" select="$table.frame.border.style"/>
-                <xsl:with-param name="color" select="$table.frame.border.color"/>
-                <xsl:with-param name="thickness" select="$table.frame.border.thickness"/>
-              </xsl:call-template>
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'bottom'"/>
-                <xsl:with-param name="style" select="$table.frame.border.style"/>
-                <xsl:with-param name="color" select="$table.frame.border.color"/>
-                <xsl:with-param name="thickness" select="$table.frame.border.thickness"/>
-              </xsl:call-template>
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'left'"/>
-                <xsl:with-param name="style" select="$table.frame.border.style"/>
-                <xsl:with-param name="color" select="$table.frame.border.color"/>
-                <xsl:with-param name="thickness" select="$table.frame.border.thickness"/>
-              </xsl:call-template>
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'right'"/>
-                <xsl:with-param name="style" select="$table.frame.border.style"/>
-                <xsl:with-param name="color" select="$table.frame.border.color"/>
-                <xsl:with-param name="thickness" select="$table.frame.border.thickness"/>
-              </xsl:call-template>
-            </xsl:attribute>
-          </xsl:when>
-          <xsl:when test="../@frame='topbot' or (not(../@frame) and $default.table.frame='topbot')">
-            <xsl:attribute name="style">
-              <xsl:text>border-collapse: collapse;</xsl:text>
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'top'"/>
-                <xsl:with-param name="style" select="$table.frame.border.style"/>
-                <xsl:with-param name="color" select="$table.frame.border.color"/>
-                <xsl:with-param name="thickness" select="$table.frame.border.thickness"/>
-              </xsl:call-template>
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'bottom'"/>
-                <xsl:with-param name="style" select="$table.frame.border.style"/>
-                <xsl:with-param name="color" select="$table.frame.border.color"/>
-                <xsl:with-param name="thickness" select="$table.frame.border.thickness"/>
-              </xsl:call-template>
-            </xsl:attribute>
-          </xsl:when>
-          <xsl:when test="../@frame='top' or (not(../@frame) and $default.table.frame='top')">
-            <xsl:attribute name="style">
-              <xsl:text>border-collapse: collapse;</xsl:text>
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'top'"/>
-                <xsl:with-param name="style" select="$table.frame.border.style"/>
-                <xsl:with-param name="color" select="$table.frame.border.color"/>
-                <xsl:with-param name="thickness" select="$table.frame.border.thickness"/>
-              </xsl:call-template>
-            </xsl:attribute>
-          </xsl:when>
-          <xsl:when test="../@frame='bottom' or (not(../@frame) and $default.table.frame='bottom')">
-            <xsl:attribute name="style">
-              <xsl:text>border-collapse: collapse;</xsl:text>
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'bottom'"/>
-                <xsl:with-param name="style" select="$table.frame.border.style"/>
-                <xsl:with-param name="color" select="$table.frame.border.color"/>
-                <xsl:with-param name="thickness" select="$table.frame.border.thickness"/>
-              </xsl:call-template>
-            </xsl:attribute>
-          </xsl:when>
-          <xsl:when test="../@frame='sides' or (not(../@frame) and $default.table.frame='sides')">
-            <xsl:attribute name="style">
-              <xsl:text>border-collapse: collapse;</xsl:text>
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'left'"/>
-                <xsl:with-param name="style" select="$table.frame.border.style"/>
-                <xsl:with-param name="color" select="$table.frame.border.color"/>
-                <xsl:with-param name="thickness" select="$table.frame.border.thickness"/>
-              </xsl:call-template>
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'right'"/>
-                <xsl:with-param name="style" select="$table.frame.border.style"/>
-                <xsl:with-param name="color" select="$table.frame.border.color"/>
-                <xsl:with-param name="thickness" select="$table.frame.border.thickness"/>
-              </xsl:call-template>
-            </xsl:attribute>
-          </xsl:when>
-	  <xsl:when test="../@frame='none'">
-	    <xsl:attribute name="style">
-	      <xsl:text>border: none;</xsl:text>
-	    </xsl:attribute>
-	  </xsl:when>
-          <xsl:otherwise>
-            <xsl:attribute name="style">
-              <xsl:text>border-collapse: collapse;</xsl:text>
-            </xsl:attribute>
-          </xsl:otherwise>
-        </xsl:choose>
-
-      </xsl:when>
-      <xsl:when test="../@frame='none' or (not(../@frame) and $default.table.frame='none') or local-name(.) = 'entrytbl'">
-        <xsl:attribute name="border">0</xsl:attribute>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:attribute name="border">1</xsl:attribute>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:variable name="colgroup">
-      <colgroup>
-        <xsl:call-template name="generate.colgroup">
-          <xsl:with-param name="cols" select="@cols"/>
-        </xsl:call-template>
-      </colgroup>
-    </xsl:variable>
-
-    <xsl:variable name="explicit.table.width">
-      <xsl:call-template name="pi.dbhtml_table-width">
-        <xsl:with-param name="node" select=".."/>
-      </xsl:call-template>
-    </xsl:variable>
-
-    <xsl:variable name="table.width">
-      <xsl:choose>
-        <xsl:when test="$explicit.table.width != ''">
-          <xsl:value-of select="$explicit.table.width"/>
-        </xsl:when>
-        <xsl:when test="$default.table.width = ''">
-          <xsl:text>100%</xsl:text>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="$default.table.width"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-
-    <xsl:if test="$default.table.width != ''                   or $explicit.table.width != ''">
-      <xsl:attribute name="width">
-        <xsl:choose>
-          <xsl:when test="contains($table.width, '%')">
-            <xsl:value-of select="$table.width"/>
-          </xsl:when>
-          <xsl:when test="$use.extensions != 0                           and $tablecolumns.extension != 0">
-            <xsl:choose>
-              <xsl:when test="function-available('stbl:convertLength')">
-                <xsl:value-of select="stbl:convertLength($table.width)"/>
-              </xsl:when>
-              <xsl:when test="function-available('xtbl:convertLength')">
-                <xsl:value-of select="xtbl:convertLength($table.width)"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:message terminate="yes">
-                  <xsl:text>No convertLength function available.</xsl:text>
-                </xsl:message>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$table.width"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:choose>
-      <xsl:when test="$use.extensions != 0                       and $tablecolumns.extension != 0">
-        <xsl:choose>
-          <xsl:when test="function-available('stbl:adjustColumnWidths')">
-            <xsl:copy-of select="stbl:adjustColumnWidths($colgroup)"/>
-          </xsl:when>
-          <xsl:when test="function-available('xtbl:adjustColumnWidths')">
-            <xsl:copy-of select="xtbl:adjustColumnWidths($colgroup)"/>
-          </xsl:when>
-          <xsl:when test="function-available('ptbl:adjustColumnWidths')">
-            <xsl:copy-of select="ptbl:adjustColumnWidths($colgroup)"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:message terminate="yes">
-              <xsl:text>No adjustColumnWidths function available.</xsl:text>
-            </xsl:message>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:copy-of select="$colgroup"/>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:apply-templates select="thead"/>
-    <xsl:apply-templates select="tfoot"/>
-    <xsl:apply-templates select="tbody"/>
-
-    <xsl:if test=".//footnote">
-      <tbody class="footnotes">
-        <tr>
-          <td colspan="{@cols}">
-            <xsl:apply-templates select=".//footnote" mode="table.footnote.mode"/>
-          </td>
-        </tr>
-      </tbody>
-    </xsl:if>
-  </table>
-</xsl:template>
-
-<xsl:template match="tgroup/processing-instruction('dbhtml')">
-  <xsl:variable name="summary">
-    <xsl:call-template name="pi.dbhtml_table-summary"/>
-  </xsl:variable>
-
-  <!-- Suppress the table-summary PI -->
-  <xsl:if test="$summary = ''">
-    <xsl:processing-instruction name="dbhtml">
-      <xsl:value-of select="."/>
-    </xsl:processing-instruction>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="colspec"/>
-
-<xsl:template match="spanspec"/>
-
-<xsl:template match="thead|tfoot">
-  <xsl:element name="{local-name(.)}" namespace="http://www.w3.org/1999/xhtml">
-    <xsl:if test="@align">
-      <xsl:attribute name="align">
-        <xsl:value-of select="@align"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="@char">
-      <xsl:attribute name="char">
-        <xsl:value-of select="@char"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="@charoff">
-      <xsl:attribute name="charoff">
-        <xsl:value-of select="@charoff"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="@valign">
-      <xsl:attribute name="valign">
-        <xsl:value-of select="@valign"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:apply-templates select="row[1]">
-      <xsl:with-param name="spans">
-        <xsl:call-template name="blank.spans">
-          <xsl:with-param name="cols" select="../@cols"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:apply-templates>
-
-  </xsl:element>
-</xsl:template>
-
-<xsl:template match="tbody">
-  <tbody>
-    <xsl:if test="@align">
-      <xsl:attribute name="align">
-        <xsl:value-of select="@align"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="@char">
-      <xsl:attribute name="char">
-        <xsl:value-of select="@char"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="@charoff">
-      <xsl:attribute name="charoff">
-        <xsl:value-of select="@charoff"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="@valign">
-      <xsl:attribute name="valign">
-        <xsl:value-of select="@valign"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:apply-templates select="row[1]">
-      <xsl:with-param name="spans">
-        <xsl:call-template name="blank.spans">
-          <xsl:with-param name="cols" select="../@cols"/>
-        </xsl:call-template>
-      </xsl:with-param>
-    </xsl:apply-templates>
-
-  </tbody>
-</xsl:template>
-
-<xsl:template match="row">
-  <xsl:param name="spans"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($spans, '0')">
-      <xsl:call-template name="normal-row">
-	<xsl:with-param name="spans" select="$spans"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <!--
-      <xsl:message>
-	<xsl:text>Ignoring row: </xsl:text>
-	<xsl:value-of select="$spans"/>
-	<xsl:text> = </xsl:text>
-	<xsl:call-template name="consume-row">
-	  <xsl:with-param name="spans" select="$spans"/>
-	</xsl:call-template>
-      </xsl:message>
-      -->
-
-      <xsl:if test="normalize-space(.//text()) != ''">
-	<xsl:message>Warning: overlapped row contains content!</xsl:message>
-      </xsl:if>
-
-      <tr><xsl:comment> This row intentionally left blank </xsl:comment></tr>
-
-      <xsl:apply-templates select="following-sibling::row[1]">
-	<xsl:with-param name="spans">
-	  <xsl:call-template name="consume-row">
-	    <xsl:with-param name="spans" select="$spans"/>
-	  </xsl:call-template>
-	</xsl:with-param>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="normal-row">
-  <xsl:param name="spans"/>
-
-  <xsl:variable name="row-height">
-    <xsl:if test="processing-instruction('dbhtml')">
-      <xsl:call-template name="pi.dbhtml_row-height"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="bgcolor">
-    <xsl:if test="processing-instruction('dbhtml')">
-      <xsl:call-template name="pi.dbhtml_bgcolor"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:variable name="class">
-    <xsl:if test="processing-instruction('dbhtml')">
-      <xsl:call-template name="pi.dbhtml_class"/>
-    </xsl:if>
-  </xsl:variable>
-
-  <tr>
-    <xsl:call-template name="tr.attributes">
-      <xsl:with-param name="rownum">
-        <xsl:number from="tgroup" count="row"/>
-      </xsl:with-param>
-    </xsl:call-template>
-
-    <xsl:if test="$row-height != ''">
-      <xsl:attribute name="height">
-        <xsl:value-of select="$row-height"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="$bgcolor != ''">
-      <xsl:attribute name="bgcolor">
-        <xsl:value-of select="$bgcolor"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="$class != ''">
-      <xsl:attribute name="class">
-        <xsl:value-of select="$class"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:if test="$table.borders.with.css != 0">
-      <xsl:if test="@rowsep = 1 and following-sibling::row">
-        <xsl:attribute name="style">
-          <xsl:call-template name="border">
-            <xsl:with-param name="side" select="'bottom'"/>
-          </xsl:call-template>
-        </xsl:attribute>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:if test="@align">
-      <xsl:attribute name="align">
-        <xsl:value-of select="@align"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="@char">
-      <xsl:attribute name="char">
-        <xsl:value-of select="@char"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="@charoff">
-      <xsl:attribute name="charoff">
-        <xsl:value-of select="@charoff"/>
-      </xsl:attribute>
-    </xsl:if>
-    <xsl:if test="@valign">
-      <xsl:attribute name="valign">
-        <xsl:value-of select="@valign"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:apply-templates select="(entry|entrytbl)[1]">
-      <xsl:with-param name="spans" select="$spans"/>
-    </xsl:apply-templates>
-  </tr>
-
-  <xsl:if test="following-sibling::row">
-    <xsl:variable name="nextspans">
-      <xsl:apply-templates select="(entry|entrytbl)[1]" mode="span">
-        <xsl:with-param name="spans" select="$spans"/>
-      </xsl:apply-templates>
-    </xsl:variable>
-
-    <xsl:apply-templates select="following-sibling::row[1]">
-      <xsl:with-param name="spans" select="$nextspans"/>
-    </xsl:apply-templates>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="entry|entrytbl" name="entry">
-  <xsl:param name="col" select="1"/>
-  <xsl:param name="spans"/>
-
-  <xsl:variable name="cellgi">
-    <xsl:choose>
-      <xsl:when test="ancestor::thead">th</xsl:when>
-      <xsl:when test="ancestor::tfoot">th</xsl:when>
-      <xsl:otherwise>td</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="empty.cell" select="count(node()) = 0"/>
-
-  <xsl:variable name="named.colnum">
-    <xsl:call-template name="entry.colnum"/>
-  </xsl:variable>
-
-  <xsl:variable name="entry.colnum">
-    <xsl:choose>
-      <xsl:when test="$named.colnum &gt; 0">
-        <xsl:value-of select="$named.colnum"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$col"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="entry.colspan">
-    <xsl:choose>
-      <xsl:when test="@spanname or @namest">
-        <xsl:call-template name="calculate.colspan"/>
-      </xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="following.spans">
-    <xsl:call-template name="calculate.following.spans">
-      <xsl:with-param name="colspan" select="$entry.colspan"/>
-      <xsl:with-param name="spans" select="$spans"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="rowsep">
-    <xsl:choose>
-      <!-- If this is the last row, rowsep never applies. -->
-      <xsl:when test="ancestor::entrytbl                       and not (ancestor-or-self::row[1]/following-sibling::row)">
-        <xsl:value-of select="0"/>
-      </xsl:when>
-      <xsl:when test="not(ancestor-or-self::row[1]/following-sibling::row                           or ancestor-or-self::thead/following-sibling::tbody                           or ancestor-or-self::tbody/preceding-sibling::tfoot)">
-        <xsl:value-of select="0"/>
-      </xsl:when>
-      <xsl:when test="@morerows and not(@morerows &lt;                   count(ancestor-or-self::row[1]/following-sibling::row))">
-        <xsl:value-of select="0"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="inherited.table.attribute">
-          <xsl:with-param name="entry" select="."/>
-          <xsl:with-param name="colnum" select="$entry.colnum"/>
-          <xsl:with-param name="attribute" select="'rowsep'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="colsep">
-    <xsl:choose>
-      <!-- If this is the last column, colsep never applies. -->
-      <xsl:when test="$following.spans = ''">0</xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="inherited.table.attribute">
-          <xsl:with-param name="entry" select="."/>
-          <xsl:with-param name="colnum" select="$entry.colnum"/>
-          <xsl:with-param name="attribute" select="'colsep'"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="valign">
-    <xsl:call-template name="inherited.table.attribute">
-      <xsl:with-param name="entry" select="."/>
-      <xsl:with-param name="colnum" select="$entry.colnum"/>
-      <xsl:with-param name="attribute" select="'valign'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="align">
-    <xsl:call-template name="inherited.table.attribute">
-      <xsl:with-param name="entry" select="."/>
-      <xsl:with-param name="colnum" select="$entry.colnum"/>
-      <xsl:with-param name="attribute" select="'align'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="char">
-    <xsl:call-template name="inherited.table.attribute">
-      <xsl:with-param name="entry" select="."/>
-      <xsl:with-param name="colnum" select="$entry.colnum"/>
-      <xsl:with-param name="attribute" select="'char'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="charoff">
-    <xsl:call-template name="inherited.table.attribute">
-      <xsl:with-param name="entry" select="."/>
-      <xsl:with-param name="colnum" select="$entry.colnum"/>
-      <xsl:with-param name="attribute" select="'charoff'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$spans != '' and not(starts-with($spans,'0:'))">
-      <xsl:call-template name="entry">
-        <xsl:with-param name="col" select="$col+1"/>
-        <xsl:with-param name="spans" select="substring-after($spans,':')"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:when test="number($entry.colnum) &gt; $col">
-      <xsl:call-template name="empty.table.cell"/>
-      <xsl:call-template name="entry">
-        <xsl:with-param name="col" select="$col+1"/>
-        <xsl:with-param name="spans" select="substring-after($spans,':')"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:variable name="bgcolor">
-        <xsl:if test="processing-instruction('dbhtml')">
-          <xsl:call-template name="pi.dbhtml_bgcolor"/>
-        </xsl:if>
-      </xsl:variable>
-
-      <xsl:element name="{$cellgi}" namespace="http://www.w3.org/1999/xhtml">
-        <xsl:if test="$bgcolor != ''">
-          <xsl:attribute name="bgcolor">
-            <xsl:value-of select="$bgcolor"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:if test="$entry.propagates.style != 0 and @role">
-          <xsl:apply-templates select="." mode="class.attribute">
-            <xsl:with-param name="class" select="@role"/>
-          </xsl:apply-templates>
-        </xsl:if>
-
-        <xsl:if test="$show.revisionflag and @revisionflag">
-          <xsl:attribute name="class">
-            <xsl:value-of select="@revisionflag"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:if test="$table.borders.with.css != 0">
-          <xsl:attribute name="style">
-            <xsl:if test="$colsep &gt; 0">
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'right'"/>
-              </xsl:call-template>
-            </xsl:if>
-            <xsl:if test="$rowsep &gt; 0">
-              <xsl:call-template name="border">
-                <xsl:with-param name="side" select="'bottom'"/>
-              </xsl:call-template>
-            </xsl:if>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:if test="@morerows &gt; 0">
-          <xsl:attribute name="rowspan">
-            <xsl:value-of select="1+@morerows"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:if test="$entry.colspan &gt; 1">
-          <xsl:attribute name="colspan">
-            <xsl:value-of select="$entry.colspan"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:if test="$align != ''">
-          <xsl:attribute name="align">
-            <xsl:value-of select="$align"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:if test="$valign != ''">
-          <xsl:attribute name="valign">
-            <xsl:value-of select="$valign"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:if test="$char != ''">
-          <xsl:attribute name="char">
-            <xsl:value-of select="$char"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:if test="$charoff != ''">
-          <xsl:attribute name="charoff">
-            <xsl:value-of select="$charoff"/>
-          </xsl:attribute>
-        </xsl:if>
-
-        <xsl:if test="not(preceding-sibling::*) and                      (ancestor::row[1]/@id or ancestor::row[1]/@xml:id)">
-          <xsl:call-template name="anchor">
-            <xsl:with-param name="node" select="ancestor::row[1]"/>
-          </xsl:call-template>
-        </xsl:if>
-
-        <xsl:call-template name="anchor"/>
-
-        <xsl:choose>
-          <xsl:when test="$empty.cell">
-            <xsl:text>&#160;</xsl:text>
-          </xsl:when>
-          <xsl:when test="self::entrytbl">
-            <xsl:call-template name="tgroup"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:element>
-
-      <xsl:choose>
-        <xsl:when test="following-sibling::entry|following-sibling::entrytbl">
-          <xsl:apply-templates select="(following-sibling::entry                                        |following-sibling::entrytbl)[1]">
-            <xsl:with-param name="col" select="$col+$entry.colspan"/>
-            <xsl:with-param name="spans" select="$following.spans"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="finaltd">
-            <xsl:with-param name="spans" select="$following.spans"/>
-            <xsl:with-param name="col" select="$col+$entry.colspan"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="entry|entrytbl" name="sentry" mode="span">
-  <xsl:param name="col" select="1"/>
-  <xsl:param name="spans"/>
-
-  <xsl:variable name="entry.colnum">
-    <xsl:call-template name="entry.colnum"/>
-  </xsl:variable>
-
-  <xsl:variable name="entry.colspan">
-    <xsl:choose>
-      <xsl:when test="@spanname or @namest">
-        <xsl:call-template name="calculate.colspan"/>
-      </xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="following.spans">
-    <xsl:call-template name="calculate.following.spans">
-      <xsl:with-param name="colspan" select="$entry.colspan"/>
-      <xsl:with-param name="spans" select="$spans"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$spans != '' and not(starts-with($spans,'0:'))">
-      <xsl:value-of select="substring-before($spans,':')-1"/>
-      <xsl:text>:</xsl:text>
-      <xsl:call-template name="sentry">
-        <xsl:with-param name="col" select="$col+1"/>
-        <xsl:with-param name="spans" select="substring-after($spans,':')"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:when test="number($entry.colnum) &gt; $col">
-      <xsl:text>0:</xsl:text>
-      <xsl:call-template name="sentry">
-        <xsl:with-param name="col" select="$col+$entry.colspan"/>
-        <xsl:with-param name="spans" select="$following.spans"/>
-      </xsl:call-template>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:call-template name="copy-string">
-        <xsl:with-param name="count" select="$entry.colspan"/>
-        <xsl:with-param name="string">
-          <xsl:choose>
-            <xsl:when test="@morerows">
-              <xsl:value-of select="@morerows"/>
-            </xsl:when>
-            <xsl:otherwise>0</xsl:otherwise>
-          </xsl:choose>
-          <xsl:text>:</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <xsl:choose>
-        <xsl:when test="following-sibling::entry|following-sibling::entrytbl">
-          <xsl:apply-templates select="(following-sibling::entry                                         |following-sibling::entrytbl)[1]" mode="span">
-            <xsl:with-param name="col" select="$col+$entry.colspan"/>
-            <xsl:with-param name="spans" select="$following.spans"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="sfinaltd">
-            <xsl:with-param name="spans" select="$following.spans"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="generate.colgroup">
-  <xsl:param name="cols" select="1"/>
-  <xsl:param name="count" select="1"/>
-  <xsl:choose>
-    <xsl:when test="$count &gt; $cols"/>
-    <xsl:otherwise>
-      <xsl:call-template name="generate.col">
-        <xsl:with-param name="countcol" select="$count"/>
-      </xsl:call-template>
-      <xsl:call-template name="generate.colgroup">
-        <xsl:with-param name="cols" select="$cols"/>
-        <xsl:with-param name="count" select="$count+1"/>
-      </xsl:call-template>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="generate.col">
-  <xsl:param name="countcol">1</xsl:param>
-  <xsl:param name="colspecs" select="./colspec"/>
-  <xsl:param name="count">1</xsl:param>
-  <xsl:param name="colnum">1</xsl:param>
-
-  <xsl:choose>
-    <xsl:when test="$count&gt;count($colspecs)">
-      <col/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:variable name="colspec" select="$colspecs[$count=position()]"/>
-      <xsl:variable name="colspec.colnum">
-        <xsl:choose>
-          <xsl:when test="$colspec/@colnum">
-            <xsl:value-of select="$colspec/@colnum"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$colnum"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$colspec.colnum=$countcol">
-          <col>
-            <xsl:if test="$colspec/@colwidth                           and $use.extensions != 0                           and $tablecolumns.extension != 0">
-              <xsl:attribute name="width">
-	        <xsl:choose>
-		  <xsl:when test="normalize-space($colspec/@colwidth) = '*'">
-                    <xsl:value-of select="'1*'"/>
-		  </xsl:when>
-		  <xsl:otherwise>
-                    <xsl:value-of select="$colspec/@colwidth"/>
-		  </xsl:otherwise>
-		</xsl:choose>
-              </xsl:attribute>
-            </xsl:if>
-
-            <xsl:choose>
-              <xsl:when test="$colspec/@align">
-                <xsl:attribute name="align">
-                  <xsl:value-of select="$colspec/@align"/>
-                </xsl:attribute>
-              </xsl:when>
-              <!-- Suggested by Pavel ZAMPACH <zampach@nemcb.cz> -->
-              <xsl:when test="$colspecs/ancestor::tgroup/@align">
-                <xsl:attribute name="align">
-                  <xsl:value-of select="$colspecs/ancestor::tgroup/@align"/>
-                </xsl:attribute>
-              </xsl:when>
-            </xsl:choose>
-
-            <xsl:if test="$colspec/@char">
-              <xsl:attribute name="char">
-                <xsl:value-of select="$colspec/@char"/>
-              </xsl:attribute>
-            </xsl:if>
-            <xsl:if test="$colspec/@charoff">
-              <xsl:attribute name="charoff">
-                <xsl:value-of select="$colspec/@charoff"/>
-              </xsl:attribute>
-            </xsl:if>
-          </col>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="generate.col">
-            <xsl:with-param name="countcol" select="$countcol"/>
-            <xsl:with-param name="colspecs" select="$colspecs"/>
-            <xsl:with-param name="count" select="$count+1"/>
-            <xsl:with-param name="colnum">
-              <xsl:choose>
-                <xsl:when test="$colspec/@colnum">
-                  <xsl:value-of select="$colspec/@colnum + 1"/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:value-of select="$colnum + 1"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-           </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="colspec.colwidth">
-  <!-- when this macro is called, the current context must be an entry -->
-  <xsl:param name="colname"/>
-  <!-- .. = row, ../.. = thead|tbody, ../../.. = tgroup -->
-  <xsl:param name="colspecs" select="../../../../tgroup/colspec"/>
-  <xsl:param name="count">1</xsl:param>
-  <xsl:choose>
-    <xsl:when test="$count&gt;count($colspecs)"/>
-    <xsl:otherwise>
-      <xsl:variable name="colspec" select="$colspecs[$count=position()]"/>
-      <xsl:choose>
-        <xsl:when test="$colspec/@colname=$colname">
-          <xsl:value-of select="$colspec/@colwidth"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="colspec.colwidth">
-            <xsl:with-param name="colname" select="$colname"/>
-            <xsl:with-param name="colspecs" select="$colspecs"/>
-            <xsl:with-param name="count" select="$count+1"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template name="tr.attributes">
-  <xsl:param name="row" select="."/>
-  <xsl:param name="rownum" select="0"/>
-
-  <!-- by default, do nothing. But you might want to say:
-
-  <xsl:if test="$rownum mod 2 = 0">
-    <xsl:attribute name="class">oddrow</xsl:attribute>
-  </xsl:if>
-
-  -->
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/task.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/task.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,73 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="task">
-  <xsl:variable name="param.placement" select="substring-after(normalize-space($formal.title.placement),                                         concat(local-name(.), ' '))"/>
-
-  <xsl:variable name="placement">
-    <xsl:choose>
-      <xsl:when test="contains($param.placement, ' ')">
-        <xsl:value-of select="substring-before($param.placement, ' ')"/>
-      </xsl:when>
-      <xsl:when test="$param.placement = ''">before</xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$param.placement"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="preamble" select="*[not(self::title                               or self::titleabbrev)]"/>
-
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-
-    <xsl:if test="title and $placement = 'before'">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-
-    <xsl:apply-templates select="$preamble"/>
-
-    <xsl:if test="title and $placement != 'before'">
-      <xsl:call-template name="formal.object.heading"/>
-    </xsl:if>
-  </div>
-</xsl:template>
-
-<xsl:template match="task/title">
-  <!-- nop -->
-</xsl:template>
-
-<xsl:template match="tasksummary">
-  <xsl:call-template name="semiformal.object"/>
-</xsl:template>
-
-<xsl:template match="tasksummary/title"/>
-
-<xsl:template match="taskprerequisites">
-  <xsl:call-template name="semiformal.object"/>
-</xsl:template>
-
-<xsl:template match="taskprerequisites/title"/>
-
-<xsl:template match="taskrelated">
-  <xsl:call-template name="semiformal.object"/>
-</xsl:template>
-
-<xsl:template match="taskrelated/title"/>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/titlepage.templates.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/titlepage.templates.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,3622 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="exsl">
-
-<!-- This stylesheet was created by template/titlepage.xsl-->
-
-<xsl:template name="article.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="articleinfo/title">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
-    </xsl:when>
-    <xsl:when test="artheader/title">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="articleinfo/subtitle">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="artheader/subtitle">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
-  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="article.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="article.titlepage.separator"><hr/>
-</xsl:template>
-
-<xsl:template name="article.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="article.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="article.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="article.titlepage.before.recto"/>
-      <xsl:call-template name="article.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="article.titlepage.before.verso"/>
-      <xsl:call-template name="article.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="article.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="article.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="article.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="article.titlepage.recto.style">
-<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="set.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="setinfo/title">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="setinfo/subtitle">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
-  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="set.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="set.titlepage.separator"><hr/>
-</xsl:template>
-
-<xsl:template name="set.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="set.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="set.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="set.titlepage.before.recto"/>
-      <xsl:call-template name="set.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="set.titlepage.before.verso"/>
-      <xsl:call-template name="set.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="set.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="set.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="set.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="set.titlepage.recto.style">
-<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="book.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="bookinfo/title">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="bookinfo/subtitle">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
-  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="book.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="book.titlepage.separator"><hr/>
-</xsl:template>
-
-<xsl:template name="book.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="book.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="book.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="book.titlepage.before.recto"/>
-      <xsl:call-template name="book.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="book.titlepage.before.verso"/>
-      <xsl:call-template name="book.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="book.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="book.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="book.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="book.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="book.titlepage.recto.style">
-<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="part.titlepage.recto">
-  <div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:call-template name="division.title">
-<xsl:with-param name="node" select="ancestor-or-self::part[1]"/>
-</xsl:call-template></div>
-  <xsl:choose>
-    <xsl:when test="partinfo/subtitle">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="part.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="part.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="part.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="part.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="part.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="part.titlepage.before.recto"/>
-      <xsl:call-template name="part.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="part.titlepage.before.verso"/>
-      <xsl:call-template name="part.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="part.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="part.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="part.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="part.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="part.titlepage.recto.style">
-<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="partintro.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="partintroinfo/title">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="partintroinfo/subtitle">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="partintro.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="partintro.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="partintro.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="partintro.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="partintro.titlepage">
-  <div>
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="partintro.titlepage.before.recto"/>
-      <xsl:call-template name="partintro.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="partintro.titlepage.before.verso"/>
-      <xsl:call-template name="partintro.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="partintro.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="partintro.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="partintro.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
-<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="reference.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="referenceinfo/title">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="referenceinfo/subtitle">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="reference.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="reference.titlepage.separator"><hr/>
-</xsl:template>
-
-<xsl:template name="reference.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="reference.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="reference.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="reference.titlepage.before.recto"/>
-      <xsl:call-template name="reference.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="reference.titlepage.before.verso"/>
-      <xsl:call-template name="reference.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="reference.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="reference.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="reference.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="reference.titlepage.recto.style">
-<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="refentry.titlepage.recto">
-</xsl:template>
-
-<xsl:template name="refentry.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="refentry.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="refentry.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="refentry.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="refentry.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="refentry.titlepage.before.recto"/>
-      <xsl:call-template name="refentry.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="refentry.titlepage.before.verso"/>
-      <xsl:call-template name="refentry.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="refentry.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="refentry.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="refentry.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template name="dedication.titlepage.recto">
-  <div xsl:use-attribute-sets="dedication.titlepage.recto.style">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
-</xsl:call-template></div>
-  <xsl:choose>
-    <xsl:when test="dedicationinfo/subtitle">
-      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="dedication.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="dedication.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="dedication.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="dedication.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="dedication.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="dedication.titlepage.before.recto"/>
-      <xsl:call-template name="dedication.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="dedication.titlepage.before.verso"/>
-      <xsl:call-template name="dedication.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="dedication.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="dedication.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="dedication.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="dedication.titlepage.recto.style">
-<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="preface.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="prefaceinfo/title">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="prefaceinfo/subtitle">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="preface.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="preface.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="preface.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="preface.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="preface.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="preface.titlepage.before.recto"/>
-      <xsl:call-template name="preface.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="preface.titlepage.before.verso"/>
-      <xsl:call-template name="preface.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="preface.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="preface.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="preface.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="preface.titlepage.recto.style">
-<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="chapter.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="chapterinfo/title">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="chapterinfo/subtitle">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="chapter.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="chapter.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="chapter.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="chapter.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="chapter.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="chapter.titlepage.before.recto"/>
-      <xsl:call-template name="chapter.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="chapter.titlepage.before.verso"/>
-      <xsl:call-template name="chapter.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="chapter.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="chapter.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="chapter.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
-<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="appendix.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="appendixinfo/title">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="appendixinfo/subtitle">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="appendix.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="appendix.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="appendix.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="appendix.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="appendix.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="appendix.titlepage.before.recto"/>
-      <xsl:call-template name="appendix.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="appendix.titlepage.before.verso"/>
-      <xsl:call-template name="appendix.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="appendix.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="appendix.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="appendix.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
-<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="section.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sectioninfo/title">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sectioninfo/subtitle">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
-  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="section.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
-</xsl:template>
-
-<xsl:template name="section.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="section.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="section.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="section.titlepage.before.recto"/>
-      <xsl:call-template name="section.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="section.titlepage.before.verso"/>
-      <xsl:call-template name="section.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="section.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="section.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="section.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="section.titlepage.recto.style">
-<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="sect1.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sect1info/title">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sect1info/subtitle">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
-  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="sect1.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
-</xsl:template>
-
-<xsl:template name="sect1.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sect1.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sect1.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sect1.titlepage.before.recto"/>
-      <xsl:call-template name="sect1.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sect1.titlepage.before.verso"/>
-      <xsl:call-template name="sect1.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="sect1.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="sect1.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sect1.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="sect2.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sect2info/title">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sect2info/subtitle">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
-  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="sect2.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
-</xsl:template>
-
-<xsl:template name="sect2.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sect2.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sect2.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sect2.titlepage.before.recto"/>
-      <xsl:call-template name="sect2.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sect2.titlepage.before.verso"/>
-      <xsl:call-template name="sect2.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="sect2.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="sect2.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sect2.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="sect3.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sect3info/title">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sect3info/subtitle">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
-  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="sect3.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
-</xsl:template>
-
-<xsl:template name="sect3.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sect3.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sect3.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sect3.titlepage.before.recto"/>
-      <xsl:call-template name="sect3.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sect3.titlepage.before.verso"/>
-      <xsl:call-template name="sect3.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="sect3.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="sect3.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sect3.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="sect4.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sect4info/title">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sect4info/subtitle">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
-  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="sect4.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
-</xsl:template>
-
-<xsl:template name="sect4.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sect4.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sect4.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sect4.titlepage.before.recto"/>
-      <xsl:call-template name="sect4.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sect4.titlepage.before.verso"/>
-      <xsl:call-template name="sect4.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="sect4.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="sect4.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sect4.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="sect5.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="sect5info/title">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="sect5info/subtitle">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
-  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="sect5.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
-</xsl:template>
-
-<xsl:template name="sect5.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="sect5.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="sect5.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="sect5.titlepage.before.recto"/>
-      <xsl:call-template name="sect5.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="sect5.titlepage.before.verso"/>
-      <xsl:call-template name="sect5.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="sect5.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="sect5.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="sect5.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
-<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage.recto">
-  <xsl:choose>
-    <xsl:when test="simplesectinfo/title">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
-    </xsl:when>
-    <xsl:when test="docinfo/title">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
-    </xsl:when>
-    <xsl:when test="info/title">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
-    </xsl:when>
-    <xsl:when test="title">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:choose>
-    <xsl:when test="simplesectinfo/subtitle">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
-  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="simplesect.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="simplesect.titlepage.before.recto"/>
-      <xsl:call-template name="simplesect.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="simplesect.titlepage.before.verso"/>
-      <xsl:call-template name="simplesect.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="simplesect.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
-<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage.recto">
-  <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
-</xsl:call-template></div>
-  <xsl:choose>
-    <xsl:when test="bibliographyinfo/subtitle">
-      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="bibliography.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="bibliography.titlepage.before.recto"/>
-      <xsl:call-template name="bibliography.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="bibliography.titlepage.before.verso"/>
-      <xsl:call-template name="bibliography.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="bibliography.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
-<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="glossary.titlepage.recto">
-  <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
-</xsl:call-template></div>
-  <xsl:choose>
-    <xsl:when test="glossaryinfo/subtitle">
-      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="glossary.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="glossary.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="glossary.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="glossary.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="glossary.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="glossary.titlepage.before.recto"/>
-      <xsl:call-template name="glossary.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="glossary.titlepage.before.verso"/>
-      <xsl:call-template name="glossary.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="glossary.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="glossary.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="glossary.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="glossary.titlepage.recto.style">
-<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="index.titlepage.recto">
-  <div xsl:use-attribute-sets="index.titlepage.recto.style">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
-</xsl:call-template></div>
-  <xsl:choose>
-    <xsl:when test="indexinfo/subtitle">
-      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="index.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="index.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="index.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="index.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="index.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="index.titlepage.before.recto"/>
-      <xsl:call-template name="index.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="index.titlepage.before.verso"/>
-      <xsl:call-template name="index.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="index.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="index.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="index.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="index.titlepage.recto.style">
-<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-<xsl:template name="setindex.titlepage.recto">
-  <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
-<xsl:call-template name="component.title">
-<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
-</xsl:call-template></div>
-  <xsl:choose>
-    <xsl:when test="setindexinfo/subtitle">
-      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="docinfo/subtitle">
-      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
-    </xsl:when>
-    <xsl:when test="info/subtitle">
-      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
-    </xsl:when>
-    <xsl:when test="subtitle">
-      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
-    </xsl:when>
-  </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="setindex.titlepage.verso">
-</xsl:template>
-
-<xsl:template name="setindex.titlepage.separator">
-</xsl:template>
-
-<xsl:template name="setindex.titlepage.before.recto">
-</xsl:template>
-
-<xsl:template name="setindex.titlepage.before.verso">
-</xsl:template>
-
-<xsl:template name="setindex.titlepage">
-  <div class="titlepage">
-    <xsl:variable name="recto.content">
-      <xsl:call-template name="setindex.titlepage.before.recto"/>
-      <xsl:call-template name="setindex.titlepage.recto"/>
-    </xsl:variable>
-    <xsl:variable name="recto.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$recto.content"/></div>
-    </xsl:if>
-    <xsl:variable name="verso.content">
-      <xsl:call-template name="setindex.titlepage.before.verso"/>
-      <xsl:call-template name="setindex.titlepage.verso"/>
-    </xsl:variable>
-    <xsl:variable name="verso.elements.count">
-      <xsl:choose>
-        <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
-          <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
-        <xsl:otherwise>1</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
-      <div><xsl:copy-of select="$verso.content"/></div>
-    </xsl:if>
-    <xsl:call-template name="setindex.titlepage.separator"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="*" mode="setindex.titlepage.recto.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="*" mode="setindex.titlepage.verso.mode">
-  <!-- if an element isn't found in this mode, -->
-  <!-- try the generic titlepage.mode -->
-  <xsl:apply-templates select="." mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
-<div xsl:use-attribute-sets="setindex.titlepage.recto.style">
-<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
-</div>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/titlepage.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/titlepage.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,960 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:attribute-set name="book.titlepage.recto.style"/>
-<xsl:attribute-set name="book.titlepage.verso.style"/>
-
-<xsl:attribute-set name="article.titlepage.recto.style"/>
-<xsl:attribute-set name="article.titlepage.verso.style"/>
-
-<xsl:attribute-set name="set.titlepage.recto.style"/>
-<xsl:attribute-set name="set.titlepage.verso.style"/>
-
-<xsl:attribute-set name="part.titlepage.recto.style"/>
-<xsl:attribute-set name="part.titlepage.verso.style"/>
-
-<xsl:attribute-set name="partintro.titlepage.recto.style"/>
-<xsl:attribute-set name="partintro.titlepage.verso.style"/>
-
-<xsl:attribute-set name="reference.titlepage.recto.style"/>
-<xsl:attribute-set name="reference.titlepage.verso.style"/>
-
-<xsl:attribute-set name="refentry.titlepage.recto.style"/>
-<xsl:attribute-set name="refentry.titlepage.verso.style"/>
-
-<xsl:attribute-set name="dedication.titlepage.recto.style"/>
-<xsl:attribute-set name="dedication.titlepage.verso.style"/>
-
-<xsl:attribute-set name="preface.titlepage.recto.style"/>
-<xsl:attribute-set name="preface.titlepage.verso.style"/>
-
-<xsl:attribute-set name="chapter.titlepage.recto.style"/>
-<xsl:attribute-set name="chapter.titlepage.verso.style"/>
-
-<xsl:attribute-set name="appendix.titlepage.recto.style"/>
-<xsl:attribute-set name="appendix.titlepage.verso.style"/>
-
-<xsl:attribute-set name="bibliography.titlepage.recto.style"/>
-<xsl:attribute-set name="bibliography.titlepage.verso.style"/>
-
-<xsl:attribute-set name="glossary.titlepage.recto.style"/>
-<xsl:attribute-set name="glossary.titlepage.verso.style"/>
-
-<xsl:attribute-set name="index.titlepage.recto.style"/>
-<xsl:attribute-set name="index.titlepage.verso.style"/>
-
-<xsl:attribute-set name="setindex.titlepage.recto.style"/>
-<xsl:attribute-set name="setindex.titlepage.verso.style"/>
-
-<xsl:attribute-set name="section.titlepage.recto.style"/>
-<xsl:attribute-set name="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="sect1.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="sect1.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="sect2.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="sect2.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="sect3.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="sect3.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="sect4.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="sect4.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="sect5.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="sect5.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="simplesect.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
-<xsl:attribute-set name="simplesect.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
-
-<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/>
-<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/>
-
-<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/>
-<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="titlepage.mode">
-  <!-- if an element isn't found in this mode, try the default mode -->
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="abbrev" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="abstract" mode="titlepage.mode">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:if test="$abstract.notitle.enabled = 0">
-      <xsl:call-template name="formal.object.heading">
-        <xsl:with-param name="title">
-          <xsl:apply-templates select="." mode="title.markup"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:if>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <xsl:call-template name="process.footnotes"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="abstract/title" mode="titlepage.mode">
-</xsl:template>
-
-<xsl:template match="address" mode="titlepage.mode">
-  <xsl:param name="suppress-numbers" select="'0'"/>
-
-  <xsl:variable name="rtf">
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$suppress-numbers = '0'                     and @linenumbering = 'numbered'                     and $use.extensions != '0'                     and $linenumbering.extension != '0'">
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:call-template name="paragraph">
-          <xsl:with-param name="content">
-            <xsl:call-template name="number.rtf.lines">
-              <xsl:with-param name="rtf" select="$rtf"/>
-            </xsl:call-template>
-          </xsl:with-param>
-        </xsl:call-template>
-      </div>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:call-template name="paragraph">
-          <xsl:with-param name="content">
-            <xsl:call-template name="make-verbatim">
-              <xsl:with-param name="rtf" select="$rtf"/>
-            </xsl:call-template>
-          </xsl:with-param>
-        </xsl:call-template>
-      </div>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="affiliation" mode="titlepage.mode">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="artpagenums" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="author|editor" mode="titlepage.mode">
-  <xsl:call-template name="credits.div"/>
-</xsl:template>
-
-<xsl:template name="credits.div">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="self::editor[position()=1] and not($editedby.enabled = 0)">
-      <h4 class="editedby"><xsl:call-template name="gentext.edited.by"/></h4>
-    </xsl:if>
-    <h3>
-      <xsl:apply-templates select="." mode="class.attribute"/>
-      <xsl:choose>
-        <xsl:when test="orgname">
-          <xsl:apply-templates/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="person.name"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </h3>
-    <xsl:if test="not($contrib.inline.enabled = 0)">
-      <xsl:apply-templates mode="titlepage.mode" select="contrib"/>
-    </xsl:if>
-    <xsl:apply-templates mode="titlepage.mode" select="affiliation"/>
-    <xsl:apply-templates mode="titlepage.mode" select="email"/>
-    <xsl:if test="not($blurb.on.titlepage.enabled = 0)">
-      <xsl:choose>
-        <xsl:when test="$contrib.inline.enabled = 0">
-          <xsl:apply-templates mode="titlepage.mode" select="contrib|authorblurb|personblurb"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates mode="titlepage.mode" select="authorblurb|personblurb"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-  </div>
-</xsl:template>
-
-<xsl:template match="authorblurb|personblurb" mode="titlepage.mode">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="titlepage.mode">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="authorinitials" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="bibliomisc" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="bibliomset" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="collab" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="collabname" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </span>
-</xsl:template>
-
-<xsl:template match="confgroup" mode="titlepage.mode">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="confdates" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="confsponsor" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="conftitle" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="confnum" mode="titlepage.mode">
-  <!-- suppress -->
-</xsl:template>
-
-<xsl:template match="contractnum" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="contractsponsor" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="contrib" mode="titlepage.mode">
-  <xsl:choose>
-    <xsl:when test="not($contrib.inline.enabled = 0)">
-      <span>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:apply-templates mode="titlepage.mode"/>
-      </span><xsl:text>&#160;</xsl:text>
-    </xsl:when>
-    <xsl:otherwise>
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <p><xsl:apply-templates mode="titlepage.mode"/></p>
-      </div>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="copyright" mode="titlepage.mode">
-  <p>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'Copyright'"/>
-    </xsl:call-template>
-    <xsl:call-template name="gentext.space"/>
-    <xsl:call-template name="dingbat">
-      <xsl:with-param name="dingbat">copyright</xsl:with-param>
-    </xsl:call-template>
-    <xsl:call-template name="gentext.space"/>
-    <xsl:call-template name="copyright.years">
-      <xsl:with-param name="years" select="year"/>
-      <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
-      <xsl:with-param name="single.year.ranges" select="$make.single.year.ranges"/>
-    </xsl:call-template>
-    <xsl:call-template name="gentext.space"/>
-    <xsl:apply-templates select="holder" mode="titlepage.mode"/>
-  </p>
-</xsl:template>
-
-<xsl:template match="year" mode="titlepage.mode">
-  <xsl:choose>
-    <xsl:when test="$show.revisionflag != 0 and @revisionflag">
-      <span class="{@revisionflag}">
-        <xsl:apply-templates mode="titlepage.mode"/>
-      </span>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="titlepage.mode"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="holder" mode="titlepage.mode">
-  <xsl:choose>
-    <xsl:when test="$show.revisionflag != 0 and @revisionflag">
-      <span class="{@revisionflag}">
-        <xsl:apply-templates mode="titlepage.mode"/>
-      </span>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates mode="titlepage.mode"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:if test="position() &lt; last()">
-    <xsl:text>, </xsl:text>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="corpauthor" mode="titlepage.mode">
-  <h3>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </h3>
-</xsl:template>
-
-<xsl:template match="corpcredit" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="corpname" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="date" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="edition" mode="titlepage.mode">
-  <p>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <xsl:call-template name="gentext.space"/>
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key" select="'Edition'"/>
-    </xsl:call-template>
-  </p>
-</xsl:template>
-
-<xsl:template match="email" mode="titlepage.mode">
-  <!-- use the normal e-mail handling code -->
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="firstname" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="graphic" mode="titlepage.mode">
-  <!-- use the normal graphic handling code -->
-  <xsl:apply-templates select="."/>
-</xsl:template>
-
-<xsl:template match="honorific" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="isbn" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="issn" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="biblioid" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="itermset" mode="titlepage.mode">
-</xsl:template>
-
-<xsl:template match="invpartnumber" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="issuenum" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="jobtitle" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="keywordset" mode="titlepage.mode">
-</xsl:template>
-
-<xsl:template match="legalnotice" mode="titlepage.mode">
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-  <xsl:choose>
-    <xsl:when test="$generate.legalnotice.link != 0">
-      <xsl:variable name="filename">
-        <xsl:call-template name="make-relative-filename">
-          <xsl:with-param name="base.dir" select="$base.dir"/>
-	  <xsl:with-param name="base.name" select="concat($id,$html.ext)"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="title">
-        <xsl:apply-templates select="." mode="title.markup"/>
-      </xsl:variable>
-
-      <xsl:variable name="href">
-        <xsl:apply-templates mode="chunk-filename" select="."/>
-      </xsl:variable>
-
-      <a href="{$href}">
-        <xsl:copy-of select="$title"/>
-      </a>
-
-      <xsl:call-template name="write.chunk">
-        <xsl:with-param name="filename" select="$filename"/>
-        <xsl:with-param name="quiet" select="$chunk.quietly"/>
-        <xsl:with-param name="content">
-        <xsl:call-template name="user.preroot"/>
-          <html>
-            <head>
-              <xsl:call-template name="system.head.content"/>
-              <xsl:call-template name="head.content"/>
-              <xsl:call-template name="user.head.content"/>
-            </head>
-            <body>
-              <xsl:call-template name="body.attributes"/>
-              <div>
-                <xsl:apply-templates select="." mode="class.attribute"/>
-                <xsl:apply-templates mode="titlepage.mode"/>
-              </div>
-            </body>
-          </html>
-          <xsl:value-of select="$chunk.append"/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <a id="{$id}"/>
-        <xsl:apply-templates mode="titlepage.mode"/>
-      </div>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="legalnotice/title" mode="titlepage.mode">
-  <p class="legalnotice-title"><b><xsl:apply-templates/></b></p>
-</xsl:template>
-
-<xsl:template match="lineage" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="modespec" mode="titlepage.mode">
-</xsl:template>
-
-<xsl:template match="orgdiv" mode="titlepage.mode">
-  <xsl:if test="preceding-sibling::*[1][self::orgname]">
-    <xsl:text> </xsl:text>
-  </xsl:if>
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="orgname" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="titlepage.mode">
-<xsl:choose>
-  <xsl:when test="not($othercredit.like.author.enabled = 0)">
-  <xsl:variable name="contrib" select="string(contrib)"/>
-  <xsl:choose>
-    <xsl:when test="contrib">
-      <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])">
-        <xsl:call-template name="paragraph">
-          <xsl:with-param name="class" select="local-name(.)"/>
-          <xsl:with-param name="content">
-            <xsl:apply-templates mode="titlepage.mode" select="contrib"/>
-            <xsl:text>: </xsl:text>
-            <xsl:call-template name="person.name"/>
-            <xsl:apply-templates mode="titlepage.mode" select="affiliation"/>
-            <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="paragraph">
-        <xsl:with-param name="class" select="local-name(.)"/>
-        <xsl:with-param name="content">
-          <xsl:call-template name="person.name"/>
-        </xsl:with-param>
-      </xsl:call-template>
-      <xsl:apply-templates mode="titlepage.mode" select="affiliation"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  </xsl:when>
-  <xsl:otherwise>
-    <xsl:call-template name="credits.div"/>
-  </xsl:otherwise>
-</xsl:choose>
-</xsl:template>
-
-<xsl:template match="othercredit" mode="titlepage.othercredits">
-  <xsl:text>, </xsl:text>
-  <xsl:call-template name="person.name"/>
-</xsl:template>
-
-<xsl:template match="othername" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="pagenums" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="printhistory" mode="titlepage.mode">
-  <div>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </div>
-</xsl:template>
-
-<xsl:template match="productname" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="productnumber" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="pubdate" mode="titlepage.mode">
-  <xsl:call-template name="paragraph">
-    <xsl:with-param name="class" select="local-name(.)"/>
-    <xsl:with-param name="content">
-      <xsl:apply-templates mode="titlepage.mode"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="publisher" mode="titlepage.mode">
-  <xsl:call-template name="paragraph">
-    <xsl:with-param name="class" select="local-name(.)"/>
-    <xsl:with-param name="content">
-      <xsl:apply-templates mode="titlepage.mode"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="publishername" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="pubsnumber" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="releaseinfo" mode="titlepage.mode">
-  <xsl:call-template name="paragraph">
-    <xsl:with-param name="class" select="local-name(.)"/>
-    <xsl:with-param name="content">
-      <xsl:apply-templates mode="titlepage.mode"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="revhistory" mode="titlepage.mode">
-  <xsl:variable name="numcols">
-    <xsl:choose>
-      <xsl:when test=".//authorinitials|.//author">3</xsl:when>
-      <xsl:otherwise>2</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-
-  <xsl:variable name="title">
-    <xsl:call-template name="gentext">
-      <xsl:with-param name="key">RevHistory</xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="contents">
-    <div>
-      <xsl:apply-templates select="." mode="class.attribute"/>
-      <table border="1" width="100%" summary="Revision history">
-        <tr>
-          <th align="left" valign="top" colspan="{$numcols}">
-            <b>
-              <xsl:call-template name="gentext">
-                <xsl:with-param name="key" select="'RevHistory'"/>
-              </xsl:call-template>
-            </b>
-          </th>
-        </tr>
-        <xsl:apply-templates mode="titlepage.mode">
-          <xsl:with-param name="numcols" select="$numcols"/>
-        </xsl:apply-templates>
-      </table>
-    </div>
-  </xsl:variable>
-  
-  <xsl:choose>
-    <xsl:when test="$generate.revhistory.link != 0">
-      <xsl:variable name="filename">
-        <xsl:call-template name="make-relative-filename">
-          <xsl:with-param name="base.dir" select="$base.dir"/>
-          <xsl:with-param name="base.name" select="concat($id,$html.ext)"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <a href="{concat($id,$html.ext)}">
-        <xsl:copy-of select="$title"/>
-      </a>
-
-      <xsl:call-template name="write.chunk">
-        <xsl:with-param name="filename" select="$filename"/>
-        <xsl:with-param name="quiet" select="$chunk.quietly"/>
-        <xsl:with-param name="content">
-        <xsl:call-template name="user.preroot"/>
-          <html>
-            <head>
-              <xsl:call-template name="system.head.content"/>
-              <xsl:call-template name="head.content">
-                <xsl:with-param name="title">
-                    <xsl:value-of select="$title"/>
-                    <xsl:if test="../../title">
-                        <xsl:value-of select="concat(' (', ../../title, ')')"/>
-                    </xsl:if>
-                </xsl:with-param>
-              </xsl:call-template>
-              <xsl:call-template name="user.head.content"/>
-            </head>
-            <body>
-              <xsl:call-template name="body.attributes"/>
-              <xsl:copy-of select="$contents"/>
-            </body>
-          </html>
-          <xsl:text>
-</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$contents"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="revhistory/revision" mode="titlepage.mode">
-  <xsl:param name="numcols" select="'3'"/>
-  <xsl:variable name="revnumber" select="revnumber"/>
-  <xsl:variable name="revdate" select="date"/>
-  <xsl:variable name="revauthor" select="authorinitials|author"/>
-  <xsl:variable name="revremark" select="revremark|revdescription"/>
-  <tr>
-    <td align="left">
-      <xsl:if test="$revnumber">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'Revision'"/>
-        </xsl:call-template>
-        <xsl:call-template name="gentext.space"/>
-        <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/>
-      </xsl:if>
-    </td>
-    <td align="left">
-      <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/>
-    </td>
-    <xsl:choose>
-      <xsl:when test="$revauthor">
-        <td align="left">
-          <xsl:for-each select="$revauthor">
-            <xsl:apply-templates select="." mode="titlepage.mode"/>
-            <xsl:if test="position() != last()">
-	      <xsl:text>, </xsl:text>
-	    </xsl:if>
-	  </xsl:for-each>
-        </td>
-      </xsl:when>
-      <xsl:when test="$numcols &gt; 2">
-        <td>&#160;</td>
-      </xsl:when>
-      <xsl:otherwise/>
-    </xsl:choose>
-  </tr>
-  <xsl:if test="$revremark">
-    <tr>
-      <td align="left" colspan="{$numcols}">
-        <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/>
-      </td>
-    </tr>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="revision/revnumber" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revision/date" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revision/authorinitials" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revision/author" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revision/revremark" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="revision/revdescription" mode="titlepage.mode">
-  <xsl:apply-templates mode="titlepage.mode"/>
-</xsl:template>
-
-<xsl:template match="seriesvolnums" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="shortaffil" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="subjectset" mode="titlepage.mode">
-</xsl:template>
-
-<xsl:template match="subtitle" mode="titlepage.mode">
-  <h2>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </h2>
-</xsl:template>
-
-<xsl:template match="surname" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<xsl:template match="title" mode="titlepage.mode">
-  <xsl:variable name="id">
-    <xsl:choose>
-      <!-- if title is in an *info wrapper, get the grandparent -->
-      <xsl:when test="contains(local-name(..), 'info')">
-        <xsl:call-template name="object.id">
-          <xsl:with-param name="object" select="../.."/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="object.id">
-          <xsl:with-param name="object" select=".."/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <h1>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:if test="$generate.id.attributes = 0">
-      <a id="{$id}"/>
-    </xsl:if>
-    <xsl:choose>
-      <xsl:when test="$show.revisionflag != 0 and @revisionflag">
-	<span class="{@revisionflag}">
-	  <xsl:apply-templates mode="titlepage.mode"/>
-	</span>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:apply-templates mode="titlepage.mode"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </h1>
-</xsl:template>
-
-<xsl:template match="titleabbrev" mode="titlepage.mode">
-  <!-- nop; title abbreviations don't belong on the title page! -->
-</xsl:template>
-
-<xsl:template match="volumenum" mode="titlepage.mode">
-  <span>
-    <xsl:apply-templates select="." mode="class.attribute"/>
-    <xsl:apply-templates mode="titlepage.mode"/>
-    <br/>
-  </span>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/toc.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/toc.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,163 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- ==================================================================== -->
-
-<xsl:template match="toc">
-  <xsl:choose>
-    <xsl:when test="*">
-      <xsl:if test="$process.source.toc != 0">
-        <!-- if the toc isn't empty, process it -->
-        <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
-          <xsl:apply-templates/>
-        </xsl:element>
-      </xsl:if>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:if test="$process.empty.source.toc != 0">
-        <xsl:choose>
-          <xsl:when test="parent::section                           or parent::sect1                           or parent::sect2                           or parent::sect3                           or parent::sect4                           or parent::sect5">
-            <xsl:apply-templates select="parent::*" mode="toc.for.section"/>
-          </xsl:when>
-          <xsl:when test="parent::article">
-            <xsl:apply-templates select="parent::*" mode="toc.for.component"/>
-          </xsl:when>
-          <xsl:when test="parent::book                           or parent::part">
-            <xsl:apply-templates select="parent::*" mode="toc.for.division"/>
-          </xsl:when>
-          <xsl:when test="parent::set">
-            <xsl:apply-templates select="parent::*" mode="toc.for.set"/>
-          </xsl:when>
-          <!-- there aren't any other contexts that allow toc -->
-          <xsl:otherwise>
-            <xsl:message>
-              <xsl:text>I don't know how to make a TOC in this context!</xsl:text>
-            </xsl:message>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="tocpart|tocchap                      |toclevel1|toclevel2|toclevel3|toclevel4|toclevel5">
-  <xsl:variable name="sub-toc">
-    <xsl:if test="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5">
-      <xsl:choose>
-        <xsl:when test="$toc.list.type = 'dl'">
-          <dd>
-            <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
-              <xsl:apply-templates select="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"/>
-            </xsl:element>
-          </dd>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
-            <xsl:apply-templates select="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"/>
-          </xsl:element>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-  </xsl:variable>
-
-  <xsl:apply-templates select="tocentry[position() != last()]"/>
-
-  <xsl:choose>
-    <xsl:when test="$toc.list.type = 'dl'">
-      <dt>
-        <xsl:apply-templates select="tocentry[position() = last()]"/>
-      </dt>
-      <xsl:copy-of select="$sub-toc"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <li>
-        <xsl:apply-templates select="tocentry[position() = last()]"/>
-        <xsl:copy-of select="$sub-toc"/>
-      </li>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="tocentry|tocfront|tocback">
-  <xsl:choose>
-    <xsl:when test="$toc.list.type = 'dl'">
-      <dt>
-        <xsl:call-template name="tocentry-content"/>
-      </dt>
-    </xsl:when>
-    <xsl:otherwise>
-      <li>
-        <xsl:call-template name="tocentry-content"/>
-      </li>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="tocentry[position() = last()]" priority="2">
-  <xsl:call-template name="tocentry-content"/>
-</xsl:template>
-
-<xsl:template name="tocentry-content">
-  <xsl:variable name="targets" select="key('id',@linkend)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-
-  <xsl:choose>
-    <xsl:when test="@linkend">
-      <xsl:call-template name="check.id.unique">
-        <xsl:with-param name="linkend" select="@linkend"/>
-      </xsl:call-template>
-      <a>
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$target"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:apply-templates/>
-      </a>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="toc.for.section">
-  <xsl:call-template name="section.toc"/>
-</xsl:template>
-
-<xsl:template match="*" mode="toc.for.component">
-  <xsl:call-template name="component.toc"/>
-</xsl:template>
-
-<xsl:template match="*" mode="toc.for.section">
-  <xsl:call-template name="section.toc"/>
-</xsl:template>
-
-<xsl:template match="*" mode="toc.for.division">
-  <xsl:call-template name="division.toc"/>
-</xsl:template>
-
-<xsl:template match="*" mode="toc.for.set">
-  <xsl:call-template name="set.toc"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="lot|lotentry">
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/verbatim.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/verbatim.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,354 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sverb="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim" xmlns:xverb="xalan://com.nwalsh.xalan.Verbatim" xmlns:lxslt="http://xml.apache.org/xslt" xmlns:exsl="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="sverb xverb lxslt exsl" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<xsl:include href="../highlighting/common.xsl"/>
-<xsl:include href="highlight.xsl"/>
-
-<lxslt:component prefix="xverb" functions="numberLines"/>
-
-<xsl:template match="programlisting|screen|synopsis">
-  <xsl:param name="suppress-numbers" select="'0'"/>
-  <xsl:variable name="id">
-    <xsl:call-template name="object.id"/>
-  </xsl:variable>
-
-  <xsl:call-template name="anchor"/>
-
-  <xsl:if test="$shade.verbatim != 0">
-    <xsl:message>
-      <xsl:text>The shade.verbatim parameter is deprecated. </xsl:text>
-      <xsl:text>Use CSS instead,</xsl:text>
-    </xsl:message>
-    <xsl:message>
-      <xsl:text>for example: pre.</xsl:text>
-      <xsl:value-of select="local-name(.)"/>
-      <xsl:text> { background-color: #E0E0E0; }</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="$suppress-numbers = '0'       and @linenumbering = 'numbered'       and $use.extensions != '0'       and $linenumbering.extension != '0'">
-      <xsl:variable name="rtf">
-	<xsl:call-template name="apply-highlighting"/>
-      </xsl:variable>
-      <pre>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-	<xsl:call-template name="number.rtf.lines">
-	  <xsl:with-param name="rtf" select="$rtf"/>
-	</xsl:call-template>
-      </pre>
-    </xsl:when>
-    <xsl:otherwise>
-      <pre>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-	<xsl:call-template name="apply-highlighting"/>
-      </pre>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="literallayout">
-  <xsl:param name="suppress-numbers" select="'0'"/>
-
-  <xsl:variable name="rtf">
-    <xsl:apply-templates/>
-  </xsl:variable>
-
-  <xsl:if test="$shade.verbatim != 0 and @class='monospaced'">
-    <xsl:message>
-      <xsl:text>The shade.verbatim parameter is deprecated. </xsl:text>
-      <xsl:text>Use CSS instead,</xsl:text>
-    </xsl:message>
-    <xsl:message>
-      <xsl:text>for example: pre.</xsl:text>
-      <xsl:value-of select="local-name(.)"/>
-      <xsl:text> { background-color: #E0E0E0; }</xsl:text>
-    </xsl:message>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="$suppress-numbers = '0'       and @linenumbering = 'numbered'       and $use.extensions != '0'       and $linenumbering.extension != '0'">
-      <xsl:choose>
-	<xsl:when test="@class='monospaced'">
-          <pre>
-            <xsl:apply-templates select="." mode="class.attribute"/>
-	    <xsl:call-template name="number.rtf.lines">
-	      <xsl:with-param name="rtf" select="$rtf"/>
-	    </xsl:call-template>
-	  </pre>
-	</xsl:when>
-	<xsl:otherwise>
-          <div>
-            <xsl:apply-templates select="." mode="class.attribute"/>
-	    <p>
-	      <xsl:call-template name="number.rtf.lines">
-		<xsl:with-param name="rtf" select="$rtf"/>
-	      </xsl:call-template>
-	    </p>
-	  </div>
-	</xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-	<xsl:when test="@class='monospaced'">
-          <pre>
-            <xsl:apply-templates select="." mode="class.attribute"/>
-	    <xsl:copy-of select="$rtf"/>
-	  </pre>
-	</xsl:when>
-	<xsl:otherwise>
-          <div>
-            <xsl:apply-templates select="." mode="class.attribute"/>
-	    <p>
-	      <xsl:call-template name="make-verbatim">
-		<xsl:with-param name="rtf" select="$rtf"/>
-	      </xsl:call-template>
-	    </p>
-	  </div>
-	</xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="address">
-  <xsl:param name="suppress-numbers" select="'0'"/>
-
-  <xsl:variable name="rtf">
-    <xsl:apply-templates/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$suppress-numbers = '0'                     and @linenumbering = 'numbered'                     and $use.extensions != '0'                     and $linenumbering.extension != '0'">
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <p>
-          <xsl:call-template name="number.rtf.lines">
-            <xsl:with-param name="rtf" select="$rtf"/>
-          </xsl:call-template>
-        </p>
-      </div>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <div>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <p>
-          <xsl:call-template name="make-verbatim">
-            <xsl:with-param name="rtf" select="$rtf"/>
-          </xsl:call-template>
-        </p>
-      </div>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="number.rtf.lines">
-  <xsl:param name="rtf" select="''"/>
-  <xsl:param name="pi.context" select="."/>
-
-  <!-- Save the global values -->
-  <xsl:variable name="global.linenumbering.everyNth" select="$linenumbering.everyNth"/>
-
-  <xsl:variable name="global.linenumbering.separator" select="$linenumbering.separator"/>
-
-  <xsl:variable name="global.linenumbering.width" select="$linenumbering.width"/>
-
-  <!-- Extract the <?dbhtml linenumbering.*?> PI values -->
-  <xsl:variable name="pi.linenumbering.everyNth">
-    <xsl:call-template name="pi.dbhtml_linenumbering.everyNth">
-      <xsl:with-param name="node" select="$pi.context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="pi.linenumbering.separator">
-    <xsl:call-template name="pi.dbhtml_linenumbering.separator">
-      <xsl:with-param name="node" select="$pi.context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="pi.linenumbering.width">
-    <xsl:call-template name="pi.dbhtml_linenumbering.width">
-      <xsl:with-param name="node" select="$pi.context"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <!-- Construct the 'in-context' values -->
-  <xsl:variable name="linenumbering.everyNth">
-    <xsl:choose>
-      <xsl:when test="$pi.linenumbering.everyNth != ''">
-        <xsl:value-of select="$pi.linenumbering.everyNth"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$global.linenumbering.everyNth"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="linenumbering.separator">
-    <xsl:choose>
-      <xsl:when test="$pi.linenumbering.separator != ''">
-        <xsl:value-of select="$pi.linenumbering.separator"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$global.linenumbering.separator"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="linenumbering.width">
-    <xsl:choose>
-      <xsl:when test="$pi.linenumbering.width != ''">
-        <xsl:value-of select="$pi.linenumbering.width"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$global.linenumbering.width"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="linenumbering.startinglinenumber">
-    <xsl:choose>
-      <xsl:when test="$pi.context/@startinglinenumber">
-        <xsl:value-of select="$pi.context/@startinglinenumber"/>
-      </xsl:when>
-      <xsl:when test="$pi.context/@continuation='continues'">
-        <xsl:variable name="lastLine">
-          <xsl:choose>
-            <xsl:when test="$pi.context/self::programlisting">
-              <xsl:call-template name="lastLineNumber">
-                <xsl:with-param name="listings" select="preceding::programlisting[@linenumbering='numbered']"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$pi.context/self::screen">
-              <xsl:call-template name="lastLineNumber">
-                <xsl:with-param name="listings" select="preceding::screen[@linenumbering='numbered']"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$pi.context/self::literallayout">
-              <xsl:call-template name="lastLineNumber">
-                <xsl:with-param name="listings" select="preceding::literallayout[@linenumbering='numbered']"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$pi.context/self::address">
-              <xsl:call-template name="lastLineNumber">
-                <xsl:with-param name="listings" select="preceding::address[@linenumbering='numbered']"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$pi.context/self::synopsis">
-              <xsl:call-template name="lastLineNumber">
-                <xsl:with-param name="listings" select="preceding::synopsis[@linenumbering='numbered']"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:message>
-                <xsl:text>Unexpected verbatim environment: </xsl:text>
-                <xsl:value-of select="local-name($pi.context)"/>
-              </xsl:message>
-              <xsl:value-of select="0"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:variable>
-
-        <xsl:value-of select="$lastLine + 1"/>
-      </xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="function-available('sverb:numberLines')">
-      <xsl:copy-of select="sverb:numberLines($rtf)"/>
-    </xsl:when>
-    <xsl:when test="function-available('xverb:numberLines')">
-      <xsl:copy-of select="xverb:numberLines($rtf)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message terminate="yes">
-        <xsl:text>No numberLines function available.</xsl:text>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="make-verbatim">
-  <xsl:param name="rtf"/>
-
-  <!-- I want to make this RTF verbatim. There are two possibilities: either
-       I have access to the exsl:node-set extension function and I can "do it right"
-       or I have to rely on CSS. -->
-
-  <xsl:choose>
-    <xsl:when test="function-available('exsl:node-set')">
-      <xsl:apply-templates select="exsl:node-set($rtf)" mode="make.verbatim.mode"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <span style="white-space: pre;">
-        <xsl:copy-of select="$rtf"/>
-      </span>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ======================================================================== -->
-
-<xsl:template name="lastLineNumber">
-  <xsl:param name="listings"/>
-  <xsl:param name="number" select="0"/>
-
-  <xsl:variable name="lines">
-    <xsl:call-template name="countLines">
-      <xsl:with-param name="listing" select="string($listings[1])"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="not($listings)">
-      <xsl:value-of select="$number"/>
-    </xsl:when>
-    <xsl:when test="$listings[1]/@startinglinenumber">
-      <xsl:value-of select="$number + $listings[1]/@startinglinenumber + $lines - 1"/>
-    </xsl:when>
-    <xsl:when test="$listings[1]/@continuation='continues'">
-      <xsl:call-template name="lastLineNumber">
-        <xsl:with-param name="listings" select="listings[position() &gt; 1]"/>
-        <xsl:with-param name="number" select="$number + $lines"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$lines"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template name="countLines">
-  <xsl:param name="listing"/>
-  <xsl:param name="count" select="1"/>
-
-  <xsl:choose>
-    <xsl:when test="contains($listing, '&#10;')">
-      <xsl:call-template name="countLines">
-        <xsl:with-param name="listing" select="substring-after($listing, '&#10;')"/>
-        <xsl:with-param name="count" select="$count + 1"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="$count"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/xref.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/xref.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,1288 +1,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--This file was created automatically by html2xhtml-->
-<!--from the HTML stylesheets.-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:suwl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.UnwrapLinks" xmlns:exsl="http://exslt.org/common" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="suwl exsl xlink" version="1.0">
-
-<!-- ********************************************************************
-     $Id$
-     ********************************************************************
-
-     This file is part of the XSL DocBook Stylesheet distribution.
-     See ../README or http://docbook.sf.net/release/xsl/current/ for
-     copyright and other information.
-
-     ******************************************************************** -->
-
-<!-- Use internal variable for olink xlink role for consistency -->
-<xsl:variable name="xolink.role">http://docbook.org/xlink/role/olink</xsl:variable>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="anchor">
-  <xsl:call-template name="anchor"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="xref" name="xref">
-  <xsl:param name="xhref" select="@xlink:href"/>
-  <!-- is the @xlink:href a local idref link? -->
-  <xsl:param name="xlink.idref">
-    <xsl:if test="starts-with($xhref,'#')                   and (not(contains($xhref,'('))                   or starts-with($xhref, '#xpointer(id('))">
-      <xsl:call-template name="xpointer.idref">
-        <xsl:with-param name="xpointer" select="$xhref"/>
-      </xsl:call-template>
-   </xsl:if>
-  </xsl:param>
-  <xsl:param name="xlink.targets" select="key('id',$xlink.idref)"/>
-  <xsl:param name="linkend.targets" select="key('id',@linkend)"/>
-  <xsl:param name="target" select="($xlink.targets | $linkend.targets)[1]"/>
-
-  <xsl:variable name="xrefstyle">
-    <xsl:choose>
-      <xsl:when test="@role and not(@xrefstyle)                        and $use.role.as.xrefstyle != 0">
-        <xsl:value-of select="@role"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="@xrefstyle"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="anchor"/>
-
-  <xsl:variable name="content">
-    <xsl:choose>
-  
-      <xsl:when test="@endterm">
-        <xsl:variable name="etargets" select="key('id',@endterm)"/>
-        <xsl:variable name="etarget" select="$etargets[1]"/>
-        <xsl:choose>
-          <xsl:when test="count($etarget) = 0">
-            <xsl:message>
-              <xsl:value-of select="count($etargets)"/>
-              <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-              <xsl:value-of select="@endterm"/>
-            </xsl:message>
-            <xsl:text>???</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates select="$etarget" mode="endterm"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-  
-      <xsl:when test="$target/@xreflabel">
-        <xsl:call-template name="xref.xreflabel">
-          <xsl:with-param name="target" select="$target"/>
-        </xsl:call-template>
-      </xsl:when>
-  
-      <xsl:when test="$target">
-        <xsl:if test="not(parent::citation)">
-          <xsl:apply-templates select="$target" mode="xref-to-prefix"/>
-        </xsl:if>
-  
-        <xsl:apply-templates select="$target" mode="xref-to">
-          <xsl:with-param name="referrer" select="."/>
-          <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-        </xsl:apply-templates>
-  
-        <xsl:if test="not(parent::citation)">
-          <xsl:apply-templates select="$target" mode="xref-to-suffix"/>
-        </xsl:if>
-      </xsl:when>
-
-      <xsl:otherwise>
-        <xsl:message>
-          <xsl:text>ERROR: xref linking to </xsl:text>
-          <xsl:value-of select="@linkend|@xlink:href"/>
-          <xsl:text> has no generated link text.</xsl:text>
-        </xsl:message>
-        <xsl:text>???</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="content" select="$content"/>
-  </xsl:call-template>
-
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<!-- biblioref handled largely like an xref -->
-<!-- To be done: add support for begin, end, and units attributes -->
-<xsl:template match="biblioref">
-  <xsl:variable name="targets" select="key('id',@linkend)"/>
-  <xsl:variable name="target" select="$targets[1]"/>
-  <xsl:variable name="refelem" select="local-name($target)"/>
-
-  <xsl:call-template name="check.id.unique">
-    <xsl:with-param name="linkend" select="@linkend"/>
-  </xsl:call-template>
-
-  <xsl:call-template name="anchor"/>
-
-  <xsl:choose>
-    <xsl:when test="count($target) = 0">
-      <xsl:message>
-        <xsl:text>XRef to nonexistent id: </xsl:text>
-        <xsl:value-of select="@linkend"/>
-      </xsl:message>
-      <xsl:text>???</xsl:text>
-    </xsl:when>
-
-    <xsl:when test="@endterm">
-      <xsl:variable name="href">
-        <xsl:call-template name="href.target">
-          <xsl:with-param name="object" select="$target"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="etargets" select="key('id',@endterm)"/>
-      <xsl:variable name="etarget" select="$etargets[1]"/>
-      <xsl:choose>
-        <xsl:when test="count($etarget) = 0">
-          <xsl:message>
-            <xsl:value-of select="count($etargets)"/>
-            <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-            <xsl:value-of select="@endterm"/>
-          </xsl:message>
-          <a href="{$href}">
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:text>???</xsl:text>
-          </a>
-        </xsl:when>
-        <xsl:otherwise>
-          <a href="{$href}">
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:apply-templates select="$etarget" mode="endterm"/>
-          </a>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-
-    <xsl:when test="$target/@xreflabel">
-      <a>
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:attribute name="href">
-          <xsl:call-template name="href.target">
-            <xsl:with-param name="object" select="$target"/>
-          </xsl:call-template>
-        </xsl:attribute>
-        <xsl:call-template name="xref.xreflabel">
-          <xsl:with-param name="target" select="$target"/>
-        </xsl:call-template>
-      </a>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <xsl:variable name="href">
-        <xsl:call-template name="href.target">
-          <xsl:with-param name="object" select="$target"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:if test="not(parent::citation)">
-        <xsl:apply-templates select="$target" mode="xref-to-prefix"/>
-      </xsl:if>
-
-      <a href="{$href}">
-        <xsl:apply-templates select="." mode="class.attribute"/>
-        <xsl:if test="$target/title or $target/*/title">
-          <xsl:attribute name="title">
-            <xsl:apply-templates select="$target" mode="xref-title"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates select="$target" mode="xref-to">
-          <xsl:with-param name="referrer" select="."/>
-          <xsl:with-param name="xrefstyle">
-            <xsl:choose>
-              <xsl:when test="@role and not(@xrefstyle) and $use.role.as.xrefstyle != 0">
-                <xsl:value-of select="@role"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:value-of select="@xrefstyle"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:apply-templates>
-      </a>
-
-      <xsl:if test="not(parent::citation)">
-        <xsl:apply-templates select="$target" mode="xref-to-suffix"/>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="endterm">
-  <!-- Process the children of the endterm element -->
-  <xsl:variable name="endterm">
-    <xsl:apply-templates select="child::node()"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="function-available('exsl:node-set')">
-      <xsl:apply-templates select="exsl:node-set($endterm)" mode="remove-ids"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$endterm"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="remove-ids">
-  <xsl:choose>
-    <!-- handle html or xhtml -->
-    <xsl:when test="local-name(.) = 'a'                     and (namespace-uri(.) = ''                          or namespace-uri(.) = 'http://www.w3.org/1999/xhtml')">
-      <xsl:choose>
-        <xsl:when test="(@name and count(@*) = 1)                         or (@id and count(@*) = 1)                         or (@xml:id and count(@*) = 1)                         or (@xml:id and @name and count(@*) = 2)                         or (@id and @name and count(@*) = 2)">
-          <xsl:message>suppress anchor</xsl:message>
-          <!-- suppress the whole thing -->
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:copy>
-            <xsl:for-each select="@*">
-              <xsl:choose>
-                <xsl:when test="local-name(.) != 'name' and local-name(.) != 'id'">
-                  <xsl:copy/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:message>removing <xsl:value-of select="local-name(.)"/></xsl:message>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:for-each>
-          </xsl:copy>
-          <xsl:apply-templates mode="remove-ids"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy>
-        <xsl:for-each select="@*">
-          <xsl:choose>
-            <xsl:when test="local-name(.) != 'id'">
-              <xsl:copy/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:message>removing <xsl:value-of select="local-name(.)"/></xsl:message>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:for-each>
-        <xsl:apply-templates mode="remove-ids"/>
-      </xsl:copy>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="xref-to-prefix"/>
-<xsl:template match="*" mode="xref-to-suffix"/>
-
-<xsl:template match="*" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:if test="$verbose">
-    <xsl:message>
-      <xsl:text>Don't know what gentext to create for xref to: "</xsl:text>
-      <xsl:value-of select="name(.)"/>
-      <xsl:text>", ("</xsl:text>
-      <xsl:value-of select="(@id|@xml:id)[1]"/>
-      <xsl:text>")</xsl:text>
-    </xsl:message>
-  </xsl:if>
-  <xsl:text>???</xsl:text>
-</xsl:template>
-
-<xsl:template match="title" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <!-- if you xref to a title, xref to the parent... -->
-  <xsl:choose>
-    <!-- FIXME: how reliable is this? -->
-    <xsl:when test="contains(local-name(parent::*), 'info')">
-      <xsl:apply-templates select="parent::*[2]" mode="xref-to">
-        <xsl:with-param name="referrer" select="$referrer"/>
-        <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-        <xsl:with-param name="verbose" select="$verbose"/>
-      </xsl:apply-templates>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="parent::*" mode="xref-to">
-        <xsl:with-param name="referrer" select="$referrer"/>
-        <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-        <xsl:with-param name="verbose" select="$verbose"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="abstract|authorblurb|personblurb|bibliodiv|bibliomset                      |biblioset|blockquote|calloutlist|caution|colophon                      |constraintdef|formalpara|glossdiv|important|indexdiv                      |itemizedlist|legalnotice|lot|msg|msgexplan|msgmain                      |msgrel|msgset|msgsub|note|orderedlist|partintro                      |productionset|qandadiv|refsynopsisdiv|segmentedlist                      |set|setindex|sidebar|tip|toc|variablelist|warning" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <!-- catch-all for things with (possibly optional) titles -->
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="author|editor|othercredit|personname" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-
-  <xsl:call-template name="person.name"/>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-
-  <xsl:call-template name="person.name.list"/>
-</xsl:template>
-
-<xsl:template match="figure|example|table|equation" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="procedure" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="task" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="cmdsynopsis" mode="xref-to">
-  <xsl:apply-templates select="(.//command)[1]" mode="xref"/>
-</xsl:template>
-
-<xsl:template match="funcsynopsis" mode="xref-to">
-  <xsl:apply-templates select="(.//function)[1]" mode="xref"/>
-</xsl:template>
-
-<xsl:template match="dedication|preface|chapter|appendix|article" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="bibliography" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="biblioentry|bibliomixed" mode="xref-to-prefix">
-  <xsl:text>[</xsl:text>
-</xsl:template>
-
-<xsl:template match="biblioentry|bibliomixed" mode="xref-to-suffix">
-  <xsl:text>]</xsl:text>
-</xsl:template>
-
-<xsl:template match="biblioentry|bibliomixed" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <!-- handles both biblioentry and bibliomixed -->
-  <xsl:choose>
-    <xsl:when test="string(.) = ''">
-      <xsl:variable name="bib" select="document($bibliography.collection,.)"/>
-      <xsl:variable name="id" select="(@id|@xml:id)[1]"/>
-      <xsl:variable name="entry" select="$bib/bibliography/                                     *[@id=$id or @xml:id=$id][1]"/>
-      <xsl:choose>
-        <xsl:when test="$entry">
-          <xsl:choose>
-            <xsl:when test="$bibliography.numbered != 0">
-              <xsl:number from="bibliography" count="biblioentry|bibliomixed" level="any" format="1"/>
-            </xsl:when>
-            <xsl:when test="local-name($entry/*[1]) = 'abbrev'">
-              <xsl:apply-templates select="$entry/*[1]"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:value-of select="(@id|@xml:id)[1]"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>No bibliography entry: </xsl:text>
-            <xsl:value-of select="$id"/>
-            <xsl:text> found in </xsl:text>
-            <xsl:value-of select="$bibliography.collection"/>
-          </xsl:message>
-          <xsl:value-of select="(@id|@xml:id)[1]"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:choose>
-        <xsl:when test="$bibliography.numbered != 0">
-          <xsl:number from="bibliography" count="biblioentry|bibliomixed" level="any" format="1"/>
-        </xsl:when>
-        <xsl:when test="local-name(*[1]) = 'abbrev'">
-          <xsl:apply-templates select="*[1]"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="(@id|@xml:id)[1]"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="glossary" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="glossentry" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-  <xsl:choose>
-    <xsl:when test="$glossentry.show.acronym = 'primary'">
-      <xsl:choose>
-        <xsl:when test="acronym|abbrev">
-          <xsl:apply-templates select="(acronym|abbrev)[1]"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="glossterm[1]" mode="xref-to">
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-            <xsl:with-param name="referrer" select="$referrer"/>
-            <xsl:with-param name="verbose" select="$verbose"/>
-          </xsl:apply-templates>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="glossterm[1]" mode="xref-to">
-        <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-        <xsl:with-param name="referrer" select="$referrer"/>
-        <xsl:with-param name="verbose" select="$verbose"/>
-      </xsl:apply-templates>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="glossterm" mode="xref-to">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="index" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="listitem" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="section|simplesect                      |sect1|sect2|sect3|sect4|sect5                      |refsect1|refsect2|refsect3|refsection" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-  <!-- FIXME: What about "in Chapter X"? -->
-</xsl:template>
-
-<xsl:template match="bridgehead" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-  <!-- FIXME: What about "in Chapter X"? -->
-</xsl:template>
-
-<xsl:template match="qandaset" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="qandadiv" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="qandaentry" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="question[1]" mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="question|answer" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="part|reference" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="refentry" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-
-  <xsl:choose>
-    <xsl:when test="refmeta/refentrytitle">
-      <xsl:apply-templates select="refmeta/refentrytitle"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="refnamediv/refname[1]"/>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:apply-templates select="refmeta/manvolnum"/>
-</xsl:template>
-
-<xsl:template match="refnamediv" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="refname[1]" mode="xref-to">
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="refname" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates mode="xref-to"/>
-</xsl:template>
-
-<xsl:template match="step" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'Step'"/>
-  </xsl:call-template>
-  <xsl:text> </xsl:text>
-  <xsl:apply-templates select="." mode="number"/>
-</xsl:template>
-
-<xsl:template match="varlistentry" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="term[1]" mode="xref-to">
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="varlistentry/term" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-
-  <!-- to avoid the comma that will be generated if there are several terms -->
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="co" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-
-  <xsl:apply-templates select="." mode="callout-bug"/>
-</xsl:template>
-
-<xsl:template match="area|areaset" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-
-  <xsl:call-template name="callout-bug">
-    <xsl:with-param name="conum">
-      <xsl:apply-templates select="." mode="conumber"/>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="book" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:apply-templates select="." mode="object.xref.markup">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="para" mode="xref-to">
-  <xsl:param name="referrer"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="verbose" select="1"/>
-
-  <xsl:variable name="context" select="(ancestor::simplesect                                        |ancestor::section                                        |ancestor::sect1                                        |ancestor::sect2                                        |ancestor::sect3                                        |ancestor::sect4                                        |ancestor::sect5                                        |ancestor::refsection                                        |ancestor::refsect1                                        |ancestor::refsect2                                        |ancestor::refsect3                                        |ancestor::chapter                                        |ancestor::appendix                                        |ancestor::preface                                        |ancestor::partintro                                        |ancestor::dedication                                        |ancestor::colophon                                        |ancestor::bibliography                                        |ancestor::index                                        |ancestor::glossary                                        |ancestor::glossentry                                        |ancestor::listitem                                        |ancestor::varlistentry)[last()]"/>
-
-  <xsl:apply-templates select="$context" mode="xref-to">
-    <xsl:with-param name="purpose" select="'xref'"/>
-    <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-    <xsl:with-param name="referrer" select="$referrer"/>
-    <xsl:with-param name="verbose" select="$verbose"/>
-  </xsl:apply-templates>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="xref-title">
-  <xsl:variable name="title">
-    <xsl:apply-templates select="." mode="object.title.markup"/>
-  </xsl:variable>
-
-  <xsl:value-of select="$title"/>
-</xsl:template>
-
-<xsl:template match="author" mode="xref-title">
-  <xsl:variable name="title">
-    <xsl:call-template name="person.name"/>
-  </xsl:variable>
-
-  <xsl:value-of select="$title"/>
-</xsl:template>
-
-<xsl:template match="authorgroup" mode="xref-title">
-  <xsl:variable name="title">
-    <xsl:call-template name="person.name.list"/>
-  </xsl:variable>
-
-  <xsl:value-of select="$title"/>
-</xsl:template>
-
-<xsl:template match="cmdsynopsis" mode="xref-title">
-  <xsl:variable name="title">
-    <xsl:apply-templates select="(.//command)[1]" mode="xref"/>
-  </xsl:variable>
-
-  <xsl:value-of select="$title"/>
-</xsl:template>
-
-<xsl:template match="funcsynopsis" mode="xref-title">
-  <xsl:variable name="title">
-    <xsl:apply-templates select="(.//function)[1]" mode="xref"/>
-  </xsl:variable>
-
-  <xsl:value-of select="$title"/>
-</xsl:template>
-
-<xsl:template match="biblioentry|bibliomixed" mode="xref-title">
-  <!-- handles both biblioentry and bibliomixed -->
-  <xsl:variable name="title">
-    <xsl:text>[</xsl:text>
-    <xsl:choose>
-      <xsl:when test="local-name(*[1]) = 'abbrev'">
-        <xsl:apply-templates select="*[1]"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="(@id|@xml:id)[1]"/>
-      </xsl:otherwise>
-    </xsl:choose>
-    <xsl:text>]</xsl:text>
-  </xsl:variable>
-
-  <xsl:value-of select="$title"/>
-</xsl:template>
-
-<xsl:template match="step" mode="xref-title">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'Step'"/>
-  </xsl:call-template>
-  <xsl:text> </xsl:text>
-  <xsl:apply-templates select="." mode="number"/>
-</xsl:template>
-
-<xsl:template match="step[not(./title)]" mode="title.markup">
-  <xsl:call-template name="gentext">
-    <xsl:with-param name="key" select="'Step'"/>
-  </xsl:call-template>
-  <xsl:text> </xsl:text>
-  <xsl:apply-templates select="." mode="number"/>
-</xsl:template>
-
-<xsl:template match="co" mode="xref-title">
-  <xsl:variable name="title">
-    <xsl:apply-templates select="." mode="callout-bug"/>
-  </xsl:variable>
-
-  <xsl:value-of select="$title"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="link" name="link">
-  <xsl:param name="linkend" select="@linkend"/>
-  <xsl:param name="a.target"/>
-  <xsl:param name="xhref" select="@xlink:href"/>
-
-  <xsl:variable name="content">
-    <xsl:call-template name="anchor"/>
-    <xsl:choose>
-      <xsl:when test="count(child::node()) &gt; 0">
-        <!-- If it has content, use it -->
-        <xsl:apply-templates/>
-      </xsl:when>
-      <!-- else look for an endterm -->
-      <xsl:when test="@endterm">
-        <xsl:variable name="etargets" select="key('id',@endterm)"/>
-        <xsl:variable name="etarget" select="$etargets[1]"/>
-        <xsl:choose>
-          <xsl:when test="count($etarget) = 0">
-            <xsl:message>
-              <xsl:value-of select="count($etargets)"/>
-              <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-              <xsl:value-of select="@endterm"/>
-            </xsl:message>
-            <xsl:text>???</xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-              <xsl:apply-templates select="$etarget" mode="endterm"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <!-- Use the xlink:href if no other text -->
-      <xsl:when test="@xlink:href">
-        <xsl:value-of select="@xlink:href"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:message>
-          <xsl:text>Link element has no content and no Endterm. </xsl:text>
-          <xsl:text>Nothing to show in the link to </xsl:text>
-          <xsl:value-of select="(@xlink:href|@linkend)[1]"/>
-        </xsl:message>
-        <xsl:text>???</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="simple.xlink">
-    <xsl:with-param name="node" select="."/>
-    <xsl:with-param name="linkend" select="$linkend"/>
-    <xsl:with-param name="content" select="$content"/>
-    <xsl:with-param name="a.target" select="$a.target"/>
-    <xsl:with-param name="xhref" select="$xhref"/>
-  </xsl:call-template>
-
-</xsl:template>
-
-<xsl:template match="ulink" name="ulink">
-  <xsl:param name="url" select="@url"/>
-  <xsl:variable name="link">
-    <a>
-      <xsl:apply-templates select="." mode="class.attribute"/>
-      <xsl:if test="@id or @xml:id">
-        <xsl:attribute name="id">
-          <xsl:value-of select="(@id|@xml:id)[1]"/>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:attribute name="href"><xsl:value-of select="$url"/></xsl:attribute>
-      <xsl:if test="$ulink.target != ''">
-        <xsl:attribute name="target">
-          <xsl:value-of select="$ulink.target"/>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:choose>
-        <xsl:when test="count(child::node())=0">
-          <xsl:value-of select="$url"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </a>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="function-available('suwl:unwrapLinks')">
-      <xsl:copy-of select="suwl:unwrapLinks($link)"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$link"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="olink" name="olink">
-  <!-- olink content may be passed in from xlink olink -->
-  <xsl:param name="content" select="NOTANELEMENT"/>
-
-  <xsl:call-template name="anchor"/>
-
-  <xsl:variable name="localinfo" select="@localinfo"/>
-
-  <xsl:choose>
-    <!-- olinks resolved by stylesheet and target database -->
-    <xsl:when test="@targetdoc or @targetptr or                     (@xlink:role=$xolink.role and                      contains(@xlink:href, '#') )">
-
-      <xsl:variable name="targetdoc.att">
-        <xsl:choose>
-          <xsl:when test="@targetdoc != ''">
-            <xsl:value-of select="@targetdoc"/>
-          </xsl:when>
-          <xsl:when test="@xlink:role=$xolink.role and                        contains(@xlink:href, '#')">
-            <xsl:value-of select="substring-before(@xlink:href, '#')"/>
-          </xsl:when>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="targetptr.att">
-        <xsl:choose>
-          <xsl:when test="@targetptr != ''">
-            <xsl:value-of select="@targetptr"/>
-          </xsl:when>
-          <xsl:when test="@xlink:role=$xolink.role and                        contains(@xlink:href, '#')">
-            <xsl:value-of select="substring-after(@xlink:href, '#')"/>
-          </xsl:when>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="olink.lang">
-        <xsl:call-template name="l10n.language">
-          <xsl:with-param name="xref-context" select="true()"/>
-        </xsl:call-template>
-      </xsl:variable>
-    
-      <xsl:variable name="target.database.filename">
-        <xsl:call-template name="select.target.database">
-          <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/>
-          <xsl:with-param name="targetptr.att" select="$targetptr.att"/>
-          <xsl:with-param name="olink.lang" select="$olink.lang"/>
-        </xsl:call-template>
-      </xsl:variable>
-    
-      <xsl:variable name="target.database" select="document($target.database.filename,/)"/>
-    
-      <xsl:if test="$olink.debug != 0">
-        <xsl:message>
-          <xsl:text>Olink debug: root element of target.database '</xsl:text>
-          <xsl:value-of select="$target.database.filename"/>
-          <xsl:text>' is '</xsl:text>
-          <xsl:value-of select="local-name($target.database/*[1])"/>
-          <xsl:text>'.</xsl:text>
-        </xsl:message>
-      </xsl:if>
-    
-      <xsl:variable name="olink.key">
-        <xsl:call-template name="select.olink.key">
-          <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/>
-          <xsl:with-param name="targetptr.att" select="$targetptr.att"/>
-          <xsl:with-param name="olink.lang" select="$olink.lang"/>
-          <xsl:with-param name="target.database" select="$target.database"/>
-        </xsl:call-template>
-      </xsl:variable>
-    
-      <xsl:if test="string-length($olink.key) = 0">
-        <xsl:message>
-          <xsl:text>Error: unresolved olink: </xsl:text>
-          <xsl:text>targetdoc/targetptr = '</xsl:text>
-          <xsl:value-of select="$targetdoc.att"/>
-          <xsl:text>/</xsl:text>
-          <xsl:value-of select="$targetptr.att"/>
-          <xsl:text>'.</xsl:text>
-        </xsl:message>
-      </xsl:if>
-
-      <xsl:variable name="href">
-        <xsl:call-template name="make.olink.href">
-          <xsl:with-param name="olink.key" select="$olink.key"/>
-          <xsl:with-param name="target.database" select="$target.database"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="hottext">
-        <xsl:choose>
-          <xsl:when test="$content">
-            <xsl:copy-of select="$content"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="olink.hottext">
-              <xsl:with-param name="olink.key" select="$olink.key"/>
-              <xsl:with-param name="olink.lang" select="$olink.lang"/>
-              <xsl:with-param name="target.database" select="$target.database"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="olink.docname.citation">
-        <xsl:call-template name="olink.document.citation">
-          <xsl:with-param name="olink.key" select="$olink.key"/>
-          <xsl:with-param name="target.database" select="$target.database"/>
-          <xsl:with-param name="olink.lang" select="$olink.lang"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:variable name="olink.page.citation">
-        <xsl:call-template name="olink.page.citation">
-          <xsl:with-param name="olink.key" select="$olink.key"/>
-          <xsl:with-param name="target.database" select="$target.database"/>
-          <xsl:with-param name="olink.lang" select="$olink.lang"/>
-        </xsl:call-template>
-      </xsl:variable>
-
-      <xsl:choose>
-        <xsl:when test="$href != ''">
-          <a href="{$href}">
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:copy-of select="$hottext"/>
-          </a>
-          <xsl:copy-of select="$olink.page.citation"/>
-          <xsl:copy-of select="$olink.docname.citation"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <span class="olink"><xsl:copy-of select="$hottext"/></span>
-          <xsl:copy-of select="$olink.page.citation"/>
-          <xsl:copy-of select="$olink.docname.citation"/>
-        </xsl:otherwise>
-      </xsl:choose>
-
-    </xsl:when>
-
-    <!-- Or use old olink mechanism -->
-    <xsl:otherwise>
-      <xsl:variable name="href">
-        <xsl:choose>
-          <xsl:when test="@linkmode">
-            <!-- use the linkmode to get the base URI, use localinfo as fragid -->
-            <xsl:variable name="modespec" select="key('id',@linkmode)"/>
-            <xsl:if test="count($modespec) != 1                           or local-name($modespec) != 'modespec'">
-              <xsl:message>Warning: olink linkmode pointer is wrong.</xsl:message>
-            </xsl:if>
-            <xsl:value-of select="$modespec"/>
-            <xsl:if test="@localinfo">
-              <xsl:text>#</xsl:text>
-              <xsl:value-of select="@localinfo"/>
-            </xsl:if>
-          </xsl:when>
-          <xsl:when test="@type = 'href'">
-            <xsl:call-template name="olink.outline">
-              <xsl:with-param name="outline.base.uri" select="unparsed-entity-uri(@targetdocent)"/>
-              <xsl:with-param name="localinfo" select="@localinfo"/>
-              <xsl:with-param name="return" select="'href'"/>
-            </xsl:call-template>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="$olink.resolver"/>
-            <xsl:text>?</xsl:text>
-            <xsl:value-of select="$olink.sysid"/>
-            <xsl:value-of select="unparsed-entity-uri(@targetdocent)"/>
-            <!-- XSL gives no access to the public identifier (grumble...) -->
-            <xsl:if test="@localinfo">
-              <xsl:text>&amp;</xsl:text>
-              <xsl:value-of select="$olink.fragid"/>
-              <xsl:value-of select="@localinfo"/>
-            </xsl:if>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-    
-      <xsl:choose>
-        <xsl:when test="$href != ''">
-          <a href="{$href}">
-            <xsl:apply-templates select="." mode="class.attribute"/>
-            <xsl:call-template name="olink.hottext"/>
-          </a>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="olink.hottext"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="pagenumber.markup">
-  <!-- no-op in HTML -->
-</xsl:template>
-
-
-<xsl:template name="olink.outline">
-  <xsl:param name="outline.base.uri"/>
-  <xsl:param name="localinfo"/>
-  <xsl:param name="return" select="href"/>
-
-  <xsl:variable name="outline-file" select="concat($outline.base.uri,                                $olink.outline.ext)"/>
-
-  <xsl:variable name="outline" select="document($outline-file,.)/div"/>
-
-  <xsl:variable name="node-href">
-    <xsl:choose>
-      <xsl:when test="$localinfo != ''">
-        <xsl:variable name="node" select="$outline//                                    *[@id=$localinfo or @xml:id=$localinfo]"/>
-        <xsl:value-of select="$node/@href"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$outline/@href"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="node-xref">
-    <xsl:choose>
-      <xsl:when test="$localinfo != ''">
-        <xsl:variable name="node" select="$outline//                                *[@id=$localinfo or @xml:id=$localinfo]"/>
-        <xsl:copy-of select="$node/xref"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$outline/xref"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$return = 'href'">
-      <xsl:value-of select="$node-href"/>
-    </xsl:when>
-    <xsl:when test="$return = 'xref'">
-      <xsl:value-of select="$node-xref"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$node-xref"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template name="xref.xreflabel">
-  <!-- called to process an xreflabel...you might use this to make  -->
-  <!-- xreflabels come out in the right font for different targets, -->
-  <!-- for example. -->
-  <xsl:param name="target" select="."/>
-  <xsl:value-of select="$target/@xreflabel"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="title" mode="xref">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="command" mode="xref">
-  <xsl:call-template name="inline.boldseq"/>
-</xsl:template>
-
-<xsl:template match="function" mode="xref">
-  <xsl:call-template name="inline.monoseq"/>
-</xsl:template>
-
-<!-- ==================================================================== -->
-
-<xsl:template match="*" mode="insert.title.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="title"/>
-
-  <xsl:choose>
-    <!-- FIXME: what about the case where titleabbrev is inside the info? -->
-    <xsl:when test="$purpose = 'xref' and titleabbrev">
-      <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$title"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="chapter|appendix" mode="insert.title.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="title"/>
-
-  <xsl:choose>
-    <xsl:when test="$purpose = 'xref'">
-      <i>
-        <xsl:copy-of select="$title"/>
-      </i>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy-of select="$title"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.subtitle.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="subtitle"/>
-
-  <xsl:copy-of select="$subtitle"/>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.label.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="label"/>
-
-  <xsl:copy-of select="$label"/>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.pagenumber.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="pagenumber"/>
-
-  <xsl:copy-of select="$pagenumber"/>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.direction.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="direction"/>
-
-  <xsl:copy-of select="$direction"/>
-</xsl:template>
-
-<xsl:template match="*" mode="insert.olink.docname.markup">
-  <xsl:param name="purpose"/>
-  <xsl:param name="xrefstyle"/>
-  <xsl:param name="docname"/>
-
-  <span class="olinkdocname">
-    <xsl:copy-of select="$docname"/>
-  </span>
-
-</xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/lfs-l10n.xml
===================================================================
--- BOOK/stylesheets/lfs-xsl/lfs-l10n.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,75 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
-
-    <!-- Template to add more languages -->
-  <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
-          language="xx" english-language-name="xxxxx">
-
-    <l:gentext key="description" text=""/>
-    <l:gentext key="Bootscripts" text=""/>
-    <l:gentext key="Configuration Files" text=""/>
-    <l:gentext key="Kernel Configuration" text=""/>
-    <l:gentext key="Libraries" text=""/>
-    <l:gentext key="Others" text=""/>
-    <l:gentext key="Packages" text=""/>
-    <l:gentext key="Programs" text=""/>
-    <l:gentext key="Scripts" text=""/>
-
-  </l:l10n>
-
-
-    <!-- English -->
-  <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
-          language="en" english-language-name="English">
-
-    <l:gentext key="description" text="description"/>
-    <l:gentext key="Bootscripts" text="Bootscripts"/>
-    <l:gentext key="Configuration Files" text="Configuration Files"/>
-    <l:gentext key="Kernel Configuration" text="Kernel Configuration"/>
-    <l:gentext key="Libraries" text="Libraries"/>
-    <l:gentext key="Others" text="Others"/>
-    <l:gentext key="Packages" text="Packages"/>
-    <l:gentext key="Programs" text="Programs"/>
-    <l:gentext key="Scripts" text="Scripts"/>
-
-  </l:l10n>
-
-    <!-- Italian -->
-  <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
-          language="it" english-language-name="Italian">
-
-    <l:gentext key="description" text="descrizione"/>
-    <l:gentext key="Bootscripts" text="Script di avvio"/>
-    <l:gentext key="Configuration Files" text="File di configurazione"/>
-    <l:gentext key="Kernel Configuration" text="Configurazione del kernel"/>
-    <l:gentext key="Libraries" text="Librerie"/>
-    <l:gentext key="Others" text="Altri"/>
-    <l:gentext key="Packages" text="Pacchetti"/>
-    <l:gentext key="Programs" text="Programmi"/>
-    <l:gentext key="Scripts" text="Script"/>
-
-  </l:l10n>
-
-    <!-- Spanish -->
-  <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
-          language="es" english-language-name="Spanish">
-
-    <l:gentext key="description" text="descripci&#243;n"/>
-    <l:gentext key="Bootscripts" text="Guiones de arranque"/>
-    <l:gentext key="Configuration Files" text="Ficheros de configuraci&#243;n"/>
-    <l:gentext key="Kernel Configuration" text="Configuraci&#243;n del n&#250;cleo"/>
-    <l:gentext key="Libraries" text="Librer&#237;as"/>
-    <l:gentext key="Others" text="Otros"/>
-    <l:gentext key="Packages" text="Paquetes"/>
-    <l:gentext key="Programs" text="Programas"/>
-    <l:gentext key="Scripts" text="Guiones"/>
-
-  </l:l10n>
-
-</l:i18n>
Index: OK/stylesheets/lfs-xsl/lfs-print.css
===================================================================
--- BOOK/stylesheets/lfs-xsl/lfs-print.css	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,9 +1,0 @@
-/*
-$LastChangedBy$
-$Date$
-*/
-@import url(lfs.css);
-
-.navfooter, .headerlinks {
-   display: none;
-}
Index: OK/stylesheets/lfs-xsl/lfs.css
===================================================================
--- BOOK/stylesheets/lfs-xsl/lfs.css	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,602 +1,0 @@
-/*
-$LastChangedBy$
-$Date$
-*/
-/* Global settings */
-body {
-  font-family: verdana, tahoma, helvetica, arial, sans-serif;
-  text-align: left;
-  background: #fff;
-  color: #222;
-  margin: 1em;
-  padding: 0;
-  font-size: 1em;
-  line-height: 1.2em
-}
-
-
-/* Links */
-a:link { color: #22b; }
-a.ulink:link { font-weight: bold; color: #55f; }
-a:visited { color: #7e4988 ! important; }
-a:hover, a:focus { color: #d30e08 ! important; }
-a:active { color: #6b77b1 ! important;}
-
-
-/* Book titlepage */
-.book .titlepage {
-  background: #f5f6f7;
-  margin: 0px auto;
-  padding: 0 1em;
-}
-
-.book hr {
-  background: #dbddec;
-  height: .3em;
-  border: 0px;
-  margin: 0 -1em;
-  padding: 0;
-}
-
-div.dedication {
-  padding-left: 1em;
-}
-
-
-/* Sections */
-div.sect1, div.appendix {
-  padding-left: .3em;
-}
-
-.package, .kernel, .installation, .commands, .testing, .configuration, .content {
-  padding: 0 .5em .2em 0;
-  margin: 0;
-}
-
-.lfs .package {
-  background: #f5f6f7;
-  border-bottom: 0.2em solid #dbddec;
-  padding-top: .1em;
-  margin-top: 0;
-}
-
-.lfs .configuration {
-  background:   #fefefe;
-  border-top: 0.2em solid #dbddec;
-}
-
-.lfs .content {
-  background: #f5f6f7;
-  border-top: 0.2em solid #dbddec;
-  padding-bottom: .1em;
-  margin-bottom: 0;
-}
-
-
-/* Headers */
-h1, h2, h3, h4, h5, h6, b, .strong {
-  color: #000;
-  font-weight: bold;
-  line-height: 1em;
-}
-
-h1 {
-  font-size: 173%;
-  text-align: center;
-}
-
-.book h1 {
-  margin: 0;
-  padding: 0.4em;
-}
-
-.preface h1, .part h1, .chapter h1, .appendix h1, .index h1, .sect1 h1 {
-  background: #f5f6f7;
-  border-bottom: .1em solid #dbddec;
-  margin-bottom: 1em;
-  margin-top: 0;
-  padding: .4em;
-}
-
-.sect1 h1, .appendix h1 {
-  margin-left: -.2em;
-}
-
-.wrap h1 {
-  background: #f5f6f7;
-  margin: 0;
-  padding: .4em;
-}
-
-h1.title sup {
-  font-size: small;
-}
-
-h2 {
-  font-size: 144%;
-}
-
-.book h2.subtitle {
-  text-align: center;
-  background: #dbddec;
-  margin: 0;
-  padding: 0.2em;
-}
-
-.appendix h2 {
-  font-size: 133%;
-  margin-top: .8em;
-  margin-bottom: 0.2em;
-}
-
-h3 {
-  font-size: 120%;
-}
-
-h4 {
-  font-size: 110%;
-}
-
-.package h4, h5, h6 {
-  font-size: 100%;
-  font-style: italic;
-}
-
-
-/* Navigation */
-div.navheader, div.navfooter {
-  background: #ecedef;
-  margin: 0;
-  padding: 0.1em .5em;
-}
-
-div.navheader {
-  border-bottom: 1px solid #dbddec;
-}
-
-div.navfooter {
-  border-top: 1px solid #dbddec;
-}
-
-div.navheader h4 {
-  margin-top: .4em;
-  margin-bottom: 0;
-  text-align: center;
-}
-
-div.navheader h3 {
-  margin-top: .2em;
-  margin-bottom: 0;
-  text-align: center;
-}
-
-div.navheader ul, div.navfooter ul {
-  padding: .2em .5em .5em 0;
-  margin: .5em 0;
-  position: relative;
-  background: #dbddec;
-}
-
-div.navheader ul li, div.navfooter ul li {
-  display: inline;
-  width: 40%;
-}
-
-div.navheader ul li.prev, div.navfooter ul li.prev {
-  position: absolute;
-  display: block;
-  left: 0;
-  text-align: left;
-  padding: 0.2em 1em;
-  margin-left: 6px;
-}
-
-div.navheader ul li.next, div.navfooter ul li.next {
-  position: absolute;
-  display: block;
-  text-align: right;
-  right: 5px;
-  padding: 0.2em 0.5em;
-  margin-right: 7px;
-}
-
-div.navheader ul li.prev p, div.navfooter ul li.prev p,
-div.navheader ul li.next p, div.navfooter ul li.next p {
-  padding: 0;
-  margin: 1px 0px;
-}
-
-div.navheader ul li.home, div.navheader ul li.up,
-div.navfooter ul li.home, div.navfooter ul li.up {
-  text-align: center;
-  padding: 0;
-  margin: 0px auto;
-  display: block;
-  color: #dbddec;
-}
-
-
-/* TOC */
-div.toc ul, div.index ul, div.navheader ul, div.navfooter ul {
-  list-style: none;
-}
-
-div.toc {
-  padding-left: 1em;
-}
-
-li.preface, .part li.appendix {
-  margin-left: 1em;
-}
-
-div.toc h3 {
-  margin: 1em 0 .3em 0;
-}
-
-li.appendix h3, li.glossary h3, li.index h3 {
-  margin: .5em
-}
-
-div.toc h4 {
-  margin: .6em 0 .2em 0;
-}
-
-li.chapter h4 a {
-  display: block;
-  margin-bottom: .4em
-}
-
-.dummy {
-  display: block;
-  font-weight: bold;
-  font-size: 110%;
-  margin: .6em 0 .2em 0;
-}
-
-
-/* Index */
-.item {
-    float: left;
-    margin-right: 1em
-}
-
-.secitem {
-    font-weight: normal;
-    float: left;
-    margin-right: 1em
-}
-
-.indexref {
-    display: block;
-}
-
-.item + .indexref {
-    margin-left: 20em;
-}
-
-.secitem + .indexref {
-    margin-left: 19em;
-}
-
-
-/* Admonitions */
-div.admon img {
-  padding: .3em;
-}
-
-div.admon h3 {
-  display: inline;
-  margin-left: 2em;
-}
-
-div.admon p {
-  margin-left: .5em;
-}
-
-div.admon pre {
-  margin: 0.5em 3em;
-}
-
-div.note, div.tip {
-  background-color: #fffff6;
-  border: 2px solid #dbddec;
-  width: 90%;
-  margin: .5em auto;
-}
-
-div.important, div.warning, div.caution {
-  background-color: #fffff6;
-  border: medium solid #400;
-  width: 90%;
-  margin: .5em auto;
-  color: #600;
-}
-
-div.important h3, div.warning h3, div.caution h3 {
-  color: #900;
-}
-
-div.important em, div.warning em, div.caution em {
-  color: #000;
-  font-weight: bold;
-}
-
-
-/* table */
-.table p.title {
-  text-align: center;
-  margin-top: 0;
-  margin-bottom: .3em;
-}
-
-.table table {
-  margin-left: auto;
-  margin-right: auto;
-}
-
-.table table th, .table table td {
-  padding: 0.2em 2em 0.2em 2em;
-  text-align: left;
-}
-
-.revhistory {
-  padding-left: 1em;
-}
-
-.revhistory th {
-  line-height: 2em;
-  text-align: left;
-}
-
-.revhistory td {
-  padding-right: 1em;
-}
-
-
-/* variablelist as table */
-.variablelist table {
-  width: auto;
-  margin: 0 1em 0 1em;
-}
-
-.variablelist td {
-  vertical-align: top;
-}
-
-.variablelist td span, td p {
-  margin: 0.25em;
-}
-
-
-/* variablelist as list */
-dl {
-  padding-left: 1em
-}
-
-dt {
-  font-weight: bold;
-  margin-left: 1em;
-}
-
-dd {
-  margin-bottom: .6em;
-  margin-left: 1em;
-}
-
-dd p {
-  margin-top: 0;
-  margin-bottom: 0;
-  padding-top: 0;
-  padding-bottom: 0;
-}
-
-div.materials dt {
-  display: list-item;
-}
-
-div.materials dd {
-  margin-left: 0;
-  padding-left: 0;
-}
-
-
-/* segmentedlist */
-.appendix .segmentedlist {
-  padding-left: 1em;
-}
-
-.package .seg {
-  margin-bottom: 0em;
-  margin-top: 0em;
-  clear: left;
-}
-
-.content .seg {
-  margin-bottom: .4em;
-  margin-top: .4em;
-  clear: left;
-}
-
-.segtitle {
-  float: left;
-}
-
-.package .segbody, .appendix .segbody {
-  display: block;
-  padding-left: 14em;
-}
-
-.content .segbody {
-  display: block;
-  padding-left: 12em;
-}
-
-
-/* itemizedlist */
-ul {
-  padding-left: 1em
-}
-
-.itemizedlist ul {
-  margin-left: 1em
-}
-
-.itemizedlist li ul {
-  margin-bottom: 1.2em;
-}
-
-.itemizedlist li ul li p {
-  margin-top: .5em;
-  margin-bottom: .5em;
-}
-
-.itemizedlist li ul li:first-child p:first-child {
-  margin-top: -.6em;
-}
-
-ul.compact {
-  list-style: none;
-}
-
-.blfs ul.compact {
-  list-style: disc;
-}
-
-ul.compact li {
-  margin: 0em;
-  padding: 0em;
-}
-
-ul.compact li p {
-  padding: 0.3em;
-  margin: 0em;
-}
-
-.blfs ul.compact li p {
-  background-color: #f0fff0;
-}
-
-/* orderedlist */
-ol {
-  list-style: decimal;
-}
-
-ol ol {
-  list-style: lower-alpha;
-}
-
-ol ol ol {
-  list-style: lower-roman;
-}
-
-ol.compact li {
-  margin: 0em;
-  padding: 0em;
-}
-
-ol.compact li p {
-  padding: 0.3em;
-  margin: 0em;
-}
-
-
-/* Indented blocks */
-p, blockquote {
-  padding-left: 1em;
-  padding-right: 1em;
-}
-
-
-/* Monospaced elements */
-tt, code, kbd, pre, .command {
-  font-family: monospace;
-}
-
-.systemitem {
-  font-style: italic;
-}
-
-pre {
-  background-color: #e5e5e5;
-  border: 1px solid #050505;
-  padding: .5em 1em;
-  margin: 0 2em .5em 2em;
-  font-weight: bold;
-}
-
-pre.userinput {
-  color: #101310;
-}
-
-pre.root {
-  color: #101310;
-  border: 1px solid #11a;
-}
-
-pre.screen {
-  color: #000;
-  background-color: #e9e9e9;
-  font-weight: normal;
-}
-
-.literal, .prompt {
-  font-weight: normal;
-}
-
-
-/* Mixed tags */
-p.usernotes {
-  margin-left: -1em;
-  font-size: small;
-  font-weight: bold;
-  font-style: italic;
-}
-
-.underlined {
-  text-decoration: underline;
-}
-
-
-/* Last edited info */
-p.updated {
-  font-size: small;
-  font-weight: bold;
-  font-style: italic;
-}
-
-
-/* Special colored blocks */
-  /* OrangeRed4 */
-.feature-ssp {
-  color: #8B2500;
-}
-
-  /* RoyalBlue3 */
-.feature-aslr {
-  color: #3A5FCD;
-}
-
-  /* NavyBlue */
-.feature-pax {
-  color: #000080;
-}
-
-  /* VioletRed */
-.feature-hardened_tmp {
-  color: #d02090;
-}
-
-  /* PaleTurquoise4 */
-.feature-warnings {
-  color: #668b8b;
-}
-
-  /* RosyBrown */
-.feature-misc {
-  color: #bc8f8f;
-}
-
-  /* Sienna*/
-.feature-blowfish {
-  color: #8E6B23
-}
Index: OK/stylesheets/lfs-xsl/nochunks.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/nochunks.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,639 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-   <!-- Stylesheet for non-chunked XHTML output
-        Replaces {docbook-xsl}/xhtml/profile-docbook.xsl -->
-
-    <!-- Upstream XHTML templates -->
-  <xsl:import href="docbook-xsl-snapshot/xhtml/docbook.xsl"/>
-
-    <!-- Fix encoding issues with default UTF-8 output of the xhtml stylesheet -->
-  <xsl:output method="html" encoding="ISO-8859-1" indent="no" />
-
-   <!-- Including our others customized templates -->
-  <xsl:include href="common.xsl"/>
-  <xsl:include href="xhtml/lfs-index.xsl"/>
-  <xsl:include href="xhtml/lfs-mixed.xsl"/>
-  <xsl:include href="xhtml/lfs-sections.xsl"/>
-  <xsl:include href="xhtml/lfs-toc.xsl"/>
-  <xsl:include href="xhtml/lfs-xref.xsl"/>
-
-    <!-- Control generation of ToCs and LoTs -->
-  <xsl:param name="generate.toc">
-    book      toc,title
-    preface   nop
-    part      nop
-    chapter   nop
-    appendix  nop
-    sect1     nop
-    sect2     nop
-    sect3     nop
-    sect4     nop
-    sect5     nop
-    section   nop
-  </xsl:param>
-
-    <!-- How deep should recursive sections appear in the TOC? -->
-  <xsl:param name="toc.section.depth">1</xsl:param>
-
-    <!-- How maximaly deep should be each TOC? -->
-  <xsl:param name="toc.max.depth">3</xsl:param>
-
-    <!-- Dropping some unwanted style attributes -->
-  <xsl:param name="ulink.target" select="''"></xsl:param>
-  <xsl:param name="css.decoration" select="0"></xsl:param>
-
-    <!-- Don't use graphics in admonitions -->
-  <xsl:param name="admon.graphics" select="0"/>
-
-    <!-- Changing the admonitions output tagging:
-           Removed $admon.style support
-           Hardcoded $admon.textlabel feature -->
-    <!-- The original template is in {docbook-xsl}/xhtml/admon.xsl -->
-  <xsl:template name="nongraphical.admonition">
-    <div class="admon {name(.)}">
-      <h3>
-        <xsl:apply-templates select="." mode="object.title.markup"/>
-      </h3>
-      <xsl:apply-templates/>
-    </div>
-  </xsl:template>
-
-    <!-- sect2.titlepage:
-           Removed a lot of unneeded code.
-           Skip empty titles.
-           No label in preface (actualy, skip the hardcoded dot). -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="sect2.titlepage">
-    <xsl:choose>
-      <xsl:when test="string-length(title) = 0"/>
-      <xsl:otherwise>
-        <h3 class="{name(.)}">
-          <xsl:if test="@id">
-            <a id="{@id}" name="{@id}"/>
-          </xsl:if>
-          <xsl:if test="not(ancestor::preface) and $section.autolabel != 0">
-            <xsl:apply-templates select="." mode="label.markup"/>
-            <xsl:text>. </xsl:text>
-          </xsl:if>
-          <xsl:value-of select="title"/>
-        </h3>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- The CSS Stylesheet:
-           Note: there is some diferences with lfs.css code releated
-                 to h* values, admonitions and no navigational code. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/docbook.xsl -->
-  <xsl:template name='user.head.content'>
-    <style type="text/css">
-      <xsl:text>
-/* Global settings */
-body {
-  font-family: verdana, tahoma, helvetica, arial, sans-serif;
-  text-align: left;
-  background: #fff;
-  color: #222;
-  margin: 1em;
-  padding: 0;
-  font-size: 1em;
-  line-height: 1.2em
-}
-
-
-/* Links */
-a:link { color: #22b; }
-a.ulink:link { font-weight: bold; color: #55f; }
-a:visited { color: #7e4988 ! important; }
-a:hover, a:focus { color: #d30e08 ! important; }
-a:active { color: #6b77b1 ! important;}
-
-
-/* Book titlepage */
-.book {
-  margin: 0px auto;
-  padding: 0 1em;
-}
-
-.book h1, .book .authorgroup, .book .copyright, .book .legalnotice .revhistory {
-  background: #f5f6f7;
-  margin: 0px auto;
-  padding: .1em 1em;
-}
-
-.book hr {
-  background: #dbddec;
-  height: .3em;
-  border: 0px;
-  margin: 0;
-  padding: 0;
-}
-
-div.dedication {
-  padding-left: 1em;
-}
-
-
-/* Sections */
-div.sect1, div.appendix {
-  padding-left: .3em;
-}
-
-.package, .kernel, .installation, .commands, .testing, .configuration, .content {
-  padding: 0 .5em .2em 0;
-  margin: 0;
-}
-
-.lfs .package {
-  background: #f5f6f7;
-  border-bottom: 0.2em solid #dbddec;
-  padding-top: .1em;
-  margin-top: 0;
-}
-
-.lfs .configuration {
-  background:   #fefefe;
-  border-top: 0.2em solid #dbddec;
-}
-
-.lfs .content {
-  background: #f5f6f7;
-  border-top: 0.2em solid #dbddec;
-  border-bottom: 0.2em solid #dbddec;
-  padding-bottom: .1em;
-  margin-bottom: 0;
-}
-
-
-/* Headers */
-h1, h2, h3, h4, h5, h6, b, .strong {
-  color: #000;
-  font-weight: bold;
-  line-height: 1em;
-}
-
-h1 {
-  font-size: 173%;
-  text-align: center;
-}
-
-.book h1 {
-  margin: 0;
-  padding: 0.4em;
-}
-
-h1.title sup {
-  font-size: small;
-}
-
-h2 {
-  font-size: 144%;
-}
-
-.preface h2, .part h1, .chapter h2, .appendix h2, .index h1, .sect1 h2 {
-  background: #f5f6f7;
-  border-top: .2em solid #dbddec;
-  border-bottom: .2em solid #dbddec;
-  margin-bottom: 1em;
-  margin-top: 1em;
-  padding: .4em;
-  text-align: center;
-}
-
-.sect1 h2, .appendix h2 {
-  margin-left: -.2em;
-}
-
-.wrap h2 {
-  background: #f5f6f7;
-  border-bottom: 0;
-  margin-top: 1em;
-  margin-bottom: 0;
-  padding-top: .4em;
-}
-
-.book h2.subtitle {
-  text-align: center;
-  background: #dbddec;
-  margin: 0;
-  padding: 0.2em;
-}
-
-h3 {
-  font-size: 120%;
-}
-
-.appendix h3 {
-  font-size: 133%;
-  margin-top: .8em;
-  margin-bottom: 0.2em;
-}
-
-h4 {
-  font-size: 110%;
-}
-
-.package h4, h5, h6 {
-  font-size: 100%;
-  font-style: italic;
-}
-
-
-/* TOC */
-div.toc ul, div.index ul, div.navheader ul, div.navfooter ul {
-  list-style: none;
-}
-
-div.toc {
-  padding-left: 1em;
-}
-
-li.preface, .part li.appendix {
-  margin-left: 1em;
-}
-
-div.toc h3 {
-  margin: 1em 0 .3em 0;
-}
-
-li.appendix h3, li.glossary h3, li.index h3 {
-  margin: .5em
-}
-
-div.toc h4 {
-  margin: .6em 0 .2em 0;
-}
-
-li.chapter h4 a {
-  display: block;
-  margin-bottom: .4em
-}
-
-.dummy {
-  display: block;
-  font-weight: bold;
-  font-size: 110%;
-  margin: .6em 0 .2em 0;
-}
-
-
-/* Index */
-.item {
-    float: left;
-    margin-right: 1em
-}
-
-.secitem {
-    font-weight: normal;
-    float: left;
-    margin-right: 1em
-}
-
-.indexref {
-    display: block;
-}
-
-.item + .indexref {
-    margin-left: 20em;
-}
-
-.secitem + .indexref {
-    margin-left: 19em;
-}
-
-
-/* Admonitions */
-div.admon h3 {
-  padding-left: 2.5em;
-  padding-top: 1em;
-}
-
-div.admon p {
-  margin-left: .5em;
-}
-
-div.admon pre {
-  margin: 0.5em 3em;
-}
-
-div.note, div.tip {
-  background-color: #fffff6;
-  border: 2px solid #dbddec;
-  width: 90%;
-  margin: .5em auto;
-}
-
-div.important, div.warning, div.caution {
-  background-color: #fffff6;
-  border: medium solid #400;
-  width: 90%;
-  margin: .5em auto;
-  color: #600;
-}
-
-div.important h3, div.warning h3, div.caution h3 {
-  color: #900;
-}
-
-div.important em, div.warning em, div.caution em {
-  color: #000;
-  font-weight: bold;
-}
-
-
-/* table */
-.table p.title {
-  text-align: center;
-  margin-top: 0;
-  margin-bottom: .3em;
-}
-
-.table table {
-  margin-left: auto;
-  margin-right: auto;
-}
-
-.table table th, .table table td {
-  padding: 0.2em 2em 0.2em 2em;
-  text-align: left;
-}
-
-.revhistory {
-  padding-left: 1em;
-}
-
-.revhistory th {
-  line-height: 2em;
-  text-align: left;
-}
-
-.revhistory td {
-  padding-right: 1em;
-}
-
-
-/* variablelist as table */
-.variablelist table {
-  width: auto;
-  margin: 0 1em 0 1em;
-}
-
-.variablelist td {
-  vertical-align: top;
-}
-
-.variablelist td span, td p {
-  margin: 0.25em;
-}
-
-.variablelist td p {
-  margin-top: 0;
-}
-
-
-/* variablelist as list */
-dl {
-  padding-left: 1em
-}
-
-dt {
-  font-weight: bold;
-  margin-left: 1em;
-}
-
-dd {
-  margin-bottom: .6em;
-  margin-left: 1em;
-}
-
-dd p {
-  margin-top: 0;
-  margin-bottom: 0;
-  padding-top: 0;
-  padding-bottom: 0;
-}
-
-div.materials dt {
-  display: list-item;
-}
-
-div.materials dd {
-  margin-left: 0;
-  padding-left: 0;
-}
-
-
-/* segmentedlist */
-.appendix .segmentedlist {
-  padding-left: 1em;
-}
-
-.package .seg {
-  margin-bottom: 0em;
-  margin-top: 0em;
-  clear: left;
-}
-
-.content .seg {
-  margin-bottom: .4em;
-  margin-top: .4em;
-  clear: left;
-}
-
-.segtitle {
-  float: left;
-}
-
-.package .segbody, .appendix .segbody {
-  display: block;
-  padding-left: 14em;
-}
-
-.content .segbody {
-  display: block;
-  padding-left: 12em;
-}
-
-
-/* itemizedlist */
-ul {
-  padding-left: 1em
-}
-
-.itemizedlist ul {
-  margin-left: 1em
-}
-
-.itemizedlist li ul {
-  margin-bottom: 1.2em;
-}
-
-.itemizedlist li ul li p {
-  margin-top: .5em;
-  margin-bottom: .5em;
-}
-
-.itemizedlist li ul li:first-child p:first-child {
-  margin-top: -.6em;
-}
-
-ul.compact {
-  list-style: none;
-}
-
-.blfs ul.compact {
-  list-style: disc;
-}
-
-ul.compact li {
-  margin: 0em;
-  padding: 0em;
-}
-
-ul.compact li p {
-  padding: 0.3em;
-  margin: 0em;
-}
-
-.blfs ul.compact li p {
-  background-color: #f0fff0;
-}
-
-/* orderedlist */
-ol {
-  list-style: decimal;
-}
-
-ol ol {
-  list-style: lower-alpha;
-}
-
-ol ol ol {
-  list-style: lower-roman;
-}
-
-ol.compact li {
-  margin: 0em;
-  padding: 0em;
-}
-
-ol.compact li p {
-  padding: 0.3em;
-  margin: 0em;
-}
-
-
-/* Indented blocks */
-p, blockquote {
-  padding-left: 1em;
-  padding-right: 1em;
-}
-
-
-/* Monospaced elements */
-tt, code, kbd, pre, .command {
-  font-family: monospace;
-}
-
-.systemitem {
-  font-style: italic;
-}
-
-pre {
-  background-color: #e5e5e5;
-  border: 1px solid #050505;
-  padding: .5em 1em;
-  margin: 0 2em .5em 2em;
-  font-weight: bold;
-}
-
-pre.userinput {
-  color: #101310;
-}
-
-pre.root {
-  color: #101310;
-  border: 1px solid #11a;
-}
-
-pre.screen {
-  color: #000;
-  background-color: #e9e9e9;
-  font-weight: normal;
-}
-
-.literal, .prompt {
-  font-weight: normal;
-}
-
-
-/* Mixed tags */
-p.usernotes {
-  margin-left: -1em;
-  font-size: small;
-  font-weight: bold;
-  font-style: italic;
-}
-
-.underlined {
-  text-decoration: underline;
-}
-
-
-/* Last edited info */
-p.updated {
-  font-size: small;
-  font-weight: bold;
-  font-style: italic;
-}
-
-
-/* Special colored blocks */
-  /* OrangeRed4 */
-.feature-ssp {
-  color: #8B2500;
-}
-
-  /* RoyalBlue3 */
-.feature-aslr {
-  color: #3A5FCD;
-}
-
-  /* NavyBlue */
-.feature-pax {
-  color: #000080;
-}
-
-  /* VioletRed */
-.feature-hardened_tmp {
-  color: #d02090;
-}
-
-  /* PaleTurquoise4 */
-.feature-warnings {
-  color: #668b8b;
-}
-
-  /* RosyBrown */
-.feature-misc {
-  color: #bc8f8f;
-}
-
-  /* Sienna*/
-.feature-blowfish {
-  color: #8E6B23
-}
-      </xsl:text>
-    </style>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/pdf.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/pdf.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,108 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-   <!-- Stylesheet for FO output used to generate PDF
-        Sets global params and include customization stylesheets. -->
-
-    <!-- Upstream FO templates. Profiled version is not supported by
-         xsltproc, thus pofiling must be done in two steps (see Makefile) -->
-  <xsl:import href="docbook-xsl-snapshot/fo/docbook.xsl"/>
-
-    <!-- Uncomment the next for debugging the raw FO code.
-         Note that FOP will complaints about a lot of paragraph overflows
-         due that verbatim output is also indented.
-         Remember to comment the "rm $(RENDERDIR)/lfs-pdf.fo" in
-         the Makefile. -->
-  <!--<xsl:output  encoding="UTF-8" indent="yes" />-->
-
-    <!-- Including our others customized templates. -->
-  <xsl:include href="common.xsl"/>
-  <xsl:include href="pdf/lfs-admon.xsl"/>
-  <xsl:include href="pdf/lfs-index.xsl"/>
-  <xsl:include href="pdf/lfs-lists.xsl"/>
-  <xsl:include href="pdf/lfs-mixed.xsl"/>
-  <xsl:include href="pdf/lfs-pagesetup.xsl"/>
-  <xsl:include href="pdf/lfs-xref.xsl"/>
-
-    <!-- Activating FOP-1 extensions. We use FOP-0.93 as the FO procesor. -->
-  <xsl:param name="fop1.extensions" select="1"/>
-
-    <!-- Desactivate draft mode at all. -->
-  <xsl:param name="draft.mode" select="'no'"/>
-
-   <!-- Paper size -->
-  <xsl:param name="paper.type" select="'USletter'"/>
-
-    <!-- Paper size required by the publisher
-  <xsl:param name="paper.type" select="'Customized'"/>
-  <xsl:param name="page.width">7.25in</xsl:param>
-  <xsl:param name="page.height">9.25in</xsl:param>
-    -->
-
-    <!-- Is the document to be printed double sided? 1 = yes, 0 = no -->
-    <!-- Change "double.sided" to "1" for published versions. -->
-  <xsl:param name="double.sided" select="0"/>
-
-    <!-- Hyphenate? -->
-  <xsl:param name="hyphenate">false</xsl:param>
-
-    <!-- Allow URLs to be automatically hyphenated.
-         We have expanded the support to several inline tags.
-         See pdf/lfs-mixed.xsl -->
-  <xsl:param name="ulink.hyphenate" select="'&#x200B;'"/>
-
-    <!-- List of characters to allow ulink URLs, and supported inline tags,
-         to be automatically hyphenated on.
-         Note: the / character is in the list but FOP-0.93 ignores it. -->
-  <xsl:param name="ulink.hyphenate.chars" select="'/._-'"/>
-
-    <!-- Specify the default text alignment. -->
-  <xsl:param name="alignment">justify</xsl:param>
-
-    <!-- Specifies the default point size for body text.
-         Used for titles size calculation. -->
-  <xsl:param name="body.font.master">9</xsl:param>
-
-    <!-- Specifies the default font size for body text. -->
-  <xsl:param name="body.font.size">12pt</xsl:param>
-
-    <!-- Control generation of ToCs and LoTs -->
-  <xsl:param name="generate.toc">
-    book      toc,title
-    part      nop
-  </xsl:param>
-
-    <!-- How deep should recursive sections appear in the TOC? -->
-  <xsl:param name="toc.section.depth">1</xsl:param>
-
-    <!-- Amount of indentation for TOC entries. -->
-  <xsl:param name="toc.indent.width" select="18"/>
-
-    <!-- Turns page numbers in xrefs on and off. -->
-  <xsl:param name="insert.xref.page.number">no</xsl:param>
-
-    <!-- Display URLs after ulinks? 1 = yes, 0 = no
-         Set to 0 to prevent duplicate e-mails in the Acknowledgments pages. -->
-  <xsl:param name="ulink.show" select="0"/>
-
-    <!-- Processing instruction for hard page breaks.
-         FOP-0.93 supports now @keep-*.*, @orphans, and @widows attributes,
-         that solves several page break issues.
-         It also supports the soft page break procesing instruction included
-         in the DocBook stylesheets.
-         But some times we may need hard page breaks for final book versions. -->
-    <!-- To know how to use all that page break features, see
-         http://www.sagehill.net/docbookxsl/PageBreaking.html -->
-  <xsl:template match="processing-instruction('hard-pagebreak')">
-    <fo:block break-before='page'/>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/pdf/lfs-admon.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/pdf/lfs-admon.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,81 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-  <!-- This stylesheet controls how admonitions are displayed -->
-
-    <!-- Use graphics in admonitions? 1 = yes, 0 = no -->
-  <xsl:param name="admon.graphics" select="1"/>
-
-    <!-- Path to admonition graphics relative to index.xml -->
-  <xsl:param name="admon.graphics.path" select="'images/'"/>
-
-    <!-- Global admonitions properties -->
-  <xsl:attribute-set name="graphical.admonition.properties">
-    <xsl:attribute name="keep-together.within-column">
-      <xsl:variable name="keep.together">
-        <xsl:call-template name="pi.dbfo_keep-together"/>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="$keep.together != ''">
-          <xsl:value-of select="$keep.together"/>
-        </xsl:when>
-        <xsl:otherwise>always</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-    <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
-    <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
-    <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
-    <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
-    <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
-    <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
-    <xsl:attribute name="padding-start">5pt</xsl:attribute>
-    <xsl:attribute name="padding-top">5pt</xsl:attribute>
-    <xsl:attribute name="padding-bottom">5pt</xsl:attribute>
-    <xsl:attribute name="border-style">solid</xsl:attribute>
-    <xsl:attribute name="border-width">0.5pt</xsl:attribute>
-    <xsl:attribute name="background-color">#FFFFE6</xsl:attribute>
-    <xsl:attribute name="border-color">
-      <xsl:choose>
-        <xsl:when test="self::note | self::tip">#E0E0E0</xsl:when>
-        <xsl:otherwise>#DCC</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- Properties for admonitions titles -->
-  <xsl:attribute-set name="admonition.title.properties">
-    <xsl:attribute name="font-size">14pt</xsl:attribute>
-    <xsl:attribute name="font-weight">bold</xsl:attribute>
-    <xsl:attribute name="hyphenate">false</xsl:attribute>
-    <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-    <xsl:attribute name="color">
-      <xsl:choose>
-        <xsl:when test="ancestor-or-self::important | ancestor-or-self::warning
-                        | ancestor-or-self::caution">#500</xsl:when>
-        <xsl:otherwise>#000</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- Properties for admonitions text -->
-  <xsl:attribute-set name="admonition.properties">
-    <xsl:attribute name="margin-right">5pt</xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- admon.graphic.width:
-           Making the graphic smaller. -->
-    <!-- The original template is in {docbook-xsl}/fo/admon.xsl -->
-  <xsl:template match="*" mode="admon.graphic.width">
-    <xsl:param name="node" select="."/>
-    <xsl:text>24pt</xsl:text>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/pdf/lfs-index.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/pdf/lfs-index.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,140 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<!DOCTYPE xsl:stylesheet [
-<!ENTITY lowercase "'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;'">
-<!ENTITY uppercase "'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'">
-<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = ""]))'>
-<!ENTITY scope     "count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))">
-]>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-  <!-- This stylesheet controls how the Index is generated.
-       Entities comes from {docbook-xsl}/common/entities.ent -->
-
-    <!-- Override for punctuation separating an index term from its list
-         of page references. -->
-  <xsl:param name="index.term.separator" select="': '"></xsl:param>
-
-    <!-- Divisions title properties. -->
-  <xsl:attribute-set name="index.div.title.properties">
-    <xsl:attribute name="margin-left">0pt</xsl:attribute>
-    <xsl:attribute name="font-size">14.4pt</xsl:attribute>
-    <xsl:attribute name="font-family">
-      <xsl:value-of select="$title.fontset"/>
-    </xsl:attribute>
-    <xsl:attribute name="font-weight">bold</xsl:attribute>
-    <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-    <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
-    <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-    <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
-    <xsl:attribute name="space-after.optimum">0.5em</xsl:attribute>
-    <xsl:attribute name="space-after.minimum">0.3em</xsl:attribute>
-    <xsl:attribute name="space-after.maximum">0.7em</xsl:attribute>
-    <xsl:attribute name="start-indent">0pt</xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- Properties applied to the block containing entries in an Index. -->
-  <xsl:attribute-set name="index.entry.properties">
-    <xsl:attribute name="start-indent">0.5pc</xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- Divisions:
-          Translate alphabetical divisons titles to by-type titles. -->
-    <!-- The original template is in {docbook-xsl}/fo/autoidx.xsl -->
-  <xsl:template match="indexterm" mode="index-div-basic">
-    <xsl:param name="scope" select="."/>
-    <xsl:param name="role" select="''"/>
-    <xsl:param name="type" select="''"/>
-    <xsl:variable name="key"
-                  select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
-    <xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
-    <xsl:if test="key('letter', $key)[&scope;]
-                  [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
-      <fo:block>
-        <xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
-          <xsl:call-template name="indexdiv.title">
-            <xsl:with-param name="titlecontent">
-              <xsl:choose>
-                <xsl:when test="$divtitle = 'A'">
-                  <xsl:call-template name="gentext">
-                    <xsl:with-param name="key">Packages</xsl:with-param>
-                  </xsl:call-template>
-                </xsl:when>
-                <xsl:when test="$divtitle = 'B'">
-                  <xsl:call-template name="gentext">
-                    <xsl:with-param name="key">Programs</xsl:with-param>
-                  </xsl:call-template>
-                </xsl:when>
-                <xsl:when test="$divtitle = 'C'">
-                  <xsl:call-template name="gentext">
-                    <xsl:with-param name="key">Libraries</xsl:with-param>
-                  </xsl:call-template>
-                </xsl:when>
-                <xsl:when test="$divtitle = 'D'">
-                  <xsl:choose>
-                    <xsl:when test="$book-type = 'blfs'">
-                      <xsl:call-template name="gentext">
-                        <xsl:with-param name="key">Kernel Configuration</xsl:with-param>
-                      </xsl:call-template>
-                    </xsl:when>
-                    <xsl:otherwise>
-                      <xsl:call-template name="gentext">
-                        <xsl:with-param name="key">Scripts</xsl:with-param>
-                      </xsl:call-template>
-                    </xsl:otherwise>
-                  </xsl:choose>
-                </xsl:when>
-                <xsl:when test="$divtitle = 'E'">
-                  <xsl:choose>
-                    <xsl:when test="$book-type = 'blfs'">
-                      <xsl:call-template name="gentext">
-                        <xsl:with-param name="key">Configuration Files</xsl:with-param>
-                      </xsl:call-template>
-                    </xsl:when>
-                    <xsl:otherwise>
-                      <xsl:call-template name="gentext">
-                        <xsl:with-param name="key">Others</xsl:with-param>
-                      </xsl:call-template>
-                    </xsl:otherwise>
-                  </xsl:choose>
-                </xsl:when>
-                <xsl:when test="$divtitle = 'F'">
-                    <xsl:call-template name="gentext">
-                      <xsl:with-param name="key">Bootscripts</xsl:with-param>
-                    </xsl:call-template>
-                </xsl:when>
-                <xsl:when test="$divtitle = 'G'">
-                    <xsl:call-template name="gentext">
-                      <xsl:with-param name="key">Others</xsl:with-param>
-                    </xsl:call-template>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:value-of select="$divtitle"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <fo:block xsl:use-attribute-sets="index.entry.properties">
-          <xsl:apply-templates select="key('letter', $key)[&scope;]
-                                      [count(.|key('primary', &primary;)[&scope;][1])=1]"
-                              mode="index-primary">
-            <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
-            <xsl:with-param name="scope" select="$scope"/>
-            <xsl:with-param name="role" select="$role"/>
-            <xsl:with-param name="type" select="$type"/>
-          </xsl:apply-templates>
-        </fo:block>
-      </fo:block>
-    </xsl:if>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/pdf/lfs-lists.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/pdf/lfs-lists.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,174 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-  <!-- This stylesheet controls how list are generated. -->
-
-    <!-- What spacing do you want before and after lists? -->
-  <xsl:attribute-set name="list.block.spacing">
-    <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
-    <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
-    <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
-    <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
-    <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
-    <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- What spacing do you want between list items? -->
-  <xsl:attribute-set name="list.item.spacing">
-    <xsl:attribute name="space-before.optimum">0.4em</xsl:attribute>
-    <xsl:attribute name="space-before.minimum">0.2em</xsl:attribute>
-    <xsl:attribute name="space-before.maximum">0.6em</xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- Properties that apply to each list-block generated by itemizedlist. -->
-  <xsl:attribute-set name="itemizedlist.properties"
-                     use-attribute-sets="list.block.properties">
-    <xsl:attribute name="text-align">left</xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- Format variablelists lists as blocks? 1 = yes, 0 = no
-           Default variablelist format. We override it when necesary
-           using the list-presentation processing instruction. -->
-  <xsl:param name="variablelist.as.blocks" select="1"/>
-
-    <!-- Specifies the longest term in variablelists.
-         Used when list-presentation = list -->
-  <xsl:param name="variablelist.max.termlength">35</xsl:param>
-
-    <!-- varlistentry mode block:
-           Addibg a bullet, left alignament, and @kepp-*.* attributes
-           for packages and paches list. -->
-    <!-- The original template is in {docbook-xsl}/fo/list.xsl -->
-  <xsl:template match="varlistentry" mode="vl.as.blocks">
-    <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
-    <xsl:choose>
-      <xsl:when test="ancestor::variablelist/@role = 'materials'">
-        <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing"
-                  keep-together.within-column="always" font-weight="bold"
-                  keep-with-next.within-column="always" text-align="left">
-          <xsl:text>&#x2022;   </xsl:text>
-          <xsl:apply-templates select="term"/>
-        </fo:block>
-        <fo:block text-align="left"
-                  keep-together.within-column="always"
-                  keep-with-previous.within-column="always">
-          <xsl:apply-templates select="listitem"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing"
-                  keep-together.within-column="always"
-                  keep-with-next.within-column="always" margin-left="1em">
-          <xsl:apply-templates select="term"/>
-        </fo:block>
-        <fo:block margin-left="2em">
-          <xsl:apply-templates select="listitem"/>
-        </fo:block>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- segmentedlist:
-           Making it an actual FO list to can indent items.
-           Adjust vertical space. -->
-    <!-- The original template is in {docbook-xsl}/fo/list.xsl -->
-  <xsl:template match="segmentedlist">
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:variable>
-    <fo:list-block id="{$id}" provisional-distance-between-starts="12em"
-                   provisional-label-separation="1em"
-                   keep-together.within-column="always">
-      <xsl:choose>
-        <xsl:when test="ancestor::appendix[@id='appendixc']">
-          <xsl:attribute name="space-before.optimum">0.2em</xsl:attribute>
-          <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
-          <xsl:attribute name="space-before.maximum">0.4em</xsl:attribute>
-          <xsl:attribute name="space-after.optimum">0.2em</xsl:attribute>
-          <xsl:attribute name="space-after.minimum">0em</xsl:attribute>
-          <xsl:attribute name="space-after.maximum">0.4em</xsl:attribute>
-          <xsl:attribute name="keep-with-previous.within-column">always</xsl:attribute>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:attribute name="space-before.optimum">0.4em</xsl:attribute>
-          <xsl:attribute name="space-before.minimum">0.2em</xsl:attribute>
-          <xsl:attribute name="space-before.maximum">0.6em</xsl:attribute>
-          <xsl:attribute name="space-after.optimum">0.4em</xsl:attribute>
-          <xsl:attribute name="space-after.minimum">0.2em</xsl:attribute>
-          <xsl:attribute name="space-after.maximum">0.6em</xsl:attribute>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:apply-templates select="seglistitem/seg"/>
-    </fo:list-block>
-  </xsl:template>
-
-    <!-- seg:
-           Self-made template based on the original seg template
-           found in {docbook-xsl}/fo/list.xsl
-           Making segmentedlist an actual FO list to can indent items. -->
-  <xsl:template match="seglistitem/seg">
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:variable>
-    <xsl:variable name="segnum" select="count(preceding-sibling::seg)+1"/>
-    <xsl:variable name="seglist" select="ancestor::segmentedlist"/>
-    <xsl:variable name="segtitles" select="$seglist/segtitle"/>
-    <fo:list-item xsl:use-attribute-sets="compact.list.item.spacing">
-      <fo:list-item-label end-indent="label-end()" text-align="start">
-        <fo:block>
-          <fo:inline font-weight="bold">
-            <xsl:apply-templates select="$segtitles[$segnum=position()]"
-                                 mode="segtitle-in-seg"/>
-            <xsl:text>:</xsl:text>
-          </fo:inline>
-        </fo:block>
-      </fo:list-item-label>
-      <fo:list-item-body start-indent="body-start()">
-        <fo:block id="{$id}">
-          <xsl:apply-templates/>
-        </fo:block>
-      </fo:list-item-body>
-    </fo:list-item>
-  </xsl:template>
-
-    <!-- simplelist:
-           Self-made template. Wrap it into a fo:block and process member childs.
-           If @type is specified, the original templates will be used.
-           NOTE: when using type='horiz' or type='vert', FOP-0.93 will complaints
-             about not supported table-layout="auto" -->
-  <xsl:template match="simplelist">
-    <fo:block xsl:use-attribute-sets="simplelist.properties">
-      <xsl:apply-templates mode="condensed"/>
-    </fo:block>
-  </xsl:template>
-
-    <!-- member:
-           Self-made template to wrap it into a fo:block using customized
-           properties. -->
-  <xsl:template match="member" mode="condensed">
-    <fo:block xsl:use-attribute-sets="simplelist.properties">
-      <xsl:call-template name="simple.xlink">
-        <xsl:with-param name="content">
-          <xsl:apply-templates/>
-        </xsl:with-param>
-      </xsl:call-template>
-    </fo:block>
-  </xsl:template>
-
-    <!-- Properties associated with our simplelist format. -->
-  <xsl:attribute-set name="simplelist.properties">
-    <xsl:attribute name="keep-with-previous.within-column">always</xsl:attribute>
-    <xsl:attribute name="space-before.optimum">0em</xsl:attribute>
-    <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
-    <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute>
-  </xsl:attribute-set>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,360 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-  <!-- This stylesheet contains misc params, attribute sets and templates
-       for output formating.
-       This file is for that templates that don't fit in other files. -->
-
-    <!-- What space do you want between normal paragraphs. -->
-  <xsl:attribute-set name="normal.para.spacing">
-    <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
-    <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
-    <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
-    <xsl:attribute name="orphans">3</xsl:attribute>
-    <xsl:attribute name="widows">3</xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- Properties associated with verbatim text. -->
-  <xsl:attribute-set name="verbatim.properties">
-    <xsl:attribute name="keep-with-previous.within-column">always</xsl:attribute>
-    <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
-    <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
-    <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
-    <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
-    <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
-    <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
-    <xsl:attribute name="hyphenate">false</xsl:attribute>
-    <xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
-    <xsl:attribute name="white-space-collapse">false</xsl:attribute>
-    <xsl:attribute name="white-space-treatment">preserve</xsl:attribute>
-    <xsl:attribute name="linefeed-treatment">preserve</xsl:attribute>
-    <xsl:attribute name="text-align">start</xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- Should verbatim environments be shaded? 1 =yes, 0 = no -->
-  <xsl:param name="shade.verbatim" select="1"/>
-
-    <!-- Properties that specify the style of shaded verbatim listings -->
-  <xsl:attribute-set name="shade.verbatim.style">
-    <xsl:attribute name="background-color">#E9E9E9</xsl:attribute>
-    <xsl:attribute name="border-style">solid</xsl:attribute>
-    <xsl:attribute name="border-width">0.5pt</xsl:attribute>
-    <xsl:attribute name="border-color">#888</xsl:attribute>
-    <xsl:attribute name="padding-start">5pt</xsl:attribute>
-    <xsl:attribute name="padding-top">2pt</xsl:attribute>
-    <xsl:attribute name="padding-bottom">2pt</xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- para:
-           Skip empty "Home page" in packages.xml.
-           Allow forced line breaks inside paragraphs emulating literallayout.
-           Removed vertical space in variablelist. -->
-    <!-- The original template is in {docbook-xsl}/fo/block.xsl -->
-  <xsl:template match="para">
-    <xsl:choose>
-      <xsl:when test="child::ulink[@url=' ']"/>
-      <xsl:when test="./@remap='verbatim'">
-        <fo:block xsl:use-attribute-sets="verbatim.properties">
-          <xsl:call-template name="anchor"/>
-          <xsl:apply-templates/>
-        </fo:block>
-      </xsl:when>
-      <xsl:when test="ancestor::variablelist">
-        <fo:block>
-          <xsl:attribute name="space-before.optimum">0.1em</xsl:attribute>
-          <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
-          <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute>
-          <xsl:call-template name="anchor"/>
-          <xsl:apply-templates/>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <fo:block xsl:use-attribute-sets="normal.para.spacing">
-          <xsl:call-template name="anchor"/>
-          <xsl:apply-templates/>
-        </fo:block>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- screen, literallayout:
-          Self-made template that creates a fo:block wrapper with keep-together
-          processing instruction support around the output generated by
-          original screen templates. -->
-  <xsl:template match="screen|literallayout">
-    <xsl:variable name="keep.together">
-      <xsl:call-template name="pi.dbfo_keep-together"/>
-    </xsl:variable>
-    <fo:block>
-      <xsl:attribute name="keep-together.within-column">
-        <xsl:choose>
-          <xsl:when test="$keep.together != ''">
-            <xsl:value-of select="$keep.together"/>
-          </xsl:when>
-          <xsl:otherwise>always</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-      <xsl:apply-imports/>
-    </fo:block>
-  </xsl:template>
-
-    <!-- literal:
-           Be sure that literal will use allways normal font weight. -->
-    <!-- The original template is in {docbook-xsl}/fo/inline.xsl -->
-  <xsl:template match="literal">
-    <fo:inline  font-weight="normal">
-      <xsl:call-template name="inline.monoseq"/>
-    </fo:inline>
-  </xsl:template>
-
-    <!-- inline.monoseq:
-           Added hyphenate-url support to classname, exceptionname, interfacename,
-           methodname, computeroutput, constant, envar, filename, function, code,
-           literal, option, promt, systemitem, varname, sgmltag, tag, and uri -->
-    <!-- The original template is in {docbook-xsl}/fo/inline.xsl -->
-  <xsl:template name="inline.monoseq">
-    <xsl:param name="content">
-      <xsl:call-template name="simple.xlink">
-        <xsl:with-param name="content">
-          <xsl:choose>
-            <xsl:when test="ancestor::para and not(ancestor::screen)
-                            and not(descendant::ulink)">
-              <xsl:call-template name="hyphenate-url">
-                <xsl:with-param name="url">
-                  <xsl:apply-templates/>
-                </xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:param>
-    <fo:inline xsl:use-attribute-sets="monospace.properties">
-      <xsl:if test="@dir">
-        <xsl:attribute name="direction">
-          <xsl:choose>
-            <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when>
-            <xsl:otherwise>rtl</xsl:otherwise>
-          </xsl:choose>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:copy-of select="$content"/>
-    </fo:inline>
-  </xsl:template>
-
-    <!-- inline.italicmonoseq:
-           Added hyphenate-url support to parameter, replaceable, structfield,
-           function/parameter, and function/replaceable -->
-    <!-- The original template is in {docbook-xsl}/fo/inline.xsl -->
-  <xsl:template name="inline.italicmonoseq">
-    <xsl:param name="content">
-      <xsl:call-template name="simple.xlink">
-        <xsl:with-param name="content">
-          <xsl:choose>
-            <xsl:when test="ancestor::para and not(ancestor::screen)
-                            and not(descendant::ulink)">
-              <xsl:call-template name="hyphenate-url">
-                <xsl:with-param name="url">
-                  <xsl:apply-templates/>
-                </xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:param>
-    <fo:inline font-style="italic" xsl:use-attribute-sets="monospace.properties">
-      <xsl:call-template name="anchor"/>
-      <xsl:if test="@dir">
-        <xsl:attribute name="direction">
-          <xsl:choose>
-            <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when>
-            <xsl:otherwise>rtl</xsl:otherwise>
-          </xsl:choose>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:copy-of select="$content"/>
-    </fo:inline>
-  </xsl:template>
-
-    <!-- Show external URLs in italic font -->
-  <xsl:attribute-set name="xref.properties">
-    <xsl:attribute name="font-style">
-      <xsl:choose>
-        <xsl:when test="self::ulink">italic</xsl:when>
-        <xsl:otherwise>inherit</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-  </xsl:attribute-set>
-
-   <!-- Center table title. -->
-  <xsl:attribute-set name="formal.title.properties">
-    <xsl:attribute name="text-align">
-      <xsl:choose>
-        <xsl:when test="local-name(.) = 'table'">center</xsl:when>
-        <xsl:otherwise>left</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- table.layout:
-           We want all tables centered. Based on a hack posted
-           by Ellen Juhlin on docbook-apps mailing list. -->
-    <!-- The original template is in {docbook-xsl}/fo/table.xsl -->
-  <xsl:template name="table.layout">
-    <xsl:param name="table.content" select="NOTANODE"/>
-    <fo:table table-layout="fixed" width="100%">
-      <fo:table-column column-width ="proportional-column-width(1)"/>
-      <fo:table-column>
-        <!-- Set center column width equal to table width -->
-        <xsl:attribute name="column-width">
-          <xsl:call-template name="table.width"/>
-        </xsl:attribute>
-      </fo:table-column>
-      <fo:table-column column-width ="proportional-column-width(1)"/>
-      <fo:table-body>
-        <fo:table-row>
-          <fo:table-cell column-number="2">
-            <xsl:copy-of select="$table.content"/>
-          </fo:table-cell>
-        </fo:table-row>
-      </fo:table-body>
-    </fo:table>
-  </xsl:template>
-
-
-  <!-- Revision History -->
-
-    <!-- revhistory titlepage:
-           Self-made template to add missing support on bookinfo. -->
-  <xsl:template match="revhistory" mode="book.titlepage.verso.auto.mode">
-    <fo:block space-before.optimum="2em"
-              space-before.minimum="1.5em"
-              space-before.maximum="2.5em">
-      <xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
-    </fo:block>
-  </xsl:template>
-
-    <!-- revhitory title properties -->
-  <xsl:attribute-set name="revhistory.title.properties">
-    <xsl:attribute name="text-align">center</xsl:attribute>
-    <xsl:attribute name="font-weight">bold</xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- revhistory/revision mode titlepage.mode:
-           Removed authorinitials | author support placing
-           revremark | revdescription instead on that table-cell. -->
-    <!-- The original template is in {docbook-xsl}/fo/titlepage.xsl -->
-  <xsl:template match="revhistory/revision" mode="titlepage.mode">
-    <xsl:variable name="revnumber" select="revnumber"/>
-    <xsl:variable name="revdate"   select="date"/>
-    <xsl:variable name="revremark" select="revremark|revdescription"/>
-    <fo:table-row>
-      <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
-        <fo:block>
-          <xsl:if test="$revnumber">
-            <xsl:call-template name="gentext">
-              <xsl:with-param name="key" select="'Revision'"/>
-            </xsl:call-template>
-            <xsl:call-template name="gentext.space"/>
-            <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/>
-          </xsl:if>
-        </fo:block>
-      </fo:table-cell>
-      <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
-        <fo:block>
-          <xsl:apply-templates select="$revdate[1]"/>
-        </fo:block>
-      </fo:table-cell>
-      <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
-        <fo:block>
-          <xsl:apply-templates select="$revremark[1]"/>
-        </fo:block>
-      </fo:table-cell>
-    </fo:table-row>
-  </xsl:template>
-
-
-  <!-- Dummy sect1 -->
-
-    <!-- sect1:
-           Self-made template to skip dummy sect1 pages generation. -->
-  <xsl:template match="sect1">
-    <xsl:choose>
-      <xsl:when test="@role = 'dummy'"/>
-      <xsl:otherwise>
-        <xsl:apply-imports/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- sect1 mode fop1.outline:
-           Self-made template to skip dummy sect1 bookmarks generation. -->
-  <xsl:template match="sect1" mode="fop1.outline">
-    <xsl:choose>
-      <xsl:when test="@role = 'dummy'"/>
-      <xsl:otherwise>
-        <xsl:apply-imports/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- toc.line:
-           For dummy sect1 output only the title. -->
-    <!-- The original template is in {docbook-xsl}/fo/autotoc.xsl -->
-  <xsl:template name="toc.line">
-    <xsl:param name="toc-context" select="NOTANODE"/>
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:variable>
-    <xsl:variable name="label">
-      <xsl:apply-templates select="." mode="label.markup"/>
-    </xsl:variable>
-    <xsl:choose>
-      <xsl:when test="@role = 'dummy'">
-        <fo:block text-align="left">
-          <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <fo:block xsl:use-attribute-sets="toc.line.properties">
-          <fo:inline keep-with-next.within-line="always">
-            <fo:basic-link internal-destination="{$id}">
-              <xsl:if test="$label != ''">
-                <xsl:copy-of select="$label"/>
-                <xsl:value-of select="$autotoc.label.separator"/>
-              </xsl:if>
-              <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-            </fo:basic-link>
-          </fo:inline>
-          <fo:inline keep-together.within-line="always">
-            <xsl:text> </xsl:text>
-            <fo:leader leader-pattern="dots"
-                       leader-pattern-width="3pt"
-                       leader-alignment="reference-area"
-                       keep-with-next.within-line="always"/>
-            <xsl:text> </xsl:text>
-            <fo:basic-link internal-destination="{$id}">
-              <fo:page-number-citation ref-id="{$id}"/>
-            </fo:basic-link>
-          </fo:inline>
-        </fo:block>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,249 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-  <!-- This stylesheet controls page margins, sections page break,
-       header content and titles size. -->
-
-    <!-- The inner page margin. -->
-  <xsl:param name="page.margin.inner" select="'0.32in'"/>
-
-    <!-- The outer page margin. -->
-  <xsl:param name="page.margin.outer" select="'0.32in'"/>
-
-    <!-- The bottom margin of the page. -->
-  <xsl:param name="page.margin.bottom" select="'0.35in'"/>
-
-    <!-- The top margin of the page. -->
-  <xsl:param name="page.margin.top" select="'0.35in'"/>
-
-    <!-- The bottom margin of the body text. -->
-  <xsl:param name="body.margin.bottom" select="'0.4in'"/>
-
-    <!-- The top margin of the body text. -->
-  <xsl:param name="body.margin.top" select="'0.4in'"/>
-
-    <!-- Specifies the height of the header. -->
-  <xsl:param name="region.before.extent" select="'0.25in'"/>
-
-    <!-- Specifies the height of the footer. -->
-  <xsl:param name="region.after.extent" select="'0.25in'"/>
-
-    <!-- The start-indent for the body text. -->
-  <xsl:param name="body.start.indent" select="'0pc'"/>
-
-    <!-- Adjust the left margin for titles. -->
-  <xsl:param name="title.margin.left">-0.8pc</xsl:param>
-
-    <!-- Default table width on tables that do not specify an alternate
-         width using the dbfo processing instruction.
-         This value is used also on bookinfo/revhistory table. -->
-  <xsl:param name="default.table.width" select="'70%'"/>
-
-    <!-- Properties for component titles -->
-  <xsl:attribute-set name="component.title.properties">
-    <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-    <xsl:attribute name="space-before.optimum">
-      <xsl:value-of select="concat($body.font.master, 'pt')"/>
-    </xsl:attribute>
-    <xsl:attribute name="space-before.minimum">
-      <xsl:value-of select="concat($body.font.master, 'pt * 0.8')"/>
-    </xsl:attribute>
-    <xsl:attribute name="space-before.maximum">
-      <xsl:value-of select="concat($body.font.master, 'pt * 1.2')"/>
-    </xsl:attribute>
-    <xsl:attribute name="hyphenate">false</xsl:attribute>
-    <xsl:attribute name="text-align">
-      <xsl:choose>
-        <xsl:when test="((parent::article | parent::articleinfo |
-                          parent::info/parent::article)
-                          and not(ancestor::book) and not(self::bibliography))
-                        or (parent::slides | parent::slidesinfo)
-                        or self::index">center</xsl:when>
-        <xsl:otherwise>left</xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-    <xsl:attribute name="start-indent">
-      <xsl:value-of select="$title.margin.left"/>
-    </xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- Rule under headers? 1 =yes, 0 = no -->
-  <xsl:param name="header.rule" select="0"/>
-
-    <!-- Rule over footers? 1 =yes, 0 = no -->
-  <xsl:param name="footer.rule" select="0"></xsl:param>
-
-    <!-- Control depth of sections shown in running headers or footers.
-         Be sure that no unneeded fo:marker are generated. -->
-  <xsl:param name="marker.section.level" select="-1"></xsl:param>
-
-     <!-- Force package's sect1 onto a new page -->
-  <xsl:attribute-set name="section.level1.properties">
-    <xsl:attribute name="break-before">
-      <xsl:choose>
-        <!--<xsl:when test="not(. = //*/sect1[1])">
-          <xsl:text>page</xsl:text>
-        </xsl:when>-->
-        <xsl:when test="preceding-sibling::sect1[position()=1]/sect2/@role='package'
-                        or self::sect1/sect2/@role='package'">page</xsl:when>
-        <xsl:otherwise>
-          <xsl:text>auto</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:attribute>
-  </xsl:attribute-set>
-
-    <!-- part/partintro:
-           Be sure that partintro is on a new page. -->
-    <!-- The original template is in {docbook-xsl}/fo/divisions.xsl -->
-  <xsl:template match="part/partintro">
-    <xsl:apply-templates select=".." mode="part.titlepage.mode">
-      <xsl:with-param name="additional.content">
-        <fo:block break-before="page"/>
-        <xsl:if test="title">
-          <xsl:call-template name="partintro.titlepage"/>
-        </xsl:if>
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:apply-templates>
-    <xsl:call-template name="generate.part.toc">
-      <xsl:with-param name="part" select=".."/>
-    </xsl:call-template>
-  </xsl:template>
-
-    <!-- book title:
-          Centered the title and removed unused code.
-          Removed book.titlepage.separator. -->
-    <!-- The original template is in {docbook-xsl}/fo/titlepage.templates.xsl -->
-  <xsl:template name="book.titlepage">
-    <fo:block margin-top="3in">
-      <fo:block>
-        <xsl:call-template name="book.titlepage.before.recto"/>
-        <xsl:call-template name="book.titlepage.recto"/>
-      </fo:block>
-      <fo:block>
-        <xsl:call-template name="book.titlepage.before.verso"/>
-        <xsl:call-template name="book.titlepage.verso"/>
-      </fo:block>
-    </fo:block>
-  </xsl:template>
-
-    <!-- book titlepage verso:
-           Added missing bibliosource and revhistory support.
-           Removed unused code. -->
-    <!-- The original template is in {docbook-xsl}/fo/titlepage.templates.xsl -->
-  <xsl:template name="book.titlepage.verso">
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/corpauthor"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/releaseinfo"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/bibliosource"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/revhistory"/>
-    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/>
-  </xsl:template>
-
-    <!-- bibliosource:
-           Self-made template to handle bibliosource when inside bookinfo. -->
-  <xsl:template match="bibliosource" mode="book.titlepage.verso.auto.mode">
-    <fo:block font-size="8pt">
-      <xsl:apply-templates/>
-    </fo:block>
-  </xsl:template>
-
-    <!-- part title:
-           Centered the title and removed unused code. -->
-    <!-- The original template is in {docbook-xsl}/fo/titlepage.templates.xsl -->
-  <xsl:template name="part.titlepage">
-    <fo:block>
-      <fo:block margin-top="3.5in">
-        <xsl:call-template name="part.titlepage.before.recto"/>
-        <xsl:call-template name="part.titlepage.recto"/>
-      </fo:block>
-      <fo:block>
-        <xsl:call-template name="part.titlepage.before.verso"/>
-        <xsl:call-template name="part.titlepage.verso"/>
-      </fo:block>
-      <xsl:call-template name="part.titlepage.separator"/>
-    </fo:block>
-  </xsl:template>
-
-    <!-- chapter title:
-           Small font size and left alignament. -->
-    <!-- The original template is in {docbook-xsl}/fo/titlepage.templates.xsl -->
-  <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
-    <fo:block xsl:use-attribute-sets="chapter.titlepage.recto.style"
-              font-size="21pt" font-weight="bold" text-align="left">
-      <xsl:call-template name="component.title">
-        <xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
-      </xsl:call-template>
-    </fo:block>
-  </xsl:template>
-
-    <!-- sect2 title:
-           Skip sect2.titlepage run when title is empty.
-           Removed unused code. -->
-    <!-- The original template is in {docbook-xsl}/fo/sections.xsl -->
-  <xsl:template match="sect2">
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:variable>
-    <fo:block xsl:use-attribute-sets="section.level2.properties">
-      <xsl:attribute name="id">
-        <xsl:value-of select="$id"/>
-      </xsl:attribute>
-      <xsl:if test="not(string-length(title)=0)">
-        <xsl:call-template name="sect2.titlepage"/>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </fo:block>
-  </xsl:template>
-
-   <!-- header.table:
-          Re-made template to not generate a fo:table in the header,
-          allowing a more simple header.content customization. -->
-    <!-- The original template is in {docbook-xsl}/fo/pagesetup.xsl -->
-  <xsl:template name="header.table">
-    <xsl:param name="sequence" select="''"/>
-    <xsl:param name="gentext-key" select="''"/>
-    <xsl:choose>
-      <xsl:when test="$gentext-key = 'book' or $sequence = 'blank'"/>
-      <xsl:otherwise>
-        <xsl:call-template name="header.content">
-          <xsl:with-param name="sequence" select="$sequence"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- header.content
-           Re-made template to show the book title and version on all pages. -->
-    <!-- The original template is in {docbook-xsl}/fo/pagesetup.xsl -->
-  <xsl:template name="header.content">
-    <xsl:param name="sequence" select="''"/>
-    <fo:block>
-      <xsl:attribute name="text-align">
-        <xsl:choose>
-          <xsl:when test="$sequence = 'first' or $sequence = 'odd'">right</xsl:when>
-          <xsl:otherwise>left</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-      <xsl:value-of select="/book/bookinfo/title"/>
-      <xsl:text> - </xsl:text>
-      <xsl:value-of select="/book/bookinfo/subtitle"/>
-    </fo:block>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/pdf/lfs-xref.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/pdf/lfs-xref.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,169 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:xlink="http://www.w3.org/1999/xlink"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                exclude-result-prefixes="xlink"
-                version="1.0">
-
-
-  <!-- This stylesheet fixes English punctuation in xref links
-       (as was requested by the publisher) via adding @role propagation
-       in xref tags.
-       This hack may not work with xref flavours not used in the book.
-       For other languages, just remove the xref @role attributes
-       in the book XML sources and/or comment-out the inclusion of
-       this file in lfs-pdf.xsl -->
-
-     <!--  xref:
-           Added role variable and use it when calling mode xref-to.-->
-    <!-- The original template is in {docbook-xsl}/fo/xref.xsl -->
-  <xsl:template match="xref" name="xref">
-    <xsl:param name="xhref" select="@xlink:href"/>
-    <!-- is the @xlink:href a local idref link? -->
-    <xsl:param name="xlink.idref">
-      <xsl:if test="starts-with($xhref,'#')
-                    and (not(contains($xhref,'&#40;'))
-                    or starts-with($xhref, '#xpointer&#40;id&#40;'))">
-        <xsl:call-template name="xpointer.idref">
-          <xsl:with-param name="xpointer" select="$xhref"/>
-        </xsl:call-template>
-    </xsl:if>
-    </xsl:param>
-    <xsl:param name="xlink.targets" select="key('id',$xlink.idref)"/>
-    <xsl:param name="linkend.targets" select="key('id',@linkend)"/>
-    <xsl:param name="target" select="($xlink.targets | $linkend.targets)[1]"/>
-    <xsl:param name="refelem" select="local-name($target)"/>
-      <!-- Added role variable -->
-    <xsl:variable name="role" select="@role"/>
-    <xsl:variable name="xrefstyle">
-      <xsl:choose>
-        <xsl:when test="@role and not(@xrefstyle)
-                        and $use.role.as.xrefstyle != 0">
-          <xsl:value-of select="@role"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="@xrefstyle"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:variable name="content">
-      <fo:inline xsl:use-attribute-sets="xref.properties">
-        <xsl:choose>
-          <xsl:when test="@endterm">
-            <xsl:variable name="etargets" select="key('id',@endterm)"/>
-            <xsl:variable name="etarget" select="$etargets[1]"/>
-            <xsl:choose>
-              <xsl:when test="count($etarget) = 0">
-                <xsl:message>
-                  <xsl:value-of select="count($etargets)"/>
-                  <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-                  <xsl:value-of select="@endterm"/>
-                </xsl:message>
-                <xsl:text>???</xsl:text>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:apply-templates select="$etarget" mode="endterm"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:when>
-          <xsl:when test="$target/@xreflabel">
-            <xsl:call-template name="xref.xreflabel">
-              <xsl:with-param name="target" select="$target"/>
-            </xsl:call-template>
-          </xsl:when>
-          <xsl:when test="$target">
-            <xsl:if test="not(parent::citation)">
-              <xsl:apply-templates select="$target" mode="xref-to-prefix"/>
-            </xsl:if>
-            <xsl:apply-templates select="$target" mode="xref-to">
-              <xsl:with-param name="referrer" select="."/>
-              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-              <!-- Propagate role -->
-              <xsl:with-param name="role" select="$role"/>
-            </xsl:apply-templates>
-            <xsl:if test="not(parent::citation)">
-              <xsl:apply-templates select="$target" mode="xref-to-suffix"/>
-            </xsl:if>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:message>
-              <xsl:text>ERROR: xref linking to </xsl:text>
-              <xsl:value-of select="@linkend|@xlink:href"/>
-              <xsl:text> has no generated link text.</xsl:text>
-            </xsl:message>
-            <xsl:text>???</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </fo:inline>
-    </xsl:variable>
-    <!-- Convert it into an active link -->
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content" select="$content"/>
-    </xsl:call-template>
-    <!-- Add standard page reference? -->
-    <xsl:choose>
-      <xsl:when test="not($target)">
-        <!-- page numbers only for local targets -->
-      </xsl:when>
-      <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:')
-                    and contains($xrefstyle, 'nopage')">
-        <!-- negative xrefstyle in instance turns it off -->
-      </xsl:when>
-      <!-- positive xrefstyle already handles it -->
-      <xsl:when test="not(starts-with(normalize-space($xrefstyle), 'select:')
-                    and (contains($xrefstyle, 'page')
-                        or contains($xrefstyle, 'Page')))
-                    and ( $insert.xref.page.number = 'yes'
-                      or $insert.xref.page.number = '1')
-                    or local-name($target) = 'para'">
-        <xsl:apply-templates select="$target" mode="page.citation">
-          <xsl:with-param name="id" select="$target/@id|$target/@xml:id"/>
-        </xsl:apply-templates>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- sect* mode xref-to:
-           Propagate role to mode object.xref.markup (see ../lfs-common.xsl) -->
-    <!-- The original template is in {docbook-xsl}/fo/xref.xsl -->
-  <xsl:template match="section|simplesect|sect1|sect2|sect3|sect4|sect5
-                      |refsect1|refsect2|refsect3|refsection" mode="xref-to">
-    <xsl:param name="referrer"/>
-    <xsl:param name="xrefstyle"/>
-    <xsl:param name="verbose" select="1"/>
-    <xsl:param name="role"/>
-    <xsl:apply-templates select="." mode="object.xref.markup">
-      <xsl:with-param name="purpose" select="'xref'"/>
-      <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-      <xsl:with-param name="referrer" select="$referrer"/>
-      <xsl:with-param name="verbose" select="$verbose"/>
-      <xsl:with-param name="role" select="$role"/>
-    </xsl:apply-templates>
-  </xsl:template>
-
-    <!-- insert.title.markup:
-           Apply the role value. -->
-    <!-- The original template is in {docbook-xsl}/fo/xref.xsl -->
-  <xsl:template match="*" mode="insert.title.markup">
-    <xsl:param name="purpose"/>
-    <xsl:param name="xrefstyle"/>
-    <xsl:param name="title"/>
-    <xsl:param name="role"/>
-    <xsl:choose>
-      <xsl:when test="$purpose = 'xref' and titleabbrev">
-        <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:copy-of select="$title"/>
-        <xsl:value-of select="$role"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/profile.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/profile.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,55 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-
-  <!-- Stylesheet to create profiled XML output.
-       Replaces {docbook-xsl}/profiling/profile.xsl -->
-
-  <!-- Include common profiling stylesheet -->
-  <xsl:import href="docbook-xsl-snapshot/profiling/profile-mode.xsl"/>
-
-    <!-- This file must be included, because profile-mode is using
-         templates from it -->
-  <xsl:import href="docbook-xsl-snapshot/common/stripns.xsl"/>
-
-    <!-- In the two pass processing there is no need for base URI fixup -->
-  <xsl:param name="profile.baseuri.fixup" select="false()"/>
-
-  <!-- Generate DocBook instance with correct DOCTYPE -->
-  <xsl:output method="xml"
-              doctype-public="-//OASIS//DTD DocBook XML V4.5//EN"
-              doctype-system="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"/>
-
-  <!-- Profiling parameters:
-         profile.separator changed from ";" to "," to let it work
-         at command line. -->
-  <xsl:param name="profile.arch" select="''"/>
-  <xsl:param name="profile.audience" select="''"/>
-  <xsl:param name="profile.condition" select="''"/>
-  <xsl:param name="profile.conformance" select="''"/>
-  <xsl:param name="profile.lang" select="''"/>
-  <xsl:param name="profile.os" select="''"/>
-  <xsl:param name="profile.revision" select="''"/>
-  <xsl:param name="profile.revisionflag" select="''"/>
-  <xsl:param name="profile.role" select="''"/>
-  <xsl:param name="profile.security" select="''"/>
-  <xsl:param name="profile.status" select="''"/>
-  <xsl:param name="profile.userlevel" select="''"/>
-  <xsl:param name="profile.vendor" select="''"/>
-  <xsl:param name="profile.wordsize" select="''"/>
-  <xsl:param name="profile.attribute" select="''"/>
-  <xsl:param name="profile.value" select="''"/>
-  <xsl:param name="profile.separator" select="','"/>
-
-  <!-- Call common profiling mode -->
-  <xsl:template match="/">
-    <xsl:apply-templates select="." mode="profile"/>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/xhtml/lfs-admon.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/xhtml/lfs-admon.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,59 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-  <!-- This stylesheet controls how admonitions are displayed -->
-
-    <!-- Use graphics in admonitions? 1 = yes, 0 = no -->
-  <xsl:param name="admon.graphics" select="1"/>
-
-    <!-- Relative path to images directory. We set here relative path
-    from sub-dirs HTML files. The path from top-level HTML files (index.html,
-    partX.html, etc) MUST be fixed via a sed in the Makefile. -->
-  <xsl:param name="admon.graphics.path">../images/</xsl:param>
-
-    <!-- The images files extension -->
-  <xsl:param name="admon.graphics.extension" select="'.png'"/>
-
-    <!-- Changing the output tagging:
-           Removed $admon.style support
-           Hardcoded $admon.textlabel feature
-           Changed the output format from table to nested divs -->
-    <!-- The original template is in {docbook-xsl}/xhtml/admon.xsl -->
-  <xsl:template name="graphical.admonition">
-    <xsl:variable name="admon.type">
-      <xsl:choose>
-        <xsl:when test="local-name(.)='note'">Note</xsl:when>
-        <xsl:when test="local-name(.)='warning'">Warning</xsl:when>
-        <xsl:when test="local-name(.)='caution'">Caution</xsl:when>
-        <xsl:when test="local-name(.)='tip'">Tip</xsl:when>
-        <xsl:when test="local-name(.)='important'">Important</xsl:when>
-        <xsl:otherwise>Note</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:variable name="alt">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="$admon.type"/>
-      </xsl:call-template>
-    </xsl:variable>
-    <div class="admon {name(.)}">
-      <img alt="[{$alt}]">
-        <xsl:attribute name="src">
-          <xsl:call-template name="admon.graphic"/>
-        </xsl:attribute>
-      </img>
-      <h3>
-        <xsl:apply-templates select="." mode="object.title.markup"/>
-      </h3>
-      <xsl:apply-templates/>
-    </div>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/xhtml/lfs-index.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/xhtml/lfs-index.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,268 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<!DOCTYPE xsl:stylesheet [
-<!ENTITY lowercase "'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;'">
-<!ENTITY uppercase "'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'">
-<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = ""]))'>
-<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas) or @sortas = ""]))'>
-<!ENTITY scope     "count(ancestor::node()|$scope) = count(ancestor::node())">
-<!ENTITY section   "(ancestor-or-self::set |ancestor-or-self::book |ancestor-or-self::part |ancestor-or-self::reference |ancestor-or-self::partintro |ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface |ancestor-or-self::article |ancestor-or-self::section |ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3 |ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::refentry |ancestor-or-self::refsect1 |ancestor-or-self::refsect2 |ancestor-or-self::refsect3 |ancestor-or-self::simplesect |ancestor-or-self::bibliography |ancestor-or-self::glossary |ancestor-or-self::index |ancestor-or-self::webpage)[last()]">
-<!ENTITY section.id "generate-id(&section;)">
-<!ENTITY sep '" "'>
-]>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-  <!-- This stylesheet controls how the Index is generated.
-       Due how they are created, the original XHTML stylesheets don't make
-       use of the entities from {docbook-xsl}/common/entities.ent.
-       We add the relevant ones in the DOCTYPE to have more readable templates.
-       Also, we remove support for @role and @type based Index due that it is
-       broken when used with @zone based cross-references. -->
-
-    <!-- The file name of the Index page.
-         There is no upstream template with match="index", only a global
-         match="*", thus the next template is enought to force the Index
-         filename. -->
-  <xsl:template match="index" mode="recursive-chunk-filename">
-    <xsl:text>longindex.html</xsl:text>
-  </xsl:template>
-
-    <!-- The Index title in the longindex.html page:
-           Removed a lot of code not useful for us.
-           Forced h1 title size. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="index.titlepage">
-    <h1 class="index">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key" select="$index-title"/>
-      </xsl:call-template>
-    </h1>
-  </xsl:template>
-
-    <!--Divisions:
-          Translate alphabetical divisons titles to by-type titles.
-          Added gentext support to divisions titles.
-          Using h2 for divisions titles.
-          Changed output from dl format to ul format. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/autoidx.xsl -->
-  <xsl:template match="indexterm" mode="index-div-basic">
-    <xsl:param name="scope" select="."/>
-    <xsl:variable name="key" select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
-    <xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
-      <!-- Make sure that we don't generate a div if there are no terms in scope -->
-    <xsl:if test="key('letter', $key)[&scope;] [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
-      <xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
-        <h2>
-          <xsl:choose>
-            <xsl:when test="$divtitle = 'A'">
-              <a id="package-index" name="package-index"/>
-              <xsl:call-template name="gentext">
-                <xsl:with-param name="key">Packages</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$divtitle = 'B'">
-              <a id="program-index" name="program-index"/>
-              <xsl:call-template name="gentext">
-                <xsl:with-param name="key">Programs</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$divtitle = 'C'">
-              <a id="library-index" name="library-index"/>
-              <xsl:call-template name="gentext">
-                <xsl:with-param name="key">Libraries</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$divtitle = 'D'">
-              <xsl:choose>
-                <xsl:when test="$book-type = 'blfs'">
-                  <a id="kernel-config-index" name="kernel-config-index"/>
-                  <xsl:call-template name="gentext">
-                    <xsl:with-param name="key">Kernel Configuration</xsl:with-param>
-                  </xsl:call-template>
-                </xsl:when>
-                <xsl:otherwise>
-                  <a id="scripts-index" name="scripts-index"/>
-                  <xsl:call-template name="gentext">
-                    <xsl:with-param name="key">Scripts</xsl:with-param>
-                  </xsl:call-template>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:when>
-            <xsl:when test="$divtitle = 'E'">
-              <xsl:choose>
-                <xsl:when test="$book-type = 'blfs'">
-                  <a id="config-file-index" name="config-file-index"/>
-                  <xsl:call-template name="gentext">
-                    <xsl:with-param name="key">Configuration Files</xsl:with-param>
-                  </xsl:call-template>
-                </xsl:when>
-                <xsl:otherwise>
-                  <a id="other-index" name="other-index"/>
-                  <xsl:call-template name="gentext">
-                    <xsl:with-param name="key">Others</xsl:with-param>
-                  </xsl:call-template>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:when>
-            <xsl:when test="$divtitle = 'F'">
-                <a id="bootscript-index" name="bootscript-index"/>
-                <xsl:call-template name="gentext">
-                  <xsl:with-param name="key">Bootscripts</xsl:with-param>
-                </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$divtitle = 'G'">
-              <a id="other-index" name="other-index"/>
-              <xsl:call-template name="gentext">
-                <xsl:with-param name="key">Others</xsl:with-param>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:value-of select="$divtitle"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </h2>
-      </xsl:if>
-      <ul>
-        <xsl:apply-templates select="key('letter', $key)[&scope;] [count(.|key('primary', &primary;)[&scope;][1])=1]"
-                              mode="index-primary">
-          <xsl:with-param name="scope" select="$scope"/>
-          <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
-        </xsl:apply-templates>
-      </ul>
-    </xsl:if>
-  </xsl:template>
-
-    <!-- Dropping $term.separator and $number.separator from here.
-         We add our customized ones in the output flow.
-         As all our indexterm have @zone attributes, removed a lot of
-         unused code. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/autoidx.xsl -->
-  <xsl:template match="indexterm" mode="reference">
-    <xsl:param name="scope" select="."/>
-    <xsl:call-template name="reference">
-      <xsl:with-param name="zones" select="normalize-space(@zone)"/>
-      <xsl:with-param name="scope" select="$scope"/>
-    </xsl:call-template>
-  </xsl:template>
-
-    <!-- Primary items:
-           Changed the output format from dl to ul.
-           Placed the term and separator into strong tags.
-           Placed the target links into a div.
-           Removed code for unused see and sealso childs. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/autoidx.xsl -->
-  <xsl:template match="indexterm" mode="index-primary">
-    <xsl:param name="scope" select="."/>
-    <xsl:variable name="key" select="&primary;"/>
-    <xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
-    <li>
-      <strong class="item">
-        <xsl:value-of select="primary"/>
-        <xsl:text>: </xsl:text>
-      </strong>
-      <span class='indexref'>
-        <xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section',concat($key, &sep;, &section.id;))[&scope;][1])]">
-          <xsl:apply-templates select="." mode="reference">
-            <xsl:with-param name="scope" select="$scope"/>
-          </xsl:apply-templates>
-        </xsl:for-each>
-      </span>
-      <xsl:if test="$refs/secondary">
-        <ul>
-          <xsl:apply-templates select="$refs[secondary and count(.|key('secondary', concat($key, &sep;, &secondary;))[&scope;][1]) = 1]"
-                               mode="index-secondary">
-            <xsl:with-param name="scope" select="$scope"/>
-            <xsl:sort select="translate(&secondary;, &lowercase;, &uppercase;)"/>
-          </xsl:apply-templates>
-         </ul>
-      </xsl:if>
-    </li>
-  </xsl:template>
-
-    <!-- Secondary items:
-           Changed the output format from dl to ul.
-           Placed the term and separator into strong tags.
-           Placed the target links into a div.
-           Removed code for unused tertiary, see, and sealso childs. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/autoidx.xsl -->
-  <xsl:template match="indexterm" mode="index-secondary">
-    <xsl:param name="scope" select="."/>
-    <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/>
-    <xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
-    <li>
-      <strong class="secitem">
-        <xsl:value-of select="secondary"/>
-        <xsl:text>: </xsl:text>
-      </strong>
-      <span class='indexref'>
-        <xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section', concat($key, &sep;, &section.id;))[&scope;][1])]">
-          <xsl:apply-templates select="." mode="reference">
-            <xsl:with-param name="scope" select="$scope"/>
-          </xsl:apply-templates>
-        </xsl:for-each>
-      </span>
-    </li>
-  </xsl:template>
-
-    <!-- The target links:
-           Changed links separator.
-           On the second @zone link, we use a fixed string for the text
-           with gentext support.
-           Assume that there is no more than 2 @zone in a indexterm.
-           Use href.target.uri named template to resolve the links. It is faster
-           than the default href.target named template. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/autoidx.xsl -->
-  <xsl:template name="reference">
-    <xsl:param name="scope" select="."/>
-    <xsl:param name="zones"/>
-    <xsl:choose>
-      <xsl:when test="contains($zones, ' ')">
-        <xsl:variable name="zone" select="substring-before($zones, ' ')"/>
-        <xsl:variable name="zone2" select="substring-after($zones, ' ')"/>
-        <xsl:variable name="target" select="key('sections', $zone)[&scope;]"/>
-        <xsl:variable name="target2" select="key('sections', $zone2)[&scope;]"/>
-        <a>
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target.uri">
-              <xsl:with-param name="object" select="$target[1]"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:apply-templates select="$target[1]" mode="index-title-content"/>
-        </a>
-        <xsl:text> -- </xsl:text>
-        <a>
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target.uri">
-              <xsl:with-param name="object" select="$target2[1]"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key">description</xsl:with-param>
-          </xsl:call-template>
-        </a>
-        <br/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:variable name="zone" select="$zones"/>
-        <xsl:variable name="target" select="key('sections', $zone)[&scope;]"/>
-        <a>
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target.uri">
-              <xsl:with-param name="object" select="$target[1]"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:apply-templates select="$target[1]" mode="index-title-content"/>
-        </a>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/xhtml/lfs-legalnotice.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/xhtml/lfs-legalnotice.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,82 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-  <!-- This stylesheet controls how legalnotice page is created -->
-
-    <!-- Generating the legalnotice page:
-           We are forcing separate legalnotice page generation.
-           Removed the default link to legalnotice page. We want it in Copyright.
-           Added footer navigational link to Home.  -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.xsl -->
-  <xsl:template match="legalnotice" mode="titlepage.mode">
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:variable>
-    <xsl:variable name="filename" select="concat($base.dir, 'legalnotice.html')"/>
-    <xsl:call-template name="write.chunk">
-      <xsl:with-param name="filename" select="$filename"/>
-      <xsl:with-param name="quiet" select="$chunk.quietly"/>
-      <xsl:with-param name="content">
-        <html>
-          <xsl:call-template name="html.head"/>
-          <body>
-            <xsl:call-template name="body.attributes"/>
-            <div class="{local-name(.)}">
-              <xsl:apply-templates mode="titlepage.mode"/>
-            </div>
-            <div class="navfooter">
-              <ul class="footerlinks">
-                <li class="home">
-                  <a accesskey="h" href="index.html">
-                    <xsl:attribute name="title">
-                      <xsl:value-of select="/book/bookinfo/title"/>
-                      <xsl:text> - </xsl:text>
-                      <xsl:value-of select="/book/bookinfo/subtitle"/>
-                    </xsl:attribute>
-                    <xsl:call-template name="navig.content">
-                      <xsl:with-param name="direction" select="'home'"/>
-                    </xsl:call-template>
-                  </a>
-                </li>
-              </ul>
-            </div>
-          </body>
-        </html>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:template>
-
-    <!-- Making the legalnotice link:
-         We make the "Copyright" word a link to legalnotice page. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.xsl -->
-  <xsl:template match="copyright" mode="titlepage.mode">
-    <p class="{name(.)}">
-      <a href="legalnotice.html">
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key" select="'Copyright'"/>
-        </xsl:call-template>
-      </a>
-      <xsl:call-template name="gentext.space"/>
-      <xsl:call-template name="dingbat">
-        <xsl:with-param name="dingbat">copyright</xsl:with-param>
-      </xsl:call-template>
-      <xsl:call-template name="gentext.space"/>
-      <xsl:call-template name="copyright.years">
-        <xsl:with-param name="years" select="year"/>
-        <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
-        <xsl:with-param name="single.year.ranges" select="$make.single.year.ranges"/>
-      </xsl:call-template>
-      <xsl:call-template name="gentext.space"/>
-      <xsl:apply-templates select="holder" mode="titlepage.mode"/>
-    </p>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/xhtml/lfs-mixed.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/xhtml/lfs-mixed.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,312 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-  <!-- This stylesheet contains misc templates for output formating.
-       This file is for that templates that don't fit in other files
-       and that not afect the chunk algorithm. -->
-
-  <!-- Individual elements templates -->
-
-    <!-- para:
-           Added a choose to skip empty "Home page" in packages.xml.
-           Added an if for HLFS features. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/block.xsl -->
-  <xsl:template match="para">
-    <xsl:choose>
-      <xsl:when test="child::ulink[@url=' ']"/>
-      <xsl:otherwise>
-        <xsl:call-template name="paragraph">
-          <xsl:with-param name="class">
-            <xsl:if test="@role">
-              <xsl:if test="$book-type = 'hlfs'">
-                <xsl:if test="contains($hlfs-features,concat(',',@role,','))">
-                  <xsl:text>feature-</xsl:text>
-                </xsl:if>
-              </xsl:if>
-              <xsl:value-of select="@role"/>
-            </xsl:if>
-          </xsl:with-param>
-          <xsl:with-param name="content">
-            <xsl:if test="position() = 1 and parent::listitem">
-              <xsl:call-template name="anchor">
-                <xsl:with-param name="node" select="parent::listitem"/>
-              </xsl:call-template>
-            </xsl:if>
-            <xsl:call-template name="anchor"/>
-            <xsl:apply-templates/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- screen:
-           Changed class attribute asignament to fit our look needs.
-           Removed unused line numbering support. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/verbatim.xsl
-         It match also programlisting and synopsis. The code for that tags
-         is unchanged. -->
-  <xsl:template match="screen">
-    <pre>
-      <xsl:attribute name="class">
-        <xsl:choose>
-          <xsl:when test="@role and not(@role = 'nodump')">
-            <xsl:if test="$book-type = 'hlfs'">
-              <xsl:if test="contains($hlfs-features,concat(',',@role,','))">
-                <xsl:text>feature-</xsl:text>
-              </xsl:if>
-            </xsl:if>
-            <xsl:value-of select="@role"/>
-          </xsl:when>
-          <xsl:when test="child::* = userinput">userinput</xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="name(.)"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-      <xsl:apply-templates/>
-    </pre>
-  </xsl:template>
-
-    <!-- userinput:
-           Using a customized output when inside screen.
-           In other cases, use the original template. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/inline.xsl -->
-  <xsl:template match="userinput">
-    <xsl:choose>
-      <xsl:when test="ancestor::screen">
-        <kbd class="command">
-          <xsl:apply-templates/>
-        </kbd>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-imports/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- itemizadlist:
-           @compact is not allowed in XHTML 1.0 Strict DTD. Changing it
-           to @class. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/lists.xsl -->
-  <xsl:template match="itemizedlist">
-    <div>
-      <xsl:apply-templates select="." mode="class.attribute"/>
-      <xsl:call-template name="anchor"/>
-      <xsl:if test="title">
-        <xsl:call-template name="formal.object.heading"/>
-      </xsl:if>
-      <xsl:apply-templates select="*[not(self::listitem or self::title
-                              or self::titleabbrev)]
-                              |comment()[not(preceding-sibling::listitem)]
-                              |processing-instruction()[not(preceding-sibling::listitem)]"/>
-      <ul>
-        <xsl:if test="@spacing='compact'">
-          <xsl:attribute name="class">
-            <xsl:value-of select="@spacing"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates select="listitem |comment()[preceding-sibling::listitem]
-                                |processing-instruction()[preceding-sibling::listitem]"/>
-      </ul>
-    </div>
-  </xsl:template>
-
-    <!-- orderedlist:
-           @start, @type, and @compact sre not allowed in XHTML 1.0 Strict DTD.
-           @start and @type can be replaced by CSS code.
-           Changing @compact to @class. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/lists.xsl -->
-  <xsl:template match="orderedlist">
-    <div>
-      <xsl:apply-templates select="." mode="class.attribute"/>
-      <xsl:call-template name="anchor"/>
-      <xsl:if test="title">
-        <xsl:call-template name="formal.object.heading"/>
-      </xsl:if>
-      <xsl:apply-templates select="*[not(self::listitem or self::title
-                              or self::titleabbrev)]
-                              |comment()[not(preceding-sibling::listitem)]
-                              |processing-instruction()[not(preceding-sibling::listitem)]"/>
-       <ol>
-        <xsl:if test="@spacing='compact'">
-          <xsl:attribute name="class">
-            <xsl:value-of select="@spacing"/>
-          </xsl:attribute>
-        </xsl:if>
-        <xsl:apply-templates select="listitem |comment()[preceding-sibling::listitem]
-                                |processing-instruction()[preceding-sibling::listitem]"/>
-      </ol>
-    </div>
-  </xsl:template>
-
-    <!-- seg in segementedlist:
-           Added a span around seg text to can match it with CSS code. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/lists.xsl -->
-  <xsl:template match="seg">
-    <xsl:variable name="segnum" select="count(preceding-sibling::seg)+1"/>
-    <xsl:variable name="seglist" select="ancestor::segmentedlist"/>
-    <xsl:variable name="segtitles" select="$seglist/segtitle"/>
-      <!-- Note: segtitle is only going to be the right thing in a well formed
-      SegmentedList.  If there are too many Segs or too few SegTitles,
-      you'll get something odd...maybe an error -->
-    <div class="seg">
-      <strong class="segtitle">
-        <xsl:apply-templates select="$segtitles[$segnum=position()]"
-                              mode="segtitle-in-seg"/>
-        <xsl:text>: </xsl:text>
-      </strong>
-      <span class="segbody">
-        <xsl:if test="@id">
-          <a id="{@id}" name="{@id}"/>
-        </xsl:if>
-        <xsl:apply-templates/>
-      </span>
-    </div>
-  </xsl:template>
-
-    <!-- variablelist:
-           If it have a role attribute, wrap the default output into a div with
-           a class attribute matching that role attribute.
-           Apply the original template in all cases. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/lists.xsl -->
-  <xsl:template match="variablelist">
-    <xsl:choose>
-      <xsl:when test="@role">
-        <div class="{@role}">
-          <xsl:apply-imports/>
-        </div>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-imports/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- para/simplelist:
-           Self-made template. Add a line break and process the childs.
-           If @type is specified, the original templates should be used,
-           but not tested. -->
-  <xsl:template match="para/simplelist">
-    <br/>
-    <xsl:apply-templates mode="condensed"/>
-  </xsl:template>
-
-    <!-- member:
-           Self-made template to process it and add a line break. -->
-  <xsl:template match="member" mode="condensed">
-    <xsl:call-template name="anchor"/>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content">
-        <xsl:apply-templates/>
-      </xsl:with-param>
-    </xsl:call-template>
-    <br/>
-  </xsl:template>
-
-
-  <!-- Named formating templates -->
-
-    <!-- Body attributes:
-           Add to the body XHTML output tag a class attribute with the book type
-           and a id atribute with the book type and version. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/docbook.xsl -->
-  <xsl:template name="body.attributes">
-    <xsl:attribute name="class">
-      <xsl:value-of select="$book-type"/>
-    </xsl:attribute>
-    <xsl:attribute name="id">
-      <xsl:value-of select="$book-type"/>
-      <xsl:text>-</xsl:text>
-      <xsl:value-of select="substring-after(/book/bookinfo/subtitle, ' ')"/>
-    </xsl:attribute>
-  </xsl:template>
-
-  <!-- Revision History -->
-
-    <!-- revhistory mode titlepage.mode:
-           Removed hardcoded style attributes.
-           Removed support for separate revhistory file. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.xsl -->
-  <xsl:template match="revhistory" mode="titlepage.mode">
-    <xsl:variable name="numcols">
-      <xsl:choose>
-        <xsl:when test="//authorinitials">4</xsl:when>
-        <xsl:otherwise>3</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:variable name="title">
-      <xsl:call-template name="gentext">
-        <xsl:with-param name="key">RevHistory</xsl:with-param>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:variable name="contents">
-      <table summary="{$title}" class="{name(.)}">
-        <tr>
-          <th colspan="{$numcols}">
-            <b>
-              <xsl:value-of select="$title"/>
-            </b>
-          </th>
-        </tr>
-        <xsl:apply-templates mode="titlepage.mode">
-          <xsl:with-param name="numcols" select="$numcols"/>
-        </xsl:apply-templates>
-      </table>
-    </xsl:variable>
-    <xsl:copy-of select="$contents"/>
-  </xsl:template>
-
-    <!-- revhistory/revision mode titlepage.mode:
-           Removed hardcoded style attributes. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.xsl -->
-  <xsl:template match="revhistory/revision" mode="titlepage.mode">
-    <xsl:param name="numcols" select="'3'"/>
-    <xsl:variable name="revnumber" select="revnumber"/>
-    <xsl:variable name="revdate" select="date"/>
-    <xsl:variable name="revauthor" select="authorinitials|author"/>
-    <xsl:variable name="revremark" select="revremark|revdescription"/>
-    <tr>
-      <td>
-        <xsl:if test="$revnumber">
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key" select="'Revision'"/>
-          </xsl:call-template>
-          <xsl:call-template name="gentext.space"/>
-          <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/>
-        </xsl:if>
-      </td>
-      <td>
-        <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/>
-      </td>
-      <xsl:choose>
-        <xsl:when test="$revauthor">
-          <td>
-            <xsl:for-each select="$revauthor">
-              <xsl:apply-templates select="." mode="titlepage.mode"/>
-              <xsl:if test="position() != last()">
-                <xsl:text>, </xsl:text>
-              </xsl:if>
-            </xsl:for-each>
-          </td>
-        </xsl:when>
-        <xsl:when test="$numcols &gt; 3">
-          <td>&#160;</td>
-        </xsl:when>
-        <xsl:otherwise/>
-      </xsl:choose>
-      <td>
-        <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/>
-      </td>
-    </tr>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/xhtml/lfs-navigational.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/xhtml/lfs-navigational.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,364 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-  <!-- This stylesheet controls how page header and navigational links
-       are generated. -->
-
-    <!-- html.head:
-           Drop all navigational links from inside head xhtml output. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/chunk-common.xsl -->
-  <xsl:template name="html.head">
-    <head>
-      <xsl:call-template name="system.head.content"/>
-      <xsl:call-template name="head.content"/>
-      <xsl:call-template name="user.head.content"/>
-    </head>
-  </xsl:template>
-
-    <!-- header.navigation:
-           Self-made template that full replaces the original one -->
-    <!-- The original template is in {docbook-xsl}/xhtml/chunk-common.xsl -->
-  <xsl:template name="header.navigation">
-    <xsl:param name="prev" select="/foo"/>
-    <xsl:param name="next" select="/foo"/>
-    <xsl:variable name="up" select="parent::*"/>
-    <xsl:variable name="home" select="/*[1]"/>
-      <!-- Don't generate the header in index.html -->
-    <xsl:if test="$home != .">
-      <div class="navheader">
-          <!-- Book title and version -->
-        <h4>
-          <xsl:apply-templates select="$home" mode="object.title.markup"/>
-          <xsl:text> - </xsl:text>
-          <xsl:apply-templates select="$home" mode="object.subtitle.markup"/>
-        </h4>
-          <!-- Except for preface, part, and index, add the title of the parent -->
-        <xsl:if test="$up != $home">
-          <h3>
-            <xsl:apply-templates select="$up" mode="object.title.markup"/>
-          </h3>
-        </xsl:if>
-          <!-- Create header navigational links -->
-        <xsl:call-template name="navigational.links">
-          <xsl:with-param name="prev" select="$prev"/>
-          <xsl:with-param name="next" select="$next"/>
-          <xsl:with-param name="up" select="$up"/>
-          <xsl:with-param name="home" select="$home"/>
-        </xsl:call-template>
-      </div>
-    </xsl:if>
-  </xsl:template>
-
-    <!-- footer.navigation:
-           Self-made template that full replaces the original one -->
-    <!-- The original template is in {docbook-xsl}/xhtml/chunk-common.xsl -->
-  <xsl:template name="footer.navigation">
-    <xsl:param name="prev" select="/foo"/>
-    <xsl:param name="next" select="/foo"/>
-    <xsl:variable name="up" select="parent::*"/>
-    <xsl:variable name="home" select="/*[1]"/>
-      <!-- Create footer navigational links -->
-    <div class="navfooter">
-      <xsl:call-template name="navigational.links">
-        <xsl:with-param name="prev" select="$prev"/>
-        <xsl:with-param name="next" select="$next"/>
-        <xsl:with-param name="up" select="$up"/>
-        <xsl:with-param name="home" select="$home"/>
-      </xsl:call-template>
-    </div>
-      <!-- In HLFS, add the features.js call -->
-    <xsl:if test="$book-type = 'hlfs'">
-      <script type="text/javascript">
-        <xsl:attribute name="src">
-          <xsl:choose>
-            <xsl:when test="local-name(.)='book' or local-name(.)='part' or
-                            local-name(.)='index'">../features.js</xsl:when>
-            <xsl:otherwise>../../features.js</xsl:otherwise>
-          </xsl:choose>
-        </xsl:attribute>
-      </script>
-    </xsl:if>
-  </xsl:template>
-
-    <!-- navigational.links:
-           Self-made template to generate navigational links.
-           Most of the code come from the original header.navigation and
-           footer.navigation templates, with this changes:
-             Changed the output format from table to ul.
-             Placed the same links on both header and footer.
-             Added a title attribute to the link containing the target title
-               (it content is displayed when placing the mouse over the link)
-             For "Prev" and "Next" links, added the target title under it.
-             When "Next" target is the Index, added gentext support for the
-               Index title.
-             Skip links to dummy sect1. -->
-  <xsl:template name="navigational.links">
-    <xsl:param name="prev"/>
-    <xsl:param name="next"/>
-    <xsl:param name="up"/>
-    <xsl:param name="home"/>
-    <ul>
-        <!-- No prev link when prev is home -->
-      <xsl:if test="count($prev)&gt;0 and $prev != $home">
-        <li class="prev">
-          <xsl:choose>
-
-              <!-- If prev is a dummy sect1 that is the first one in a chapter,
-                   links to the parent chapter.-->
-            <xsl:when test="$prev[@role='dummy'] and
-                            count(preceding-sibling::sect1)=1">
-              <a accesskey="p">
-                <xsl:attribute name="href">
-                  <xsl:call-template name="href.target">
-                    <xsl:with-param name="object" select=".."/>
-                  </xsl:call-template>
-                </xsl:attribute>
-                <xsl:attribute name="title">
-                  <xsl:value-of select="../title"/>
-                </xsl:attribute>
-                <xsl:call-template name="navig.content">
-                  <xsl:with-param name="direction" select="'prev'"/>
-                </xsl:call-template>
-              </a>
-              <p>
-                <xsl:value-of select="../title"/>
-              </p>
-            </xsl:when>
-
-              <!-- If prev is a dummy sect1 that is not the first one in a chapter,
-                   links to the previous sect1.-->
-            <xsl:when test="$prev[@role='dummy'] and
-                            count(preceding-sibling::sect1)&gt;1">
-              <a accesskey="p">
-                <xsl:attribute name="href">
-                  <xsl:call-template name="href.target">
-                    <xsl:with-param name="object" select="preceding-sibling::sect1[position()=2]"/>
-                  </xsl:call-template>
-                </xsl:attribute>
-                <xsl:attribute name="title">
-                  <xsl:value-of select="preceding-sibling::sect1[position()=2]/title"/>
-                </xsl:attribute>
-                <xsl:call-template name="navig.content">
-                  <xsl:with-param name="direction" select="'prev'"/>
-                </xsl:call-template>
-              </a>
-              <p>
-                <xsl:value-of select="preceding-sibling::sect1[position()=2]/title"/>
-              </p>
-            </xsl:when>
-
-              <!-- Code for the "To Boot or To Chroot" CLFS links jumps. -->
-            <xsl:when test="$prev[@id='ch-chroot-devices'] or $prev[@id='ch-boot-whatnext']">
-              <a accesskey="p">
-                <xsl:attribute name="href">
-                  <xsl:call-template name="href.target">
-                    <xsl:with-param name="object" select="//sect1[@id='ch-temp-system-choose']"/>
-                  </xsl:call-template>
-                </xsl:attribute>
-                <xsl:attribute name="title">
-                  <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
-                </xsl:attribute>
-                <xsl:call-template name="navig.content">
-                  <xsl:with-param name="direction" select="'prev'"/>
-                </xsl:call-template>
-              </a>
-              <p>
-                <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
-              </p>
-            </xsl:when>
-
-              <!-- Normal prev links -->
-            <xsl:otherwise>
-              <a accesskey="p">
-                <xsl:attribute name="href">
-                  <xsl:call-template name="href.target">
-                    <xsl:with-param name="object" select="$prev"/>
-                  </xsl:call-template>
-                </xsl:attribute>
-                <xsl:attribute name="title">
-                  <xsl:value-of select="$prev/title"/>
-                </xsl:attribute>
-                <xsl:call-template name="navig.content">
-                  <xsl:with-param name="direction" select="'prev'"/>
-                </xsl:call-template>
-              </a>
-              <p>
-                <xsl:value-of select="$prev/title"/>
-              </p>
-            </xsl:otherwise>
-          </xsl:choose>
-        </li>
-      </xsl:if>
-
-
-        <!-- Next link except in the last page and in the CLFS "choose" page -->
-      <xsl:if test="count($next)&gt;0 and (not(@id) or @id!='ch-temp-system-choose')">
-        <li class="next">
-          <xsl:choose>
-
-              <!-- Current page is sect1 a next is a dummy sect1, link to the next one -->
-            <xsl:when test="$next[@role='dummy'] and local-name(.) = 'sect1'">
-              <a accesskey="n">
-                <xsl:attribute name="href">
-                  <xsl:call-template name="href.target">
-                    <xsl:with-param name="object" select="following-sibling::sect1[position()=2]"/>
-                  </xsl:call-template>
-                </xsl:attribute>
-                <xsl:attribute name="title">
-                  <xsl:value-of select="following-sibling::sect1[position()=2]/title"/>
-                </xsl:attribute>
-                <xsl:call-template name="navig.content">
-                  <xsl:with-param name="direction" select="'next'"/>
-                </xsl:call-template>
-              </a>
-              <p>
-                <xsl:value-of select="following-sibling::sect1[position()=2]/title"/>
-              </p>
-            </xsl:when>
-
-              <!-- Current page is chapter and next is a dummy sect1, link to the next one -->
-            <xsl:when test="$next[@role='dummy'] and local-name(.) = 'chapter'">
-              <a accesskey="n">
-                <xsl:attribute name="href">
-                  <xsl:call-template name="href.target">
-                    <xsl:with-param name="object" select="descendant::sect1[position()=2]"/>
-                  </xsl:call-template>
-                </xsl:attribute>
-                <xsl:attribute name="title">
-                  <xsl:value-of select="descendant::sect1[position()=2]/title"/>
-                </xsl:attribute>
-                <xsl:call-template name="navig.content">
-                  <xsl:with-param name="direction" select="'next'"/>
-                </xsl:call-template>
-              </a>
-              <p>
-                <xsl:value-of select="descendant::sect1[position()=2]/title"/>
-              </p>
-            </xsl:when>
-
-              <!-- Code for the "To Boot or To Chroot" CLFS links jumps. -->
-            <xsl:when test="$next[@id='chapter-chroot'] or $next[@id='chapter-boot']">
-              <a accesskey="n">
-                <xsl:attribute name="href">
-                  <xsl:call-template name="href.target">
-                    <xsl:with-param name="object" select="//part[@id='part5']"/>
-                  </xsl:call-template>
-                </xsl:attribute>
-                <xsl:attribute name="title">
-                  <xsl:value-of select="//part[@id='part5']/title"/>
-                </xsl:attribute>
-                <xsl:call-template name="navig.content">
-                  <xsl:with-param name="direction" select="'next'"/>
-                </xsl:call-template>
-              </a>
-              <p>
-                <xsl:value-of select="//part[@id='part5']/title"/>
-              </p>
-            </xsl:when>
-
-              <!-- Normal next links. Take care of Index gentext support. -->
-            <xsl:otherwise>
-              <a accesskey="n">
-                <xsl:attribute name="href">
-                  <xsl:call-template name="href.target">
-                    <xsl:with-param name="object" select="$next"/>
-                  </xsl:call-template>
-                </xsl:attribute>
-                <xsl:attribute name="title">
-                  <xsl:choose>
-                    <xsl:when test="local-name($next)='index'">
-                      <xsl:call-template name="gentext">
-                        <xsl:with-param name="key">Index</xsl:with-param>
-                      </xsl:call-template>
-                    </xsl:when>
-                    <xsl:otherwise>
-                      <xsl:value-of select="$next/title"/>
-                    </xsl:otherwise>
-                  </xsl:choose>
-                </xsl:attribute>
-                <xsl:call-template name="navig.content">
-                  <xsl:with-param name="direction" select="'next'"/>
-                </xsl:call-template>
-              </a>
-              <p>
-                <xsl:choose>
-                  <xsl:when test="local-name($next)='index'">
-                    <xsl:call-template name="gentext">
-                      <xsl:with-param name="key">Index</xsl:with-param>
-                    </xsl:call-template>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:value-of select="$next/title"/>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </p>
-            </xsl:otherwise>
-          </xsl:choose>
-        </li>
-      </xsl:if>
-
-
-      <li class="up">
-        <xsl:choose>
-            <!-- Up link except if up is home -->
-          <xsl:when test="count($up)&gt;0 and $up != $home">
-            <a accesskey="u">
-              <xsl:attribute name="href">
-                <xsl:call-template name="href.target">
-                  <xsl:with-param name="object" select="$up"/>
-                </xsl:call-template>
-              </xsl:attribute>
-              <xsl:attribute name="title">
-                <xsl:apply-templates select="$up" mode="object.title.markup"/>
-              </xsl:attribute>
-              <xsl:call-template name="navig.content">
-                <xsl:with-param name="direction" select="'up'"/>
-              </xsl:call-template>
-            </a>
-          </xsl:when>
-            <!-- Hack to let the CSS code do its work when there is no up link -->
-          <xsl:otherwise>
-            <xsl:text>.</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </li>
-
-
-      <li class="home">
-        <xsl:choose>
-            <!-- No home link in home page -->
-          <xsl:when test="$home != .">
-            <a accesskey="h">
-              <xsl:attribute name="href">
-                <xsl:call-template name="href.target">
-                  <xsl:with-param name="object" select="$home"/>
-                </xsl:call-template>
-              </xsl:attribute>
-              <xsl:attribute name="title">
-                <xsl:value-of select="$home/bookinfo/title"/>
-                <xsl:text> - </xsl:text>
-                <xsl:value-of select="$home/bookinfo/subtitle"/>
-              </xsl:attribute>
-              <xsl:call-template name="navig.content">
-                <xsl:with-param name="direction" select="'home'"/>
-              </xsl:call-template>
-            </a>
-          </xsl:when>
-            <!-- Hack to let the CSS code do its work when there is no home link -->
-          <xsl:otherwise>
-            <xsl:text>.</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </li>
-    </ul>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/xhtml/lfs-sections.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/xhtml/lfs-sections.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,165 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-  <!-- This stylesheet controls how preface, chapter, and sections are handled -->
-
-    <!-- Chunk the first top-level section? 1 = yes, 0 = no
-         If preface and chapters TOC are generated, this must be 1. -->
-  <xsl:param name="chunk.first.sections" select="1"/>
-
-    <!-- preface:
-           Output non sect1 child elements before the TOC -->
-    <!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
-  <xsl:template match="preface">
-    <xsl:call-template name="id.warning"/>
-    <div>
-      <xsl:apply-templates select="." mode="class.attribute"/>
-      <xsl:call-template name="dir">
-        <xsl:with-param name="inherit" select="1"/>
-      </xsl:call-template>
-      <xsl:call-template name="language.attribute"/>
-      <xsl:if test="$generate.id.attributes != 0">
-        <xsl:attribute name="id">
-          <xsl:call-template name="object.id"/>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:call-template name="component.separator"/>
-      <xsl:call-template name="preface.titlepage"/>
-      <xsl:apply-templates/>
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:if test="contains($toc.params, 'toc')">
-        <xsl:call-template name="component.toc">
-          <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-        <xsl:call-template name="component.toc.separator"/>
-      </xsl:if>
-      <xsl:call-template name="process.footnotes"/>
-    </div>
-  </xsl:template>
-
-    <!-- chapter:
-           Output non sect1 child elements before the TOC -->
-    <!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
-  <xsl:template match="chapter">
-    <xsl:call-template name="id.warning"/>
-    <div>
-      <xsl:apply-templates select="." mode="class.attribute"/>
-      <xsl:call-template name="dir">
-        <xsl:with-param name="inherit" select="1"/>
-      </xsl:call-template>
-      <xsl:call-template name="language.attribute"/>
-      <xsl:if test="$generate.id.attributes != 0">
-        <xsl:attribute name="id">
-          <xsl:call-template name="object.id"/>
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:call-template name="component.separator"/>
-      <xsl:call-template name="chapter.titlepage"/>
-      <xsl:apply-templates/>
-      <xsl:variable name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:variable>
-      <xsl:if test="contains($toc.params, 'toc')">
-        <xsl:call-template name="component.toc">
-          <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
-        </xsl:call-template>
-        <xsl:call-template name="component.toc.separator"/>
-      </xsl:if>
-      <xsl:call-template name="process.footnotes"/>
-    </div>
-  </xsl:template>
-
-    <!-- sect1:
-           When there is a role attibute, use it as the class value.
-           Process the SVN keywords found in sect1info as a footnote.
-           Removed unused code. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/sections.xsl -->
-  <xsl:template match="sect1">
-    <div>
-      <xsl:choose>
-        <xsl:when test="@role">
-          <xsl:attribute name="class">
-            <xsl:value-of select="@role"/>
-          </xsl:attribute>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="." mode="class.attribute"/>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:call-template name="language.attribute"/>
-      <xsl:call-template name="sect1.titlepage"/>
-      <xsl:apply-templates/>
-      <xsl:apply-templates select="sect1info" mode="svn-keys"/>
-    </div>
-  </xsl:template>
-
-    <!-- sect2:
-           When there is a role attibute, use it as the class value.
-           Removed unused code. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/sections.xsl -->
-  <xsl:template match="sect2">
-    <div>
-      <xsl:choose>
-        <xsl:when test="@role">
-          <xsl:attribute name="class">
-            <xsl:value-of select="@role"/>
-          </xsl:attribute>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:attribute name="class">
-            <xsl:value-of select="name(.)"/>
-          </xsl:attribute>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:call-template name="language.attribute"/>
-      <xsl:call-template name="sect2.titlepage"/>
-      <xsl:apply-templates/>
-    </div>
-  </xsl:template>
-
-    <!-- sect1info mode svn-keys:
-           Self-made template to process SVN keywords found in sect1info. -->
-  <xsl:template match="sect1info" mode="svn-keys">
-    <p class="updated">Last updated <!-- by
-      <xsl:apply-templates select="othername" mode="svn-keys"/> -->
-      on
-      <xsl:apply-templates select="date" mode="svn-keys"/>
-    </p>
-  </xsl:template>
-
-    <!-- othername mode svn-keys:
-           Self-made template to process the $LastChangedBy SVN keyword. -->
-  <xsl:template match="othername" mode="svn-keys">
-    <xsl:variable name="author">
-      <xsl:value-of select="."/>
-    </xsl:variable>
-    <xsl:variable name="nameonly">
-      <xsl:value-of select="substring($author,16)"/>
-    </xsl:variable>
-    <xsl:value-of select="substring-before($nameonly,'$')"/>
-  </xsl:template>
-
-    <!-- date mode svn-keys:
-           Self-made template to process the $Date SVN keyword. -->
-  <xsl:template match="date" mode="svn-keys">
-    <xsl:variable name="date">
-      <xsl:value-of select="."/>
-    </xsl:variable>
-    <xsl:value-of select="substring($date,7,26)"/>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/xhtml/lfs-titles.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/xhtml/lfs-titles.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,197 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-  <!-- This stylesheet controls the h* xhtml tags used for several titles -->
-
-    <!-- preface.titlepage:
-           Uses h1 and removed a lot of unneeded code.
-           No label in preface. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="preface.titlepage">
-    <h1 class="{name(.)}">
-      <xsl:if test="@id">
-        <a id="{@id}" name="{@id}"/>
-      </xsl:if>
-      <xsl:value-of select="title"/>
-    </h1>
-  </xsl:template>
-
-    <!-- part.titlepage:
-           Uses h1 and removed a lot of unneeded code.
-           When sections are not labeled, we want the part label in TOC
-           but not in titlepage. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="part.titlepage">
-    <h1 class="{name(.)}">
-      <xsl:if test="@id">
-        <a id="{@id}" name="{@id}"/>
-      </xsl:if>
-      <xsl:if test="$section.autolabel != 0">
-        <xsl:apply-templates select="." mode="label.markup"/>
-        <xsl:text>. </xsl:text>
-      </xsl:if>
-      <xsl:value-of select="title"/>
-    </h1>
-  </xsl:template>
-
-    <!-- partintro.titlepage:
-           Uses h2 and removed a lot of unneeded code. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="partintro.titlepage">
-    <xsl:if test="title">
-      <h2 class="{name(.)}">
-        <xsl:if test="@id">
-          <a id="{@id}" name="{@id}"/>
-        </xsl:if>
-        <xsl:value-of select="title"/>
-      </h2>
-    </xsl:if>
-  </xsl:template>
-
-    <!-- appendix.titlepage:
-           Uses h1 and removed a lot of unneeded code.
-           When sections are not labeled, we want the appendix label in TOC
-           but not in titlepage. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="appendix.titlepage">
-    <h1 class="{name(.)}">
-      <xsl:if test="@id">
-        <a id="{@id}" name="{@id}"/>
-      </xsl:if>
-      <xsl:if test="$section.autolabel != 0">
-        <xsl:apply-templates select="." mode="label.markup"/>
-        <xsl:text>. </xsl:text>
-      </xsl:if>
-      <xsl:value-of select="title"/>
-    </h1>
-  </xsl:template>
-
-    <!-- chapter.titlepage:
-           Uses h1 and removed a lot of unneeded code.
-           When sections are not labeled, we want the chapter label in TOC
-           but not in titlepage. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="chapter.titlepage">
-    <h1 class="{name(.)}">
-      <xsl:if test="@id">
-        <a id="{@id}" name="{@id}"/>
-      </xsl:if>
-      <xsl:if test="$section.autolabel != 0">
-        <xsl:apply-templates select="." mode="label.markup"/>
-        <xsl:text>. </xsl:text>
-      </xsl:if>
-      <xsl:value-of select="title"/>
-    </h1>
-  </xsl:template>
-
-    <!-- sect1.titlepage:
-           Uses h1 and removed a lot of unneeded code. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="sect1.titlepage">
-    <h1 class="{name(.)}">
-      <xsl:if test="@id">
-        <a id="{@id}" name="{@id}"/>
-      </xsl:if>
-      <xsl:if test="$section.autolabel != 0">
-        <xsl:apply-templates select="." mode="label.markup"/>
-        <xsl:text>. </xsl:text>
-      </xsl:if>
-      <xsl:value-of select="title"/>
-    </h1>
-  </xsl:template>
-
-    <!-- sect2.titlepage:
-           Uses h2 and removed a lot of unneeded code.
-           Skip empty titles.
-           No label in preface. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="sect2.titlepage">
-    <xsl:choose>
-      <xsl:when test="string-length(title) = 0"/>
-      <xsl:otherwise>
-        <h2 class="{name(.)}">
-          <xsl:if test="@id">
-            <a id="{@id}" name="{@id}"/>
-          </xsl:if>
-          <xsl:if test="not(ancestor::preface) and $section.autolabel != 0">
-            <xsl:apply-templates select="." mode="label.markup"/>
-            <xsl:text>. </xsl:text>
-          </xsl:if>
-          <xsl:value-of select="title"/>
-        </h2>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- sect3.titlepage:
-           Uses h3 and removed a lot of unneeded code. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="sect3.titlepage">
-    <h3 class="{name(.)}">
-      <xsl:if test="@id">
-        <a id="{@id}" name="{@id}"/>
-      </xsl:if>
-      <xsl:if test="$section.autolabel != 0">
-        <xsl:apply-templates select="." mode="label.markup"/>
-        <xsl:text>. </xsl:text>
-      </xsl:if>
-      <xsl:value-of select="title"/>
-    </h3>
-  </xsl:template>
-
-    <!-- dedication.titlepage:
-           Uses h2 and removed a lot of unneeded code. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="dedication.titlepage">
-    <h2>
-      <xsl:value-of select="title"/>
-    </h2>
-  </xsl:template>
-
-    <!-- bridgehead:
-           We use always renderas attributes and want the output h* level
-           matching the defined sect* level.
-           Create the anchor only if there is an @id. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/sections.xsl -->
-  <xsl:template match="bridgehead">
-    <xsl:variable name="hlevel">
-      <xsl:choose>
-        <xsl:when test="@renderas = 'sect1'">1</xsl:when>
-        <xsl:when test="@renderas = 'sect2'">2</xsl:when>
-        <xsl:when test="@renderas = 'sect3'">3</xsl:when>
-        <xsl:when test="@renderas = 'sect4'">4</xsl:when>
-        <xsl:when test="@renderas = 'sect5'">5</xsl:when>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:element name="h{$hlevel}" namespace="http://www.w3.org/1999/xhtml">
-      <xsl:if test="@id">
-        <a id="{@id}" name="{@id}"/>
-      </xsl:if>
-      <xsl:apply-templates/>
-    </xsl:element>
-  </xsl:template>
-
-    <!-- book.titlepage.verso:
-           Process bookinfo/bibliosource from here. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/titlepage.templates.xsl -->
-  <xsl:template name="book.titlepage.verso">
-    <xsl:apply-templates select="bookinfo/bibliosource"/>
-  </xsl:template>
-
-    <!-- bookinfo/bibliosource:
-           Self-made template to handle bibliosource when inside bookinfo. -->
-  <xsl:template match="bookinfo/bibliosource">
-    <p class="copyright">
-      <xsl:apply-templates/>
-    </p>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/xhtml/lfs-toc.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/xhtml/lfs-toc.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,194 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns="http://www.w3.org/1999/xhtml"
-                version="1.0">
-
-  <!-- This stylesheet controls how the TOC are generated -->
-
-    <!-- make.toc:
-           Using h3 for TOC title.
-           Using ul for TOC list style.
-           Removed code for $manual.toc and $qanda.in.toc -->
-    <!-- The original template is in {docbook-xsl}/xhtml/autotoc.xsl -->
-  <xsl:template name="make.toc">
-    <xsl:param name="toc-context" select="."/>
-    <xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
-    <xsl:if test="$nodes">
-      <div class="toc">
-        <h3>
-          <xsl:call-template name="gentext">
-            <xsl:with-param name="key">TableofContents</xsl:with-param>
-          </xsl:call-template>
-        </h3>
-        <ul>
-          <xsl:apply-templates select="$nodes" mode="toc">
-            <xsl:with-param name="toc-context" select="$toc-context"/>
-          </xsl:apply-templates>
-        </ul>
-      </div>
-    </xsl:if>
-  </xsl:template>
-
-    <!-- subtoc:
-           Using ul for TOC list style.
-           Removed code for $qanda.in.toc
-           Removed code for sect* others than sect1 -->
-    <!-- The original template is in {docbook-xsl}/xhtml/autotoc.xsl -->
-  <xsl:template name="subtoc">
-    <xsl:param name="toc-context" select="."/>
-    <xsl:param name="nodes" select="NOT-AN-ELEMENT"/>
-    <xsl:variable name="subtoc">
-      <ul>
-        <xsl:apply-templates mode="toc" select="$nodes">
-          <xsl:with-param name="toc-context" select="$toc-context"/>
-        </xsl:apply-templates>
-      </ul>
-    </xsl:variable>
-    <xsl:variable name="depth">
-      <xsl:choose>
-        <xsl:when test="local-name(.) = 'sect1'">1</xsl:when>
-        <xsl:otherwise>0</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:variable name="depth.from.context"
-                  select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
-    <li class="{name(.)}">
-      <xsl:call-template name="toc.line">
-        <xsl:with-param name="toc-context" select="$toc-context"/>
-      </xsl:call-template>
-      <xsl:if test="$toc.section.depth &gt; $depth and count($nodes)&gt;0
-                    and $toc.max.depth &gt; $depth.from.context">
-        <xsl:copy-of select="$subtoc"/>
-      </xsl:if>
-    </li>
-  </xsl:template>
-
-    <!-- toc.line:
-           Adding the h* tags and dropping unneded links.
-           This template is a full re-made version of the original one. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/autotoc.xsl -->
-  <xsl:template name="toc.line">
-    <xsl:param name="toc-context" select="."/>
-    <xsl:choose>
-        <!-- For non dummy sect1 targets, create a link. -->
-      <xsl:when test="local-name(.) = 'sect1'">
-        <xsl:choose>
-          <xsl:when test="@role='dummy'">
-            <span class="dummy">
-              <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-            </span>
-          </xsl:when>
-          <xsl:otherwise>
-            <a>
-              <xsl:attribute name="href">
-                <xsl:call-template name="href.target">
-                  <xsl:with-param name="context" select="$toc-context"/>
-                </xsl:call-template>
-              </xsl:attribute>
-              <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-            </a>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-        <!-- For part, preface, and chapter, use hX and add the label.
-             For BLFS, make it a link. -->
-      <xsl:when test="local-name(.) = 'part' or local-name(.) = 'preface'
-                      or local-name(.) = 'chapter'">
-        <xsl:choose>
-          <xsl:when test="$book-type = 'blfs'">
-            <xsl:apply-templates select="." mode="add.hX">
-              <xsl:with-param name="toc-context" select="$toc-context"/>
-              <xsl:with-param name="with-link" select="1"/>
-            </xsl:apply-templates>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates select="." mode="add.hX">
-              <xsl:with-param name="toc-context" select="$toc-context"/>
-              <xsl:with-param name="with-link" select="0"/>
-            </xsl:apply-templates>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-        <!-- For appendix , create a link and add the label.
-             For BLFS, use hX. -->
-      <xsl:when test="local-name(.) = 'appendix'">
-        <xsl:choose>
-          <xsl:when test="$book-type = 'blfs'">
-            <xsl:apply-templates select="." mode="add.hX">
-              <xsl:with-param name="toc-context" select="$toc-context"/>
-              <xsl:with-param name="with-link" select="1"/>
-            </xsl:apply-templates>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates select="." mode="add.link">
-              <xsl:with-param name="toc-context" select="$toc-context"/>
-            </xsl:apply-templates>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-        <!-- For other targets like Index, use hX, create a link, and label it. -->
-      <xsl:otherwise>
-        <xsl:apply-templates select="." mode="add.hX">
-          <xsl:with-param name="toc-context" select="$toc-context"/>
-          <xsl:with-param name="with-link" select="1"/>
-        </xsl:apply-templates>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-    <!-- Self-made template to add hX tags to toc lines. -->
-  <xsl:template match="*" mode="add.hX">
-    <xsl:param name="toc-context" select="."/>
-    <xsl:param name="with-link" select="0"/>
-    <xsl:param name="hlevel">
-      <xsl:choose>
-        <xsl:when test="local-name(.)='chapter' or local-name(.)='preface'">4</xsl:when>
-        <xsl:otherwise>3</xsl:otherwise>
-      </xsl:choose>
-    </xsl:param>
-    <xsl:element name="h{$hlevel}" namespace="http://www.w3.org/1999/xhtml">
-      <xsl:choose>
-        <xsl:when test="$with-link != 0">
-          <xsl:apply-templates select="." mode="add.link">
-            <xsl:with-param name="toc-context" select="$toc-context"/>
-          </xsl:apply-templates>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="." mode="label.and.title"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:element>
-  </xsl:template>
-
-    <!-- Self-made template to made toc line a link. -->
-  <xsl:template match="*" mode="add.link">
-    <xsl:param name="toc-context" select="."/>
-    <a>
-      <xsl:attribute name="href">
-        <xsl:call-template name="href.target">
-          <xsl:with-param name="context" select="$toc-context"/>
-        </xsl:call-template>
-      </xsl:attribute>
-      <xsl:apply-templates select="." mode="label.and.title"/>
-    </a>
-  </xsl:template>
-
-    <!-- Self-made template to write the target title and label it. -->
-  <xsl:template match="*" mode="label.and.title">
-    <xsl:variable name="label">
-      <xsl:apply-templates select="." mode="label.markup"/>
-    </xsl:variable>
-    <xsl:copy-of select="$label"/>
-    <xsl:if test="$label != ''">
-      <xsl:value-of select="$autotoc.label.separator"/>
-    </xsl:if>
-    <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: OK/stylesheets/lfs-xsl/xhtml/lfs-xref.xsl
===================================================================
--- BOOK/stylesheets/lfs-xsl/xhtml/lfs-xref.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,142 +1,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!--
-$LastChangedBy$
-$Date$
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:xlink="http://www.w3.org/1999/xlink"
-                xmlns="http://www.w3.org/1999/xhtml"
-                exclude-result-prefixes="xlink"
-                version="1.0">
-
-  <!-- This stylesheet fixes English punctuation in xref links
-       (as was requested by the publisher) via adding @role propagation
-       in xref tags.
-       This hack may not work with xref flavours not used in the book.
-       For other languages, just remove the xref @role attributes
-       in the book XML sources and/or comment-out the inclusion of
-       this file in lfs-chunked2.xsl -->
-
-    <!-- xref:
-           Added role variable and use it when calling mode xref-to.-->
-    <!-- The original template is in {docbook-xsl}/xhtml/xref.xsl -->
-  <xsl:template match="xref" name="xref">
-    <xsl:param name="xhref" select="@xlink:href"/>
-    <!-- is the @xlink:href a local idref link? -->
-    <xsl:param name="xlink.idref">
-      <xsl:if test="starts-with($xhref,'#') and (not(contains($xhref,'('))
-                    or starts-with($xhref, '#xpointer(id('))">
-        <xsl:call-template name="xpointer.idref">
-          <xsl:with-param name="xpointer" select="$xhref"/>
-        </xsl:call-template>
-      </xsl:if>
-    </xsl:param>
-    <xsl:param name="xlink.targets" select="key('id',$xlink.idref)"/>
-    <xsl:param name="linkend.targets" select="key('id',@linkend)"/>
-    <xsl:param name="target" select="($xlink.targets | $linkend.targets)[1]"/>
-      <!-- Added role variable -->
-    <xsl:variable name="role" select="@role"/>
-    <xsl:variable name="xrefstyle">
-      <xsl:choose>
-        <xsl:when test="@role and not(@xrefstyle) and $use.role.as.xrefstyle != 0">
-          <xsl:value-of select="@role"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="@xrefstyle"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:call-template name="anchor"/>
-    <xsl:variable name="content">
-      <xsl:choose>
-        <xsl:when test="@endterm">
-          <xsl:variable name="etargets" select="key('id',@endterm)"/>
-          <xsl:variable name="etarget" select="$etargets[1]"/>
-          <xsl:choose>
-            <xsl:when test="count($etarget) = 0">
-              <xsl:message>
-                <xsl:value-of select="count($etargets)"/>
-                <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-                <xsl:value-of select="@endterm"/>
-              </xsl:message>
-              <xsl:text>???</xsl:text>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="$etarget" mode="endterm"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:when test="$target/@xreflabel">
-          <xsl:call-template name="xref.xreflabel">
-            <xsl:with-param name="target" select="$target"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="$target">
-          <xsl:if test="not(parent::citation)">
-            <xsl:apply-templates select="$target" mode="xref-to-prefix"/>
-          </xsl:if>
-          <xsl:apply-templates select="$target" mode="xref-to">
-            <xsl:with-param name="referrer" select="."/>
-            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-             <!-- Propagate role -->
-            <xsl:with-param name="role" select="$role"/>
-          </xsl:apply-templates>
-          <xsl:if test="not(parent::citation)">
-            <xsl:apply-templates select="$target" mode="xref-to-suffix"/>
-          </xsl:if>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>
-            <xsl:text>ERROR: xref linking to </xsl:text>
-            <xsl:value-of select="@linkend|@xlink:href"/>
-            <xsl:text> has no generated link text.</xsl:text>
-          </xsl:message>
-          <xsl:text>???</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:call-template name="simple.xlink">
-      <xsl:with-param name="content" select="$content"/>
-    </xsl:call-template>
-  </xsl:template>
-
-    <!-- sect* mode xref-to:
-           Propagate role to mode object.xref.markup (see ../lfs-common.xsl) -->
-    <!-- The original template is in {docbook-xsl}/xhtml/xref.xsl -->
-  <xsl:template match="section|simplesect|sect1|sect2|sect3|sect4|sect5|refsect1
-                       |refsect2|refsect3|refsection" mode="xref-to">
-    <xsl:param name="referrer"/>
-    <xsl:param name="xrefstyle"/>
-    <xsl:param name="verbose" select="1"/>
-    <xsl:param name="role"/>
-    <xsl:apply-templates select="." mode="object.xref.markup">
-      <xsl:with-param name="purpose" select="'xref'"/>
-      <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
-      <xsl:with-param name="referrer" select="$referrer"/>
-      <xsl:with-param name="verbose" select="$verbose"/>
-      <xsl:with-param name="role" select="$role"/>
-    </xsl:apply-templates>
-  </xsl:template>
-
-    <!-- insert.title.markup:
-           Apply the role value. -->
-    <!-- The original template is in {docbook-xsl}/xhtml/xref.xsl -->
-  <xsl:template match="*" mode="insert.title.markup">
-    <xsl:param name="purpose"/>
-    <xsl:param name="xrefstyle"/>
-    <xsl:param name="title"/>
-    <xsl:param name="role"/>
-    <xsl:choose>
-      <xsl:when test="$purpose = 'xref' and titleabbrev">
-        <xsl:apply-templates select="." mode="titleabbrev.markup"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:copy-of select="$title"/>
-        <xsl:value-of select="$role"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-</xsl:stylesheet>
Index: BOOK/stylesheets/lfs.css
===================================================================
--- BOOK/stylesheets/lfs.css	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/lfs.css	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,412 @@
+/* Global settings */
+body {
+  font-family: sans-serif;
+  text-align: left;
+  background: #fff;
+  color: #333;
+  margin: 1em;
+  padding: 0;
+  font-size: 1em;
+  line-height: 1.2em
+}
+
+a:link { color: #22b; }
+a:visited { color: #7e4988; }
+a:hover, a:focus { color: #d30e08; }
+a:active { color: #6b77b1;}
+
+/* Headers */
+h1, h2, b, strong {
+  color: #000;
+  font-weight: bold;
+}
+
+h3, h4, h5, h6 {
+  color: #222;
+}
+
+h1 { font-size: 173%; text-align: center; line-height: 1.2em; }
+h2 { font-size: 144%; padding-top: 0.2em; margin-top: 0.3em; line-height: 1.2em; }
+h2.subtitle { text-align: center; line-height: 1.2em; }
+h3 { font-size: 120%; line-height: 1.2em; }
+h4 { font-size: 110%; line-height: 1.2em; }
+h5, h6 { font-size: 110%; font-style: italic; line-height: 1.2em; }
+
+/* Navigation */
+div.headertitles h4 {
+  margin-bottom: 2px;
+  text-align: center;
+}
+
+div.headertitles h3 {
+  margin-top: 2px;
+  text-align: center;
+}
+
+div.navheader, div.navfooter {
+  background: #ecedef;
+  padding: 0.1em 1em;
+  border-bottom: 1px solid #dbddec;
+}
+
+div.navfooter {
+  border-bottom: 0;
+  border-top: 1px solid #dbddec;
+}
+
+div.navheader ul, div.navfooter ul {
+  padding: .2em .5em .5em 0;
+  margin-left: 0px;
+  margin-right: 2px;
+  position: relative;
+  background: #dbddec;
+}
+
+div.navheader ul li, div.navfooter ul li {
+  display: inline;
+  width: 40%;
+}
+
+div.navheader ul li.prev, div.navfooter ul li.prev {
+  position: absolute;
+  display: block;
+  left: 0;
+  text-align: left;
+  padding: 0.2em 1em;
+  margin-left: 6px;
+}
+
+div.navheader ul li.next, div.navfooter ul li.next {
+  position: absolute;
+  display: block;
+  text-align: right;
+  right: 5px;
+  padding: 0.2em 0.5em;
+  margin-right: 7px;
+}
+
+div.navheader ul li.prev p, div.navfooter ul li.prev p,
+div.navheader ul li.next p, div.navfooter ul li.next p {
+  padding: 0;
+  margin: 1px 0px;
+}
+
+div.navheader ul li.home, div.navheader ul li.up,
+div.navfooter ul li.home, div.navfooter ul li.up {
+  text-align: center;
+  padding: 0;
+  margin: 0px auto;
+  display: block;
+  color: #dbddec;
+}
+
+/* TOC & Index*/
+
+div.toc ul, div.index ul, div.navheader ul, div.navfooter ul {
+  list-style: none;
+}
+
+div.toc, div.dedication {
+  padding-left: 1em;
+}
+
+li.preface, li.appendix {
+  margin-left: 1em;
+}
+
+div.toc ul li h3, div.toc ul li h4 {
+  margin: .4em;
+}
+
+.item {
+    width: 17em;
+    float: left;
+}
+
+.secitem {
+    font-weight: normal;
+    width: 16em;
+    float: left;
+}
+
+/* Admonitions */
+div.note, div.tip {
+  background-color: #fffff6;
+  border: 2px solid #dbddec;
+  width: 90%;
+  margin: .5em auto;
+}
+
+div.important, div.warning, div.caution {
+  background-color: #fffff6;
+  border: medium solid #400;
+  width: 90%;
+  margin: 1.5em auto;
+  color: #600;
+  font-size: larger;
+}
+
+div.important h3, div.warning h3, div.caution h3 {
+  color: #900;
+}
+
+div.admonhead img {
+  padding: .3em;
+}
+
+div.admonhead h3 {
+  display: inline;
+  margin-left: 1.5em;
+}
+
+div.admonbody {
+  margin: .5em;
+}
+
+div.important em, div.warning em, div.caution em {
+  color: #000;
+  font-weight: bold;
+}
+
+div.important tt, div.warning tt, div.caution tt {
+  font-weight: bold;
+}
+
+div.important tt.literal, div.warning tt.literal, div.caution tt.literal {
+  font-weight: normal;
+}
+
+/* variablelist & segmentedlist */
+dl {
+  margin: 0;
+  padding: 0;
+}
+
+dt {
+  display: list-item;
+  font-weight: bold;
+  margin: .33em 0 0 1em;
+  padding: 0;
+}
+
+dd  {
+  margin: 0 0 1em 3em;
+  padding: 0;
+}
+
+table {
+  width: auto;
+  margin-left: 1em;
+}
+
+td {
+  vertical-align: top;
+}
+
+td span, td p {
+  margin: 0.3em;
+}
+
+span.term {
+  display: block;
+}
+
+div.variablelist dd {
+  margin-bottom: 1em;
+}
+
+div.variablelist dd p {
+  margin-top: 0px;
+  margin-bottom: 0px;
+  padding-top: 0px;
+  padding-bottom: 0px;
+}
+
+div.materials dd {
+  margin-left: 0px;
+}
+
+div.package div.seg {
+  margin-bottom: 0em;
+  margin-top: 0em;
+  clear: left;
+}
+
+div.package span.segtitle, div.appendix span.segtitle {
+  float: left;
+}
+
+div.package span.seg, div.appendix span.seg {
+  display: block;
+  padding-left: 14em;
+}
+
+div.appendix div.segmentedlist {
+  padding-left: 1em;
+}
+
+div.appendix h2 {
+  font-size: 133%;
+  margin-top: 1em;
+  margin-bottom: 0.2em;
+}
+
+div.content div.seg {
+  margin-bottom: 1em;
+  margin-top: 1em;
+  clear: left;
+}
+
+div.content span.segtitle {
+  float: left;
+}
+
+div.content span.seg {
+  display: block;
+  padding-left: 12em;
+}
+
+/* itemizedlist */
+
+div.itemizedlist {
+  margin-left: 1em;
+}
+
+ul[compact="compact"] {
+  list-style: none;
+}
+
+ul[compact="compact"] li {
+  margin: 0em;
+  padding: 0em;
+}
+
+ul[compact="compact"] li p {
+  padding: 0.3em;
+  margin: 0em;
+}
+
+/*table */
+
+div.table {
+  text-align: center;
+}
+
+div.table table {
+  margin-left: auto;
+  margin-right: auto;
+  text-align: center;
+}
+
+div.table table th, div.table table td {
+  padding: 0.2em 2em 0.2em 2em;
+}
+
+/* Indented blocks */
+p, ul, dl, code, blockquote {
+  padding-left: 1em;
+}
+
+/* Monospaced elements */
+tt, code, kbd, pre, .command {
+  font-family: monospace;
+}
+
+tt.systemitem {
+  font-style: italic;
+}
+
+pre.userinput {
+  color: #101310;
+  background-color: #e5e5e5;
+  border: 1px solid #050505;
+  padding: .5em 1em;
+  margin: 0 2em;
+  font-weight: bold;
+}
+
+.literal {
+  font-weight: normal;
+}
+
+pre.screen {
+  color: #000;
+  background-color: #e9e9e9;
+  border: 1px solid #050505;
+  padding: .5em 1em;
+  margin: 0 2em;
+}
+
+/* Sections */
+div.wrap h1 {
+  background: #f5f6f7;
+  padding: 1em 0 0.5em 0;
+  margin: 0px auto;
+}
+
+div.package {
+  background: #f5f6f7;
+  border-bottom: 0.2em solid #dbddec;
+  padding: 0.5em 0.5em 0.3em 0.5em;
+  margin: 0px auto;
+}
+
+div.installation {
+  padding: 0 0.5em 0.3em 0.5em;
+  margin: 0.5em 0 0.5em 0;
+}
+
+div.configuration {
+  background:   #fefefe;
+  border-top: 0.2em solid #dbddec;
+  padding: 0.5em;
+  margin: 0.5em 0 .5em 0;
+}
+
+div.content {
+  background: #f5f6f7;
+  border-top: 0.2em solid #dbddec;
+  padding: 0.5em 0.5em 1em 0.5em;
+  margin: 0.5em 0 .5em 0;
+}
+
+div.installation h2, div.content h2 {
+  padding-top: 0.3em;
+  margin: 0;
+}
+
+div.book, div.preface, div.part, div.chapter, div.sect1, div.appendix, div.index {
+  padding-bottom: 0.5em;
+}
+
+div.preface h1, div.part h1, div.chapter h1, div.sect1 h1, div.appendix h1, div.index h1 {
+  background: #f5f6f7;
+  border-bottom: .1em solid #dbddec;
+  margin: 0px auto;
+  padding: .5em;
+}
+
+div.book h1 {
+  background: #f5f6f7;
+  margin: 0px auto;
+  padding: 0.5em;
+}
+
+div.book h2.subtitle {
+  background: #dbddec;
+  margin: 0px auto;
+  padding: 0.2em;
+}
+div.authorgroup, div p.copyright, div.abstract {
+  background: #f5f6f7;
+  margin: 0px auto;
+  padding:  1em 0.5em;
+}
+
+hr {
+  background: #dbddec;
+  height: .3em;
+  border: 0px;
+  margin: 0px auto;
+  padding: 0;
+}
Index: BOOK/stylesheets/pdf/lfs-admon.xsl
===================================================================
--- BOOK/stylesheets/pdf/lfs-admon.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/pdf/lfs-admon.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,95 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                version="1.0">
+
+
+    <!-- Graphics in admonitions -->
+  <xsl:param name="admon.graphics" select="1"/>
+  <xsl:param name="admon.graphics.path"
+    select="'/usr/share/xml/docbook/xsl-stylesheets-1.69.1/images/'"/>
+
+    <!-- Admonition block properties -->
+  <xsl:template match="important|warning|caution">
+    <xsl:choose>
+      <xsl:when test="$admon.graphics != 0">
+        <fo:block space-before.minimum="0.4em" space-before.optimum="0.6em"
+              space-before.maximum="0.8em" border-style="solid" border-width="1pt"
+              border-color="#500" background-color="#FFFFE6">
+        <xsl:call-template name="graphical.admonition"/>
+        </fo:block>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="nongraphical.admonition"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="note|tip">
+    <xsl:choose>
+      <xsl:when test="$admon.graphics != 0">
+        <fo:block space-before.minimum="0.4em" space-before.optimum="0.6em"
+              space-before.maximum="0.8em" border-style="solid" border-width="1pt"
+              border-color="#E0E0E0" background-color="#FFFFE6">
+        <xsl:call-template name="graphical.admonition"/>
+        </fo:block>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="nongraphical.admonition"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+    <!-- Admonitions text properties -->
+  <xsl:attribute-set name="admonition.properties">
+    <xsl:attribute name="margin-right">6pt</xsl:attribute>
+  </xsl:attribute-set>
+
+    <!-- Adding left space to the graphics and color to the titles -->
+  <xsl:template name="graphical.admonition">
+    <xsl:variable name="id">
+      <xsl:call-template name="object.id"/>
+    </xsl:variable>
+    <xsl:variable name="graphic.width">
+     <xsl:apply-templates select="." mode="admon.graphic.width"/>
+    </xsl:variable>
+    <fo:block id="{$id}">
+      <fo:list-block provisional-distance-between-starts="{$graphic.width} + 18pt"
+              provisional-label-separation="18pt" xsl:use-attribute-sets="list.block.spacing">
+        <fo:list-item>
+            <fo:list-item-label end-indent="label-end()">
+              <fo:block margin-left="18pt">
+                <fo:external-graphic width="auto" height="auto"
+                        content-width="{$graphic.width}" >
+                  <xsl:attribute name="src">
+                    <xsl:call-template name="admon.graphic"/>
+                  </xsl:attribute>
+                </fo:external-graphic>
+              </fo:block>
+            </fo:list-item-label>
+            <fo:list-item-body start-indent="body-start()">
+              <xsl:if test="$admon.textlabel != 0 or title">
+                <fo:block xsl:use-attribute-sets="admonition.title.properties">
+                  <xsl:if test="ancestor-or-self::important">
+                    <xsl:attribute name="color">#500</xsl:attribute>
+                  </xsl:if>
+                  <xsl:if test="ancestor-or-self::warning">
+                    <xsl:attribute name="color">#500</xsl:attribute>
+                  </xsl:if>
+                  <xsl:if test="ancestor-or-self::caution">
+                    <xsl:attribute name="color">#500</xsl:attribute>
+                  </xsl:if>
+                  <xsl:apply-templates select="." mode="object.title.markup"/>
+                </fo:block>
+              </xsl:if>
+              <fo:block xsl:use-attribute-sets="admonition.properties">
+                <xsl:apply-templates/>
+              </fo:block>
+            </fo:list-item-body>
+        </fo:list-item>
+      </fo:list-block>
+    </fo:block>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/pdf/lfs-index.xsl
===================================================================
--- BOOK/stylesheets/pdf/lfs-index.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/pdf/lfs-index.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,147 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
+<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
+<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
+<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
+]>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                version="1.0">
+
+    <!--Title-->
+  <xsl:template match="index" mode="title.markup">
+    <xsl:param name="allow-anchors" select="0"/>
+    <xsl:call-template name="gentext">
+      <xsl:with-param name="key">Index</xsl:with-param>
+    </xsl:call-template>
+  </xsl:template>
+
+    <!-- Divisions-->
+  <xsl:template match="indexterm" mode="index-div">
+    <xsl:param name="scope" select="."/>
+    <xsl:variable name="key"
+                  select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
+    <xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
+    <xsl:if test="key('letter', $key)[&scope;]
+                  [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
+      <fo:block>
+        <xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
+          <xsl:call-template name="indexdiv.title">
+            <xsl:with-param name="titlecontent">
+              <xsl:choose>
+                <xsl:when test="$divtitle = 'A'">
+                  <xsl:call-template name="gentext">
+                    <xsl:with-param name="key">Packages</xsl:with-param>
+                  </xsl:call-template>
+                </xsl:when>
+                <xsl:when test="$divtitle = 'B'">
+                  <xsl:call-template name="gentext">
+                    <xsl:with-param name="key">Programs</xsl:with-param>
+                  </xsl:call-template>
+                </xsl:when>
+                <xsl:when test="$divtitle = 'C'">
+                  <xsl:call-template name="gentext">
+                    <xsl:with-param name="key">Libraries</xsl:with-param>
+                  </xsl:call-template>
+                </xsl:when>
+                <xsl:when test="$divtitle = 'D'">
+                  <xsl:call-template name="gentext">
+                    <xsl:with-param name="key">Scripts</xsl:with-param>
+                  </xsl:call-template>
+                </xsl:when>
+                <xsl:when test="$divtitle = 'E'">
+                  <xsl:call-template name="gentext">
+                    <xsl:with-param name="key">Others</xsl:with-param>
+                  </xsl:call-template>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:value-of select="$divtitle"/>
+                </xsl:otherwise>
+              </xsl:choose>
+            </xsl:with-param>
+          </xsl:call-template>
+        </xsl:if>
+        <fo:block>
+          <xsl:apply-templates select="key('letter', $key)[&scope;]
+                                      [count(.|key('primary', &primary;)[&scope;][1])=1]"
+                              mode="index-primary">
+            <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
+            <xsl:with-param name="scope" select="$scope"/>
+          </xsl:apply-templates>
+        </fo:block>
+      </fo:block>
+    </xsl:if>
+  </xsl:template>
+
+    <!-- The separator -->
+  <xsl:template match="indexterm" mode="reference">
+    <xsl:param name="scope" select="."/>
+    <xsl:text>:   </xsl:text>
+      <xsl:call-template name="reference">
+        <xsl:with-param name="zones" select="normalize-space(@zone)"/>
+        <xsl:with-param name="scope" select="$scope"/>
+      </xsl:call-template>
+  </xsl:template>
+
+    <!--Bookmarks-->
+  <xsl:template name="reference">
+    <xsl:param name="scope" select="."/>
+    <xsl:param name="zones"/>
+    <xsl:choose>
+      <xsl:when test="contains($zones, ' ')">
+        <xsl:variable name="zone" select="substring-before($zones, ' ')"/>
+        <xsl:variable name="zone2" select="substring-after($zones, ' ')"/>
+        <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
+        <xsl:variable name="target2" select="key('id', $zone2)[&scope;]"/>
+        <xsl:variable name="id">
+          <xsl:call-template name="object.id">
+            <xsl:with-param name="object" select="$target[1]"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:variable name="id2">
+          <xsl:call-template name="object.id">
+            <xsl:with-param name="object" select="$target2[1]"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <fo:basic-link internal-destination="{$id}">
+          <xsl:apply-templates select="$target" mode="page.citation">
+            <xsl:with-param name="id" select="$id"/>
+          </xsl:apply-templates>
+        </fo:basic-link>
+          <xsl:text> ,  </xsl:text>
+        <fo:basic-link internal-destination="{$id2}">
+          <xsl:apply-templates select="$target2" mode="page.citation">
+            <xsl:with-param name="id" select="$id2"/>
+          </xsl:apply-templates>
+        </fo:basic-link>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="zone" select="$zones"/>
+        <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
+        <xsl:variable name="id">
+          <xsl:call-template name="object.id">
+            <xsl:with-param name="object" select="$target[1]"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <fo:basic-link internal-destination="{$id}">
+          <xsl:apply-templates select="$target" mode="page.citation">
+            <xsl:with-param name="id" select="$id"/>
+          </xsl:apply-templates>
+        </fo:basic-link>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+    <!-- Page number in Index-->
+  <xsl:template match="*" mode="page.citation">
+    <xsl:param name="id" select="'???'"/>
+    <fo:inline keep-together.within-line="always">
+      <!--<xsl:text>[p</xsl:text>-->
+      <fo:page-number-citation ref-id="{$id}"/>
+      <!--<xsl:text>]</xsl:text>-->
+    </fo:inline>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/pdf/lfs-mixed.xsl
===================================================================
--- BOOK/stylesheets/pdf/lfs-mixed.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/pdf/lfs-mixed.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,257 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                version="1.0">
+
+
+    <!-- This is a hack and isn't correct semantically. Theoretically, the beginpage
+      tags should be placed in the XML source only to render the PDF output and
+      should be removed after it. But there is no a better way and we need this.-->
+  <xsl:template match="beginpage">
+    <fo:block break-after="page"/>
+  </xsl:template>
+
+    <!-- Allow forced line breaks inside paragraphs emulating literallayout
+    and to remove vertical space in pachages and patches pages. -->
+ <xsl:template match="para">
+    <xsl:choose>
+      <xsl:when test="./@remap='verbatim'">
+        <fo:block wrap-option="no-wrap"
+                    white-space-collapse="false"
+                    white-space-treatment="preserve"
+                    text-align="start"
+                    linefeed-treatment="preserve">
+          <xsl:call-template name="anchor"/>
+          <xsl:apply-templates/>
+        </fo:block>
+      </xsl:when>
+      <xsl:when test="ancestor::variablelist/@role = 'materials'">
+        <fo:block>
+          <xsl:attribute name="space-before.optimum">0.1em</xsl:attribute>
+          <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
+          <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute>
+          <xsl:call-template name="anchor"/>
+          <xsl:apply-templates/>
+        </fo:block>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-imports/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+    <!-- Show URLs in italic font -->
+  <xsl:template match="ulink" name="ulink">
+    <fo:inline font-style="italic">
+      <fo:basic-link xsl:use-attribute-sets="xref.properties">
+        <xsl:attribute name="external-destination">
+          <xsl:call-template name="fo-external-image">
+            <xsl:with-param name="filename" select="@url"/>
+          </xsl:call-template>
+        </xsl:attribute>
+        <xsl:choose>
+          <xsl:when test="count(child::node())=0">
+            <xsl:call-template name="hyphenate-url">
+              <xsl:with-param name="url" select="@url"/>
+            </xsl:call-template>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:apply-templates/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </fo:basic-link>
+    </fo:inline>
+    <xsl:if test="count(child::node()) != 0
+                  and string(.) != @url
+                  and $ulink.show != 0">
+      <!-- yes, show the URI -->
+      <xsl:choose>
+        <xsl:when test="$ulink.footnotes != 0 and not(ancestor::footnote)">
+          <xsl:text>&#xA0;</xsl:text>
+          <fo:footnote>
+            <xsl:call-template name="ulink.footnote.number"/>
+            <fo:footnote-body font-family="{$body.fontset}"
+                              font-size="{$footnote.font.size}">
+              <fo:block>
+                <xsl:call-template name="ulink.footnote.number"/>
+                <xsl:text> </xsl:text>
+                <fo:inline>
+                  <xsl:value-of select="@url"/>
+                </fo:inline>
+              </fo:block>
+            </fo:footnote-body>
+          </fo:footnote>
+        </xsl:when>
+        <xsl:otherwise>
+          <fo:inline hyphenate="false">
+            <xsl:text> [</xsl:text>
+            <xsl:call-template name="hyphenate-url">
+              <xsl:with-param name="url" select="@url"/>
+            </xsl:call-template>
+            <xsl:text>]</xsl:text>
+          </fo:inline>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:if>
+  </xsl:template>
+
+    <!-- Split URLs (obsolete, keeped as reference) -->
+  <!--<xsl:template name="hyphenate-url">
+    <xsl:param name="url" select="''"/>
+    <xsl:choose>
+      <xsl:when test="ancestor::varlistentry">
+        <xsl:choose>
+          <xsl:when test="string-length($url) > 90">
+            <xsl:value-of select="substring($url, 1, 50)"/>
+            <xsl:param name="rest" select="substring($url, 51)"/>
+            <xsl:value-of select="substring-before($rest, '/')"/>
+            <xsl:text> /</xsl:text>
+            <xsl:value-of select="substring-after($rest, '/')"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="$url"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$url"/>-->
+      <!--  <xsl:value-of select="substring-before($url, '//')"/>
+        <xsl:text>// </xsl:text>
+        <xsl:call-template name="split-url">
+          <xsl:with-param name="url2" select="substring-after($url, '//')"/>
+        </xsl:call-template>-->
+     <!-- </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>-->
+
+  <!--<xsl:template name="split-url">
+    <xsl:choose>
+      <xsl:when test="contains($url2, '/')">
+      <xsl:param name="url2" select="''"/>
+      <xsl:value-of select="substring-before($url2, '/')"/>
+      <xsl:text> /</xsl:text>
+      <xsl:call-template name="split-url">
+        <xsl:with-param name="url2" select="substring-after($url2, '/')"/>
+      </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$url2"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>-->
+
+    <!-- Shade screen -->
+  <xsl:param name="shade.verbatim" select="1"/>
+
+    <!-- How is rendered by default a variablelist -->
+  <xsl:param name="variablelist.as.blocks" select="1"/>
+  <xsl:param name="variablelist.max.termlength">32</xsl:param>
+
+    <!-- Adding space before segmentedlist -->
+  <xsl:template match="segmentedlist">
+    <!--<xsl:variable name="presentation">
+      <xsl:call-template name="pi-attribute">
+        <xsl:with-param name="pis"
+                        select="processing-instruction('dbfo')"/>
+        <xsl:with-param name="attribute" select="'list-presentation'"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:choose>
+      <xsl:when test="$presentation = 'table'">
+        <xsl:apply-templates select="." mode="seglist-table"/>
+      </xsl:when>
+      <xsl:when test="$presentation = 'list'">
+        <fo:block space-before.minimum="0.4em" space-before.optimum="0.6em"
+                space-before.maximum="0.8em">
+          <xsl:apply-templates/>
+        </fo:block>
+      </xsl:when>
+      <xsl:when test="$segmentedlist.as.table != 0">
+        <xsl:apply-templates select="." mode="seglist-table"/>
+      </xsl:when>
+      <xsl:otherwise>-->
+        <fo:block space-before.minimum="0.4em" space-before.optimum="0.6em"
+                space-before.maximum="0.8em">
+          <xsl:apply-templates/>
+        </fo:block>
+      <!--</xsl:otherwise>
+    </xsl:choose>-->
+  </xsl:template>
+
+    <!-- Presentation of literal tag -->
+  <xsl:template match="literal">
+    <fo:inline  font-weight="normal">
+      <xsl:call-template name="inline.monoseq"/>
+    </fo:inline>
+  </xsl:template>
+
+    <!-- Left alingnament for itemizedlist -->
+  <xsl:template match="itemizedlist">
+    <xsl:variable name="id">
+      <xsl:call-template name="object.id"/>
+    </xsl:variable>
+    <xsl:variable name="label-width">
+      <xsl:call-template name="dbfo-attribute">
+        <xsl:with-param name="pis"
+                        select="processing-instruction('dbfo')"/>
+        <xsl:with-param name="attribute" select="'label-width'"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:if test="title">
+      <xsl:apply-templates select="title" mode="list.title.mode"/>
+    </xsl:if>
+    <!-- Preserve order of PIs and comments -->
+    <xsl:apply-templates
+        select="*[not(self::listitem
+                  or self::title
+                  or self::titleabbrev)]
+                |comment()[not(preceding-sibling::listitem)]
+                |processing-instruction()[not(preceding-sibling::listitem)]"/>
+    <fo:list-block id="{$id}" xsl:use-attribute-sets="list.block.spacing"
+                  provisional-label-separation="0.2em" text-align="left">
+      <xsl:attribute name="provisional-distance-between-starts">
+        <xsl:choose>
+          <xsl:when test="$label-width != ''">
+            <xsl:value-of select="$label-width"/>
+          </xsl:when>
+          <xsl:otherwise>1.5em</xsl:otherwise>
+        </xsl:choose>
+      </xsl:attribute>
+      <xsl:apply-templates
+            select="listitem
+                    |comment()[preceding-sibling::listitem]
+                    |processing-instruction()[preceding-sibling::listitem]"/>
+    </fo:list-block>
+  </xsl:template>
+
+    <!-- Addibg a bullet, and left alignament, for packages and paches list. -->
+
+  <xsl:template match="varlistentry" mode="vl.as.blocks">
+    <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+    <xsl:choose>
+      <xsl:when test="ancestor::variablelist/@role = 'materials'">
+        <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing"
+            keep-together.within-column="always"
+            keep-with-next.within-column="always" text-align="left">
+          <xsl:text>&#x2022;   </xsl:text>
+          <xsl:apply-templates select="term"/>
+        </fo:block>
+        <fo:block margin-left="1.4pc" text-align="left">
+          <xsl:apply-templates select="listitem"/>
+        </fo:block>
+      </xsl:when>
+      <xsl:otherwise>
+        <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing"
+            keep-together.within-column="always"
+            keep-with-next.within-column="always">
+          <xsl:apply-templates select="term"/>
+        </fo:block>
+        <fo:block margin-left="0.25in">
+          <xsl:apply-templates select="listitem"/>
+        </fo:block>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/pdf/lfs-pagesetup.xsl
===================================================================
--- BOOK/stylesheets/pdf/lfs-pagesetup.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/pdf/lfs-pagesetup.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,116 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                version="1.0">
+
+    <!-- Header -->
+  <xsl:template name="header.content">
+    <xsl:param name="sequence" select="''"/>
+    <fo:block>
+      <xsl:attribute name="text-align">
+        <xsl:choose>
+          <xsl:when test="$sequence = 'first' or $sequence = 'odd'">right</xsl:when>
+          <xsl:otherwise>left</xsl:otherwise>
+        </xsl:choose>
+      </xsl:attribute>
+      <xsl:value-of select="/book/bookinfo/title"/>
+      <xsl:text> - </xsl:text>
+      <xsl:value-of select="/book/bookinfo/subtitle"/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template name="header.table">
+    <xsl:param name="sequence" select="''"/>
+    <xsl:param name="gentext-key" select="''"/>
+    <xsl:choose>
+      <xsl:when test="$gentext-key = 'book' or $sequence = 'blank'"/>
+      <xsl:otherwise>
+        <xsl:call-template name="header.content">
+          <xsl:with-param name="sequence" select="$sequence"/>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+    <!-- Centered titles for book and part -->
+  <xsl:template name="book.titlepage">
+    <fo:block space-before="2in">
+      <fo:block>
+        <xsl:call-template name="book.titlepage.before.recto"/>
+        <xsl:call-template name="book.titlepage.recto"/>
+      </fo:block>
+      <fo:block>
+        <xsl:call-template name="book.titlepage.before.verso"/>
+        <xsl:call-template name="book.titlepage.verso"/>
+      </fo:block>
+      <xsl:call-template name="book.titlepage.separator"/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template name="part.titlepage">
+    <fo:block>
+      <fo:block space-before="2.5in">
+        <xsl:call-template name="part.titlepage.before.recto"/>
+        <xsl:call-template name="part.titlepage.recto"/>
+      </fo:block>
+      <fo:block>
+        <xsl:call-template name="part.titlepage.before.verso"/>
+        <xsl:call-template name="part.titlepage.verso"/>
+      </fo:block>
+      <xsl:call-template name="part.titlepage.separator"/>
+    </fo:block>
+  </xsl:template>
+
+    <!-- Font size for chapter title. -->
+  <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+    <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"
+            xsl:use-attribute-sets="chapter.titlepage.recto.style"
+            font-size="21pt" font-weight="bold" text-align="left">
+      <xsl:call-template name="component.title">
+        <xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
+      </xsl:call-template>
+    </fo:block>
+  </xsl:template>
+
+    <!-- Margins -->
+  <xsl:param name="page.margin.inner">0.5in</xsl:param>
+  <xsl:param name="page.margin.outer">0.375in</xsl:param>
+  <xsl:param name="body.start.indent" select="'0.7pc'"/>
+  <xsl:param name="title.margin.left">-0.7pc</xsl:param>
+  <xsl:attribute-set name="normal.para.spacing">
+    <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
+    <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
+    <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+  </xsl:attribute-set>
+  <xsl:attribute-set name="list.block.spacing">
+    <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
+    <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
+    <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+    <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
+    <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
+    <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
+  </xsl:attribute-set>
+  <xsl:attribute-set name="list.item.spacing">
+    <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
+    <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
+    <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+  </xsl:attribute-set>
+  <xsl:attribute-set name="verbatim.properties">
+    <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
+    <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
+    <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+    <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
+    <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
+    <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
+  </xsl:attribute-set>
+
+    <!-- Others-->
+  <xsl:param name="header.rule" select="0"></xsl:param>
+  <xsl:param name="footer.rule" select="0"></xsl:param>
+  <xsl:param name="marker.section.level" select="-1"></xsl:param>
+
+    <!-- Dropping a blank page -->
+  <xsl:template name="book.titlepage.separator"/>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/pdf/lfs-sections.xsl
===================================================================
--- BOOK/stylesheets/pdf/lfs-sections.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/pdf/lfs-sections.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,100 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                version="1.0">
+
+     <!-- Force section1's onto a new page -->
+  <xsl:attribute-set name="section.level1.properties">
+    <xsl:attribute name="break-after">
+      <xsl:choose>
+        <xsl:when test="not(position()=last())">
+          <xsl:text>page</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>auto</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+  </xsl:attribute-set>
+
+    <!-- Sections numbering -->
+  <xsl:param name="section.autolabel" select="1"/>
+  <xsl:param name="section.label.includes.component.label" select="1"/>
+
+    <!-- Skip numeraration for sections with empty title -->
+  <xsl:template match="sect2|sect3|sect4|sect5" mode="label.markup">
+    <xsl:if test="string-length(title) > 0">
+      <!-- label the parent -->
+      <xsl:variable name="parent.label">
+        <xsl:apply-templates select=".." mode="label.markup"/>
+      </xsl:variable>
+      <xsl:if test="$parent.label != ''">
+        <xsl:apply-templates select=".." mode="label.markup"/>
+      <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
+      </xsl:if>
+      <xsl:choose>
+        <xsl:when test="@label">
+          <xsl:value-of select="@label"/>
+        </xsl:when>
+        <xsl:when test="$section.autolabel != 0">
+          <xsl:choose>
+            <xsl:when test="local-name(.) = 'sect2'">
+              <xsl:choose>
+                <!-- If the first sect2 isn't numbered, renumber the remainig sections -->
+                <xsl:when test="string-length(../sect2[1]/title) = 0">
+                  <xsl:variable name="totalsect2">
+                    <xsl:number count="sect2"/>
+                  </xsl:variable>
+                  <xsl:number value="$totalsect2 - 1"/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:number count="sect2"/>
+                </xsl:otherwise>
+              </xsl:choose>
+            </xsl:when>
+            <xsl:when test="local-name(.) = 'sect3'">
+              <xsl:number count="sect3"/>
+            </xsl:when>
+            <xsl:when test="local-name(.) = 'sect4'">
+              <xsl:number count="sect4"/>
+            </xsl:when>
+            <xsl:when test="local-name(.) = 'sect5'">
+              <xsl:number count="sect5"/>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:message>label.markup: this can't happen!</xsl:message>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:when>
+      </xsl:choose>
+    </xsl:if>
+  </xsl:template>
+
+  <!-- Drop the trailing punctuation if title is empty -->
+  <xsl:template match="section|sect1|sect2|sect3|sect4|sect5|simplesect
+                      |bridgehead"
+                mode="object.title.template">
+    <xsl:choose>
+      <xsl:when test="$section.autolabel != 0">
+        <xsl:if test="string-length(title) > 0">
+          <xsl:call-template name="gentext.template">
+            <xsl:with-param name="context" select="'title-numbered'"/>
+            <xsl:with-param name="name">
+              <xsl:call-template name="xpath.location"/>
+            </xsl:with-param>
+          </xsl:call-template>
+        </xsl:if>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="gentext.template">
+          <xsl:with-param name="context" select="'title-unnumbered'"/>
+          <xsl:with-param name="name">
+            <xsl:call-template name="xpath.location"/>
+          </xsl:with-param>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/pdf/lfs-xref.xsl
===================================================================
--- BOOK/stylesheets/pdf/lfs-xref.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/pdf/lfs-xref.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,283 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                version="1.0">
+
+     <!-- Making a proper punctuation in xref (only for English language).-->
+  <xsl:template match="xref" name="xref">
+    <xsl:variable name="targets" select="key('id',@linkend)"/>
+    <xsl:variable name="target" select="$targets[1]"/>
+    <xsl:variable name="refelem" select="local-name($target)"/>
+    <xsl:variable name="role" select="@role"/>
+    <xsl:call-template name="check.id.unique">
+      <xsl:with-param name="linkend" select="@linkend"/>
+    </xsl:call-template>
+    <xsl:choose>
+      <xsl:when test="$refelem=''">
+        <xsl:message>
+          <xsl:text>XRef to nonexistent id: </xsl:text>
+          <xsl:value-of select="@linkend"/>
+        </xsl:message>
+        <xsl:text>???</xsl:text>
+      </xsl:when>
+      <xsl:when test="$target/@xreflabel">
+        <fo:basic-link internal-destination="{@linkend}"
+                      xsl:use-attribute-sets="xref.properties">
+          <xsl:call-template name="xref.xreflabel">
+            <xsl:with-param name="target" select="$target"/>
+          </xsl:call-template>
+        </fo:basic-link>
+      </xsl:when>
+      <xsl:otherwise>
+        <fo:basic-link internal-destination="{@linkend}"
+                      xsl:use-attribute-sets="xref.properties">
+          <xsl:apply-templates select="$target" mode="xref-to">
+            <xsl:with-param name="referrer" select="."/>
+            <xsl:with-param name="role" select="$role"/>
+            <xsl:with-param name="xrefstyle">
+              <xsl:value-of select="@xrefstyle"/>
+            </xsl:with-param>
+          </xsl:apply-templates>
+        </fo:basic-link>
+      </xsl:otherwise>
+    </xsl:choose>
+    <!-- Add standard page reference? -->
+    <xsl:if test="not(starts-with(normalize-space(@xrefstyle), 'select:') != ''
+                  and (contains(@xrefstyle, 'page')
+                      or contains(@xrefstyle, 'Page')))
+                  and ( $insert.xref.page.number = 'yes'
+        or $insert.xref.page.number = '1')
+                  or local-name($target) = 'para'">
+      <fo:basic-link internal-destination="{@linkend}"
+                    xsl:use-attribute-sets="xref.properties">
+        <xsl:apply-templates select="$target" mode="page.citation">
+          <xsl:with-param name="id" select="@linkend"/>
+        </xsl:apply-templates>
+      </fo:basic-link>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="section|simplesect|sect1|sect2|sect3|sect4|sect5
+                      |refsect1|refsect2|refsect3|refsection" mode="xref-to">
+    <xsl:param name="referrer"/>
+    <xsl:param name="xrefstyle"/>
+    <xsl:param name="role"/>
+    <xsl:apply-templates select="." mode="object.xref.markup">
+      <xsl:with-param name="purpose" select="'xref'"/>
+      <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+      <xsl:with-param name="referrer" select="$referrer"/>
+      <xsl:with-param name="role" select="$role"/>
+    </xsl:apply-templates>
+  </xsl:template>
+
+  <xsl:template match="*" mode="object.xref.markup">
+    <xsl:param name="purpose"/>
+    <xsl:param name="xrefstyle"/>
+    <xsl:param name="referrer"/>
+    <xsl:param name="role"/>
+    <xsl:variable name="template">
+      <xsl:choose>
+        <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:')">
+          <xsl:call-template name="make.gentext.template">
+            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+            <xsl:with-param name="purpose" select="$purpose"/>
+            <xsl:with-param name="referrer" select="$referrer"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:when test="starts-with(normalize-space($xrefstyle), 'template:')">
+          <xsl:value-of select="substring-after(normalize-space($xrefstyle), 'template:')"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:apply-templates select="." mode="object.xref.template">
+            <xsl:with-param name="purpose" select="$purpose"/>
+            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+            <xsl:with-param name="referrer" select="$referrer"/>
+          </xsl:apply-templates>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="$template = ''">
+      <xsl:message>
+        <xsl:text>object.xref.markup: empty xref template</xsl:text>
+        <xsl:text> for linkend="</xsl:text>
+        <xsl:value-of select="@id"/>
+        <xsl:text>" and @xrefstyle="</xsl:text>
+        <xsl:value-of select="$xrefstyle"/>
+        <xsl:text>"</xsl:text>
+      </xsl:message>
+    </xsl:if>
+    <xsl:call-template name="substitute-markup">
+      <xsl:with-param name="purpose" select="$purpose"/>
+      <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+      <xsl:with-param name="referrer" select="$referrer"/>
+      <xsl:with-param name="template" select="$template"/>
+      <xsl:with-param name="role" select="$role"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="substitute-markup">
+    <xsl:param name="template" select="''"/>
+    <xsl:param name="allow-anchors" select="'0'"/>
+    <xsl:param name="title" select="''"/>
+    <xsl:param name="subtitle" select="''"/>
+    <xsl:param name="label" select="''"/>
+    <xsl:param name="pagenumber" select="''"/>
+    <xsl:param name="purpose"/>
+    <xsl:param name="xrefstyle"/>
+    <xsl:param name="referrer"/>
+    <xsl:param name="role"/>
+    <xsl:choose>
+      <xsl:when test="contains($template, '%')">
+        <xsl:value-of select="substring-before($template, '%')"/>
+        <xsl:variable name="candidate"
+              select="substring(substring-after($template, '%'), 1, 1)"/>
+        <xsl:choose>
+          <xsl:when test="$candidate = 't'">
+            <xsl:apply-templates select="." mode="insert.title.markup">
+              <xsl:with-param name="purpose" select="$purpose"/>
+              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+              <xsl:with-param name="role" select="$role"/>
+              <xsl:with-param name="title">
+                <xsl:choose>
+                  <xsl:when test="$title != ''">
+                    <xsl:copy-of select="$title"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:apply-templates select="." mode="title.markup">
+                      <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+                    </xsl:apply-templates>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:with-param>
+            </xsl:apply-templates>
+          </xsl:when>
+          <xsl:when test="$candidate = 's'">
+            <xsl:apply-templates select="." mode="insert.subtitle.markup">
+              <xsl:with-param name="purpose" select="$purpose"/>
+              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+              <xsl:with-param name="subtitle">
+                <xsl:choose>
+                  <xsl:when test="$subtitle != ''">
+                    <xsl:copy-of select="$subtitle"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:apply-templates select="." mode="subtitle.markup">
+                      <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+                    </xsl:apply-templates>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:with-param>
+            </xsl:apply-templates>
+          </xsl:when>
+          <xsl:when test="$candidate = 'n'">
+            <xsl:apply-templates select="." mode="insert.label.markup">
+              <xsl:with-param name="purpose" select="$purpose"/>
+              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+              <xsl:with-param name="label">
+                <xsl:choose>
+                  <xsl:when test="$label != ''">
+                    <xsl:copy-of select="$label"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:apply-templates select="." mode="label.markup"/>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:with-param>
+            </xsl:apply-templates>
+          </xsl:when>
+          <xsl:when test="$candidate = 'p'">
+            <xsl:apply-templates select="." mode="insert.pagenumber.markup">
+              <xsl:with-param name="purpose" select="$purpose"/>
+              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+              <xsl:with-param name="pagenumber">
+                <xsl:choose>
+                  <xsl:when test="$pagenumber != ''">
+                    <xsl:copy-of select="$pagenumber"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:apply-templates select="." mode="pagenumber.markup"/>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:with-param>
+            </xsl:apply-templates>
+          </xsl:when>
+          <xsl:when test="$candidate = 'd'">
+            <xsl:apply-templates select="." mode="insert.direction.markup">
+              <xsl:with-param name="purpose" select="$purpose"/>
+              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+              <xsl:with-param name="direction">
+                <xsl:choose>
+                  <xsl:when test="$referrer">
+                    <xsl:variable name="referent-is-below">
+                      <xsl:for-each select="preceding::xref">
+                        <xsl:if test="generate-id(.) = generate-id($referrer)">1</xsl:if>
+                      </xsl:for-each>
+                    </xsl:variable>
+                    <xsl:choose>
+                      <xsl:when test="$referent-is-below = ''">
+                        <xsl:call-template name="gentext">
+                          <xsl:with-param name="key" select="'above'"/>
+                        </xsl:call-template>
+                      </xsl:when>
+                      <xsl:otherwise>
+                        <xsl:call-template name="gentext">
+                          <xsl:with-param name="key" select="'below'"/>
+                        </xsl:call-template>
+                      </xsl:otherwise>
+                    </xsl:choose>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:message>Attempt to use %d in gentext with no referrer!</xsl:message>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:with-param>
+            </xsl:apply-templates>
+          </xsl:when>
+          <xsl:when test="$candidate = '%' ">
+            <xsl:text>%</xsl:text>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>%</xsl:text><xsl:value-of select="$candidate"/>
+          </xsl:otherwise>
+        </xsl:choose>
+        <!-- recurse with the rest of the template string -->
+        <xsl:variable name="rest"
+              select="substring($template,
+              string-length(substring-before($template, '%'))+3)"/>
+        <xsl:call-template name="substitute-markup">
+          <xsl:with-param name="template" select="$rest"/>
+          <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+          <xsl:with-param name="title" select="$title"/>
+          <xsl:with-param name="subtitle" select="$subtitle"/>
+          <xsl:with-param name="label" select="$label"/>
+          <xsl:with-param name="pagenumber" select="$pagenumber"/>
+          <xsl:with-param name="purpose" select="$purpose"/>
+          <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+          <xsl:with-param name="referrer" select="$referrer"/>
+          <xsl:with-param name="role" select="$role"/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$template"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="*" mode="insert.title.markup">
+    <xsl:param name="purpose"/>
+    <xsl:param name="xrefstyle"/>
+    <xsl:param name="title"/>
+    <xsl:param name="role"/>
+    <xsl:choose>
+      <xsl:when test="$purpose = 'xref' and titleabbrev">
+        <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:copy-of select="$title"/>
+        <xsl:value-of select="$role"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/top-index.xsl
===================================================================
--- BOOK/stylesheets/top-index.xsl	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/stylesheets/top-index.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -15,14 +15,13 @@
       <head>
         <title>
-          Cross-Compiled Linux From Scratch - Embedded
+          Cross-Compiled Linux From Scratch
         </title>
         <style type="text/css">
           <xsl:text>
-/* Global settings */
 body {
-  font-family: verdana, tahoma, helvetica, arial, sans-serif;
+  font-family: sans-serif;
   text-align: left;
   background: #fff;
-  color: #222;
+  color: #333;
   margin: 1em;
   padding: 0;
@@ -32,29 +31,36 @@
 
 a:link { color: #22b; }
-a.ulink:link { font-weight: bold; color: #55f; }
-a:visited { color: #7e4988 ! important; }
-a:hover, a:focus { color: #d30e08 ! important; }
-a:active { color: #6b77b1 ! important;}
+a:visited { color: #7e4988; }
+a:hover, a:focus { color: #d30e08; }
+a:active { color: #6b77b1;}
 
-h1, h2 h3, h4 {
+h1, h2 {
   color: #000;
   font-weight: bold;
-  line-height: 1em;
+}
+
+h3, h4, h5, h6 {
+  color: #222;
 }
 
 h1 { font-size: 173%; text-align: center; }
-h2 { font-size: 144%; text-align: center; }
-h3 { font-size: 120%; }
-h4 { font-size: 110%; }
+h2 { font-size: 144%;  text-align: center; }
+h3 { font-size: 120%; padding-top: 0.2em; margin-top: 0.3em; }
+h4 { font-size: 110%;}
 
-.toc {
+div.toc {
   padding-left: 1em;
+  margin-top: 1em;
 }
 
-.toc ul li h3, .toc ul li h4 {
+div.toc ul li h3, div.toc ul li h4 {
   margin: .4em;
 }
 
-.book h1 {
+div.book {
+  padding-bottom: 0.5em;
+}
+
+div.book h1 {
   background: #f5f6f7;
   margin: 0px auto;
@@ -62,13 +68,13 @@
 }
 
-.book h2 {
+div.book h2 {
   background: #dbddec;
   margin: 0px auto;
   padding: 0.2em;
 }
-.author, .copyright {
+div.authorgroup, div p.copyright {
   background: #f5f6f7;
   margin: 0px auto;
-  padding: 0.5em 1em;
+  padding:  1em 0.5em;
 }
 
@@ -91,9 +97,11 @@
   <xsl:template match="bookinfo">
     <div class="book">
-      <xsl:apply-templates/>
-      <hr/>
+      <div class="titlepage">
+        <xsl:apply-templates/>
+        <hr/>
+      </div>
       <div class="toc">
         <h3>
-          <xsl:text>Embedded Architecture (Under Development)</xsl:text>
+          <xsl:text>32 Bit Builds (Under Development)</xsl:text>
         </h3>
         <ul>
@@ -101,23 +109,12 @@
             <h4>
               <a href="x86">
-                <xsl:text>x86 and x86_64</xsl:text>
-              </a>
-            </h4>
-          </li>
-          <li>
-            <h4>
-              <a href="mips">
-                <xsl:text>MIPS</xsl:text>
-              </a>
-            </h4>
-          </li>
-          <li>
-            <h4>
-              <a href="arm">
-                <xsl:text>ARM</xsl:text>
+                <xsl:text>X86</xsl:text>
               </a>
             </h4>
           </li>
         </ul>
+        <h3>
+          <xsl:text>64 Bit Builds</xsl:text>
+        </h3>
       </div>
     </div>
@@ -125,17 +122,38 @@
 
   <xsl:template match="title">
-    <h1 class="title">
-      <xsl:value-of select="."/>
-    </h1>
-    <h2 class="subtitle">
-      <xsl:text>Version &version;</xsl:text>
-    </h2>
+    <div>
+      <h1 class="title">
+        <xsl:value-of select="."/>
+      </h1>
+    </div>
+    <div>
+      <h2 class="subtitle">
+        <xsl:text>Version &version;</xsl:text>
+      </h2>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="authorgroup">
+    <div class="authorgroup">
+      <h3 class="author">
+        <xsl:value-of select="author[1]/firstname"/>
+        <xsl:text> </xsl:text>
+        <xsl:value-of select="author[1]/surname"/>
+      </h3>
+      <h3 class="author">
+        <xsl:value-of select="author[2]/firstname"/>
+        <xsl:text> </xsl:text>
+        <xsl:value-of select="author[2]/surname"/>
+      </h3>
+    </div>
   </xsl:template>
 
   <xsl:template match="copyright">
-    <p class="copyright">
-      <xsl:text>Copyright ©</xsl:text>
-      <xsl:apply-templates/>
-    </p>
+    <div>
+      <p class="copyright">
+        <xsl:text>Copyright ©</xsl:text>
+        <xsl:apply-templates/>
+      </p>
+    </div>
   </xsl:template>
 
@@ -149,9 +167,11 @@
 
   <xsl:template match="bibliosource">
-    <p class="copyright">
-      <em>
-        <xsl:apply-templates/>
-      </em>
-    </p>
+    <div>
+      <p class="copyright">
+        <em>
+          <xsl:apply-templates/>
+        </em>
+      </p>
+    </div>
   </xsl:template>
 
Index: BOOK/stylesheets/xhtml/lfs-admon.xsl
===================================================================
--- BOOK/stylesheets/xhtml/lfs-admon.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/xhtml/lfs-admon.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,46 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+    <!-- Use graphics in admonitions -->
+  <xsl:param name="admon.graphics" select="1"/>
+  <xsl:param name="admon.graphics.path">../images/</xsl:param>
+  <xsl:param name="admon.graphics.extension" select="'.png'"/>
+
+    <!-- Changing the output tagging -->
+  <xsl:template name="graphical.admonition">
+    <xsl:variable name="admon.type">
+      <xsl:choose>
+        <xsl:when test="local-name(.)='note'">Note</xsl:when>
+        <xsl:when test="local-name(.)='warning'">Warning</xsl:when>
+        <xsl:when test="local-name(.)='caution'">Caution</xsl:when>
+        <xsl:when test="local-name(.)='tip'">Tip</xsl:when>
+        <xsl:when test="local-name(.)='important'">Important</xsl:when>
+        <xsl:otherwise>Note</xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="alt">
+      <xsl:call-template name="gentext">
+        <xsl:with-param name="key" select="$admon.type"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <div class="{name(.)}">
+      <div class ="admonhead">
+        <img alt="[{$alt}]">
+          <xsl:attribute name="src">
+            <xsl:call-template name="admon.graphic"/>
+          </xsl:attribute>
+        </img>
+        <h3 class="admontitle">
+          <xsl:apply-templates select="." mode="object.title.markup"/>
+        </h3>
+      </div>
+      <div class="admonbody">
+        <xsl:apply-templates/>
+      </div>
+    </div>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/xhtml/lfs-index.xsl
===================================================================
--- BOOK/stylesheets/xhtml/lfs-index.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/xhtml/lfs-index.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,202 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
+<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
+<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
+<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
+]>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+    <!--Filename-->
+  <xsl:template match="index" mode="recursive-chunk-filename">
+    <xsl:text>longindex.html</xsl:text>
+  </xsl:template>
+
+    <!--Title-->
+  <xsl:param name="index-title">Index</xsl:param>
+
+  <xsl:template match="index" mode="title.markup">
+    <xsl:call-template name="gentext">
+      <xsl:with-param name="key" select="$index-title"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="index.titlepage">
+    <div class="titlepage">
+      <h1 class="index">
+        <xsl:call-template name="gentext">
+          <xsl:with-param name="key" select="$index-title"/>
+        </xsl:call-template>
+      </h1>
+    </div>
+  </xsl:template>
+
+    <!--Divisions-->
+  <xsl:template match="indexterm" mode="index-div">
+    <xsl:param name="scope" select="."/>
+    <xsl:variable name="key" select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
+    <xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
+      <!-- Make sure that we don't generate a div if there are no terms in scope -->
+    <xsl:if test="key('letter', $key)[&scope;] [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
+      <div class="indexdiv">
+        <xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
+          <h2>
+            <xsl:choose>
+              <xsl:when test="$divtitle = 'A'">
+                <xsl:call-template name="gentext">
+                  <xsl:with-param name="key">Packages</xsl:with-param>
+                </xsl:call-template>
+             </xsl:when>
+             <xsl:when test="$divtitle = 'B'">
+                <xsl:call-template name="gentext">
+                  <xsl:with-param name="key">Programs</xsl:with-param>
+                </xsl:call-template>
+             </xsl:when>
+             <xsl:when test="$divtitle = 'C'">
+                <xsl:call-template name="gentext">
+                  <xsl:with-param name="key">Libraries</xsl:with-param>
+                </xsl:call-template>
+             </xsl:when>
+             <xsl:when test="$divtitle = 'D'">
+                <xsl:call-template name="gentext">
+                  <xsl:with-param name="key">Scripts</xsl:with-param>
+                </xsl:call-template>
+             </xsl:when>
+              <xsl:when test="$divtitle = 'E'">
+                <xsl:call-template name="gentext">
+                  <xsl:with-param name="key">Others</xsl:with-param>
+                </xsl:call-template>
+              </xsl:when>
+             <xsl:otherwise>
+              <xsl:value-of select="$divtitle"/>
+            </xsl:otherwise>
+           </xsl:choose>
+          </h2>
+        </xsl:if>
+        <ul>
+          <xsl:apply-templates select="key('letter', $key)[&scope;]
+                  [count(.|key('primary', &primary;)[&scope;][1])=1]" mode="index-primary">
+            <xsl:with-param name="scope" select="$scope"/>
+            <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
+          </xsl:apply-templates>
+        </ul>
+      </div>
+    </xsl:if>
+  </xsl:template>
+
+    <!-- Dropping the separator from here-->
+  <xsl:template match="indexterm" mode="reference">
+    <xsl:param name="scope" select="."/>
+      <xsl:call-template name="reference">
+        <xsl:with-param name="zones" select="normalize-space(@zone)"/>
+        <xsl:with-param name="scope" select="$scope"/>
+      </xsl:call-template>
+  </xsl:template>
+
+    <!-- Changing the output tags and re-addind the separator-->
+  <xsl:template match="indexterm" mode="index-primary">
+    <xsl:param name="scope" select="."/>
+    <xsl:variable name="key" select="&primary;"/>
+    <xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
+    <li>
+      <strong class="item">
+        <xsl:value-of select="primary"/>
+        <xsl:text>: </xsl:text>
+      </strong>
+      <xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section',
+              concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
+              |ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface
+              |ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3
+              |ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::index)[last()])))[&scope;][1])]">
+        <xsl:apply-templates select="." mode="reference">
+          <xsl:with-param name="scope" select="$scope"/>
+        </xsl:apply-templates>
+      </xsl:for-each>
+      <xsl:if test="$refs/secondary">
+        <ul>
+          <xsl:apply-templates select="$refs[secondary and count(.|key('secondary',
+                  concat($key, &#34; &#34;, normalize-space(concat(secondary/@sortas,
+                  secondary[not(@sortas)]))))[&scope;][1]) = 1]" mode="index-secondary">
+            <xsl:with-param name="scope" select="$scope"/>
+            <xsl:sort select="translate(normalize-space(concat(secondary/@sortas,
+                    secondary[not(@sortas)])), &lowercase;, &uppercase;)"/>
+          </xsl:apply-templates>
+         </ul>
+      </xsl:if>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="indexterm" mode="index-secondary">
+    <xsl:param name="scope" select="."/>
+    <xsl:variable name="key" select="concat(&primary;, &#34; &#34;,
+            normalize-space(concat(secondary/@sortas, secondary[not(@sortas)])))"/>
+    <xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
+    <li>
+      <strong class="secitem">
+        <xsl:value-of select="secondary"/>
+        <xsl:text>: </xsl:text>
+      </strong>
+      <xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section',
+              concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
+              |ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface
+              |ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3
+              |ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::index)[last()])))[&scope;][1])]">
+        <xsl:apply-templates select="." mode="reference">
+          <xsl:with-param name="scope" select="$scope"/>
+        </xsl:apply-templates>
+      </xsl:for-each>
+    </li>
+  </xsl:template>
+
+    <!--Links (This template also fix a bug in the original code)-->
+  <xsl:template name="reference">
+    <xsl:param name="scope" select="."/>
+    <xsl:param name="zones"/>
+    <xsl:choose>
+      <xsl:when test="contains($zones, ' ')">
+        <xsl:variable name="zone" select="substring-before($zones, ' ')"/>
+        <xsl:variable name="zone2" select="substring-after($zones, ' ')"/>
+        <xsl:variable name="target" select="key('sections', $zone)[&scope;]"/>
+        <xsl:variable name="target2" select="key('sections', $zone2)[&scope;]"/>
+        <a>
+          <xsl:attribute name="href">
+            <xsl:call-template name="href.target.uri">
+              <xsl:with-param name="object" select="$target[1]"/>
+            </xsl:call-template>
+          </xsl:attribute>
+          <xsl:apply-templates select="$target[1]" mode="index-title-content"/>
+        </a>
+        <xsl:text> -- </xsl:text>
+        <a>
+          <xsl:attribute name="href">
+            <xsl:call-template name="href.target.uri">
+              <xsl:with-param name="object" select="$target2[1]"/>
+            </xsl:call-template>
+          </xsl:attribute>
+          <xsl:call-template name="gentext">
+            <xsl:with-param name="key">description</xsl:with-param>
+          </xsl:call-template>
+        </a>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="zone" select="$zones"/>
+        <xsl:variable name="target" select="key('sections', $zone)[&scope;]"/>
+        <a>
+          <xsl:attribute name="href">
+            <xsl:call-template name="href.target.uri">
+              <xsl:with-param name="object" select="$target[1]"/>
+            </xsl:call-template>
+          </xsl:attribute>
+          <xsl:apply-templates select="$target[1]" mode="index-title-content"/>
+        </a>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+    <!-- Dropping unneeded anchors -->
+  <xsl:template match="indexterm"/>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/xhtml/lfs-legalnotice.xsl
===================================================================
--- BOOK/stylesheets/xhtml/lfs-legalnotice.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/xhtml/lfs-legalnotice.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,80 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+    <!-- Generating the page -->
+  <xsl:template match="legalnotice" mode="titlepage.mode">
+    <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+      <xsl:variable name="filename" select="concat($base.dir, 'legalnotice.html')"/>
+    <xsl:variable name="title">
+      <xsl:apply-templates select="." mode="title.markup"/>
+    </xsl:variable>
+    <xsl:call-template name="write.chunk">
+      <xsl:with-param name="filename" select="$filename"/>
+      <xsl:with-param name="quiet" select="$chunk.quietly"/>
+      <xsl:with-param name="content">
+        <html>
+          <head>
+            <xsl:call-template name="system.head.content"/>
+            <xsl:call-template name="head.content"/>
+            <xsl:call-template name="user.head.content"/>
+          </head>
+          <body>
+            <xsl:call-template name="body.attributes"/>
+            <div class="{local-name(.)}">
+              <xsl:apply-templates mode="titlepage.mode"/>
+            </div>
+            <div class="navfooter">
+              <ul class="footerlinks">
+                <li class="home">
+                  <a accesskey="h">
+                    <xsl:attribute name="href">
+                      <xsl:text>index.html</xsl:text>
+                    </xsl:attribute>
+                    <xsl:attribute name="title">
+                      <xsl:value-of select="/book/bookinfo/title"/>
+                      <xsl:text> - </xsl:text>
+                      <xsl:value-of select="/book/bookinfo/subtitle"/>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'home'"/>
+                    </xsl:call-template>
+                  </a>
+                </li>
+              </ul>
+            </div>
+          </body>
+        </html>
+      </xsl:with-param>
+    </xsl:call-template>
+  </xsl:template>
+
+    <!-- Making the link-->
+  <xsl:template match="copyright" mode="titlepage.mode">
+    <p class="{name(.)}">
+      <a>
+        <xsl:attribute name="href">
+          <xsl:value-of select="'legalnotice.html'"/>
+        </xsl:attribute>
+        <xsl:call-template name="gentext">
+          <xsl:with-param name="key" select="'Copyright'"/>
+        </xsl:call-template>
+      </a>
+      <xsl:call-template name="gentext.space"/>
+      <xsl:call-template name="dingbat">
+        <xsl:with-param name="dingbat">copyright</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="gentext.space"/>
+      <xsl:call-template name="copyright.years">
+        <xsl:with-param name="years" select="year"/>
+        <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
+        <xsl:with-param name="single.year.ranges" select="$make.single.year.ranges"/>
+      </xsl:call-template>
+      <xsl:call-template name="gentext.space"/>
+      <xsl:apply-templates select="holder" mode="titlepage.mode"/>
+    </p>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/xhtml/lfs-mixed.xsl
===================================================================
--- BOOK/stylesheets/xhtml/lfs-mixed.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/xhtml/lfs-mixed.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,322 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+    <!-- para -->
+  <xsl:template match="para">
+    <xsl:choose>
+      <xsl:when test="child::ulink[@url=' ']"/>
+      <xsl:otherwise>
+        <xsl:call-template name="paragraph">
+          <xsl:with-param name="class">
+            <xsl:if test="@role and $para.propagates.style != 0">
+              <xsl:value-of select="@role"/>
+            </xsl:if>
+          </xsl:with-param>
+          <xsl:with-param name="content">
+            <xsl:if test="position() = 1 and parent::listitem">
+              <xsl:call-template name="anchor">
+                <xsl:with-param name="node" select="parent::listitem"/>
+              </xsl:call-template>
+            </xsl:if>
+            <xsl:call-template name="anchor"/>
+            <xsl:apply-templates/>
+          </xsl:with-param>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+    <!-- screen -->
+  <xsl:template match="screen">
+    <xsl:choose>
+      <xsl:when test="child::* = userinput">
+        <pre class="userinput">
+            <xsl:apply-templates/>
+        </pre>
+      </xsl:when>
+      <xsl:otherwise>
+        <pre class="{name(.)}">
+          <xsl:apply-templates/>
+        </pre>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="userinput">
+    <xsl:choose>
+      <xsl:when test="ancestor::screen">
+        <kbd class="command">
+          <xsl:apply-templates/>
+        </kbd>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-imports/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+    <!-- segementedlist -->
+  <xsl:template match="seg">
+    <xsl:variable name="segnum" select="count(preceding-sibling::seg)+1"/>
+    <xsl:variable name="seglist" select="ancestor::segmentedlist"/>
+    <xsl:variable name="segtitles" select="$seglist/segtitle"/>
+      <!-- Note: segtitle is only going to be the right thing in a well formed
+      SegmentedList.  If there are too many Segs or too few SegTitles,
+      you'll get something odd...maybe an error -->
+      <div class="seg">
+      <strong>
+        <span class="segtitle">
+          <xsl:apply-templates select="$segtitles[$segnum=position()]" mode="segtitle-in-seg"/>
+          <xsl:text>: </xsl:text>
+        </span>
+      </strong>
+      <span class="seg">
+        <xsl:apply-templates/>
+      </span>
+    </div>
+  </xsl:template>
+
+
+  <!-- variablelist -->
+  <xsl:template match="variablelist">
+    <xsl:choose>
+      <xsl:when test="@role">
+        <div class="{@role}">
+          <xsl:apply-imports/>
+        </div>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-imports/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+
+    <!-- Body attributes -->
+  <xsl:template name="body.attributes">
+    <xsl:attribute name="id">
+      <xsl:text>lfs</xsl:text>
+    </xsl:attribute>
+    <xsl:attribute name="class">
+      <xsl:value-of select="substring-after(/book/bookinfo/subtitle, ' ')"/>
+    </xsl:attribute>
+  </xsl:template>
+
+    <!-- External URLs in italic font -->
+  <xsl:template match="ulink" name="ulink">
+    <a>
+      <xsl:if test="@id">
+        <xsl:attribute name="id">
+          <xsl:value-of select="@id"/>
+        </xsl:attribute>
+      </xsl:if>
+      <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
+       <i>
+        <xsl:choose>
+          <xsl:when test="count(child::node())=0">
+            <xsl:value-of select="@url"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:apply-templates/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </i>
+    </a>
+  </xsl:template>
+
+    <!-- The <code> xhtml tag have look issues in some browsers, like Konqueror and.
+      isn't semantically correct (a filename isn't a code fragment) We will use <tt> for now. -->
+  <xsl:template name="inline.monoseq">
+    <xsl:param name="content">
+      <xsl:call-template name="anchor"/>
+      <xsl:call-template name="simple.xlink">
+        <xsl:with-param name="content">
+          <xsl:apply-templates/>
+        </xsl:with-param>
+      </xsl:call-template>
+    </xsl:param>
+    <tt class="{local-name(.)}">
+      <xsl:if test="@dir">
+        <xsl:attribute name="dir">
+          <xsl:value-of select="@dir"/>
+        </xsl:attribute>
+      </xsl:if>
+      <xsl:copy-of select="$content"/>
+    </tt>
+  </xsl:template>
+
+  <xsl:template name="inline.boldmonoseq">
+    <xsl:param name="content">
+      <xsl:call-template name="anchor"/>
+      <xsl:call-template name="simple.xlink">
+        <xsl:with-param name="content">
+          <xsl:apply-templates/>
+        </xsl:with-param>
+      </xsl:call-template>
+    </xsl:param>
+    <!-- don't put <strong> inside figure, example, or table titles -->
+    <!-- or other titles that may already be represented with <strong>'s. -->
+    <xsl:choose>
+      <xsl:when test="local-name(..) = 'title' and (local-name(../..) = 'figure'
+              or local-name(../..) = 'example' or local-name(../..) = 'table' or local-name(../..) = 'formalpara')">
+        <tt class="{local-name(.)}">
+          <xsl:if test="@dir">
+            <xsl:attribute name="dir">
+              <xsl:value-of select="@dir"/>
+            </xsl:attribute>
+          </xsl:if>
+          <xsl:copy-of select="$content"/>
+        </tt>
+      </xsl:when>
+      <xsl:otherwise>
+        <strong class="{local-name(.)}">
+          <tt>
+            <xsl:if test="@dir">
+              <xsl:attribute name="dir">
+                <xsl:value-of select="@dir"/>
+              </xsl:attribute>
+            </xsl:if>
+            <xsl:copy-of select="$content"/>
+          </tt>
+        </strong>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="inline.italicmonoseq">
+    <xsl:param name="content">
+      <xsl:call-template name="anchor"/>
+      <xsl:call-template name="simple.xlink">
+        <xsl:with-param name="content">
+          <xsl:apply-templates/>
+        </xsl:with-param>
+      </xsl:call-template>
+    </xsl:param>
+    <em class="{local-name(.)}">
+      <tt>
+        <xsl:if test="@dir">
+          <xsl:attribute name="dir">
+            <xsl:value-of select="@dir"/>
+          </xsl:attribute>
+        </xsl:if>
+        <xsl:copy-of select="$content"/>
+      </tt>
+    </em>
+  </xsl:template>
+
+  <!-- Adding bibliosource to titlepage -->
+  <xsl:template name="book.titlepage.recto">
+    <xsl:choose>
+      <xsl:when test="bookinfo/title">
+        <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+      </xsl:when>
+      <xsl:when test="info/title">
+        <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+      </xsl:when>
+      <xsl:when test="title">
+        <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+      </xsl:when>
+    </xsl:choose>
+
+    <xsl:choose>
+      <xsl:when test="bookinfo/subtitle">
+        <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+      </xsl:when>
+      <xsl:when test="info/subtitle">
+        <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+      </xsl:when>
+      <xsl:when test="subtitle">
+        <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+      </xsl:when>
+    </xsl:choose>
+
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/bibliosource"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
+  </xsl:template>
+
+  <xsl:template match="bibliosource" mode="book.titlepage.recto.auto.mode">
+    <div>
+      <p class="copyright">
+        <xsl:apply-templates/>
+      </p>
+    </div>
+  </xsl:template>
+
+    <!-- Total packages size calculation -->
+  <xsl:template match="returnvalue">
+    <xsl:call-template name="calculation">
+     <xsl:with-param name="scope" select="../../variablelist"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="calculation">
+    <xsl:param name="scope"/>
+    <xsl:param name="total">0</xsl:param>
+    <xsl:param name="position">1</xsl:param>
+    <xsl:variable name="tokens" select="count($scope/varlistentry)"/>
+    <xsl:variable name="token" select="$scope/varlistentry[$position]/term/token"/>
+    <xsl:variable name="size" select="substring-before($token,' KB')"/>
+    <xsl:variable name="rawsize">
+      <xsl:choose>
+        <xsl:when test="contains($size,',')">
+          <xsl:value-of select="concat(substring-before($size,','),substring-after($size,','))"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$size"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:choose>
+      <xsl:when test="$position &lt;= $tokens">
+        <xsl:call-template name="calculation">
+          <xsl:with-param name="scope" select="$scope"/>
+          <xsl:with-param name="position" select="$position +1"/>
+          <xsl:with-param name="total" select="$total + $rawsize"/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:choose>
+          <xsl:when test="$total &lt; '1000'">
+            <xsl:value-of select="$total"/>
+            <xsl:text>  KB</xsl:text>
+          </xsl:when>
+          <xsl:when test="$total &gt; '1000' and $total &lt; '5000'">
+            <xsl:value-of select="substring($total,1,1)"/>
+            <xsl:text>,</xsl:text>
+            <xsl:value-of select="substring($total,2)"/>
+            <xsl:text>  KB</xsl:text>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="round($total div 1024)"/>
+            <xsl:text>  MB</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/xhtml/lfs-navigational.xsl
===================================================================
--- BOOK/stylesheets/xhtml/lfs-navigational.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/xhtml/lfs-navigational.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,359 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+    <!-- Dropping the HEAD links -->
+  <xsl:template name="html.head">
+    <head>
+      <xsl:call-template name="system.head.content"/>
+      <xsl:call-template name="head.content"/>
+      <xsl:call-template name="user.head.content"/>
+    </head>
+  </xsl:template>
+
+    <!-- Header Navigation-->
+  <xsl:template name="header.navigation">
+    <xsl:param name="prev" select="/foo"/>
+    <xsl:param name="next" select="/foo"/>
+    <xsl:param name="nav.context"/>
+    <xsl:variable name="home" select="/*[1]"/>
+    <xsl:variable name="up" select="parent::*"/>
+    <xsl:variable name="row" select="count($prev) &gt; 0 or (count($up) &gt; 0
+            and generate-id($up) != generate-id($home)) or count($next) &gt; 0"/>
+    <!--Header titles-->
+    <xsl:if test="$row and $home != .">
+      <div class="navheader">
+        <xsl:if test="$home != .">
+          <div class="headertitles">
+            <h4>
+              <xsl:apply-templates select="$home" mode="object.title.markup"/>
+              <xsl:text> - </xsl:text>
+              <xsl:apply-templates select="$home" mode="object.subtitle.markup"/>
+            </h4>
+            <xsl:if test="$up != $home">
+              <h3>
+                <xsl:apply-templates select="$up" mode="object.title.markup"/>
+              </h3>
+            </xsl:if>
+          </div>
+        </xsl:if>
+        <ul class="headerlinks">
+          <!--Prev-->
+          <xsl:if test="count($prev)&gt;0 and $prev != $home">
+            <li class="prev">
+              <xsl:choose>
+                <xsl:when test="$prev[@id='ch-chroot-devices']
+                        or $prev[@id='ch-boot-whatnext']">
+                  <a accesskey="p">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object"
+                                select="//sect1[@id='ch-temp-system-choose']"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:attribute name="title">
+                      <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'prev'"/>
+                    </xsl:call-template>
+                  </a>
+                  <p>
+                    <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
+                  </p>
+                </xsl:when>
+                <xsl:otherwise>
+                  <a accesskey="p">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object" select="$prev"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:attribute name="title">
+                      <xsl:value-of select="$prev/title"/>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'prev'"/>
+                    </xsl:call-template>
+                  </a>
+                  <p>
+                    <xsl:value-of select="$prev/title"/>
+                  </p>
+                </xsl:otherwise>
+              </xsl:choose>
+            </li>
+          </xsl:if>
+          <!--Next-->
+          <xsl:if test="count($next)&gt;0 and @id!='ch-temp-system-choose'">
+            <li class="next">
+              <xsl:choose>
+                <xsl:when test="$next[@id='chapter-chroot'] or
+                        $next[@id='chapter-boot']">
+                  <a accesskey="n">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object"
+                                select="//part[@id='part5']"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:attribute name="title">
+                      <xsl:value-of select="//part[@id='part5']/title"/>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'next'"/>
+                    </xsl:call-template>
+                  </a>
+                  <p>
+                    <xsl:value-of select="//part[@id='part5']/title"/>
+                  </p>
+                </xsl:when>
+                <xsl:otherwise>
+                  <a accesskey="n">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object" select="$next"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:attribute name="title">
+                      <xsl:choose>
+                        <xsl:when test="local-name($next)='index'">
+                          <xsl:call-template name="gentext">
+                            <xsl:with-param name="key">Index</xsl:with-param>
+                          </xsl:call-template>
+                        </xsl:when>
+                        <xsl:otherwise>
+                          <xsl:value-of select="$next/title"/>
+                        </xsl:otherwise>
+                      </xsl:choose>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'next'"/>
+                    </xsl:call-template>
+                  </a>
+                  <p>
+                    <xsl:choose>
+                      <xsl:when test="local-name($next)='index'">
+                        <xsl:call-template name="gentext">
+                          <xsl:with-param name="key">Index</xsl:with-param>
+                        </xsl:call-template>
+                      </xsl:when>
+                      <xsl:otherwise>
+                        <xsl:value-of select="$next/title"/>
+                      </xsl:otherwise>
+                    </xsl:choose>
+                  </p>
+                </xsl:otherwise>
+              </xsl:choose>
+            </li>
+          </xsl:if>
+          <!--Up-->
+          <li class="up">
+            <xsl:if test="count($up)&gt;0 and $up != $home">
+              <a accesskey="u">
+                <xsl:attribute name="href">
+                  <xsl:call-template name="href.target">
+                    <xsl:with-param name="object" select="$up"/>
+                  </xsl:call-template>
+                </xsl:attribute>
+                <xsl:attribute name="title">
+                  <xsl:apply-templates select="$up" mode="object.title.markup"/>
+                </xsl:attribute>
+                <xsl:call-template name="navig.content">
+                  <xsl:with-param name="direction" select="'up'"/>
+                </xsl:call-template>
+              </a>
+            </xsl:if>
+            <xsl:text>.</xsl:text>
+          </li>
+          <!--Home-->
+          <li class="home">
+            <a accesskey="h">
+              <xsl:attribute name="href">
+                <xsl:call-template name="href.target">
+                  <xsl:with-param name="object" select="$home"/>
+                </xsl:call-template>
+              </xsl:attribute>
+                <xsl:attribute name="title">
+                  <xsl:value-of select="$home/bookinfo/title"/>
+                  <xsl:text> - </xsl:text>
+                  <xsl:value-of select="$home/bookinfo/subtitle"/>
+                </xsl:attribute>
+                <xsl:call-template name="navig.content">
+                  <xsl:with-param name="direction" select="'home'"/>
+                </xsl:call-template>
+            </a>
+          </li>
+        </ul>
+      </div>
+    </xsl:if>
+  </xsl:template>
+
+    <!-- Footer Navigation-->
+  <xsl:template name="footer.navigation">
+    <xsl:param name="prev" select="/foo"/>
+    <xsl:param name="next" select="/foo"/>
+    <xsl:param name="nav.context"/>
+    <xsl:variable name="home" select="/*[1]"/>
+    <xsl:variable name="up" select="parent::*"/>
+    <xsl:variable name="row" select="count($prev) &gt; 0 or count($up) &gt; 0
+            or count($next) &gt; 0 or generate-id($home) != generate-id(.)"/>
+    <xsl:if test="$row">
+      <div class="navfooter">
+        <ul>
+          <!--Prev-->
+          <xsl:if test="count($prev)&gt;0 and $prev != $home">
+            <li class="prev">
+              <xsl:choose>
+                <xsl:when test="$prev[@id='ch-chroot-devices']
+                        or $prev[@id='ch-boot-whatnext']">
+                  <a accesskey="p">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object"
+                                select="//sect1[@id='ch-temp-system-choose']"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:attribute name="title">
+                      <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'prev'"/>
+                    </xsl:call-template>
+                  </a>
+                  <p>
+                    <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
+                  </p>
+                </xsl:when>
+                <xsl:otherwise>
+                  <a accesskey="p">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object" select="$prev"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:attribute name="title">
+                      <xsl:value-of select="$prev/title"/>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'prev'"/>
+                    </xsl:call-template>
+                  </a>
+                  <p>
+                    <xsl:value-of select="$prev/title"/>
+                  </p>
+                </xsl:otherwise>
+              </xsl:choose>
+            </li>
+          </xsl:if>
+          <!--Next-->
+          <xsl:if test="(count($next)&gt;0 and @id!='ch-temp-system-choose')
+                  or generate-id($home) = generate-id(.)">
+            <li class="next">
+              <xsl:choose>
+                <xsl:when test="$next[@id='chapter-chroot'] or
+                        $next[@id='chapter-boot']">
+                  <a accesskey="n">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object"
+                                select="//part[@id='part5']"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:attribute name="title">
+                      <xsl:value-of select="//part[@id='part5']/title"/>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'next'"/>
+                    </xsl:call-template>
+                  </a>
+                  <p>
+                    <xsl:value-of select="//part[@id='part5']/title"/>
+                  </p>
+                </xsl:when>
+                <xsl:otherwise>
+                  <a accesskey="n">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object" select="$next"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:attribute name="title">
+                      <xsl:choose>
+                        <xsl:when test="local-name($next)='index'">
+                          <xsl:call-template name="gentext">
+                            <xsl:with-param name="key">Index</xsl:with-param>
+                          </xsl:call-template>
+                        </xsl:when>
+                        <xsl:otherwise>
+                          <xsl:value-of select="$next/title"/>
+                        </xsl:otherwise>
+                      </xsl:choose>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'next'"/>
+                    </xsl:call-template>
+                  </a>
+                  <p>
+                    <xsl:choose>
+                      <xsl:when test="local-name($next)='index'">
+                        <xsl:call-template name="gentext">
+                          <xsl:with-param name="key">Index</xsl:with-param>
+                        </xsl:call-template>
+                      </xsl:when>
+                      <xsl:otherwise>
+                        <xsl:value-of select="$next/title"/>
+                      </xsl:otherwise>
+                    </xsl:choose>
+                  </p>
+                </xsl:otherwise>
+              </xsl:choose>
+            </li>
+          </xsl:if>
+          <!--Up-->
+          <li class="up">
+            <xsl:if test="count($up)&gt;0 and $up != $home">
+              <a accesskey="u">
+                <xsl:attribute name="href">
+                  <xsl:call-template name="href.target">
+                    <xsl:with-param name="object" select="$up"/>
+                  </xsl:call-template>
+                </xsl:attribute>
+                <xsl:attribute name="title">
+                  <xsl:apply-templates select="$up" mode="object.title.markup"/>
+                </xsl:attribute>
+                <xsl:call-template name="navig.content">
+                  <xsl:with-param name="direction" select="'up'"/>
+                </xsl:call-template>
+              </a>
+            </xsl:if>
+            <xsl:text>.</xsl:text>
+          </li>
+          <!--Home-->
+          <li class="home">
+            <xsl:if  test="$home != .">
+              <a accesskey="h">
+                <xsl:attribute name="href">
+                  <xsl:call-template name="href.target">
+                    <xsl:with-param name="object" select="$home"/>
+                  </xsl:call-template>
+                </xsl:attribute>
+                <xsl:attribute name="title">
+                  <xsl:value-of select="$home/bookinfo/title"/>
+                  <xsl:text> - </xsl:text>
+                  <xsl:value-of select="$home/bookinfo/subtitle"/>
+                </xsl:attribute>
+                <xsl:call-template name="navig.content">
+                  <xsl:with-param name="direction" select="'home'"/>
+                </xsl:call-template>
+              </a>
+            </xsl:if>
+            <xsl:text>.</xsl:text>
+          </li>
+        </ul>
+      </div>
+    </xsl:if>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/xhtml/lfs-sections.xsl
===================================================================
--- BOOK/stylesheets/xhtml/lfs-sections.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/xhtml/lfs-sections.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,143 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+
+   <!-- Sect1 attributes -->
+  <xsl:template match="sect1">
+    <div>
+      <xsl:choose>
+        <xsl:when test="@role">
+          <xsl:attribute name="class">
+            <xsl:value-of select="@role"/>
+          </xsl:attribute>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:attribute name="class">
+            <xsl:value-of select="name(.)"/>
+          </xsl:attribute>
+        </xsl:otherwise>
+      </xsl:choose>
+      <xsl:call-template name="language.attribute"/>
+      <xsl:call-template name="sect1.titlepage"/>
+      <xsl:apply-templates/>
+      <xsl:call-template name="process.chunk.footnotes"/>
+    </div>
+  </xsl:template>
+
+    <!-- Sect2 attributes -->
+  <xsl:template match="sect2">
+    <div>
+      <xsl:choose>
+        <xsl:when test="@role">
+          <xsl:attribute name="class">
+            <xsl:value-of select="@role"/>
+          </xsl:attribute>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:attribute name="class">
+            <xsl:value-of select="name(.)"/>
+          </xsl:attribute>
+        </xsl:otherwise>
+      </xsl:choose>
+      <xsl:call-template name="language.attribute"/>
+      <xsl:call-template name="sect2.titlepage"/>
+      <xsl:apply-templates/>
+      <xsl:call-template name="process.chunk.footnotes"/>
+    </div>
+  </xsl:template>
+
+    <!-- Sections numbering -->
+  <xsl:param name="section.autolabel" select="1"/>
+  <xsl:param name="section.label.includes.component.label" select="1"/>
+
+    <!-- Use lowercase roman numbers for sect1 in preface -->
+  <xsl:template match="sect1" mode="label.markup">
+    <!-- if the parent is a component, maybe label that too -->
+    <xsl:variable name="parent.is.component">
+      <xsl:call-template name="is.component">
+        <xsl:with-param name="node" select=".."/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="component.label">
+      <xsl:if test="$section.label.includes.component.label != 0
+                    and $parent.is.component != 0">
+        <xsl:variable name="parent.label">
+          <xsl:apply-templates select=".." mode="label.markup"/>
+        </xsl:variable>
+        <xsl:if test="$parent.label != ''">
+          <xsl:apply-templates select=".." mode="label.markup"/>
+          <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
+        </xsl:if>
+      </xsl:if>
+    </xsl:variable>
+    <xsl:choose>
+      <xsl:when test="@label">
+        <xsl:value-of select="@label"/>
+      </xsl:when>
+      <xsl:when test="$section.autolabel != 0">
+        <xsl:copy-of select="$component.label"/>
+        <xsl:choose>
+          <xsl:when test="ancestor::preface">
+            <xsl:number format="i" count="sect1"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:number format="1" count="sect1"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+    </xsl:choose>
+  </xsl:template>
+
+    <!-- Skip numeration for sect2 with empty title -->
+  <xsl:template match="sect2|sect3|sect4|sect5" mode="label.markup">
+    <xsl:if test="string-length(title) > 0">
+      <!-- label the parent -->
+      <xsl:variable name="parent.label">
+        <xsl:apply-templates select=".." mode="label.markup"/>
+      </xsl:variable>
+      <xsl:if test="$parent.label != ''">
+        <xsl:apply-templates select=".." mode="label.markup"/>
+      <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
+      </xsl:if>
+      <xsl:choose>
+        <xsl:when test="@label">
+          <xsl:value-of select="@label"/>
+        </xsl:when>
+        <xsl:when test="$section.autolabel != 0">
+          <xsl:choose>
+            <xsl:when test="local-name(.) = 'sect2'">
+              <xsl:choose>
+                <!-- If the first sect2 isn't numbered, renumber the remainig sections -->
+                <xsl:when test="string-length(../sect2[1]/title) = 0">
+                  <xsl:variable name="totalsect2">
+                    <xsl:number count="sect2"/>
+                  </xsl:variable>
+                  <xsl:number value="$totalsect2 - 1"/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:number count="sect2"/>
+                </xsl:otherwise>
+              </xsl:choose>
+            </xsl:when>
+            <xsl:when test="local-name(.) = 'sect3'">
+              <xsl:number count="sect3"/>
+            </xsl:when>
+            <xsl:when test="local-name(.) = 'sect4'">
+              <xsl:number count="sect4"/>
+            </xsl:when>
+            <xsl:when test="local-name(.) = 'sect5'">
+              <xsl:number count="sect5"/>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:message>label.markup: this can't happen!</xsl:message>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:when>
+      </xsl:choose>
+    </xsl:if>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/xhtml/lfs-titles.xsl
===================================================================
--- BOOK/stylesheets/xhtml/lfs-titles.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/xhtml/lfs-titles.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,117 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+  <xsl:template name="part.titlepage">
+    <div class="titlepage">
+      <h1 class="{name(.)}">
+        <xsl:apply-templates select="." mode="label.markup"/>
+        <xsl:text>. </xsl:text>
+        <xsl:value-of select="title"/>
+      </h1>
+    </div>
+  </xsl:template>
+
+  <xsl:template name="chapter.titlepage">
+    <div class="titlepage">
+      <h1 class="{name(.)}">
+        <xsl:apply-templates select="." mode="label.markup"/>
+        <xsl:text>. </xsl:text>
+        <xsl:value-of select="title"/>
+      </h1>
+    </div>
+  </xsl:template>
+
+  <xsl:template name="preface.titlepage">
+    <div class="titlepage">
+      <h1 class="{name(.)}">
+        <xsl:value-of select="title"/>
+      </h1>
+    </div>
+  </xsl:template>
+
+  <xsl:template name="appendix.titlepage">
+    <div class="titlepage">
+      <h1 class="{name(.)}">
+        <xsl:apply-templates select="." mode="label.markup"/>
+        <xsl:text>. </xsl:text>
+        <xsl:value-of select="title"/>
+      </h1>
+    </div>
+  </xsl:template>
+
+  <xsl:template name="sect1.titlepage">
+    <xsl:choose>
+        <!-- I should find a better test -->
+      <xsl:when test="position() = 4">
+        <div class="titlepage">
+          <xsl:if test="@id">
+            <a id="{@id}" name="{@id}"/>
+          </xsl:if>
+          <h2 class="{name(.)}">
+            <xsl:apply-templates select="." mode="label.markup"/>
+            <xsl:text>. </xsl:text>
+            <xsl:value-of select="title"/>
+          </h2>
+        </div>
+      </xsl:when>
+      <xsl:otherwise>
+        <div class="titlepage">
+          <h1 class="{name(.)}">
+            <xsl:apply-templates select="." mode="label.markup"/>
+            <xsl:text>. </xsl:text>
+            <xsl:value-of select="title"/>
+          </h1>
+        </div>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="sect2.titlepage">
+    <xsl:choose>
+      <xsl:when test="string-length(title) = 0"/>
+      <xsl:otherwise>
+        <div class="titlepage">
+          <xsl:if test="@id">
+            <a id="{@id}" name="{@id}"/>
+          </xsl:if>
+          <h2 class="{name(.)}">
+            <xsl:if test="not(ancestor::preface)">
+              <xsl:apply-templates select="." mode="label.markup"/>
+              <xsl:text>. </xsl:text>
+            </xsl:if>
+            <xsl:value-of select="title"/>
+          </h2>
+        </div>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="dedication.titlepage">
+    <div class="titlepage">
+      <h2 class="{name(.)}">
+        <xsl:value-of select="title"/>
+      </h2>
+    </div>
+  </xsl:template>
+
+    <!-- Added the role param for proper punctuation in xref calls. -->
+  <xsl:template match="*" mode="insert.title.markup">
+    <xsl:param name="purpose"/>
+    <xsl:param name="xrefstyle"/>
+    <xsl:param name="title"/>
+    <xsl:param name="role"/>
+    <xsl:choose>
+      <xsl:when test="$purpose = 'xref' and titleabbrev">
+        <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:copy-of select="$title"/>
+        <xsl:value-of select="$role"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/xhtml/lfs-toc.xsl
===================================================================
--- BOOK/stylesheets/xhtml/lfs-toc.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/xhtml/lfs-toc.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,159 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+    <!-- General settings -->
+  <xsl:param name="generate.toc">
+    appendix  nop
+    book      toc,title
+    chapter   nop
+    part      toc
+    preface   nop
+    qandadiv  nop
+    qandaset  nop
+    reference nop
+    sect1     nop
+    sect2     nop
+    sect3     nop
+    sect4     nop
+    sect5     nop
+    section   nop
+    set       nop
+  </xsl:param>
+
+  <xsl:param name="toc.section.depth">1</xsl:param>
+
+  <xsl:param name="toc.max.depth">3</xsl:param>
+
+    <!-- Making the TOC -->
+  <xsl:template name="make.toc">
+    <xsl:param name="toc-context" select="."/>
+    <xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
+    <xsl:if test="$nodes">
+      <div class="toc">
+        <h3>
+          <xsl:call-template name="gentext">
+            <xsl:with-param name="key">TableofContents</xsl:with-param>
+          </xsl:call-template>
+        </h3>
+        <ul>
+          <xsl:apply-templates select="$nodes" mode="toc">
+            <xsl:with-param name="toc-context" select="$toc-context"/>
+          </xsl:apply-templates>
+        </ul>
+      </div>
+    </xsl:if>
+  </xsl:template>
+
+    <!-- Making the subtocs -->
+  <xsl:template name="subtoc">
+    <xsl:param name="toc-context" select="."/>
+    <xsl:param name="nodes" select="NOT-AN-ELEMENT"/>
+    <xsl:variable name="subtoc">
+      <ul>
+        <xsl:apply-templates mode="toc" select="$nodes">
+          <xsl:with-param name="toc-context" select="$toc-context"/>
+        </xsl:apply-templates>
+      </ul>
+    </xsl:variable>
+    <xsl:variable name="depth">
+      <xsl:choose>
+        <xsl:when test="local-name(.) = 'sect1'">1</xsl:when>
+        <xsl:otherwise>0</xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="depth.from.context"
+            select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
+    <li class="{name(.)}">
+      <xsl:call-template name="toc.line">
+        <xsl:with-param name="toc-context" select="$toc-context"/>
+      </xsl:call-template>
+      <xsl:if test="$toc.section.depth &gt; $depth and count($nodes)&gt;0
+              and $toc.max.depth &gt; $depth.from.context">
+        <xsl:copy-of select="$subtoc"/>
+      </xsl:if>
+    </li>
+  </xsl:template>
+
+    <!--Adding the h* tags and dropping redundats links-->
+  <xsl:template name="toc.line">
+    <xsl:param name="toc-context" select="."/>
+    <xsl:param name="depth" select="1"/>
+    <xsl:param name="depth.from.context" select="8"/>
+    <xsl:choose>
+      <xsl:when test="local-name(.) = 'sect1'">
+        <a>
+          <xsl:attribute name="href">
+            <xsl:call-template name="href.target">
+              <xsl:with-param name="context" select="$toc-context"/>
+            </xsl:call-template>
+          </xsl:attribute>
+          <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+        </a>
+      </xsl:when>
+      <xsl:when test="local-name(.) = 'appendix'">
+        <a>
+          <xsl:attribute name="href">
+            <xsl:call-template name="href.target">
+              <xsl:with-param name="context" select="$toc-context"/>
+            </xsl:call-template>
+          </xsl:attribute>
+          <xsl:variable name="label">
+            <xsl:apply-templates select="." mode="label.markup"/>
+          </xsl:variable>
+          <xsl:copy-of select="$label"/>
+          <xsl:if test="$label != ''">
+            <xsl:value-of select="$autotoc.label.separator"/>
+          </xsl:if>
+          <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+        </a>
+      </xsl:when>
+      <xsl:when test="local-name(.) = 'chapter' or local-name(.) = 'preface'">
+        <h4>
+          <xsl:variable name="label">
+            <xsl:apply-templates select="." mode="label.markup"/>
+          </xsl:variable>
+          <xsl:copy-of select="$label"/>
+          <xsl:if test="$label != ''">
+            <xsl:value-of select="$autotoc.label.separator"/>
+          </xsl:if>
+          <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+        </h4>
+      </xsl:when>
+      <xsl:when test="local-name(.) = 'part'">
+        <h3>
+          <xsl:variable name="label">
+            <xsl:apply-templates select="." mode="label.markup"/>
+          </xsl:variable>
+          <xsl:copy-of select="$label"/>
+          <xsl:if test="$label != ''">
+            <xsl:value-of select="$autotoc.label.separator"/>
+          </xsl:if>
+          <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+        </h3>
+      </xsl:when>
+      <xsl:otherwise>
+        <h3>
+          <a>
+            <xsl:attribute name="href">
+              <xsl:call-template name="href.target">
+                <xsl:with-param name="context" select="$toc-context"/>
+              </xsl:call-template>
+            </xsl:attribute>
+            <xsl:variable name="label">
+              <xsl:apply-templates select="." mode="label.markup"/>
+            </xsl:variable>
+            <xsl:copy-of select="$label"/>
+            <xsl:if test="$label != ''">
+              <xsl:value-of select="$autotoc.label.separator"/>
+            </xsl:if>
+            <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+          </a>
+        </h3>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/stylesheets/xhtml/lfs-xref.xsl
===================================================================
--- BOOK/stylesheets/xhtml/lfs-xref.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/stylesheets/xhtml/lfs-xref.xsl	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,270 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+                version="1.0">
+
+     <!-- Making a proper punctuation in xref (only for English language).-->
+  <xsl:template match="xref" name="xref">
+    <xsl:variable name="targets" select="key('id',@linkend)"/>
+    <xsl:variable name="target" select="$targets[1]"/>
+    <xsl:variable name="refelem" select="local-name($target)"/>
+    <xsl:variable name="role" select="@role"/>
+    <xsl:call-template name="check.id.unique">
+      <xsl:with-param name="linkend" select="@linkend"/>
+    </xsl:call-template>
+    <xsl:call-template name="anchor"/>
+    <xsl:choose>
+      <xsl:when test="count($target) = 0">
+        <xsl:message>
+          <xsl:text>XRef to nonexistent id: </xsl:text>
+          <xsl:value-of select="@linkend"/>
+        </xsl:message>
+        <xsl:text>???</xsl:text>
+      </xsl:when>
+      <xsl:when test="$target/@xreflabel">
+        <a>
+          <xsl:attribute name="href">
+            <xsl:call-template name="href.target">
+              <xsl:with-param name="object" select="$target"/>
+            </xsl:call-template>
+          </xsl:attribute>
+          <xsl:call-template name="xref.xreflabel">
+            <xsl:with-param name="target" select="$target"/>
+          </xsl:call-template>
+        </a>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="href">
+          <xsl:call-template name="href.target">
+            <xsl:with-param name="object" select="$target"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:apply-templates select="$target" mode="xref-to-prefix"/>
+        <a href="{$href}">
+          <xsl:if test="$target/title or $target/*/title">
+            <xsl:attribute name="title">
+              <xsl:apply-templates select="$target" mode="xref-title"/>
+            </xsl:attribute>
+          </xsl:if>
+          <xsl:apply-templates select="$target" mode="xref-to">
+            <xsl:with-param name="referrer" select="."/>
+            <xsl:with-param name="role" select="$role"/>
+            <xsl:with-param name="xrefstyle">
+              <xsl:value-of select="@xrefstyle"/>
+            </xsl:with-param>
+          </xsl:apply-templates>
+        </a>
+        <xsl:apply-templates select="$target" mode="xref-to-suffix"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="section|simplesect|sect1|sect2|sect3|sect4|sect5|refsect1
+          |refsect2|refsect3|refsection" mode="xref-to">
+    <xsl:param name="referrer"/>
+    <xsl:param name="xrefstyle"/>
+    <xsl:param name="role"/>
+    <xsl:apply-templates select="." mode="object.xref.markup">
+      <xsl:with-param name="purpose" select="'xref'"/>
+      <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+      <xsl:with-param name="referrer" select="$referrer"/>
+      <xsl:with-param name="role" select="$role"/>
+    </xsl:apply-templates>
+  </xsl:template>
+
+
+  <xsl:template match="*" mode="object.xref.markup">
+    <xsl:param name="purpose"/>
+    <xsl:param name="xrefstyle"/>
+    <xsl:param name="referrer"/>
+    <xsl:param name="role"/>
+    <xsl:variable name="template">
+      <xsl:choose>
+        <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:')">
+          <xsl:call-template name="make.gentext.template">
+            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+            <xsl:with-param name="purpose" select="$purpose"/>
+            <xsl:with-param name="referrer" select="$referrer"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:when test="starts-with(normalize-space($xrefstyle), 'template:')">
+          <xsl:value-of select="substring-after(normalize-space($xrefstyle), 'template:')"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:apply-templates select="." mode="object.xref.template">
+            <xsl:with-param name="purpose" select="$purpose"/>
+            <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+            <xsl:with-param name="referrer" select="$referrer"/>
+          </xsl:apply-templates>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="$template = ''">
+      <xsl:message>
+        <xsl:text>object.xref.markup: empty xref template</xsl:text>
+        <xsl:text> for linkend="</xsl:text>
+        <xsl:value-of select="@id"/>
+        <xsl:text>" and @xrefstyle="</xsl:text>
+        <xsl:value-of select="$xrefstyle"/>
+        <xsl:text>"</xsl:text>
+      </xsl:message>
+    </xsl:if>
+    <xsl:call-template name="substitute-markup">
+      <xsl:with-param name="purpose" select="$purpose"/>
+      <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+      <xsl:with-param name="referrer" select="$referrer"/>
+      <xsl:with-param name="template" select="$template"/>
+      <xsl:with-param name="role" select="$role"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="substitute-markup">
+    <xsl:param name="template" select="''"/>
+    <xsl:param name="allow-anchors" select="'0'"/>
+    <xsl:param name="title" select="''"/>
+    <xsl:param name="subtitle" select="''"/>
+    <xsl:param name="label" select="''"/>
+    <xsl:param name="pagenumber" select="''"/>
+    <xsl:param name="purpose"/>
+    <xsl:param name="xrefstyle"/>
+    <xsl:param name="referrer"/>
+    <xsl:param name="role"/>
+    <xsl:choose>
+      <xsl:when test="contains($template, '%')">
+        <xsl:value-of select="substring-before($template, '%')"/>
+        <xsl:variable name="candidate"
+              select="substring(substring-after($template, '%'), 1, 1)"/>
+        <xsl:choose>
+          <xsl:when test="$candidate = 't'">
+            <xsl:apply-templates select="." mode="insert.title.markup">
+              <xsl:with-param name="purpose" select="$purpose"/>
+              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+              <xsl:with-param name="role" select="$role"/>
+              <xsl:with-param name="title">
+                <xsl:choose>
+                  <xsl:when test="$title != ''">
+                    <xsl:copy-of select="$title"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:apply-templates select="." mode="title.markup">
+                      <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+                    </xsl:apply-templates>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:with-param>
+            </xsl:apply-templates>
+          </xsl:when>
+          <xsl:when test="$candidate = 's'">
+            <xsl:apply-templates select="." mode="insert.subtitle.markup">
+              <xsl:with-param name="purpose" select="$purpose"/>
+              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+              <xsl:with-param name="subtitle">
+                <xsl:choose>
+                  <xsl:when test="$subtitle != ''">
+                    <xsl:copy-of select="$subtitle"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:apply-templates select="." mode="subtitle.markup">
+                      <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+                    </xsl:apply-templates>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:with-param>
+            </xsl:apply-templates>
+          </xsl:when>
+          <xsl:when test="$candidate = 'n'">
+            <xsl:apply-templates select="." mode="insert.label.markup">
+              <xsl:with-param name="purpose" select="$purpose"/>
+              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+              <xsl:with-param name="label">
+                <xsl:choose>
+                  <xsl:when test="$label != ''">
+                    <xsl:copy-of select="$label"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:apply-templates select="." mode="label.markup"/>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:with-param>
+            </xsl:apply-templates>
+          </xsl:when>
+          <xsl:when test="$candidate = 'p'">
+            <xsl:apply-templates select="." mode="insert.pagenumber.markup">
+              <xsl:with-param name="purpose" select="$purpose"/>
+              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+              <xsl:with-param name="pagenumber">
+                <xsl:choose>
+                  <xsl:when test="$pagenumber != ''">
+                    <xsl:copy-of select="$pagenumber"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:apply-templates select="." mode="pagenumber.markup"/>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:with-param>
+            </xsl:apply-templates>
+          </xsl:when>
+          <xsl:when test="$candidate = 'd'">
+            <xsl:apply-templates select="." mode="insert.direction.markup">
+              <xsl:with-param name="purpose" select="$purpose"/>
+              <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+              <xsl:with-param name="direction">
+                <xsl:choose>
+                  <xsl:when test="$referrer">
+                    <xsl:variable name="referent-is-below">
+                      <xsl:for-each select="preceding::xref">
+                        <xsl:if test="generate-id(.) = generate-id($referrer)">1</xsl:if>
+                      </xsl:for-each>
+                    </xsl:variable>
+                    <xsl:choose>
+                      <xsl:when test="$referent-is-below = ''">
+                        <xsl:call-template name="gentext">
+                          <xsl:with-param name="key" select="'above'"/>
+                        </xsl:call-template>
+                      </xsl:when>
+                      <xsl:otherwise>
+                        <xsl:call-template name="gentext">
+                          <xsl:with-param name="key" select="'below'"/>
+                        </xsl:call-template>
+                      </xsl:otherwise>
+                    </xsl:choose>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:message>Attempt to use %d in gentext with no referrer!</xsl:message>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:with-param>
+            </xsl:apply-templates>
+          </xsl:when>
+          <xsl:when test="$candidate = '%' ">
+            <xsl:text>%</xsl:text>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>%</xsl:text><xsl:value-of select="$candidate"/>
+          </xsl:otherwise>
+        </xsl:choose>
+        <!-- recurse with the rest of the template string -->
+        <xsl:variable name="rest"
+              select="substring($template,
+              string-length(substring-before($template, '%'))+3)"/>
+        <xsl:call-template name="substitute-markup">
+          <xsl:with-param name="template" select="$rest"/>
+          <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+          <xsl:with-param name="title" select="$title"/>
+          <xsl:with-param name="subtitle" select="$subtitle"/>
+          <xsl:with-param name="label" select="$label"/>
+          <xsl:with-param name="pagenumber" select="$pagenumber"/>
+          <xsl:with-param name="purpose" select="$purpose"/>
+          <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
+          <xsl:with-param name="referrer" select="$referrer"/>
+          <xsl:with-param name="role" select="$role"/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$template"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: BOOK/the-end/chapter.xml
===================================================================
--- BOOK/the-end/chapter.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/the-end/chapter.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../general.ent">
   %general-entities;
@@ -13,4 +13,6 @@
 
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="theend.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="getcounted.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="reboot.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="whatnow.xml"/>
 
Index: BOOK/the-end/getcounted.xml
===================================================================
--- BOOK/the-end/getcounted.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/the-end/getcounted.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-finish-getcounted">
+  <?dbhtml filename="getcounted.html"?>
+
+  <title>Get Counted</title>
+
+  <para>Now that you have finished the book, do you want to be counted
+  as an LFS user? Head over to <ulink
+  url="&lfs-root;cgi-bin/lfscounter.cgi"/> and register as an LFS user
+  by entering your name and the first LFS version you have used.</para>
+
+  <para>Let's reboot into LFS now.</para>
+
+</sect1>
Index: BOOK/the-end/reboot.xml
===================================================================
--- BOOK/the-end/reboot.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
+++ BOOK/the-end/reboot.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-finish-reboot">
+  <?dbhtml filename="reboot.html"?>
+
+  <title>Rebooting the System</title>
+
+  <para>The system you have created in this book is quite minimal, and most
+  likely will not have the functionality you would need to be able to
+  continue forward. By installing a few extra packages from the BLFS
+  book while still in our current chroot environment, you can leave
+  yourself in a much better position to continue on once you reboot
+  into your new CLFS installation. Installing a text mode web browser,
+  such as Lynx, you can easily view the BLFS book in one virtual terminal,
+  while building packages in another. The GPM package will also allow you
+  to perform copy/paste actions in your virtual terminals. Lastly, if you
+  are in a situation where static IP configuration does not meet your
+  networking requirements, installing packages such as Dhcpcd or PPP at
+  this point might also be useful.</para>
+
+  <para>Now that we have said that, lets move on to booting our shiny
+  new CLFS installation for the first time! Reboot the system with:</para>
+
+<screen><userinput>shutdown -r now</userinput></screen>
+
+  <para>Assuming the boot loader was set up as outlined earlier,
+  <emphasis>CLFS &version;</emphasis> will boot automatically.</para>
+
+  <para>When the reboot is complete, the CLFS system is ready for use and
+  more software may be added to suit your needs.</para>
+
+</sect1>
Index: BOOK/the-end/theend.xml
===================================================================
--- BOOK/the-end/theend.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/the-end/theend.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../general.ent">
   %general-entities;
@@ -11,10 +11,18 @@
   <title>The End</title>
 
+  <indexterm zone="ch-finish-theend">
+    <primary sortas="e-/etc/lfs-release">/etc/lfs-release</primary>
+  </indexterm>
+
   <para>Well done! The new CLFS system is installed! We wish you much
   success with your shiny new custom-built Linux system.</para>
 
-  <para>Assuming the boot loader was set up properly,
-  <emphasis>CLFS &version;</emphasis> will boot automatically when you power on
-  the target.</para>
+  <para>It may be a good idea to create an
+  <filename>/etc/clfs-release</filename> file. By having this file, it is
+  very easy for you (and for us if you need to ask for help at some
+  point) to find out which CLFS version is installed on the system.
+  Create this file by running:</para>
+
+<screen><userinput>echo &version; &gt; ${CLFS}/etc/clfs-release</userinput></screen>
 
 </sect1>
Index: BOOK/the-end/whatnow.xml
===================================================================
--- BOOK/the-end/whatnow.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/the-end/whatnow.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../general.ent">
   %general-entities;
@@ -32,4 +32,11 @@
 
         <listitem>
+          <para>Freshmeat.net (<ulink url="http://freshmeat.net/"/>)</para>
+
+          <para>Freshmeat can notify you (via email) of new versions of
+          packages installed on your system.</para>
+        </listitem>
+
+        <listitem>
           <para><ulink url="http://www.cert.org/">CERT</ulink> (Computer
           Emergency Response Team)</para>
@@ -52,13 +59,4 @@
       </itemizedlist>
 
-    </listitem>
-
-    <listitem>
-      <para>Community Driven Beyond Linux From Scratch</para>
-
-      <para>The Community Driven Beyond Linux From Scratch wiki provides
-      information, installation procedures, and other tips for a large variety
-      of software that can be installed on a CLFS system.  The CBLFS wiki is
-      located at <ulink url="&cblfs-wiki;"/>.</para>
     </listitem>
 
Index: OK/tidy.sh
===================================================================
--- BOOK/tidy.sh	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,21 +1,0 @@
-#!/bin/sh
-# Written By: Joe Ciccone <jciccone@gmail.com>
-
-if test -z "$1"; then
-  echo "Usage: $0 path"
-  exit 1
-fi
-
-TOP=`dirname $0`
-
-if test -d "$1"; then
-  find "$1" -type f -name \*.html | while read file; do
-    tidy -config "${TOP}/tidy.conf" "$file"
-    sed -i -e "s@text/html@application/xhtml+xml@g" "$file"
-  done
-else
-  tidy -config "${TOP}/tidy.conf" "$1"
-    sed -i -e "s@text/html@application/xhtml+xml@g" "$1"
-fi
-
-exit $?
Index: BOOK/x86-index.xml
===================================================================
--- BOOK/x86-index.xml	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ BOOK/x86-index.xml	(revision a9e389d1332d7291fc7d94c861c6af59e98958ac)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "general.ent">
   %general-entities;
@@ -8,6 +8,6 @@
 <book>
 
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="preface/x86/bookinfo.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="preface/preface.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/x86/bookinfo.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/preface.xml"/>
 
   <part id="part1">
@@ -16,5 +16,5 @@
     <title>Introduction</title>
 
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction/chapter.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction/x86-chapter.xml"/>
 
   </part>
@@ -25,5 +25,6 @@
     <title>Preparing for the Build</title>
 
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="materials/chapter.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="partitioning/x86-chapter.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="materials/x86-chapter.xml"/>
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="final-preps/chapter.xml"/>
 
@@ -44,7 +45,8 @@
     <title>Building the CLFS System</title>
 
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="final-system/chapter.xml"/>
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootable/chapter.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="final-system/x86-chapter.xml"/>
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootscripts/chapter.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootable/x86-chapter.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="the-end/chapter.xml"/>
 
   </part>
@@ -53,20 +55,13 @@
     <?dbhtml filename="part5.html"?>
 
-    <title>Beyond CLFS Embedded</title>
+    <title>Appendices</title>
 
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="beyond/chapter.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="appendices/acronymlist.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="appendices/acknowledgments.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="appendices/dependencies/common.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="appendices/dependencies/x86.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="appendices/license.xml"/>
 
   </part>
-
-  <part id="part6">
-    <?dbhtml filename="part6.html"?>
-
-    <title>Cleanup and Boot</title>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="cleanup/chapter.xml"/>
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="the-end/chapter.xml"/>
-
-  </part>
-
   <index/>
 
Index: CENSE
===================================================================
--- LICENSE	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,113 +1,0 @@
-Open Publication License v1.0, 8 June 1999
-
-I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS
-
-The Open Publication works may be reproduced and distributed in whole or in
-part, in any medium physical or electronic, provided that the terms of this
-license are adhered to, and that this license or an incorporation of it by
-reference (with any options elected by the author(s) and/or publisher) is
-displayed in the reproduction.
-
-Proper form for an incorporation by reference is as follows:
-
-    Copyright Â© 1999-2013 by each contributor. This material may be distributed
-    only subject to the terms and conditions set forth in the Open Publication
-    License, v1.0 or later (the latest version is presently available at
-    http://www.opencontent.org/openpub/).
-
-The reference must be immediately followed with any options elected by the
-author(s) and/or publisher of the document (see section VI).
-
-Commercial redistribution of Open Publication-licensed material is permitted.
-
-Any publication in standard (paper) book form shall require the citation of the
-original publisher and author. The publisher and author's names shall appear on
-all outer surfaces of the book. On all outer surfaces of the book the original
-publisher's name shall be as large as the bridgehead of the work and cited as
-possessive with respect to the bridgehead.
-
-II. COPYRIGHT
-
-The copyright to each Open Publication is owned by its author(s) or designee.
-
-III. SCOPE OF LICENSE
-
-The following license terms apply to all Open Publication works, unless
-otherwise explicitly stated in the document.
-
-Mere aggregation of Open Publication works or a portion of an Open Publication
-work with other works or programs on the same media shall not cause this license
-to apply to those other works. The aggregate work shall contain a notice
-specifying the inclusion of the Open Publication material and appropriate
-copyright notice.
-
-SEVERABILITY. If any part of this license is found to be unenforceable in any
-jurisdiction, the remaining portions of the license remain in force.
-
-NO WARRANTY. Open Publication works are licensed and provided "as is" without
-warranty of any kind, express or implied, including, but not limited to, the
-implied warranties of merchantability and fitness for a particular purpose or a
-warranty of non-infringement.
-
-IV. REQUIREMENTS ON MODIFIED WORKS
-
-All modified versions of documents covered by this license, including
-translations, anthologies, compilations and partial documents, must meet the
-following requirements:
-
-    The modified version must be labeled as such.
-
-    The person making the modifications must be identified and the modifications
-    dated.
-
-    Acknowledgement of the original author and publisher if applicable must be
-    retained according to normal academic citation practices.
-
-    The location of the original unmodified document must be identified.
-
-    The original author's (or authors') name(s) may not be used to assert or
-    imply endorsement of the resulting document without the original author's
-    (or authors') permission.
-
-V. GOOD-PRACTICE RECOMMENDATIONS
-
-In addition to the requirements of this license, it is requested from and
-strongly recommended of redistributors that:
-
-    If you are distributing Open Publication works on hardcopy or CD-ROM, you
-    provide email notification to the authors of your intent to redistribute at
-    least thirty days before your manuscript or media freeze, to give the
-    authors time to provide updated documents. This notification should describe
-    modifications, if any, made to the document.
-
-    All substantive modifications (including deletions) be either clearly marked
-    up in the document or else described in an attachment to the document.
-
-    Finally, while it is not mandatory under this license, it is considered good
-    form to offer a free copy of any hardcopy and CD-ROM expression of an Open
-    Publication-licensed work to its author(s).
-
-VI. LICENSE OPTIONS
-
-The author(s) and/or publisher of an Open Publication-licensed document may
-elect certain options by appending language to the reference to or copy of the
-license. These options are considered part of the license instance and must be
-included with the license (or its incorporation by reference) in derived works.
-
-A. To prohibit distribution of substantively modified versions without the
-explicit permission of the author(s). "Substantive modification" is defined as a
-change to the semantic content of the document, and excludes mere changes in
-format or typographical corrections.
-
-To accomplish this, add the phrase `Distribution of substantively modified
-versions of this document is prohibited without the explicit permission of the
-copyright holder.' to the license reference or copy.
-
-B. To prohibit any publication of this work or derivative works in whole or in
-part in standard (paper) book form for commercial purposes is prohibited unless
-prior permission is obtained from the copyright holder.
-
-To accomplish this, add the phrase 'Distribution of the work or derivative of
-the work in any standard (paper) book form is prohibited unless prior permission
-is obtained from the copyright holder.' to the license reference or copy.  OPEN
-PUBLICATION POLICY APPENDIX
Index: ADME.md
===================================================================
--- README.md	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Cross Linux From Scratch Embedded
-=================================
-
-Cross Linux From Scratch (CLFS) Embedded shows you how to build a Linux system
-from source, targeting users who want to make a very small system.
-
-Running with 16 MB of RAM and 16 MB of "disk" is very possible.
-
-For more information about CLFS, visit the [CLFS website][trac].
-
-To build the book, please see the BOOK/INSTALL.md file for requirements and
-exact steps.
-
-[trac]:http://trac.clfs.org
Index: tches/iana-etc-2.30-update-2.patch
===================================================================
--- patches/iana-etc-2.30-update-2.patch	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,140 +1,0 @@
-Submitted By: Andrew Bradford <andrew@bradfordembedded.com>
-Date: 2013-10-22
-Initial Package Version: 2.30
-Origin:	Arch Linux
-Upstream Status: Not Applied
-Description: 	Patch provides the changes to Makefile required to enable 'make get'
-
-diff -Naur old/Makefile new/Makefile
---- old/Makefile	2008-03-06 05:02:40.000000000 +1100
-+++ new/Makefile	2012-07-23 03:20:19.009174483 +1000
-@@ -42,11 +42,11 @@
- 	    protocol-numbers.iana port-numbers.iana
- 
- protocol-numbers.iana:
--	$(AWK) -f get.gawk -v file=protocol-numbers >protocol-numbers.iana
-+	$(AWK) -f get.gawk -v file=protocol-numbers/protocol-numbers.xml >protocol-numbers.iana
- 	rm -f protocol-numbers
- 
- port-numbers.iana:
--	$(AWK) -f get.gawk -v file=port-numbers >port-numbers.iana
-+	$(AWK) -f get.gawk -v file=service-names-port-numbers/service-names-port-numbers.xml >port-numbers.iana
- 	rm -f port-numbers
- 
- protocol-numbers:
-diff -Naur old/get.gawk new/get.gawk
---- old/get.gawk	2008-03-06 05:04:18.000000000 +1100
-+++ new/get.gawk	2012-07-23 03:20:19.009174483 +1000
-@@ -26,7 +26,7 @@
- 	NR++
- 
- 	if (in_content) { print }
--	if (/^$/)       { in_content=1 }
-+	if (/^\r?$/)    { in_content=1 }
-     }
- 
-     printf "\n" >"/dev/stderr"
-diff -Naur old/protocols.gawk new/protocols.gawk
---- old/protocols.gawk	2006-11-15 05:20:26.000000000 +1100
-+++ new/protocols.gawk	2012-07-23 03:22:13.479330458 +1000
-@@ -1,32 +1,13 @@
--#!/usr/bin/gawk --re-interval -f
--# the above doesn't work (stupid kernel) but serves as documentation
--
--# Copyright (c) 2003-2004, 2006 Seth W. Klein <sk@sethwklein.net>
--# Licensed under the Open Software License version 3.0
--# See the file COPYING in the distribution tarball or
--# http://www.opensource.org/licenses/osl-3.0.txt
-+#!/usr/bin/awk -f
- 
- BEGIN {
--    if (strip == "yes") {
--	strip = 1
--	format = "%s\t%s\t%s\n"
--	header_printed = 1
--    } else {
--	strip = 0
--	print "# See also: protocols(5)" \
--	    ", http://www.sethwklein.net/projects/iana-etc/\n#"
--	format = "%-12s %3s %-12s # %s\n"
--	header_printed = 0
--    }
-+	print "# See the full IANA XML file at: /usr/share/iana-etc/protocol-numbers.iana\n"
-+	FS="[<>]"
- }
--{ sub(/\r/, "") }
--match($0, /^[ \t]+([0-9]+)[ \t]{1,5}([^ \t]+)(.*)/, f) {
--    if ( ! header_printed) {
--	printf format, "# protocol", "num", "aliases", "comments"
--	header_printed = 1;
--    }
--    sub(/^[ \t]*/, "", f[3])
--    printf format, tolower(f[2]), f[1], f[2], f[3]
--    next
-+
-+{
-+	if (/<record/) { v=n=0 }
-+	if (/<value/) v=$3
-+	if (/<name/ && !($3~/ /)) n=$3
-+	if (/<\/record/ && (v || n=="HOPOPT") && n) printf "%-12s %3i %s\n", tolower(n),v,n
- }
--!strip { print "# " $0 }
-diff -Naur old/services.gawk new/services.gawk
---- old/services.gawk	2008-03-06 04:51:45.000000000 +1100
-+++ new/services.gawk	2012-07-23 03:22:32.272685489 +1000
-@@ -1,44 +1,15 @@
--#!/usr/bin/gawk -f
--
--# Copyright (c) 2003-2004, 2006, 2008 Seth W. Klein <sk@sethwklein.net>
--# Licensed under the Open Software License version 3.0
--# See the file COPYING in the distribution tarball or
--# http://www.opensource.org/licenses/osl-3.0.txt
-+#!/usr/bin/awk -f
- 
- BEGIN {
--    if (strip == "yes") {
--	strip = 1
--    } else {
--	strip = 0
--	print "# See also: services(5)" \
--	    ", http://www.sethwklein.net/projects/iana-etc/\n#"
--    }
--    while (getline <"port-aliases") {
--	sub(/#.*/, "")
--	if (/^[ \t]*$/) { continue }
--	#                  1:name         2:protocol     3:aliases
--	match($0, /^[ \t]*([^ \t]+)[ \t]+([^ \t]+)[ \t]+(.*)$/, f)
--	aliases[f[1] " " f[2]] = " " f[3]
--    }
-+	print "# See the full IANA XML file at: /usr/share/iana-etc/port-numbers.iana\n"
-+	FS="[<>]"
- }
--{ sub(/\r/, "") }
--#           1:name               2:ws    3:port  4:range     5:proto  6:comment
--match($0, /(^[[:alnum:]][^ \t]+)([ \t]+)([0-9]+)(-[0-9]+)?\/([^ \t]+)(.*)/, f) \
--&& f[3] != "0" {
--# port 0 means unallocated, per port-numbers
--    name = f[1]
--    whitespace = f[2]
--    port = f[3]
--    protocol = f[5]
--    comment = f[6]
--    if (strip) {
--	whitespace = "\t"
--	comment = ""
--    } else if (length(comment) > 0)
--	sub(/^[ \t]*/, "&# ", comment)
--    print name whitespace port "/" protocol aliases[name " " protocol] comment
--    next
-+
-+{
-+	if (/<record/) { n=u=p=c=0 }
-+	if (/<name/ && !/\(/) n=$3
-+	if (/<number/) u=$3
-+	if (/<protocol/) p=$3
-+	if (/Unassigned/ || /Reserved/ || /historic/) c=1
-+	if (/<\/record/ && n && u && p && !c) printf "%-15s %5i/%s\n", n,u,p # services
- }
--# comment out, prettily
--!/^#/ { sub(/^ /, "#") || sub(/^/, "# ") }
--!strip { print }
Index: tches/netplug-1.2.9.2-fixes-1.patch
===================================================================
--- patches/netplug-1.2.9.2-fixes-1.patch	(revision dcf5785aaa69db6dad4abd16d97dfc8843ea253a)
+++ 	(revision )
@@ -1,42 +1,0 @@
-Submitted By: Andrew Bradford <andrew@bradfordembedded.com>
-Date: 2013-10-25
-Initial Package Version: 1.2.9.2
-Origin:	CLFS specific
-Upstream Status: Not Applied
-Description: 	Fixes build problems.
-
-diff -Naur netplug-1.2.9.2.orig/lib.c netplug-1.2.9.2/lib.c
---- netplug-1.2.9.2.orig/lib.c	2013-10-25 16:23:21.270934264 -0400
-+++ netplug-1.2.9.2/lib.c	2013-10-25 16:24:26.067667210 -0400
-@@ -200,20 +200,6 @@
- }
- 
- 
--void
--__assert_fail(const char *assertion, const char *file,
--              unsigned int line, const char *function)
--{
--    do_log(LOG_CRIT, "%s:%u: %s%sAssertion `%s' failed",
--           file, line,
--           function ? function : "",
--           function ? ": " : "",
--           assertion);
--
--    abort();
--}
--
--
- /*
-  * Local variables:
-  * c-file-style: "stroustrup"
-diff -Naur netplug-1.2.9.2.orig/netplug.h netplug-1.2.9.2/netplug.h
---- netplug-1.2.9.2.orig/netplug.h	2013-10-25 16:23:21.270934264 -0400
-+++ netplug-1.2.9.2/netplug.h	2013-10-25 16:24:17.054324652 -0400
-@@ -25,6 +25,7 @@
- #include <sys/socket.h>
- #include <linux/netlink.h>
- #include <linux/rtnetlink.h>
-+#include <time.h>
- 
- #define NP_SCRIPT NP_SCRIPT_DIR "/netplug"
- 
