diff options
author | wisberg <wisberg> | 2002-12-16 17:19:22 +0000 |
---|---|---|
committer | wisberg <wisberg> | 2002-12-16 17:19:22 +0000 |
commit | 3ce247199704eae6b2c92c6e38c69584e3250c52 (patch) | |
tree | cb60b8f3d3f12e666efeb96913a56d2216a28d44 /lib | |
parent | c3300283ecc397d26ad9dfe31d1710ec45db2af0 (diff) | |
download | aspectj-3ce247199704eae6b2c92c6e38c69584e3250c52.tar.gz aspectj-3ce247199704eae6b2c92c6e38c69584e3250c52.zip |
initial version
Diffstat (limited to 'lib')
398 files changed, 92137 insertions, 0 deletions
diff --git a/lib/ant/ant-src.zip b/lib/ant/ant-src.zip Binary files differnew file mode 100644 index 000000000..176cbfd80 --- /dev/null +++ b/lib/ant/ant-src.zip diff --git a/lib/ant/aspectj-ant-readme.txt b/lib/ant/aspectj-ant-readme.txt new file mode 100644 index 000000000..b24cb5b3a --- /dev/null +++ b/lib/ant/aspectj-ant-readme.txt @@ -0,0 +1,14 @@ + +The AspectJ tree builds using a variant of Ant 1.5.1. + +lib/ contains Ant 1.5.1 core and optional taskdef classes, +as well as xalan.jar which is used for the junitreport task. + +To run tests with the junit task, junit.jar must be added +to the system classpath with optional.jar; the script in +aspectj/build/bin/ant.[bat|sh] does this. + +To run junit tests and junitreport (and other optional tasks) requires +declaring the taskdef explicitly. See build-modules.xml. + +For ant scripts, use build/bin/ant.[bat|sh], which adds junit.jar. diff --git a/lib/ant/lib/ant.jar b/lib/ant/lib/ant.jar Binary files differnew file mode 100644 index 000000000..7cf87e838 --- /dev/null +++ b/lib/ant/lib/ant.jar diff --git a/lib/ant/lib/optional.jar b/lib/ant/lib/optional.jar Binary files differnew file mode 100644 index 000000000..1128e1d97 --- /dev/null +++ b/lib/ant/lib/optional.jar diff --git a/lib/ant/lib/xalan.jar b/lib/ant/lib/xalan.jar Binary files differnew file mode 100644 index 000000000..3681818e1 --- /dev/null +++ b/lib/ant/lib/xalan.jar diff --git a/lib/ant/lib/xercesImpl.jar b/lib/ant/lib/xercesImpl.jar Binary files differnew file mode 100644 index 000000000..d41cf97ed --- /dev/null +++ b/lib/ant/lib/xercesImpl.jar diff --git a/lib/ant/lib/xml-apis.jar b/lib/ant/lib/xml-apis.jar Binary files differnew file mode 100644 index 000000000..8331d27f1 --- /dev/null +++ b/lib/ant/lib/xml-apis.jar diff --git a/lib/bcel/bcel-src.zip b/lib/bcel/bcel-src.zip Binary files differnew file mode 100644 index 000000000..e1205e687 --- /dev/null +++ b/lib/bcel/bcel-src.zip diff --git a/lib/bcel/bcel.jar b/lib/bcel/bcel.jar Binary files differnew file mode 100644 index 000000000..3195ae587 --- /dev/null +++ b/lib/bcel/bcel.jar diff --git a/lib/docbook/docbook-dtd/40chg.txt b/lib/docbook/docbook-dtd/40chg.txt new file mode 100644 index 000000000..f1c720a69 --- /dev/null +++ b/lib/docbook/docbook-dtd/40chg.txt @@ -0,0 +1,53 @@ +19 June 2000 + +Changes from DocBook V3.1 to DocBook XML V4.1: + +Global: + +- Broad changes required for XML compatibility +- Added a *provisional* set of character entities based on the ISO + entity sets. The DocBook TC is not willing to accept the long-term + responsibility for defining and maintaining these sets. The TC + will ask OASIS to form a new TC for this purpose. + +Markup: + +- RFE 17: Added a common attribute 'Condition' for generic effectivity +- RFE 38: The nav.class elements (ToC|LoT|Index|Glossary|Bibliography) are + now allowed at the beginning and end of components and sections +- RFE 58: The 'optmult' and 'reqmult' attribute values have been + removed from Group +- RFE 65: Added several class attribute values to Filename and SystemItem + at the request of the Linux community +- RFE 73: Removed BookBiblio and SeriesInfo +- RFE 81: Added SidebarInfo to Sidebar +- RFE 87: Added 'xmlpi' and 'emptytag' as class values of SGMLTag +- RFE 92: Added 'CO' to Synopsis and LiteralLayout +- RFE 99: Added SimpleMsgEntry as an alternative to MsgEntry in order + to provide a simpler MsgSet construct +- RFE 103: Added RevDescription as an alternative to RevRemark in + RevHistory; this allows longer descriptive text in a revision +- RFE 104: Added 'Specification' to the list of document classes on Article +- RFE 108: Allow admonitions in Answers +- RFE 110: Allow a RevHistory on QandAEntry +- RFE 115: Allow optional Title on OrderedList and ItemizedList +- RFE 116: Added LineNumbering attribute to linespecific environments for + presentation of line numbers +- Added a common attribute 'Security' for effectivity +- Added synopsis markup for modern programming languages (e.g, object + oriented languages like Java, C++, and IDL) +- Renamed DocInfo to PrefaceInfo, ChapterInfo, AppendixInfo, etc. +- Comment was renamed Remark +- InterfaceDefinition was removed + +Other: + +- RFE 88: Added PEs to include/ignore dbnotn.mod and dbcent.mod +- RFE 102: Fixed some outstanding namecase problems +- RFE 105: Added PNG notation +- RFE 106: Removed some odd *.content PEs that interfered with + customization layers +- RFE 109: Added FPI to content of dbgenent.mod (for consistency) +- RFE 111: Added the Euro symbol +- Fixed bug in cals-tbl.dtd; a model group was used for the element + declaration, but the attlist declaration used "Table" literally. diff --git a/lib/docbook/docbook-dtd/41chg.txt b/lib/docbook/docbook-dtd/41chg.txt new file mode 100644 index 000000000..4bb6b914d --- /dev/null +++ b/lib/docbook/docbook-dtd/41chg.txt @@ -0,0 +1,18 @@ +27 Aug 2000 + +Changes from DocBook V4.1.1 to DocBook V4.1.2: + +- Fixed broken ISO FPIs in docbook.cat introduced by + careless search-and-replace. + +Changes from DocBook V4.0 to DocBook V4.1.1: + +- Removed some 4.0 future use comments that had accidentally + been left in the DTD +- Fixed system identifiers in docbook.cat +- Added version information to all the ent/*.ent files +- Fixed a number of numeric character references in the ent/*.ent files +- Fixed a couple of incorrect FPIs. +- Renamed dbgenent.ent to dbgenent.mod for parity with SGML version + +See 40chg.txt for a list of the significant changes. diff --git a/lib/docbook/docbook-dtd/ChangeLog b/lib/docbook/docbook-dtd/ChangeLog new file mode 100644 index 000000000..d8a1049cf --- /dev/null +++ b/lib/docbook/docbook-dtd/ChangeLog @@ -0,0 +1,101 @@ +2000-08-12 Norman Walsh <ndw@nwalsh.com>
+
+ * 40chg.txt: Updated; changed version number
+
+ * 41chg.txt, readme.txt: Updated; changed version number, release date
+
+ * calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat:
+ Changed version number
+
+ * docbookx.dtd: DocBook XML V4.1.1 released
+
+2000-07-06 Norman Walsh <ndw@nwalsh.com>
+
+ * 40chg.txt, 41chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, readme.txt:
+ Changed version numbers to 4.1.1beta1
+
+ * docbook.cat: Fixed incorrect system identifiers
+
+ * docbookx.dtd: Version 4.1.1beta1 released
+
+2000-06-19 Norman Walsh <ndw@nwalsh.com>
+
+ * 40chg.txt: Added notes about comment and interfacedefinition
+
+ * 41chg.txt: New file.
+
+ * calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd, readme.txt:
+ Updated version numbers to 4.1
+
+ * dbgenent.ent: Fixed FPI; added 'XML'
+
+ * dbhierx.mod: Removed 4.0 future use comments
+
+ * dbpoolx.mod: Removed 4.0 future use comments; fixed table model selection comment; fixed 'Norman Walsh' FPIs
+
+ * docbook.cat: New file.
+
+2000-05-18 Norman Walsh <ndw@nwalsh.com>
+
+ * 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt:
+ Removed references to beta6
+
+ * docbookx.dtd: DocBook XML V4.0 released.
+
+2000-04-10 Norman Walsh <ndw@nwalsh.com>
+
+ * 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt:
+ Updated release date and version to 4.0beta6
+
+ * dbpoolx.mod: Added support for EBNF hook; fixed equation content bug
+
+2000-04-03 Norman Walsh <ndw@nwalsh.com>
+
+ * 40chg.txt: Added note about renaming DocInfo to *Info.
+
+ * 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt:
+ Updated version numbers
+
+2000-03-30 Norman Walsh <ndw@nwalsh.com>
+
+ * dbpoolx.mod: Removed beginpage from highlights.mix; it's excluded in the SGML version.
+
+2000-03-24 Norman Walsh <ndw@nwalsh.com>
+
+ * 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt:
+ Updated version numbers
+
+ * dbefsyn.mod: Removed
+
+ * dbpoolx.mod: Removed ELEMENT from comments to ease text searching of the DTD.
+ Merged dbefsyn.mod into dbpoolx.mod
+ Added Modifier as an optional element at the end of MethodSynopsis
+ and MethodParam.
+
+2000-03-07 Norman Walsh <ndw@nwalsh.com>
+
+ * 40chg.txt: New file.
+
+ * 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt, soextblx.dtd:
+ Updated internal versions to beta3
+
+2000-03-03 Norman Walsh <ndw@nwalsh.com>
+
+ * dbpoolx.mod: Removed erroneous comment about inline synopses
+
+2000-03-02 Norman Walsh <ndw@nwalsh.com>
+
+ * calstblx.dtd, dbcentx.mod, dbefsyn.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt, soextblx.dtd:
+ New file.
+
+ * dbefsyn.mod, dbpoolx.mod: Added ooclass, oointerface, and ooexception as wrappers for modifiers
+ and names in classsynopsis. Also allow them inline.
+
+ Fixed SGML PE parsing problem with hook PEs.
+
+ * dbhierx.mod, dbpoolx.mod: Added hook PEs for future module extension
+
+ * dbpoolx.mod: Removed unused PEs for equation content
+
+ * dbpoolx.mod: Made primary optional (XML has no #CONREF)
+
diff --git a/lib/docbook/docbook-dtd/calstblx.dtd b/lib/docbook/docbook-dtd/calstblx.dtd new file mode 100644 index 000000000..a4fdb01fa --- /dev/null +++ b/lib/docbook/docbook-dtd/calstblx.dtd @@ -0,0 +1,199 @@ +<!-- ...................................................................... -->
+<!-- DocBook XML CALS Table Model V4.1.2 .................................... -->
+<!-- File calstblx.mod .................................................... -->
+
+<!-- Copyright 1992-2000 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh 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,v 1.1 2002/05/15 17:22:22 isberg Exp $
+
+ 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 CALS Table Model
+ converted to XML.
+-->
+
+<!-- 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. -->
+
+<!ENTITY % bodyatt "">
+<!ENTITY % secur "">
+
+<!-- no if zero(s),
+ yes if any other digits value -->
+
+<!ENTITY % yesorno 'CDATA'>
+<!ENTITY % titles 'title?'>
+
+<!-- default for use in entry content -->
+
+<!ENTITY % paracon '#PCDATA'>
+
+<!--
+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.
+-->
+
+<!ENTITY % tbl.table.name "(table|chart)">
+<!ENTITY % tbl.table-titles.mdl "%titles;,">
+<!ENTITY % tbl.table-main.mdl "(tgroup+|graphic+)">
+<!ENTITY % tbl.table.mdl "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
+<!ENTITY % tbl.table.att '
+ tabstyle CDATA #IMPLIED
+ tocentry %yesorno; #IMPLIED
+ shortentry %yesorno; #IMPLIED
+ orient (port|land) #IMPLIED
+ pgwide %yesorno; #IMPLIED '>
+<!ENTITY % tbl.tgroup.mdl "colspec*,spanspec*,thead?,tfoot?,tbody">
+<!ENTITY % tbl.tgroup.att '
+ tgroupstyle CDATA #IMPLIED '>
+<!ENTITY % tbl.hdft.mdl "colspec*,row+">
+<!ENTITY % tbl.row.mdl "(entry|entrytbl)+">
+<!ENTITY % tbl.entrytbl.mdl "colspec*,spanspec*,thead?,tbody">
+<!ENTITY % tbl.entry.mdl "(para|warning|caution|note|legend|%paracon;)*">
+<!-- ===== Element and attribute declarations follow. ===== -->
+
+<!ELEMENT table (%tbl.table.mdl;)>
+
+<!ATTLIST table
+ frame (top|bottom|topbot|all|sides|none) #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ %tbl.table.att;
+ %bodyatt;
+ %secur;
+>
+
+<!ELEMENT tgroup (%tbl.tgroup.mdl;) >
+
+<!ATTLIST tgroup
+ cols CDATA #REQUIRED
+ %tbl.tgroup.att;
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED
+ %secur;
+>
+
+<!ELEMENT colspec EMPTY >
+
+<!ATTLIST colspec
+ colnum CDATA #IMPLIED
+ colname CDATA #IMPLIED
+ colwidth CDATA #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED
+>
+
+<!ELEMENT spanspec EMPTY >
+
+<!ATTLIST spanspec
+ namest CDATA #REQUIRED
+ nameend CDATA #REQUIRED
+ spanname CDATA #REQUIRED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED
+>
+
+<!ELEMENT thead (%tbl.hdft.mdl;)>
+<!ATTLIST thead
+ valign (top|middle|bottom) #IMPLIED
+ %secur;
+>
+
+<!ELEMENT tfoot (%tbl.hdft.mdl;)>
+<!ATTLIST tfoot
+ valign (top|middle|bottom) #IMPLIED
+ %secur;
+>
+
+<!ELEMENT tbody (row+)>
+
+<!ATTLIST tbody
+ valign (top|middle|bottom) #IMPLIED
+ %secur;
+>
+
+<!ELEMENT row (%tbl.row.mdl;)>
+
+<!ATTLIST row
+ rowsep %yesorno; #IMPLIED
+ valign (top|middle|bottom) #IMPLIED
+ %secur;
+>
+
+<!ELEMENT entrytbl (%tbl.entrytbl.mdl;)>
+
+<!ATTLIST entrytbl
+ cols CDATA #REQUIRED
+ %tbl.tgroup.att;
+ colname CDATA #IMPLIED
+ spanname CDATA #IMPLIED
+ namest CDATA #IMPLIED
+ nameend CDATA #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED
+ %secur;
+>
+
+<!ELEMENT entry (%tbl.entry.mdl;)*>
+
+<!ATTLIST entry
+ colname CDATA #IMPLIED
+ namest CDATA #IMPLIED
+ nameend CDATA #IMPLIED
+ spanname CDATA #IMPLIED
+ morerows CDATA #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED
+ rotate %yesorno; #IMPLIED
+ valign (top|middle|bottom) #IMPLIED
+ %secur;
+>
+
+<!-- End of DocBook XML CALS Table Model V4.1.2 ............................. -->
+<!-- ...................................................................... -->
diff --git a/lib/docbook/docbook-dtd/dbcentx.mod b/lib/docbook/docbook-dtd/dbcentx.mod new file mode 100644 index 000000000..1c5b53375 --- /dev/null +++ b/lib/docbook/docbook-dtd/dbcentx.mod @@ -0,0 +1,204 @@ +<!-- ...................................................................... -->
+<!-- DocBook XML character entities module V4.1.2 ........................... -->
+<!-- File dbcentx.mod ..................................................... -->
+
+<!-- Copyright 1992-2000 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, and the Organization for the Advancement
+ of Structured Information Standards (OASIS).
+
+ $Id: dbcentx.mod,v 1.1 2002/05/15 17:22:22 isberg Exp $
+
+ 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 entity declarations for the standard ISO
+ entity sets used by DocBook.
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % dbcent PUBLIC
+ "-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN"
+ "dbcentx.mod">
+ %dbcent;
+
+ 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.
+-->
+
+<!-- ...................................................................... -->
+
+<!ENTITY % ISOamsa.module "INCLUDE">
+<![%ISOamsa.module;[
+<!ENTITY % ISOamsa PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+"ent/iso-amsa.ent">
+%ISOamsa;
+<!--end of ISOamsa.module-->]]>
+
+<!ENTITY % ISOamsb.module "INCLUDE">
+<![%ISOamsb.module;[
+<!ENTITY % ISOamsb PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+"ent/iso-amsb.ent">
+%ISOamsb;
+<!--end of ISOamsb.module-->]]>
+
+<!ENTITY % ISOamsc.module "INCLUDE">
+<![%ISOamsc.module;[
+<!ENTITY % ISOamsc PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+"ent/iso-amsc.ent">
+%ISOamsc;
+<!--end of ISOamsc.module-->]]>
+
+<!ENTITY % ISOamsn.module "INCLUDE">
+<![%ISOamsn.module;[
+<!ENTITY % ISOamsn PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+"ent/iso-amsn.ent">
+%ISOamsn;
+<!--end of ISOamsn.module-->]]>
+
+<!ENTITY % ISOamso.module "INCLUDE">
+<![%ISOamso.module;[
+<!ENTITY % ISOamso PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+"ent/iso-amso.ent">
+%ISOamso;
+<!--end of ISOamso.module-->]]>
+
+<!ENTITY % ISOamsr.module "INCLUDE">
+<![%ISOamsr.module;[
+<!ENTITY % ISOamsr PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+"ent/iso-amsr.ent">
+%ISOamsr;
+<!--end of ISOamsr.module-->]]>
+
+<!ENTITY % ISObox.module "INCLUDE">
+<![%ISObox.module;[
+<!ENTITY % ISObox PUBLIC
+"ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+"ent/iso-box.ent">
+%ISObox;
+<!--end of ISObox.module-->]]>
+
+<!ENTITY % ISOcyr1.module "INCLUDE">
+<![%ISOcyr1.module;[
+<!ENTITY % ISOcyr1 PUBLIC
+"ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+"ent/iso-cyr1.ent">
+%ISOcyr1;
+<!--end of ISOcyr1.module-->]]>
+
+<!ENTITY % ISOcyr2.module "INCLUDE">
+<![%ISOcyr2.module;[
+<!ENTITY % ISOcyr2 PUBLIC
+"ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+"ent/iso-cyr2.ent">
+%ISOcyr2;
+<!--end of ISOcyr2.module-->]]>
+
+<!ENTITY % ISOdia.module "INCLUDE">
+<![%ISOdia.module;[
+<!ENTITY % ISOdia PUBLIC
+"ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+"ent/iso-dia.ent">
+%ISOdia;
+<!--end of ISOdia.module-->]]>
+
+<!ENTITY % ISOgrk1.module "INCLUDE">
+<![%ISOgrk1.module;[
+<!ENTITY % ISOgrk1 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+"ent/iso-grk1.ent">
+%ISOgrk1;
+<!--end of ISOgrk1.module-->]]>
+
+<!ENTITY % ISOgrk2.module "INCLUDE">
+<![%ISOgrk2.module;[
+<!ENTITY % ISOgrk2 PUBLIC
+"ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+"ent/iso-grk2.ent">
+%ISOgrk2;
+<!--end of ISOgrk2.module-->]]>
+
+<!ENTITY % ISOgrk3.module "INCLUDE">
+<![%ISOgrk3.module;[
+<!ENTITY % ISOgrk3 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+"ent/iso-grk3.ent">
+%ISOgrk3;
+<!--end of ISOgrk3.module-->]]>
+
+<!ENTITY % ISOgrk4.module "INCLUDE">
+<![%ISOgrk4.module;[
+<!ENTITY % ISOgrk4 PUBLIC
+"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+"ent/iso-grk4.ent">
+%ISOgrk4;
+<!--end of ISOgrk4.module-->]]>
+
+<!ENTITY % ISOlat1.module "INCLUDE">
+<![%ISOlat1.module;[
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+"ent/iso-lat1.ent">
+%ISOlat1;
+<!--end of ISOlat1.module-->]]>
+
+<!ENTITY % ISOlat2.module "INCLUDE">
+<![%ISOlat2.module;[
+<!ENTITY % ISOlat2 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+"ent/iso-lat2.ent">
+%ISOlat2;
+<!--end of ISOlat2.module-->]]>
+
+<!ENTITY % ISOnum.module "INCLUDE">
+<![%ISOnum.module;[
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+"ent/iso-num.ent">
+%ISOnum;
+<!--end of ISOnum.module-->]]>
+
+<!ENTITY % ISOpub.module "INCLUDE">
+<![%ISOpub.module;[
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN//XML"
+"ent/iso-pub.ent">
+%ISOpub;
+<!--end of ISOpub.module-->]]>
+
+<!ENTITY % ISOtech.module "INCLUDE">
+<![%ISOtech.module;[
+<!ENTITY % ISOtech PUBLIC
+"ISO 8879:1986//ENTITIES General Technical//EN//XML"
+"ent/iso-tech.ent">
+%ISOtech;
+<!--end of ISOtech.module-->]]>
+
+<!-- End of DocBook XML character entity sets module V4.1.2 ................. -->
+<!-- ...................................................................... -->
diff --git a/lib/docbook/docbook-dtd/dbgenent.mod b/lib/docbook/docbook-dtd/dbgenent.mod new file mode 100644 index 000000000..e38e14881 --- /dev/null +++ b/lib/docbook/docbook-dtd/dbgenent.mod @@ -0,0 +1,41 @@ +<!-- ...................................................................... -->
+<!-- DocBook XML additional general entities V4.1.2 ......................... -->
+
+<!-- Copyright 1992-2000 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, and the Organization for the Advancement of
+ Structured Information Standards (OASIS).
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % dbgenent PUBLIC
+ "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN"
+ "dbgenent.mod">
+ %dbgenent;
+-->
+
+<!-- File dbgenent.mod .................................................... -->
+
+<!-- You can edit this file to add the following:
+
+ o General entity declarations of any kind. For example:
+
+ <!ENTITY happyface SDATA "insert-face"> (system-specific data)
+ <!ENTITY productname "WinWidget"> (small boilerplate)
+ <!ENTITY legal-notice SYSTEM "notice.sgm"> (large boilerplate)
+
+ o Notation declarations. For example:
+
+ <!NOTATION chicken-scratch SYSTEM>
+
+ o Declarations for and references to external parameter entities
+ containing collections of any of the above. For example:
+
+ <!ENTITY % all-titles PUBLIC "-//DocTools//ELEMENTS Book Titles//EN"
+ "booktitles.ent">
+ %all-titles;
+-->
+
+<!-- End of DocBook XML additional general entities V4.1.2 .................. -->
+<!-- ...................................................................... -->
diff --git a/lib/docbook/docbook-dtd/dbhierx.mod b/lib/docbook/docbook-dtd/dbhierx.mod new file mode 100644 index 000000000..0efff1986 --- /dev/null +++ b/lib/docbook/docbook-dtd/dbhierx.mod @@ -0,0 +1,2074 @@ +<!-- ...................................................................... -->
+<!-- DocBook XML document hierarchy module V4.1.2 ........................... -->
+<!-- File dbhierx.mod ..................................................... -->
+
+<!-- Copyright 1992-2000 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, and the Organization for the Advancement
+ of Structured Information Standards (OASIS).
+
+ $Id: dbhierx.mod,v 1.1 2002/05/15 17:22:22 isberg Exp $
+
+ 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 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 XML Document Hierarchy V4.1.2//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 ....................................... -->
+
+<!ENTITY % dbhier.redecl.module "IGNORE">
+<!ENTITY % dbhier.redecl2.module "IGNORE">
+
+<!-- ...................................................................... -->
+<!-- Entities for element classes ......................................... -->
+
+<!ENTITY % local.appendix.class "">
+<!ENTITY % appendix.class "appendix %local.appendix.class;">
+
+<!ENTITY % local.article.class "">
+<!ENTITY % article.class "article %local.article.class;">
+
+<!ENTITY % local.book.class "">
+<!ENTITY % book.class "book %local.book.class;">
+
+<!ENTITY % local.chapter.class "">
+<!ENTITY % chapter.class "chapter %local.chapter.class;">
+
+<!ENTITY % local.index.class "">
+<!ENTITY % index.class "index|setindex %local.index.class;">
+
+<!ENTITY % local.refentry.class "">
+<!ENTITY % refentry.class "refentry %local.refentry.class;">
+
+<!ENTITY % local.nav.class "">
+<!ENTITY % 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 -->
+
+<![%dbhier.redecl.module;[
+<!-- Defining rdbhier here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbhier "">
+%rdbhier;
+<!--end of dbhier.redecl.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Entities for element mixtures ........................................ -->
+
+<!-- The DocBook TC may produce an official forms module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % forms.hook "">
+
+<!ENTITY % local.divcomponent.mix "">
+<!ENTITY % 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;">
+
+<!ENTITY % local.refcomponent.mix "">
+<!ENTITY % 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
+ %local.refcomponent.mix;">
+
+<!ENTITY % local.indexdivcomponent.mix "">
+<!ENTITY % indexdivcomponent.mix
+ "itemizedlist|orderedlist|variablelist|simplelist
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |anchor|remark
+ |%link.char.class;
+ |beginpage
+ %local.indexdivcomponent.mix;">
+
+<!ENTITY % local.refname.char.mix "">
+<!ENTITY % refname.char.mix
+ "#PCDATA
+ |%tech.char.class;
+ %local.refname.char.mix;">
+
+<!ENTITY % local.partcontent.mix "">
+<!ENTITY % partcontent.mix
+ "%appendix.class;|%chapter.class;|%nav.class;|%article.class;
+ |preface|%refentry.class;|reference %local.partcontent.mix;">
+
+<!ENTITY % local.refinline.char.mix "">
+<!ENTITY % refinline.char.mix
+ "#PCDATA
+ |%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;">
+
+<!ENTITY % local.refclass.char.mix "">
+<!ENTITY % refclass.char.mix
+ "#PCDATA
+ |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 -->
+
+<![%dbhier.redecl2.module;[
+<!-- Defining rdbhier2 here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbhier2 "">
+%rdbhier2;
+<!--end of dbhier.redecl2.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Entities for content models .......................................... -->
+
+<!ENTITY % div.title.content
+ "title, subtitle?, titleabbrev?">
+
+<!ENTITY % bookcomponent.title.content
+ "title, subtitle?, titleabbrev?">
+
+<!ENTITY % sect.title.content
+ "title, subtitle?, titleabbrev?">
+
+<!ENTITY % refsect.title.content
+ "title, subtitle?, titleabbrev?">
+
+<!ENTITY % bookcomponent.content
+ "((%divcomponent.mix;)+,
+ (sect1*|(%refentry.class;)*|simplesect*|section*))
+ | (sect1+|(%refentry.class;)+|simplesect+|section+)">
+
+<!-- ...................................................................... -->
+<!-- Set and SetInfo ...................................................... -->
+
+<!ENTITY % set.content.module "INCLUDE">
+<![%set.content.module;[
+<!ENTITY % set.module "INCLUDE">
+<![%set.module;[
+<!ENTITY % local.set.attrib "">
+<!ENTITY % set.role.attrib "%role.attrib;">
+
+<!ENTITY % set.element "INCLUDE">
+<![%set.element;[
+<!ELEMENT set ((%div.title.content;)?, setinfo?, toc?, (%book.class;)+,
+ setindex?)>
+<!--end of set.element-->]]>
+
+<!-- FPI: SGML formal public identifier -->
+
+
+<!ENTITY % set.attlist "INCLUDE">
+<![%set.attlist;[
+<!ATTLIST set
+ fpi CDATA #IMPLIED
+ %status.attrib;
+ %common.attrib;
+ %set.role.attrib;
+ %local.set.attrib;
+>
+<!--end of set.attlist-->]]>
+<!--end of set.module-->]]>
+
+<!ENTITY % setinfo.module "INCLUDE">
+<![%setinfo.module;[
+<!ENTITY % local.setinfo.attrib "">
+<!ENTITY % setinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % setinfo.element "INCLUDE">
+<![%setinfo.element;[
+<!ELEMENT setinfo ((graphic | mediaobject
+ | legalnotice | modespec | subjectset
+ | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--end of setinfo.element-->]]>
+
+<!-- Contents: IDs of the ToC, Books, and SetIndex that comprise
+ the set, in the order of their appearance -->
+
+
+<!ENTITY % setinfo.attlist "INCLUDE">
+<![%setinfo.attlist;[
+<!ATTLIST setinfo
+ contents IDREFS #IMPLIED
+ %common.attrib;
+ %setinfo.role.attrib;
+ %local.setinfo.attrib;
+>
+<!--end of setinfo.attlist-->]]>
+<!--end of setinfo.module-->]]>
+<!--end of set.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Book and BookInfo .................................................... -->
+
+<!ENTITY % book.content.module "INCLUDE">
+<![%book.content.module;[
+<!ENTITY % book.module "INCLUDE">
+<![%book.module;[
+
+<!ENTITY % local.book.attrib "">
+<!ENTITY % book.role.attrib "%role.attrib;">
+
+<!ENTITY % book.element "INCLUDE">
+<![%book.element;[
+<!ELEMENT book ((%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 -->
+
+
+<!ENTITY % book.attlist "INCLUDE">
+<![%book.attlist;[
+<!ATTLIST book fpi CDATA #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %book.role.attrib;
+ %local.book.attrib;
+>
+<!--end of book.attlist-->]]>
+<!--end of book.module-->]]>
+
+<!ENTITY % bookinfo.module "INCLUDE">
+<![%bookinfo.module;[
+<!ENTITY % local.bookinfo.attrib "">
+<!ENTITY % bookinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % bookinfo.element "INCLUDE">
+<![%bookinfo.element;[
+<!ELEMENT bookinfo ((graphic | mediaobject
+ | legalnotice | modespec | subjectset
+ | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--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 -->
+
+
+<!ENTITY % bookinfo.attlist "INCLUDE">
+<![%bookinfo.attlist;[
+<!ATTLIST bookinfo
+ contents IDREFS #IMPLIED
+ %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 ............................................. -->
+
+<!ENTITY % dedication.module "INCLUDE">
+<![%dedication.module;[
+<!ENTITY % local.dedication.attrib "">
+<!ENTITY % dedication.role.attrib "%role.attrib;">
+
+<!ENTITY % dedication.element "INCLUDE">
+<![%dedication.element;[
+<!ELEMENT dedication ((%sect.title.content;)?, (%legalnotice.mix;)+)>
+<!--end of dedication.element-->]]>
+
+<!ENTITY % dedication.attlist "INCLUDE">
+<![%dedication.attlist;[
+<!ATTLIST dedication
+ %status.attrib;
+ %common.attrib;
+ %dedication.role.attrib;
+ %local.dedication.attrib;
+>
+<!--end of dedication.attlist-->]]>
+<!--end of dedication.module-->]]>
+
+<!ENTITY % colophon.module "INCLUDE">
+<![ %colophon.module; [
+<!ENTITY % local.colophon.attrib "">
+<!ENTITY % colophon.role.attrib "%role.attrib;">
+
+<!ENTITY % colophon.element "INCLUDE">
+<![ %colophon.element; [
+<!ELEMENT colophon ((%sect.title.content;)?, (%textobject.mix;)+)>
+<!--end of colophon.element-->]]>
+
+<!ENTITY % colophon.attlist "INCLUDE">
+<![ %colophon.attlist; [
+<!ATTLIST colophon
+ %status.attrib;
+ %common.attrib;
+ %colophon.role.attrib;
+ %local.colophon.attrib;>
+<!--end of colophon.attlist-->]]>
+<!--end of colophon.module-->]]>
+
+<!ENTITY % toc.content.module "INCLUDE">
+<![%toc.content.module;[
+<!ENTITY % toc.module "INCLUDE">
+<![%toc.module;[
+<!ENTITY % local.toc.attrib "">
+<!ENTITY % toc.role.attrib "%role.attrib;">
+
+<!ENTITY % toc.element "INCLUDE">
+<![%toc.element;[
+<!ELEMENT toc ((%bookcomponent.title.content;)?, tocfront*,
+ (tocpart | tocchap)*, tocback*)>
+<!--end of toc.element-->]]>
+
+<!ENTITY % toc.attlist "INCLUDE">
+<![%toc.attlist;[
+<!ATTLIST toc
+ %pagenum.attrib;
+ %common.attrib;
+ %toc.role.attrib;
+ %local.toc.attrib;
+>
+<!--end of toc.attlist-->]]>
+<!--end of toc.module-->]]>
+
+<!ENTITY % tocfront.module "INCLUDE">
+<![%tocfront.module;[
+<!ENTITY % local.tocfront.attrib "">
+<!ENTITY % tocfront.role.attrib "%role.attrib;">
+
+<!ENTITY % tocfront.element "INCLUDE">
+<![%tocfront.element;[
+<!ELEMENT tocfront (%para.char.mix;)*>
+<!--end of tocfront.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocfront.attlist "INCLUDE">
+<![%tocfront.attlist;[
+<!ATTLIST tocfront
+ %label.attrib;
+ %linkend.attrib; %pagenum.attrib;
+ %common.attrib;
+ %tocfront.role.attrib;
+ %local.tocfront.attrib;
+>
+<!--end of tocfront.attlist-->]]>
+<!--end of tocfront.module-->]]>
+
+<!ENTITY % tocentry.module "INCLUDE">
+<![%tocentry.module;[
+<!ENTITY % local.tocentry.attrib "">
+<!ENTITY % tocentry.role.attrib "%role.attrib;">
+
+<!ENTITY % tocentry.element "INCLUDE">
+<![%tocentry.element;[
+<!ELEMENT tocentry (%para.char.mix;)*>
+<!--end of tocentry.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocentry.attlist "INCLUDE">
+<![%tocentry.attlist;[
+<!ATTLIST tocentry
+ %linkend.attrib; %pagenum.attrib;
+ %common.attrib;
+ %tocentry.role.attrib;
+ %local.tocentry.attrib;
+>
+<!--end of tocentry.attlist-->]]>
+<!--end of tocentry.module-->]]>
+
+<!ENTITY % tocpart.module "INCLUDE">
+<![%tocpart.module;[
+<!ENTITY % local.tocpart.attrib "">
+<!ENTITY % tocpart.role.attrib "%role.attrib;">
+
+<!ENTITY % tocpart.element "INCLUDE">
+<![%tocpart.element;[
+<!ELEMENT tocpart (tocentry+, tocchap*)>
+<!--end of tocpart.element-->]]>
+
+<!ENTITY % tocpart.attlist "INCLUDE">
+<![%tocpart.attlist;[
+<!ATTLIST tocpart
+ %common.attrib;
+ %tocpart.role.attrib;
+ %local.tocpart.attrib;
+>
+<!--end of tocpart.attlist-->]]>
+<!--end of tocpart.module-->]]>
+
+<!ENTITY % tocchap.module "INCLUDE">
+<![%tocchap.module;[
+<!ENTITY % local.tocchap.attrib "">
+<!ENTITY % tocchap.role.attrib "%role.attrib;">
+
+<!ENTITY % tocchap.element "INCLUDE">
+<![%tocchap.element;[
+<!ELEMENT tocchap (tocentry+, toclevel1*)>
+<!--end of tocchap.element-->]]>
+
+<!ENTITY % tocchap.attlist "INCLUDE">
+<![%tocchap.attlist;[
+<!ATTLIST tocchap
+ %label.attrib;
+ %common.attrib;
+ %tocchap.role.attrib;
+ %local.tocchap.attrib;
+>
+<!--end of tocchap.attlist-->]]>
+<!--end of tocchap.module-->]]>
+
+<!ENTITY % toclevel1.module "INCLUDE">
+<![%toclevel1.module;[
+<!ENTITY % local.toclevel1.attrib "">
+<!ENTITY % toclevel1.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel1.element "INCLUDE">
+<![%toclevel1.element;[
+<!ELEMENT toclevel1 (tocentry+, toclevel2*)>
+<!--end of toclevel1.element-->]]>
+
+<!ENTITY % toclevel1.attlist "INCLUDE">
+<![%toclevel1.attlist;[
+<!ATTLIST toclevel1
+ %common.attrib;
+ %toclevel1.role.attrib;
+ %local.toclevel1.attrib;
+>
+<!--end of toclevel1.attlist-->]]>
+<!--end of toclevel1.module-->]]>
+
+<!ENTITY % toclevel2.module "INCLUDE">
+<![%toclevel2.module;[
+<!ENTITY % local.toclevel2.attrib "">
+<!ENTITY % toclevel2.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel2.element "INCLUDE">
+<![%toclevel2.element;[
+<!ELEMENT toclevel2 (tocentry+, toclevel3*)>
+<!--end of toclevel2.element-->]]>
+
+<!ENTITY % toclevel2.attlist "INCLUDE">
+<![%toclevel2.attlist;[
+<!ATTLIST toclevel2
+ %common.attrib;
+ %toclevel2.role.attrib;
+ %local.toclevel2.attrib;
+>
+<!--end of toclevel2.attlist-->]]>
+<!--end of toclevel2.module-->]]>
+
+<!ENTITY % toclevel3.module "INCLUDE">
+<![%toclevel3.module;[
+<!ENTITY % local.toclevel3.attrib "">
+<!ENTITY % toclevel3.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel3.element "INCLUDE">
+<![%toclevel3.element;[
+<!ELEMENT toclevel3 (tocentry+, toclevel4*)>
+<!--end of toclevel3.element-->]]>
+
+<!ENTITY % toclevel3.attlist "INCLUDE">
+<![%toclevel3.attlist;[
+<!ATTLIST toclevel3
+ %common.attrib;
+ %toclevel3.role.attrib;
+ %local.toclevel3.attrib;
+>
+<!--end of toclevel3.attlist-->]]>
+<!--end of toclevel3.module-->]]>
+
+<!ENTITY % toclevel4.module "INCLUDE">
+<![%toclevel4.module;[
+<!ENTITY % local.toclevel4.attrib "">
+<!ENTITY % toclevel4.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel4.element "INCLUDE">
+<![%toclevel4.element;[
+<!ELEMENT toclevel4 (tocentry+, toclevel5*)>
+<!--end of toclevel4.element-->]]>
+
+<!ENTITY % toclevel4.attlist "INCLUDE">
+<![%toclevel4.attlist;[
+<!ATTLIST toclevel4
+ %common.attrib;
+ %toclevel4.role.attrib;
+ %local.toclevel4.attrib;
+>
+<!--end of toclevel4.attlist-->]]>
+<!--end of toclevel4.module-->]]>
+
+<!ENTITY % toclevel5.module "INCLUDE">
+<![%toclevel5.module;[
+<!ENTITY % local.toclevel5.attrib "">
+<!ENTITY % toclevel5.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel5.element "INCLUDE">
+<![%toclevel5.element;[
+<!ELEMENT toclevel5 (tocentry+)>
+<!--end of toclevel5.element-->]]>
+
+<!ENTITY % toclevel5.attlist "INCLUDE">
+<![%toclevel5.attlist;[
+<!ATTLIST toclevel5
+ %common.attrib;
+ %toclevel5.role.attrib;
+ %local.toclevel5.attrib;
+>
+<!--end of toclevel5.attlist-->]]>
+<!--end of toclevel5.module-->]]>
+
+<!ENTITY % tocback.module "INCLUDE">
+<![%tocback.module;[
+<!ENTITY % local.tocback.attrib "">
+<!ENTITY % tocback.role.attrib "%role.attrib;">
+
+<!ENTITY % tocback.element "INCLUDE">
+<![%tocback.element;[
+<!ELEMENT tocback (%para.char.mix;)*>
+<!--end of tocback.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocback.attlist "INCLUDE">
+<![%tocback.attlist;[
+<!ATTLIST tocback
+ %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-->]]>
+
+<!ENTITY % lot.content.module "INCLUDE">
+<![%lot.content.module;[
+<!ENTITY % lot.module "INCLUDE">
+<![%lot.module;[
+<!ENTITY % local.lot.attrib "">
+<!ENTITY % lot.role.attrib "%role.attrib;">
+
+<!ENTITY % lot.element "INCLUDE">
+<![%lot.element;[
+<!ELEMENT lot ((%bookcomponent.title.content;)?, lotentry*)>
+<!--end of lot.element-->]]>
+
+<!ENTITY % lot.attlist "INCLUDE">
+<![%lot.attlist;[
+<!ATTLIST lot
+ %label.attrib;
+ %common.attrib;
+ %lot.role.attrib;
+ %local.lot.attrib;
+>
+<!--end of lot.attlist-->]]>
+<!--end of lot.module-->]]>
+
+<!ENTITY % lotentry.module "INCLUDE">
+<![%lotentry.module;[
+<!ENTITY % local.lotentry.attrib "">
+<!ENTITY % lotentry.role.attrib "%role.attrib;">
+
+<!ENTITY % lotentry.element "INCLUDE">
+<![%lotentry.element;[
+<!ELEMENT lotentry (%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-->
+<!ENTITY % lotentry.attlist "INCLUDE">
+<![%lotentry.attlist;[
+<!ATTLIST lotentry
+ srccredit CDATA #IMPLIED
+ %pagenum.attrib;
+ %common.attrib;
+ %linkend.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 ............... -->
+
+<!ENTITY % appendix.module "INCLUDE">
+<![%appendix.module;[
+<!ENTITY % local.appendix.attrib "">
+<!ENTITY % appendix.role.attrib "%role.attrib;">
+
+<!ENTITY % appendix.element "INCLUDE">
+<![%appendix.element;[
+<!ELEMENT appendix (appendixinfo?,
+ (%bookcomponent.title.content;),
+ (%nav.class;)*,
+ tocchap?,
+ (%bookcomponent.content;),
+ (%nav.class;)*)>
+<!--end of appendix.element-->]]>
+
+<!ENTITY % appendix.attlist "INCLUDE">
+<![%appendix.attlist;[
+<!ATTLIST appendix
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %appendix.role.attrib;
+ %local.appendix.attrib;
+>
+<!--end of appendix.attlist-->]]>
+<!--end of appendix.module-->]]>
+
+<!ENTITY % chapter.module "INCLUDE">
+<![%chapter.module;[
+<!ENTITY % local.chapter.attrib "">
+<!ENTITY % chapter.role.attrib "%role.attrib;">
+
+<!ENTITY % chapter.element "INCLUDE">
+<![%chapter.element;[
+<!ELEMENT chapter (chapterinfo?,
+ (%bookcomponent.title.content;),
+ (%nav.class;)*,
+ tocchap?,
+ (%bookcomponent.content;),
+ (%nav.class;)*)>
+<!--end of chapter.element-->]]>
+
+<!ENTITY % chapter.attlist "INCLUDE">
+<![%chapter.attlist;[
+<!ATTLIST chapter
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %chapter.role.attrib;
+ %local.chapter.attrib;
+>
+<!--end of chapter.attlist-->]]>
+<!--end of chapter.module-->]]>
+
+<!ENTITY % part.module "INCLUDE">
+<![%part.module;[
+
+<!-- Note that Part was to have its content model reduced in V4.1.2. This
+change will not be made after all. -->
+
+<!ENTITY % local.part.attrib "">
+<!ENTITY % part.role.attrib "%role.attrib;">
+
+<!ENTITY % part.element "INCLUDE">
+<![%part.element;[
+<!ELEMENT part (partinfo?, (%bookcomponent.title.content;), partintro?,
+ (%partcontent.mix;)+)>
+<!--end of part.element-->]]>
+
+<!ENTITY % part.attlist "INCLUDE">
+<![%part.attlist;[
+<!ATTLIST part
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %part.role.attrib;
+ %local.part.attrib;
+>
+<!--end of part.attlist-->]]>
+<!--ELEMENT PartIntro (defined below)-->
+<!--end of part.module-->]]>
+
+<!ENTITY % preface.module "INCLUDE">
+<![%preface.module;[
+<!ENTITY % local.preface.attrib "">
+<!ENTITY % preface.role.attrib "%role.attrib;">
+
+<!ENTITY % preface.element "INCLUDE">
+<![%preface.element;[
+<!ELEMENT preface (prefaceinfo?,
+ (%bookcomponent.title.content;),
+ (%nav.class;)*,
+ tocchap?,
+ (%bookcomponent.content;),
+ (%nav.class;)*)>
+<!--end of preface.element-->]]>
+
+<!ENTITY % preface.attlist "INCLUDE">
+<![%preface.attlist;[
+<!ATTLIST preface
+ %status.attrib;
+ %common.attrib;
+ %preface.role.attrib;
+ %local.preface.attrib;
+>
+<!--end of preface.attlist-->]]>
+<!--end of preface.module-->]]>
+
+<!ENTITY % reference.module "INCLUDE">
+<![%reference.module;[
+<!ENTITY % local.reference.attrib "">
+<!ENTITY % reference.role.attrib "%role.attrib;">
+
+<!ENTITY % reference.element "INCLUDE">
+<![%reference.element;[
+<!ELEMENT reference (referenceinfo?,
+ (%bookcomponent.title.content;), partintro?,
+ (%refentry.class;)+)>
+<!--end of reference.element-->]]>
+
+<!ENTITY % reference.attlist "INCLUDE">
+<![%reference.attlist;[
+<!ATTLIST reference
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %reference.role.attrib;
+ %local.reference.attrib;
+>
+<!--end of reference.attlist-->]]>
+<!--ELEMENT PartIntro (defined below)-->
+<!--end of reference.module-->]]>
+
+<!ENTITY % partintro.module "INCLUDE">
+<![%partintro.module;[
+<!ENTITY % local.partintro.attrib "">
+<!ENTITY % partintro.role.attrib "%role.attrib;">
+
+<!ENTITY % partintro.element "INCLUDE">
+<![%partintro.element;[
+<!ELEMENT partintro ((%div.title.content;)?, (%bookcomponent.content;))>
+<!--end of partintro.element-->]]>
+
+<!ENTITY % partintro.attlist "INCLUDE">
+<![%partintro.attlist;[
+<!ATTLIST partintro
+ %label.attrib;
+ %common.attrib;
+ %local.partintro.attrib;
+ %partintro.role.attrib;
+>
+<!--end of partintro.attlist-->]]>
+<!--end of partintro.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Other Info elements .................................................. -->
+
+<!ENTITY % appendixinfo.module "INCLUDE">
+<![ %appendixinfo.module; [
+<!ENTITY % local.appendixinfo.attrib "">
+<!ENTITY % appendixinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % appendixinfo.element "INCLUDE">
+<![ %appendixinfo.element; [
+<!ELEMENT appendixinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of appendixinfo.element-->]]>
+
+<!ENTITY % appendixinfo.attlist "INCLUDE">
+<![ %appendixinfo.attlist; [
+<!ATTLIST appendixinfo
+ %common.attrib;
+ %appendixinfo.role.attrib;
+ %local.appendixinfo.attrib;
+>
+<!--end of appendixinfo.attlist-->]]>
+<!--end of appendixinfo.module-->]]>
+
+<!ENTITY % bibliographyinfo.module "INCLUDE">
+<![ %bibliographyinfo.module; [
+<!ENTITY % local.bibliographyinfo.attrib "">
+<!ENTITY % bibliographyinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliographyinfo.element "INCLUDE">
+<![ %bibliographyinfo.element; [
+<!ELEMENT bibliographyinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of bibliographyinfo.element-->]]>
+
+<!ENTITY % bibliographyinfo.attlist "INCLUDE">
+<![ %bibliographyinfo.attlist; [
+<!ATTLIST bibliographyinfo
+ %common.attrib;
+ %bibliographyinfo.role.attrib;
+ %local.bibliographyinfo.attrib;
+>
+<!--end of bibliographyinfo.attlist-->]]>
+<!--end of bibliographyinfo.module-->]]>
+
+<!ENTITY % chapterinfo.module "INCLUDE">
+<![ %chapterinfo.module; [
+<!ENTITY % local.chapterinfo.attrib "">
+<!ENTITY % chapterinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % chapterinfo.element "INCLUDE">
+<![ %chapterinfo.element; [
+<!ELEMENT chapterinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of chapterinfo.element-->]]>
+
+<!ENTITY % chapterinfo.attlist "INCLUDE">
+<![ %chapterinfo.attlist; [
+<!ATTLIST chapterinfo
+ %common.attrib;
+ %chapterinfo.role.attrib;
+ %local.chapterinfo.attrib;
+>
+<!--end of chapterinfo.attlist-->]]>
+<!--end of chapterinfo.module-->]]>
+
+<!ENTITY % glossaryinfo.module "INCLUDE">
+<![ %glossaryinfo.module; [
+<!ENTITY % local.glossaryinfo.attrib "">
+<!ENTITY % glossaryinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % glossaryinfo.element "INCLUDE">
+<![ %glossaryinfo.element; [
+<!ELEMENT glossaryinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of glossaryinfo.element-->]]>
+
+<!ENTITY % glossaryinfo.attlist "INCLUDE">
+<![ %glossaryinfo.attlist; [
+<!ATTLIST glossaryinfo
+ %common.attrib;
+ %glossaryinfo.role.attrib;
+ %local.glossaryinfo.attrib;
+>
+<!--end of glossaryinfo.attlist-->]]>
+<!--end of glossaryinfo.module-->]]>
+
+<!ENTITY % indexinfo.module "INCLUDE">
+<![ %indexinfo.module; [
+<!ENTITY % local.indexinfo.attrib "">
+<!ENTITY % indexinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % indexinfo.element "INCLUDE">
+<![ %indexinfo.element; [
+<!ELEMENT indexinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of indexinfo.element-->]]>
+
+<!ENTITY % indexinfo.attlist "INCLUDE">
+<![ %indexinfo.attlist; [
+<!ATTLIST indexinfo
+ %common.attrib;
+ %indexinfo.role.attrib;
+ %local.indexinfo.attrib;
+>
+<!--end of indexinfo.attlist-->]]>
+<!--end of indexinfo.module-->]]>
+
+<!ENTITY % setindexinfo.module "INCLUDE">
+<![ %setindexinfo.module; [
+<!ENTITY % local.setindexinfo.attrib "">
+<!ENTITY % setindexinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % setindexinfo.element "INCLUDE">
+<![ %setindexinfo.element; [
+<!ELEMENT setindexinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of setindexinfo.element-->]]>
+
+<!ENTITY % setindexinfo.attlist "INCLUDE">
+<![ %setindexinfo.attlist; [
+<!ATTLIST setindexinfo
+ %common.attrib;
+ %setindexinfo.role.attrib;
+ %local.setindexinfo.attrib;
+>
+<!--end of setindexinfo.attlist-->]]>
+<!--end of setindexinfo.module-->]]>
+
+<!ENTITY % partinfo.module "INCLUDE">
+<![ %partinfo.module; [
+<!ENTITY % local.partinfo.attrib "">
+<!ENTITY % partinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % partinfo.element "INCLUDE">
+<![ %partinfo.element; [
+<!ELEMENT partinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of partinfo.element-->]]>
+
+<!ENTITY % partinfo.attlist "INCLUDE">
+<![ %partinfo.attlist; [
+<!ATTLIST partinfo
+ %common.attrib;
+ %partinfo.role.attrib;
+ %local.partinfo.attrib;
+>
+<!--end of partinfo.attlist-->]]>
+<!--end of partinfo.module-->]]>
+
+<!ENTITY % prefaceinfo.module "INCLUDE">
+<![ %prefaceinfo.module; [
+<!ENTITY % local.prefaceinfo.attrib "">
+<!ENTITY % prefaceinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % prefaceinfo.element "INCLUDE">
+<![ %prefaceinfo.element; [
+<!ELEMENT prefaceinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of prefaceinfo.element-->]]>
+
+<!ENTITY % prefaceinfo.attlist "INCLUDE">
+<![ %prefaceinfo.attlist; [
+<!ATTLIST prefaceinfo
+ %common.attrib;
+ %prefaceinfo.role.attrib;
+ %local.prefaceinfo.attrib;
+>
+<!--end of prefaceinfo.attlist-->]]>
+<!--end of prefaceinfo.module-->]]>
+
+<!ENTITY % refentryinfo.module "INCLUDE">
+<![ %refentryinfo.module; [
+<!ENTITY % local.refentryinfo.attrib "">
+<!ENTITY % refentryinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refentryinfo.element "INCLUDE">
+<![ %refentryinfo.element; [
+<!ELEMENT refentryinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of refentryinfo.element-->]]>
+
+<!ENTITY % refentryinfo.attlist "INCLUDE">
+<![ %refentryinfo.attlist; [
+<!ATTLIST refentryinfo
+ %common.attrib;
+ %refentryinfo.role.attrib;
+ %local.refentryinfo.attrib;
+>
+<!--end of refentryinfo.attlist-->]]>
+<!--end of refentryinfo.module-->]]>
+
+<!ENTITY % refsect1info.module "INCLUDE">
+<![ %refsect1info.module; [
+<!ENTITY % local.refsect1info.attrib "">
+<!ENTITY % refsect1info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect1info.element "INCLUDE">
+<![ %refsect1info.element; [
+<!ELEMENT refsect1info ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of refsect1info.element-->]]>
+
+<!ENTITY % refsect1info.attlist "INCLUDE">
+<![ %refsect1info.attlist; [
+<!ATTLIST refsect1info
+ %common.attrib;
+ %refsect1info.role.attrib;
+ %local.refsect1info.attrib;
+>
+<!--end of refsect1info.attlist-->]]>
+<!--end of refsect1info.module-->]]>
+
+<!ENTITY % refsect2info.module "INCLUDE">
+<![ %refsect2info.module; [
+<!ENTITY % local.refsect2info.attrib "">
+<!ENTITY % refsect2info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect2info.element "INCLUDE">
+<![ %refsect2info.element; [
+<!ELEMENT refsect2info ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of refsect2info.element-->]]>
+
+<!ENTITY % refsect2info.attlist "INCLUDE">
+<![ %refsect2info.attlist; [
+<!ATTLIST refsect2info
+ %common.attrib;
+ %refsect2info.role.attrib;
+ %local.refsect2info.attrib;
+>
+<!--end of refsect2info.attlist-->]]>
+<!--end of refsect2info.module-->]]>
+
+<!ENTITY % refsect3info.module "INCLUDE">
+<![ %refsect3info.module; [
+<!ENTITY % local.refsect3info.attrib "">
+<!ENTITY % refsect3info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect3info.element "INCLUDE">
+<![ %refsect3info.element; [
+<!ELEMENT refsect3info ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of refsect3info.element-->]]>
+
+<!ENTITY % refsect3info.attlist "INCLUDE">
+<![ %refsect3info.attlist; [
+<!ATTLIST refsect3info
+ %common.attrib;
+ %refsect3info.role.attrib;
+ %local.refsect3info.attrib;
+>
+<!--end of refsect3info.attlist-->]]>
+<!--end of refsect3info.module-->]]>
+
+<!ENTITY % refsynopsisdivinfo.module "INCLUDE">
+<![ %refsynopsisdivinfo.module; [
+<!ENTITY % local.refsynopsisdivinfo.attrib "">
+<!ENTITY % refsynopsisdivinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refsynopsisdivinfo.element "INCLUDE">
+<![ %refsynopsisdivinfo.element; [
+<!ELEMENT refsynopsisdivinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of refsynopsisdivinfo.element-->]]>
+
+<!ENTITY % refsynopsisdivinfo.attlist "INCLUDE">
+<![ %refsynopsisdivinfo.attlist; [
+<!ATTLIST refsynopsisdivinfo
+ %common.attrib;
+ %refsynopsisdivinfo.role.attrib;
+ %local.refsynopsisdivinfo.attrib;
+>
+<!--end of refsynopsisdivinfo.attlist-->]]>
+<!--end of refsynopsisdivinfo.module-->]]>
+
+<!ENTITY % referenceinfo.module "INCLUDE">
+<![ %referenceinfo.module; [
+<!ENTITY % local.referenceinfo.attrib "">
+<!ENTITY % referenceinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % referenceinfo.element "INCLUDE">
+<![ %referenceinfo.element; [
+<!ELEMENT referenceinfo ((graphic | mediaobject
+ | legalnotice | modespec
+ | subjectset | keywordset | itermset
+ | %bibliocomponent.mix;)+)>
+<!--end of referenceinfo.element-->]]>
+
+<!ENTITY % referenceinfo.attlist "INCLUDE">
+<![ %referenceinfo.attlist; [
+<!ATTLIST referenceinfo
+ %common.attrib;
+ %referenceinfo.role.attrib;
+ %local.referenceinfo.attrib;
+>
+<!--end of referenceinfo.attlist-->]]>
+<!--end of referenceinfo.module-->]]>
+
+<!ENTITY % local.sect1info.attrib "">
+<!ENTITY % sect1info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect1info.element "INCLUDE">
+<![%sect1info.element;[
+<!ELEMENT sect1info ((graphic | mediaobject | legalnotice | modespec
+ | subjectset | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--end of sect1info.element-->]]>
+
+<!ENTITY % sect1info.attlist "INCLUDE">
+<![%sect1info.attlist;[
+<!ATTLIST sect1info
+ %common.attrib;
+ %sect1info.role.attrib;
+ %local.sect1info.attrib;
+>
+<!--end of sect1info.attlist-->]]>
+
+<!ENTITY % local.sect2info.attrib "">
+<!ENTITY % sect2info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect2info.element "INCLUDE">
+<![%sect2info.element;[
+<!ELEMENT sect2info ((graphic | mediaobject | legalnotice | modespec
+ | subjectset | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--end of sect2info.element-->]]>
+
+<!ENTITY % sect2info.attlist "INCLUDE">
+<![%sect2info.attlist;[
+<!ATTLIST sect2info
+ %common.attrib;
+ %sect2info.role.attrib;
+ %local.sect2info.attrib;
+>
+<!--end of sect2info.attlist-->]]>
+
+<!ENTITY % local.sect3info.attrib "">
+<!ENTITY % sect3info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect3info.element "INCLUDE">
+<![%sect3info.element;[
+<!ELEMENT sect3info ((graphic | mediaobject | legalnotice | modespec
+ | subjectset | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--end of sect3info.element-->]]>
+
+<!ENTITY % sect3info.attlist "INCLUDE">
+<![%sect3info.attlist;[
+<!ATTLIST sect3info
+ %common.attrib;
+ %sect3info.role.attrib;
+ %local.sect3info.attrib;
+>
+<!--end of sect3info.attlist-->]]>
+
+<!ENTITY % local.sect4info.attrib "">
+<!ENTITY % sect4info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect4info.element "INCLUDE">
+<![%sect4info.element;[
+<!ELEMENT sect4info ((graphic | mediaobject | legalnotice | modespec
+ | subjectset | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--end of sect4info.element-->]]>
+
+<!ENTITY % sect4info.attlist "INCLUDE">
+<![%sect4info.attlist;[
+<!ATTLIST sect4info
+ %common.attrib;
+ %sect4info.role.attrib;
+ %local.sect4info.attrib;
+>
+<!--end of sect4info.attlist-->]]>
+
+<!ENTITY % local.sect5info.attrib "">
+<!ENTITY % sect5info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect5info.element "INCLUDE">
+<![%sect5info.element;[
+<!ELEMENT sect5info ((graphic | mediaobject | legalnotice | modespec
+ | subjectset | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--end of sect5info.element-->]]>
+
+<!ENTITY % sect5info.attlist "INCLUDE">
+<![%sect5info.attlist;[
+<!ATTLIST sect5info
+ %common.attrib;
+ %sect5info.role.attrib;
+ %local.sect5info.attrib;
+>
+<!--end of sect5info.attlist-->]]>
+
+<!-- ...................................................................... -->
+<!-- Section (parallel to Sect*) ......................................... -->
+
+<!ENTITY % section.content.module "INCLUDE">
+<![ %section.content.module; [
+<!ENTITY % section.module "INCLUDE">
+<![ %section.module; [
+<!ENTITY % local.section.attrib "">
+<!ENTITY % section.role.attrib "%role.attrib;">
+
+<!ENTITY % section.element "INCLUDE">
+<![ %section.element; [
+<!ELEMENT section (sectioninfo?,
+ (%sect.title.content;),
+ (%nav.class;)*,
+ (((%divcomponent.mix;)+,
+ ((%refentry.class;)*|section*))
+ | (%refentry.class;)+|section+),
+ (%nav.class;)*)>
+<!--end of section.element-->]]>
+
+<!ENTITY % section.attlist "INCLUDE">
+<![ %section.attlist; [
+<!ATTLIST section
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %section.role.attrib;
+ %local.section.attrib;
+>
+<!--end of section.attlist-->]]>
+<!--end of section.module-->]]>
+
+<!ENTITY % sectioninfo.module "INCLUDE">
+<![ %sectioninfo.module; [
+<!ENTITY % sectioninfo.role.attrib "%role.attrib;">
+<!ENTITY % local.sectioninfo.attrib "">
+
+<!ENTITY % sectioninfo.element "INCLUDE">
+<![ %sectioninfo.element; [
+<!ELEMENT sectioninfo ((graphic | mediaobject | legalnotice | modespec
+ | subjectset | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--end of sectioninfo.element-->]]>
+
+<!ENTITY % sectioninfo.attlist "INCLUDE">
+<![ %sectioninfo.attlist; [
+<!ATTLIST sectioninfo
+ %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 .................................... -->
+
+<!ENTITY % sect1.module "INCLUDE">
+<![%sect1.module;[
+<!ENTITY % local.sect1.attrib "">
+<!ENTITY % sect1.role.attrib "%role.attrib;">
+
+<!ENTITY % sect1.element "INCLUDE">
+<![%sect1.element;[
+<!ELEMENT sect1 (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 -->
+
+
+<!ENTITY % sect1.attlist "INCLUDE">
+<![%sect1.attlist;[
+<!ATTLIST sect1
+ renderas (sect2
+ |sect3
+ |sect4
+ |sect5) #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %sect1.role.attrib;
+ %local.sect1.attrib;
+>
+<!--end of sect1.attlist-->]]>
+<!--end of sect1.module-->]]>
+
+<!ENTITY % sect2.module "INCLUDE">
+<![%sect2.module;[
+<!ENTITY % local.sect2.attrib "">
+<!ENTITY % sect2.role.attrib "%role.attrib;">
+
+<!ENTITY % sect2.element "INCLUDE">
+<![%sect2.element;[
+<!ELEMENT sect2 (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 -->
+
+
+<!ENTITY % sect2.attlist "INCLUDE">
+<![%sect2.attlist;[
+<!ATTLIST sect2
+ renderas (sect1
+ |sect3
+ |sect4
+ |sect5) #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %sect2.role.attrib;
+ %local.sect2.attrib;
+>
+<!--end of sect2.attlist-->]]>
+<!--end of sect2.module-->]]>
+
+<!ENTITY % sect3.module "INCLUDE">
+<![%sect3.module;[
+<!ENTITY % local.sect3.attrib "">
+<!ENTITY % sect3.role.attrib "%role.attrib;">
+
+<!ENTITY % sect3.element "INCLUDE">
+<![%sect3.element;[
+<!ELEMENT sect3 (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 -->
+
+
+<!ENTITY % sect3.attlist "INCLUDE">
+<![%sect3.attlist;[
+<!ATTLIST sect3
+ renderas (sect1
+ |sect2
+ |sect4
+ |sect5) #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %sect3.role.attrib;
+ %local.sect3.attrib;
+>
+<!--end of sect3.attlist-->]]>
+<!--end of sect3.module-->]]>
+
+<!ENTITY % sect4.module "INCLUDE">
+<![%sect4.module;[
+<!ENTITY % local.sect4.attrib "">
+<!ENTITY % sect4.role.attrib "%role.attrib;">
+
+<!ENTITY % sect4.element "INCLUDE">
+<![%sect4.element;[
+<!ELEMENT sect4 (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 -->
+
+
+<!ENTITY % sect4.attlist "INCLUDE">
+<![%sect4.attlist;[
+<!ATTLIST sect4
+ renderas (sect1
+ |sect2
+ |sect3
+ |sect5) #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %sect4.role.attrib;
+ %local.sect4.attrib;
+>
+<!--end of sect4.attlist-->]]>
+<!--end of sect4.module-->]]>
+
+<!ENTITY % sect5.module "INCLUDE">
+<![%sect5.module;[
+<!ENTITY % local.sect5.attrib "">
+<!ENTITY % sect5.role.attrib "%role.attrib;">
+
+<!ENTITY % sect5.element "INCLUDE">
+<![%sect5.element;[
+<!ELEMENT sect5 (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 -->
+
+
+<!ENTITY % sect5.attlist "INCLUDE">
+<![%sect5.attlist;[
+<!ATTLIST sect5
+ renderas (sect1
+ |sect2
+ |sect3
+ |sect4) #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %sect5.role.attrib;
+ %local.sect5.attrib;
+>
+<!--end of sect5.attlist-->]]>
+<!--end of sect5.module-->]]>
+
+<!ENTITY % simplesect.module "INCLUDE">
+<![%simplesect.module;[
+<!ENTITY % local.simplesect.attrib "">
+<!ENTITY % simplesect.role.attrib "%role.attrib;">
+
+<!ENTITY % simplesect.element "INCLUDE">
+<![%simplesect.element;[
+<!ELEMENT simplesect ((%sect.title.content;), (%divcomponent.mix;)+)>
+<!--end of simplesect.element-->]]>
+
+<!ENTITY % simplesect.attlist "INCLUDE">
+<![%simplesect.attlist;[
+<!ATTLIST simplesect
+ %common.attrib;
+ %simplesect.role.attrib;
+ %local.simplesect.attrib;
+>
+<!--end of simplesect.attlist-->]]>
+<!--end of simplesect.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Bibliography ......................................................... -->
+
+<!ENTITY % bibliography.content.module "INCLUDE">
+<![%bibliography.content.module;[
+<!ENTITY % bibliography.module "INCLUDE">
+<![%bibliography.module;[
+<!ENTITY % local.bibliography.attrib "">
+<!ENTITY % bibliography.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliography.element "INCLUDE">
+<![%bibliography.element;[
+<!ELEMENT bibliography (bibliographyinfo?,
+ (%bookcomponent.title.content;)?,
+ (%component.mix;)*,
+ (bibliodiv+ | (biblioentry|bibliomixed)+))>
+<!--end of bibliography.element-->]]>
+
+<!ENTITY % bibliography.attlist "INCLUDE">
+<![%bibliography.attlist;[
+<!ATTLIST bibliography
+ %status.attrib;
+ %common.attrib;
+ %bibliography.role.attrib;
+ %local.bibliography.attrib;
+>
+<!--end of bibliography.attlist-->]]>
+<!--end of bibliography.module-->]]>
+
+<!ENTITY % bibliodiv.module "INCLUDE">
+<![%bibliodiv.module;[
+<!ENTITY % local.bibliodiv.attrib "">
+<!ENTITY % bibliodiv.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliodiv.element "INCLUDE">
+<![%bibliodiv.element;[
+<!ELEMENT bibliodiv ((%sect.title.content;)?, (%component.mix;)*,
+ (biblioentry|bibliomixed)+)>
+<!--end of bibliodiv.element-->]]>
+
+<!ENTITY % bibliodiv.attlist "INCLUDE">
+<![%bibliodiv.attlist;[
+<!ATTLIST bibliodiv
+ %status.attrib;
+ %common.attrib;
+ %bibliodiv.role.attrib;
+ %local.bibliodiv.attrib;
+>
+<!--end of bibliodiv.attlist-->]]>
+<!--end of bibliodiv.module-->]]>
+<!--end of bibliography.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Glossary ............................................................. -->
+
+<!ENTITY % glossary.content.module "INCLUDE">
+<![%glossary.content.module;[
+<!ENTITY % glossary.module "INCLUDE">
+<![%glossary.module;[
+<!ENTITY % local.glossary.attrib "">
+<!ENTITY % glossary.role.attrib "%role.attrib;">
+
+<!ENTITY % glossary.element "INCLUDE">
+<![%glossary.element;[
+<!ELEMENT glossary (glossaryinfo?,
+ (%bookcomponent.title.content;)?,
+ (%component.mix;)*,
+ (glossdiv+ | glossentry+), bibliography?)>
+<!--end of glossary.element-->]]>
+
+<!ENTITY % glossary.attlist "INCLUDE">
+<![%glossary.attlist;[
+<!ATTLIST glossary
+ %status.attrib;
+ %common.attrib;
+ %glossary.role.attrib;
+ %local.glossary.attrib;
+>
+<!--end of glossary.attlist-->]]>
+<!--end of glossary.module-->]]>
+
+<!ENTITY % glossdiv.module "INCLUDE">
+<![%glossdiv.module;[
+<!ENTITY % local.glossdiv.attrib "">
+<!ENTITY % glossdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % glossdiv.element "INCLUDE">
+<![%glossdiv.element;[
+<!ELEMENT glossdiv ((%sect.title.content;), (%component.mix;)*,
+ glossentry+)>
+<!--end of glossdiv.element-->]]>
+
+<!ENTITY % glossdiv.attlist "INCLUDE">
+<![%glossdiv.attlist;[
+<!ATTLIST glossdiv
+ %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 ................................................... -->
+
+<!ENTITY % index.content.module "INCLUDE">
+<![%index.content.module;[
+<!ENTITY % indexes.module "INCLUDE">
+<![%indexes.module;[
+<!ENTITY % local.indexes.attrib "">
+<!ENTITY % indexes.role.attrib "%role.attrib;">
+
+<!ENTITY % index.element "INCLUDE">
+<![%index.element;[
+<!ELEMENT index (indexinfo?,
+ (%bookcomponent.title.content;)?,
+ (%component.mix;)*,
+ (indexdiv* | indexentry*))>
+<!--end of index.element-->]]>
+
+<!ENTITY % index.attlist "INCLUDE">
+<![%index.attlist;[
+<!ATTLIST index
+ %common.attrib;
+ %indexes.role.attrib;
+ %local.indexes.attrib;
+>
+<!--end of index.attlist-->]]>
+
+<!ENTITY % setindex.element "INCLUDE">
+<![%setindex.element;[
+<!ELEMENT setindex (setindexinfo?,
+ (%bookcomponent.title.content;)?,
+ (%component.mix;)*, (indexdiv* | indexentry*))>
+<!--end of setindex.element-->]]>
+
+<!ENTITY % setindex.attlist "INCLUDE">
+<![%setindex.attlist;[
+<!ATTLIST setindex
+ %common.attrib;
+ %indexes.role.attrib;
+ %local.indexes.attrib;
+>
+<!--end of setindex.attlist-->]]>
+<!--end of indexes.module-->]]>
+
+<!ENTITY % indexdiv.module "INCLUDE">
+<![%indexdiv.module;[
+
+<!-- SegmentedList in this content is useful for marking up permuted
+ indices. -->
+
+<!ENTITY % local.indexdiv.attrib "">
+<!ENTITY % indexdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % indexdiv.element "INCLUDE">
+<![%indexdiv.element;[
+<!ELEMENT indexdiv ((%sect.title.content;)?, ((%indexdivcomponent.mix;)*,
+ (indexentry+ | segmentedlist)))>
+<!--end of indexdiv.element-->]]>
+
+<!ENTITY % indexdiv.attlist "INCLUDE">
+<![%indexdiv.attlist;[
+<!ATTLIST indexdiv
+ %common.attrib;
+ %indexdiv.role.attrib;
+ %local.indexdiv.attrib;
+>
+<!--end of indexdiv.attlist-->]]>
+<!--end of indexdiv.module-->]]>
+
+<!ENTITY % indexentry.module "INCLUDE">
+<![%indexentry.module;[
+<!-- Index entries appear in the index, not the text. -->
+
+<!ENTITY % local.indexentry.attrib "">
+<!ENTITY % indexentry.role.attrib "%role.attrib;">
+
+<!ENTITY % indexentry.element "INCLUDE">
+<![%indexentry.element;[
+<!ELEMENT indexentry (primaryie, (seeie|seealsoie)*,
+ (secondaryie, (seeie|seealsoie|tertiaryie)*)*)>
+<!--end of indexentry.element-->]]>
+
+<!ENTITY % indexentry.attlist "INCLUDE">
+<![%indexentry.attlist;[
+<!ATTLIST indexentry
+ %common.attrib;
+ %indexentry.role.attrib;
+ %local.indexentry.attrib;
+>
+<!--end of indexentry.attlist-->]]>
+<!--end of indexentry.module-->]]>
+
+<!ENTITY % primsecterie.module "INCLUDE">
+<![%primsecterie.module;[
+<!ENTITY % local.primsecterie.attrib "">
+<!ENTITY % primsecterie.role.attrib "%role.attrib;">
+
+<!ENTITY % primaryie.element "INCLUDE">
+<![%primaryie.element;[
+<!ELEMENT primaryie (%ndxterm.char.mix;)*>
+<!--end of primaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % primaryie.attlist "INCLUDE">
+<![%primaryie.attlist;[
+<!ATTLIST primaryie
+ %linkends.attrib; %common.attrib;
+ %primsecterie.role.attrib;
+ %local.primsecterie.attrib;
+>
+<!--end of primaryie.attlist-->]]>
+
+<!ENTITY % secondaryie.element "INCLUDE">
+<![%secondaryie.element;[
+<!ELEMENT secondaryie (%ndxterm.char.mix;)*>
+<!--end of secondaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % secondaryie.attlist "INCLUDE">
+<![%secondaryie.attlist;[
+<!ATTLIST secondaryie
+ %linkends.attrib; %common.attrib;
+ %primsecterie.role.attrib;
+ %local.primsecterie.attrib;
+>
+<!--end of secondaryie.attlist-->]]>
+
+<!ENTITY % tertiaryie.element "INCLUDE">
+<![%tertiaryie.element;[
+<!ELEMENT tertiaryie (%ndxterm.char.mix;)*>
+<!--end of tertiaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % tertiaryie.attlist "INCLUDE">
+<![%tertiaryie.attlist;[
+<!ATTLIST tertiaryie
+ %linkends.attrib; %common.attrib;
+ %primsecterie.role.attrib;
+ %local.primsecterie.attrib;
+>
+<!--end of tertiaryie.attlist-->]]>
+
+<!--end of primsecterie.module-->]]>
+
+<!ENTITY % seeie.module "INCLUDE">
+<![%seeie.module;[
+<!ENTITY % local.seeie.attrib "">
+<!ENTITY % seeie.role.attrib "%role.attrib;">
+
+<!ENTITY % seeie.element "INCLUDE">
+<![%seeie.element;[
+<!ELEMENT seeie (%ndxterm.char.mix;)*>
+<!--end of seeie.element-->]]>
+
+<!-- to IndexEntry to look up -->
+
+
+<!ENTITY % seeie.attlist "INCLUDE">
+<![%seeie.attlist;[
+<!ATTLIST seeie
+ %linkend.attrib; %common.attrib;
+ %seeie.role.attrib;
+ %local.seeie.attrib;
+>
+<!--end of seeie.attlist-->]]>
+<!--end of seeie.module-->]]>
+
+<!ENTITY % seealsoie.module "INCLUDE">
+<![%seealsoie.module;[
+<!ENTITY % local.seealsoie.attrib "">
+<!ENTITY % seealsoie.role.attrib "%role.attrib;">
+
+<!ENTITY % seealsoie.element "INCLUDE">
+<![%seealsoie.element;[
+<!ELEMENT seealsoie (%ndxterm.char.mix;)*>
+<!--end of seealsoie.element-->]]>
+
+<!-- to related IndexEntries -->
+
+
+<!ENTITY % seealsoie.attlist "INCLUDE">
+<![%seealsoie.attlist;[
+<!ATTLIST seealsoie
+ %linkends.attrib; %common.attrib;
+ %seealsoie.role.attrib;
+ %local.seealsoie.attrib;
+>
+<!--end of seealsoie.attlist-->]]>
+<!--end of seealsoie.module-->]]>
+<!--end of index.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- RefEntry ............................................................. -->
+
+<!ENTITY % refentry.content.module "INCLUDE">
+<![%refentry.content.module;[
+<!ENTITY % refentry.module "INCLUDE">
+<![%refentry.module;[
+<!ENTITY % local.refentry.attrib "">
+<!ENTITY % refentry.role.attrib "%role.attrib;">
+
+<!ENTITY % refentry.element "INCLUDE">
+<![%refentry.element;[
+<!ELEMENT refentry ((%ndxterm.class;)*,
+ refentryinfo?, refmeta?, (remark|%link.char.class;)*,
+ refnamediv, refsynopsisdiv?, refsect1+)>
+<!--end of refentry.element-->]]>
+
+<!ENTITY % refentry.attlist "INCLUDE">
+<![%refentry.attlist;[
+<!ATTLIST refentry
+ %status.attrib;
+ %common.attrib;
+ %refentry.role.attrib;
+ %local.refentry.attrib;
+>
+<!--end of refentry.attlist-->]]>
+<!--end of refentry.module-->]]>
+
+<!ENTITY % refmeta.module "INCLUDE">
+<![%refmeta.module;[
+<!ENTITY % local.refmeta.attrib "">
+<!ENTITY % refmeta.role.attrib "%role.attrib;">
+
+<!ENTITY % refmeta.element "INCLUDE">
+<![%refmeta.element;[
+<!ELEMENT refmeta ((%ndxterm.class;)*,
+ refentrytitle, manvolnum?, refmiscinfo*,
+ (%ndxterm.class;)*)>
+<!--end of refmeta.element-->]]>
+
+<!ENTITY % refmeta.attlist "INCLUDE">
+<![%refmeta.attlist;[
+<!ATTLIST refmeta
+ %common.attrib;
+ %refmeta.role.attrib;
+ %local.refmeta.attrib;
+>
+<!--end of refmeta.attlist-->]]>
+<!--end of refmeta.module-->]]>
+
+<!ENTITY % refmiscinfo.module "INCLUDE">
+<![%refmiscinfo.module;[
+<!ENTITY % local.refmiscinfo.attrib "">
+<!ENTITY % refmiscinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refmiscinfo.element "INCLUDE">
+<![%refmiscinfo.element;[
+<!ELEMENT refmiscinfo (%docinfo.char.mix;)*>
+<!--end of refmiscinfo.element-->]]>
+
+<!-- Class: Freely assignable parameter; no default -->
+
+
+<!ENTITY % refmiscinfo.attlist "INCLUDE">
+<![%refmiscinfo.attlist;[
+<!ATTLIST refmiscinfo
+ class CDATA #IMPLIED
+ %common.attrib;
+ %refmiscinfo.role.attrib;
+ %local.refmiscinfo.attrib;
+>
+<!--end of refmiscinfo.attlist-->]]>
+<!--end of refmiscinfo.module-->]]>
+
+<!ENTITY % refnamediv.module "INCLUDE">
+<![%refnamediv.module;[
+<!ENTITY % local.refnamediv.attrib "">
+<!ENTITY % refnamediv.role.attrib "%role.attrib;">
+
+<!ENTITY % refnamediv.element "INCLUDE">
+<![%refnamediv.element;[
+<!ELEMENT refnamediv (refdescriptor?, refname+, refpurpose, refclass*,
+ (remark|%link.char.class;)*)>
+<!--end of refnamediv.element-->]]>
+
+<!ENTITY % refnamediv.attlist "INCLUDE">
+<![%refnamediv.attlist;[
+<!ATTLIST refnamediv
+ %common.attrib;
+ %refnamediv.role.attrib;
+ %local.refnamediv.attrib;
+>
+<!--end of refnamediv.attlist-->]]>
+<!--end of refnamediv.module-->]]>
+
+<!ENTITY % refdescriptor.module "INCLUDE">
+<![%refdescriptor.module;[
+<!ENTITY % local.refdescriptor.attrib "">
+<!ENTITY % refdescriptor.role.attrib "%role.attrib;">
+
+<!ENTITY % refdescriptor.element "INCLUDE">
+<![%refdescriptor.element;[
+<!ELEMENT refdescriptor (%refname.char.mix;)*>
+<!--end of refdescriptor.element-->]]>
+
+<!ENTITY % refdescriptor.attlist "INCLUDE">
+<![%refdescriptor.attlist;[
+<!ATTLIST refdescriptor
+ %common.attrib;
+ %refdescriptor.role.attrib;
+ %local.refdescriptor.attrib;
+>
+<!--end of refdescriptor.attlist-->]]>
+<!--end of refdescriptor.module-->]]>
+
+<!ENTITY % refname.module "INCLUDE">
+<![%refname.module;[
+<!ENTITY % local.refname.attrib "">
+<!ENTITY % refname.role.attrib "%role.attrib;">
+
+<!ENTITY % refname.element "INCLUDE">
+<![%refname.element;[
+<!ELEMENT refname (%refname.char.mix;)*>
+<!--end of refname.element-->]]>
+
+<!ENTITY % refname.attlist "INCLUDE">
+<![%refname.attlist;[
+<!ATTLIST refname
+ %common.attrib;
+ %refname.role.attrib;
+ %local.refname.attrib;
+>
+<!--end of refname.attlist-->]]>
+<!--end of refname.module-->]]>
+
+<!ENTITY % refpurpose.module "INCLUDE">
+<![%refpurpose.module;[
+<!ENTITY % local.refpurpose.attrib "">
+<!ENTITY % refpurpose.role.attrib "%role.attrib;">
+
+<!ENTITY % refpurpose.element "INCLUDE">
+<![%refpurpose.element;[
+<!ELEMENT refpurpose (%refinline.char.mix;)*>
+<!--end of refpurpose.element-->]]>
+
+<!ENTITY % refpurpose.attlist "INCLUDE">
+<![%refpurpose.attlist;[
+<!ATTLIST refpurpose
+ %common.attrib;
+ %refpurpose.role.attrib;
+ %local.refpurpose.attrib;
+>
+<!--end of refpurpose.attlist-->]]>
+<!--end of refpurpose.module-->]]>
+
+<!ENTITY % refclass.module "INCLUDE">
+<![%refclass.module;[
+<!ENTITY % local.refclass.attrib "">
+<!ENTITY % refclass.role.attrib "%role.attrib;">
+
+<!ENTITY % refclass.element "INCLUDE">
+<![%refclass.element;[
+<!ELEMENT refclass (%refclass.char.mix;)*>
+<!--end of refclass.element-->]]>
+
+<!ENTITY % refclass.attlist "INCLUDE">
+<![%refclass.attlist;[
+<!ATTLIST refclass
+ %common.attrib;
+ %refclass.role.attrib;
+ %local.refclass.attrib;
+>
+<!--end of refclass.attlist-->]]>
+<!--end of refclass.module-->]]>
+
+<!ENTITY % refsynopsisdiv.module "INCLUDE">
+<![%refsynopsisdiv.module;[
+<!ENTITY % local.refsynopsisdiv.attrib "">
+<!ENTITY % refsynopsisdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % refsynopsisdiv.element "INCLUDE">
+<![%refsynopsisdiv.element;[
+<!ELEMENT refsynopsisdiv (refsynopsisdivinfo?, (%refsect.title.content;)?,
+ (((%refcomponent.mix;)+, refsect2*) | (refsect2+)))>
+<!--end of refsynopsisdiv.element-->]]>
+
+<!ENTITY % refsynopsisdiv.attlist "INCLUDE">
+<![%refsynopsisdiv.attlist;[
+<!ATTLIST refsynopsisdiv
+ %common.attrib;
+ %refsynopsisdiv.role.attrib;
+ %local.refsynopsisdiv.attrib;
+>
+<!--end of refsynopsisdiv.attlist-->]]>
+<!--end of refsynopsisdiv.module-->]]>
+
+<!ENTITY % refsect1.module "INCLUDE">
+<![%refsect1.module;[
+<!ENTITY % local.refsect1.attrib "">
+<!ENTITY % refsect1.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect1.element "INCLUDE">
+<![%refsect1.element;[
+<!ELEMENT refsect1 (refsect1info?, (%refsect.title.content;),
+ (((%refcomponent.mix;)+, refsect2*) | refsect2+))>
+<!--end of refsect1.element-->]]>
+
+<!ENTITY % refsect1.attlist "INCLUDE">
+<![%refsect1.attlist;[
+<!ATTLIST refsect1
+ %status.attrib;
+ %common.attrib;
+ %refsect1.role.attrib;
+ %local.refsect1.attrib;
+>
+<!--end of refsect1.attlist-->]]>
+<!--end of refsect1.module-->]]>
+
+<!ENTITY % refsect2.module "INCLUDE">
+<![%refsect2.module;[
+<!ENTITY % local.refsect2.attrib "">
+<!ENTITY % refsect2.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect2.element "INCLUDE">
+<![%refsect2.element;[
+<!ELEMENT refsect2 (refsect2info?, (%refsect.title.content;),
+ (((%refcomponent.mix;)+, refsect3*) | refsect3+))>
+<!--end of refsect2.element-->]]>
+
+<!ENTITY % refsect2.attlist "INCLUDE">
+<![%refsect2.attlist;[
+<!ATTLIST refsect2
+ %status.attrib;
+ %common.attrib;
+ %refsect2.role.attrib;
+ %local.refsect2.attrib;
+>
+<!--end of refsect2.attlist-->]]>
+<!--end of refsect2.module-->]]>
+
+<!ENTITY % refsect3.module "INCLUDE">
+<![%refsect3.module;[
+<!ENTITY % local.refsect3.attrib "">
+<!ENTITY % refsect3.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect3.element "INCLUDE">
+<![%refsect3.element;[
+<!ELEMENT refsect3 (refsect3info?, (%refsect.title.content;),
+ (%refcomponent.mix;)+)>
+<!--end of refsect3.element-->]]>
+
+<!ENTITY % refsect3.attlist "INCLUDE">
+<![%refsect3.attlist;[
+<!ATTLIST refsect3
+ %status.attrib;
+ %common.attrib;
+ %refsect3.role.attrib;
+ %local.refsect3.attrib;
+>
+<!--end of refsect3.attlist-->]]>
+<!--end of refsect3.module-->]]>
+<!--end of refentry.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Article .............................................................. -->
+
+<!ENTITY % article.module "INCLUDE">
+<![%article.module;[
+<!-- An Article is a chapter-level, stand-alone document that is often,
+ but need not be, collected into a Book. -->
+
+<!ENTITY % local.article.attrib "">
+<!ENTITY % article.role.attrib "%role.attrib;">
+
+<!ENTITY % article.element "INCLUDE">
+<![%article.element;[
+<!ELEMENT article ((%div.title.content;)?, articleinfo?, tocchap?, lot*,
+ (%bookcomponent.content;),
+ ((%nav.class;) | (%appendix.class;) | 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 -->
+
+
+<!ENTITY % article.attlist "INCLUDE">
+<![%article.attlist;[
+<!ATTLIST article
+ class (journalarticle
+ |productsheet
+ |whitepaper
+ |techreport
+ |specification
+ |faq) #IMPLIED
+ parentbook IDREF #IMPLIED
+ %status.attrib;
+ %common.attrib;
+ %article.role.attrib;
+ %local.article.attrib;
+>
+<!--end of article.attlist-->]]>
+<!--end of article.module-->]]>
+
+<!-- End of DocBook XML document hierarchy module V4.1.2 .................... -->
+<!-- ...................................................................... -->
diff --git a/lib/docbook/docbook-dtd/dbnotnx.mod b/lib/docbook/docbook-dtd/dbnotnx.mod new file mode 100644 index 000000000..465167c02 --- /dev/null +++ b/lib/docbook/docbook-dtd/dbnotnx.mod @@ -0,0 +1,97 @@ +<!-- ...................................................................... -->
+<!-- DocBook XML notations module V4.1.2 .................................... -->
+<!-- File dbnotnx.mod ..................................................... -->
+
+<!-- Copyright 1992-2000 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, and the Organization for the Advancement
+ of Structured Information Standards (OASIS).
+
+ $Id: dbnotnx.mod,v 1.1 2002/05/15 17:22:22 isberg Exp $
+
+ 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 module contains the entity declarations for the standard ISO
+ entity sets 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 XML Notations V4.1.2//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.
+-->
+
+<!ENTITY % local.notation.class "">
+<!ENTITY % 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
+ | linespecific
+ %local.notation.class;">
+
+<!NOTATION BMP PUBLIC
+"+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows bitmap//EN">
+<!NOTATION CGM-CHAR PUBLIC "ISO 8632/2//NOTATION Character encoding//EN">
+<!NOTATION CGM-BINARY PUBLIC "ISO 8632/3//NOTATION Binary encoding//EN">
+<!NOTATION CGM-CLEAR PUBLIC "ISO 8632/4//NOTATION Clear text encoding//EN">
+<!NOTATION DITROFF SYSTEM "DITROFF">
+<!NOTATION DVI SYSTEM "DVI">
+<!NOTATION EPS PUBLIC
+"+//ISBN 0-201-18127-4::Adobe//NOTATION PostScript Language Ref. Manual//EN">
+<!NOTATION EQN SYSTEM "EQN">
+<!NOTATION FAX PUBLIC
+"-//USA-DOD//NOTATION CCITT Group 4 Facsimile Type 1 Untiled Raster//EN">
+<!NOTATION GIF SYSTEM "GIF">
+<!NOTATION GIF87a PUBLIC
+"-//CompuServe//NOTATION Graphics Interchange Format 87a//EN">
+
+<!NOTATION GIF89a PUBLIC
+"-//CompuServe//NOTATION Graphics Interchange Format 89a//EN">
+<!NOTATION JPG SYSTEM "JPG">
+<!NOTATION JPEG SYSTEM "JPG">
+<!NOTATION IGES PUBLIC
+"-//USA-DOD//NOTATION (ASME/ANSI Y14.26M-1987) Initial Graphics Exchange Specification//EN">
+<!NOTATION PCX PUBLIC
+"+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION ZSoft PCX bitmap//EN">
+<!NOTATION PIC SYSTEM "PIC">
+<!NOTATION PNG SYSTEM "http://www.w3.org/TR/REC-png">
+<!NOTATION PS SYSTEM "PS">
+<!NOTATION SGML PUBLIC
+"ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN">
+<!NOTATION TBL SYSTEM "TBL">
+<!NOTATION TEX PUBLIC
+"+//ISBN 0-201-13448-9::Knuth//NOTATION The TeXbook//EN">
+<!NOTATION TIFF SYSTEM "TIFF">
+<!NOTATION WMF PUBLIC
+"+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows Metafile//EN">
+<!NOTATION WPG SYSTEM "WPG"> <!--WordPerfect Graphic format-->
+<!NOTATION linespecific SYSTEM "linespecific">
+
+<!-- End of DocBook XML notations module V4.1.2 ............................. -->
+<!-- ...................................................................... -->
diff --git a/lib/docbook/docbook-dtd/dbpoolx.mod b/lib/docbook/docbook-dtd/dbpoolx.mod new file mode 100644 index 000000000..4314ea0f3 --- /dev/null +++ b/lib/docbook/docbook-dtd/dbpoolx.mod @@ -0,0 +1,7516 @@ +<!-- ...................................................................... -->
+<!-- DocBook XML information pool module V4.1.2 ............................. -->
+<!-- File dbpoolx.mod ..................................................... -->
+
+<!-- Copyright 1992-2000 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh and the Organization for the Advancement
+ of Structured Information Standards (OASIS).
+
+ $Id: dbpoolx.mod,v 1.1 2002/05/15 17:22:22 isberg Exp $
+
+ 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.1.2//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.
+-->
+
+<!-- ...................................................................... -->
+<!-- General-purpose semantics entities ................................... -->
+
+<!ENTITY % yesorno.attvals "CDATA">
+
+<!-- ...................................................................... -->
+<!-- Entities for module inclusions ....................................... -->
+
+<!ENTITY % dbpool.redecl.module "IGNORE">
+
+<!-- ...................................................................... -->
+<!-- Entities for element classes and mixtures ............................ -->
+
+<!-- "Ubiquitous" classes: ndxterm.class and beginpage -->
+
+<!ENTITY % local.ndxterm.class "">
+<!ENTITY % ndxterm.class
+ "indexterm %local.ndxterm.class;">
+
+<!-- Object-level classes ................................................. -->
+
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class
+ "calloutlist|glosslist|itemizedlist|orderedlist|segmentedlist
+ |simplelist|variablelist %local.list.class;">
+
+<!ENTITY % local.admon.class "">
+<!ENTITY % admon.class
+ "caution|important|note|tip|warning %local.admon.class;">
+
+<!ENTITY % local.linespecific.class "">
+<!ENTITY % linespecific.class
+ "literallayout|programlisting|programlistingco|screen
+ |screenco|screenshot %local.linespecific.class;">
+
+<!ENTITY % local.method.synop.class "">
+<!ENTITY % method.synop.class
+ "constructorsynopsis
+ |destructorsynopsis
+ |methodsynopsis %local.method.synop.class;">
+
+<!ENTITY % local.synop.class "">
+<!ENTITY % synop.class
+ "synopsis|cmdsynopsis|funcsynopsis
+ |classsynopsis|fieldsynopsis
+ |%method.synop.class; %local.synop.class;">
+
+<!ENTITY % local.para.class "">
+<!ENTITY % para.class
+ "formalpara|para|simpara %local.para.class;">
+
+<!ENTITY % local.informal.class "">
+<!ENTITY % informal.class
+ "address|blockquote
+ |graphic|graphicco|mediaobject|mediaobjectco
+ |informalequation
+ |informalexample
+ |informalfigure
+ |informaltable %local.informal.class;">
+
+<!ENTITY % local.formal.class "">
+<!ENTITY % 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. -->
+<!ENTITY % ebnf.block.hook "">
+
+<!ENTITY % local.compound.class "">
+<!ENTITY % compound.class
+ "msgset|procedure|sidebar|qandaset
+ %ebnf.block.hook;
+ %local.compound.class;">
+
+<!ENTITY % local.genobj.class "">
+<!ENTITY % genobj.class
+ "anchor|bridgehead|remark|highlights
+ %local.genobj.class;">
+
+<!ENTITY % local.descobj.class "">
+<!ENTITY % descobj.class
+ "abstract|authorblurb|epigraph
+ %local.descobj.class;">
+
+<!-- Character-level classes .............................................. -->
+
+<!ENTITY % local.xref.char.class "">
+<!ENTITY % xref.char.class
+ "footnoteref|xref %local.xref.char.class;">
+
+<!ENTITY % local.gen.char.class "">
+<!ENTITY % gen.char.class
+ "abbrev|acronym|citation|citerefentry|citetitle|emphasis
+ |firstterm|foreignphrase|glossterm|footnote|phrase
+ |quote|trademark|wordasword %local.gen.char.class;">
+
+<!ENTITY % local.link.char.class "">
+<!ENTITY % 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. -->
+<!ENTITY % ebnf.inline.hook "">
+
+<!ENTITY % local.tech.char.class "">
+<!ENTITY % tech.char.class
+ "action|application
+ |classname|methodname|interfacename|exceptionname
+ |ooclass|oointerface|ooexception
+ |command|computeroutput
+ |database|email|envar|errorcode|errorname|errortype|filename
+ |function|guibutton|guiicon|guilabel|guimenu|guimenuitem
+ |guisubmenu|hardware|interface|keycap
+ |keycode|keycombo|keysym|literal|constant|markup|medialabel
+ |menuchoice|mousebutton|option|optional|parameter
+ |prompt|property|replaceable|returnvalue|sgmltag|structfield
+ |structname|symbol|systemitem|token|type|userinput|varname
+ %ebnf.inline.hook;
+ %local.tech.char.class;">
+
+<!ENTITY % local.base.char.class "">
+<!ENTITY % base.char.class
+ "anchor %local.base.char.class;">
+
+<!ENTITY % local.docinfo.char.class "">
+<!ENTITY % docinfo.char.class
+ "author|authorinitials|corpauthor|modespec|othercredit
+ |productname|productnumber|revhistory
+ %local.docinfo.char.class;">
+
+<!ENTITY % local.other.char.class "">
+<!ENTITY % other.char.class
+ "remark|subscript|superscript %local.other.char.class;">
+
+<!ENTITY % local.inlineobj.char.class "">
+<!ENTITY % inlineobj.char.class
+ "inlinegraphic|inlinemediaobject|inlineequation %local.inlineobj.char.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 -->
+
+<![%dbpool.redecl.module;[
+<!-- Defining rdbpool here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbpool "">
+%rdbpool;
+<!--end of dbpool.redecl.module-->]]>
+
+<!-- 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.
+-->
+
+<!ENTITY % local.component.mix "">
+<!ENTITY % 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
+ %local.component.mix;">
+
+<!ENTITY % local.sidebar.mix "">
+<!ENTITY % sidebar.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |procedure
+ |%genobj.class;
+ |%ndxterm.class; |beginpage
+ %local.sidebar.mix;">
+
+<!ENTITY % local.qandaset.mix "">
+<!ENTITY % qandaset.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |procedure
+ |%genobj.class;
+ |%ndxterm.class;
+ %local.qandaset.mix;">
+
+<!ENTITY % local.revdescription.mix "">
+<!ENTITY % revdescription.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |procedure
+ |%genobj.class;
+ |%ndxterm.class;
+ %local.revdescription.mix;">
+
+<!ENTITY % local.footnote.mix "">
+<!ENTITY % footnote.mix
+ "%list.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ %local.footnote.mix;">
+
+<!ENTITY % local.example.mix "">
+<!ENTITY % example.mix
+ "%list.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%ndxterm.class; |beginpage
+ %local.example.mix;">
+
+<!ENTITY % local.highlights.mix "">
+<!ENTITY % 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 -->
+<!ENTITY % local.para.mix "">
+<!ENTITY % para.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class;
+ |%informal.class;
+ |%formal.class;
+ %local.para.mix;">
+
+<!ENTITY % local.admon.mix "">
+<!ENTITY % admon.mix
+ "%list.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |procedure|sidebar
+ |anchor|bridgehead|remark
+ |%ndxterm.class; |beginpage
+ %local.admon.mix;">
+
+<!ENTITY % local.figure.mix "">
+<!ENTITY % figure.mix
+ "%linespecific.class; |%synop.class;
+ |%informal.class;
+ |%ndxterm.class; |beginpage
+ %local.figure.mix;">
+
+<!ENTITY % local.tabentry.mix "">
+<!ENTITY % tabentry.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class;
+ |%para.class; |graphic|mediaobject
+ %local.tabentry.mix;">
+
+<!ENTITY % local.glossdef.mix "">
+<!ENTITY % glossdef.mix
+ "%list.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class;
+ |remark
+ |%ndxterm.class; |beginpage
+ %local.glossdef.mix;">
+
+<!ENTITY % local.legalnotice.mix "">
+<!ENTITY % legalnotice.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class;
+ |%para.class; |blockquote
+ |%ndxterm.class; |beginpage
+ %local.legalnotice.mix;">
+
+<!ENTITY % local.textobject.mix "">
+<!ENTITY % textobject.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class;
+ |%para.class; |blockquote
+ %local.textobject.mix;">
+
+<!ENTITY % local.mediaobject.mix "">
+<!ENTITY % mediaobject.mix
+ "videoobject|audioobject|imageobject %local.mediaobject.mix;">
+
+<!-- Character-level mixtures ............................................. -->
+
+<!--
+ #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.
+-->
+
+<!-- The DocBook TC may produce an official forms module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % forminlines.hook "">
+
+<!ENTITY % local.para.char.mix "">
+<!ENTITY % para.char.mix
+ "#PCDATA
+ |%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;">
+
+<!ENTITY % local.title.char.mix "">
+<!ENTITY % title.char.mix
+ "#PCDATA
+ |%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;">
+
+<!ENTITY % local.ndxterm.char.mix "">
+<!ENTITY % ndxterm.char.mix
+ "#PCDATA
+ |%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;">
+
+<!ENTITY % local.cptr.char.mix "">
+<!ENTITY % cptr.char.mix
+ "#PCDATA
+ |%link.char.class; |%tech.char.class;
+ |%base.char.class;
+ |%other.char.class; |inlinegraphic|inlinemediaobject
+ |%ndxterm.class; |beginpage
+ %local.cptr.char.mix;">
+
+<!ENTITY % local.smallcptr.char.mix "">
+<!ENTITY % smallcptr.char.mix
+ "#PCDATA
+ |replaceable
+ |inlinegraphic|inlinemediaobject
+ |%ndxterm.class; |beginpage
+ %local.smallcptr.char.mix;">
+
+<!ENTITY % local.word.char.mix "">
+<!ENTITY % word.char.mix
+ "#PCDATA
+ |acronym|emphasis|trademark
+ |%link.char.class;
+ |%base.char.class;
+ |%other.char.class; |inlinegraphic|inlinemediaobject
+ |%ndxterm.class; |beginpage
+ %local.word.char.mix;">
+
+<!ENTITY % local.docinfo.char.mix "">
+<!ENTITY % docinfo.char.mix
+ "#PCDATA
+ |%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 content models .......................................... -->
+
+<!ENTITY % formalobject.title.content "title, titleabbrev?">
+
+<!-- ...................................................................... -->
+<!-- Entities for attributes and attribute components ..................... -->
+
+<!-- Effectivity attributes ............................................... -->
+
+
+<!-- Arch: Computer or chip architecture to which element applies; no
+ default -->
+
+<!ENTITY % arch.attrib
+ "arch CDATA #IMPLIED">
+
+<!-- Condition: General-purpose effectivity attribute -->
+
+<!ENTITY % condition.attrib
+ "condition CDATA #IMPLIED">
+
+<!-- Conformance: Standards conformance characteristics -->
+
+<!ENTITY % conformance.attrib
+ "conformance NMTOKENS #IMPLIED">
+
+
+<!-- OS: Operating system to which element applies; no default -->
+
+<!ENTITY % os.attrib
+ "os CDATA #IMPLIED">
+
+
+<!-- Revision: Editorial revision to which element belongs; no default -->
+
+<!ENTITY % revision.attrib
+ "revision CDATA #IMPLIED">
+
+<!-- Security: Security classification; no default -->
+
+<!ENTITY % security.attrib
+ "security CDATA #IMPLIED">
+
+<!-- UserLevel: Level of user experience to which element applies; no
+ default -->
+
+<!ENTITY % userlevel.attrib
+ "userlevel CDATA #IMPLIED">
+
+
+<!-- Vendor: Computer vendor to which element applies; no default -->
+
+<!ENTITY % vendor.attrib
+ "vendor CDATA #IMPLIED">
+
+<!ENTITY % local.effectivity.attrib "">
+<!ENTITY % effectivity.attrib
+ "%arch.attrib;
+ %condition.attrib;
+ %conformance.attrib;
+ %os.attrib;
+ %revision.attrib;
+ %security.attrib;
+ %userlevel.attrib;
+ %vendor.attrib;
+ %local.effectivity.attrib;"
+>
+
+<!-- Common attributes .................................................... -->
+
+
+<!-- Id: Unique identifier of element; no default -->
+
+<!ENTITY % id.attrib
+ "id ID #IMPLIED">
+
+
+<!-- Id: Unique identifier of element; a value must be supplied; no
+ default -->
+
+<!ENTITY % idreq.attrib
+ "id ID #REQUIRED">
+
+
+<!-- Lang: Indicator of language in which element is written, for
+ translation, character set management, etc.; no default -->
+
+<!ENTITY % lang.attrib
+ "lang CDATA #IMPLIED">
+
+
+<!-- Remap: Previous role of element before conversion; no default -->
+
+<!ENTITY % remap.attrib
+ "remap CDATA #IMPLIED">
+
+
+<!-- Role: New role of element in local environment; no default -->
+
+<!ENTITY % role.attrib
+ "role CDATA #IMPLIED">
+
+
+<!-- XRefLabel: Alternate labeling string for XRef text generation;
+ default is usually title or other appropriate label text already
+ contained in element -->
+
+<!ENTITY % xreflabel.attrib
+ "xreflabel CDATA #IMPLIED">
+
+
+<!-- RevisionFlag: Revision status of element; default is that element
+ wasn't revised -->
+
+<!ENTITY % revisionflag.attrib
+ "revisionflag (changed
+ |added
+ |deleted
+ |off) #IMPLIED">
+
+<!ENTITY % local.common.attrib "">
+
+<!-- Role is included explicitly on each element -->
+
+<!ENTITY % common.attrib
+ "%id.attrib;
+ %lang.attrib;
+ %remap.attrib;
+ %xreflabel.attrib;
+ %revisionflag.attrib;
+ %effectivity.attrib;
+ %local.common.attrib;"
+>
+
+
+<!-- Role is included explicitly on each element -->
+
+<!ENTITY % idreq.common.attrib
+ "%idreq.attrib;
+ %lang.attrib;
+ %remap.attrib;
+ %xreflabel.attrib;
+ %revisionflag.attrib;
+ %effectivity.attrib;
+ %local.common.attrib;"
+>
+
+<!-- Semi-common attributes and other attribute entities .................. -->
+
+<!ENTITY % local.graphics.attrib "">
+
+<!-- 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 -->
+
+<!ENTITY % graphics.attrib
+ "
+ entityref ENTITY #IMPLIED
+ fileref CDATA #IMPLIED
+ format (%notation.class;) #IMPLIED
+ srccredit CDATA #IMPLIED
+ width CDATA #IMPLIED
+ depth CDATA #IMPLIED
+ align (left
+ |right
+ |center) #IMPLIED
+ scale CDATA #IMPLIED
+ scalefit %yesorno.attvals;
+ #IMPLIED
+ %local.graphics.attrib;"
+>
+
+<!ENTITY % local.keyaction.attrib "">
+
+<!-- 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 -->
+
+<!ENTITY % keyaction.attrib
+ "
+ action (click
+ |double-click
+ |press
+ |seq
+ |simul
+ |other) #IMPLIED
+ otheraction CDATA #IMPLIED
+ %local.keyaction.attrib;"
+>
+
+
+<!-- Label: Identifying number or string; default is usually the
+ appropriate number or string autogenerated by a formatter -->
+
+<!ENTITY % label.attrib
+ "label CDATA #IMPLIED">
+
+
+<!-- Format: whether element is assumed to contain significant white
+ space -->
+
+<!ENTITY % linespecific.attrib
+ "format NOTATION
+ (linespecific) 'linespecific'
+ linenumbering (numbered|unnumbered) #IMPLIED">
+
+
+<!-- Linkend: link to related information; no default -->
+
+<!ENTITY % linkend.attrib
+ "linkend IDREF #IMPLIED">
+
+
+<!-- Linkend: required link to related information -->
+
+<!ENTITY % linkendreq.attrib
+ "linkend IDREF #REQUIRED">
+
+
+<!-- Linkends: link to one or more sets of related information; no
+ default -->
+
+<!ENTITY % linkends.attrib
+ "linkends IDREFS #IMPLIED">
+
+
+<!ENTITY % local.mark.attrib "">
+<!ENTITY % mark.attrib
+ "mark CDATA #IMPLIED
+ %local.mark.attrib;"
+>
+
+
+<!-- MoreInfo: whether element's content has an associated RefEntry -->
+
+<!ENTITY % moreinfo.attrib
+ "moreinfo (refentry|none) 'none'">
+
+
+<!-- Pagenum: number of page on which element appears; no default -->
+
+<!ENTITY % pagenum.attrib
+ "pagenum CDATA #IMPLIED">
+
+<!ENTITY % local.status.attrib "">
+
+<!-- Status: Editorial or publication status of the element
+ it applies to, such as "in review" or "approved for distribution" -->
+
+<!ENTITY % status.attrib
+ "status CDATA #IMPLIED
+ %local.status.attrib;"
+>
+
+
+<!-- Width: width of the longest line in the element to which it
+ pertains, in number of characters -->
+
+<!ENTITY % width.attrib
+ "width CDATA #IMPLIED">
+
+<!-- ...................................................................... -->
+<!-- Title elements ....................................................... -->
+
+<!ENTITY % title.module "INCLUDE">
+<![%title.module;[
+<!ENTITY % local.title.attrib "">
+<!ENTITY % title.role.attrib "%role.attrib;">
+
+<!ENTITY % title.element "INCLUDE">
+<![%title.element;[
+<!ELEMENT title (%title.char.mix;)*>
+<!--end of title.element-->]]>
+
+<!ENTITY % title.attlist "INCLUDE">
+<![%title.attlist;[
+<!ATTLIST title
+ %pagenum.attrib;
+ %common.attrib;
+ %title.role.attrib;
+ %local.title.attrib;
+>
+<!--end of title.attlist-->]]>
+<!--end of title.module-->]]>
+
+<!ENTITY % titleabbrev.module "INCLUDE">
+<![%titleabbrev.module;[
+<!ENTITY % local.titleabbrev.attrib "">
+<!ENTITY % titleabbrev.role.attrib "%role.attrib;">
+
+<!ENTITY % titleabbrev.element "INCLUDE">
+<![%titleabbrev.element;[
+<!ELEMENT titleabbrev (%title.char.mix;)*>
+<!--end of titleabbrev.element-->]]>
+
+<!ENTITY % titleabbrev.attlist "INCLUDE">
+<![%titleabbrev.attlist;[
+<!ATTLIST titleabbrev
+ %common.attrib;
+ %titleabbrev.role.attrib;
+ %local.titleabbrev.attrib;
+>
+<!--end of titleabbrev.attlist-->]]>
+<!--end of titleabbrev.module-->]]>
+
+<!ENTITY % subtitle.module "INCLUDE">
+<![%subtitle.module;[
+<!ENTITY % local.subtitle.attrib "">
+<!ENTITY % subtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % subtitle.element "INCLUDE">
+<![%subtitle.element;[
+<!ELEMENT subtitle (%title.char.mix;)*>
+<!--end of subtitle.element-->]]>
+
+<!ENTITY % subtitle.attlist "INCLUDE">
+<![%subtitle.attlist;[
+<!ATTLIST subtitle
+ %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. -->
+
+<!ENTITY % local.person.ident.mix "">
+<!ENTITY % person.ident.mix
+ "honorific|firstname|surname|lineage|othername|affiliation
+ |authorblurb|contrib %local.person.ident.mix;">
+
+<!ENTITY % local.bibliocomponent.mix "">
+<!ENTITY % bibliocomponent.mix
+ "abbrev|abstract|address|artpagenums|author
+ |authorgroup|authorinitials|bibliomisc|biblioset
+ |collab|confgroup|contractnum|contractsponsor
+ |copyright|corpauthor|corpname|date|edition
+ |editor|invpartnumber|isbn|issn|issuenum|orgname
+ |othercredit|pagenums|printhistory|productname
+ |productnumber|pubdate|publisher|publishername
+ |pubsnumber|releaseinfo|revhistory|seriesvolnums
+ |subtitle|title|titleabbrev|volumenum|citetitle
+ |%person.ident.mix;
+ |%ndxterm.class;
+ %local.bibliocomponent.mix;">
+
+<!ENTITY % biblioentry.module "INCLUDE">
+<![%biblioentry.module;[
+<!ENTITY % local.biblioentry.attrib "">
+<!ENTITY % biblioentry.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioentry.element "INCLUDE">
+<![%biblioentry.element;[
+<!ELEMENT biblioentry ((articleinfo | (%bibliocomponent.mix;))+)>
+<!--end of biblioentry.element-->]]>
+
+<!ENTITY % biblioentry.attlist "INCLUDE">
+<![%biblioentry.attlist;[
+<!ATTLIST biblioentry
+ %common.attrib;
+ %biblioentry.role.attrib;
+ %local.biblioentry.attrib;
+>
+<!--end of biblioentry.attlist-->]]>
+<!--end of biblioentry.module-->]]>
+
+<!ENTITY % bibliomixed.module "INCLUDE">
+<![%bibliomixed.module;[
+<!ENTITY % local.bibliomixed.attrib "">
+<!ENTITY % bibliomixed.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliomixed.element "INCLUDE">
+<![%bibliomixed.element;[
+<!ELEMENT bibliomixed (#PCDATA | %bibliocomponent.mix; | bibliomset)*>
+<!--end of bibliomixed.element-->]]>
+
+<!ENTITY % bibliomixed.attlist "INCLUDE">
+<![%bibliomixed.attlist;[
+<!ATTLIST bibliomixed
+ %common.attrib;
+ %bibliomixed.role.attrib;
+ %local.bibliomixed.attrib;
+>
+<!--end of bibliomixed.attlist-->]]>
+<!--end of bibliomixed.module-->]]>
+
+<!ENTITY % articleinfo.module "INCLUDE">
+<![%articleinfo.module;[
+<!ENTITY % local.articleinfo.attrib "">
+<!ENTITY % articleinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % articleinfo.element "INCLUDE">
+<![%articleinfo.element;[
+<!ELEMENT articleinfo ((graphic | mediaobject | legalnotice | modespec
+ | subjectset | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--end of articleinfo.element-->]]>
+
+<!ENTITY % articleinfo.attlist "INCLUDE">
+<![%articleinfo.attlist;[
+<!ATTLIST articleinfo
+ %common.attrib;
+ %articleinfo.role.attrib;
+ %local.articleinfo.attrib;
+>
+<!--end of articleinfo.attlist-->]]>
+<!--end of articleinfo.module-->]]>
+
+<!ENTITY % biblioset.module "INCLUDE">
+<![%biblioset.module;[
+<!ENTITY % local.biblioset.attrib "">
+<!ENTITY % biblioset.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioset.element "INCLUDE">
+<![%biblioset.element;[
+<!ELEMENT biblioset ((%bibliocomponent.mix;)+)>
+<!--end of biblioset.element-->]]>
+
+<!-- Relation: Relationship of elements contained within BiblioSet -->
+
+
+<!ENTITY % biblioset.attlist "INCLUDE">
+<![%biblioset.attlist;[
+<!ATTLIST biblioset
+ relation CDATA #IMPLIED
+ %common.attrib;
+ %biblioset.role.attrib;
+ %local.biblioset.attrib;
+>
+<!--end of biblioset.attlist-->]]>
+<!--end of biblioset.module-->]]>
+
+<!ENTITY % bibliomset.module "INCLUDE">
+<![%bibliomset.module;[
+<!ENTITY % bibliomset.role.attrib "%role.attrib;">
+<!ENTITY % local.bibliomset.attrib "">
+
+<!ENTITY % bibliomset.element "INCLUDE">
+<![%bibliomset.element;[
+<!ELEMENT bibliomset (#PCDATA | %bibliocomponent.mix; | bibliomset)*>
+<!--end of bibliomset.element-->]]>
+
+<!-- Relation: Relationship of elements contained within BiblioMSet -->
+
+
+<!ENTITY % bibliomset.attlist "INCLUDE">
+<![%bibliomset.attlist;[
+<!ATTLIST bibliomset
+ relation CDATA #IMPLIED
+ %bibliomset.role.attrib;
+ %common.attrib;
+ %local.bibliomset.attrib;
+>
+<!--end of bibliomset.attlist-->]]>
+<!--end of bibliomset.module-->]]>
+
+<!ENTITY % bibliomisc.module "INCLUDE">
+<![%bibliomisc.module;[
+<!ENTITY % local.bibliomisc.attrib "">
+<!ENTITY % bibliomisc.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliomisc.element "INCLUDE">
+<![%bibliomisc.element;[
+<!ELEMENT bibliomisc (%para.char.mix;)*>
+<!--end of bibliomisc.element-->]]>
+
+<!ENTITY % bibliomisc.attlist "INCLUDE">
+<![%bibliomisc.attlist;[
+<!ATTLIST bibliomisc
+ %common.attrib;
+ %bibliomisc.role.attrib;
+ %local.bibliomisc.attrib;
+>
+<!--end of bibliomisc.attlist-->]]>
+<!--end of bibliomisc.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Subject, Keyword, and ITermSet elements .............................. -->
+
+<!ENTITY % subjectset.content.module "INCLUDE">
+<![%subjectset.content.module;[
+<!ENTITY % subjectset.module "INCLUDE">
+<![%subjectset.module;[
+<!ENTITY % local.subjectset.attrib "">
+<!ENTITY % subjectset.role.attrib "%role.attrib;">
+
+<!ENTITY % subjectset.element "INCLUDE">
+<![%subjectset.element;[
+<!ELEMENT subjectset (subject+)>
+<!--end of subjectset.element-->]]>
+
+<!-- Scheme: Controlled vocabulary employed in SubjectTerms -->
+
+
+<!ENTITY % subjectset.attlist "INCLUDE">
+<![%subjectset.attlist;[
+<!ATTLIST subjectset
+ scheme NMTOKEN #IMPLIED
+ %common.attrib;
+ %subjectset.role.attrib;
+ %local.subjectset.attrib;
+>
+<!--end of subjectset.attlist-->]]>
+<!--end of subjectset.module-->]]>
+
+<!ENTITY % subject.module "INCLUDE">
+<![%subject.module;[
+<!ENTITY % local.subject.attrib "">
+<!ENTITY % subject.role.attrib "%role.attrib;">
+
+<!ENTITY % subject.element "INCLUDE">
+<![%subject.element;[
+<!ELEMENT subject (subjectterm+)>
+<!--end of subject.element-->]]>
+
+<!-- Weight: Ranking of this group of SubjectTerms relative
+ to others, 0 is low, no highest value specified -->
+
+
+<!ENTITY % subject.attlist "INCLUDE">
+<![%subject.attlist;[
+<!ATTLIST subject
+ weight CDATA #IMPLIED
+ %common.attrib;
+ %subject.role.attrib;
+ %local.subject.attrib;
+>
+<!--end of subject.attlist-->]]>
+<!--end of subject.module-->]]>
+
+<!ENTITY % subjectterm.module "INCLUDE">
+<![%subjectterm.module;[
+<!ENTITY % local.subjectterm.attrib "">
+<!ENTITY % subjectterm.role.attrib "%role.attrib;">
+
+<!ENTITY % subjectterm.element "INCLUDE">
+<![%subjectterm.element;[
+<!ELEMENT subjectterm (#PCDATA)>
+<!--end of subjectterm.element-->]]>
+
+<!ENTITY % subjectterm.attlist "INCLUDE">
+<![%subjectterm.attlist;[
+<!ATTLIST subjectterm
+ %common.attrib;
+ %subjectterm.role.attrib;
+ %local.subjectterm.attrib;
+>
+<!--end of subjectterm.attlist-->]]>
+<!--end of subjectterm.module-->]]>
+<!--end of subjectset.content.module-->]]>
+
+<!ENTITY % keywordset.content.module "INCLUDE">
+<![%keywordset.content.module;[
+<!ENTITY % keywordset.module "INCLUDE">
+<![%keywordset.module;[
+<!ENTITY % local.keywordset.attrib "">
+<!ENTITY % keywordset.role.attrib "%role.attrib;">
+
+<!ENTITY % keywordset.element "INCLUDE">
+<![%keywordset.element;[
+<!ELEMENT keywordset (keyword+)>
+<!--end of keywordset.element-->]]>
+
+<!ENTITY % keywordset.attlist "INCLUDE">
+<![%keywordset.attlist;[
+<!ATTLIST keywordset
+ %common.attrib;
+ %keywordset.role.attrib;
+ %local.keywordset.attrib;
+>
+<!--end of keywordset.attlist-->]]>
+<!--end of keywordset.module-->]]>
+
+<!ENTITY % keyword.module "INCLUDE">
+<![%keyword.module;[
+<!ENTITY % local.keyword.attrib "">
+<!ENTITY % keyword.role.attrib "%role.attrib;">
+
+<!ENTITY % keyword.element "INCLUDE">
+<![%keyword.element;[
+<!ELEMENT keyword (#PCDATA)>
+<!--end of keyword.element-->]]>
+
+<!ENTITY % keyword.attlist "INCLUDE">
+<![%keyword.attlist;[
+<!ATTLIST keyword
+ %common.attrib;
+ %keyword.role.attrib;
+ %local.keyword.attrib;
+>
+<!--end of keyword.attlist-->]]>
+<!--end of keyword.module-->]]>
+<!--end of keywordset.content.module-->]]>
+
+<!ENTITY % itermset.module "INCLUDE">
+<![%itermset.module;[
+<!ENTITY % local.itermset.attrib "">
+<!ENTITY % itermset.role.attrib "%role.attrib;">
+
+<!ENTITY % itermset.element "INCLUDE">
+<![%itermset.element;[
+<!ELEMENT itermset (indexterm+)>
+<!--end of itermset.element-->]]>
+
+<!ENTITY % itermset.attlist "INCLUDE">
+<![%itermset.attlist;[
+<!ATTLIST itermset
+ %common.attrib;
+ %itermset.role.attrib;
+ %local.itermset.attrib;
+>
+<!--end of itermset.attlist-->]]>
+<!--end of itermset.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Compound (section-ish) elements ...................................... -->
+
+<!-- Message set ...................... -->
+
+<!ENTITY % msgset.content.module "INCLUDE">
+<![%msgset.content.module;[
+<!ENTITY % msgset.module "INCLUDE">
+<![%msgset.module;[
+<!ENTITY % local.msgset.attrib "">
+<!ENTITY % msgset.role.attrib "%role.attrib;">
+
+<!ENTITY % msgset.element "INCLUDE">
+<![%msgset.element;[
+<!ELEMENT msgset ((%formalobject.title.content;)?, (msgentry+|simplemsgentry+))>
+<!--end of msgset.element-->]]>
+
+<!ENTITY % msgset.attlist "INCLUDE">
+<![%msgset.attlist;[
+<!ATTLIST msgset
+ %common.attrib;
+ %msgset.role.attrib;
+ %local.msgset.attrib;
+>
+<!--end of msgset.attlist-->]]>
+<!--end of msgset.module-->]]>
+
+<!ENTITY % msgentry.module "INCLUDE">
+<![%msgentry.module;[
+<!ENTITY % local.msgentry.attrib "">
+<!ENTITY % msgentry.role.attrib "%role.attrib;">
+
+<!ENTITY % msgentry.element "INCLUDE">
+<![%msgentry.element;[
+<!ELEMENT msgentry (msg+, msginfo?, msgexplan*)>
+<!--end of msgentry.element-->]]>
+
+<!ENTITY % msgentry.attlist "INCLUDE">
+<![%msgentry.attlist;[
+<!ATTLIST msgentry
+ %common.attrib;
+ %msgentry.role.attrib;
+ %local.msgentry.attrib;
+>
+<!--end of msgentry.attlist-->]]>
+<!--end of msgentry.module-->]]>
+
+<!ENTITY % simplemsgentry.module "INCLUDE">
+<![ %simplemsgentry.module; [
+<!ENTITY % local.simplemsgentry.attrib "">
+<!ENTITY % simplemsgentry.role.attrib "%role.attrib;">
+
+<!ENTITY % simplemsgentry.element "INCLUDE">
+<![ %simplemsgentry.element; [
+<!ELEMENT simplemsgentry (msgtext, msgexplan)>
+<!--end of simplemsgentry.element-->]]>
+
+<!ENTITY % simplemsgentry.attlist "INCLUDE">
+<![ %simplemsgentry.attlist; [
+<!ATTLIST simplemsgentry
+ %common.attrib;
+ %simplemsgentry.role.attrib;
+ %local.simplemsgentry.attrib;
+ audience CDATA #IMPLIED
+ level CDATA #IMPLIED
+ origin CDATA #IMPLIED
+>
+<!--end of simplemsgentry.attlist-->]]>
+<!--end of simplemsgentry.module-->]]>
+
+<!ENTITY % msg.module "INCLUDE">
+<![%msg.module;[
+<!ENTITY % local.msg.attrib "">
+<!ENTITY % msg.role.attrib "%role.attrib;">
+
+<!ENTITY % msg.element "INCLUDE">
+<![%msg.element;[
+<!ELEMENT msg (title?, msgmain, (msgsub | msgrel)*)>
+<!--end of msg.element-->]]>
+
+<!ENTITY % msg.attlist "INCLUDE">
+<![%msg.attlist;[
+<!ATTLIST msg
+ %common.attrib;
+ %msg.role.attrib;
+ %local.msg.attrib;
+>
+<!--end of msg.attlist-->]]>
+<!--end of msg.module-->]]>
+
+<!ENTITY % msgmain.module "INCLUDE">
+<![%msgmain.module;[
+<!ENTITY % local.msgmain.attrib "">
+<!ENTITY % msgmain.role.attrib "%role.attrib;">
+
+<!ENTITY % msgmain.element "INCLUDE">
+<![%msgmain.element;[
+<!ELEMENT msgmain (title?, msgtext)>
+<!--end of msgmain.element-->]]>
+
+<!ENTITY % msgmain.attlist "INCLUDE">
+<![%msgmain.attlist;[
+<!ATTLIST msgmain
+ %common.attrib;
+ %msgmain.role.attrib;
+ %local.msgmain.attrib;
+>
+<!--end of msgmain.attlist-->]]>
+<!--end of msgmain.module-->]]>
+
+<!ENTITY % msgsub.module "INCLUDE">
+<![%msgsub.module;[
+<!ENTITY % local.msgsub.attrib "">
+<!ENTITY % msgsub.role.attrib "%role.attrib;">
+
+<!ENTITY % msgsub.element "INCLUDE">
+<![%msgsub.element;[
+<!ELEMENT msgsub (title?, msgtext)>
+<!--end of msgsub.element-->]]>
+
+<!ENTITY % msgsub.attlist "INCLUDE">
+<![%msgsub.attlist;[
+<!ATTLIST msgsub
+ %common.attrib;
+ %msgsub.role.attrib;
+ %local.msgsub.attrib;
+>
+<!--end of msgsub.attlist-->]]>
+<!--end of msgsub.module-->]]>
+
+<!ENTITY % msgrel.module "INCLUDE">
+<![%msgrel.module;[
+<!ENTITY % local.msgrel.attrib "">
+<!ENTITY % msgrel.role.attrib "%role.attrib;">
+
+<!ENTITY % msgrel.element "INCLUDE">
+<![%msgrel.element;[
+<!ELEMENT msgrel (title?, msgtext)>
+<!--end of msgrel.element-->]]>
+
+<!ENTITY % msgrel.attlist "INCLUDE">
+<![%msgrel.attlist;[
+<!ATTLIST msgrel
+ %common.attrib;
+ %msgrel.role.attrib;
+ %local.msgrel.attrib;
+>
+<!--end of msgrel.attlist-->]]>
+<!--end of msgrel.module-->]]>
+
+<!-- MsgText (defined in the Inlines section, below)-->
+
+<!ENTITY % msginfo.module "INCLUDE">
+<![%msginfo.module;[
+<!ENTITY % local.msginfo.attrib "">
+<!ENTITY % msginfo.role.attrib "%role.attrib;">
+
+<!ENTITY % msginfo.element "INCLUDE">
+<![%msginfo.element;[
+<!ELEMENT msginfo ((msglevel | msgorig | msgaud)*)>
+<!--end of msginfo.element-->]]>
+
+<!ENTITY % msginfo.attlist "INCLUDE">
+<![%msginfo.attlist;[
+<!ATTLIST msginfo
+ %common.attrib;
+ %msginfo.role.attrib;
+ %local.msginfo.attrib;
+>
+<!--end of msginfo.attlist-->]]>
+<!--end of msginfo.module-->]]>
+
+<!ENTITY % msglevel.module "INCLUDE">
+<![%msglevel.module;[
+<!ENTITY % local.msglevel.attrib "">
+<!ENTITY % msglevel.role.attrib "%role.attrib;">
+
+<!ENTITY % msglevel.element "INCLUDE">
+<![%msglevel.element;[
+<!ELEMENT msglevel (%smallcptr.char.mix;)*>
+<!--end of msglevel.element-->]]>
+
+<!ENTITY % msglevel.attlist "INCLUDE">
+<![%msglevel.attlist;[
+<!ATTLIST msglevel
+ %common.attrib;
+ %msglevel.role.attrib;
+ %local.msglevel.attrib;
+>
+<!--end of msglevel.attlist-->]]>
+<!--end of msglevel.module-->]]>
+
+<!ENTITY % msgorig.module "INCLUDE">
+<![%msgorig.module;[
+<!ENTITY % local.msgorig.attrib "">
+<!ENTITY % msgorig.role.attrib "%role.attrib;">
+
+<!ENTITY % msgorig.element "INCLUDE">
+<![%msgorig.element;[
+<!ELEMENT msgorig (%smallcptr.char.mix;)*>
+<!--end of msgorig.element-->]]>
+
+<!ENTITY % msgorig.attlist "INCLUDE">
+<![%msgorig.attlist;[
+<!ATTLIST msgorig
+ %common.attrib;
+ %msgorig.role.attrib;
+ %local.msgorig.attrib;
+>
+<!--end of msgorig.attlist-->]]>
+<!--end of msgorig.module-->]]>
+
+<!ENTITY % msgaud.module "INCLUDE">
+<![%msgaud.module;[
+<!ENTITY % local.msgaud.attrib "">
+<!ENTITY % msgaud.role.attrib "%role.attrib;">
+
+<!ENTITY % msgaud.element "INCLUDE">
+<![%msgaud.element;[
+<!ELEMENT msgaud (%para.char.mix;)*>
+<!--end of msgaud.element-->]]>
+
+<!ENTITY % msgaud.attlist "INCLUDE">
+<![%msgaud.attlist;[
+<!ATTLIST msgaud
+ %common.attrib;
+ %msgaud.role.attrib;
+ %local.msgaud.attrib;
+>
+<!--end of msgaud.attlist-->]]>
+<!--end of msgaud.module-->]]>
+
+<!ENTITY % msgexplan.module "INCLUDE">
+<![%msgexplan.module;[
+<!ENTITY % local.msgexplan.attrib "">
+<!ENTITY % msgexplan.role.attrib "%role.attrib;">
+
+<!ENTITY % msgexplan.element "INCLUDE">
+<![%msgexplan.element;[
+<!ELEMENT msgexplan (title?, (%component.mix;)+)>
+<!--end of msgexplan.element-->]]>
+
+<!ENTITY % msgexplan.attlist "INCLUDE">
+<![%msgexplan.attlist;[
+<!ATTLIST msgexplan
+ %common.attrib;
+ %msgexplan.role.attrib;
+ %local.msgexplan.attrib;
+>
+<!--end of msgexplan.attlist-->]]>
+<!--end of msgexplan.module-->]]>
+<!--end of msgset.content.module-->]]>
+
+<!-- QandASet ........................ -->
+<!ENTITY % qandset.content.module "INCLUDE">
+<![ %qandset.content.module; [
+<!ENTITY % qandset.module "INCLUDE">
+<![ %qandset.module; [
+<!ENTITY % local.qandset.attrib "">
+<!ENTITY % qandset.role.attrib "%role.attrib;">
+
+<!ENTITY % qandset.element "INCLUDE">
+<![ %qandset.element; [
+<!ELEMENT qandaset ((%formalobject.title.content;)?,
+ (%qandaset.mix;)*,
+ (qandadiv+|qandaentry+))>
+<!--end of qandset.element-->]]>
+
+<!ENTITY % qandset.attlist "INCLUDE">
+<![ %qandset.attlist; [
+<!ATTLIST qandaset
+ defaultlabel (qanda|number|none) #IMPLIED
+ %common.attrib;
+ %qandset.role.attrib;
+ %local.qandset.attrib;>
+<!--end of qandset.attlist-->]]>
+<!--end of qandset.module-->]]>
+
+<!ENTITY % qandadiv.module "INCLUDE">
+<![ %qandadiv.module; [
+<!ENTITY % local.qandadiv.attrib "">
+<!ENTITY % qandadiv.role.attrib "%role.attrib;">
+
+<!ENTITY % qandadiv.element "INCLUDE">
+<![ %qandadiv.element; [
+<!ELEMENT qandadiv ((%formalobject.title.content;)?,
+ (%qandaset.mix;)*,
+ (qandadiv+|qandaentry+))>
+<!--end of qandadiv.element-->]]>
+
+<!ENTITY % qandadiv.attlist "INCLUDE">
+<![ %qandadiv.attlist; [
+<!ATTLIST qandadiv
+ %common.attrib;
+ %qandadiv.role.attrib;
+ %local.qandadiv.attrib;>
+<!--end of qandadiv.attlist-->]]>
+<!--end of qandadiv.module-->]]>
+
+<!ENTITY % qandaentry.module "INCLUDE">
+<![ %qandaentry.module; [
+<!ENTITY % local.qandaentry.attrib "">
+<!ENTITY % qandaentry.role.attrib "%role.attrib;">
+
+<!ENTITY % qandaentry.element "INCLUDE">
+<![ %qandaentry.element; [
+<!ELEMENT qandaentry (revhistory?, question, answer*)>
+<!--end of qandaentry.element-->]]>
+
+<!ENTITY % qandaentry.attlist "INCLUDE">
+<![ %qandaentry.attlist; [
+<!ATTLIST qandaentry
+ %common.attrib;
+ %qandaentry.role.attrib;
+ %local.qandaentry.attrib;>
+<!--end of qandaentry.attlist-->]]>
+<!--end of qandaentry.module-->]]>
+
+<!ENTITY % question.module "INCLUDE">
+<![ %question.module; [
+<!ENTITY % local.question.attrib "">
+<!ENTITY % question.role.attrib "%role.attrib;">
+
+<!ENTITY % question.element "INCLUDE">
+<![ %question.element; [
+<!ELEMENT question (label?, (%qandaset.mix;)+)>
+<!--end of question.element-->]]>
+
+<!ENTITY % question.attlist "INCLUDE">
+<![ %question.attlist; [
+<!ATTLIST question
+ %common.attrib;
+ %question.role.attrib;
+ %local.question.attrib;
+>
+<!--end of question.attlist-->]]>
+<!--end of question.module-->]]>
+
+<!ENTITY % answer.module "INCLUDE">
+<![ %answer.module; [
+<!ENTITY % local.answer.attrib "">
+<!ENTITY % answer.role.attrib "%role.attrib;">
+
+<!ENTITY % answer.element "INCLUDE">
+<![ %answer.element; [
+<!ELEMENT answer (label?, (%qandaset.mix;)*, qandaentry*)>
+<!--end of answer.element-->]]>
+
+<!ENTITY % answer.attlist "INCLUDE">
+<![ %answer.attlist; [
+<!ATTLIST answer
+ %common.attrib;
+ %answer.role.attrib;
+ %local.answer.attrib;
+>
+<!--end of answer.attlist-->]]>
+<!--end of answer.module-->]]>
+
+<!ENTITY % label.module "INCLUDE">
+<![ %label.module; [
+<!ENTITY % local.label.attrib "">
+<!ENTITY % label.role.attrib "%role.attrib;">
+
+<!ENTITY % label.element "INCLUDE">
+<![ %label.element; [
+<!ELEMENT label (%word.char.mix;)*>
+<!--end of label.element-->]]>
+
+<!ENTITY % label.attlist "INCLUDE">
+<![ %label.attlist; [
+<!ATTLIST label
+ %common.attrib;
+ %label.role.attrib;
+ %local.label.attrib;
+>
+<!--end of label.attlist-->]]>
+<!--end of label.module-->]]>
+<!--end of qandset.content.module-->]]>
+
+<!-- Procedure ........................ -->
+
+<!ENTITY % procedure.content.module "INCLUDE">
+<![%procedure.content.module;[
+<!ENTITY % procedure.module "INCLUDE">
+<![%procedure.module;[
+<!ENTITY % local.procedure.attrib "">
+<!ENTITY % procedure.role.attrib "%role.attrib;">
+
+<!ENTITY % procedure.element "INCLUDE">
+<![%procedure.element;[
+<!ELEMENT procedure ((%formalobject.title.content;)?,
+ (%component.mix;)*, step+)>
+<!--end of procedure.element-->]]>
+
+<!ENTITY % procedure.attlist "INCLUDE">
+<![%procedure.attlist;[
+<!ATTLIST procedure
+ %common.attrib;
+ %procedure.role.attrib;
+ %local.procedure.attrib;
+>
+<!--end of procedure.attlist-->]]>
+<!--end of procedure.module-->]]>
+
+<!ENTITY % step.module "INCLUDE">
+<![%step.module;[
+<!ENTITY % local.step.attrib "">
+<!ENTITY % step.role.attrib "%role.attrib;">
+
+<!ENTITY % step.element "INCLUDE">
+<![%step.element;[
+<!ELEMENT step (title?, (((%component.mix;)+, (substeps,
+ (%component.mix;)*)?) | (substeps, (%component.mix;)*)))>
+<!--end of step.element-->]]>
+
+<!-- Performance: Whether the Step must be performed -->
+<!-- not #REQUIRED! -->
+
+
+<!ENTITY % step.attlist "INCLUDE">
+<![%step.attlist;[
+<!ATTLIST step
+ performance (optional
+ |required) "required"
+ %common.attrib;
+ %step.role.attrib;
+ %local.step.attrib;
+>
+<!--end of step.attlist-->]]>
+<!--end of step.module-->]]>
+
+<!ENTITY % substeps.module "INCLUDE">
+<![%substeps.module;[
+<!ENTITY % local.substeps.attrib "">
+<!ENTITY % substeps.role.attrib "%role.attrib;">
+
+<!ENTITY % substeps.element "INCLUDE">
+<![%substeps.element;[
+<!ELEMENT substeps (step+)>
+<!--end of substeps.element-->]]>
+
+<!-- Performance: whether entire set of substeps must be performed -->
+<!-- not #REQUIRED! -->
+
+
+<!ENTITY % substeps.attlist "INCLUDE">
+<![%substeps.attlist;[
+<!ATTLIST substeps
+ performance (optional
+ |required) "required"
+ %common.attrib;
+ %substeps.role.attrib;
+ %local.substeps.attrib;
+>
+<!--end of substeps.attlist-->]]>
+<!--end of substeps.module-->]]>
+<!--end of procedure.content.module-->]]>
+
+<!-- Sidebar .......................... -->
+
+<!ENTITY % sidebar.content.model "INCLUDE">
+<![ %sidebar.content.model; [
+
+<!ENTITY % sidebarinfo.module "INCLUDE">
+<![ %sidebarinfo.module; [
+<!ENTITY % local.sidebarinfo.attrib "">
+<!ENTITY % sidebarinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % sidebarinfo.element "INCLUDE">
+<![ %sidebarinfo.element; [
+<!ELEMENT sidebarinfo ((graphic | mediaobject | legalnotice | modespec
+ | subjectset | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--end of sidebarinfo.element-->]]>
+
+<!ENTITY % sidebarinfo.attlist "INCLUDE">
+<![ %sidebarinfo.attlist; [
+<!ATTLIST sidebarinfo
+ %common.attrib;
+ %sidebarinfo.role.attrib;
+ %local.sidebarinfo.attrib;
+>
+<!--end of sidebarinfo.attlist-->]]>
+<!--end of sidebarinfo.module-->]]>
+
+<!ENTITY % sidebar.module "INCLUDE">
+<![%sidebar.module;[
+<!ENTITY % local.sidebar.attrib "">
+<!ENTITY % sidebar.role.attrib "%role.attrib;">
+
+<!ENTITY % sidebar.element "INCLUDE">
+<![%sidebar.element;[
+<!ELEMENT sidebar (sidebarinfo?,
+ (%formalobject.title.content;)?,
+ (%sidebar.mix;)+)>
+<!--end of sidebar.element-->]]>
+
+<!ENTITY % sidebar.attlist "INCLUDE">
+<![%sidebar.attlist;[
+<!ATTLIST sidebar
+ %common.attrib;
+ %sidebar.role.attrib;
+ %local.sidebar.attrib;
+>
+<!--end of sidebar.attlist-->]]>
+<!--end of sidebar.module-->]]>
+<!--end of sidebar.content.model-->]]>
+
+<!-- ...................................................................... -->
+<!-- Paragraph-related elements ........................................... -->
+
+<!ENTITY % abstract.module "INCLUDE">
+<![%abstract.module;[
+<!ENTITY % local.abstract.attrib "">
+<!ENTITY % abstract.role.attrib "%role.attrib;">
+
+<!ENTITY % abstract.element "INCLUDE">
+<![%abstract.element;[
+<!ELEMENT abstract (title?, (%para.class;)+)>
+<!--end of abstract.element-->]]>
+
+<!ENTITY % abstract.attlist "INCLUDE">
+<![%abstract.attlist;[
+<!ATTLIST abstract
+ %common.attrib;
+ %abstract.role.attrib;
+ %local.abstract.attrib;
+>
+<!--end of abstract.attlist-->]]>
+<!--end of abstract.module-->]]>
+
+<!ENTITY % authorblurb.module "INCLUDE">
+<![%authorblurb.module;[
+<!ENTITY % local.authorblurb.attrib "">
+<!ENTITY % authorblurb.role.attrib "%role.attrib;">
+
+<!ENTITY % authorblurb.element "INCLUDE">
+<![%authorblurb.element;[
+<!ELEMENT authorblurb (title?, (%para.class;)+)>
+<!--end of authorblurb.element-->]]>
+
+<!ENTITY % authorblurb.attlist "INCLUDE">
+<![%authorblurb.attlist;[
+<!ATTLIST authorblurb
+ %common.attrib;
+ %authorblurb.role.attrib;
+ %local.authorblurb.attrib;
+>
+<!--end of authorblurb.attlist-->]]>
+<!--end of authorblurb.module-->]]>
+
+<!ENTITY % blockquote.module "INCLUDE">
+<![%blockquote.module;[
+
+<!ENTITY % local.blockquote.attrib "">
+<!ENTITY % blockquote.role.attrib "%role.attrib;">
+
+<!ENTITY % blockquote.element "INCLUDE">
+<![%blockquote.element;[
+<!ELEMENT blockquote (title?, attribution?, (%component.mix;)+)>
+<!--end of blockquote.element-->]]>
+
+<!ENTITY % blockquote.attlist "INCLUDE">
+<![%blockquote.attlist;[
+<!ATTLIST blockquote
+ %common.attrib;
+ %blockquote.role.attrib;
+ %local.blockquote.attrib;
+>
+<!--end of blockquote.attlist-->]]>
+<!--end of blockquote.module-->]]>
+
+<!ENTITY % attribution.module "INCLUDE">
+<![%attribution.module;[
+<!ENTITY % local.attribution.attrib "">
+<!ENTITY % attribution.role.attrib "%role.attrib;">
+
+<!ENTITY % attribution.element "INCLUDE">
+<![%attribution.element;[
+<!ELEMENT attribution (%para.char.mix;)*>
+<!--end of attribution.element-->]]>
+
+<!ENTITY % attribution.attlist "INCLUDE">
+<![%attribution.attlist;[
+<!ATTLIST attribution
+ %common.attrib;
+ %attribution.role.attrib;
+ %local.attribution.attrib;
+>
+<!--end of attribution.attlist-->]]>
+<!--end of attribution.module-->]]>
+
+<!ENTITY % bridgehead.module "INCLUDE">
+<![%bridgehead.module;[
+<!ENTITY % local.bridgehead.attrib "">
+<!ENTITY % bridgehead.role.attrib "%role.attrib;">
+
+<!ENTITY % bridgehead.element "INCLUDE">
+<![%bridgehead.element;[
+<!ELEMENT bridgehead (%title.char.mix;)*>
+<!--end of bridgehead.element-->]]>
+
+<!-- Renderas: Indicates the format in which the BridgeHead
+ should appear -->
+
+
+<!ENTITY % bridgehead.attlist "INCLUDE">
+<![%bridgehead.attlist;[
+<!ATTLIST bridgehead
+ renderas (other
+ |sect1
+ |sect2
+ |sect3
+ |sect4
+ |sect5) #IMPLIED
+ %common.attrib;
+ %bridgehead.role.attrib;
+ %local.bridgehead.attrib;
+>
+<!--end of bridgehead.attlist-->]]>
+<!--end of bridgehead.module-->]]>
+
+<!ENTITY % remark.module "INCLUDE">
+<![%remark.module;[
+<!ENTITY % local.remark.attrib "">
+<!ENTITY % remark.role.attrib "%role.attrib;">
+
+<!ENTITY % remark.element "INCLUDE">
+<![%remark.element;[
+<!ELEMENT remark (%para.char.mix;)*>
+<!--end of remark.element-->]]>
+
+<!ENTITY % remark.attlist "INCLUDE">
+<![%remark.attlist;[
+<!ATTLIST remark
+ %common.attrib;
+ %remark.role.attrib;
+ %local.remark.attrib;
+>
+<!--end of remark.attlist-->]]>
+<!--end of remark.module-->]]>
+
+<!ENTITY % epigraph.module "INCLUDE">
+<![%epigraph.module;[
+<!ENTITY % local.epigraph.attrib "">
+<!ENTITY % epigraph.role.attrib "%role.attrib;">
+
+<!ENTITY % epigraph.element "INCLUDE">
+<![%epigraph.element;[
+<!ELEMENT epigraph (attribution?, (%para.class;)+)>
+<!--end of epigraph.element-->]]>
+
+<!ENTITY % epigraph.attlist "INCLUDE">
+<![%epigraph.attlist;[
+<!ATTLIST epigraph
+ %common.attrib;
+ %epigraph.role.attrib;
+ %local.epigraph.attrib;
+>
+<!--end of epigraph.attlist-->]]>
+<!-- Attribution (defined above)-->
+<!--end of epigraph.module-->]]>
+
+<!ENTITY % footnote.module "INCLUDE">
+<![%footnote.module;[
+<!ENTITY % local.footnote.attrib "">
+<!ENTITY % footnote.role.attrib "%role.attrib;">
+
+<!ENTITY % footnote.element "INCLUDE">
+<![%footnote.element;[
+<!ELEMENT footnote ((%footnote.mix;)+)>
+<!--end of footnote.element-->]]>
+
+<!ENTITY % footnote.attlist "INCLUDE">
+<![%footnote.attlist;[
+<!ATTLIST footnote
+ %label.attrib;
+ %common.attrib;
+ %footnote.role.attrib;
+ %local.footnote.attrib;
+>
+<!--end of footnote.attlist-->]]>
+<!--end of footnote.module-->]]>
+
+<!ENTITY % highlights.module "INCLUDE">
+<![%highlights.module;[
+<!ENTITY % local.highlights.attrib "">
+<!ENTITY % highlights.role.attrib "%role.attrib;">
+
+<!ENTITY % highlights.element "INCLUDE">
+<![%highlights.element;[
+<!ELEMENT highlights ((%highlights.mix;)+)>
+<!--end of highlights.element-->]]>
+
+<!ENTITY % highlights.attlist "INCLUDE">
+<![%highlights.attlist;[
+<!ATTLIST highlights
+ %common.attrib;
+ %highlights.role.attrib;
+ %local.highlights.attrib;
+>
+<!--end of highlights.attlist-->]]>
+<!--end of highlights.module-->]]>
+
+<!ENTITY % formalpara.module "INCLUDE">
+<![%formalpara.module;[
+<!ENTITY % local.formalpara.attrib "">
+<!ENTITY % formalpara.role.attrib "%role.attrib;">
+
+<!ENTITY % formalpara.element "INCLUDE">
+<![%formalpara.element;[
+<!ELEMENT formalpara (title, (%ndxterm.class;)*, para)>
+<!--end of formalpara.element-->]]>
+
+<!ENTITY % formalpara.attlist "INCLUDE">
+<![%formalpara.attlist;[
+<!ATTLIST formalpara
+ %common.attrib;
+ %formalpara.role.attrib;
+ %local.formalpara.attrib;
+>
+<!--end of formalpara.attlist-->]]>
+<!--end of formalpara.module-->]]>
+
+<!ENTITY % para.module "INCLUDE">
+<![%para.module;[
+<!ENTITY % local.para.attrib "">
+<!ENTITY % para.role.attrib "%role.attrib;">
+
+<!ENTITY % para.element "INCLUDE">
+<![%para.element;[
+<!ELEMENT para (%para.char.mix; | %para.mix;)*>
+<!--end of para.element-->]]>
+
+<!ENTITY % para.attlist "INCLUDE">
+<![%para.attlist;[
+<!ATTLIST para
+ %common.attrib;
+ %para.role.attrib;
+ %local.para.attrib;
+>
+<!--end of para.attlist-->]]>
+<!--end of para.module-->]]>
+
+<!ENTITY % simpara.module "INCLUDE">
+<![%simpara.module;[
+<!ENTITY % local.simpara.attrib "">
+<!ENTITY % simpara.role.attrib "%role.attrib;">
+
+<!ENTITY % simpara.element "INCLUDE">
+<![%simpara.element;[
+<!ELEMENT simpara (%para.char.mix;)*>
+<!--end of simpara.element-->]]>
+
+<!ENTITY % simpara.attlist "INCLUDE">
+<![%simpara.attlist;[
+<!ATTLIST simpara
+ %common.attrib;
+ %simpara.role.attrib;
+ %local.simpara.attrib;
+>
+<!--end of simpara.attlist-->]]>
+<!--end of simpara.module-->]]>
+
+<!ENTITY % admon.module "INCLUDE">
+<![%admon.module;[
+<!ENTITY % local.admon.attrib "">
+<!ENTITY % admon.role.attrib "%role.attrib;">
+
+
+<!ENTITY % caution.element "INCLUDE">
+<![%caution.element;[
+<!ELEMENT caution (title?, (%admon.mix;)+)>
+<!--end of caution.element-->]]>
+
+<!ENTITY % caution.attlist "INCLUDE">
+<![%caution.attlist;[
+<!ATTLIST caution
+ %common.attrib;
+ %admon.role.attrib;
+ %local.admon.attrib;
+>
+<!--end of caution.attlist-->]]>
+
+
+<!ENTITY % important.element "INCLUDE">
+<![%important.element;[
+<!ELEMENT important (title?, (%admon.mix;)+)>
+<!--end of important.element-->]]>
+
+<!ENTITY % important.attlist "INCLUDE">
+<![%important.attlist;[
+<!ATTLIST important
+ %common.attrib;
+ %admon.role.attrib;
+ %local.admon.attrib;
+>
+<!--end of important.attlist-->]]>
+
+
+<!ENTITY % note.element "INCLUDE">
+<![%note.element;[
+<!ELEMENT note (title?, (%admon.mix;)+)>
+<!--end of note.element-->]]>
+
+<!ENTITY % note.attlist "INCLUDE">
+<![%note.attlist;[
+<!ATTLIST note
+ %common.attrib;
+ %admon.role.attrib;
+ %local.admon.attrib;
+>
+<!--end of note.attlist-->]]>
+
+
+<!ENTITY % tip.element "INCLUDE">
+<![%tip.element;[
+<!ELEMENT tip (title?, (%admon.mix;)+)>
+<!--end of tip.element-->]]>
+
+<!ENTITY % tip.attlist "INCLUDE">
+<![%tip.attlist;[
+<!ATTLIST tip
+ %common.attrib;
+ %admon.role.attrib;
+ %local.admon.attrib;
+>
+<!--end of tip.attlist-->]]>
+
+
+<!ENTITY % warning.element "INCLUDE">
+<![%warning.element;[
+<!ELEMENT warning (title?, (%admon.mix;)+)>
+<!--end of warning.element-->]]>
+
+<!ENTITY % warning.attlist "INCLUDE">
+<![%warning.attlist;[
+<!ATTLIST warning
+ %common.attrib;
+ %admon.role.attrib;
+ %local.admon.attrib;
+>
+<!--end of warning.attlist-->]]>
+
+<!--end of admon.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Lists ................................................................ -->
+
+<!-- GlossList ........................ -->
+
+<!ENTITY % glosslist.module "INCLUDE">
+<![%glosslist.module;[
+<!ENTITY % local.glosslist.attrib "">
+<!ENTITY % glosslist.role.attrib "%role.attrib;">
+
+<!ENTITY % glosslist.element "INCLUDE">
+<![%glosslist.element;[
+<!ELEMENT glosslist (glossentry+)>
+<!--end of glosslist.element-->]]>
+
+<!ENTITY % glosslist.attlist "INCLUDE">
+<![%glosslist.attlist;[
+<!ATTLIST glosslist
+ %common.attrib;
+ %glosslist.role.attrib;
+ %local.glosslist.attrib;
+>
+<!--end of glosslist.attlist-->]]>
+<!--end of glosslist.module-->]]>
+
+<!ENTITY % glossentry.content.module "INCLUDE">
+<![%glossentry.content.module;[
+<!ENTITY % glossentry.module "INCLUDE">
+<![%glossentry.module;[
+<!ENTITY % local.glossentry.attrib "">
+<!ENTITY % glossentry.role.attrib "%role.attrib;">
+
+<!ENTITY % glossentry.element "INCLUDE">
+<![%glossentry.element;[
+<!ELEMENT glossentry (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 -->
+
+
+<!ENTITY % glossentry.attlist "INCLUDE">
+<![%glossentry.attlist;[
+<!ATTLIST glossentry
+ sortas CDATA #IMPLIED
+ %common.attrib;
+ %glossentry.role.attrib;
+ %local.glossentry.attrib;
+>
+<!--end of glossentry.attlist-->]]>
+<!--end of glossentry.module-->]]>
+
+<!-- GlossTerm (defined in the Inlines section, below)-->
+<!ENTITY % glossdef.module "INCLUDE">
+<![%glossdef.module;[
+<!ENTITY % local.glossdef.attrib "">
+<!ENTITY % glossdef.role.attrib "%role.attrib;">
+
+<!ENTITY % glossdef.element "INCLUDE">
+<![%glossdef.element;[
+<!ELEMENT glossdef ((%glossdef.mix;)+, glossseealso*)>
+<!--end of glossdef.element-->]]>
+
+<!-- Subject: List of subjects; keywords for the definition -->
+
+
+<!ENTITY % glossdef.attlist "INCLUDE">
+<![%glossdef.attlist;[
+<!ATTLIST glossdef
+ subject CDATA #IMPLIED
+ %common.attrib;
+ %glossdef.role.attrib;
+ %local.glossdef.attrib;
+>
+<!--end of glossdef.attlist-->]]>
+<!--end of glossdef.module-->]]>
+
+<!ENTITY % glosssee.module "INCLUDE">
+<![%glosssee.module;[
+<!ENTITY % local.glosssee.attrib "">
+<!ENTITY % glosssee.role.attrib "%role.attrib;">
+
+<!ENTITY % glosssee.element "INCLUDE">
+<![%glosssee.element;[
+<!ELEMENT glosssee (%para.char.mix;)*>
+<!--end of glosssee.element-->]]>
+
+<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
+ should be displayed at the point of the GlossSee -->
+
+
+<!ENTITY % glosssee.attlist "INCLUDE">
+<![%glosssee.attlist;[
+<!ATTLIST glosssee
+ otherterm IDREF #IMPLIED
+ %common.attrib;
+ %glosssee.role.attrib;
+ %local.glosssee.attrib;
+>
+<!--end of glosssee.attlist-->]]>
+<!--end of glosssee.module-->]]>
+
+<!ENTITY % glossseealso.module "INCLUDE">
+<![%glossseealso.module;[
+<!ENTITY % local.glossseealso.attrib "">
+<!ENTITY % glossseealso.role.attrib "%role.attrib;">
+
+<!ENTITY % glossseealso.element "INCLUDE">
+<![%glossseealso.element;[
+<!ELEMENT glossseealso (%para.char.mix;)*>
+<!--end of glossseealso.element-->]]>
+
+<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
+ should be displayed at the point of the GlossSeeAlso -->
+
+
+<!ENTITY % glossseealso.attlist "INCLUDE">
+<![%glossseealso.attlist;[
+<!ATTLIST glossseealso
+ otherterm IDREF #IMPLIED
+ %common.attrib;
+ %glossseealso.role.attrib;
+ %local.glossseealso.attrib;
+>
+<!--end of glossseealso.attlist-->]]>
+<!--end of glossseealso.module-->]]>
+<!--end of glossentry.content.module-->]]>
+
+<!-- ItemizedList and OrderedList ..... -->
+
+<!ENTITY % itemizedlist.module "INCLUDE">
+<![%itemizedlist.module;[
+<!ENTITY % local.itemizedlist.attrib "">
+<!ENTITY % itemizedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % itemizedlist.element "INCLUDE">
+<![%itemizedlist.element;[
+<!ELEMENT itemizedlist ((%formalobject.title.content;)?, 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 -->
+
+
+<!ENTITY % itemizedlist.attlist "INCLUDE">
+<![%itemizedlist.attlist;[
+<!ATTLIST itemizedlist spacing (normal
+ |compact) #IMPLIED
+ %mark.attrib;
+ %common.attrib;
+ %itemizedlist.role.attrib;
+ %local.itemizedlist.attrib;
+>
+<!--end of itemizedlist.attlist-->]]>
+<!--end of itemizedlist.module-->]]>
+
+<!ENTITY % orderedlist.module "INCLUDE">
+<![%orderedlist.module;[
+<!ENTITY % local.orderedlist.attrib "">
+<!ENTITY % orderedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % orderedlist.element "INCLUDE">
+<![%orderedlist.element;[
+<!ELEMENT orderedlist ((%formalobject.title.content;)?, 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 -->
+
+
+<!ENTITY % orderedlist.attlist "INCLUDE">
+<![%orderedlist.attlist;[
+<!ATTLIST orderedlist
+ numeration (arabic
+ |upperalpha
+ |loweralpha
+ |upperroman
+ |lowerroman) #IMPLIED
+ inheritnum (inherit
+ |ignore) "ignore"
+ continuation (continues
+ |restarts) "restarts"
+ spacing (normal
+ |compact) #IMPLIED
+ %common.attrib;
+ %orderedlist.role.attrib;
+ %local.orderedlist.attrib;
+>
+<!--end of orderedlist.attlist-->]]>
+<!--end of orderedlist.module-->]]>
+
+<!ENTITY % listitem.module "INCLUDE">
+<![%listitem.module;[
+<!ENTITY % local.listitem.attrib "">
+<!ENTITY % listitem.role.attrib "%role.attrib;">
+
+<!ENTITY % listitem.element "INCLUDE">
+<![%listitem.element;[
+<!ELEMENT listitem ((%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 -->
+
+
+<!ENTITY % listitem.attlist "INCLUDE">
+<![%listitem.attlist;[
+<!ATTLIST listitem
+ override CDATA #IMPLIED
+ %common.attrib;
+ %listitem.role.attrib;
+ %local.listitem.attrib;
+>
+<!--end of listitem.attlist-->]]>
+<!--end of listitem.module-->]]>
+
+<!-- SegmentedList .................... -->
+<!ENTITY % segmentedlist.content.module "INCLUDE">
+<![%segmentedlist.content.module;[
+<!ENTITY % segmentedlist.module "INCLUDE">
+<![%segmentedlist.module;[
+<!ENTITY % local.segmentedlist.attrib "">
+<!ENTITY % segmentedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % segmentedlist.element "INCLUDE">
+<![%segmentedlist.element;[
+<!ELEMENT segmentedlist ((%formalobject.title.content;)?,
+ segtitle, segtitle+,
+ seglistitem+)>
+<!--end of segmentedlist.element-->]]>
+
+<!ENTITY % segmentedlist.attlist "INCLUDE">
+<![%segmentedlist.attlist;[
+<!ATTLIST segmentedlist
+ %common.attrib;
+ %segmentedlist.role.attrib;
+ %local.segmentedlist.attrib;
+>
+<!--end of segmentedlist.attlist-->]]>
+<!--end of segmentedlist.module-->]]>
+
+<!ENTITY % segtitle.module "INCLUDE">
+<![%segtitle.module;[
+<!ENTITY % local.segtitle.attrib "">
+<!ENTITY % segtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % segtitle.element "INCLUDE">
+<![%segtitle.element;[
+<!ELEMENT segtitle (%title.char.mix;)*>
+<!--end of segtitle.element-->]]>
+
+<!ENTITY % segtitle.attlist "INCLUDE">
+<![%segtitle.attlist;[
+<!ATTLIST segtitle
+ %common.attrib;
+ %segtitle.role.attrib;
+ %local.segtitle.attrib;
+>
+<!--end of segtitle.attlist-->]]>
+<!--end of segtitle.module-->]]>
+
+<!ENTITY % seglistitem.module "INCLUDE">
+<![%seglistitem.module;[
+<!ENTITY % local.seglistitem.attrib "">
+<!ENTITY % seglistitem.role.attrib "%role.attrib;">
+
+<!ENTITY % seglistitem.element "INCLUDE">
+<![%seglistitem.element;[
+<!ELEMENT seglistitem (seg, seg+)>
+<!--end of seglistitem.element-->]]>
+
+<!ENTITY % seglistitem.attlist "INCLUDE">
+<![%seglistitem.attlist;[
+<!ATTLIST seglistitem
+ %common.attrib;
+ %seglistitem.role.attrib;
+ %local.seglistitem.attrib;
+>
+<!--end of seglistitem.attlist-->]]>
+<!--end of seglistitem.module-->]]>
+
+<!ENTITY % seg.module "INCLUDE">
+<![%seg.module;[
+<!ENTITY % local.seg.attrib "">
+<!ENTITY % seg.role.attrib "%role.attrib;">
+
+<!ENTITY % seg.element "INCLUDE">
+<![%seg.element;[
+<!ELEMENT seg (%para.char.mix;)*>
+<!--end of seg.element-->]]>
+
+<!ENTITY % seg.attlist "INCLUDE">
+<![%seg.attlist;[
+<!ATTLIST seg
+ %common.attrib;
+ %seg.role.attrib;
+ %local.seg.attrib;
+>
+<!--end of seg.attlist-->]]>
+<!--end of seg.module-->]]>
+<!--end of segmentedlist.content.module-->]]>
+
+<!-- SimpleList ....................... -->
+
+<!ENTITY % simplelist.content.module "INCLUDE">
+<![%simplelist.content.module;[
+<!ENTITY % simplelist.module "INCLUDE">
+<![%simplelist.module;[
+<!ENTITY % local.simplelist.attrib "">
+<!ENTITY % simplelist.role.attrib "%role.attrib;">
+
+<!ENTITY % simplelist.element "INCLUDE">
+<![%simplelist.element;[
+<!ELEMENT simplelist (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. -->
+
+
+<!ENTITY % simplelist.attlist "INCLUDE">
+<![%simplelist.attlist;[
+<!ATTLIST simplelist
+ columns CDATA #IMPLIED
+ type (inline
+ |vert
+ |horiz) "vert"
+ %common.attrib;
+ %simplelist.role.attrib;
+ %local.simplelist.attrib;
+>
+<!--end of simplelist.attlist-->]]>
+<!--end of simplelist.module-->]]>
+
+<!ENTITY % member.module "INCLUDE">
+<![%member.module;[
+<!ENTITY % local.member.attrib "">
+<!ENTITY % member.role.attrib "%role.attrib;">
+
+<!ENTITY % member.element "INCLUDE">
+<![%member.element;[
+<!ELEMENT member (%para.char.mix;)*>
+<!--end of member.element-->]]>
+
+<!ENTITY % member.attlist "INCLUDE">
+<![%member.attlist;[
+<!ATTLIST member
+ %common.attrib;
+ %member.role.attrib;
+ %local.member.attrib;
+>
+<!--end of member.attlist-->]]>
+<!--end of member.module-->]]>
+<!--end of simplelist.content.module-->]]>
+
+<!-- VariableList ..................... -->
+
+<!ENTITY % variablelist.content.module "INCLUDE">
+<![%variablelist.content.module;[
+<!ENTITY % variablelist.module "INCLUDE">
+<![%variablelist.module;[
+<!ENTITY % local.variablelist.attrib "">
+<!ENTITY % variablelist.role.attrib "%role.attrib;">
+
+<!ENTITY % variablelist.element "INCLUDE">
+<![%variablelist.element;[
+<!ELEMENT variablelist ((%formalobject.title.content;)?, 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. -->
+
+
+<!ENTITY % variablelist.attlist "INCLUDE">
+<![%variablelist.attlist;[
+<!ATTLIST variablelist
+ termlength CDATA #IMPLIED
+ %common.attrib;
+ %variablelist.role.attrib;
+ %local.variablelist.attrib;
+>
+<!--end of variablelist.attlist-->]]>
+<!--end of variablelist.module-->]]>
+
+<!ENTITY % varlistentry.module "INCLUDE">
+<![%varlistentry.module;[
+<!ENTITY % local.varlistentry.attrib "">
+<!ENTITY % varlistentry.role.attrib "%role.attrib;">
+
+<!ENTITY % varlistentry.element "INCLUDE">
+<![%varlistentry.element;[
+<!ELEMENT varlistentry (term+, listitem)>
+<!--end of varlistentry.element-->]]>
+
+<!ENTITY % varlistentry.attlist "INCLUDE">
+<![%varlistentry.attlist;[
+<!ATTLIST varlistentry
+ %common.attrib;
+ %varlistentry.role.attrib;
+ %local.varlistentry.attrib;
+>
+<!--end of varlistentry.attlist-->]]>
+<!--end of varlistentry.module-->]]>
+
+<!ENTITY % term.module "INCLUDE">
+<![%term.module;[
+<!ENTITY % local.term.attrib "">
+<!ENTITY % term.role.attrib "%role.attrib;">
+
+<!ENTITY % term.element "INCLUDE">
+<![%term.element;[
+<!ELEMENT term (%para.char.mix;)*>
+<!--end of term.element-->]]>
+
+<!ENTITY % term.attlist "INCLUDE">
+<![%term.attlist;[
+<!ATTLIST term
+ %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 ...................... -->
+
+<!ENTITY % calloutlist.content.module "INCLUDE">
+<![%calloutlist.content.module;[
+<!ENTITY % calloutlist.module "INCLUDE">
+<![%calloutlist.module;[
+<!ENTITY % local.calloutlist.attrib "">
+<!ENTITY % calloutlist.role.attrib "%role.attrib;">
+
+<!ENTITY % calloutlist.element "INCLUDE">
+<![%calloutlist.element;[
+<!ELEMENT calloutlist ((%formalobject.title.content;)?, callout+)>
+<!--end of calloutlist.element-->]]>
+
+<!ENTITY % calloutlist.attlist "INCLUDE">
+<![%calloutlist.attlist;[
+<!ATTLIST calloutlist
+ %common.attrib;
+ %calloutlist.role.attrib;
+ %local.calloutlist.attrib;
+>
+<!--end of calloutlist.attlist-->]]>
+<!--end of calloutlist.module-->]]>
+
+<!ENTITY % callout.module "INCLUDE">
+<![%callout.module;[
+<!ENTITY % local.callout.attrib "">
+<!ENTITY % callout.role.attrib "%role.attrib;">
+
+<!ENTITY % callout.element "INCLUDE">
+<![%callout.element;[
+<!ELEMENT callout ((%component.mix;)+)>
+<!--end of callout.element-->]]>
+
+<!-- AreaRefs: IDs of one or more Areas or AreaSets described
+ by this Callout -->
+
+
+<!ENTITY % callout.attlist "INCLUDE">
+<![%callout.attlist;[
+<!ATTLIST callout
+ arearefs IDREFS #REQUIRED
+ %common.attrib;
+ %callout.role.attrib;
+ %local.callout.attrib;
+>
+<!--end of callout.attlist-->]]>
+<!--end of callout.module-->]]>
+<!--end of calloutlist.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Objects .............................................................. -->
+
+<!-- Examples etc. .................... -->
+
+<!ENTITY % example.module "INCLUDE">
+<![%example.module;[
+<!ENTITY % local.example.attrib "">
+<!ENTITY % example.role.attrib "%role.attrib;">
+
+<!ENTITY % example.element "INCLUDE">
+<![%example.element;[
+<!ELEMENT example ((%formalobject.title.content;), (%example.mix;)+)>
+<!--end of example.element-->]]>
+
+<!ENTITY % example.attlist "INCLUDE">
+<![%example.attlist;[
+<!ATTLIST example
+ %label.attrib;
+ %width.attrib;
+ %common.attrib;
+ %example.role.attrib;
+ %local.example.attrib;
+>
+<!--end of example.attlist-->]]>
+<!--end of example.module-->]]>
+
+<!ENTITY % informalexample.module "INCLUDE">
+<![%informalexample.module;[
+<!ENTITY % local.informalexample.attrib "">
+<!ENTITY % informalexample.role.attrib "%role.attrib;">
+
+<!ENTITY % informalexample.element "INCLUDE">
+<![%informalexample.element;[
+<!ELEMENT informalexample ((%example.mix;)+)>
+<!--end of informalexample.element-->]]>
+
+<!ENTITY % informalexample.attlist "INCLUDE">
+<![%informalexample.attlist;[
+<!ATTLIST informalexample
+ %width.attrib;
+ %common.attrib;
+ %informalexample.role.attrib;
+ %local.informalexample.attrib;
+>
+<!--end of informalexample.attlist-->]]>
+<!--end of informalexample.module-->]]>
+
+<!ENTITY % programlistingco.module "INCLUDE">
+<![%programlistingco.module;[
+<!ENTITY % local.programlistingco.attrib "">
+<!ENTITY % programlistingco.role.attrib "%role.attrib;">
+
+<!ENTITY % programlistingco.element "INCLUDE">
+<![%programlistingco.element;[
+<!ELEMENT programlistingco (areaspec, programlisting, calloutlist*)>
+<!--end of programlistingco.element-->]]>
+
+<!ENTITY % programlistingco.attlist "INCLUDE">
+<![%programlistingco.attlist;[
+<!ATTLIST programlistingco
+ %common.attrib;
+ %programlistingco.role.attrib;
+ %local.programlistingco.attrib;
+>
+<!--end of programlistingco.attlist-->]]>
+<!-- CalloutList (defined above in Lists)-->
+<!--end of informalexample.module-->]]>
+
+<!ENTITY % areaspec.content.module "INCLUDE">
+<![%areaspec.content.module;[
+<!ENTITY % areaspec.module "INCLUDE">
+<![%areaspec.module;[
+<!ENTITY % local.areaspec.attrib "">
+<!ENTITY % areaspec.role.attrib "%role.attrib;">
+
+<!ENTITY % areaspec.element "INCLUDE">
+<![%areaspec.element;[
+<!ELEMENT areaspec ((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 -->
+
+
+<!ENTITY % areaspec.attlist "INCLUDE">
+<![%areaspec.attlist;[
+<!ATTLIST areaspec
+ units (calspair
+ |linecolumn
+ |linerange
+ |linecolumnpair
+ |other) #IMPLIED
+ otherunits NMTOKEN #IMPLIED
+ %common.attrib;
+ %areaspec.role.attrib;
+ %local.areaspec.attrib;
+>
+<!--end of areaspec.attlist-->]]>
+<!--end of areaspec.module-->]]>
+
+<!ENTITY % area.module "INCLUDE">
+<![%area.module;[
+<!ENTITY % local.area.attrib "">
+<!ENTITY % area.role.attrib "%role.attrib;">
+
+<!ENTITY % area.element "INCLUDE">
+<![%area.element;[
+<!ELEMENT area 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 -->
+
+
+<!ENTITY % area.attlist "INCLUDE">
+<![%area.attlist;[
+<!ATTLIST area
+ %label.attrib;
+ %linkends.attrib;
+ units (calspair
+ |linecolumn
+ |linerange
+ |linecolumnpair
+ |other) #IMPLIED
+ otherunits NMTOKEN #IMPLIED
+ coords CDATA #REQUIRED
+ %idreq.common.attrib;
+ %area.role.attrib;
+ %local.area.attrib;
+>
+<!--end of area.attlist-->]]>
+<!--end of area.module-->]]>
+
+<!ENTITY % areaset.module "INCLUDE">
+<![%areaset.module;[
+<!ENTITY % local.areaset.attrib "">
+<!ENTITY % areaset.role.attrib "%role.attrib;">
+
+<!ENTITY % areaset.element "INCLUDE">
+<![%areaset.element;[
+<!ELEMENT areaset (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 -->
+
+
+<!ENTITY % areaset.attlist "INCLUDE">
+<![%areaset.attlist;[
+<!ATTLIST areaset
+ %label.attrib;
+ units (calspair
+ |linecolumn
+ |linerange
+ |linecolumnpair
+ |other) #IMPLIED
+ otherunits NMTOKEN #IMPLIED
+ coords CDATA #REQUIRED
+ %idreq.common.attrib;
+ %areaset.role.attrib;
+ %local.areaset.attrib;
+>
+<!--end of areaset.attlist-->]]>
+<!--end of areaset.module-->]]>
+<!--end of areaspec.content.module-->]]>
+
+<!ENTITY % programlisting.module "INCLUDE">
+<![%programlisting.module;[
+<!ENTITY % local.programlisting.attrib "">
+<!ENTITY % programlisting.role.attrib "%role.attrib;">
+
+<!ENTITY % programlisting.element "INCLUDE">
+<![%programlisting.element;[
+<!ELEMENT programlisting (%para.char.mix; | co | lineannotation)*>
+<!--end of programlisting.element-->]]>
+
+<!ENTITY % programlisting.attlist "INCLUDE">
+<![%programlisting.attlist;[
+<!ATTLIST programlisting
+ %width.attrib;
+ %linespecific.attrib;
+ %common.attrib;
+ %programlisting.role.attrib;
+ %local.programlisting.attrib;
+>
+<!--end of programlisting.attlist-->]]>
+<!--end of programlisting.module-->]]>
+
+<!ENTITY % literallayout.module "INCLUDE">
+<![%literallayout.module;[
+<!ENTITY % local.literallayout.attrib "">
+<!ENTITY % literallayout.role.attrib "%role.attrib;">
+
+<!ENTITY % literallayout.element "INCLUDE">
+<![%literallayout.element;[
+<!ELEMENT literallayout (%para.char.mix; | lineannotation | co)*>
+<!--end of literallayout.element-->]]>
+
+<!ENTITY % literallayout.attlist "INCLUDE">
+<![%literallayout.attlist;[
+<!ATTLIST literallayout
+ %width.attrib;
+ %linespecific.attrib;
+ class (monospaced|normal) "normal"
+ %common.attrib;
+ %literallayout.role.attrib;
+ %local.literallayout.attrib;
+>
+<!--end of literallayout.attlist-->]]>
+<!-- LineAnnotation (defined in the Inlines section, below)-->
+<!--end of literallayout.module-->]]>
+
+<!ENTITY % screenco.module "INCLUDE">
+<![%screenco.module;[
+<!ENTITY % local.screenco.attrib "">
+<!ENTITY % screenco.role.attrib "%role.attrib;">
+
+<!ENTITY % screenco.element "INCLUDE">
+<![%screenco.element;[
+<!ELEMENT screenco (areaspec, screen, calloutlist*)>
+<!--end of screenco.element-->]]>
+
+<!ENTITY % screenco.attlist "INCLUDE">
+<![%screenco.attlist;[
+<!ATTLIST screenco
+ %common.attrib;
+ %screenco.role.attrib;
+ %local.screenco.attrib;
+>
+<!--end of screenco.attlist-->]]>
+<!-- AreaSpec (defined above)-->
+<!-- CalloutList (defined above in Lists)-->
+<!--end of screenco.module-->]]>
+
+<!ENTITY % screen.module "INCLUDE">
+<![%screen.module;[
+<!ENTITY % local.screen.attrib "">
+<!ENTITY % screen.role.attrib "%role.attrib;">
+
+<!ENTITY % screen.element "INCLUDE">
+<![%screen.element;[
+<!ELEMENT screen (%para.char.mix; | co | lineannotation)*>
+<!--end of screen.element-->]]>
+
+<!ENTITY % screen.attlist "INCLUDE">
+<![%screen.attlist;[
+<!ATTLIST screen
+ %width.attrib;
+ %linespecific.attrib;
+ %common.attrib;
+ %screen.role.attrib;
+ %local.screen.attrib;
+>
+<!--end of screen.attlist-->]]>
+<!--end of screen.module-->]]>
+
+<!ENTITY % screenshot.content.module "INCLUDE">
+<![%screenshot.content.module;[
+<!ENTITY % screenshot.module "INCLUDE">
+<![%screenshot.module;[
+<!ENTITY % local.screenshot.attrib "">
+<!ENTITY % screenshot.role.attrib "%role.attrib;">
+
+<!ENTITY % screenshot.element "INCLUDE">
+<![%screenshot.element;[
+<!ELEMENT screenshot (screeninfo?,
+ (graphic|graphicco
+ |mediaobject|mediaobjectco))>
+<!--end of screenshot.element-->]]>
+
+<!ENTITY % screenshot.attlist "INCLUDE">
+<![%screenshot.attlist;[
+<!ATTLIST screenshot
+ %common.attrib;
+ %screenshot.role.attrib;
+ %local.screenshot.attrib;
+>
+<!--end of screenshot.attlist-->]]>
+<!--end of screenshot.module-->]]>
+
+<!ENTITY % screeninfo.module "INCLUDE">
+<![%screeninfo.module;[
+<!ENTITY % local.screeninfo.attrib "">
+<!ENTITY % screeninfo.role.attrib "%role.attrib;">
+
+<!ENTITY % screeninfo.element "INCLUDE">
+<![%screeninfo.element;[
+<!ELEMENT screeninfo (%para.char.mix;)*>
+<!--end of screeninfo.element-->]]>
+
+<!ENTITY % screeninfo.attlist "INCLUDE">
+<![%screeninfo.attlist;[
+<!ATTLIST screeninfo
+ %common.attrib;
+ %screeninfo.role.attrib;
+ %local.screeninfo.attrib;
+>
+<!--end of screeninfo.attlist-->]]>
+<!--end of screeninfo.module-->]]>
+<!--end of screenshot.content.module-->]]>
+
+<!-- Figures etc. ..................... -->
+
+<!ENTITY % figure.module "INCLUDE">
+<![%figure.module;[
+<!ENTITY % local.figure.attrib "">
+<!ENTITY % figure.role.attrib "%role.attrib;">
+
+<!ENTITY % figure.element "INCLUDE">
+<![%figure.element;[
+<!ELEMENT figure ((%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) -->
+
+
+<!ENTITY % figure.attlist "INCLUDE">
+<![%figure.attlist;[
+<!ATTLIST figure
+ float %yesorno.attvals; '0'
+ pgwide %yesorno.attvals; #IMPLIED
+ %label.attrib;
+ %common.attrib;
+ %figure.role.attrib;
+ %local.figure.attrib;
+>
+<!--end of figure.attlist-->]]>
+<!--end of figure.module-->]]>
+
+<!ENTITY % informalfigure.module "INCLUDE">
+<![ %informalfigure.module; [
+<!ENTITY % local.informalfigure.attrib "">
+<!ENTITY % informalfigure.role.attrib "%role.attrib;">
+
+<!ENTITY % informalfigure.element "INCLUDE">
+<![ %informalfigure.element; [
+<!ELEMENT informalfigure ((%figure.mix; | %link.char.class;)+)>
+<!--end of informalfigure.element-->]]>
+
+<!ENTITY % informalfigure.attlist "INCLUDE">
+<![ %informalfigure.attlist; [
+<!--
+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)
+-->
+<!ATTLIST informalfigure
+ float %yesorno.attvals; "0"
+ pgwide %yesorno.attvals; #IMPLIED
+ %label.attrib;
+ %common.attrib;
+ %informalfigure.role.attrib;
+ %local.informalfigure.attrib;
+>
+<!--end of informalfigure.attlist-->]]>
+<!--end of informalfigure.module-->]]>
+
+<!ENTITY % graphicco.module "INCLUDE">
+<![%graphicco.module;[
+<!ENTITY % local.graphicco.attrib "">
+<!ENTITY % graphicco.role.attrib "%role.attrib;">
+
+<!ENTITY % graphicco.element "INCLUDE">
+<![%graphicco.element;[
+<!ELEMENT graphicco (areaspec, graphic, calloutlist*)>
+<!--end of graphicco.element-->]]>
+
+<!ENTITY % graphicco.attlist "INCLUDE">
+<![%graphicco.attlist;[
+<!ATTLIST graphicco
+ %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). -->
+
+<!ENTITY % graphic.module "INCLUDE">
+<![%graphic.module;[
+<!ENTITY % local.graphic.attrib "">
+<!ENTITY % graphic.role.attrib "%role.attrib;">
+
+<!ENTITY % graphic.element "INCLUDE">
+<![%graphic.element;[
+<!ELEMENT graphic EMPTY>
+<!--end of graphic.element-->]]>
+
+<!ENTITY % graphic.attlist "INCLUDE">
+<![%graphic.attlist;[
+<!ATTLIST graphic
+ %graphics.attrib;
+ %common.attrib;
+ %graphic.role.attrib;
+ %local.graphic.attrib;
+>
+<!--end of graphic.attlist-->]]>
+<!--end of graphic.module-->]]>
+
+<!ENTITY % inlinegraphic.module "INCLUDE">
+<![%inlinegraphic.module;[
+<!ENTITY % local.inlinegraphic.attrib "">
+<!ENTITY % inlinegraphic.role.attrib "%role.attrib;">
+
+<!ENTITY % inlinegraphic.element "INCLUDE">
+<![%inlinegraphic.element;[
+<!ELEMENT inlinegraphic EMPTY>
+<!--end of inlinegraphic.element-->]]>
+
+<!ENTITY % inlinegraphic.attlist "INCLUDE">
+<![%inlinegraphic.attlist;[
+<!ATTLIST inlinegraphic
+ %graphics.attrib;
+ %common.attrib;
+ %inlinegraphic.role.attrib;
+ %local.inlinegraphic.attrib;
+>
+<!--end of inlinegraphic.attlist-->]]>
+<!--end of inlinegraphic.module-->]]>
+
+<!ENTITY % mediaobject.content.module "INCLUDE">
+<![ %mediaobject.content.module; [
+
+<!ENTITY % mediaobject.module "INCLUDE">
+<![ %mediaobject.module; [
+<!ENTITY % local.mediaobject.attrib "">
+<!ENTITY % mediaobject.role.attrib "%role.attrib;">
+
+<!ENTITY % mediaobject.element "INCLUDE">
+<![ %mediaobject.element; [
+<!ELEMENT mediaobject (objectinfo?,
+ (%mediaobject.mix;),
+ (%mediaobject.mix;|textobject)*,
+ caption?)>
+<!--end of mediaobject.element-->]]>
+
+<!ENTITY % mediaobject.attlist "INCLUDE">
+<![ %mediaobject.attlist; [
+<!ATTLIST mediaobject
+ %common.attrib;
+ %mediaobject.role.attrib;
+ %local.mediaobject.attrib;
+>
+<!--end of mediaobject.attlist-->]]>
+<!--end of mediaobject.module-->]]>
+
+<!ENTITY % inlinemediaobject.module "INCLUDE">
+<![ %inlinemediaobject.module; [
+<!ENTITY % local.inlinemediaobject.attrib "">
+<!ENTITY % inlinemediaobject.role.attrib "%role.attrib;">
+
+<!ENTITY % inlinemediaobject.element "INCLUDE">
+<![ %inlinemediaobject.element; [
+<!ELEMENT inlinemediaobject (objectinfo?,
+ (%mediaobject.mix;),
+ (%mediaobject.mix;|textobject)*)>
+<!--end of inlinemediaobject.element-->]]>
+
+<!ENTITY % inlinemediaobject.attlist "INCLUDE">
+<![ %inlinemediaobject.attlist; [
+<!ATTLIST inlinemediaobject
+ %common.attrib;
+ %inlinemediaobject.role.attrib;
+ %local.inlinemediaobject.attrib;
+>
+<!--end of inlinemediaobject.attlist-->]]>
+<!--end of inlinemediaobject.module-->]]>
+
+<!ENTITY % videoobject.module "INCLUDE">
+<![ %videoobject.module; [
+<!ENTITY % local.videoobject.attrib "">
+<!ENTITY % videoobject.role.attrib "%role.attrib;">
+
+<!ENTITY % videoobject.element "INCLUDE">
+<![ %videoobject.element; [
+<!ELEMENT videoobject (objectinfo?, videodata)>
+<!--end of videoobject.element-->]]>
+
+<!ENTITY % videoobject.attlist "INCLUDE">
+<![ %videoobject.attlist; [
+<!ATTLIST videoobject
+ %common.attrib;
+ %videoobject.role.attrib;
+ %local.videoobject.attrib;
+>
+<!--end of videoobject.attlist-->]]>
+<!--end of videoobject.module-->]]>
+
+<!ENTITY % audioobject.module "INCLUDE">
+<![ %audioobject.module; [
+<!ENTITY % local.audioobject.attrib "">
+<!ENTITY % audioobject.role.attrib "%role.attrib;">
+
+<!ENTITY % audioobject.element "INCLUDE">
+<![ %audioobject.element; [
+<!ELEMENT audioobject (objectinfo?, audiodata)>
+<!--end of audioobject.element-->]]>
+
+<!ENTITY % audioobject.attlist "INCLUDE">
+<![ %audioobject.attlist; [
+<!ATTLIST audioobject
+ %common.attrib;
+ %audioobject.role.attrib;
+ %local.audioobject.attrib;
+>
+<!--end of audioobject.attlist-->]]>
+<!--end of audioobject.module-->]]>
+
+<!ENTITY % imageobject.module "INCLUDE">
+<![ %imageobject.module; [
+<!ENTITY % local.imageobject.attrib "">
+<!ENTITY % imageobject.role.attrib "%role.attrib;">
+
+<!ENTITY % imageobject.element "INCLUDE">
+<![ %imageobject.element; [
+<!ELEMENT imageobject (objectinfo?, imagedata)>
+<!--end of imageobject.element-->]]>
+
+<!ENTITY % imageobject.attlist "INCLUDE">
+<![ %imageobject.attlist; [
+<!ATTLIST imageobject
+ %common.attrib;
+ %imageobject.role.attrib;
+ %local.imageobject.attrib;
+>
+<!--end of imageobject.attlist-->]]>
+<!--end of imageobject.module-->]]>
+
+<!ENTITY % textobject.module "INCLUDE">
+<![ %textobject.module; [
+<!ENTITY % local.textobject.attrib "">
+<!ENTITY % textobject.role.attrib "%role.attrib;">
+
+<!ENTITY % textobject.element "INCLUDE">
+<![ %textobject.element; [
+<!ELEMENT textobject (objectinfo?, (phrase|(%textobject.mix;)+))>
+<!--end of textobject.element-->]]>
+
+<!ENTITY % textobject.attlist "INCLUDE">
+<![ %textobject.attlist; [
+<!ATTLIST textobject
+ %common.attrib;
+ %textobject.role.attrib;
+ %local.textobject.attrib;
+>
+<!--end of textobject.attlist-->]]>
+<!--end of textobject.module-->]]>
+
+<!ENTITY % objectinfo.module "INCLUDE">
+<![ %objectinfo.module; [
+<!ENTITY % local.objectinfo.attrib "">
+<!ENTITY % objectinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % objectinfo.element "INCLUDE">
+<![ %objectinfo.element; [
+<!ELEMENT objectinfo ((graphic | mediaobject | legalnotice | modespec
+ | subjectset | keywordset | itermset | %bibliocomponent.mix;)+)>
+<!--end of objectinfo.element-->]]>
+
+<!ENTITY % objectinfo.attlist "INCLUDE">
+<![ %objectinfo.attlist; [
+<!ATTLIST objectinfo
+ %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-->
+<!ENTITY % local.objectdata.attrib "">
+<!ENTITY % objectdata.attrib
+ "
+ entityref ENTITY #IMPLIED
+ fileref CDATA #IMPLIED
+ format (%notation.class;)
+ #IMPLIED
+ srccredit CDATA #IMPLIED
+ %local.objectdata.attrib;"
+>
+
+<!ENTITY % videodata.module "INCLUDE">
+<![ %videodata.module; [
+<!ENTITY % local.videodata.attrib "">
+<!ENTITY % videodata.role.attrib "%role.attrib;">
+
+<!ENTITY % videodata.element "INCLUDE">
+<![ %videodata.element; [
+<!ELEMENT videodata EMPTY>
+<!--end of videodata.element-->]]>
+
+<!ENTITY % videodata.attlist "INCLUDE">
+<![ %videodata.attlist; [
+
+<!--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-->
+<!ATTLIST videodata
+ %common.attrib;
+ %objectdata.attrib;
+ width CDATA #IMPLIED
+ depth CDATA #IMPLIED
+ align (left
+ |right
+ |center) #IMPLIED
+ scale CDATA #IMPLIED
+ scalefit %yesorno.attvals;
+ #IMPLIED
+ %videodata.role.attrib;
+ %local.videodata.attrib;
+>
+<!--end of videodata.attlist-->]]>
+<!--end of videodata.module-->]]>
+
+<!ENTITY % audiodata.module "INCLUDE">
+<![ %audiodata.module; [
+<!ENTITY % local.audiodata.attrib "">
+<!ENTITY % audiodata.role.attrib "%role.attrib;">
+
+<!ENTITY % audiodata.element "INCLUDE">
+<![ %audiodata.element; [
+<!ELEMENT audiodata EMPTY>
+<!--end of audiodata.element-->]]>
+
+<!ENTITY % audiodata.attlist "INCLUDE">
+<![ %audiodata.attlist; [
+<!ATTLIST audiodata
+ %common.attrib;
+ %objectdata.attrib;
+ %local.audiodata.attrib;
+ %audiodata.role.attrib;
+>
+<!--end of audiodata.attlist-->]]>
+<!--end of audiodata.module-->]]>
+
+<!ENTITY % imagedata.module "INCLUDE">
+<![ %imagedata.module; [
+<!ENTITY % local.imagedata.attrib "">
+<!ENTITY % imagedata.role.attrib "%role.attrib;">
+
+<!ENTITY % imagedata.element "INCLUDE">
+<![ %imagedata.element; [
+<!ELEMENT imagedata EMPTY>
+<!--end of imagedata.element-->]]>
+
+<!ENTITY % imagedata.attlist "INCLUDE">
+<![ %imagedata.attlist; [
+
+<!--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-->
+<!ATTLIST imagedata
+ %common.attrib;
+ %objectdata.attrib;
+ width CDATA #IMPLIED
+ depth CDATA #IMPLIED
+ align (left
+ |right
+ |center) #IMPLIED
+ scale CDATA #IMPLIED
+ scalefit %yesorno.attvals;
+ #IMPLIED
+ %local.imagedata.attrib;
+ %imagedata.role.attrib;
+>
+<!--end of imagedata.attlist-->]]>
+<!--end of imagedata.module-->]]>
+
+<!ENTITY % caption.module "INCLUDE">
+<![ %caption.module; [
+<!ENTITY % local.caption.attrib "">
+<!ENTITY % caption.role.attrib "%role.attrib;">
+
+<!ENTITY % caption.element "INCLUDE">
+<![ %caption.element; [
+<!ELEMENT caption (%textobject.mix;)*>
+<!--end of caption.element-->]]>
+
+<!ENTITY % caption.attlist "INCLUDE">
+<![ %caption.attlist; [
+<!ATTLIST caption
+ %common.attrib;
+ %local.caption.attrib;
+ %caption.role.attrib;
+>
+<!--end of caption.attlist-->]]>
+<!--end of caption.module-->]]>
+
+<!ENTITY % mediaobjectco.module "INCLUDE">
+<![ %mediaobjectco.module; [
+<!ENTITY % local.mediaobjectco.attrib "">
+<!ENTITY % mediaobjectco.role.attrib "%role.attrib;">
+
+<!ENTITY % mediaobjectco.element "INCLUDE">
+<![ %mediaobjectco.element; [
+<!ELEMENT mediaobjectco (objectinfo?, imageobjectco,
+ (imageobjectco|textobject)*)>
+<!--end of mediaobjectco.element-->]]>
+
+<!ENTITY % mediaobjectco.attlist "INCLUDE">
+<![ %mediaobjectco.attlist; [
+<!ATTLIST mediaobjectco
+ %common.attrib;
+ %mediaobjectco.role.attrib;
+ %local.mediaobjectco.attrib;
+>
+<!--end of mediaobjectco.attlist-->]]>
+<!--end of mediaobjectco.module-->]]>
+
+<!ENTITY % imageobjectco.module "INCLUDE">
+<![ %imageobjectco.module; [
+<!ENTITY % local.imageobjectco.attrib "">
+<!ENTITY % imageobjectco.role.attrib "%role.attrib;">
+
+<!ENTITY % imageobjectco.element "INCLUDE">
+<![ %imageobjectco.element; [
+<!ELEMENT imageobjectco (areaspec, imageobject, calloutlist*)>
+<!--end of imageobjectco.element-->]]>
+
+<!ENTITY % imageobjectco.attlist "INCLUDE">
+<![ %imageobjectco.attlist; [
+<!ATTLIST imageobjectco
+ %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) -->
+<!ENTITY % equation.content "(alt?, (graphic+|mediaobject+))">
+<!ENTITY % inlineequation.content "(alt?, (graphic+|inlinemediaobject+))">
+
+<!ENTITY % equation.module "INCLUDE">
+<![%equation.module;[
+<!ENTITY % local.equation.attrib "">
+<!ENTITY % equation.role.attrib "%role.attrib;">
+
+<!ENTITY % equation.element "INCLUDE">
+<![%equation.element;[
+<!ELEMENT equation ((%formalobject.title.content;)?, (informalequation |
+ %equation.content;))>
+<!--end of equation.element-->]]>
+
+<!ENTITY % equation.attlist "INCLUDE">
+<![%equation.attlist;[
+<!ATTLIST equation
+ %label.attrib;
+ %common.attrib;
+ %equation.role.attrib;
+ %local.equation.attrib;
+>
+<!--end of equation.attlist-->]]>
+<!--end of equation.module-->]]>
+
+<!ENTITY % informalequation.module "INCLUDE">
+<![%informalequation.module;[
+<!ENTITY % local.informalequation.attrib "">
+<!ENTITY % informalequation.role.attrib "%role.attrib;">
+
+<!ENTITY % informalequation.element "INCLUDE">
+<![%informalequation.element;[
+<!ELEMENT informalequation (%equation.content;) >
+<!--end of informalequation.element-->]]>
+
+<!ENTITY % informalequation.attlist "INCLUDE">
+<![%informalequation.attlist;[
+<!ATTLIST informalequation
+ %common.attrib;
+ %informalequation.role.attrib;
+ %local.informalequation.attrib;
+>
+<!--end of informalequation.attlist-->]]>
+<!--end of informalequation.module-->]]>
+
+<!ENTITY % inlineequation.module "INCLUDE">
+<![%inlineequation.module;[
+<!ENTITY % local.inlineequation.attrib "">
+<!ENTITY % inlineequation.role.attrib "%role.attrib;">
+
+<!ENTITY % inlineequation.element "INCLUDE">
+<![%inlineequation.element;[
+<!ELEMENT inlineequation (%inlineequation.content;)>
+<!--end of inlineequation.element-->]]>
+
+<!ENTITY % inlineequation.attlist "INCLUDE">
+<![%inlineequation.attlist;[
+<!ATTLIST inlineequation
+ %common.attrib;
+ %inlineequation.role.attrib;
+ %local.inlineequation.attrib;
+>
+<!--end of inlineequation.attlist-->]]>
+<!--end of inlineequation.module-->]]>
+
+<!ENTITY % alt.module "INCLUDE">
+<![%alt.module;[
+<!ENTITY % local.alt.attrib "">
+<!ENTITY % alt.role.attrib "%role.attrib;">
+
+<!ENTITY % alt.element "INCLUDE">
+<![%alt.element;[
+<!ELEMENT alt (#PCDATA)>
+<!--end of alt.element-->]]>
+
+<!ENTITY % alt.attlist "INCLUDE">
+<![%alt.attlist;[
+<!ATTLIST alt
+ %common.attrib;
+ %alt.role.attrib;
+ %local.alt.attrib;
+>
+<!--end of alt.attlist-->]]>
+<!--end of alt.module-->]]>
+
+<!-- Tables ........................... -->
+
+<!ENTITY % table.module "INCLUDE">
+<![%table.module;[
+
+<!-- Choose a table model. CALS or OASIS XML Exchange -->
+
+<!ENTITY % cals.table.module "INCLUDE">
+<![%cals.table.module;[
+<!ENTITY % exchange.table.module "IGNORE">
+]]>
+<!ENTITY % exchange.table.module "INCLUDE">
+
+<!ENTITY % tables.role.attrib "%role.attrib;">
+
+<![%cals.table.module;[
+<!-- Add label and role attributes to table and informaltable -->
+<!ENTITY % bodyatt "%label.attrib;">
+
+<!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
+ EntryTbl, and Entry (and InformalTable element). -->
+<!ENTITY % secur
+ "%common.attrib;
+ %tables.role.attrib;">
+
+<!ENTITY % common.table.attribs
+ "%bodyatt;
+ %secur;">
+
+<!-- Content model for Table. -->
+<!ENTITY % tbl.table.mdl
+ "((%formalobject.title.content;), (%ndxterm.class;)*,
+ (graphic+|mediaobject+|tgroup+))">
+
+<!-- Allow either objects or inlines; beware of REs between elements. -->
+<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
+
+<!-- Reference CALS Table Model -->
+<!ENTITY % tablemodel
+ PUBLIC "-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN"
+ "calstblx.dtd">
+]]>
+
+<![%exchange.table.module;[
+<!-- Add common attributes and the Label attribute to Table and -->
+<!-- InformalTable. -->
+<!ENTITY % bodyatt
+ "%common.attrib;
+ %label.attrib;
+ %tables.role.attrib;">
+
+<!ENTITY % common.table.attribs
+ "%bodyatt;">
+
+<!-- Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry -->
+
+<!ENTITY % tbl.tgroup.att "%common.attrib;">
+<!ENTITY % tbl.colspec.att "%common.attrib;">
+<!ENTITY % tbl.tbody.att "%common.attrib;">
+<!ENTITY % tbl.thead.att "%common.attrib;">
+<!ENTITY % tbl.row.att "%common.attrib;">
+<!ENTITY % tbl.entry.att "%common.attrib;">
+
+<!-- Content model for Table. -->
+<!ENTITY % tbl.table.mdl
+ "((%formalobject.title.content;),
+ (%ndxterm.class;)*,
+ (graphic+|tgroup+))">
+
+<!-- Allow either objects or inlines; beware of REs between elements. -->
+<!ENTITY % tbl.entry.mdl "(%para.char.mix; | %tabentry.mix;)*">
+
+<!-- Reference OASIS Exchange Table Model -->
+<!ENTITY % tablemodel
+ PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+ "soextblx.dtd">
+]]>
+
+%tablemodel;
+
+<!--end of table.module-->]]>
+
+<!ENTITY % informaltable.module "INCLUDE">
+<![%informaltable.module;[
+
+<!-- Note that InformalTable is dependent on some of the entity
+ declarations that customize Table. -->
+
+<!ENTITY % local.informaltable.attrib "">
+
+<!ENTITY % informaltable.element "INCLUDE">
+<![%informaltable.element;[
+<!ELEMENT informaltable (graphic+|mediaobject+|tgroup+)>
+<!--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 -->
+
+
+<!ENTITY % informaltable.attlist "INCLUDE">
+<![%informaltable.attlist;[
+<!ATTLIST informaltable
+ frame (top
+ |bottom
+ |topbot
+ |all
+ |sides
+ |none) #IMPLIED
+ colsep %yesorno.attvals; #IMPLIED
+ rowsep %yesorno.attvals; #IMPLIED
+ %common.table.attribs;
+ %tbl.table.att;
+ %local.informaltable.attrib;
+>
+<!--end of informaltable.attlist-->]]>
+<!--end of informaltable.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Synopses ............................................................. -->
+
+<!-- Synopsis ......................... -->
+
+<!ENTITY % synopsis.module "INCLUDE">
+<![%synopsis.module;[
+<!ENTITY % local.synopsis.attrib "">
+<!ENTITY % synopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % synopsis.element "INCLUDE">
+<![%synopsis.element;[
+<!ELEMENT synopsis (%para.char.mix; | graphic | mediaobject | lineannotation | co)*>
+<!--end of synopsis.element-->]]>
+
+<!ENTITY % synopsis.attlist "INCLUDE">
+<![%synopsis.attlist;[
+<!ATTLIST synopsis
+ %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 ...................... -->
+
+<!ENTITY % cmdsynopsis.content.module "INCLUDE">
+<![%cmdsynopsis.content.module;[
+<!ENTITY % cmdsynopsis.module "INCLUDE">
+<![%cmdsynopsis.module;[
+<!ENTITY % local.cmdsynopsis.attrib "">
+<!ENTITY % cmdsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % cmdsynopsis.element "INCLUDE">
+<![%cmdsynopsis.element;[
+<!ELEMENT cmdsynopsis ((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., Δ -->
+
+
+<!ENTITY % cmdsynopsis.attlist "INCLUDE">
+<![%cmdsynopsis.attlist;[
+<!ATTLIST cmdsynopsis
+ %label.attrib;
+ sepchar CDATA " "
+ cmdlength CDATA #IMPLIED
+ %common.attrib;
+ %cmdsynopsis.role.attrib;
+ %local.cmdsynopsis.attrib;
+>
+<!--end of cmdsynopsis.attlist-->]]>
+<!--end of cmdsynopsis.module-->]]>
+
+<!ENTITY % arg.module "INCLUDE">
+<![%arg.module;[
+<!ENTITY % local.arg.attrib "">
+<!ENTITY % arg.role.attrib "%role.attrib;">
+
+<!ENTITY % arg.element "INCLUDE">
+<![%arg.element;[
+<!ELEMENT arg (#PCDATA
+ | 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...) -->
+
+
+<!ENTITY % arg.attlist "INCLUDE">
+<![%arg.attlist;[
+<!ATTLIST arg
+ choice (opt
+ |req
+ |plain) 'opt'
+ rep (norepeat
+ |repeat) 'norepeat'
+ %common.attrib;
+ %arg.role.attrib;
+ %local.arg.attrib;
+>
+<!--end of arg.attlist-->]]>
+<!--end of arg.module-->]]>
+
+<!ENTITY % group.module "INCLUDE">
+<![%group.module;[
+
+<!ENTITY % local.group.attrib "">
+<!ENTITY % group.role.attrib "%role.attrib;">
+
+<!ENTITY % group.element "INCLUDE">
+<![%group.element;[
+<!ELEMENT group ((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...) -->
+
+
+<!ENTITY % group.attlist "INCLUDE">
+<![%group.attlist;[
+<!ATTLIST group
+ choice (opt
+ |req
+ |plain) 'opt'
+ rep (norepeat
+ |repeat) 'norepeat'
+ %common.attrib;
+ %group.role.attrib;
+ %local.group.attrib;
+>
+<!--end of group.attlist-->]]>
+<!--end of group.module-->]]>
+
+<!ENTITY % sbr.module "INCLUDE">
+<![%sbr.module;[
+<!ENTITY % local.sbr.attrib "">
+<!-- Synopsis break -->
+<!ENTITY % sbr.role.attrib "%role.attrib;">
+
+<!ENTITY % sbr.element "INCLUDE">
+<![%sbr.element;[
+<!ELEMENT sbr EMPTY>
+<!--end of sbr.element-->]]>
+
+<!ENTITY % sbr.attlist "INCLUDE">
+<![%sbr.attlist;[
+<!ATTLIST sbr
+ %common.attrib;
+ %sbr.role.attrib;
+ %local.sbr.attrib;
+>
+<!--end of sbr.attlist-->]]>
+<!--end of sbr.module-->]]>
+
+<!ENTITY % synopfragmentref.module "INCLUDE">
+<![%synopfragmentref.module;[
+<!ENTITY % local.synopfragmentref.attrib "">
+<!ENTITY % synopfragmentref.role.attrib "%role.attrib;">
+
+<!ENTITY % synopfragmentref.element "INCLUDE">
+<![%synopfragmentref.element;[
+<!ELEMENT synopfragmentref (#PCDATA)>
+<!--end of synopfragmentref.element-->]]>
+
+<!-- to SynopFragment of complex synopsis
+ material for separate referencing -->
+
+
+<!ENTITY % synopfragmentref.attlist "INCLUDE">
+<![%synopfragmentref.attlist;[
+<!ATTLIST synopfragmentref
+ %linkendreq.attrib; %common.attrib;
+ %synopfragmentref.role.attrib;
+ %local.synopfragmentref.attrib;
+>
+<!--end of synopfragmentref.attlist-->]]>
+<!--end of synopfragmentref.module-->]]>
+
+<!ENTITY % synopfragment.module "INCLUDE">
+<![%synopfragment.module;[
+<!ENTITY % local.synopfragment.attrib "">
+<!ENTITY % synopfragment.role.attrib "%role.attrib;">
+
+<!ENTITY % synopfragment.element "INCLUDE">
+<![%synopfragment.element;[
+<!ELEMENT synopfragment ((arg | group)+)>
+<!--end of synopfragment.element-->]]>
+
+<!ENTITY % synopfragment.attlist "INCLUDE">
+<![%synopfragment.attlist;[
+<!ATTLIST synopfragment
+ %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 ..................... -->
+
+<!ENTITY % funcsynopsis.content.module "INCLUDE">
+<![%funcsynopsis.content.module;[
+<!ENTITY % funcsynopsis.module "INCLUDE">
+<![%funcsynopsis.module;[
+
+<!ENTITY % local.funcsynopsis.attrib "">
+<!ENTITY % funcsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % funcsynopsis.element "INCLUDE">
+<![%funcsynopsis.element;[
+<!ELEMENT funcsynopsis ((funcsynopsisinfo | funcprototype)+)>
+<!--end of funcsynopsis.element-->]]>
+
+<!ENTITY % funcsynopsis.attlist "INCLUDE">
+<![%funcsynopsis.attlist;[
+<!ATTLIST funcsynopsis
+ %label.attrib;
+ %common.attrib;
+ %funcsynopsis.role.attrib;
+ %local.funcsynopsis.attrib;
+>
+<!--end of funcsynopsis.attlist-->]]>
+<!--end of funcsynopsis.module-->]]>
+
+<!ENTITY % funcsynopsisinfo.module "INCLUDE">
+<![%funcsynopsisinfo.module;[
+<!ENTITY % local.funcsynopsisinfo.attrib "">
+<!ENTITY % funcsynopsisinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % funcsynopsisinfo.element "INCLUDE">
+<![%funcsynopsisinfo.element;[
+<!ELEMENT funcsynopsisinfo (%cptr.char.mix; | lineannotation)*>
+<!--end of funcsynopsisinfo.element-->]]>
+
+<!ENTITY % funcsynopsisinfo.attlist "INCLUDE">
+<![%funcsynopsisinfo.attlist;[
+<!ATTLIST funcsynopsisinfo
+ %linespecific.attrib;
+ %common.attrib;
+ %funcsynopsisinfo.role.attrib;
+ %local.funcsynopsisinfo.attrib;
+>
+<!--end of funcsynopsisinfo.attlist-->]]>
+<!--end of funcsynopsisinfo.module-->]]>
+
+<!ENTITY % funcprototype.module "INCLUDE">
+<![%funcprototype.module;[
+<!ENTITY % local.funcprototype.attrib "">
+<!ENTITY % funcprototype.role.attrib "%role.attrib;">
+
+<!ENTITY % funcprototype.element "INCLUDE">
+<![%funcprototype.element;[
+<!ELEMENT funcprototype (funcdef, (void | varargs | paramdef+))>
+<!--end of funcprototype.element-->]]>
+
+<!ENTITY % funcprototype.attlist "INCLUDE">
+<![%funcprototype.attlist;[
+<!ATTLIST funcprototype
+ %common.attrib;
+ %funcprototype.role.attrib;
+ %local.funcprototype.attrib;
+>
+<!--end of funcprototype.attlist-->]]>
+<!--end of funcprototype.module-->]]>
+
+<!ENTITY % funcdef.module "INCLUDE">
+<![%funcdef.module;[
+<!ENTITY % local.funcdef.attrib "">
+<!ENTITY % funcdef.role.attrib "%role.attrib;">
+
+<!ENTITY % funcdef.element "INCLUDE">
+<![%funcdef.element;[
+<!ELEMENT funcdef (#PCDATA
+ | replaceable
+ | function)*>
+<!--end of funcdef.element-->]]>
+
+<!ENTITY % funcdef.attlist "INCLUDE">
+<![%funcdef.attlist;[
+<!ATTLIST funcdef
+ %common.attrib;
+ %funcdef.role.attrib;
+ %local.funcdef.attrib;
+>
+<!--end of funcdef.attlist-->]]>
+<!--end of funcdef.module-->]]>
+
+<!ENTITY % void.module "INCLUDE">
+<![%void.module;[
+<!ENTITY % local.void.attrib "">
+<!ENTITY % void.role.attrib "%role.attrib;">
+
+<!ENTITY % void.element "INCLUDE">
+<![%void.element;[
+<!ELEMENT void EMPTY>
+<!--end of void.element-->]]>
+
+<!ENTITY % void.attlist "INCLUDE">
+<![%void.attlist;[
+<!ATTLIST void
+ %common.attrib;
+ %void.role.attrib;
+ %local.void.attrib;
+>
+<!--end of void.attlist-->]]>
+<!--end of void.module-->]]>
+
+<!ENTITY % varargs.module "INCLUDE">
+<![%varargs.module;[
+<!ENTITY % local.varargs.attrib "">
+<!ENTITY % varargs.role.attrib "%role.attrib;">
+
+<!ENTITY % varargs.element "INCLUDE">
+<![%varargs.element;[
+<!ELEMENT varargs EMPTY>
+<!--end of varargs.element-->]]>
+
+<!ENTITY % varargs.attlist "INCLUDE">
+<![%varargs.attlist;[
+<!ATTLIST varargs
+ %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. -->
+
+<!ENTITY % paramdef.module "INCLUDE">
+<![%paramdef.module;[
+<!ENTITY % local.paramdef.attrib "">
+<!ENTITY % paramdef.role.attrib "%role.attrib;">
+
+<!ENTITY % paramdef.element "INCLUDE">
+<![%paramdef.element;[
+<!ELEMENT paramdef (#PCDATA
+ | replaceable
+ | parameter
+ | funcparams)*>
+<!--end of paramdef.element-->]]>
+
+<!ENTITY % paramdef.attlist "INCLUDE">
+<![%paramdef.attlist;[
+<!ATTLIST paramdef
+ %common.attrib;
+ %paramdef.role.attrib;
+ %local.paramdef.attrib;
+>
+<!--end of paramdef.attlist-->]]>
+<!--end of paramdef.module-->]]>
+
+<!ENTITY % funcparams.module "INCLUDE">
+<![%funcparams.module;[
+<!ENTITY % local.funcparams.attrib "">
+<!ENTITY % funcparams.role.attrib "%role.attrib;">
+
+<!ENTITY % funcparams.element "INCLUDE">
+<![%funcparams.element;[
+<!ELEMENT funcparams (%cptr.char.mix;)*>
+<!--end of funcparams.element-->]]>
+
+<!ENTITY % funcparams.attlist "INCLUDE">
+<![%funcparams.attlist;[
+<!ATTLIST funcparams
+ %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 ..................... -->
+
+<!ENTITY % classsynopsis.content.module "INCLUDE">
+<![%classsynopsis.content.module;[
+
+<!ENTITY % classsynopsis.module "INCLUDE">
+<![%classsynopsis.module;[
+<!ENTITY % local.classsynopsis.attrib "">
+<!ENTITY % classsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % classsynopsis.element "INCLUDE">
+<![%classsynopsis.element;[
+<!ELEMENT classsynopsis ((ooclass|oointerface|ooexception)+,
+ (classsynopsisinfo
+ |fieldsynopsis|%method.synop.class;)*)>
+<!--end of classsynopsis.element-->]]>
+
+<!ENTITY % classsynopsis.attlist "INCLUDE">
+<![%classsynopsis.attlist;[
+<!ATTLIST classsynopsis
+ %common.attrib;
+ %classsynopsis.role.attrib;
+ %local.classsynopsis.attrib;
+ language CDATA #IMPLIED
+ class (class|interface) "class"
+>
+<!--end of classsynopsis.attlist-->]]>
+<!--end of classsynopsis.module-->]]>
+
+<!ENTITY % classsynopsisinfo.module "INCLUDE">
+<![ %classsynopsisinfo.module; [
+<!ENTITY % local.classsynopsisinfo.attrib "">
+<!ENTITY % classsynopsisinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % classsynopsisinfo.element "INCLUDE">
+<![ %classsynopsisinfo.element; [
+<!ELEMENT classsynopsisinfo (%cptr.char.mix; | lineannotation)*>
+<!--end of classsynopsisinfo.element-->]]>
+
+<!ENTITY % classsynopsisinfo.attlist "INCLUDE">
+<![ %classsynopsisinfo.attlist; [
+<!ATTLIST classsynopsisinfo
+ %linespecific.attrib;
+ %common.attrib;
+ %classsynopsisinfo.role.attrib;
+ %local.classsynopsisinfo.attrib;
+>
+<!--end of classsynopsisinfo.attlist-->]]>
+<!--end of classsynopsisinfo.module-->]]>
+
+<!ENTITY % ooclass.module "INCLUDE">
+<![%ooclass.module;[
+<!ENTITY % local.ooclass.attrib "">
+<!ENTITY % ooclass.role.attrib "%role.attrib;">
+
+<!ENTITY % ooclass.element "INCLUDE">
+<![%ooclass.element;[
+<!ELEMENT ooclass (modifier*, classname)>
+<!--end of ooclass.element-->]]>
+
+<!ENTITY % ooclass.attlist "INCLUDE">
+<![%ooclass.attlist;[
+<!ATTLIST ooclass
+ %common.attrib;
+ %ooclass.role.attrib;
+ %local.ooclass.attrib;
+>
+<!--end of ooclass.attlist-->]]>
+<!--end of ooclass.module-->]]>
+
+<!ENTITY % oointerface.module "INCLUDE">
+<![%oointerface.module;[
+<!ENTITY % local.oointerface.attrib "">
+<!ENTITY % oointerface.role.attrib "%role.attrib;">
+
+<!ENTITY % oointerface.element "INCLUDE">
+<![%oointerface.element;[
+<!ELEMENT oointerface (modifier*, interfacename)>
+<!--end of oointerface.element-->]]>
+
+<!ENTITY % oointerface.attlist "INCLUDE">
+<![%oointerface.attlist;[
+<!ATTLIST oointerface
+ %common.attrib;
+ %oointerface.role.attrib;
+ %local.oointerface.attrib;
+>
+<!--end of oointerface.attlist-->]]>
+<!--end of oointerface.module-->]]>
+
+<!ENTITY % ooexception.module "INCLUDE">
+<![%ooexception.module;[
+<!ENTITY % local.ooexception.attrib "">
+<!ENTITY % ooexception.role.attrib "%role.attrib;">
+
+<!ENTITY % ooexception.element "INCLUDE">
+<![%ooexception.element;[
+<!ELEMENT ooexception (modifier*, exceptionname)>
+<!--end of ooexception.element-->]]>
+
+<!ENTITY % ooexception.attlist "INCLUDE">
+<![%ooexception.attlist;[
+<!ATTLIST ooexception
+ %common.attrib;
+ %ooexception.role.attrib;
+ %local.ooexception.attrib;
+>
+<!--end of ooexception.attlist-->]]>
+<!--end of ooexception.module-->]]>
+
+<!ENTITY % modifier.module "INCLUDE">
+<![%modifier.module;[
+<!ENTITY % local.modifier.attrib "">
+<!ENTITY % modifier.role.attrib "%role.attrib;">
+
+<!ENTITY % modifier.element "INCLUDE">
+<![%modifier.element;[
+<!ELEMENT modifier (%smallcptr.char.mix;)*>
+<!--end of modifier.element-->]]>
+
+<!ENTITY % modifier.attlist "INCLUDE">
+<![%modifier.attlist;[
+<!ATTLIST modifier
+ %common.attrib;
+ %modifier.role.attrib;
+ %local.modifier.attrib;
+>
+<!--end of modifier.attlist-->]]>
+<!--end of modifier.module-->]]>
+
+<!ENTITY % interfacename.module "INCLUDE">
+<![%interfacename.module;[
+<!ENTITY % local.interfacename.attrib "">
+<!ENTITY % interfacename.role.attrib "%role.attrib;">
+
+<!ENTITY % interfacename.element "INCLUDE">
+<![%interfacename.element;[
+<!ELEMENT interfacename (%smallcptr.char.mix;)*>
+<!--end of interfacename.element-->]]>
+
+<!ENTITY % interfacename.attlist "INCLUDE">
+<![%interfacename.attlist;[
+<!ATTLIST interfacename
+ %common.attrib;
+ %interfacename.role.attrib;
+ %local.interfacename.attrib;
+>
+<!--end of interfacename.attlist-->]]>
+<!--end of interfacename.module-->]]>
+
+<!ENTITY % exceptionname.module "INCLUDE">
+<![%exceptionname.module;[
+<!ENTITY % local.exceptionname.attrib "">
+<!ENTITY % exceptionname.role.attrib "%role.attrib;">
+
+<!ENTITY % exceptionname.element "INCLUDE">
+<![%exceptionname.element;[
+<!ELEMENT exceptionname (%smallcptr.char.mix;)*>
+<!--end of exceptionname.element-->]]>
+
+<!ENTITY % exceptionname.attlist "INCLUDE">
+<![%exceptionname.attlist;[
+<!ATTLIST exceptionname
+ %common.attrib;
+ %exceptionname.role.attrib;
+ %local.exceptionname.attrib;
+>
+<!--end of exceptionname.attlist-->]]>
+<!--end of exceptionname.module-->]]>
+
+<!ENTITY % fieldsynopsis.module "INCLUDE">
+<![%fieldsynopsis.module;[
+<!ENTITY % local.fieldsynopsis.attrib "">
+<!ENTITY % fieldsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % fieldsynopsis.element "INCLUDE">
+<![%fieldsynopsis.element;[
+<!ELEMENT fieldsynopsis (modifier*, type?, varname, initializer?)>
+<!--end of fieldsynopsis.element-->]]>
+
+<!ENTITY % fieldsynopsis.attlist "INCLUDE">
+<![%fieldsynopsis.attlist;[
+<!ATTLIST fieldsynopsis
+ %common.attrib;
+ %fieldsynopsis.role.attrib;
+ %local.fieldsynopsis.attrib;
+>
+<!--end of fieldsynopsis.attlist-->]]>
+<!--end of fieldsynopsis.module-->]]>
+
+<!ENTITY % initializer.module "INCLUDE">
+<![%initializer.module;[
+<!ENTITY % local.initializer.attrib "">
+<!ENTITY % initializer.role.attrib "%role.attrib;">
+
+<!ENTITY % initializer.element "INCLUDE">
+<![%initializer.element;[
+<!ELEMENT initializer (%smallcptr.char.mix;)*>
+<!--end of initializer.element-->]]>
+
+<!ENTITY % initializer.attlist "INCLUDE">
+<![%initializer.attlist;[
+<!ATTLIST initializer
+ %common.attrib;
+ %initializer.role.attrib;
+ %local.initializer.attrib;
+>
+<!--end of initializer.attlist-->]]>
+<!--end of initializer.module-->]]>
+
+<!ENTITY % constructorsynopsis.module "INCLUDE">
+<![%constructorsynopsis.module;[
+<!ENTITY % local.constructorsynopsis.attrib "">
+<!ENTITY % constructorsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % constructorsynopsis.element "INCLUDE">
+<![%constructorsynopsis.element;[
+<!ELEMENT constructorsynopsis (modifier*,
+ methodname?,
+ (methodparam+|void),
+ exceptionname*)>
+<!--end of constructorsynopsis.element-->]]>
+
+<!ENTITY % constructorsynopsis.attlist "INCLUDE">
+<![%constructorsynopsis.attlist;[
+<!ATTLIST constructorsynopsis
+ %common.attrib;
+ %constructorsynopsis.role.attrib;
+ %local.constructorsynopsis.attrib;
+>
+<!--end of constructorsynopsis.attlist-->]]>
+<!--end of constructorsynopsis.module-->]]>
+
+<!ENTITY % destructorsynopsis.module "INCLUDE">
+<![%destructorsynopsis.module;[
+<!ENTITY % local.destructorsynopsis.attrib "">
+<!ENTITY % destructorsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % destructorsynopsis.element "INCLUDE">
+<![%destructorsynopsis.element;[
+<!ELEMENT destructorsynopsis (modifier*,
+ methodname?,
+ (methodparam+|void),
+ exceptionname*)>
+<!--end of destructorsynopsis.element-->]]>
+
+<!ENTITY % destructorsynopsis.attlist "INCLUDE">
+<![%destructorsynopsis.attlist;[
+<!ATTLIST destructorsynopsis
+ %common.attrib;
+ %destructorsynopsis.role.attrib;
+ %local.destructorsynopsis.attrib;
+>
+<!--end of destructorsynopsis.attlist-->]]>
+<!--end of destructorsynopsis.module-->]]>
+
+<!ENTITY % methodsynopsis.module "INCLUDE">
+<![%methodsynopsis.module;[
+<!ENTITY % local.methodsynopsis.attrib "">
+<!ENTITY % methodsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % methodsynopsis.element "INCLUDE">
+<![%methodsynopsis.element;[
+<!ELEMENT methodsynopsis (modifier*,
+ (type|void)?,
+ methodname,
+ (methodparam+|void),
+ exceptionname*,
+ modifier*)>
+<!--end of methodsynopsis.element-->]]>
+
+<!ENTITY % methodsynopsis.attlist "INCLUDE">
+<![%methodsynopsis.attlist;[
+<!ATTLIST methodsynopsis
+ %common.attrib;
+ %methodsynopsis.role.attrib;
+ %local.methodsynopsis.attrib;
+>
+<!--end of methodsynopsis.attlist-->]]>
+<!--end of methodsynopsis.module-->]]>
+
+<!ENTITY % methodname.module "INCLUDE">
+<![%methodname.module;[
+<!ENTITY % local.methodname.attrib "">
+<!ENTITY % methodname.role.attrib "%role.attrib;">
+
+<!ENTITY % methodname.element "INCLUDE">
+<![%methodname.element;[
+<!ELEMENT methodname (%smallcptr.char.mix;)*>
+<!--end of methodname.element-->]]>
+
+<!ENTITY % methodname.attlist "INCLUDE">
+<![%methodname.attlist;[
+<!ATTLIST methodname
+ %common.attrib;
+ %methodname.role.attrib;
+ %local.methodname.attrib;
+>
+<!--end of methodname.attlist-->]]>
+<!--end of methodname.module-->]]>
+
+<!ENTITY % methodparam.module "INCLUDE">
+<![%methodparam.module;[
+<!ENTITY % local.methodparam.attrib "">
+<!ENTITY % methodparam.role.attrib "%role.attrib;">
+
+<!ENTITY % methodparam.element "INCLUDE">
+<![%methodparam.element;[
+<!ELEMENT methodparam (modifier*,
+ type?,
+ ((parameter,initializer?)|funcparams),
+ modifier*)>
+<!--end of methodparam.element-->]]>
+
+<!ENTITY % methodparam.attlist "INCLUDE">
+<![%methodparam.attlist;[
+<!ATTLIST methodparam
+ %common.attrib;
+ %methodparam.role.attrib;
+ %local.methodparam.attrib;
+ choice (opt
+ |req
+ |plain) "req"
+ rep (norepeat
+ |repeat) "norepeat"
+>
+<!--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. -->
+
+<!-- .................................. -->
+
+<!ENTITY % docinfo.content.module "INCLUDE">
+<![%docinfo.content.module;[
+
+<!-- Ackno ............................ -->
+
+<!ENTITY % ackno.module "INCLUDE">
+<![%ackno.module;[
+<!ENTITY % local.ackno.attrib "">
+<!ENTITY % ackno.role.attrib "%role.attrib;">
+
+<!ENTITY % ackno.element "INCLUDE">
+<![%ackno.element;[
+<!ELEMENT ackno (%docinfo.char.mix;)*>
+<!--end of ackno.element-->]]>
+
+<!ENTITY % ackno.attlist "INCLUDE">
+<![%ackno.attlist;[
+<!ATTLIST ackno
+ %common.attrib;
+ %ackno.role.attrib;
+ %local.ackno.attrib;
+>
+<!--end of ackno.attlist-->]]>
+<!--end of ackno.module-->]]>
+
+<!-- Address .......................... -->
+
+<!ENTITY % address.content.module "INCLUDE">
+<![%address.content.module;[
+<!ENTITY % address.module "INCLUDE">
+<![%address.module;[
+<!ENTITY % local.address.attrib "">
+<!ENTITY % address.role.attrib "%role.attrib;">
+
+<!ENTITY % address.element "INCLUDE">
+<![%address.element;[
+<!ELEMENT address (#PCDATA|%person.ident.mix;
+ |street|pob|postcode|city|state|country|phone
+ |fax|email|otheraddr)*>
+<!--end of address.element-->]]>
+
+<!ENTITY % address.attlist "INCLUDE">
+<![%address.attlist;[
+<!ATTLIST address
+ %linespecific.attrib;
+ %common.attrib;
+ %address.role.attrib;
+ %local.address.attrib;
+>
+<!--end of address.attlist-->]]>
+<!--end of address.module-->]]>
+
+ <!ENTITY % street.module "INCLUDE">
+ <![%street.module;[
+ <!ENTITY % local.street.attrib "">
+ <!ENTITY % street.role.attrib "%role.attrib;">
+
+<!ENTITY % street.element "INCLUDE">
+<![%street.element;[
+<!ELEMENT street (%docinfo.char.mix;)*>
+<!--end of street.element-->]]>
+
+<!ENTITY % street.attlist "INCLUDE">
+<![%street.attlist;[
+<!ATTLIST street
+ %common.attrib;
+ %street.role.attrib;
+ %local.street.attrib;
+>
+<!--end of street.attlist-->]]>
+ <!--end of street.module-->]]>
+
+ <!ENTITY % pob.module "INCLUDE">
+ <![%pob.module;[
+ <!ENTITY % local.pob.attrib "">
+ <!ENTITY % pob.role.attrib "%role.attrib;">
+
+<!ENTITY % pob.element "INCLUDE">
+<![%pob.element;[
+<!ELEMENT pob (%docinfo.char.mix;)*>
+<!--end of pob.element-->]]>
+
+<!ENTITY % pob.attlist "INCLUDE">
+<![%pob.attlist;[
+<!ATTLIST pob
+ %common.attrib;
+ %pob.role.attrib;
+ %local.pob.attrib;
+>
+<!--end of pob.attlist-->]]>
+ <!--end of pob.module-->]]>
+
+ <!ENTITY % postcode.module "INCLUDE">
+ <![%postcode.module;[
+ <!ENTITY % local.postcode.attrib "">
+ <!ENTITY % postcode.role.attrib "%role.attrib;">
+
+<!ENTITY % postcode.element "INCLUDE">
+<![%postcode.element;[
+<!ELEMENT postcode (%docinfo.char.mix;)*>
+<!--end of postcode.element-->]]>
+
+<!ENTITY % postcode.attlist "INCLUDE">
+<![%postcode.attlist;[
+<!ATTLIST postcode
+ %common.attrib;
+ %postcode.role.attrib;
+ %local.postcode.attrib;
+>
+<!--end of postcode.attlist-->]]>
+ <!--end of postcode.module-->]]>
+
+ <!ENTITY % city.module "INCLUDE">
+ <![%city.module;[
+ <!ENTITY % local.city.attrib "">
+ <!ENTITY % city.role.attrib "%role.attrib;">
+
+<!ENTITY % city.element "INCLUDE">
+<![%city.element;[
+<!ELEMENT city (%docinfo.char.mix;)*>
+<!--end of city.element-->]]>
+
+<!ENTITY % city.attlist "INCLUDE">
+<![%city.attlist;[
+<!ATTLIST city
+ %common.attrib;
+ %city.role.attrib;
+ %local.city.attrib;
+>
+<!--end of city.attlist-->]]>
+ <!--end of city.module-->]]>
+
+ <!ENTITY % state.module "INCLUDE">
+ <![%state.module;[
+ <!ENTITY % local.state.attrib "">
+ <!ENTITY % state.role.attrib "%role.attrib;">
+
+<!ENTITY % state.element "INCLUDE">
+<![%state.element;[
+<!ELEMENT state (%docinfo.char.mix;)*>
+<!--end of state.element-->]]>
+
+<!ENTITY % state.attlist "INCLUDE">
+<![%state.attlist;[
+<!ATTLIST state
+ %common.attrib;
+ %state.role.attrib;
+ %local.state.attrib;
+>
+<!--end of state.attlist-->]]>
+ <!--end of state.module-->]]>
+
+ <!ENTITY % country.module "INCLUDE">
+ <![%country.module;[
+ <!ENTITY % local.country.attrib "">
+ <!ENTITY % country.role.attrib "%role.attrib;">
+
+<!ENTITY % country.element "INCLUDE">
+<![%country.element;[
+<!ELEMENT country (%docinfo.char.mix;)*>
+<!--end of country.element-->]]>
+
+<!ENTITY % country.attlist "INCLUDE">
+<![%country.attlist;[
+<!ATTLIST country
+ %common.attrib;
+ %country.role.attrib;
+ %local.country.attrib;
+>
+<!--end of country.attlist-->]]>
+ <!--end of country.module-->]]>
+
+ <!ENTITY % phone.module "INCLUDE">
+ <![%phone.module;[
+ <!ENTITY % local.phone.attrib "">
+ <!ENTITY % phone.role.attrib "%role.attrib;">
+
+<!ENTITY % phone.element "INCLUDE">
+<![%phone.element;[
+<!ELEMENT phone (%docinfo.char.mix;)*>
+<!--end of phone.element-->]]>
+
+<!ENTITY % phone.attlist "INCLUDE">
+<![%phone.attlist;[
+<!ATTLIST phone
+ %common.attrib;
+ %phone.role.attrib;
+ %local.phone.attrib;
+>
+<!--end of phone.attlist-->]]>
+ <!--end of phone.module-->]]>
+
+ <!ENTITY % fax.module "INCLUDE">
+ <![%fax.module;[
+ <!ENTITY % local.fax.attrib "">
+ <!ENTITY % fax.role.attrib "%role.attrib;">
+
+<!ENTITY % fax.element "INCLUDE">
+<![%fax.element;[
+<!ELEMENT fax (%docinfo.char.mix;)*>
+<!--end of fax.element-->]]>
+
+<!ENTITY % fax.attlist "INCLUDE">
+<![%fax.attlist;[
+<!ATTLIST fax
+ %common.attrib;
+ %fax.role.attrib;
+ %local.fax.attrib;
+>
+<!--end of fax.attlist-->]]>
+ <!--end of fax.module-->]]>
+
+ <!-- Email (defined in the Inlines section, below)-->
+
+ <!ENTITY % otheraddr.module "INCLUDE">
+ <![%otheraddr.module;[
+ <!ENTITY % local.otheraddr.attrib "">
+ <!ENTITY % otheraddr.role.attrib "%role.attrib;">
+
+<!ENTITY % otheraddr.element "INCLUDE">
+<![%otheraddr.element;[
+<!ELEMENT otheraddr (%docinfo.char.mix;)*>
+<!--end of otheraddr.element-->]]>
+
+<!ENTITY % otheraddr.attlist "INCLUDE">
+<![%otheraddr.attlist;[
+<!ATTLIST otheraddr
+ %common.attrib;
+ %otheraddr.role.attrib;
+ %local.otheraddr.attrib;
+>
+<!--end of otheraddr.attlist-->]]>
+ <!--end of otheraddr.module-->]]>
+<!--end of address.content.module-->]]>
+
+<!-- Affiliation ...................... -->
+
+<!ENTITY % affiliation.content.module "INCLUDE">
+<![%affiliation.content.module;[
+<!ENTITY % affiliation.module "INCLUDE">
+<![%affiliation.module;[
+<!ENTITY % local.affiliation.attrib "">
+<!ENTITY % affiliation.role.attrib "%role.attrib;">
+
+<!ENTITY % affiliation.element "INCLUDE">
+<![%affiliation.element;[
+<!ELEMENT affiliation (shortaffil?, jobtitle*, orgname?, orgdiv*,
+ address*)>
+<!--end of affiliation.element-->]]>
+
+<!ENTITY % affiliation.attlist "INCLUDE">
+<![%affiliation.attlist;[
+<!ATTLIST affiliation
+ %common.attrib;
+ %affiliation.role.attrib;
+ %local.affiliation.attrib;
+>
+<!--end of affiliation.attlist-->]]>
+<!--end of affiliation.module-->]]>
+
+ <!ENTITY % shortaffil.module "INCLUDE">
+ <![%shortaffil.module;[
+ <!ENTITY % local.shortaffil.attrib "">
+ <!ENTITY % shortaffil.role.attrib "%role.attrib;">
+
+<!ENTITY % shortaffil.element "INCLUDE">
+<![%shortaffil.element;[
+<!ELEMENT shortaffil (%docinfo.char.mix;)*>
+<!--end of shortaffil.element-->]]>
+
+<!ENTITY % shortaffil.attlist "INCLUDE">
+<![%shortaffil.attlist;[
+<!ATTLIST shortaffil
+ %common.attrib;
+ %shortaffil.role.attrib;
+ %local.shortaffil.attrib;
+>
+<!--end of shortaffil.attlist-->]]>
+ <!--end of shortaffil.module-->]]>
+
+ <!ENTITY % jobtitle.module "INCLUDE">
+ <![%jobtitle.module;[
+ <!ENTITY % local.jobtitle.attrib "">
+ <!ENTITY % jobtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % jobtitle.element "INCLUDE">
+<![%jobtitle.element;[
+<!ELEMENT jobtitle (%docinfo.char.mix;)*>
+<!--end of jobtitle.element-->]]>
+
+<!ENTITY % jobtitle.attlist "INCLUDE">
+<![%jobtitle.attlist;[
+<!ATTLIST jobtitle
+ %common.attrib;
+ %jobtitle.role.attrib;
+ %local.jobtitle.attrib;
+>
+<!--end of jobtitle.attlist-->]]>
+ <!--end of jobtitle.module-->]]>
+
+ <!-- OrgName (defined elsewhere in this section)-->
+
+ <!ENTITY % orgdiv.module "INCLUDE">
+ <![%orgdiv.module;[
+ <!ENTITY % local.orgdiv.attrib "">
+ <!ENTITY % orgdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % orgdiv.element "INCLUDE">
+<![%orgdiv.element;[
+<!ELEMENT orgdiv (%docinfo.char.mix;)*>
+<!--end of orgdiv.element-->]]>
+
+<!ENTITY % orgdiv.attlist "INCLUDE">
+<![%orgdiv.attlist;[
+<!ATTLIST orgdiv
+ %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 ...................... -->
+
+<!ENTITY % artpagenums.module "INCLUDE">
+<![%artpagenums.module;[
+<!ENTITY % local.artpagenums.attrib "">
+<!ENTITY % artpagenums.role.attrib "%role.attrib;">
+
+<!ENTITY % artpagenums.element "INCLUDE">
+<![%artpagenums.element;[
+<!ELEMENT artpagenums (%docinfo.char.mix;)*>
+<!--end of artpagenums.element-->]]>
+
+<!ENTITY % artpagenums.attlist "INCLUDE">
+<![%artpagenums.attlist;[
+<!ATTLIST artpagenums
+ %common.attrib;
+ %artpagenums.role.attrib;
+ %local.artpagenums.attrib;
+>
+<!--end of artpagenums.attlist-->]]>
+<!--end of artpagenums.module-->]]>
+
+<!-- Author ........................... -->
+
+<!ENTITY % author.module "INCLUDE">
+<![%author.module;[
+<!ENTITY % local.author.attrib "">
+<!ENTITY % author.role.attrib "%role.attrib;">
+
+<!ENTITY % author.element "INCLUDE">
+<![%author.element;[
+<!ELEMENT author ((%person.ident.mix;)+)>
+<!--end of author.element-->]]>
+
+<!ENTITY % author.attlist "INCLUDE">
+<![%author.attlist;[
+<!ATTLIST author
+ %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 ...................... -->
+
+<!ENTITY % authorgroup.content.module "INCLUDE">
+<![%authorgroup.content.module;[
+<!ENTITY % authorgroup.module "INCLUDE">
+<![%authorgroup.module;[
+<!ENTITY % local.authorgroup.attrib "">
+<!ENTITY % authorgroup.role.attrib "%role.attrib;">
+
+<!ENTITY % authorgroup.element "INCLUDE">
+<![%authorgroup.element;[
+<!ELEMENT authorgroup ((author|editor|collab|corpauthor|othercredit)+)>
+<!--end of authorgroup.element-->]]>
+
+<!ENTITY % authorgroup.attlist "INCLUDE">
+<![%authorgroup.attlist;[
+<!ATTLIST authorgroup
+ %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)-->
+
+ <!ENTITY % collab.content.module "INCLUDE">
+ <![%collab.content.module;[
+ <!ENTITY % collab.module "INCLUDE">
+ <![%collab.module;[
+ <!ENTITY % local.collab.attrib "">
+ <!ENTITY % collab.role.attrib "%role.attrib;">
+
+<!ENTITY % collab.element "INCLUDE">
+<![%collab.element;[
+<!ELEMENT collab (collabname, affiliation*)>
+<!--end of collab.element-->]]>
+
+<!ENTITY % collab.attlist "INCLUDE">
+<![%collab.attlist;[
+<!ATTLIST collab
+ %common.attrib;
+ %collab.role.attrib;
+ %local.collab.attrib;
+>
+<!--end of collab.attlist-->]]>
+ <!--end of collab.module-->]]>
+
+ <!ENTITY % collabname.module "INCLUDE">
+ <![%collabname.module;[
+ <!ENTITY % local.collabname.attrib "">
+ <!ENTITY % collabname.role.attrib "%role.attrib;">
+
+<!ENTITY % collabname.element "INCLUDE">
+<![%collabname.element;[
+<!ELEMENT collabname (%docinfo.char.mix;)*>
+<!--end of collabname.element-->]]>
+
+<!ENTITY % collabname.attlist "INCLUDE">
+<![%collabname.attlist;[
+<!ATTLIST collabname
+ %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 ................... -->
+
+<!ENTITY % authorinitials.module "INCLUDE">
+<![%authorinitials.module;[
+<!ENTITY % local.authorinitials.attrib "">
+<!ENTITY % authorinitials.role.attrib "%role.attrib;">
+
+<!ENTITY % authorinitials.element "INCLUDE">
+<![%authorinitials.element;[
+<!ELEMENT authorinitials (%docinfo.char.mix;)*>
+<!--end of authorinitials.element-->]]>
+
+<!ENTITY % authorinitials.attlist "INCLUDE">
+<![%authorinitials.attlist;[
+<!ATTLIST authorinitials
+ %common.attrib;
+ %authorinitials.role.attrib;
+ %local.authorinitials.attrib;
+>
+<!--end of authorinitials.attlist-->]]>
+<!--end of authorinitials.module-->]]>
+
+<!-- ConfGroup ........................ -->
+
+<!ENTITY % confgroup.content.module "INCLUDE">
+<![%confgroup.content.module;[
+<!ENTITY % confgroup.module "INCLUDE">
+<![%confgroup.module;[
+<!ENTITY % local.confgroup.attrib "">
+<!ENTITY % confgroup.role.attrib "%role.attrib;">
+
+<!ENTITY % confgroup.element "INCLUDE">
+<![%confgroup.element;[
+<!ELEMENT confgroup ((confdates|conftitle|confnum|address|confsponsor)*)>
+<!--end of confgroup.element-->]]>
+
+<!ENTITY % confgroup.attlist "INCLUDE">
+<![%confgroup.attlist;[
+<!ATTLIST confgroup
+ %common.attrib;
+ %confgroup.role.attrib;
+ %local.confgroup.attrib;
+>
+<!--end of confgroup.attlist-->]]>
+<!--end of confgroup.module-->]]>
+
+ <!ENTITY % confdates.module "INCLUDE">
+ <![%confdates.module;[
+ <!ENTITY % local.confdates.attrib "">
+ <!ENTITY % confdates.role.attrib "%role.attrib;">
+
+<!ENTITY % confdates.element "INCLUDE">
+<![%confdates.element;[
+<!ELEMENT confdates (%docinfo.char.mix;)*>
+<!--end of confdates.element-->]]>
+
+<!ENTITY % confdates.attlist "INCLUDE">
+<![%confdates.attlist;[
+<!ATTLIST confdates
+ %common.attrib;
+ %confdates.role.attrib;
+ %local.confdates.attrib;
+>
+<!--end of confdates.attlist-->]]>
+ <!--end of confdates.module-->]]>
+
+ <!ENTITY % conftitle.module "INCLUDE">
+ <![%conftitle.module;[
+ <!ENTITY % local.conftitle.attrib "">
+ <!ENTITY % conftitle.role.attrib "%role.attrib;">
+
+<!ENTITY % conftitle.element "INCLUDE">
+<![%conftitle.element;[
+<!ELEMENT conftitle (%docinfo.char.mix;)*>
+<!--end of conftitle.element-->]]>
+
+<!ENTITY % conftitle.attlist "INCLUDE">
+<![%conftitle.attlist;[
+<!ATTLIST conftitle
+ %common.attrib;
+ %conftitle.role.attrib;
+ %local.conftitle.attrib;
+>
+<!--end of conftitle.attlist-->]]>
+ <!--end of conftitle.module-->]]>
+
+ <!ENTITY % confnum.module "INCLUDE">
+ <![%confnum.module;[
+ <!ENTITY % local.confnum.attrib "">
+ <!ENTITY % confnum.role.attrib "%role.attrib;">
+
+<!ENTITY % confnum.element "INCLUDE">
+<![%confnum.element;[
+<!ELEMENT confnum (%docinfo.char.mix;)*>
+<!--end of confnum.element-->]]>
+
+<!ENTITY % confnum.attlist "INCLUDE">
+<![%confnum.attlist;[
+<!ATTLIST confnum
+ %common.attrib;
+ %confnum.role.attrib;
+ %local.confnum.attrib;
+>
+<!--end of confnum.attlist-->]]>
+ <!--end of confnum.module-->]]>
+
+ <!-- Address (defined elsewhere in this section)-->
+
+ <!ENTITY % confsponsor.module "INCLUDE">
+ <![%confsponsor.module;[
+ <!ENTITY % local.confsponsor.attrib "">
+ <!ENTITY % confsponsor.role.attrib "%role.attrib;">
+
+<!ENTITY % confsponsor.element "INCLUDE">
+<![%confsponsor.element;[
+<!ELEMENT confsponsor (%docinfo.char.mix;)*>
+<!--end of confsponsor.element-->]]>
+
+<!ENTITY % confsponsor.attlist "INCLUDE">
+<![%confsponsor.attlist;[
+<!ATTLIST confsponsor
+ %common.attrib;
+ %confsponsor.role.attrib;
+ %local.confsponsor.attrib;
+>
+<!--end of confsponsor.attlist-->]]>
+ <!--end of confsponsor.module-->]]>
+<!--end of confgroup.content.module-->]]>
+
+<!-- ContractNum ...................... -->
+
+<!ENTITY % contractnum.module "INCLUDE">
+<![%contractnum.module;[
+<!ENTITY % local.contractnum.attrib "">
+<!ENTITY % contractnum.role.attrib "%role.attrib;">
+
+<!ENTITY % contractnum.element "INCLUDE">
+<![%contractnum.element;[
+<!ELEMENT contractnum (%docinfo.char.mix;)*>
+<!--end of contractnum.element-->]]>
+
+<!ENTITY % contractnum.attlist "INCLUDE">
+<![%contractnum.attlist;[
+<!ATTLIST contractnum
+ %common.attrib;
+ %contractnum.role.attrib;
+ %local.contractnum.attrib;
+>
+<!--end of contractnum.attlist-->]]>
+<!--end of contractnum.module-->]]>
+
+<!-- ContractSponsor .................. -->
+
+<!ENTITY % contractsponsor.module "INCLUDE">
+<![%contractsponsor.module;[
+<!ENTITY % local.contractsponsor.attrib "">
+<!ENTITY % contractsponsor.role.attrib "%role.attrib;">
+
+<!ENTITY % contractsponsor.element "INCLUDE">
+<![%contractsponsor.element;[
+<!ELEMENT contractsponsor (%docinfo.char.mix;)*>
+<!--end of contractsponsor.element-->]]>
+
+<!ENTITY % contractsponsor.attlist "INCLUDE">
+<![%contractsponsor.attlist;[
+<!ATTLIST contractsponsor
+ %common.attrib;
+ %contractsponsor.role.attrib;
+ %local.contractsponsor.attrib;
+>
+<!--end of contractsponsor.attlist-->]]>
+<!--end of contractsponsor.module-->]]>
+
+<!-- Copyright ........................ -->
+
+<!ENTITY % copyright.content.module "INCLUDE">
+<![%copyright.content.module;[
+<!ENTITY % copyright.module "INCLUDE">
+<![%copyright.module;[
+<!ENTITY % local.copyright.attrib "">
+<!ENTITY % copyright.role.attrib "%role.attrib;">
+
+<!ENTITY % copyright.element "INCLUDE">
+<![%copyright.element;[
+<!ELEMENT copyright (year+, holder*)>
+<!--end of copyright.element-->]]>
+
+<!ENTITY % copyright.attlist "INCLUDE">
+<![%copyright.attlist;[
+<!ATTLIST copyright
+ %common.attrib;
+ %copyright.role.attrib;
+ %local.copyright.attrib;
+>
+<!--end of copyright.attlist-->]]>
+<!--end of copyright.module-->]]>
+
+ <!ENTITY % year.module "INCLUDE">
+ <![%year.module;[
+ <!ENTITY % local.year.attrib "">
+ <!ENTITY % year.role.attrib "%role.attrib;">
+
+<!ENTITY % year.element "INCLUDE">
+<![%year.element;[
+<!ELEMENT year (%docinfo.char.mix;)*>
+<!--end of year.element-->]]>
+
+<!ENTITY % year.attlist "INCLUDE">
+<![%year.attlist;[
+<!ATTLIST year
+ %common.attrib;
+ %year.role.attrib;
+ %local.year.attrib;
+>
+<!--end of year.attlist-->]]>
+ <!--end of year.module-->]]>
+
+ <!ENTITY % holder.module "INCLUDE">
+ <![%holder.module;[
+ <!ENTITY % local.holder.attrib "">
+ <!ENTITY % holder.role.attrib "%role.attrib;">
+
+<!ENTITY % holder.element "INCLUDE">
+<![%holder.element;[
+<!ELEMENT holder (%docinfo.char.mix;)*>
+<!--end of holder.element-->]]>
+
+<!ENTITY % holder.attlist "INCLUDE">
+<![%holder.attlist;[
+<!ATTLIST holder
+ %common.attrib;
+ %holder.role.attrib;
+ %local.holder.attrib;
+>
+<!--end of holder.attlist-->]]>
+ <!--end of holder.module-->]]>
+<!--end of copyright.content.module-->]]>
+
+<!-- CorpAuthor ....................... -->
+
+<!ENTITY % corpauthor.module "INCLUDE">
+<![%corpauthor.module;[
+<!ENTITY % local.corpauthor.attrib "">
+<!ENTITY % corpauthor.role.attrib "%role.attrib;">
+
+<!ENTITY % corpauthor.element "INCLUDE">
+<![%corpauthor.element;[
+<!ELEMENT corpauthor (%docinfo.char.mix;)*>
+<!--end of corpauthor.element-->]]>
+
+<!ENTITY % corpauthor.attlist "INCLUDE">
+<![%corpauthor.attlist;[
+<!ATTLIST corpauthor
+ %common.attrib;
+ %corpauthor.role.attrib;
+ %local.corpauthor.attrib;
+>
+<!--end of corpauthor.attlist-->]]>
+<!--end of corpauthor.module-->]]>
+
+<!-- CorpName ......................... -->
+
+<!ENTITY % corpname.module "INCLUDE">
+<![%corpname.module;[
+<!ENTITY % local.corpname.attrib "">
+
+<!ENTITY % corpname.element "INCLUDE">
+<![%corpname.element;[
+<!ELEMENT corpname (%docinfo.char.mix;)*>
+<!--end of corpname.element-->]]>
+<!ENTITY % corpname.role.attrib "%role.attrib;">
+
+<!ENTITY % corpname.attlist "INCLUDE">
+<![%corpname.attlist;[
+<!ATTLIST corpname
+ %common.attrib;
+ %corpname.role.attrib;
+ %local.corpname.attrib;
+>
+<!--end of corpname.attlist-->]]>
+<!--end of corpname.module-->]]>
+
+<!-- Date ............................. -->
+
+<!ENTITY % date.module "INCLUDE">
+<![%date.module;[
+<!ENTITY % local.date.attrib "">
+<!ENTITY % date.role.attrib "%role.attrib;">
+
+<!ENTITY % date.element "INCLUDE">
+<![%date.element;[
+<!ELEMENT date (%docinfo.char.mix;)*>
+<!--end of date.element-->]]>
+
+<!ENTITY % date.attlist "INCLUDE">
+<![%date.attlist;[
+<!ATTLIST date
+ %common.attrib;
+ %date.role.attrib;
+ %local.date.attrib;
+>
+<!--end of date.attlist-->]]>
+<!--end of date.module-->]]>
+
+<!-- Edition .......................... -->
+
+<!ENTITY % edition.module "INCLUDE">
+<![%edition.module;[
+<!ENTITY % local.edition.attrib "">
+<!ENTITY % edition.role.attrib "%role.attrib;">
+
+<!ENTITY % edition.element "INCLUDE">
+<![%edition.element;[
+<!ELEMENT edition (%docinfo.char.mix;)*>
+<!--end of edition.element-->]]>
+
+<!ENTITY % edition.attlist "INCLUDE">
+<![%edition.attlist;[
+<!ATTLIST edition
+ %common.attrib;
+ %edition.role.attrib;
+ %local.edition.attrib;
+>
+<!--end of edition.attlist-->]]>
+<!--end of edition.module-->]]>
+
+<!-- Editor ........................... -->
+
+<!ENTITY % editor.module "INCLUDE">
+<![%editor.module;[
+<!ENTITY % local.editor.attrib "">
+<!ENTITY % editor.role.attrib "%role.attrib;">
+
+<!ENTITY % editor.element "INCLUDE">
+<![%editor.element;[
+<!ELEMENT editor ((%person.ident.mix;)+)>
+<!--end of editor.element-->]]>
+
+<!ENTITY % editor.attlist "INCLUDE">
+<![%editor.attlist;[
+<!ATTLIST editor
+ %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 ............................. -->
+
+<!ENTITY % isbn.module "INCLUDE">
+<![%isbn.module;[
+<!ENTITY % local.isbn.attrib "">
+<!ENTITY % isbn.role.attrib "%role.attrib;">
+
+<!ENTITY % isbn.element "INCLUDE">
+<![%isbn.element;[
+<!ELEMENT isbn (%docinfo.char.mix;)*>
+<!--end of isbn.element-->]]>
+
+<!ENTITY % isbn.attlist "INCLUDE">
+<![%isbn.attlist;[
+<!ATTLIST isbn
+ %common.attrib;
+ %isbn.role.attrib;
+ %local.isbn.attrib;
+>
+<!--end of isbn.attlist-->]]>
+<!--end of isbn.module-->]]>
+
+<!-- ISSN ............................. -->
+
+<!ENTITY % issn.module "INCLUDE">
+<![%issn.module;[
+<!ENTITY % local.issn.attrib "">
+<!ENTITY % issn.role.attrib "%role.attrib;">
+
+<!ENTITY % issn.element "INCLUDE">
+<![%issn.element;[
+<!ELEMENT issn (%docinfo.char.mix;)*>
+<!--end of issn.element-->]]>
+
+<!ENTITY % issn.attlist "INCLUDE">
+<![%issn.attlist;[
+<!ATTLIST issn
+ %common.attrib;
+ %issn.role.attrib;
+ %local.issn.attrib;
+>
+<!--end of issn.attlist-->]]>
+<!--end of issn.module-->]]>
+
+<!-- InvPartNumber .................... -->
+
+<!ENTITY % invpartnumber.module "INCLUDE">
+<![%invpartnumber.module;[
+<!ENTITY % local.invpartnumber.attrib "">
+<!ENTITY % invpartnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % invpartnumber.element "INCLUDE">
+<![%invpartnumber.element;[
+<!ELEMENT invpartnumber (%docinfo.char.mix;)*>
+<!--end of invpartnumber.element-->]]>
+
+<!ENTITY % invpartnumber.attlist "INCLUDE">
+<![%invpartnumber.attlist;[
+<!ATTLIST invpartnumber
+ %common.attrib;
+ %invpartnumber.role.attrib;
+ %local.invpartnumber.attrib;
+>
+<!--end of invpartnumber.attlist-->]]>
+<!--end of invpartnumber.module-->]]>
+
+<!-- IssueNum ......................... -->
+
+<!ENTITY % issuenum.module "INCLUDE">
+<![%issuenum.module;[
+<!ENTITY % local.issuenum.attrib "">
+<!ENTITY % issuenum.role.attrib "%role.attrib;">
+
+<!ENTITY % issuenum.element "INCLUDE">
+<![%issuenum.element;[
+<!ELEMENT issuenum (%docinfo.char.mix;)*>
+<!--end of issuenum.element-->]]>
+
+<!ENTITY % issuenum.attlist "INCLUDE">
+<![%issuenum.attlist;[
+<!ATTLIST issuenum
+ %common.attrib;
+ %issuenum.role.attrib;
+ %local.issuenum.attrib;
+>
+<!--end of issuenum.attlist-->]]>
+<!--end of issuenum.module-->]]>
+
+<!-- LegalNotice ...................... -->
+
+<!ENTITY % legalnotice.module "INCLUDE">
+<![%legalnotice.module;[
+<!ENTITY % local.legalnotice.attrib "">
+<!ENTITY % legalnotice.role.attrib "%role.attrib;">
+
+<!ENTITY % legalnotice.element "INCLUDE">
+<![%legalnotice.element;[
+<!ELEMENT legalnotice (title?, (%legalnotice.mix;)+)>
+<!--end of legalnotice.element-->]]>
+
+<!ENTITY % legalnotice.attlist "INCLUDE">
+<![%legalnotice.attlist;[
+<!ATTLIST legalnotice
+ %common.attrib;
+ %legalnotice.role.attrib;
+ %local.legalnotice.attrib;
+>
+<!--end of legalnotice.attlist-->]]>
+<!--end of legalnotice.module-->]]>
+
+<!-- ModeSpec ......................... -->
+
+<!ENTITY % modespec.module "INCLUDE">
+<![%modespec.module;[
+<!ENTITY % local.modespec.attrib "">
+<!ENTITY % modespec.role.attrib "%role.attrib;">
+
+<!ENTITY % modespec.element "INCLUDE">
+<![%modespec.element;[
+<!ELEMENT modespec (%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) -->
+
+
+<!ENTITY % modespec.attlist "INCLUDE">
+<![%modespec.attlist;[
+<!ATTLIST modespec
+ application NOTATION
+ (%notation.class;) #IMPLIED
+ %common.attrib;
+ %modespec.role.attrib;
+ %local.modespec.attrib;
+>
+<!--end of modespec.attlist-->]]>
+<!--end of modespec.module-->]]>
+
+<!-- OrgName .......................... -->
+
+<!ENTITY % orgname.module "INCLUDE">
+<![%orgname.module;[
+<!ENTITY % local.orgname.attrib "">
+<!ENTITY % orgname.role.attrib "%role.attrib;">
+
+<!ENTITY % orgname.element "INCLUDE">
+<![%orgname.element;[
+<!ELEMENT orgname (%docinfo.char.mix;)*>
+<!--end of orgname.element-->]]>
+
+<!ENTITY % orgname.attlist "INCLUDE">
+<![%orgname.attlist;[
+<!ATTLIST orgname
+ %common.attrib;
+ %orgname.role.attrib;
+ %local.orgname.attrib;
+>
+<!--end of orgname.attlist-->]]>
+<!--end of orgname.module-->]]>
+
+<!-- OtherCredit ...................... -->
+
+<!ENTITY % othercredit.module "INCLUDE">
+<![%othercredit.module;[
+<!ENTITY % local.othercredit.attrib "">
+<!ENTITY % othercredit.role.attrib "%role.attrib;">
+
+<!ENTITY % othercredit.element "INCLUDE">
+<![%othercredit.element;[
+<!ELEMENT othercredit ((%person.ident.mix;)+)>
+<!--end of othercredit.element-->]]>
+
+<!ENTITY % othercredit.attlist "INCLUDE">
+<![%othercredit.attlist;[
+<!ATTLIST othercredit
+ %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 ......................... -->
+
+<!ENTITY % pagenums.module "INCLUDE">
+<![%pagenums.module;[
+<!ENTITY % local.pagenums.attrib "">
+<!ENTITY % pagenums.role.attrib "%role.attrib;">
+
+<!ENTITY % pagenums.element "INCLUDE">
+<![%pagenums.element;[
+<!ELEMENT pagenums (%docinfo.char.mix;)*>
+<!--end of pagenums.element-->]]>
+
+<!ENTITY % pagenums.attlist "INCLUDE">
+<![%pagenums.attlist;[
+<!ATTLIST pagenums
+ %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. -->
+
+<!ENTITY % person.ident.module "INCLUDE">
+<![%person.ident.module;[
+ <!ENTITY % contrib.module "INCLUDE">
+ <![%contrib.module;[
+ <!ENTITY % local.contrib.attrib "">
+ <!ENTITY % contrib.role.attrib "%role.attrib;">
+
+<!ENTITY % contrib.element "INCLUDE">
+<![%contrib.element;[
+<!ELEMENT contrib (%docinfo.char.mix;)*>
+<!--end of contrib.element-->]]>
+
+<!ENTITY % contrib.attlist "INCLUDE">
+<![%contrib.attlist;[
+<!ATTLIST contrib
+ %common.attrib;
+ %contrib.role.attrib;
+ %local.contrib.attrib;
+>
+<!--end of contrib.attlist-->]]>
+ <!--end of contrib.module-->]]>
+
+ <!ENTITY % firstname.module "INCLUDE">
+ <![%firstname.module;[
+ <!ENTITY % local.firstname.attrib "">
+ <!ENTITY % firstname.role.attrib "%role.attrib;">
+
+<!ENTITY % firstname.element "INCLUDE">
+<![%firstname.element;[
+<!ELEMENT firstname (%docinfo.char.mix;)*>
+<!--end of firstname.element-->]]>
+
+<!ENTITY % firstname.attlist "INCLUDE">
+<![%firstname.attlist;[
+<!ATTLIST firstname
+ %common.attrib;
+ %firstname.role.attrib;
+ %local.firstname.attrib;
+>
+<!--end of firstname.attlist-->]]>
+ <!--end of firstname.module-->]]>
+
+ <!ENTITY % honorific.module "INCLUDE">
+ <![%honorific.module;[
+ <!ENTITY % local.honorific.attrib "">
+ <!ENTITY % honorific.role.attrib "%role.attrib;">
+
+<!ENTITY % honorific.element "INCLUDE">
+<![%honorific.element;[
+<!ELEMENT honorific (%docinfo.char.mix;)*>
+<!--end of honorific.element-->]]>
+
+<!ENTITY % honorific.attlist "INCLUDE">
+<![%honorific.attlist;[
+<!ATTLIST honorific
+ %common.attrib;
+ %honorific.role.attrib;
+ %local.honorific.attrib;
+>
+<!--end of honorific.attlist-->]]>
+ <!--end of honorific.module-->]]>
+
+ <!ENTITY % lineage.module "INCLUDE">
+ <![%lineage.module;[
+ <!ENTITY % local.lineage.attrib "">
+ <!ENTITY % lineage.role.attrib "%role.attrib;">
+
+<!ENTITY % lineage.element "INCLUDE">
+<![%lineage.element;[
+<!ELEMENT lineage (%docinfo.char.mix;)*>
+<!--end of lineage.element-->]]>
+
+<!ENTITY % lineage.attlist "INCLUDE">
+<![%lineage.attlist;[
+<!ATTLIST lineage
+ %common.attrib;
+ %lineage.role.attrib;
+ %local.lineage.attrib;
+>
+<!--end of lineage.attlist-->]]>
+ <!--end of lineage.module-->]]>
+
+ <!ENTITY % othername.module "INCLUDE">
+ <![%othername.module;[
+ <!ENTITY % local.othername.attrib "">
+ <!ENTITY % othername.role.attrib "%role.attrib;">
+
+<!ENTITY % othername.element "INCLUDE">
+<![%othername.element;[
+<!ELEMENT othername (%docinfo.char.mix;)*>
+<!--end of othername.element-->]]>
+
+<!ENTITY % othername.attlist "INCLUDE">
+<![%othername.attlist;[
+<!ATTLIST othername
+ %common.attrib;
+ %othername.role.attrib;
+ %local.othername.attrib;
+>
+<!--end of othername.attlist-->]]>
+ <!--end of othername.module-->]]>
+
+ <!ENTITY % surname.module "INCLUDE">
+ <![%surname.module;[
+ <!ENTITY % local.surname.attrib "">
+ <!ENTITY % surname.role.attrib "%role.attrib;">
+
+<!ENTITY % surname.element "INCLUDE">
+<![%surname.element;[
+<!ELEMENT surname (%docinfo.char.mix;)*>
+<!--end of surname.element-->]]>
+
+<!ENTITY % surname.attlist "INCLUDE">
+<![%surname.attlist;[
+<!ATTLIST surname
+ %common.attrib;
+ %surname.role.attrib;
+ %local.surname.attrib;
+>
+<!--end of surname.attlist-->]]>
+ <!--end of surname.module-->]]>
+<!--end of person.ident.module-->]]>
+
+<!-- PrintHistory ..................... -->
+
+<!ENTITY % printhistory.module "INCLUDE">
+<![%printhistory.module;[
+<!ENTITY % local.printhistory.attrib "">
+<!ENTITY % printhistory.role.attrib "%role.attrib;">
+
+<!ENTITY % printhistory.element "INCLUDE">
+<![%printhistory.element;[
+<!ELEMENT printhistory ((%para.class;)+)>
+<!--end of printhistory.element-->]]>
+
+<!ENTITY % printhistory.attlist "INCLUDE">
+<![%printhistory.attlist;[
+<!ATTLIST printhistory
+ %common.attrib;
+ %printhistory.role.attrib;
+ %local.printhistory.attrib;
+>
+<!--end of printhistory.attlist-->]]>
+<!--end of printhistory.module-->]]>
+
+<!-- ProductName ...................... -->
+
+<!ENTITY % productname.module "INCLUDE">
+<![%productname.module;[
+<!ENTITY % local.productname.attrib "">
+<!ENTITY % productname.role.attrib "%role.attrib;">
+
+<!ENTITY % productname.element "INCLUDE">
+<![%productname.element;[
+<!ELEMENT productname (%para.char.mix;)*>
+<!--end of productname.element-->]]>
+
+<!-- Class: More precisely identifies the item the element names -->
+
+
+<!ENTITY % productname.attlist "INCLUDE">
+<![%productname.attlist;[
+<!ATTLIST productname
+ class (service
+ |trade
+ |registered
+ |copyright) 'trade'
+ %common.attrib;
+ %productname.role.attrib;
+ %local.productname.attrib;
+>
+<!--end of productname.attlist-->]]>
+<!--end of productname.module-->]]>
+
+<!-- ProductNumber .................... -->
+
+<!ENTITY % productnumber.module "INCLUDE">
+<![%productnumber.module;[
+<!ENTITY % local.productnumber.attrib "">
+<!ENTITY % productnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % productnumber.element "INCLUDE">
+<![%productnumber.element;[
+<!ELEMENT productnumber (%docinfo.char.mix;)*>
+<!--end of productnumber.element-->]]>
+
+<!ENTITY % productnumber.attlist "INCLUDE">
+<![%productnumber.attlist;[
+<!ATTLIST productnumber
+ %common.attrib;
+ %productnumber.role.attrib;
+ %local.productnumber.attrib;
+>
+<!--end of productnumber.attlist-->]]>
+<!--end of productnumber.module-->]]>
+
+<!-- PubDate .......................... -->
+
+<!ENTITY % pubdate.module "INCLUDE">
+<![%pubdate.module;[
+<!ENTITY % local.pubdate.attrib "">
+<!ENTITY % pubdate.role.attrib "%role.attrib;">
+
+<!ENTITY % pubdate.element "INCLUDE">
+<![%pubdate.element;[
+<!ELEMENT pubdate (%docinfo.char.mix;)*>
+<!--end of pubdate.element-->]]>
+
+<!ENTITY % pubdate.attlist "INCLUDE">
+<![%pubdate.attlist;[
+<!ATTLIST pubdate
+ %common.attrib;
+ %pubdate.role.attrib;
+ %local.pubdate.attrib;
+>
+<!--end of pubdate.attlist-->]]>
+<!--end of pubdate.module-->]]>
+
+<!-- Publisher ........................ -->
+
+<!ENTITY % publisher.content.module "INCLUDE">
+<![%publisher.content.module;[
+<!ENTITY % publisher.module "INCLUDE">
+<![%publisher.module;[
+<!ENTITY % local.publisher.attrib "">
+<!ENTITY % publisher.role.attrib "%role.attrib;">
+
+<!ENTITY % publisher.element "INCLUDE">
+<![%publisher.element;[
+<!ELEMENT publisher (publishername, address*)>
+<!--end of publisher.element-->]]>
+
+<!ENTITY % publisher.attlist "INCLUDE">
+<![%publisher.attlist;[
+<!ATTLIST publisher
+ %common.attrib;
+ %publisher.role.attrib;
+ %local.publisher.attrib;
+>
+<!--end of publisher.attlist-->]]>
+<!--end of publisher.module-->]]>
+
+ <!ENTITY % publishername.module "INCLUDE">
+ <![%publishername.module;[
+ <!ENTITY % local.publishername.attrib "">
+ <!ENTITY % publishername.role.attrib "%role.attrib;">
+
+<!ENTITY % publishername.element "INCLUDE">
+<![%publishername.element;[
+<!ELEMENT publishername (%docinfo.char.mix;)*>
+<!--end of publishername.element-->]]>
+
+<!ENTITY % publishername.attlist "INCLUDE">
+<![%publishername.attlist;[
+<!ATTLIST publishername
+ %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 ....................... -->
+
+<!ENTITY % pubsnumber.module "INCLUDE">
+<![%pubsnumber.module;[
+<!ENTITY % local.pubsnumber.attrib "">
+<!ENTITY % pubsnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % pubsnumber.element "INCLUDE">
+<![%pubsnumber.element;[
+<!ELEMENT pubsnumber (%docinfo.char.mix;)*>
+<!--end of pubsnumber.element-->]]>
+
+<!ENTITY % pubsnumber.attlist "INCLUDE">
+<![%pubsnumber.attlist;[
+<!ATTLIST pubsnumber
+ %common.attrib;
+ %pubsnumber.role.attrib;
+ %local.pubsnumber.attrib;
+>
+<!--end of pubsnumber.attlist-->]]>
+<!--end of pubsnumber.module-->]]>
+
+<!-- ReleaseInfo ...................... -->
+
+<!ENTITY % releaseinfo.module "INCLUDE">
+<![%releaseinfo.module;[
+<!ENTITY % local.releaseinfo.attrib "">
+<!ENTITY % releaseinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % releaseinfo.element "INCLUDE">
+<![%releaseinfo.element;[
+<!ELEMENT releaseinfo (%docinfo.char.mix;)*>
+<!--end of releaseinfo.element-->]]>
+
+<!ENTITY % releaseinfo.attlist "INCLUDE">
+<![%releaseinfo.attlist;[
+<!ATTLIST releaseinfo
+ %common.attrib;
+ %releaseinfo.role.attrib;
+ %local.releaseinfo.attrib;
+>
+<!--end of releaseinfo.attlist-->]]>
+<!--end of releaseinfo.module-->]]>
+
+<!-- RevHistory ....................... -->
+
+<!ENTITY % revhistory.content.module "INCLUDE">
+<![%revhistory.content.module;[
+<!ENTITY % revhistory.module "INCLUDE">
+<![%revhistory.module;[
+<!ENTITY % local.revhistory.attrib "">
+<!ENTITY % revhistory.role.attrib "%role.attrib;">
+
+<!ENTITY % revhistory.element "INCLUDE">
+<![%revhistory.element;[
+<!ELEMENT revhistory (revision+)>
+<!--end of revhistory.element-->]]>
+
+<!ENTITY % revhistory.attlist "INCLUDE">
+<![%revhistory.attlist;[
+<!ATTLIST revhistory
+ %common.attrib;
+ %revhistory.role.attrib;
+ %local.revhistory.attrib;
+>
+<!--end of revhistory.attlist-->]]>
+<!--end of revhistory.module-->]]>
+
+<!ENTITY % revision.module "INCLUDE">
+<![%revision.module;[
+<!ENTITY % local.revision.attrib "">
+<!ENTITY % revision.role.attrib "%role.attrib;">
+
+<!ENTITY % revision.element "INCLUDE">
+<![%revision.element;[
+<!ELEMENT revision (revnumber, date, authorinitials*,
+ (revremark|revdescription)?)>
+<!--end of revision.element-->]]>
+
+<!ENTITY % revision.attlist "INCLUDE">
+<![%revision.attlist;[
+<!ATTLIST revision
+ %common.attrib;
+ %revision.role.attrib;
+ %local.revision.attrib;
+>
+<!--end of revision.attlist-->]]>
+<!--end of revision.module-->]]>
+
+<!ENTITY % revnumber.module "INCLUDE">
+<![%revnumber.module;[
+<!ENTITY % local.revnumber.attrib "">
+<!ENTITY % revnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % revnumber.element "INCLUDE">
+<![%revnumber.element;[
+<!ELEMENT revnumber (%docinfo.char.mix;)*>
+<!--end of revnumber.element-->]]>
+
+<!ENTITY % revnumber.attlist "INCLUDE">
+<![%revnumber.attlist;[
+<!ATTLIST revnumber
+ %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)-->
+
+<!ENTITY % revremark.module "INCLUDE">
+<![%revremark.module;[
+<!ENTITY % local.revremark.attrib "">
+<!ENTITY % revremark.role.attrib "%role.attrib;">
+
+<!ENTITY % revremark.element "INCLUDE">
+<![%revremark.element;[
+<!ELEMENT revremark (%docinfo.char.mix;)*>
+<!--end of revremark.element-->]]>
+
+<!ENTITY % revremark.attlist "INCLUDE">
+<![%revremark.attlist;[
+<!ATTLIST revremark
+ %common.attrib;
+ %revremark.role.attrib;
+ %local.revremark.attrib;
+>
+<!--end of revremark.attlist-->]]>
+<!--end of revremark.module-->]]>
+
+<!ENTITY % revdescription.module "INCLUDE">
+<![ %revdescription.module; [
+<!ENTITY % local.revdescription.attrib "">
+<!ENTITY % revdescription.role.attrib "%role.attrib;">
+
+<!ENTITY % revdescription.element "INCLUDE">
+<![ %revdescription.element; [
+<!ELEMENT revdescription ((%revdescription.mix;)+)>
+<!--end of revdescription.element-->]]>
+
+<!ENTITY % revdescription.attlist "INCLUDE">
+<![ %revdescription.attlist; [
+<!ATTLIST revdescription
+ %common.attrib;
+ %revdescription.role.attrib;
+ %local.revdescription.attrib;
+>
+<!--end of revdescription.attlist-->]]>
+<!--end of revdescription.module-->]]>
+<!--end of revhistory.content.module-->]]>
+
+<!-- SeriesVolNums .................... -->
+
+<!ENTITY % seriesvolnums.module "INCLUDE">
+<![%seriesvolnums.module;[
+<!ENTITY % local.seriesvolnums.attrib "">
+<!ENTITY % seriesvolnums.role.attrib "%role.attrib;">
+
+<!ENTITY % seriesvolnums.element "INCLUDE">
+<![%seriesvolnums.element;[
+<!ELEMENT seriesvolnums (%docinfo.char.mix;)*>
+<!--end of seriesvolnums.element-->]]>
+
+<!ENTITY % seriesvolnums.attlist "INCLUDE">
+<![%seriesvolnums.attlist;[
+<!ATTLIST seriesvolnums
+ %common.attrib;
+ %seriesvolnums.role.attrib;
+ %local.seriesvolnums.attrib;
+>
+<!--end of seriesvolnums.attlist-->]]>
+<!--end of seriesvolnums.module-->]]>
+
+<!-- VolumeNum ........................ -->
+
+<!ENTITY % volumenum.module "INCLUDE">
+<![%volumenum.module;[
+<!ENTITY % local.volumenum.attrib "">
+<!ENTITY % volumenum.role.attrib "%role.attrib;">
+
+<!ENTITY % volumenum.element "INCLUDE">
+<![%volumenum.element;[
+<!ELEMENT volumenum (%docinfo.char.mix;)*>
+<!--end of volumenum.element-->]]>
+
+<!ENTITY % volumenum.attlist "INCLUDE">
+<![%volumenum.attlist;[
+<!ATTLIST volumenum
+ %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 ......................................... -->
+
+<!ENTITY % accel.module "INCLUDE">
+<![%accel.module;[
+<!ENTITY % local.accel.attrib "">
+<!ENTITY % accel.role.attrib "%role.attrib;">
+
+<!ENTITY % accel.element "INCLUDE">
+<![%accel.element;[
+<!ELEMENT accel (%smallcptr.char.mix;)*>
+<!--end of accel.element-->]]>
+
+<!ENTITY % accel.attlist "INCLUDE">
+<![%accel.attlist;[
+<!ATTLIST accel
+ %common.attrib;
+ %accel.role.attrib;
+ %local.accel.attrib;
+>
+<!--end of accel.attlist-->]]>
+<!--end of accel.module-->]]>
+
+<!ENTITY % action.module "INCLUDE">
+<![%action.module;[
+<!ENTITY % local.action.attrib "">
+<!ENTITY % action.role.attrib "%role.attrib;">
+
+<!ENTITY % action.element "INCLUDE">
+<![%action.element;[
+<!ELEMENT action (%smallcptr.char.mix;)*>
+<!--end of action.element-->]]>
+
+<!ENTITY % action.attlist "INCLUDE">
+<![%action.attlist;[
+<!ATTLIST action
+ %moreinfo.attrib;
+ %common.attrib;
+ %action.role.attrib;
+ %local.action.attrib;
+>
+<!--end of action.attlist-->]]>
+<!--end of action.module-->]]>
+
+<!ENTITY % application.module "INCLUDE">
+<![%application.module;[
+<!ENTITY % local.application.attrib "">
+<!ENTITY % application.role.attrib "%role.attrib;">
+
+<!ENTITY % application.element "INCLUDE">
+<![%application.element;[
+<!ELEMENT application (%para.char.mix;)*>
+<!--end of application.element-->]]>
+
+<!ENTITY % application.attlist "INCLUDE">
+<![%application.attlist;[
+<!ATTLIST application
+ class (hardware
+ |software) #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %application.role.attrib;
+ %local.application.attrib;
+>
+<!--end of application.attlist-->]]>
+<!--end of application.module-->]]>
+
+<!ENTITY % classname.module "INCLUDE">
+<![%classname.module;[
+<!ENTITY % local.classname.attrib "">
+<!ENTITY % classname.role.attrib "%role.attrib;">
+
+<!ENTITY % classname.element "INCLUDE">
+<![%classname.element;[
+<!ELEMENT classname (%smallcptr.char.mix;)*>
+<!--end of classname.element-->]]>
+
+<!ENTITY % classname.attlist "INCLUDE">
+<![%classname.attlist;[
+<!ATTLIST classname
+ %common.attrib;
+ %classname.role.attrib;
+ %local.classname.attrib;
+>
+<!--end of classname.attlist-->]]>
+<!--end of classname.module-->]]>
+
+<!ENTITY % co.module "INCLUDE">
+<![%co.module;[
+<!ENTITY % local.co.attrib "">
+<!-- CO is a callout area of the LineColumn unit type (a single character
+ position); the position is directly indicated by the location of CO. -->
+<!ENTITY % co.role.attrib "%role.attrib;">
+
+<!ENTITY % co.element "INCLUDE">
+<![%co.element;[
+<!ELEMENT co EMPTY>
+<!--end of co.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- to any related information -->
+
+
+<!ENTITY % co.attlist "INCLUDE">
+<![%co.attlist;[
+<!ATTLIST co
+ %label.attrib;
+ %linkends.attrib;
+ %idreq.common.attrib;
+ %co.role.attrib;
+ %local.co.attrib;
+>
+<!--end of co.attlist-->]]>
+<!--end of co.module-->]]>
+
+<!ENTITY % command.module "INCLUDE">
+<![%command.module;[
+<!ENTITY % local.command.attrib "">
+<!ENTITY % command.role.attrib "%role.attrib;">
+
+<!ENTITY % command.element "INCLUDE">
+<![%command.element;[
+<!ELEMENT command (%cptr.char.mix;)*>
+<!--end of command.element-->]]>
+
+<!ENTITY % command.attlist "INCLUDE">
+<![%command.attlist;[
+<!ATTLIST command
+ %moreinfo.attrib;
+ %common.attrib;
+ %command.role.attrib;
+ %local.command.attrib;
+>
+<!--end of command.attlist-->]]>
+<!--end of command.module-->]]>
+
+<!ENTITY % computeroutput.module "INCLUDE">
+<![%computeroutput.module;[
+<!ENTITY % local.computeroutput.attrib "">
+<!ENTITY % computeroutput.role.attrib "%role.attrib;">
+
+<!ENTITY % computeroutput.element "INCLUDE">
+<![%computeroutput.element;[
+<!ELEMENT computeroutput (%cptr.char.mix;)*>
+<!--end of computeroutput.element-->]]>
+
+<!ENTITY % computeroutput.attlist "INCLUDE">
+<![%computeroutput.attlist;[
+<!ATTLIST computeroutput
+ %moreinfo.attrib;
+ %common.attrib;
+ %computeroutput.role.attrib;
+ %local.computeroutput.attrib;
+>
+<!--end of computeroutput.attlist-->]]>
+<!--end of computeroutput.module-->]]>
+
+<!ENTITY % database.module "INCLUDE">
+<![%database.module;[
+<!ENTITY % local.database.attrib "">
+<!ENTITY % database.role.attrib "%role.attrib;">
+
+<!ENTITY % database.element "INCLUDE">
+<![%database.element;[
+<!ELEMENT database (%smallcptr.char.mix;)*>
+<!--end of database.element-->]]>
+
+<!-- Class: Type of database the element names; no default -->
+
+
+<!ENTITY % database.attlist "INCLUDE">
+<![%database.attlist;[
+<!ATTLIST database
+ class (name
+ |table
+ |field
+ |key1
+ |key2
+ |record) #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %database.role.attrib;
+ %local.database.attrib;
+>
+<!--end of database.attlist-->]]>
+<!--end of database.module-->]]>
+
+<!ENTITY % email.module "INCLUDE">
+<![%email.module;[
+<!ENTITY % local.email.attrib "">
+<!ENTITY % email.role.attrib "%role.attrib;">
+
+<!ENTITY % email.element "INCLUDE">
+<![%email.element;[
+<!ELEMENT email (%docinfo.char.mix;)*>
+<!--end of email.element-->]]>
+
+<!ENTITY % email.attlist "INCLUDE">
+<![%email.attlist;[
+<!ATTLIST email
+ %common.attrib;
+ %email.role.attrib;
+ %local.email.attrib;
+>
+<!--end of email.attlist-->]]>
+<!--end of email.module-->]]>
+
+<!ENTITY % envar.module "INCLUDE">
+<![%envar.module;[
+<!ENTITY % local.envar.attrib "">
+<!ENTITY % envar.role.attrib "%role.attrib;">
+
+<!ENTITY % envar.element "INCLUDE">
+<![%envar.element;[
+<!ELEMENT envar (%smallcptr.char.mix;)*>
+<!--end of envar.element-->]]>
+
+<!ENTITY % envar.attlist "INCLUDE">
+<![%envar.attlist;[
+<!ATTLIST envar
+ %common.attrib;
+ %envar.role.attrib;
+ %local.envar.attrib;
+>
+<!--end of envar.attlist-->]]>
+<!--end of envar.module-->]]>
+
+
+<!ENTITY % errorcode.module "INCLUDE">
+<![%errorcode.module;[
+<!ENTITY % local.errorcode.attrib "">
+<!ENTITY % errorcode.role.attrib "%role.attrib;">
+
+<!ENTITY % errorcode.element "INCLUDE">
+<![%errorcode.element;[
+<!ELEMENT errorcode (%smallcptr.char.mix;)*>
+<!--end of errorcode.element-->]]>
+
+<!ENTITY % errorcode.attlist "INCLUDE">
+<![%errorcode.attlist;[
+<!ATTLIST errorcode
+ %moreinfo.attrib;
+ %common.attrib;
+ %errorcode.role.attrib;
+ %local.errorcode.attrib;
+>
+<!--end of errorcode.attlist-->]]>
+<!--end of errorcode.module-->]]>
+
+<!ENTITY % errorname.module "INCLUDE">
+<![%errorname.module;[
+<!ENTITY % local.errorname.attrib "">
+<!ENTITY % errorname.role.attrib "%role.attrib;">
+
+<!ENTITY % errorname.element "INCLUDE">
+<![%errorname.element;[
+<!ELEMENT errorname (%smallcptr.char.mix;)*>
+<!--end of errorname.element-->]]>
+
+<!ENTITY % errorname.attlist "INCLUDE">
+<![%errorname.attlist;[
+<!ATTLIST errorname
+ %common.attrib;
+ %errorname.role.attrib;
+ %local.errorname.attrib;
+>
+<!--end of errorname.attlist-->]]>
+<!--end of errorname.module-->]]>
+
+<!ENTITY % errortype.module "INCLUDE">
+<![%errortype.module;[
+<!ENTITY % local.errortype.attrib "">
+<!ENTITY % errortype.role.attrib "%role.attrib;">
+
+<!ENTITY % errortype.element "INCLUDE">
+<![%errortype.element;[
+<!ELEMENT errortype (%smallcptr.char.mix;)*>
+<!--end of errortype.element-->]]>
+
+<!ENTITY % errortype.attlist "INCLUDE">
+<![%errortype.attlist;[
+<!ATTLIST errortype
+ %common.attrib;
+ %errortype.role.attrib;
+ %local.errortype.attrib;
+>
+<!--end of errortype.attlist-->]]>
+<!--end of errortype.module-->]]>
+
+<!ENTITY % filename.module "INCLUDE">
+<![%filename.module;[
+<!ENTITY % local.filename.attrib "">
+<!ENTITY % filename.role.attrib "%role.attrib;">
+
+<!ENTITY % filename.element "INCLUDE">
+<![%filename.element;[
+<!ELEMENT filename (%smallcptr.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 -->
+
+
+<!ENTITY % filename.attlist "INCLUDE">
+<![%filename.attlist;[
+<!ATTLIST filename
+ class (headerfile
+ |devicefile
+ |libraryfile
+ |directory
+ |symlink) #IMPLIED
+ path CDATA #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %filename.role.attrib;
+ %local.filename.attrib;
+>
+<!--end of filename.attlist-->]]>
+<!--end of filename.module-->]]>
+
+<!ENTITY % function.module "INCLUDE">
+<![%function.module;[
+<!ENTITY % local.function.attrib "">
+<!ENTITY % function.role.attrib "%role.attrib;">
+
+<!ENTITY % function.element "INCLUDE">
+<![%function.element;[
+<!ELEMENT function (%cptr.char.mix;)*>
+<!--end of function.element-->]]>
+
+<!ENTITY % function.attlist "INCLUDE">
+<![%function.attlist;[
+<!ATTLIST function
+ %moreinfo.attrib;
+ %common.attrib;
+ %function.role.attrib;
+ %local.function.attrib;
+>
+<!--end of function.attlist-->]]>
+<!--end of function.module-->]]>
+
+<!ENTITY % guibutton.module "INCLUDE">
+<![%guibutton.module;[
+<!ENTITY % local.guibutton.attrib "">
+<!ENTITY % guibutton.role.attrib "%role.attrib;">
+
+<!ENTITY % guibutton.element "INCLUDE">
+<![%guibutton.element;[
+<!ELEMENT guibutton (%smallcptr.char.mix;|accel)*>
+<!--end of guibutton.element-->]]>
+
+<!ENTITY % guibutton.attlist "INCLUDE">
+<![%guibutton.attlist;[
+<!ATTLIST guibutton
+ %moreinfo.attrib;
+ %common.attrib;
+ %guibutton.role.attrib;
+ %local.guibutton.attrib;
+>
+<!--end of guibutton.attlist-->]]>
+<!--end of guibutton.module-->]]>
+
+<!ENTITY % guiicon.module "INCLUDE">
+<![%guiicon.module;[
+<!ENTITY % local.guiicon.attrib "">
+<!ENTITY % guiicon.role.attrib "%role.attrib;">
+
+<!ENTITY % guiicon.element "INCLUDE">
+<![%guiicon.element;[
+<!ELEMENT guiicon (%smallcptr.char.mix;|accel)*>
+<!--end of guiicon.element-->]]>
+
+<!ENTITY % guiicon.attlist "INCLUDE">
+<![%guiicon.attlist;[
+<!ATTLIST guiicon
+ %moreinfo.attrib;
+ %common.attrib;
+ %guiicon.role.attrib;
+ %local.guiicon.attrib;
+>
+<!--end of guiicon.attlist-->]]>
+<!--end of guiicon.module-->]]>
+
+<!ENTITY % guilabel.module "INCLUDE">
+<![%guilabel.module;[
+<!ENTITY % local.guilabel.attrib "">
+<!ENTITY % guilabel.role.attrib "%role.attrib;">
+
+<!ENTITY % guilabel.element "INCLUDE">
+<![%guilabel.element;[
+<!ELEMENT guilabel (%smallcptr.char.mix;|accel)*>
+<!--end of guilabel.element-->]]>
+
+<!ENTITY % guilabel.attlist "INCLUDE">
+<![%guilabel.attlist;[
+<!ATTLIST guilabel
+ %moreinfo.attrib;
+ %common.attrib;
+ %guilabel.role.attrib;
+ %local.guilabel.attrib;
+>
+<!--end of guilabel.attlist-->]]>
+<!--end of guilabel.module-->]]>
+
+<!ENTITY % guimenu.module "INCLUDE">
+<![%guimenu.module;[
+<!ENTITY % local.guimenu.attrib "">
+<!ENTITY % guimenu.role.attrib "%role.attrib;">
+
+<!ENTITY % guimenu.element "INCLUDE">
+<![%guimenu.element;[
+<!ELEMENT guimenu (%smallcptr.char.mix;|accel)*>
+<!--end of guimenu.element-->]]>
+
+<!ENTITY % guimenu.attlist "INCLUDE">
+<![%guimenu.attlist;[
+<!ATTLIST guimenu
+ %moreinfo.attrib;
+ %common.attrib;
+ %guimenu.role.attrib;
+ %local.guimenu.attrib;
+>
+<!--end of guimenu.attlist-->]]>
+<!--end of guimenu.module-->]]>
+
+<!ENTITY % guimenuitem.module "INCLUDE">
+<![%guimenuitem.module;[
+<!ENTITY % local.guimenuitem.attrib "">
+<!ENTITY % guimenuitem.role.attrib "%role.attrib;">
+
+<!ENTITY % guimenuitem.element "INCLUDE">
+<![%guimenuitem.element;[
+<!ELEMENT guimenuitem (%smallcptr.char.mix;|accel)*>
+<!--end of guimenuitem.element-->]]>
+
+<!ENTITY % guimenuitem.attlist "INCLUDE">
+<![%guimenuitem.attlist;[
+<!ATTLIST guimenuitem
+ %moreinfo.attrib;
+ %common.attrib;
+ %guimenuitem.role.attrib;
+ %local.guimenuitem.attrib;
+>
+<!--end of guimenuitem.attlist-->]]>
+<!--end of guimenuitem.module-->]]>
+
+<!ENTITY % guisubmenu.module "INCLUDE">
+<![%guisubmenu.module;[
+<!ENTITY % local.guisubmenu.attrib "">
+<!ENTITY % guisubmenu.role.attrib "%role.attrib;">
+
+<!ENTITY % guisubmenu.element "INCLUDE">
+<![%guisubmenu.element;[
+<!ELEMENT guisubmenu (%smallcptr.char.mix;|accel)*>
+<!--end of guisubmenu.element-->]]>
+
+<!ENTITY % guisubmenu.attlist "INCLUDE">
+<![%guisubmenu.attlist;[
+<!ATTLIST guisubmenu
+ %moreinfo.attrib;
+ %common.attrib;
+ %guisubmenu.role.attrib;
+ %local.guisubmenu.attrib;
+>
+<!--end of guisubmenu.attlist-->]]>
+<!--end of guisubmenu.module-->]]>
+
+<!ENTITY % hardware.module "INCLUDE">
+<![%hardware.module;[
+<!ENTITY % local.hardware.attrib "">
+<!ENTITY % hardware.role.attrib "%role.attrib;">
+
+<!ENTITY % hardware.element "INCLUDE">
+<![%hardware.element;[
+<!ELEMENT hardware (%smallcptr.char.mix;)*>
+<!--end of hardware.element-->]]>
+
+<!ENTITY % hardware.attlist "INCLUDE">
+<![%hardware.attlist;[
+<!ATTLIST hardware
+ %moreinfo.attrib;
+ %common.attrib;
+ %hardware.role.attrib;
+ %local.hardware.attrib;
+>
+<!--end of hardware.attlist-->]]>
+<!--end of hardware.module-->]]>
+
+<!ENTITY % interface.module "INCLUDE">
+<![%interface.module;[
+<!ENTITY % local.interface.attrib "">
+<!ENTITY % interface.role.attrib "%role.attrib;">
+
+<!ENTITY % interface.element "INCLUDE">
+<![%interface.element;[
+<!ELEMENT interface (%smallcptr.char.mix;|accel)*>
+<!--end of interface.element-->]]>
+
+<!-- Class: Type of the Interface item; no default -->
+
+
+<!ENTITY % interface.attlist "INCLUDE">
+<![%interface.attlist;[
+<!ATTLIST interface
+ %moreinfo.attrib;
+ %common.attrib;
+ %interface.role.attrib;
+ %local.interface.attrib;
+>
+<!--end of interface.attlist-->]]>
+<!--end of interface.module-->]]>
+
+<!ENTITY % keycap.module "INCLUDE">
+<![%keycap.module;[
+<!ENTITY % local.keycap.attrib "">
+<!ENTITY % keycap.role.attrib "%role.attrib;">
+
+<!ENTITY % keycap.element "INCLUDE">
+<![%keycap.element;[
+<!ELEMENT keycap (%smallcptr.char.mix;)*>
+<!--end of keycap.element-->]]>
+
+<!ENTITY % keycap.attlist "INCLUDE">
+<![%keycap.attlist;[
+<!ATTLIST keycap
+ %moreinfo.attrib;
+ %common.attrib;
+ %keycap.role.attrib;
+ %local.keycap.attrib;
+>
+<!--end of keycap.attlist-->]]>
+<!--end of keycap.module-->]]>
+
+<!ENTITY % keycode.module "INCLUDE">
+<![%keycode.module;[
+<!ENTITY % local.keycode.attrib "">
+<!ENTITY % keycode.role.attrib "%role.attrib;">
+
+<!ENTITY % keycode.element "INCLUDE">
+<![%keycode.element;[
+<!ELEMENT keycode (%smallcptr.char.mix;)*>
+<!--end of keycode.element-->]]>
+
+<!ENTITY % keycode.attlist "INCLUDE">
+<![%keycode.attlist;[
+<!ATTLIST keycode
+ %common.attrib;
+ %keycode.role.attrib;
+ %local.keycode.attrib;
+>
+<!--end of keycode.attlist-->]]>
+<!--end of keycode.module-->]]>
+
+<!ENTITY % keycombo.module "INCLUDE">
+<![%keycombo.module;[
+<!ENTITY % local.keycombo.attrib "">
+<!ENTITY % keycombo.role.attrib "%role.attrib;">
+
+<!ENTITY % keycombo.element "INCLUDE">
+<![%keycombo.element;[
+<!ELEMENT keycombo ((keycap|keycombo|keysym|mousebutton)+)>
+<!--end of keycombo.element-->]]>
+
+<!ENTITY % keycombo.attlist "INCLUDE">
+<![%keycombo.attlist;[
+<!ATTLIST keycombo
+ %keyaction.attrib;
+ %moreinfo.attrib;
+ %common.attrib;
+ %keycombo.role.attrib;
+ %local.keycombo.attrib;
+>
+<!--end of keycombo.attlist-->]]>
+<!--end of keycombo.module-->]]>
+
+<!ENTITY % keysym.module "INCLUDE">
+<![%keysym.module;[
+<!ENTITY % local.keysym.attrib "">
+<!ENTITY % keysysm.role.attrib "%role.attrib;">
+
+<!ENTITY % keysym.element "INCLUDE">
+<![%keysym.element;[
+<!ELEMENT keysym (%smallcptr.char.mix;)*>
+<!--end of keysym.element-->]]>
+
+<!ENTITY % keysym.attlist "INCLUDE">
+<![%keysym.attlist;[
+<!ATTLIST keysym
+ %common.attrib;
+ %keysysm.role.attrib;
+ %local.keysym.attrib;
+>
+<!--end of keysym.attlist-->]]>
+<!--end of keysym.module-->]]>
+
+<!ENTITY % lineannotation.module "INCLUDE">
+<![%lineannotation.module;[
+<!ENTITY % local.lineannotation.attrib "">
+<!ENTITY % lineannotation.role.attrib "%role.attrib;">
+
+<!ENTITY % lineannotation.element "INCLUDE">
+<![%lineannotation.element;[
+<!ELEMENT lineannotation (%para.char.mix;)*>
+<!--end of lineannotation.element-->]]>
+
+<!ENTITY % lineannotation.attlist "INCLUDE">
+<![%lineannotation.attlist;[
+<!ATTLIST lineannotation
+ %common.attrib;
+ %lineannotation.role.attrib;
+ %local.lineannotation.attrib;
+>
+<!--end of lineannotation.attlist-->]]>
+<!--end of lineannotation.module-->]]>
+
+<!ENTITY % literal.module "INCLUDE">
+<![%literal.module;[
+<!ENTITY % local.literal.attrib "">
+<!ENTITY % literal.role.attrib "%role.attrib;">
+
+<!ENTITY % literal.element "INCLUDE">
+<![%literal.element;[
+<!ELEMENT literal (%cptr.char.mix;)*>
+<!--end of literal.element-->]]>
+
+<!ENTITY % literal.attlist "INCLUDE">
+<![%literal.attlist;[
+<!ATTLIST literal
+ %moreinfo.attrib;
+ %common.attrib;
+ %literal.role.attrib;
+ %local.literal.attrib;
+>
+<!--end of literal.attlist-->]]>
+<!--end of literal.module-->]]>
+
+<!ENTITY % constant.module "INCLUDE">
+<![ %constant.module; [
+<!ENTITY % local.constant.attrib "">
+<!ENTITY % constant.role.attrib "%role.attrib;">
+
+<!ENTITY % constant.element "INCLUDE">
+<![ %constant.element; [
+<!ELEMENT constant (%smallcptr.char.mix;)*>
+<!--end of constant.element-->]]>
+
+<!ENTITY % constant.attlist "INCLUDE">
+<![ %constant.attlist; [
+<!ATTLIST constant
+ %common.attrib;
+ %constant.role.attrib;
+ %local.constant.attrib;
+ class (limit) #IMPLIED
+>
+<!--end of constant.attlist-->]]>
+<!--end of constant.module-->]]>
+
+<!ENTITY % varname.module "INCLUDE">
+<![ %varname.module; [
+<!ENTITY % local.varname.attrib "">
+<!ENTITY % varname.role.attrib "%role.attrib;">
+
+<!ENTITY % varname.element "INCLUDE">
+<![ %varname.element; [
+<!ELEMENT varname (%smallcptr.char.mix;)*>
+<!--end of varname.element-->]]>
+
+<!ENTITY % varname.attlist "INCLUDE">
+<![ %varname.attlist; [
+<!ATTLIST varname
+ %common.attrib;
+ %varname.role.attrib;
+ %local.varname.attrib;
+>
+<!--end of varname.attlist-->]]>
+<!--end of varname.module-->]]>
+
+<!ENTITY % markup.module "INCLUDE">
+<![%markup.module;[
+<!ENTITY % local.markup.attrib "">
+<!ENTITY % markup.role.attrib "%role.attrib;">
+
+<!ENTITY % markup.element "INCLUDE">
+<![%markup.element;[
+<!ELEMENT markup (%smallcptr.char.mix;)*>
+<!--end of markup.element-->]]>
+
+<!ENTITY % markup.attlist "INCLUDE">
+<![%markup.attlist;[
+<!ATTLIST markup
+ %common.attrib;
+ %markup.role.attrib;
+ %local.markup.attrib;
+>
+<!--end of markup.attlist-->]]>
+<!--end of markup.module-->]]>
+
+<!ENTITY % medialabel.module "INCLUDE">
+<![%medialabel.module;[
+<!ENTITY % local.medialabel.attrib "">
+<!ENTITY % medialabel.role.attrib "%role.attrib;">
+
+<!ENTITY % medialabel.element "INCLUDE">
+<![%medialabel.element;[
+<!ELEMENT medialabel (%smallcptr.char.mix;)*>
+<!--end of medialabel.element-->]]>
+
+<!-- Class: Type of medium named by the element; no default -->
+
+
+<!ENTITY % medialabel.attlist "INCLUDE">
+<![%medialabel.attlist;[
+<!ATTLIST medialabel
+ class (cartridge
+ |cdrom
+ |disk
+ |tape) #IMPLIED
+ %common.attrib;
+ %medialabel.role.attrib;
+ %local.medialabel.attrib;
+>
+<!--end of medialabel.attlist-->]]>
+<!--end of medialabel.module-->]]>
+
+<!ENTITY % menuchoice.content.module "INCLUDE">
+<![%menuchoice.content.module;[
+<!ENTITY % menuchoice.module "INCLUDE">
+<![%menuchoice.module;[
+<!ENTITY % local.menuchoice.attrib "">
+<!ENTITY % menuchoice.role.attrib "%role.attrib;">
+
+<!ENTITY % menuchoice.element "INCLUDE">
+<![%menuchoice.element;[
+<!ELEMENT menuchoice (shortcut?, (guibutton|guiicon|guilabel
+ |guimenu|guimenuitem|guisubmenu|interface)+)>
+<!--end of menuchoice.element-->]]>
+
+<!ENTITY % menuchoice.attlist "INCLUDE">
+<![%menuchoice.attlist;[
+<!ATTLIST menuchoice
+ %moreinfo.attrib;
+ %common.attrib;
+ %menuchoice.role.attrib;
+ %local.menuchoice.attrib;
+>
+<!--end of menuchoice.attlist-->]]>
+<!--end of menuchoice.module-->]]>
+
+<!ENTITY % shortcut.module "INCLUDE">
+<![%shortcut.module;[
+<!-- See also KeyCombo -->
+<!ENTITY % local.shortcut.attrib "">
+<!ENTITY % shortcut.role.attrib "%role.attrib;">
+
+<!ENTITY % shortcut.element "INCLUDE">
+<![%shortcut.element;[
+<!ELEMENT shortcut ((keycap|keycombo|keysym|mousebutton)+)>
+<!--end of shortcut.element-->]]>
+
+<!ENTITY % shortcut.attlist "INCLUDE">
+<![%shortcut.attlist;[
+<!ATTLIST shortcut
+ %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-->]]>
+
+<!ENTITY % mousebutton.module "INCLUDE">
+<![%mousebutton.module;[
+<!ENTITY % local.mousebutton.attrib "">
+<!ENTITY % mousebutton.role.attrib "%role.attrib;">
+
+<!ENTITY % mousebutton.element "INCLUDE">
+<![%mousebutton.element;[
+<!ELEMENT mousebutton (%smallcptr.char.mix;)*>
+<!--end of mousebutton.element-->]]>
+
+<!ENTITY % mousebutton.attlist "INCLUDE">
+<![%mousebutton.attlist;[
+<!ATTLIST mousebutton
+ %moreinfo.attrib;
+ %common.attrib;
+ %mousebutton.role.attrib;
+ %local.mousebutton.attrib;
+>
+<!--end of mousebutton.attlist-->]]>
+<!--end of mousebutton.module-->]]>
+
+<!ENTITY % msgtext.module "INCLUDE">
+<![%msgtext.module;[
+<!ENTITY % local.msgtext.attrib "">
+<!ENTITY % msgtext.role.attrib "%role.attrib;">
+
+<!ENTITY % msgtext.element "INCLUDE">
+<![%msgtext.element;[
+<!ELEMENT msgtext ((%component.mix;)+)>
+<!--end of msgtext.element-->]]>
+
+<!ENTITY % msgtext.attlist "INCLUDE">
+<![%msgtext.attlist;[
+<!ATTLIST msgtext
+ %common.attrib;
+ %msgtext.role.attrib;
+ %local.msgtext.attrib;
+>
+<!--end of msgtext.attlist-->]]>
+<!--end of msgtext.module-->]]>
+
+<!ENTITY % option.module "INCLUDE">
+<![%option.module;[
+<!ENTITY % local.option.attrib "">
+<!ENTITY % option.role.attrib "%role.attrib;">
+
+<!ENTITY % option.element "INCLUDE">
+<![%option.element;[
+<!ELEMENT option (%smallcptr.char.mix;)*>
+<!--end of option.element-->]]>
+
+<!ENTITY % option.attlist "INCLUDE">
+<![%option.attlist;[
+<!ATTLIST option
+ %common.attrib;
+ %option.role.attrib;
+ %local.option.attrib;
+>
+<!--end of option.attlist-->]]>
+<!--end of option.module-->]]>
+
+<!ENTITY % optional.module "INCLUDE">
+<![%optional.module;[
+<!ENTITY % local.optional.attrib "">
+<!ENTITY % optional.role.attrib "%role.attrib;">
+
+<!ENTITY % optional.element "INCLUDE">
+<![%optional.element;[
+<!ELEMENT optional (%cptr.char.mix;)*>
+<!--end of optional.element-->]]>
+
+<!ENTITY % optional.attlist "INCLUDE">
+<![%optional.attlist;[
+<!ATTLIST optional
+ %common.attrib;
+ %optional.role.attrib;
+ %local.optional.attrib;
+>
+<!--end of optional.attlist-->]]>
+<!--end of optional.module-->]]>
+
+<!ENTITY % parameter.module "INCLUDE">
+<![%parameter.module;[
+<!ENTITY % local.parameter.attrib "">
+<!ENTITY % parameter.role.attrib "%role.attrib;">
+
+<!ENTITY % parameter.element "INCLUDE">
+<![%parameter.element;[
+<!ELEMENT parameter (%smallcptr.char.mix;)*>
+<!--end of parameter.element-->]]>
+
+<!-- Class: Type of the Parameter; no default -->
+
+
+<!ENTITY % parameter.attlist "INCLUDE">
+<![%parameter.attlist;[
+<!ATTLIST parameter
+ class (command
+ |function
+ |option) #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %parameter.role.attrib;
+ %local.parameter.attrib;
+>
+<!--end of parameter.attlist-->]]>
+<!--end of parameter.module-->]]>
+
+<!ENTITY % prompt.module "INCLUDE">
+<![%prompt.module;[
+<!ENTITY % local.prompt.attrib "">
+<!ENTITY % prompt.role.attrib "%role.attrib;">
+
+<!ENTITY % prompt.element "INCLUDE">
+<![%prompt.element;[
+<!ELEMENT prompt (%smallcptr.char.mix;)*>
+<!--end of prompt.element-->]]>
+
+<!ENTITY % prompt.attlist "INCLUDE">
+<![%prompt.attlist;[
+<!ATTLIST prompt
+ %moreinfo.attrib;
+ %common.attrib;
+ %prompt.role.attrib;
+ %local.prompt.attrib;
+>
+<!--end of prompt.attlist-->]]>
+<!--end of prompt.module-->]]>
+
+<!ENTITY % property.module "INCLUDE">
+<![%property.module;[
+<!ENTITY % local.property.attrib "">
+<!ENTITY % property.role.attrib "%role.attrib;">
+
+<!ENTITY % property.element "INCLUDE">
+<![%property.element;[
+<!ELEMENT property (%smallcptr.char.mix;)*>
+<!--end of property.element-->]]>
+
+<!ENTITY % property.attlist "INCLUDE">
+<![%property.attlist;[
+<!ATTLIST property
+ %moreinfo.attrib;
+ %common.attrib;
+ %property.role.attrib;
+ %local.property.attrib;
+>
+<!--end of property.attlist-->]]>
+<!--end of property.module-->]]>
+
+<!ENTITY % replaceable.module "INCLUDE">
+<![%replaceable.module;[
+<!ENTITY % local.replaceable.attrib "">
+<!ENTITY % replaceable.role.attrib "%role.attrib;">
+
+<!ENTITY % replaceable.element "INCLUDE">
+<![%replaceable.element;[
+<!ELEMENT replaceable (#PCDATA
+ | %link.char.class;
+ | optional
+ | %base.char.class;
+ | %other.char.class;
+ | inlinegraphic
+ | inlinemediaobject)*>
+<!--end of replaceable.element-->]]>
+
+<!-- Class: Type of information the element represents; no
+ default -->
+
+
+<!ENTITY % replaceable.attlist "INCLUDE">
+<![%replaceable.attlist;[
+<!ATTLIST replaceable
+ class (command
+ |function
+ |option
+ |parameter) #IMPLIED
+ %common.attrib;
+ %replaceable.role.attrib;
+ %local.replaceable.attrib;
+>
+<!--end of replaceable.attlist-->]]>
+<!--end of replaceable.module-->]]>
+
+<!ENTITY % returnvalue.module "INCLUDE">
+<![%returnvalue.module;[
+<!ENTITY % local.returnvalue.attrib "">
+<!ENTITY % returnvalue.role.attrib "%role.attrib;">
+
+<!ENTITY % returnvalue.element "INCLUDE">
+<![%returnvalue.element;[
+<!ELEMENT returnvalue (%smallcptr.char.mix;)*>
+<!--end of returnvalue.element-->]]>
+
+<!ENTITY % returnvalue.attlist "INCLUDE">
+<![%returnvalue.attlist;[
+<!ATTLIST returnvalue
+ %common.attrib;
+ %returnvalue.role.attrib;
+ %local.returnvalue.attrib;
+>
+<!--end of returnvalue.attlist-->]]>
+<!--end of returnvalue.module-->]]>
+
+<!ENTITY % sgmltag.module "INCLUDE">
+<![%sgmltag.module;[
+<!ENTITY % local.sgmltag.attrib "">
+<!ENTITY % sgmltag.role.attrib "%role.attrib;">
+
+<!ENTITY % sgmltag.element "INCLUDE">
+<![%sgmltag.element;[
+<!ELEMENT sgmltag (%smallcptr.char.mix;)*>
+<!--end of sgmltag.element-->]]>
+
+<!-- Class: Type of SGML construct the element names; no default -->
+
+
+<!ENTITY % sgmltag.attlist "INCLUDE">
+<![%sgmltag.attlist;[
+<!ATTLIST sgmltag
+ class (attribute
+ |attvalue
+ |element
+ |endtag
+ |emptytag
+ |genentity
+ |numcharref
+ |paramentity
+ |pi
+ |xmlpi
+ |starttag
+ |sgmlcomment) #IMPLIED
+ %common.attrib;
+ %sgmltag.role.attrib;
+ %local.sgmltag.attrib;
+>
+<!--end of sgmltag.attlist-->]]>
+<!--end of sgmltag.module-->]]>
+
+<!ENTITY % structfield.module "INCLUDE">
+<![%structfield.module;[
+<!ENTITY % local.structfield.attrib "">
+<!ENTITY % structfield.role.attrib "%role.attrib;">
+
+<!ENTITY % structfield.element "INCLUDE">
+<![%structfield.element;[
+<!ELEMENT structfield (%smallcptr.char.mix;)*>
+<!--end of structfield.element-->]]>
+
+<!ENTITY % structfield.attlist "INCLUDE">
+<![%structfield.attlist;[
+<!ATTLIST structfield
+ %common.attrib;
+ %structfield.role.attrib;
+ %local.structfield.attrib;
+>
+<!--end of structfield.attlist-->]]>
+<!--end of structfield.module-->]]>
+
+<!ENTITY % structname.module "INCLUDE">
+<![%structname.module;[
+<!ENTITY % local.structname.attrib "">
+<!ENTITY % structname.role.attrib "%role.attrib;">
+
+<!ENTITY % structname.element "INCLUDE">
+<![%structname.element;[
+<!ELEMENT structname (%smallcptr.char.mix;)*>
+<!--end of structname.element-->]]>
+
+<!ENTITY % structname.attlist "INCLUDE">
+<![%structname.attlist;[
+<!ATTLIST structname
+ %common.attrib;
+ %structname.role.attrib;
+ %local.structname.attrib;
+>
+<!--end of structname.attlist-->]]>
+<!--end of structname.module-->]]>
+
+<!ENTITY % symbol.module "INCLUDE">
+<![%symbol.module;[
+<!ENTITY % local.symbol.attrib "">
+<!ENTITY % symbol.role.attrib "%role.attrib;">
+
+<!ENTITY % symbol.element "INCLUDE">
+<![%symbol.element;[
+<!ELEMENT symbol (%smallcptr.char.mix;)*>
+<!--end of symbol.element-->]]>
+
+<!-- Class: Type of symbol; no default -->
+
+
+<!ENTITY % symbol.attlist "INCLUDE">
+<![%symbol.attlist;[
+<!ATTLIST symbol
+ class (limit) #IMPLIED
+ %common.attrib;
+ %symbol.role.attrib;
+ %local.symbol.attrib;
+>
+<!--end of symbol.attlist-->]]>
+<!--end of symbol.module-->]]>
+
+<!ENTITY % systemitem.module "INCLUDE">
+<![%systemitem.module;[
+<!ENTITY % local.systemitem.attrib "">
+<!ENTITY % systemitem.role.attrib "%role.attrib;">
+
+<!ENTITY % systemitem.element "INCLUDE">
+<![%systemitem.element;[
+<!ELEMENT systemitem (%smallcptr.char.mix; | acronym)*>
+<!--end of systemitem.element-->]]>
+
+<!-- Class: Type of system item the element names; no default -->
+
+<!ENTITY % systemitem.attlist "INCLUDE">
+<![%systemitem.attlist;[
+<!ATTLIST systemitem
+ class (constant
+ |groupname
+ |library
+ |macro
+ |osname
+ |resource
+ |systemname
+ |username) #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %systemitem.role.attrib;
+ %local.systemitem.attrib;
+>
+<!--end of systemitem.attlist-->]]>
+<!--end of systemitem.module-->]]>
+
+
+<!ENTITY % token.module "INCLUDE">
+<![%token.module;[
+<!ENTITY % local.token.attrib "">
+<!ENTITY % token.role.attrib "%role.attrib;">
+
+<!ENTITY % token.element "INCLUDE">
+<![%token.element;[
+<!ELEMENT token (%smallcptr.char.mix;)*>
+<!--end of token.element-->]]>
+
+<!ENTITY % token.attlist "INCLUDE">
+<![%token.attlist;[
+<!ATTLIST token
+ %common.attrib;
+ %token.role.attrib;
+ %local.token.attrib;
+>
+<!--end of token.attlist-->]]>
+<!--end of token.module-->]]>
+
+<!ENTITY % type.module "INCLUDE">
+<![%type.module;[
+<!ENTITY % local.type.attrib "">
+<!ENTITY % type.role.attrib "%role.attrib;">
+
+<!ENTITY % type.element "INCLUDE">
+<![%type.element;[
+<!ELEMENT type (%smallcptr.char.mix;)*>
+<!--end of type.element-->]]>
+
+<!ENTITY % type.attlist "INCLUDE">
+<![%type.attlist;[
+<!ATTLIST type
+ %common.attrib;
+ %type.role.attrib;
+ %local.type.attrib;
+>
+<!--end of type.attlist-->]]>
+<!--end of type.module-->]]>
+
+<!ENTITY % userinput.module "INCLUDE">
+<![%userinput.module;[
+<!ENTITY % local.userinput.attrib "">
+<!ENTITY % userinput.role.attrib "%role.attrib;">
+
+<!ENTITY % userinput.element "INCLUDE">
+<![%userinput.element;[
+<!ELEMENT userinput (%cptr.char.mix;)*>
+<!--end of userinput.element-->]]>
+
+<!ENTITY % userinput.attlist "INCLUDE">
+<![%userinput.attlist;[
+<!ATTLIST userinput
+ %moreinfo.attrib;
+ %common.attrib;
+ %userinput.role.attrib;
+ %local.userinput.attrib;
+>
+<!--end of userinput.attlist-->]]>
+<!--end of userinput.module-->]]>
+
+<!-- General words and phrases ............................................ -->
+
+<!ENTITY % abbrev.module "INCLUDE">
+<![%abbrev.module;[
+<!ENTITY % local.abbrev.attrib "">
+<!ENTITY % abbrev.role.attrib "%role.attrib;">
+
+<!ENTITY % abbrev.element "INCLUDE">
+<![%abbrev.element;[
+<!ELEMENT abbrev (%word.char.mix;)*>
+<!--end of abbrev.element-->]]>
+
+<!ENTITY % abbrev.attlist "INCLUDE">
+<![%abbrev.attlist;[
+<!ATTLIST abbrev
+ %common.attrib;
+ %abbrev.role.attrib;
+ %local.abbrev.attrib;
+>
+<!--end of abbrev.attlist-->]]>
+<!--end of abbrev.module-->]]>
+
+<!ENTITY % acronym.module "INCLUDE">
+<![%acronym.module;[
+<!ENTITY % local.acronym.attrib "">
+<!ENTITY % acronym.role.attrib "%role.attrib;">
+
+<!ENTITY % acronym.element "INCLUDE">
+<![%acronym.element;[
+<!ELEMENT acronym (%word.char.mix;)*>
+<!--end of acronym.element-->]]>
+
+<!ENTITY % acronym.attlist "INCLUDE">
+<![%acronym.attlist;[
+<!ATTLIST acronym
+ %common.attrib;
+ %acronym.role.attrib;
+ %local.acronym.attrib;
+>
+<!--end of acronym.attlist-->]]>
+<!--end of acronym.module-->]]>
+
+<!ENTITY % citation.module "INCLUDE">
+<![%citation.module;[
+<!ENTITY % local.citation.attrib "">
+<!ENTITY % citation.role.attrib "%role.attrib;">
+
+<!ENTITY % citation.element "INCLUDE">
+<![%citation.element;[
+<!ELEMENT citation (%para.char.mix;)*>
+<!--end of citation.element-->]]>
+
+<!ENTITY % citation.attlist "INCLUDE">
+<![%citation.attlist;[
+<!ATTLIST citation
+ %common.attrib;
+ %citation.role.attrib;
+ %local.citation.attrib;
+>
+<!--end of citation.attlist-->]]>
+<!--end of citation.module-->]]>
+
+<!ENTITY % citerefentry.module "INCLUDE">
+<![%citerefentry.module;[
+<!ENTITY % local.citerefentry.attrib "">
+<!ENTITY % citerefentry.role.attrib "%role.attrib;">
+
+<!ENTITY % citerefentry.element "INCLUDE">
+<![%citerefentry.element;[
+<!ELEMENT citerefentry (refentrytitle, manvolnum?)>
+<!--end of citerefentry.element-->]]>
+
+<!ENTITY % citerefentry.attlist "INCLUDE">
+<![%citerefentry.attlist;[
+<!ATTLIST citerefentry
+ %common.attrib;
+ %citerefentry.role.attrib;
+ %local.citerefentry.attrib;
+>
+<!--end of citerefentry.attlist-->]]>
+<!--end of citerefentry.module-->]]>
+
+<!ENTITY % refentrytitle.module "INCLUDE">
+<![%refentrytitle.module;[
+<!ENTITY % local.refentrytitle.attrib "">
+<!ENTITY % refentrytitle.role.attrib "%role.attrib;">
+
+<!ENTITY % refentrytitle.element "INCLUDE">
+<![%refentrytitle.element;[
+<!ELEMENT refentrytitle (%para.char.mix;)*>
+<!--end of refentrytitle.element-->]]>
+
+<!ENTITY % refentrytitle.attlist "INCLUDE">
+<![%refentrytitle.attlist;[
+<!ATTLIST refentrytitle
+ %common.attrib;
+ %refentrytitle.role.attrib;
+ %local.refentrytitle.attrib;
+>
+<!--end of refentrytitle.attlist-->]]>
+<!--end of refentrytitle.module-->]]>
+
+<!ENTITY % manvolnum.module "INCLUDE">
+<![%manvolnum.module;[
+<!ENTITY % local.manvolnum.attrib "">
+<!ENTITY % namvolnum.role.attrib "%role.attrib;">
+
+<!ENTITY % manvolnum.element "INCLUDE">
+<![%manvolnum.element;[
+<!ELEMENT manvolnum (%word.char.mix;)*>
+<!--end of manvolnum.element-->]]>
+
+<!ENTITY % manvolnum.attlist "INCLUDE">
+<![%manvolnum.attlist;[
+<!ATTLIST manvolnum
+ %common.attrib;
+ %namvolnum.role.attrib;
+ %local.manvolnum.attrib;
+>
+<!--end of manvolnum.attlist-->]]>
+<!--end of manvolnum.module-->]]>
+
+<!ENTITY % citetitle.module "INCLUDE">
+<![%citetitle.module;[
+<!ENTITY % local.citetitle.attrib "">
+<!ENTITY % citetitle.role.attrib "%role.attrib;">
+
+<!ENTITY % citetitle.element "INCLUDE">
+<![%citetitle.element;[
+<!ELEMENT citetitle (%para.char.mix;)*>
+<!--end of citetitle.element-->]]>
+
+<!-- Pubwork: Genre of published work cited; no default -->
+
+
+<!ENTITY % citetitle.attlist "INCLUDE">
+<![%citetitle.attlist;[
+<!ATTLIST citetitle
+ pubwork (article
+ |book
+ |chapter
+ |part
+ |refentry
+ |section
+ |journal
+ |series
+ |set
+ |manuscript) #IMPLIED
+ %common.attrib;
+ %citetitle.role.attrib;
+ %local.citetitle.attrib;
+>
+<!--end of citetitle.attlist-->]]>
+<!--end of citetitle.module-->]]>
+
+<!ENTITY % emphasis.module "INCLUDE">
+<![%emphasis.module;[
+<!ENTITY % local.emphasis.attrib "">
+<!ENTITY % emphasis.role.attrib "%role.attrib;">
+
+<!ENTITY % emphasis.element "INCLUDE">
+<![%emphasis.element;[
+<!ELEMENT emphasis (%para.char.mix;)*>
+<!--end of emphasis.element-->]]>
+
+<!ENTITY % emphasis.attlist "INCLUDE">
+<![%emphasis.attlist;[
+<!ATTLIST emphasis
+ %common.attrib;
+ %emphasis.role.attrib;
+ %local.emphasis.attrib;
+>
+<!--end of emphasis.attlist-->]]>
+<!--end of emphasis.module-->]]>
+
+<!ENTITY % firstterm.module "INCLUDE">
+<![%firstterm.module;[
+<!ENTITY % local.firstterm.attrib "">
+<!ENTITY % firstterm.role.attrib "%role.attrib;">
+
+<!ENTITY % firstterm.element "INCLUDE">
+<![%firstterm.element;[
+<!ELEMENT firstterm (%word.char.mix;)*>
+<!--end of firstterm.element-->]]>
+
+<!-- to GlossEntry or other explanation -->
+
+
+<!ENTITY % firstterm.attlist "INCLUDE">
+<![%firstterm.attlist;[
+<!ATTLIST firstterm
+ %linkend.attrib; %common.attrib;
+ %firstterm.role.attrib;
+ %local.firstterm.attrib;
+>
+<!--end of firstterm.attlist-->]]>
+<!--end of firstterm.module-->]]>
+
+<!ENTITY % foreignphrase.module "INCLUDE">
+<![%foreignphrase.module;[
+<!ENTITY % local.foreignphrase.attrib "">
+<!ENTITY % foreignphrase.role.attrib "%role.attrib;">
+
+<!ENTITY % foreignphrase.element "INCLUDE">
+<![%foreignphrase.element;[
+<!ELEMENT foreignphrase (%para.char.mix;)*>
+<!--end of foreignphrase.element-->]]>
+
+<!ENTITY % foreignphrase.attlist "INCLUDE">
+<![%foreignphrase.attlist;[
+<!ATTLIST foreignphrase
+ %common.attrib;
+ %foreignphrase.role.attrib;
+ %local.foreignphrase.attrib;
+>
+<!--end of foreignphrase.attlist-->]]>
+<!--end of foreignphrase.module-->]]>
+
+<!ENTITY % glossterm.module "INCLUDE">
+<![%glossterm.module;[
+<!ENTITY % local.glossterm.attrib "">
+<!ENTITY % glossterm.role.attrib "%role.attrib;">
+
+<!ENTITY % glossterm.element "INCLUDE">
+<![%glossterm.element;[
+<!ELEMENT glossterm (%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 -->
+
+
+<!ENTITY % glossterm.attlist "INCLUDE">
+<![%glossterm.attlist;[
+<!ATTLIST glossterm
+ %linkend.attrib; baseform CDATA #IMPLIED
+ %common.attrib;
+ %glossterm.role.attrib;
+ %local.glossterm.attrib;
+>
+<!--end of glossterm.attlist-->]]>
+<!--end of glossterm.module-->]]>
+
+<!ENTITY % phrase.module "INCLUDE">
+<![%phrase.module;[
+<!ENTITY % local.phrase.attrib "">
+<!ENTITY % phrase.role.attrib "%role.attrib;">
+
+<!ENTITY % phrase.element "INCLUDE">
+<![%phrase.element;[
+<!ELEMENT phrase (%para.char.mix;)*>
+<!--end of phrase.element-->]]>
+
+<!ENTITY % phrase.attlist "INCLUDE">
+<![%phrase.attlist;[
+<!ATTLIST phrase
+ %common.attrib;
+ %phrase.role.attrib;
+ %local.phrase.attrib;
+>
+<!--end of phrase.attlist-->]]>
+<!--end of phrase.module-->]]>
+
+<!ENTITY % quote.module "INCLUDE">
+<![%quote.module;[
+<!ENTITY % local.quote.attrib "">
+<!ENTITY % quote.role.attrib "%role.attrib;">
+
+<!ENTITY % quote.element "INCLUDE">
+<![%quote.element;[
+<!ELEMENT quote (%para.char.mix;)*>
+<!--end of quote.element-->]]>
+
+<!ENTITY % quote.attlist "INCLUDE">
+<![%quote.attlist;[
+<!ATTLIST quote
+ %common.attrib;
+ %quote.role.attrib;
+ %local.quote.attrib;
+>
+<!--end of quote.attlist-->]]>
+<!--end of quote.module-->]]>
+
+<!ENTITY % ssscript.module "INCLUDE">
+<![%ssscript.module;[
+<!ENTITY % local.ssscript.attrib "">
+<!ENTITY % ssscript.role.attrib "%role.attrib;">
+
+<!ENTITY % subscript.element "INCLUDE">
+<![%subscript.element;[
+<!ELEMENT subscript (#PCDATA
+ | %link.char.class;
+ | emphasis
+ | replaceable
+ | symbol
+ | inlinegraphic
+ | inlinemediaobject
+ | %base.char.class;
+ | %other.char.class;)*>
+<!--end of subscript.element-->]]>
+
+<!ENTITY % subscript.attlist "INCLUDE">
+<![%subscript.attlist;[
+<!ATTLIST subscript
+ %common.attrib;
+ %ssscript.role.attrib;
+ %local.ssscript.attrib;
+>
+<!--end of subscript.attlist-->]]>
+
+<!ENTITY % superscript.element "INCLUDE">
+<![%superscript.element;[
+<!ELEMENT superscript (#PCDATA
+ | %link.char.class;
+ | emphasis
+ | replaceable
+ | symbol
+ | inlinegraphic
+ | inlinemediaobject
+ | %base.char.class;
+ | %other.char.class;)*>
+<!--end of superscript.element-->]]>
+
+<!ENTITY % superscript.attlist "INCLUDE">
+<![%superscript.attlist;[
+<!ATTLIST superscript
+ %common.attrib;
+ %ssscript.role.attrib;
+ %local.ssscript.attrib;
+>
+<!--end of superscript.attlist-->]]>
+<!--end of ssscript.module-->]]>
+
+<!ENTITY % trademark.module "INCLUDE">
+<![%trademark.module;[
+<!ENTITY % local.trademark.attrib "">
+<!ENTITY % trademark.role.attrib "%role.attrib;">
+
+<!ENTITY % trademark.element "INCLUDE">
+<![%trademark.element;[
+<!ELEMENT trademark (#PCDATA
+ | %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 -->
+
+
+<!ENTITY % trademark.attlist "INCLUDE">
+<![%trademark.attlist;[
+<!ATTLIST trademark
+ class (service
+ |trade
+ |registered
+ |copyright) 'trade'
+ %common.attrib;
+ %trademark.role.attrib;
+ %local.trademark.attrib;
+>
+<!--end of trademark.attlist-->]]>
+<!--end of trademark.module-->]]>
+
+<!ENTITY % wordasword.module "INCLUDE">
+<![%wordasword.module;[
+<!ENTITY % local.wordasword.attrib "">
+<!ENTITY % wordasword.role.attrib "%role.attrib;">
+
+<!ENTITY % wordasword.element "INCLUDE">
+<![%wordasword.element;[
+<!ELEMENT wordasword (%word.char.mix;)*>
+<!--end of wordasword.element-->]]>
+
+<!ENTITY % wordasword.attlist "INCLUDE">
+<![%wordasword.attlist;[
+<!ATTLIST wordasword
+ %common.attrib;
+ %wordasword.role.attrib;
+ %local.wordasword.attrib;
+>
+<!--end of wordasword.attlist-->]]>
+<!--end of wordasword.module-->]]>
+
+<!-- Links and cross-references ........................................... -->
+
+<!ENTITY % link.module "INCLUDE">
+<![%link.module;[
+<!ENTITY % local.link.attrib "">
+<!ENTITY % link.role.attrib "%role.attrib;">
+
+<!ENTITY % link.element "INCLUDE">
+<![%link.element;[
+<!ELEMENT link (%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 -->
+
+
+<!ENTITY % link.attlist "INCLUDE">
+<![%link.attlist;[
+<!ATTLIST link
+ endterm IDREF #IMPLIED
+ %linkendreq.attrib; type CDATA #IMPLIED
+ %common.attrib;
+ %link.role.attrib;
+ %local.link.attrib;
+>
+<!--end of link.attlist-->]]>
+<!--end of link.module-->]]>
+
+<!ENTITY % olink.module "INCLUDE">
+<![%olink.module;[
+<!ENTITY % local.olink.attrib "">
+<!ENTITY % olink.role.attrib "%role.attrib;">
+
+<!ENTITY % olink.element "INCLUDE">
+<![%olink.element;[
+<!ELEMENT olink (%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 -->
+
+
+<!ENTITY % olink.attlist "INCLUDE">
+<![%olink.attlist;[
+<!ATTLIST olink
+ targetdocent ENTITY #IMPLIED
+ linkmode IDREF #IMPLIED
+ localinfo CDATA #IMPLIED
+ type CDATA #IMPLIED
+ %common.attrib;
+ %olink.role.attrib;
+ %local.olink.attrib;
+>
+<!--end of olink.attlist-->]]>
+<!--end of olink.module-->]]>
+
+<!ENTITY % ulink.module "INCLUDE">
+<![%ulink.module;[
+<!ENTITY % local.ulink.attrib "">
+<!ENTITY % ulink.role.attrib "%role.attrib;">
+
+<!ENTITY % ulink.element "INCLUDE">
+<![%ulink.element;[
+<!ELEMENT ulink (%para.char.mix;)*>
+<!--end of ulink.element-->]]>
+
+<!-- URL: uniform resource locator; the target of the ULink -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % ulink.attlist "INCLUDE">
+<![%ulink.attlist;[
+<!ATTLIST ulink
+ url CDATA #REQUIRED
+ type CDATA #IMPLIED
+ %common.attrib;
+ %ulink.role.attrib;
+ %local.ulink.attrib;
+>
+<!--end of ulink.attlist-->]]>
+<!--end of ulink.module-->]]>
+
+<!ENTITY % footnoteref.module "INCLUDE">
+<![%footnoteref.module;[
+<!ENTITY % local.footnoteref.attrib "">
+<!ENTITY % footnoteref.role.attrib "%role.attrib;">
+
+<!ENTITY % footnoteref.element "INCLUDE">
+<![%footnoteref.element;[
+<!ELEMENT footnoteref EMPTY>
+<!--end of footnoteref.element-->]]>
+
+<!-- to footnote content supplied elsewhere -->
+
+
+<!ENTITY % footnoteref.attlist "INCLUDE">
+<![%footnoteref.attlist;[
+<!ATTLIST footnoteref
+ %linkendreq.attrib; %label.attrib;
+ %common.attrib;
+ %footnoteref.role.attrib;
+ %local.footnoteref.attrib;
+>
+<!--end of footnoteref.attlist-->]]>
+<!--end of footnoteref.module-->]]>
+
+<!ENTITY % xref.module "INCLUDE">
+<![%xref.module;[
+<!ENTITY % local.xref.attrib "">
+<!ENTITY % xref.role.attrib "%role.attrib;">
+
+<!ENTITY % xref.element "INCLUDE">
+<![%xref.element;[
+<!ELEMENT xref 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 -->
+
+
+<!ENTITY % xref.attlist "INCLUDE">
+<![%xref.attlist;[
+<!ATTLIST xref
+ endterm IDREF #IMPLIED
+ %linkendreq.attrib; %common.attrib;
+ %xref.role.attrib;
+ %local.xref.attrib;
+>
+<!--end of xref.attlist-->]]>
+<!--end of xref.module-->]]>
+
+<!-- Ubiquitous elements .................................................. -->
+
+<!ENTITY % anchor.module "INCLUDE">
+<![%anchor.module;[
+<!ENTITY % local.anchor.attrib "">
+<!ENTITY % anchor.role.attrib "%role.attrib;">
+
+<!ENTITY % anchor.element "INCLUDE">
+<![%anchor.element;[
+<!ELEMENT anchor EMPTY>
+<!--end of anchor.element-->]]>
+
+<!-- required -->
+<!-- replaces Lang -->
+
+
+<!ENTITY % anchor.attlist "INCLUDE">
+<![%anchor.attlist;[
+<!ATTLIST anchor
+ %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-->]]>
+
+<!ENTITY % beginpage.module "INCLUDE">
+<![%beginpage.module;[
+<!ENTITY % local.beginpage.attrib "">
+<!ENTITY % beginpage.role.attrib "%role.attrib;">
+
+<!ENTITY % beginpage.element "INCLUDE">
+<![%beginpage.element;[
+<!ELEMENT beginpage EMPTY>
+<!--end of beginpage.element-->]]>
+
+<!-- PageNum: Number of page that begins at this point -->
+
+
+<!ENTITY % beginpage.attlist "INCLUDE">
+<![%beginpage.attlist;[
+<!ATTLIST beginpage
+ %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. -->
+
+<!ENTITY % indexterm.content.module "INCLUDE">
+<![%indexterm.content.module;[
+<!ENTITY % indexterm.module "INCLUDE">
+<![%indexterm.module;[
+<!ENTITY % local.indexterm.attrib "">
+<!ENTITY % indexterm.role.attrib "%role.attrib;">
+
+<!ENTITY % indexterm.element "INCLUDE">
+<![%indexterm.element;[
+<!ELEMENT indexterm (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 -->
+
+
+<!ENTITY % indexterm.attlist "INCLUDE">
+<![%indexterm.attlist;[
+<!ATTLIST indexterm
+ %pagenum.attrib;
+ scope (all
+ |global
+ |local) #IMPLIED
+ significance (preferred
+ |normal) "normal"
+ class (singular
+ |startofrange
+ |endofrange) #IMPLIED
+ startref IDREF #IMPLIED
+ zone IDREFS #IMPLIED
+ %common.attrib;
+ %indexterm.role.attrib;
+ %local.indexterm.attrib;
+>
+<!--end of indexterm.attlist-->]]>
+<!--end of indexterm.module-->]]>
+
+<!ENTITY % primsecter.module "INCLUDE">
+<![%primsecter.module;[
+<!ENTITY % local.primsecter.attrib "">
+<!ENTITY % primsecter.role.attrib "%role.attrib;">
+
+
+<!ENTITY % primary.element "INCLUDE">
+<![%primary.element;[
+<!ELEMENT primary (%ndxterm.char.mix;)*>
+<!--end of primary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+ "fourteen" for an element containing "14" -->
+
+<!ENTITY % primary.attlist "INCLUDE">
+<![%primary.attlist;[
+<!ATTLIST primary
+ sortas CDATA #IMPLIED
+ %common.attrib;
+ %primsecter.role.attrib;
+ %local.primsecter.attrib;
+>
+<!--end of primary.attlist-->]]>
+
+
+<!ENTITY % secondary.element "INCLUDE">
+<![%secondary.element;[
+<!ELEMENT secondary (%ndxterm.char.mix;)*>
+<!--end of secondary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+ "fourteen" for an element containing "14" -->
+
+<!ENTITY % secondary.attlist "INCLUDE">
+<![%secondary.attlist;[
+<!ATTLIST secondary
+ sortas CDATA #IMPLIED
+ %common.attrib;
+ %primsecter.role.attrib;
+ %local.primsecter.attrib;
+>
+<!--end of secondary.attlist-->]]>
+
+
+<!ENTITY % tertiary.element "INCLUDE">
+<![%tertiary.element;[
+<!ELEMENT tertiary (%ndxterm.char.mix;)*>
+<!--end of tertiary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+ "fourteen" for an element containing "14" -->
+
+<!ENTITY % tertiary.attlist "INCLUDE">
+<![%tertiary.attlist;[
+<!ATTLIST tertiary
+ sortas CDATA #IMPLIED
+ %common.attrib;
+ %primsecter.role.attrib;
+ %local.primsecter.attrib;
+>
+<!--end of tertiary.attlist-->]]>
+
+<!--end of primsecter.module-->]]>
+
+<!ENTITY % seeseealso.module "INCLUDE">
+<![%seeseealso.module;[
+<!ENTITY % local.seeseealso.attrib "">
+<!ENTITY % seeseealso.role.attrib "%role.attrib;">
+
+<!ENTITY % see.element "INCLUDE">
+<![%see.element;[
+<!ELEMENT see (%ndxterm.char.mix;)*>
+<!--end of see.element-->]]>
+
+<!ENTITY % see.attlist "INCLUDE">
+<![%see.attlist;[
+<!ATTLIST see
+ %common.attrib;
+ %seeseealso.role.attrib;
+ %local.seeseealso.attrib;
+>
+<!--end of see.attlist-->]]>
+
+<!ENTITY % seealso.element "INCLUDE">
+<![%seealso.element;[
+<!ELEMENT seealso (%ndxterm.char.mix;)*>
+<!--end of seealso.element-->]]>
+
+<!ENTITY % seealso.attlist "INCLUDE">
+<![%seealso.attlist;[
+<!ATTLIST seealso
+ %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.1.2 ...................... -->
+<!-- ...................................................................... -->
diff --git a/lib/docbook/docbook-dtd/docbook.cat b/lib/docbook/docbook-dtd/docbook.cat new file mode 100644 index 000000000..56d84ed8f --- /dev/null +++ b/lib/docbook/docbook-dtd/docbook.cat @@ -0,0 +1,59 @@ + -- ...................................................................... --
+ -- Catalog data for DocBook XML V4.1.2 .................................... --
+ -- File docbook.cat ..................................................... --
+
+ -- 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/.
+ --
+
+ -- This is the catalog data file for DocBook XML V4.1.2. It is provided as
+ a convenience in building your own catalog files. You need not use
+ the filenames listed here, and need not use the filename method of
+ identifying storage objects at all. See the documentation for
+ detailed information on the files associated with the DocBook DTD.
+ See SGML Open Technical Resolution 9401 for detailed information
+ on supplying and using catalog data.
+ --
+
+ -- ...................................................................... --
+ -- DocBook driver file .................................................. --
+
+PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "docbookx.dtd"
+
+ -- ...................................................................... --
+ -- DocBook modules ...................................................... --
+
+PUBLIC "-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" "calstblx.dtd"
+PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN" "soextblx.dtd"
+PUBLIC "-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" "dbpoolx.mod"
+PUBLIC "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN" "dbhierx.mod"
+PUBLIC "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN" "dbgenent.mod"
+PUBLIC "-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN" "dbnotnx.mod"
+PUBLIC "-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN" "dbcentx.mod"
+
+ -- ...................................................................... --
+ -- ISO entity sets ...................................................... --
+
+PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN" "ent/iso-dia.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" "ent/iso-num.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN" "ent/iso-pub.ent"
+PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN" "ent/iso-tech.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN" "ent/iso-lat1.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN" "ent/iso-lat2.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Greek Letters//EN" "ent/iso-grk1.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Monotoniko Greek//EN" "ent/iso-grk2.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Greek Symbols//EN" "ent/iso-grk3.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN" "ent/iso-grk4.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN" "ent/iso-amsa.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN" "ent/iso-amsb.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN" "ent/iso-amsc.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" "ent/iso-amsn.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN" "ent/iso-amso.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN" "ent/iso-amsr.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Box and Line Drawing//EN" "ent/iso-box.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Russian Cyrillic//EN" "ent/iso-cyr1.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN" "ent/iso-cyr2.ent"
+
+ -- End of catalog data for DocBook XML V4.1.2 ............................. --
+ -- ...................................................................... --
diff --git a/lib/docbook/docbook-dtd/docbookx.dtd b/lib/docbook/docbook-dtd/docbookx.dtd new file mode 100644 index 000000000..349e6ed22 --- /dev/null +++ b/lib/docbook/docbook-dtd/docbookx.dtd @@ -0,0 +1,125 @@ +<!-- ...................................................................... -->
+<!-- DocBook XML DTD V4.1.2 ................................................. -->
+<!-- File docbookx.dtd .................................................... -->
+
+<!-- Copyright 1992-2000 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, and the Organization for the Advancement
+ of Structured Information Standards (OASIS).
+
+ $Id: docbookx.dtd,v 1.1 2002/05/15 17:22:22 isberg Exp $
+
+ 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.1.2 of the DocBook DTD.
+ Please use the following formal public identifier to identify it:
+
+ "-//OASIS//DTD DocBook XML V4.1.2//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.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.0/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.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.0/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.
+-->
+
+<!-- ...................................................................... -->
+<!-- Notation declarations ................................................ -->
+
+<!ENTITY % dbnotn.module "INCLUDE">
+<![%dbnotn.module;[
+<!ENTITY % dbnotn PUBLIC
+"-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN"
+"dbnotnx.mod">
+%dbnotn;
+]]>
+
+<!-- ...................................................................... -->
+<!-- ISO character entity sets ............................................ -->
+
+<!ENTITY % dbcent.module "INCLUDE">
+<![%dbcent.module;[
+<!ENTITY euro "€"><!-- euro sign, U+20AC NEW -->
+<!ENTITY % dbcent PUBLIC
+"-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN"
+"dbcentx.mod">
+%dbcent;
+]]>
+
+<!-- ...................................................................... -->
+<!-- DTD modules .......................................................... -->
+
+<!-- Information pool .............. -->
+
+<!ENTITY % dbpool.module "INCLUDE">
+<![ %dbpool.module; [
+<!ENTITY % dbpool PUBLIC
+"-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN"
+"dbpoolx.mod">
+%dbpool;
+]]>
+
+<!-- Redeclaration placeholder ..... -->
+
+<!ENTITY % intermod.redecl.module "IGNORE">
+<![%intermod.redecl.module;[
+<!-- Defining rdbmods here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbmods "">
+%rdbmods;
+<!--end of intermod.redecl.module-->]]>
+
+<!-- Document hierarchy ............ -->
+
+<!ENTITY % dbhier.module "INCLUDE">
+<![ %dbhier.module; [
+<!ENTITY % dbhier PUBLIC
+"-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN"
+"dbhierx.mod">
+%dbhier;
+]]>
+
+<!-- ...................................................................... -->
+<!-- Other general entities ............................................... -->
+
+<!ENTITY % dbgenent.module "INCLUDE">
+<![ %dbgenent.module; [
+<!ENTITY % dbgenent PUBLIC
+"-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN"
+"dbgenent.mod">
+%dbgenent;
+]]>
+
+<!-- End of DocBook XML DTD V4.1.2 .......................................... -->
+<!-- ...................................................................... -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-amsa.ent b/lib/docbook/docbook-dtd/ent/iso-amsa.ent new file mode 100644 index 000000000..013464e21 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-amsa.ent @@ -0,0 +1,63 @@ +<!-- iso-amsa.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz
+ With additional derivations from
+ ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY cularr "↶"> <!-- ANTICLOCKWISE TOP SEMICIRCLE ARROW -->
+<!ENTITY curarr "↷"> <!-- CLOCKWISE TOP SEMICIRCLE ARROW -->
+<!ENTITY dArr "⇓"> <!-- DOWNWARDS DOUBLE ARROW -->
+<!ENTITY darr2 "⇊"> <!-- DOWNWARDS PAIRED ARROWS -->
+<!ENTITY dharl "⇃"> <!-- DOWNWARDS HARPOON WITH BARB LEFTWARDS -->
+<!ENTITY dharr "⇂"> <!-- DOWNWARDS HARPOON WITH BARB RIGHTWARDS -->
+<!ENTITY lAarr "⇚"> <!-- LEFTWARDS TRIPLE ARROW -->
+<!ENTITY Larr "↞"> <!-- LEFTWARDS TWO HEADED ARROW -->
+<!ENTITY larr2 "⇇"> <!-- LEFTWARDS PAIRED ARROWS -->
+<!ENTITY larrhk "↩"> <!-- LEFTWARDS ARROW WITH HOOK -->
+<!ENTITY larrlp "↫"> <!-- LEFTWARDS ARROW WITH LOOP -->
+<!ENTITY larrtl "↢"> <!-- LEFTWARDS ARROW WITH TAIL -->
+<!ENTITY lhard "↽"> <!-- LEFTWARDS HARPOON WITH BARB DOWNWARDS -->
+<!ENTITY lharu "↼"> <!-- LEFTWARDS HARPOON WITH BARB UPWARDS -->
+<!ENTITY hArr "⇔"> <!-- -->
+<!ENTITY harr "↔"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY lrarr2 "⇆"> <!-- LEFTWARDS ARROW OVER RIGHTWARDS ARROW -->
+<!ENTITY rlarr2 "⇄"> <!-- RIGHTWARDS ARROW OVER LEFTWARDS ARROW -->
+<!ENTITY harrw "↭"> <!-- LEFT RIGHT WAVE ARROW -->
+<!ENTITY rlhar2 "⇌"> <!-- RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON -->
+<!ENTITY lrhar2 "⇋"> <!-- LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON -->
+<!ENTITY lsh "↰"> <!-- UPWARDS ARROW WITH TIP LEFTWARDS -->
+<!ENTITY map "↦"> <!-- RIGHTWARDS ARROW FROM BAR -->
+<!ENTITY mumap "⊸"> <!-- MULTIMAP -->
+<!ENTITY nearr "↗"> <!-- NORTH EAST ARROW -->
+<!ENTITY nlArr "⇍"> <!-- LEFTWARDS DOUBLE ARROW WITH STROKE -->
+<!ENTITY nlarr "↚"> <!-- LEFTWARDS ARROW WITH STROKE -->
+<!ENTITY nhArr "⇎"> <!-- LEFT RIGHT DOUBLE ARROW WITH STROKE -->
+<!ENTITY nharr "↮"> <!-- LEFT RIGHT ARROW WITH STROKE -->
+<!ENTITY nrarr "↛"> <!-- RIGHTWARDS ARROW WITH STROKE -->
+<!ENTITY nrArr "⇏"> <!-- RIGHTWARDS DOUBLE ARROW WITH STROKE -->
+<!ENTITY nwarr "↖"> <!-- NORTH WEST ARROW -->
+<!ENTITY olarr "↺"> <!-- ANTICLOCKWISE OPEN CIRCLE ARROW -->
+<!ENTITY orarr "↻"> <!-- CLOCKWISE OPEN CIRCLE ARROW -->
+<!ENTITY rAarr "⇛"> <!-- RIGHTWARDS TRIPLE ARROW -->
+<!ENTITY Rarr "↠"> <!-- RIGHTWARDS TWO HEADED ARROW -->
+<!ENTITY rarr2 "⇉"> <!-- RIGHTWARDS PAIRED ARROWS -->
+<!ENTITY rarrhk "↪"> <!-- RIGHTWARDS ARROW WITH HOOK -->
+<!ENTITY rarrlp "↬"> <!-- RIGHTWARDS ARROW WITH LOOP -->
+<!ENTITY rarrtl "↣"> <!-- RIGHTWARDS ARROW WITH TAIL -->
+<!ENTITY rarrw "↝"> <!-- RIGHTWARDS SQUIGGLE ARROW -->
+<!ENTITY rhard "⇁"> <!-- RIGHTWARDS HARPOON WITH BARB DOWNWARDS -->
+<!ENTITY rharu "⇀"> <!-- RIGHTWARDS HARPOON WITH BARB UPWARDS -->
+<!ENTITY rsh "↱"> <!-- UPWARDS ARROW WITH TIP RIGHTWARDS -->
+<!ENTITY drarr "↘"> <!-- SOUTH EAST ARROW -->
+<!ENTITY dlarr "↙"> <!-- SOUTH WEST ARROW -->
+<!ENTITY uArr "⇑"> <!-- UPWARDS DOUBLE ARROW -->
+<!ENTITY uarr2 "⇈"> <!-- UPWARDS PAIRED ARROWS -->
+<!ENTITY vArr "⇕"> <!-- UP DOWN DOUBLE ARROW -->
+<!ENTITY varr "↕"> <!-- UP DOWN ARROW -->
+<!ENTITY uharl "↿"> <!-- UPWARDS HARPOON WITH BARB LEFTWARDS -->
+<!ENTITY uharr "↾"> <!-- UPWARDS HARPOON WITH BARB RIGHTWARDS -->
+<!ENTITY xlArr "⇐"> <!-- LEFTWARDS DOUBLE ARROW -->
+<!ENTITY xhArr "↔"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY xharr "↔"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY xrArr "⇒"> <!-- RIGHTWARDS DOUBLE ARROW -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-amsb.ent b/lib/docbook/docbook-dtd/ent/iso-amsb.ent new file mode 100644 index 000000000..074a110ba --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-amsb.ent @@ -0,0 +1,49 @@ +<!-- iso-amsb.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz.
+ With additional derivations from
+ ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY amalg "∐"> <!-- N-ARY COPRODUCT -->
+<!ENTITY Barwed "⌆"> <!-- PERSPECTIVE -->
+<!ENTITY barwed "⊼"> <!-- NAND -->
+<!ENTITY Cap "⋒"> <!-- DOUBLE INTERSECTION -->
+<!ENTITY Cup "⋓"> <!-- DOUBLE UNION -->
+<!ENTITY cuvee "⋎"> <!-- CURLY LOGICAL OR -->
+<!ENTITY cuwed "⋏"> <!-- CURLY LOGICAL AND -->
+<!ENTITY diam "⋄"> <!-- DIAMOND OPERATOR -->
+<!ENTITY divonx "⋇"> <!-- DIVISION TIMES -->
+<!ENTITY intcal "⊺"> <!-- INTERCALATE -->
+<!ENTITY lthree "⋋"> <!-- LEFT SEMIDIRECT PRODUCT -->
+<!ENTITY ltimes "⋉"> <!-- LEFT NORMAL FACTOR SEMIDIRECT PRODUCT -->
+<!ENTITY minusb "⊟"> <!-- SQUARED MINUS -->
+<!ENTITY oast "⊛"> <!-- CIRCLED ASTERISK OPERATOR -->
+<!ENTITY ocir "⊚"> <!-- CIRCLED RING OPERATOR -->
+<!ENTITY odash "⊝"> <!-- CIRCLED DASH -->
+<!ENTITY odot "⊙"> <!-- CIRCLED DOT OPERATOR -->
+<!ENTITY ominus "⊖"> <!-- CIRCLED MINUS -->
+<!ENTITY oplus "⊕"> <!-- CIRCLED PLUS -->
+<!ENTITY osol "⊘"> <!-- CIRCLED DIVISION SLASH -->
+<!ENTITY otimes "⊗"> <!-- CIRCLED TIMES -->
+<!ENTITY plusb "⊞"> <!-- SQUARED PLUS -->
+<!ENTITY plusdo "∔"> <!-- DOT PLUS -->
+<!ENTITY rthree "⋌"> <!-- RIGHT SEMIDIRECT PRODUCT -->
+<!ENTITY rtimes "⋊"> <!-- RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT -->
+<!ENTITY sdot "⋅"> <!-- DOT OPERATOR -->
+<!ENTITY sdotb "⊡"> <!-- SQUARED DOT OPERATOR -->
+<!ENTITY setmn "∖"> <!-- SET MINUS -->
+<!ENTITY sqcap "⊓"> <!-- SQUARE CAP -->
+<!ENTITY sqcup "⊔"> <!-- SQUARE CUP -->
+<!ENTITY ssetmn "∖"> <!-- SET MINUS -->
+<!ENTITY sstarf "⋆"> <!-- STAR OPERATOR -->
+<!ENTITY timesb "⊠"> <!-- SQUARED TIMES -->
+<!ENTITY top "⊤"> <!-- DOWN TACK -->
+<!ENTITY uplus "⊎"> <!-- MULTISET UNION -->
+<!ENTITY wreath "≀"> <!-- WREATH PRODUCT -->
+<!ENTITY xcirc "○"> <!-- WHITE CIRCLE -->
+<!ENTITY xdtri "▽"> <!-- WHITE DOWN-POINTING TRIANGLE -->
+<!ENTITY xutri "△"> <!-- WHITE UP-POINTING TRIANGLE -->
+<!ENTITY coprod "∐"> <!-- N-ARY COPRODUCT -->
+<!ENTITY prod "∏"> <!-- N-ARY PRODUCT -->
+<!ENTITY sum "∑"> <!-- N-ARY SUMMATION -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-amsc.ent b/lib/docbook/docbook-dtd/ent/iso-amsc.ent new file mode 100644 index 000000000..61609429e --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-amsc.ent @@ -0,0 +1,15 @@ +<!-- iso-amsc.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY rceil "⌉"> <!-- RIGHT CEILING -->
+<!ENTITY rfloor "⌋"> <!-- RIGHT FLOOR -->
+<!ENTITY rpargt ""> <!-- -->
+<!ENTITY urcorn "⌝"> <!-- TOP RIGHT CORNER -->
+<!ENTITY drcorn "⌟"> <!-- BOTTOM RIGHT CORNER -->
+<!ENTITY lceil "⌈"> <!-- LEFT CEILING -->
+<!ENTITY lfloor "⌊"> <!-- LEFT FLOOR -->
+<!-- lpargt Unknown unicode character -->
+<!ENTITY ulcorn "⌜"> <!-- TOP LEFT CORNER -->
+<!ENTITY dlcorn "⌞"> <!-- BOTTOM LEFT CORNER -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-amsn.ent b/lib/docbook/docbook-dtd/ent/iso-amsn.ent new file mode 100644 index 000000000..13fcdf30c --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-amsn.ent @@ -0,0 +1,66 @@ +<!-- iso-amsn.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz
+ With additional derivations from
+ ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY gnap ""> <!-- -->
+<!ENTITY gne "≩"> <!-- -->
+<!ENTITY gnE "≩"> <!-- -->
+<!ENTITY gnsim "⋧"> <!-- GREATER-THAN BUT NOT EQUIVALENT TO -->
+<!ENTITY gvnE "≩"> <!-- GREATER-THAN BUT NOT EQUAL TO -->
+<!ENTITY lnap ""> <!-- -->
+<!ENTITY lnE "≨"> <!-- -->
+<!ENTITY lne "≨"> <!-- -->
+<!ENTITY lnsim "⋦"> <!-- -->
+<!ENTITY lvnE "≨"> <!-- LESS-THAN BUT NOT EQUAL TO -->
+<!ENTITY nap "≉"> <!-- NOT ALMOST EQUAL TO -->
+<!ENTITY ncong "≇"> <!-- NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO -->
+<!ENTITY nequiv "≢"> <!-- NOT IDENTICAL TO -->
+<!ENTITY ngE "≱"> <!-- -->
+<!ENTITY nge "≱"> <!-- NEITHER GREATER-THAN NOR EQUAL TO -->
+<!ENTITY nges "≱"> <!-- -->
+<!ENTITY ngt "≯"> <!-- NOT GREATER-THAN -->
+<!ENTITY nle "≰"> <!-- NEITHER LESS-THAN NOR EQUAL TO -->
+<!ENTITY nlE "≰"> <!-- -->
+<!ENTITY nles "≰"> <!-- -->
+<!ENTITY nlt "≮"> <!-- NOT LESS-THAN -->
+<!ENTITY nltri "⋪"> <!-- NOT NORMAL SUBGROUP OF -->
+<!ENTITY nltrie "⋬"> <!-- NOT NORMAL SUBGROUP OF OR EQUAL TO -->
+<!ENTITY nmid "∤"> <!-- DOES NOT DIVIDE -->
+<!ENTITY npar "∦"> <!-- NOT PARALLEL TO -->
+<!ENTITY npr "⊀"> <!-- DOES NOT PRECEDE -->
+<!ENTITY npre "⋠"> <!-- DOES NOT PRECEDE OR EQUAL -->
+<!ENTITY nrtri "⋫"> <!-- DOES NOT CONTAIN AS NORMAL SUBGROUP -->
+<!ENTITY nrtrie "⋭"> <!-- DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL -->
+<!ENTITY nsc "⊁"> <!-- DOES NOT SUCCEED -->
+<!ENTITY nsce "⋡"> <!-- DOES NOT SUCCEED OR EQUAL -->
+<!ENTITY nsim "≁"> <!-- -->
+<!ENTITY nsime "≄"> <!-- -->
+<!ENTITY nsmid ""> <!-- -->
+<!ENTITY nspar "∦"> <!-- NOT PARALLEL TO -->
+<!ENTITY nsub "⊄"> <!-- NOT A SUBSET OF -->
+<!ENTITY nsube "⊈"> <!-- -->
+<!ENTITY nsubE "⊈"> <!-- -->
+<!ENTITY nsup "⊅"> <!-- NOT A SUPERSET OF -->
+<!ENTITY nsupE "⊉"> <!-- -->
+<!ENTITY nsupe "⊉"> <!-- -->
+<!ENTITY nvdash "⊬"> <!-- DOES NOT PROVE -->
+<!ENTITY nvDash "⊭"> <!-- NOT TRUE -->
+<!ENTITY nVDash "⊯"> <!-- NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE -->
+<!ENTITY nVdash "⊮"> <!-- DOES NOT FORCE -->
+<!ENTITY prnap "⋨"> <!-- -->
+<!ENTITY prnE ""> <!-- -->
+<!ENTITY prnsim "⋨"> <!-- -->
+<!ENTITY scnap "⋩"> <!-- -->
+<!ENTITY scnE ""> <!-- -->
+<!ENTITY scnsim "⋩"> <!-- -->
+<!ENTITY subne "⊊"> <!-- -->
+<!ENTITY subnE "⊊"> <!-- SUBSET OF WITH NOT EQUAL TO -->
+<!ENTITY supne "⊋"> <!-- -->
+<!ENTITY supnE "⊋"> <!-- -->
+<!ENTITY vsubnE ""> <!-- -->
+<!ENTITY vsubne "⊊"> <!-- SUBSET OF WITH NOT EQUAL TO -->
+<!ENTITY vsupne "⊋"> <!-- SUPERSET OF WITH NOT EQUAL TO -->
+<!ENTITY vsupnE "⊋"> <!-- SUPERSET OF WITH NOT EQUAL TO -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-amso.ent b/lib/docbook/docbook-dtd/ent/iso-amso.ent new file mode 100644 index 000000000..ad5ad2ab0 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-amso.ent @@ -0,0 +1,26 @@ +<!-- iso-amso.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz
+ With additional derivations from
+ ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY ang "∠"> <!-- ANGLE -->
+<!ENTITY angmsd "∡"> <!-- MEASURED ANGLE -->
+<!ENTITY beth "ℶ"> <!-- BET SYMBOL -->
+<!ENTITY bprime "‵"> <!-- REVERSED PRIME -->
+<!ENTITY comp "∁"> <!-- COMPLEMENT -->
+<!ENTITY daleth "ℸ"> <!-- DALET SYMBOL -->
+<!ENTITY ell "ℓ"> <!-- SCRIPT SMALL L -->
+<!ENTITY empty "∅"> <!-- -->
+<!ENTITY gimel "ℷ"> <!-- GIMEL SYMBOL -->
+<!ENTITY image "ℑ"> <!-- BLACK-LETTER CAPITAL I -->
+<!ENTITY inodot "ı"> <!-- LATIN SMALL LETTER DOTLESS I -->
+<!-- jnodot Unknown unicode character -->
+<!ENTITY nexist "∄"> <!-- THERE DOES NOT EXIST -->
+<!ENTITY oS "Ⓢ"> <!-- CIRCLED LATIN CAPITAL LETTER S -->
+<!ENTITY planck "ℏ"> <!-- PLANCK CONSTANT OVER TWO PI -->
+<!ENTITY real "ℜ"> <!-- BLACK-LETTER CAPITAL R -->
+<!ENTITY sbsol "﹨"> <!-- SMALL REVERSE SOLIDUS -->
+<!ENTITY vprime "′"> <!-- PRIME -->
+<!ENTITY weierp "℘"> <!-- SCRIPT CAPITAL P -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-amsr.ent b/lib/docbook/docbook-dtd/ent/iso-amsr.ent new file mode 100644 index 000000000..873de3e85 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-amsr.ent @@ -0,0 +1,91 @@ +<!-- iso-amsr.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz.
+ With additional derivations from
+ ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY ape "≊"> <!-- -->
+<!ENTITY asymp "≍"> <!-- EQUIVALENT TO -->
+<!ENTITY bcong "≌"> <!-- ALL EQUAL TO -->
+<!ENTITY bepsi "∍"> <!-- SMALL CONTAINS AS MEMBER -->
+<!ENTITY bowtie "⋈"> <!-- -->
+<!ENTITY bsim "∽"> <!-- -->
+<!ENTITY bsime "⋍"> <!-- -->
+<!ENTITY bump "≎"> <!-- -->
+<!ENTITY bumpe "≏"> <!-- -->
+<!ENTITY cire "≗"> <!-- -->
+<!ENTITY colone "≔"> <!-- -->
+<!ENTITY cuepr "⋞"> <!-- -->
+<!ENTITY cuesc "⋟"> <!-- -->
+<!ENTITY cupre "≼"> <!-- -->
+<!ENTITY dashv "⊣"> <!-- -->
+<!ENTITY ecir "≖"> <!-- -->
+<!ENTITY ecolon "≕"> <!-- -->
+<!ENTITY eDot "≑"> <!-- -->
+<!ENTITY esdot "≐"> <!-- -->
+<!ENTITY efDot "≒"> <!-- -->
+<!ENTITY egs "⋝"> <!-- -->
+<!ENTITY els "⋜"> <!-- -->
+<!ENTITY erDot "≓"> <!-- -->
+<!ENTITY fork "⋔"> <!-- -->
+<!ENTITY frown "⌢"> <!-- -->
+<!ENTITY gap "≳"> <!-- GREATER-THAN OR EQUIVALENT TO -->
+<!ENTITY gsdot "⋗"> <!-- -->
+<!ENTITY gE "≧"> <!-- -->
+<!ENTITY gel "⋛"> <!-- -->
+<!ENTITY gEl "⋛"> <!-- -->
+<!ENTITY ges "≥"> <!-- GREATER-THAN OR EQUAL TO -->
+<!ENTITY Gg "⋙"> <!-- VERY MUCH GREATER-THAN -->
+<!ENTITY gl "≷"> <!-- -->
+<!ENTITY gsim "≳"> <!-- GREATER-THAN OR EQUIVALENT TO -->
+<!ENTITY Gt "≫"> <!-- MUCH GREATER-THAN -->
+<!ENTITY lap "≲"> <!-- LESS-THAN OR EQUIVALENT TO -->
+<!ENTITY ldot "⋖"> <!-- -->
+<!ENTITY lE "≦"> <!-- -->
+<!ENTITY lEg "⋚"> <!-- -->
+<!ENTITY leg "⋚"> <!-- -->
+<!ENTITY les "≤"> <!-- LESS-THAN OR EQUAL TO -->
+<!ENTITY lg "≶"> <!-- LESS-THAN OR GREATER-THAN -->
+<!ENTITY Ll "⋘"> <!-- -->
+<!ENTITY lsim "≲"> <!-- LESS-THAN OR EQUIVALENT TO -->
+<!ENTITY Lt "≪"> <!-- MUCH LESS-THAN -->
+<!ENTITY ltrie "⊴"> <!-- -->
+<!ENTITY mid "∣"> <!-- -->
+<!ENTITY models "⊧"> <!-- MODELS -->
+<!ENTITY pr "≺"> <!-- -->
+<!ENTITY prap "≾"> <!-- -->
+<!ENTITY pre "≼"> <!-- -->
+<!ENTITY prsim "≾"> <!-- -->
+<!ENTITY rtrie "⊵"> <!-- -->
+<!ENTITY samalg "∐"> <!-- -->
+<!ENTITY sc "≻"> <!-- -->
+<!ENTITY scap "≿"> <!-- -->
+<!ENTITY sccue "≽"> <!-- -->
+<!ENTITY sce "≽"> <!-- -->
+<!ENTITY scsim "≿"> <!-- -->
+<!ENTITY sfrown "⌢"> <!-- FROWN -->
+<!ENTITY smid ""> <!-- -->
+<!ENTITY smile "⌣"> <!-- -->
+<!ENTITY spar "∥"> <!-- PARALLEL TO -->
+<!ENTITY sqsub "⊏"> <!-- -->
+<!ENTITY sqsube "⊑"> <!-- -->
+<!ENTITY sqsup "⊐"> <!-- -->
+<!ENTITY sqsupe "⊒"> <!-- -->
+<!ENTITY ssmile "⌣"> <!-- SMILE -->
+<!ENTITY Sub "⋐"> <!-- -->
+<!ENTITY subE "⊆"> <!-- -->
+<!ENTITY Sup "⋑"> <!-- -->
+<!ENTITY supE "⊇"> <!-- -->
+<!ENTITY thkap "≈"> <!-- ALMOST EQUAL TO -->
+<!ENTITY thksim "∼"> <!-- TILDE OPERATOR -->
+<!ENTITY trie "≜"> <!-- -->
+<!ENTITY twixt "≬"> <!-- BETWEEN -->
+<!ENTITY vdash "⊢"> <!-- -->
+<!ENTITY Vdash "⊩"> <!-- -->
+<!ENTITY vDash "⊨"> <!-- -->
+<!ENTITY veebar "⊻"> <!-- -->
+<!ENTITY vltri "⊲"> <!-- -->
+<!ENTITY vprop "∝"> <!-- -->
+<!ENTITY vrtri "⊳"> <!-- -->
+<!ENTITY Vvdash "⊪"> <!-- -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-box.ent b/lib/docbook/docbook-dtd/ent/iso-box.ent new file mode 100644 index 000000000..4d3987965 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-box.ent @@ -0,0 +1,45 @@ +<!-- iso-box.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY boxh "─"> <!-- BOX DRAWINGS LIGHT HORIZONTAL -->
+<!ENTITY boxv "│"> <!-- BOX DRAWINGS LIGHT VERTICAL -->
+<!ENTITY boxur "└"> <!-- BOX DRAWINGS LIGHT UP AND RIGHT -->
+<!ENTITY boxul "┘"> <!-- BOX DRAWINGS LIGHT UP AND LEFT -->
+<!ENTITY boxdl "┐"> <!-- BOX DRAWINGS LIGHT DOWN AND LEFT -->
+<!ENTITY boxdr "┌"> <!-- BOX DRAWINGS LIGHT DOWN AND RIGHT -->
+<!ENTITY boxvr "├"> <!-- BOX DRAWINGS LIGHT VERTICAL AND RIGHT -->
+<!ENTITY boxhu "┴"> <!-- BOX DRAWINGS LIGHT UP AND HORIZONTAL -->
+<!ENTITY boxvl "┤"> <!-- BOX DRAWINGS LIGHT VERTICAL AND LEFT -->
+<!ENTITY boxhd "┬"> <!-- BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -->
+<!ENTITY boxvh "┼"> <!-- BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -->
+<!ENTITY boxvR "╞"> <!-- BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxhU "╧"> <!-- BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -->
+<!ENTITY boxvL "╡"> <!-- BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxhD "╤"> <!-- BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -->
+<!ENTITY boxvH "╪"> <!-- BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -->
+<!ENTITY boxH "═"> <!-- BOX DRAWINGS DOUBLE HORIZONTAL -->
+<!ENTITY boxV "║"> <!-- BOX DRAWINGS DOUBLE VERTICAL -->
+<!ENTITY boxUR "╘"> <!-- BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxUL "╛"> <!-- BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxDL "╕"> <!-- BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxDR "╒"> <!-- BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxVR "╟"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxHU "╨"> <!-- BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -->
+<!ENTITY boxVL "╢"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxHD "╥"> <!-- BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -->
+<!ENTITY boxVH "╫"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -->
+<!ENTITY boxVr "╠"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -->
+<!ENTITY boxHu "╩"> <!-- BOX DRAWINGS DOUBLE UP AND HORIZONTAL -->
+<!ENTITY boxVl "╣"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND LEFT -->
+<!ENTITY boxHd "╦"> <!-- BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -->
+<!ENTITY boxVh "╬"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -->
+<!ENTITY boxuR "╙"> <!-- BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxUl "╜"> <!-- BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxdL "╖"> <!-- BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxDr "╓"> <!-- BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxUr "╚"> <!-- BOX DRAWINGS DOUBLE UP AND RIGHT -->
+<!ENTITY boxuL "╝"> <!-- BOX DRAWINGS DOUBLE UP AND LEFT -->
+<!ENTITY boxDl "╗"> <!-- BOX DRAWINGS DOUBLE DOWN AND LEFT -->
+<!ENTITY boxdR "╔"> <!-- BOX DRAWINGS DOUBLE DOWN AND RIGHT -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-cyr1.ent b/lib/docbook/docbook-dtd/ent/iso-cyr1.ent new file mode 100644 index 000000000..f937b2c31 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-cyr1.ent @@ -0,0 +1,72 @@ +<!-- iso-cyr1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY acy "а"> <!-- CYRILLIC SMALL LETTER A -->
+<!ENTITY Acy "А"> <!-- CYRILLIC CAPITAL LETTER A -->
+<!ENTITY bcy "б"> <!-- CYRILLIC SMALL LETTER BE -->
+<!ENTITY Bcy "Б"> <!-- CYRILLIC CAPITAL LETTER BE -->
+<!ENTITY vcy "в"> <!-- CYRILLIC SMALL LETTER VE -->
+<!ENTITY Vcy "В"> <!-- CYRILLIC CAPITAL LETTER VE -->
+<!ENTITY gcy "г"> <!-- CYRILLIC SMALL LETTER GHE -->
+<!ENTITY Gcy "Г"> <!-- CYRILLIC CAPITAL LETTER GHE -->
+<!ENTITY dcy "д"> <!-- CYRILLIC SMALL LETTER DE -->
+<!ENTITY Dcy "Д"> <!-- CYRILLIC CAPITAL LETTER DE -->
+<!ENTITY iecy "е"> <!-- CYRILLIC SMALL LETTER IE -->
+<!ENTITY IEcy "Е"> <!-- CYRILLIC CAPITAL LETTER IE -->
+<!ENTITY iocy "ё"> <!-- CYRILLIC SMALL LETTER IO -->
+<!ENTITY IOcy "Ё"> <!-- CYRILLIC CAPITAL LETTER IO -->
+<!ENTITY zhcy "ж"> <!-- CYRILLIC SMALL LETTER ZHE -->
+<!ENTITY ZHcy "Ж"> <!-- CYRILLIC CAPITAL LETTER ZHE -->
+<!ENTITY zcy "з"> <!-- CYRILLIC SMALL LETTER ZE -->
+<!ENTITY Zcy "З"> <!-- CYRILLIC CAPITAL LETTER ZE -->
+<!ENTITY icy "и"> <!-- CYRILLIC SMALL LETTER I -->
+<!ENTITY Icy "И"> <!-- CYRILLIC CAPITAL LETTER I -->
+<!ENTITY jcy "й"> <!-- CYRILLIC SMALL LETTER SHORT I -->
+<!ENTITY Jcy "Й"> <!-- CYRILLIC CAPITAL LETTER SHORT I -->
+<!ENTITY kcy "к"> <!-- CYRILLIC SMALL LETTER KA -->
+<!ENTITY Kcy "К"> <!-- CYRILLIC CAPITAL LETTER KA -->
+<!ENTITY lcy "л"> <!-- CYRILLIC SMALL LETTER EL -->
+<!ENTITY Lcy "Л"> <!-- CYRILLIC CAPITAL LETTER EL -->
+<!ENTITY mcy "м"> <!-- CYRILLIC SMALL LETTER EM -->
+<!ENTITY Mcy "М"> <!-- CYRILLIC CAPITAL LETTER EM -->
+<!ENTITY ncy "н"> <!-- CYRILLIC SMALL LETTER EN -->
+<!ENTITY Ncy "Н"> <!-- CYRILLIC CAPITAL LETTER EN -->
+<!ENTITY ocy "о"> <!-- CYRILLIC SMALL LETTER O -->
+<!ENTITY Ocy "О"> <!-- CYRILLIC CAPITAL LETTER O -->
+<!ENTITY pcy "п"> <!-- CYRILLIC SMALL LETTER PE -->
+<!ENTITY Pcy "П"> <!-- CYRILLIC CAPITAL LETTER PE -->
+<!ENTITY rcy "р"> <!-- CYRILLIC SMALL LETTER ER -->
+<!ENTITY Rcy "Р"> <!-- CYRILLIC CAPITAL LETTER ER -->
+<!ENTITY scy "с"> <!-- CYRILLIC SMALL LETTER ES -->
+<!ENTITY Scy "С"> <!-- CYRILLIC CAPITAL LETTER ES -->
+<!ENTITY tcy "т"> <!-- CYRILLIC SMALL LETTER TE -->
+<!ENTITY Tcy "Т"> <!-- CYRILLIC CAPITAL LETTER TE -->
+<!ENTITY ucy "у"> <!-- CYRILLIC SMALL LETTER U -->
+<!ENTITY Ucy "У"> <!-- CYRILLIC CAPITAL LETTER U -->
+<!ENTITY fcy "ф"> <!-- CYRILLIC SMALL LETTER EF -->
+<!ENTITY Fcy "Ф"> <!-- CYRILLIC CAPITAL LETTER EF -->
+<!ENTITY khcy "х"> <!-- CYRILLIC SMALL LETTER HA -->
+<!ENTITY KHcy "Х"> <!-- CYRILLIC CAPITAL LETTER HA -->
+<!ENTITY tscy "ц"> <!-- CYRILLIC SMALL LETTER TSE -->
+<!ENTITY TScy "Ц"> <!-- CYRILLIC CAPITAL LETTER TSE -->
+<!ENTITY chcy "ч"> <!-- CYRILLIC SMALL LETTER CHE -->
+<!ENTITY CHcy "Ч"> <!-- CYRILLIC CAPITAL LETTER CHE -->
+<!ENTITY shcy "ш"> <!-- CYRILLIC SMALL LETTER SHA -->
+<!ENTITY SHcy "Ш"> <!-- CYRILLIC CAPITAL LETTER SHA -->
+<!ENTITY shchcy "щ"> <!-- CYRILLIC SMALL LETTER SHCHA -->
+<!ENTITY SHCHcy "Щ"> <!-- CYRILLIC CAPITAL LETTER SHCHA -->
+<!ENTITY hardcy "ъ"> <!-- CYRILLIC SMALL LETTER HARD SIGN -->
+<!ENTITY HARDcy "Ъ"> <!-- CYRILLIC CAPITAL LETTER HARD SIGN -->
+<!ENTITY ycy "ы"> <!-- CYRILLIC SMALL LETTER YERU -->
+<!ENTITY Ycy "Ы"> <!-- CYRILLIC CAPITAL LETTER YERU -->
+<!ENTITY softcy "ь"> <!-- CYRILLIC SMALL LETTER SOFT SIGN -->
+<!ENTITY SOFTcy "Ь"> <!-- CYRILLIC CAPITAL LETTER SOFT SIGN -->
+<!ENTITY ecy "э"> <!-- CYRILLIC SMALL LETTER E -->
+<!ENTITY Ecy "Э"> <!-- CYRILLIC CAPITAL LETTER E -->
+<!ENTITY yucy "ю"> <!-- CYRILLIC SMALL LETTER YU -->
+<!ENTITY YUcy "Ю"> <!-- CYRILLIC CAPITAL LETTER YU -->
+<!ENTITY yacy "я"> <!-- CYRILLIC SMALL LETTER YA -->
+<!ENTITY YAcy "Я"> <!-- CYRILLIC CAPITAL LETTER YA -->
+<!ENTITY numero "№"> <!-- NUMERO SIGN -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-cyr2.ent b/lib/docbook/docbook-dtd/ent/iso-cyr2.ent new file mode 100644 index 000000000..ce9494ca1 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-cyr2.ent @@ -0,0 +1,31 @@ +<!-- iso-cyr2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY djcy "ђ"> <!-- CYRILLIC SMALL LETTER DJE -->
+<!ENTITY DJcy "Ђ"> <!-- CYRILLIC CAPITAL LETTER DJE -->
+<!ENTITY gjcy "ѓ"> <!-- CYRILLIC SMALL LETTER GJE -->
+<!ENTITY GJcy "Ѓ"> <!-- CYRILLIC CAPITAL LETTER GJE -->
+<!ENTITY jukcy "є"> <!-- CYRILLIC SMALL LETTER UKRAINIAN IE -->
+<!ENTITY Jukcy "Є"> <!-- CYRILLIC CAPITAL LETTER UKRAINIAN IE -->
+<!ENTITY dscy "ѕ"> <!-- CYRILLIC SMALL LETTER DZE -->
+<!ENTITY DScy "Ѕ"> <!-- CYRILLIC CAPITAL LETTER DZE -->
+<!ENTITY iukcy "і"> <!-- CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
+<!ENTITY Iukcy "І"> <!-- CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -->
+<!ENTITY yicy "ї"> <!-- CYRILLIC SMALL LETTER YI -->
+<!ENTITY YIcy "Ї"> <!-- CYRILLIC CAPITAL LETTER YI -->
+<!ENTITY jsercy "ј"> <!-- CYRILLIC SMALL LETTER JE -->
+<!ENTITY Jsercy "Ј"> <!-- CYRILLIC CAPITAL LETTER JE -->
+<!ENTITY ljcy "љ"> <!-- CYRILLIC SMALL LETTER LJE -->
+<!ENTITY LJcy "Љ"> <!-- CYRILLIC CAPITAL LETTER LJE -->
+<!ENTITY njcy "њ"> <!-- CYRILLIC SMALL LETTER NJE -->
+<!ENTITY NJcy "Њ"> <!-- CYRILLIC CAPITAL LETTER NJE -->
+<!ENTITY tshcy "ћ"> <!-- CYRILLIC SMALL LETTER TSHE -->
+<!ENTITY TSHcy "Ћ"> <!-- CYRILLIC CAPITAL LETTER TSHE -->
+<!ENTITY kjcy "ќ"> <!-- CYRILLIC SMALL LETTER KJE -->
+<!ENTITY KJcy "Ќ"> <!-- CYRILLIC CAPITAL LETTER KJE -->
+<!ENTITY ubrcy "ў"> <!-- CYRILLIC SMALL LETTER SHORT U -->
+<!ENTITY Ubrcy "Ў"> <!-- CYRILLIC CAPITAL LETTER SHORT U -->
+<!ENTITY dzcy "џ"> <!-- CYRILLIC SMALL LETTER DZHE -->
+<!ENTITY DZcy "Џ"> <!-- CYRILLIC CAPITAL LETTER DZHE -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-dia.ent b/lib/docbook/docbook-dtd/ent/iso-dia.ent new file mode 100644 index 000000000..36bf5a7fe --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-dia.ent @@ -0,0 +1,19 @@ +<!-- iso-dia.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY acute "´"> <!-- ACUTE ACCENT -->
+<!ENTITY breve "˘"> <!-- BREVE -->
+<!ENTITY caron "ˇ"> <!-- CARON -->
+<!ENTITY cedil "¸"> <!-- CEDILLA -->
+<!ENTITY circ "^"> <!-- RING OPERATOR -->
+<!ENTITY dblac "˝"> <!-- DOUBLE ACUTE ACCENT -->
+<!ENTITY die "¨"> <!-- -->
+<!ENTITY dot "˙"> <!-- DOT ABOVE -->
+<!ENTITY grave "`"> <!-- GRAVE ACCENT -->
+<!ENTITY macr "¯"> <!-- MACRON -->
+<!ENTITY ogon "˛"> <!-- OGONEK -->
+<!ENTITY ring "˚"> <!-- RING ABOVE -->
+<!ENTITY tilde "˜"> <!-- TILDE -->
+<!ENTITY uml "¨"> <!-- -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-grk1.ent b/lib/docbook/docbook-dtd/ent/iso-grk1.ent new file mode 100644 index 000000000..a543ae474 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-grk1.ent @@ -0,0 +1,54 @@ +<!-- iso-grk1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY agr "α"> <!-- -->
+<!ENTITY Agr "Α"> <!-- GREEK CAPITAL LETTER ALPHA -->
+<!ENTITY bgr "β"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY Bgr "Β"> <!-- GREEK CAPITAL LETTER BETA -->
+<!ENTITY ggr "γ"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY Ggr "Γ"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY dgr "δ"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY Dgr "Δ"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY egr "ε"> <!-- -->
+<!ENTITY Egr "Ε"> <!-- GREEK CAPITAL LETTER EPSILON -->
+<!ENTITY zgr "ζ"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY Zgr "Ζ"> <!-- GREEK CAPITAL LETTER ZETA -->
+<!ENTITY eegr "η"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY EEgr "Η"> <!-- GREEK CAPITAL LETTER ETA -->
+<!ENTITY thgr "θ"> <!-- -->
+<!ENTITY THgr "Θ"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY igr "ι"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY Igr "Ι"> <!-- GREEK CAPITAL LETTER IOTA -->
+<!ENTITY kgr "κ"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY Kgr "Κ"> <!-- GREEK CAPITAL LETTER KAPPA -->
+<!ENTITY lgr "λ"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY Lgr "Λ"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY mgr "μ"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY Mgr "Μ"> <!-- GREEK CAPITAL LETTER MU -->
+<!ENTITY ngr "ν"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY Ngr "Ν"> <!-- GREEK CAPITAL LETTER NU -->
+<!ENTITY xgr "ξ"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY Xgr "Ξ"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY ogr "ο"> <!-- GREEK SMALL LETTER OMICRON -->
+<!ENTITY Ogr "Ο"> <!-- GREEK CAPITAL LETTER OMICRON -->
+<!ENTITY pgr "π"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY Pgr "Π"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY rgr "ρ"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY Rgr "Ρ"> <!-- GREEK CAPITAL LETTER RHO -->
+<!ENTITY sgr "σ"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY Sgr "Σ"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY sfgr "ς"> <!-- -->
+<!ENTITY tgr "τ"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY Tgr "Τ"> <!-- GREEK CAPITAL LETTER TAU -->
+<!ENTITY ugr "υ"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY Ugr "Υ"> <!-- -->
+<!ENTITY phgr "φ"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY PHgr "Φ"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY khgr "χ"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY KHgr "Χ"> <!-- GREEK CAPITAL LETTER CHI -->
+<!ENTITY psgr "ψ"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY PSgr "Ψ"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY ohgr "ω"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY OHgr "Ω"> <!-- GREEK CAPITAL LETTER OMEGA -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-grk2.ent b/lib/docbook/docbook-dtd/ent/iso-grk2.ent new file mode 100644 index 000000000..a1dfad937 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-grk2.ent @@ -0,0 +1,25 @@ +<!-- iso-grk2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY aacgr "ά"> <!-- GREEK SMALL LETTER ALPHA WITH TONOS -->
+<!ENTITY Aacgr "Ά"> <!-- GREEK CAPITAL LETTER ALPHA WITH TONOS -->
+<!ENTITY eacgr "έ"> <!-- GREEK SMALL LETTER EPSILON WITH TONOS -->
+<!ENTITY Eacgr "Έ"> <!-- GREEK CAPITAL LETTER EPSILON WITH TONOS -->
+<!ENTITY eeacgr "ή"> <!-- GREEK SMALL LETTER ETA WITH TONOS -->
+<!ENTITY EEacgr "Ή"> <!-- GREEK CAPITAL LETTER ETA WITH TONOS -->
+<!ENTITY idigr "ϊ"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA -->
+<!ENTITY Idigr "Ϊ"> <!-- GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -->
+<!ENTITY iacgr "ί"> <!-- GREEK SMALL LETTER IOTA WITH TONOS -->
+<!ENTITY Iacgr "Ί"> <!-- GREEK CAPITAL LETTER IOTA WITH TONOS -->
+<!ENTITY idiagr "ΐ"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -->
+<!ENTITY oacgr "ό"> <!-- GREEK SMALL LETTER OMICRON WITH TONOS -->
+<!ENTITY Oacgr "Ό"> <!-- GREEK CAPITAL LETTER OMICRON WITH TONOS -->
+<!ENTITY udigr "ϋ"> <!-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA -->
+<!ENTITY Udigr "Ϋ"> <!-- GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -->
+<!ENTITY uacgr "ύ"> <!-- GREEK SMALL LETTER UPSILON WITH TONOS -->
+<!ENTITY Uacgr "Ύ"> <!-- GREEK CAPITAL LETTER UPSILON WITH TONOS -->
+<!ENTITY udiagr "ΰ"> <!-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -->
+<!ENTITY ohacgr "ώ"> <!-- GREEK SMALL LETTER OMEGA WITH TONOS -->
+<!ENTITY OHacgr "Ώ"> <!-- GREEK CAPITAL LETTER OMEGA WITH TONOS -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-grk3.ent b/lib/docbook/docbook-dtd/ent/iso-grk3.ent new file mode 100644 index 000000000..68ffd881a --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-grk3.ent @@ -0,0 +1,48 @@ +<!-- iso-grk3.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY alpha "α"> <!-- -->
+<!ENTITY beta "β"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY gamma "γ"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY Gamma "Γ"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY gammad "Ϝ"> <!-- GREEK LETTER DIGAMMA -->
+<!ENTITY delta "δ"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY Delta "Δ"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY epsi "∊"> <!-- -->
+<!ENTITY epsiv "ε"> <!-- -->
+<!ENTITY epsis "∊"> <!-- -->
+<!ENTITY zeta "ζ"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY eta "η"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY thetas "θ"> <!-- -->
+<!ENTITY Theta "Θ"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY thetav "ϑ"> <!-- -->
+<!ENTITY iota "ι"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY kappa "κ"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY kappav "ϰ"> <!-- GREEK KAPPA SYMBOL -->
+<!ENTITY lambda "λ"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY Lambda "Λ"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY mu "μ"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY nu "ν"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY xi "ξ"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY Xi "Ξ"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY pi "π"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY piv "ϖ"> <!-- GREEK PI SYMBOL -->
+<!ENTITY Pi "Π"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY rho "ρ"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY rhov "ϱ"> <!-- GREEK RHO SYMBOL -->
+<!ENTITY sigma "σ"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY Sigma "Σ"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY sigmav "ς"> <!-- -->
+<!ENTITY tau "τ"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY upsi "υ"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY Upsi "ϒ"> <!-- -->
+<!ENTITY phis "φ"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY Phi "Φ"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY phiv "ϕ"> <!-- GREEK PHI SYMBOL -->
+<!ENTITY chi "χ"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY psi "ψ"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY Psi "Ψ"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY omega "ω"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY Omega "Ω"> <!-- GREEK CAPITAL LETTER OMEGA -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-grk4.ent b/lib/docbook/docbook-dtd/ent/iso-grk4.ent new file mode 100644 index 000000000..fd7ee10c3 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-grk4.ent @@ -0,0 +1,48 @@ +<!-- iso-grk4.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY b.alpha "α"> <!-- -->
+<!ENTITY b.beta "β"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY b.gamma "γ"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY b.Gamma "Γ"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY b.gammad "Ϝ"> <!-- GREEK LETTER DIGAMMA -->
+<!ENTITY b.delta "δ"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY b.Delta "Δ"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY b.epsi "ε"> <!-- -->
+<!ENTITY b.epsiv "ε"> <!-- -->
+<!ENTITY b.epsis "ε"> <!-- -->
+<!ENTITY b.zeta "ζ"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY b.eta "η"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY b.thetas "θ"> <!-- -->
+<!ENTITY b.Theta "Θ"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY b.thetav "ϑ"> <!-- -->
+<!ENTITY b.iota "ι"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY b.kappa "κ"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY b.kappav "ϰ"> <!-- GREEK KAPPA SYMBOL -->
+<!ENTITY b.lambda "λ"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY b.Lambda "Λ"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY b.mu "μ"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY b.nu "ν"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY b.xi "ξ"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY b.Xi "Ξ"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY b.pi "π"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY b.Pi "Π"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY b.piv "ϖ"> <!-- GREEK PI SYMBOL -->
+<!ENTITY b.rho "ρ"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY b.rhov "ϱ"> <!-- GREEK RHO SYMBOL -->
+<!ENTITY b.sigma "σ"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY b.Sigma "Σ"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY b.sigmav "ς"> <!-- -->
+<!ENTITY b.tau "τ"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY b.upsi "υ"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY b.Upsi "ϒ"> <!-- -->
+<!ENTITY b.phis "φ"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY b.Phi "Φ"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY b.phiv "ϕ"> <!-- GREEK PHI SYMBOL -->
+<!ENTITY b.chi "χ"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY b.psi "ψ"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY b.Psi "Ψ"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY b.omega "ω"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY b.Omega "Ω"> <!-- GREEK CAPITAL LETTER OMEGA -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-lat1.ent b/lib/docbook/docbook-dtd/ent/iso-lat1.ent new file mode 100644 index 000000000..0347523c7 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-lat1.ent @@ -0,0 +1,67 @@ +<!-- iso-lat1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY aacute "á"> <!-- LATIN SMALL LETTER A WITH ACUTE -->
+<!ENTITY Aacute "Á"> <!-- LATIN CAPITAL LETTER A WITH ACUTE -->
+<!ENTITY acirc "â"> <!-- LATIN SMALL LETTER A WITH CIRCUMFLEX -->
+<!ENTITY Acirc "Â"> <!-- LATIN CAPITAL LETTER A WITH CIRCUMFLEX -->
+<!ENTITY agrave "à"> <!-- LATIN SMALL LETTER A WITH GRAVE -->
+<!ENTITY Agrave "À"> <!-- LATIN CAPITAL LETTER A WITH GRAVE -->
+<!ENTITY aring "å"> <!-- LATIN SMALL LETTER A WITH RING ABOVE -->
+<!ENTITY Aring "Å"> <!-- LATIN CAPITAL LETTER A WITH RING ABOVE -->
+<!ENTITY atilde "ã"> <!-- LATIN SMALL LETTER A WITH TILDE -->
+<!ENTITY Atilde "Ã"> <!-- LATIN CAPITAL LETTER A WITH TILDE -->
+<!ENTITY auml "ä"> <!-- LATIN SMALL LETTER A WITH DIAERESIS -->
+<!ENTITY Auml "Ä"> <!-- LATIN CAPITAL LETTER A WITH DIAERESIS -->
+<!ENTITY aelig "æ"> <!-- LATIN SMALL LETTER AE -->
+<!ENTITY AElig "Æ"> <!-- LATIN CAPITAL LETTER AE -->
+<!ENTITY ccedil "ç"> <!-- LATIN SMALL LETTER C WITH CEDILLA -->
+<!ENTITY Ccedil "Ç"> <!-- LATIN CAPITAL LETTER C WITH CEDILLA -->
+<!ENTITY eth "ð"> <!-- LATIN SMALL LETTER ETH -->
+<!ENTITY ETH "Ð"> <!-- LATIN CAPITAL LETTER ETH -->
+<!ENTITY eacute "é"> <!-- LATIN SMALL LETTER E WITH ACUTE -->
+<!ENTITY Eacute "É"> <!-- LATIN CAPITAL LETTER E WITH ACUTE -->
+<!ENTITY ecirc "ê"> <!-- LATIN SMALL LETTER E WITH CIRCUMFLEX -->
+<!ENTITY Ecirc "Ê"> <!-- LATIN CAPITAL LETTER E WITH CIRCUMFLEX -->
+<!ENTITY egrave "è"> <!-- LATIN SMALL LETTER E WITH GRAVE -->
+<!ENTITY Egrave "È"> <!-- LATIN CAPITAL LETTER E WITH GRAVE -->
+<!ENTITY euml "ë"> <!-- LATIN SMALL LETTER E WITH DIAERESIS -->
+<!ENTITY Euml "Ë"> <!-- LATIN CAPITAL LETTER E WITH DIAERESIS -->
+<!ENTITY iacute "í"> <!-- LATIN SMALL LETTER I WITH ACUTE -->
+<!ENTITY Iacute "Í"> <!-- LATIN CAPITAL LETTER I WITH ACUTE -->
+<!ENTITY icirc "î"> <!-- LATIN SMALL LETTER I WITH CIRCUMFLEX -->
+<!ENTITY Icirc "Î"> <!-- LATIN CAPITAL LETTER I WITH CIRCUMFLEX -->
+<!ENTITY igrave "ì"> <!-- LATIN SMALL LETTER I WITH GRAVE -->
+<!ENTITY Igrave "Ì"> <!-- LATIN CAPITAL LETTER I WITH GRAVE -->
+<!ENTITY iuml "ï"> <!-- LATIN SMALL LETTER I WITH DIAERESIS -->
+<!ENTITY Iuml "Ï"> <!-- LATIN CAPITAL LETTER I WITH DIAERESIS -->
+<!ENTITY ntilde "ñ"> <!-- LATIN SMALL LETTER N WITH TILDE -->
+<!ENTITY Ntilde "Ñ"> <!-- LATIN CAPITAL LETTER N WITH TILDE -->
+<!ENTITY oacute "ó"> <!-- LATIN SMALL LETTER O WITH ACUTE -->
+<!ENTITY Oacute "Ó"> <!-- LATIN CAPITAL LETTER O WITH ACUTE -->
+<!ENTITY ocirc "ô"> <!-- LATIN SMALL LETTER O WITH CIRCUMFLEX -->
+<!ENTITY Ocirc "Ô"> <!-- LATIN CAPITAL LETTER O WITH CIRCUMFLEX -->
+<!ENTITY ograve "ò"> <!-- LATIN SMALL LETTER O WITH GRAVE -->
+<!ENTITY Ograve "Ò"> <!-- LATIN CAPITAL LETTER O WITH GRAVE -->
+<!ENTITY oslash "ø"> <!-- CIRCLED DIVISION SLASH -->
+<!ENTITY Oslash "Ø"> <!-- LATIN CAPITAL LETTER O WITH STROKE -->
+<!ENTITY otilde "õ"> <!-- LATIN SMALL LETTER O WITH TILDE -->
+<!ENTITY Otilde "Õ"> <!-- LATIN CAPITAL LETTER O WITH TILDE -->
+<!ENTITY ouml "ö"> <!-- LATIN SMALL LETTER O WITH DIAERESIS -->
+<!ENTITY Ouml "Ö"> <!-- LATIN CAPITAL LETTER O WITH DIAERESIS -->
+<!ENTITY szlig "ß"> <!-- LATIN SMALL LETTER SHARP S -->
+<!ENTITY thorn "þ"> <!-- LATIN SMALL LETTER THORN -->
+<!ENTITY THORN "Þ"> <!-- LATIN CAPITAL LETTER THORN -->
+<!ENTITY uacute "ú"> <!-- LATIN SMALL LETTER U WITH ACUTE -->
+<!ENTITY Uacute "Ú"> <!-- LATIN CAPITAL LETTER U WITH ACUTE -->
+<!ENTITY ucirc "û"> <!-- LATIN SMALL LETTER U WITH CIRCUMFLEX -->
+<!ENTITY Ucirc "Û"> <!-- LATIN CAPITAL LETTER U WITH CIRCUMFLEX -->
+<!ENTITY ugrave "ù"> <!-- LATIN SMALL LETTER U WITH GRAVE -->
+<!ENTITY Ugrave "Ù"> <!-- LATIN CAPITAL LETTER U WITH GRAVE -->
+<!ENTITY uuml "ü"> <!-- LATIN SMALL LETTER U WITH DIAERESIS -->
+<!ENTITY Uuml "Ü"> <!-- LATIN CAPITAL LETTER U WITH DIAERESIS -->
+<!ENTITY yacute "ý"> <!-- LATIN SMALL LETTER Y WITH ACUTE -->
+<!ENTITY Yacute "Ý"> <!-- LATIN CAPITAL LETTER Y WITH ACUTE -->
+<!ENTITY yuml "ÿ"> <!-- LATIN SMALL LETTER Y WITH DIAERESIS -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-lat2.ent b/lib/docbook/docbook-dtd/ent/iso-lat2.ent new file mode 100644 index 000000000..29b7da37e --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-lat2.ent @@ -0,0 +1,126 @@ +<!-- iso-lat2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY abreve "ă"> <!-- LATIN SMALL LETTER A WITH BREVE -->
+<!ENTITY Abreve "Ă"> <!-- LATIN CAPITAL LETTER A WITH BREVE -->
+<!ENTITY amacr "ā"> <!-- LATIN SMALL LETTER A WITH MACRON -->
+<!ENTITY Amacr "Ā"> <!-- LATIN CAPITAL LETTER A WITH MACRON -->
+<!ENTITY aogon "ą"> <!-- LATIN SMALL LETTER A WITH OGONEK -->
+<!ENTITY Aogon "Ą"> <!-- LATIN CAPITAL LETTER A WITH OGONEK -->
+<!ENTITY cacute "ć"> <!-- LATIN SMALL LETTER C WITH ACUTE -->
+<!ENTITY Cacute "Ć"> <!-- LATIN CAPITAL LETTER C WITH ACUTE -->
+<!ENTITY ccaron "č"> <!-- LATIN SMALL LETTER C WITH CARON -->
+<!ENTITY Ccaron "Č"> <!-- LATIN CAPITAL LETTER C WITH CARON -->
+<!ENTITY ccirc "ĉ"> <!-- LATIN SMALL LETTER C WITH CIRCUMFLEX -->
+<!ENTITY Ccirc "Ĉ"> <!-- LATIN CAPITAL LETTER C WITH CIRCUMFLEX -->
+<!ENTITY cdot "ċ"> <!-- DOT OPERATOR -->
+<!ENTITY Cdot "Ċ"> <!-- LATIN CAPITAL LETTER C WITH DOT ABOVE -->
+<!ENTITY dcaron "ď"> <!-- LATIN SMALL LETTER D WITH CARON -->
+<!ENTITY Dcaron "Ď"> <!-- LATIN CAPITAL LETTER D WITH CARON -->
+<!ENTITY dstrok "đ"> <!-- LATIN SMALL LETTER D WITH STROKE -->
+<!ENTITY Dstrok "Đ"> <!-- LATIN CAPITAL LETTER D WITH STROKE -->
+<!ENTITY ecaron "ě"> <!-- LATIN SMALL LETTER E WITH CARON -->
+<!ENTITY Ecaron "Ě"> <!-- LATIN CAPITAL LETTER E WITH CARON -->
+<!ENTITY edot "ė"> <!-- LATIN SMALL LETTER E WITH DOT ABOVE -->
+<!ENTITY Edot "Ė"> <!-- LATIN CAPITAL LETTER E WITH DOT ABOVE -->
+<!ENTITY emacr "ē"> <!-- LATIN SMALL LETTER E WITH MACRON -->
+<!ENTITY Emacr "Ē"> <!-- LATIN CAPITAL LETTER E WITH MACRON -->
+<!ENTITY eogon "ę"> <!-- LATIN SMALL LETTER E WITH OGONEK -->
+<!ENTITY Eogon "Ę"> <!-- LATIN CAPITAL LETTER E WITH OGONEK -->
+<!ENTITY gacute "ǵ"> <!-- LATIN SMALL LETTER G WITH ACUTE -->
+<!ENTITY gbreve "ğ"> <!-- LATIN SMALL LETTER G WITH BREVE -->
+<!ENTITY Gbreve "Ğ"> <!-- LATIN CAPITAL LETTER G WITH BREVE -->
+<!ENTITY Gcedil "Ģ"> <!-- LATIN CAPITAL LETTER G WITH CEDILLA -->
+<!ENTITY gcirc "ĝ"> <!-- LATIN SMALL LETTER G WITH CIRCUMFLEX -->
+<!ENTITY Gcirc "Ĝ"> <!-- LATIN CAPITAL LETTER G WITH CIRCUMFLEX -->
+<!ENTITY gdot "ġ"> <!-- LATIN SMALL LETTER G WITH DOT ABOVE -->
+<!ENTITY Gdot "Ġ"> <!-- LATIN CAPITAL LETTER G WITH DOT ABOVE -->
+<!ENTITY hcirc "ĥ"> <!-- LATIN SMALL LETTER H WITH CIRCUMFLEX -->
+<!ENTITY Hcirc "Ĥ"> <!-- LATIN CAPITAL LETTER H WITH CIRCUMFLEX -->
+<!ENTITY hstrok "ħ"> <!-- LATIN SMALL LETTER H WITH STROKE -->
+<!ENTITY Hstrok "Ħ"> <!-- LATIN CAPITAL LETTER H WITH STROKE -->
+<!ENTITY Idot "İ"> <!-- LATIN CAPITAL LETTER I WITH DOT ABOVE -->
+<!ENTITY Imacr "Ī"> <!-- LATIN CAPITAL LETTER I WITH MACRON -->
+<!ENTITY imacr "ī"> <!-- LATIN SMALL LETTER I WITH MACRON -->
+<!ENTITY ijlig "ij"> <!-- LATIN SMALL LIGATURE IJ -->
+<!ENTITY IJlig "IJ"> <!-- LATIN CAPITAL LIGATURE IJ -->
+<!ENTITY inodot "ı"> <!-- LATIN SMALL LETTER DOTLESS I -->
+<!ENTITY iogon "į"> <!-- LATIN SMALL LETTER I WITH OGONEK -->
+<!ENTITY Iogon "Į"> <!-- LATIN CAPITAL LETTER I WITH OGONEK -->
+<!ENTITY itilde "ĩ"> <!-- LATIN SMALL LETTER I WITH TILDE -->
+<!ENTITY Itilde "Ĩ"> <!-- LATIN CAPITAL LETTER I WITH TILDE -->
+<!ENTITY jcirc "ĵ"> <!-- LATIN SMALL LETTER J WITH CIRCUMFLEX -->
+<!ENTITY Jcirc "Ĵ"> <!-- LATIN CAPITAL LETTER J WITH CIRCUMFLEX -->
+<!ENTITY kcedil "ķ"> <!-- LATIN SMALL LETTER K WITH CEDILLA -->
+<!ENTITY Kcedil "Ķ"> <!-- LATIN CAPITAL LETTER K WITH CEDILLA -->
+<!ENTITY kgreen "ĸ"> <!-- LATIN SMALL LETTER KRA -->
+<!ENTITY lacute "ĺ"> <!-- LATIN SMALL LETTER L WITH ACUTE -->
+<!ENTITY Lacute "Ĺ"> <!-- LATIN CAPITAL LETTER L WITH ACUTE -->
+<!ENTITY lcaron "ľ"> <!-- LATIN SMALL LETTER L WITH CARON -->
+<!ENTITY Lcaron "Ľ"> <!-- LATIN CAPITAL LETTER L WITH CARON -->
+<!ENTITY lcedil "ļ"> <!-- LATIN SMALL LETTER L WITH CEDILLA -->
+<!ENTITY Lcedil "Ļ"> <!-- LATIN CAPITAL LETTER L WITH CEDILLA -->
+<!ENTITY lmidot "ŀ"> <!-- LATIN SMALL LETTER L WITH MIDDLE DOT -->
+<!ENTITY Lmidot "Ŀ"> <!-- LATIN CAPITAL LETTER L WITH MIDDLE DOT -->
+<!ENTITY lstrok "ł"> <!-- LATIN SMALL LETTER L WITH STROKE -->
+<!ENTITY Lstrok "Ł"> <!-- LATIN CAPITAL LETTER L WITH STROKE -->
+<!ENTITY nacute "ń"> <!-- LATIN SMALL LETTER N WITH ACUTE -->
+<!ENTITY Nacute "Ń"> <!-- LATIN CAPITAL LETTER N WITH ACUTE -->
+<!ENTITY eng "ŋ"> <!-- LATIN SMALL LETTER ENG -->
+<!ENTITY ENG "Ŋ"> <!-- LATIN CAPITAL LETTER ENG -->
+<!ENTITY napos "ʼn"> <!-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -->
+<!ENTITY ncaron "ň"> <!-- LATIN SMALL LETTER N WITH CARON -->
+<!ENTITY Ncaron "Ň"> <!-- LATIN CAPITAL LETTER N WITH CARON -->
+<!ENTITY ncedil "ņ"> <!-- LATIN SMALL LETTER N WITH CEDILLA -->
+<!ENTITY Ncedil "Ņ"> <!-- LATIN CAPITAL LETTER N WITH CEDILLA -->
+<!ENTITY odblac "ő"> <!-- LATIN SMALL LETTER O WITH DOUBLE ACUTE -->
+<!ENTITY Odblac "Ő"> <!-- LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -->
+<!ENTITY Omacr "Ō"> <!-- LATIN CAPITAL LETTER O WITH MACRON -->
+<!ENTITY omacr "ō"> <!-- LATIN SMALL LETTER O WITH MACRON -->
+<!ENTITY oelig "œ"> <!-- LATIN SMALL LIGATURE OE -->
+<!ENTITY OElig "Œ"> <!-- LATIN CAPITAL LIGATURE OE -->
+<!ENTITY racute "ŕ"> <!-- LATIN SMALL LETTER R WITH ACUTE -->
+<!ENTITY Racute "Ŕ"> <!-- LATIN CAPITAL LETTER R WITH ACUTE -->
+<!ENTITY rcaron "ř"> <!-- LATIN SMALL LETTER R WITH CARON -->
+<!ENTITY Rcaron "Ř"> <!-- LATIN CAPITAL LETTER R WITH CARON -->
+<!ENTITY rcedil "ŗ"> <!-- LATIN SMALL LETTER R WITH CEDILLA -->
+<!ENTITY Rcedil "Ŗ"> <!-- LATIN CAPITAL LETTER R WITH CEDILLA -->
+<!ENTITY sacute "ś"> <!-- LATIN SMALL LETTER S WITH ACUTE -->
+<!ENTITY Sacute "Ś"> <!-- LATIN CAPITAL LETTER S WITH ACUTE -->
+<!ENTITY scaron "š"> <!-- LATIN SMALL LETTER S WITH CARON -->
+<!ENTITY Scaron "Š"> <!-- LATIN CAPITAL LETTER S WITH CARON -->
+<!ENTITY scedil "ş"> <!-- LATIN SMALL LETTER S WITH CEDILLA -->
+<!ENTITY Scedil "Ş"> <!-- LATIN CAPITAL LETTER S WITH CEDILLA -->
+<!ENTITY scirc "ŝ"> <!-- LATIN SMALL LETTER S WITH CIRCUMFLEX -->
+<!ENTITY Scirc "Ŝ"> <!-- LATIN CAPITAL LETTER S WITH CIRCUMFLEX -->
+<!ENTITY tcaron "ť"> <!-- LATIN SMALL LETTER T WITH CARON -->
+<!ENTITY Tcaron "Ť"> <!-- LATIN CAPITAL LETTER T WITH CARON -->
+<!ENTITY tcedil "ţ"> <!-- LATIN SMALL LETTER T WITH CEDILLA -->
+<!ENTITY Tcedil "Ţ"> <!-- LATIN CAPITAL LETTER T WITH CEDILLA -->
+<!ENTITY tstrok "ŧ"> <!-- LATIN SMALL LETTER T WITH STROKE -->
+<!ENTITY Tstrok "Ŧ"> <!-- LATIN CAPITAL LETTER T WITH STROKE -->
+<!ENTITY ubreve "ŭ"> <!-- LATIN SMALL LETTER U WITH BREVE -->
+<!ENTITY Ubreve "Ŭ"> <!-- LATIN CAPITAL LETTER U WITH BREVE -->
+<!ENTITY udblac "ű"> <!-- LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
+<!ENTITY Udblac "Ű"> <!-- LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -->
+<!ENTITY umacr "ū"> <!-- LATIN SMALL LETTER U WITH MACRON -->
+<!ENTITY Umacr "Ū"> <!-- LATIN CAPITAL LETTER U WITH MACRON -->
+<!ENTITY uogon "ų"> <!-- LATIN SMALL LETTER U WITH OGONEK -->
+<!ENTITY Uogon "Ų"> <!-- LATIN CAPITAL LETTER U WITH OGONEK -->
+<!ENTITY uring "ů"> <!-- LATIN SMALL LETTER U WITH RING ABOVE -->
+<!ENTITY Uring "Ů"> <!-- LATIN CAPITAL LETTER U WITH RING ABOVE -->
+<!ENTITY utilde "ũ"> <!-- LATIN SMALL LETTER U WITH TILDE -->
+<!ENTITY Utilde "Ũ"> <!-- LATIN CAPITAL LETTER U WITH TILDE -->
+<!ENTITY wcirc "ŵ"> <!-- LATIN SMALL LETTER W WITH CIRCUMFLEX -->
+<!ENTITY Wcirc "Ŵ"> <!-- LATIN CAPITAL LETTER W WITH CIRCUMFLEX -->
+<!ENTITY ycirc "ŷ"> <!-- LATIN SMALL LETTER Y WITH CIRCUMFLEX -->
+<!ENTITY Ycirc "Ŷ"> <!-- LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -->
+<!ENTITY Yuml "Ÿ"> <!-- LATIN CAPITAL LETTER Y WITH DIAERESIS -->
+<!ENTITY zacute "ź"> <!-- LATIN SMALL LETTER Z WITH ACUTE -->
+<!ENTITY Zacute "Ź"> <!-- LATIN CAPITAL LETTER Z WITH ACUTE -->
+<!ENTITY zcaron "ž"> <!-- LATIN SMALL LETTER Z WITH CARON -->
+<!ENTITY Zcaron "Ž"> <!-- LATIN CAPITAL LETTER Z WITH CARON -->
+<!ENTITY zdot "ż"> <!-- LATIN SMALL LETTER Z WITH DOT ABOVE -->
+<!ENTITY Zdot "Ż"> <!-- LATIN CAPITAL LETTER Z WITH DOT ABOVE -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-num.ent b/lib/docbook/docbook-dtd/ent/iso-num.ent new file mode 100644 index 000000000..312af5028 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-num.ent @@ -0,0 +1,81 @@ +<!-- iso-num.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY half "½"> <!-- VULGAR FRACTION ONE HALF -->
+<!ENTITY frac12 "½"> <!-- VULGAR FRACTION ONE HALF -->
+<!ENTITY frac14 "¼"> <!-- VULGAR FRACTION ONE QUARTER -->
+<!ENTITY frac34 "¾"> <!-- VULGAR FRACTION THREE QUARTERS -->
+<!ENTITY frac18 "⅛"> <!-- -->
+<!ENTITY frac38 "⅜"> <!-- -->
+<!ENTITY frac58 "⅝"> <!-- -->
+<!ENTITY frac78 "⅞"> <!-- -->
+<!ENTITY sup1 "¹"> <!-- SUPERSCRIPT ONE -->
+<!ENTITY sup2 "²"> <!-- SUPERSCRIPT TWO -->
+<!ENTITY sup3 "³"> <!-- SUPERSCRIPT THREE -->
+<!ENTITY plus "+"> <!-- PLUS SIGN -->
+<!ENTITY plusmn "±"> <!-- PLUS-MINUS SIGN -->
+<!ENTITY lt "&#60;"> <!-- LESS-THAN SIGN -->
+<!ENTITY equals "="> <!-- EQUALS SIGN -->
+<!ENTITY gt ">"> <!-- GREATER-THAN SIGN -->
+<!ENTITY divide "÷"> <!-- DIVISION SIGN -->
+<!ENTITY times "×"> <!-- MULTIPLICATION SIGN -->
+<!ENTITY curren "¤"> <!-- CURRENCY SIGN -->
+<!ENTITY pound "£"> <!-- POUND SIGN -->
+<!ENTITY dollar "$"> <!-- DOLLAR SIGN -->
+<!ENTITY cent "¢"> <!-- CENT SIGN -->
+<!ENTITY yen "¥"> <!-- YEN SIGN -->
+<!ENTITY num "#"> <!-- NUMBER SIGN -->
+<!ENTITY percnt "%"> <!-- PERCENT SIGN -->
+<!ENTITY amp "&#38;"> <!-- AMPERSAND -->
+<!ENTITY ast "*"> <!-- ASTERISK OPERATOR -->
+<!ENTITY commat "@"> <!-- COMMERCIAL AT -->
+<!ENTITY lsqb "["> <!-- LEFT SQUARE BRACKET -->
+<!ENTITY bsol "\"> <!-- REVERSE SOLIDUS -->
+<!ENTITY rsqb "]"> <!-- RIGHT SQUARE BRACKET -->
+<!ENTITY lcub "{"> <!-- LEFT CURLY BRACKET -->
+<!ENTITY horbar "―"> <!-- HORIZONTAL BAR -->
+<!ENTITY verbar "|"> <!-- VERTICAL LINE -->
+<!ENTITY rcub "}"> <!-- RIGHT CURLY BRACKET -->
+<!ENTITY micro "µ"> <!-- MICRO SIGN -->
+<!ENTITY ohm "Ω"> <!-- OHM SIGN -->
+<!ENTITY deg "°"> <!-- DEGREE SIGN -->
+<!ENTITY ordm "º"> <!-- MASCULINE ORDINAL INDICATOR -->
+<!ENTITY ordf "ª"> <!-- FEMININE ORDINAL INDICATOR -->
+<!ENTITY sect "§"> <!-- SECTION SIGN -->
+<!ENTITY para "¶"> <!-- PILCROW SIGN -->
+<!ENTITY middot "·"> <!-- MIDDLE DOT -->
+<!ENTITY larr "←"> <!-- LEFTWARDS DOUBLE ARROW -->
+<!ENTITY rarr "→"> <!-- RIGHTWARDS DOUBLE ARROW -->
+<!ENTITY uarr "↑"> <!-- UPWARDS ARROW -->
+<!ENTITY darr "↓"> <!-- DOWNWARDS ARROW -->
+<!ENTITY copy "©"> <!-- COPYRIGHT SIGN -->
+<!ENTITY reg "®"> <!-- REG TRADE MARK SIGN -->
+<!ENTITY trade "™"> <!-- TRADE MARK SIGN -->
+<!ENTITY brvbar "¦"> <!-- BROKEN BAR -->
+<!ENTITY not "¬"> <!-- NOT SIGN -->
+<!ENTITY sung "♩"> <!-- -->
+<!ENTITY excl "!"> <!-- EXCLAMATION MARK -->
+<!ENTITY iexcl "¡"> <!-- INVERTED EXCLAMATION MARK -->
+<!ENTITY quot """> <!-- QUOTATION MARK -->
+<!ENTITY apos "'"> <!-- APOSTROPHE -->
+<!ENTITY lpar "("> <!-- LEFT PARENTHESIS -->
+<!ENTITY rpar ")"> <!-- RIGHT PARENTHESIS -->
+<!ENTITY comma ","> <!-- COMMA -->
+<!ENTITY lowbar "_"> <!-- LOW LINE -->
+<!ENTITY hyphen "-"> <!-- HYPHEN-MINUS -->
+<!ENTITY period "."> <!-- FULL STOP -->
+<!ENTITY sol "/"> <!-- SOLIDUS -->
+<!ENTITY colon ":"> <!-- COLON -->
+<!ENTITY semi ";"> <!-- SEMICOLON -->
+<!ENTITY quest "?"> <!-- QUESTION MARK -->
+<!ENTITY iquest "¿"> <!-- INVERTED QUESTION MARK -->
+<!ENTITY laquo "«"> <!-- LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+<!ENTITY raquo "»"> <!-- RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+<!ENTITY lsquo "‘"> <!-- -->
+<!ENTITY rsquo "’"> <!-- RIGHT SINGLE QUOTATION MARK -->
+<!ENTITY ldquo "“"> <!-- -->
+<!ENTITY rdquo "”"> <!-- RIGHT DOUBLE QUOTATION MARK -->
+<!ENTITY nbsp " "> <!-- NO-BREAK SPACE -->
+<!ENTITY shy "­"> <!-- SOFT HYPHEN -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-pub.ent b/lib/docbook/docbook-dtd/ent/iso-pub.ent new file mode 100644 index 000000000..6905ae4e0 --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-pub.ent @@ -0,0 +1,90 @@ +<!-- iso-pub.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY emsp " "> <!-- EM SPACE -->
+<!ENTITY ensp " "> <!-- EN SPACE -->
+<!ENTITY emsp13 " "> <!-- THREE-PER-EM SPACE -->
+<!ENTITY emsp14 " "> <!-- FOUR-PER-EM SPACE -->
+<!ENTITY numsp " "> <!-- FIGURE SPACE -->
+<!ENTITY puncsp " "> <!-- PUNCTUATION SPACE -->
+<!ENTITY thinsp " "> <!-- THIN SPACE -->
+<!ENTITY hairsp " "> <!-- HAIR SPACE -->
+<!ENTITY mdash "—"> <!-- EM DASH -->
+<!ENTITY ndash "–"> <!-- EN DASH -->
+<!ENTITY dash "‐"> <!-- HYPHEN -->
+<!ENTITY blank "␣"> <!-- OPEN BOX -->
+<!ENTITY hellip "…"> <!-- HORIZONTAL ELLIPSIS -->
+<!ENTITY nldr "‥"> <!-- TWO DOT LEADER -->
+<!ENTITY frac13 "⅓"> <!-- VULGAR FRACTION ONE THIRD -->
+<!ENTITY frac23 "⅔"> <!-- VULGAR FRACTION TWO THIRDS -->
+<!ENTITY frac15 "⅕"> <!-- VULGAR FRACTION ONE FIFTH -->
+<!ENTITY frac25 "⅖"> <!-- VULGAR FRACTION TWO FIFTHS -->
+<!ENTITY frac35 "⅗"> <!-- VULGAR FRACTION THREE FIFTHS -->
+<!ENTITY frac45 "⅘"> <!-- VULGAR FRACTION FOUR FIFTHS -->
+<!ENTITY frac16 "⅙"> <!-- VULGAR FRACTION ONE SIXTH -->
+<!ENTITY frac56 "⅚"> <!-- VULGAR FRACTION FIVE SIXTHS -->
+<!ENTITY incare "℅"> <!-- CARE OF -->
+<!ENTITY block "█"> <!-- FULL BLOCK -->
+<!ENTITY uhblk "▀"> <!-- UPPER HALF BLOCK -->
+<!ENTITY lhblk "▄"> <!-- LOWER HALF BLOCK -->
+<!ENTITY blk14 "░"> <!-- LIGHT SHADE -->
+<!ENTITY blk12 "▒"> <!-- MEDIUM SHADE -->
+<!ENTITY blk34 "▓"> <!-- DARK SHADE -->
+<!ENTITY marker "▮"> <!-- BLACK VERTICAL RECTANGLE -->
+<!ENTITY cir "○"> <!-- WHITE CIRCLE -->
+<!ENTITY squ "□"> <!-- WHITE SQUARE -->
+<!ENTITY rect "▭"> <!-- WHITE RECTANGLE -->
+<!ENTITY utri "▵"> <!-- WHITE UP-POINTING TRIANGLE -->
+<!ENTITY dtri "▿"> <!-- WHITE DOWN-POINTING TRIANGLE -->
+<!ENTITY star "⋆"> <!-- STAR OPERATOR -->
+<!ENTITY bull "•"> <!-- BULLET -->
+<!ENTITY squf "▪"> <!-- -->
+<!ENTITY utrif "▴"> <!-- BLACK UP-POINTING TRIANGLE -->
+<!ENTITY dtrif "▾"> <!-- BLACK DOWN-POINTING TRIANGLE -->
+<!ENTITY ltrif "◂"> <!-- BLACK LEFT-POINTING TRIANGLE -->
+<!ENTITY rtrif "▸"> <!-- BLACK RIGHT-POINTING TRIANGLE -->
+<!ENTITY clubs "♣"> <!-- BLACK CLUB SUIT -->
+<!ENTITY diams "♦"> <!-- BLACK DIAMOND SUIT -->
+<!ENTITY hearts "♥"> <!-- BLACK HEART SUIT -->
+<!ENTITY spades "♠"> <!-- BLACK SPADE SUIT -->
+<!ENTITY malt "✠"> <!-- MALTESE CROSS -->
+<!ENTITY dagger "†"> <!-- DAGGER -->
+<!ENTITY Dagger "‡"> <!-- DOUBLE DAGGER -->
+<!ENTITY check "✓"> <!-- CHECK MARK -->
+<!ENTITY cross "✗"> <!-- BALLOT X -->
+<!ENTITY sharp "♯"> <!-- MUSIC SHARP SIGN -->
+<!ENTITY flat "♭"> <!-- MUSIC FLAT SIGN -->
+<!ENTITY male "♂"> <!-- MALE SIGN -->
+<!ENTITY female "♀"> <!-- -->
+<!ENTITY phone "☎"> <!-- TELEPHONE SIGN -->
+<!ENTITY telrec "⌕"> <!-- TELEPHONE RECORDER -->
+<!ENTITY copysr "℗"> <!-- SOUND RECORDING COPYRIGHT -->
+<!ENTITY caret "⁁"> <!-- CARET -->
+<!ENTITY lsquor "‚"> <!-- SINGLE LOW-9 QUOTATION MARK -->
+<!ENTITY ldquor "„"> <!-- DOUBLE LOW-9 QUOTATION MARK -->
+<!ENTITY fflig "ff"> <!-- -->
+<!ENTITY filig "fi"> <!-- -->
+<!-- fjlig Unknown unicode character -->
+<!ENTITY ffilig "ffi"> <!-- -->
+<!ENTITY ffllig "ffl"> <!-- -->
+<!ENTITY fllig "fl"> <!-- -->
+<!ENTITY mldr "…"> <!-- HORIZONTAL ELLIPSIS -->
+<!ENTITY rdquor "“"> <!-- -->
+<!ENTITY rsquor "‘"> <!-- -->
+<!ENTITY vellip "⋮"> <!-- -->
+<!ENTITY hybull "⁃"> <!-- HYPHEN BULLET -->
+<!ENTITY loz "◊"> <!-- LOZENGE -->
+<!ENTITY lozf "✦"> <!-- -->
+<!ENTITY ltri "◃"> <!-- WHITE LEFT-POINTING TRIANGLE -->
+<!ENTITY rtri "▹"> <!-- WHITE RIGHT-POINTING TRIANGLE -->
+<!ENTITY starf "★"> <!-- BLACK STAR -->
+<!ENTITY natur "♮"> <!-- MUSIC NATURAL SIGN -->
+<!ENTITY rx "℞"> <!-- PRESCRIPTION TAKE -->
+<!ENTITY sext "✶"> <!-- SIX POINTED BLACK STAR -->
+<!ENTITY target "⌖"> <!-- POSITION INDICATOR -->
+<!ENTITY dlcrop "⌍"> <!-- BOTTOM LEFT CROP -->
+<!ENTITY drcrop "⌌"> <!-- BOTTOM RIGHT CROP -->
+<!ENTITY ulcrop "⌏"> <!-- TOP LEFT CROP -->
+<!ENTITY urcrop "⌎"> <!-- TOP RIGHT CROP -->
diff --git a/lib/docbook/docbook-dtd/ent/iso-tech.ent b/lib/docbook/docbook-dtd/ent/iso-tech.ent new file mode 100644 index 000000000..55ab939bc --- /dev/null +++ b/lib/docbook/docbook-dtd/ent/iso-tech.ent @@ -0,0 +1,69 @@ +<!-- iso-tech.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+ and the Unicode character mappings provided by Sebastian Rahtz.
+ With additional derivations from
+ ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY aleph "ℵ"> <!-- ALEF SYMBOL -->
+<!ENTITY and "∧"> <!-- -->
+<!ENTITY ang90 "∟"> <!-- RIGHT ANGLE -->
+<!ENTITY angsph "∢"> <!-- -->
+<!ENTITY ap "≈"> <!-- -->
+<!ENTITY becaus "∵"> <!-- BECAUSE -->
+<!ENTITY bottom "⊥"> <!-- -->
+<!ENTITY cap "∩"> <!-- -->
+<!ENTITY cong "≅"> <!-- -->
+<!ENTITY conint "∮"> <!-- -->
+<!ENTITY cup "∪"> <!-- -->
+<!ENTITY equiv "≡"> <!-- -->
+<!ENTITY exist "∃"> <!-- -->
+<!ENTITY forall "∀"> <!-- -->
+<!ENTITY fnof "ƒ"> <!-- LATIN SMALL LETTER F WITH HOOK -->
+<!ENTITY ge "≥"> <!-- GREATER-THAN OR EQUAL TO -->
+<!ENTITY iff "⇔"> <!-- LEFT RIGHT DOUBLE ARROW -->
+<!ENTITY infin "∞"> <!-- -->
+<!ENTITY int "∫"> <!-- -->
+<!ENTITY isin "∊"> <!-- -->
+<!ENTITY lang "〈"> <!-- -->
+<!ENTITY lArr "⇐"> <!-- LEFTWARDS ARROW -->
+<!ENTITY le "≤"> <!-- -->
+<!ENTITY minus "−"> <!-- MINUS SIGN -->
+<!ENTITY mnplus "∓"> <!-- -->
+<!ENTITY nabla "∇"> <!-- NABLA -->
+<!ENTITY ne "≠"> <!-- -->
+<!ENTITY ni "∍"> <!-- -->
+<!ENTITY or "∨"> <!-- -->
+<!ENTITY par "∥"> <!-- PARALLEL TO -->
+<!ENTITY part "∂"> <!-- -->
+<!ENTITY permil "‰"> <!-- PER MILLE SIGN -->
+<!ENTITY perp "⊥"> <!-- -->
+<!ENTITY prime "′"> <!-- PRIME -->
+<!ENTITY Prime "″"> <!-- DOUBLE PRIME -->
+<!ENTITY prop "∝"> <!-- -->
+<!ENTITY radic "√"> <!-- -->
+<!ENTITY rang "〉"> <!-- -->
+<!ENTITY rArr "⇒"> <!-- RIGHTWARDS ARROW -->
+<!ENTITY sim "∼"> <!-- -->
+<!ENTITY sime "≃"> <!-- -->
+<!ENTITY square "□"> <!-- WHITE SQUARE -->
+<!ENTITY sub "⊂"> <!-- -->
+<!ENTITY sube "⊆"> <!-- -->
+<!ENTITY sup "⊃"> <!-- -->
+<!ENTITY supe "⊇"> <!-- -->
+<!ENTITY there4 "∴"> <!-- -->
+<!ENTITY Verbar "‖"> <!-- DOUBLE VERTICAL LINE -->
+<!ENTITY angst "Å"> <!-- ANGSTROM SIGN -->
+<!ENTITY bernou "ℬ"> <!-- SCRIPT CAPITAL B -->
+<!ENTITY compfn "∘"> <!-- RING OPERATOR -->
+<!ENTITY Dot "¨"> <!-- -->
+<!ENTITY DotDot "⃜"> <!-- COMBINING FOUR DOTS ABOVE -->
+<!ENTITY hamilt "ℋ"> <!-- SCRIPT CAPITAL H -->
+<!ENTITY lagran "ℒ"> <!-- SCRIPT CAPITAL L -->
+<!ENTITY lowast "∗"> <!-- ASTERISK OPERATOR -->
+<!ENTITY notin "∉"> <!-- -->
+<!ENTITY order "ℴ"> <!-- SCRIPT SMALL O -->
+<!ENTITY phmmat "ℳ"> <!-- SCRIPT CAPITAL M -->
+<!ENTITY tdot "⃛"> <!-- COMBINING THREE DOTS ABOVE -->
+<!ENTITY tprime "‴"> <!-- TRIPLE PRIME -->
+<!ENTITY wedgeq "≙"> <!-- ESTIMATES -->
diff --git a/lib/docbook/docbook-dtd/readme.txt b/lib/docbook/docbook-dtd/readme.txt new file mode 100644 index 000000000..383f7fed5 --- /dev/null +++ b/lib/docbook/docbook-dtd/readme.txt @@ -0,0 +1,16 @@ +README for DocBook XML V4.1.2 + +This is DocBook XML V4.1.2, released 27 Aug 2000. + +See 41chg.txt for information about what has changed since DocBook 4.0. + +For more information about DocBook, please see + + http://www.oasis-open.org/docbook/ + +a partial mirror of the official DocBook site is available at + + http://docbook.org/ + +Please send all questions, comments, concerns, and bug reports to the +DocBook mailing list: docbook@lists.oasis-open.org diff --git a/lib/docbook/docbook-dtd/soextblx.dtd b/lib/docbook/docbook-dtd/soextblx.dtd new file mode 100644 index 000000000..4c84d85fe --- /dev/null +++ b/lib/docbook/docbook-dtd/soextblx.dtd @@ -0,0 +1,308 @@ +<!-- XML EXCHANGE TABLE MODEL DECLARATION MODULE -->
+
+<!-- This set of declarations defines the XML version of the Exchange
+ Table Model as of the date shown in the Formal Public Identifier
+ (FPI) for this entity.
+
+ This set of declarations may be referred to using a public external
+ entity declaration and reference as shown in the following three
+ lines:
+
+ <!ENTITY % calstblx
+ PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN">
+ %calstblx;
+
+ If various parameter entities used within this set of declarations
+ are to be given non-default values, the appropriate declarations
+ should be given before calling in this package (i.e., before the
+ "%calstblx;" reference).
+-->
+
+<!-- The motivation for this XML version of the Exchange Table Model
+ is simply to create an XML version of the SGML Exchange Table
+ Model. By design, no effort has been made to "improve" the model.
+
+ This XML version incorporates the logical bare minimum changes
+ necessary to make the Exchange Table Model a valid XML DTD.
+-->
+
+<!-- The XML version of the Exchange Table Model differs from
+ the SGML version in the following ways:
+
+ The following parameter entities have been removed:
+
+ - tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep
+ There are no exceptions in XML. The following normative statement
+ is made in lieu of exceptions: the exchange table model explicitly
+ forbids a table from occurring within another table. If the
+ content model of an entry includes a table element, then this
+ cannot be enforced by the DTD, but it is a deviation from the
+ exchange table model to include a table within a table.
+
+ - tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att
+ The motivation for these elements was to change the table
+ header/footer elements. Since XML does not allow element declarations
+ to contain name groups, and the exchange table model does not
+ allow a table to contain footers, the continued presence of these
+ attributes seems unnecessary.
+
+ The following parameter entity has been added:
+
+ - tbl.thead.att
+ This entity parameterizes the attributes on thead. It replaces
+ the tbl.hdft.att parameter entity.
+
+ Other miscellaneous changes:
+
+ - Tag ommission indicators have been removed
+ - Comments have been removed from declarations
+ - NUMBER attributes have been changed to NMTOKEN
+ - NUTOKEN attributes have been to changed to NMTOKEN
+ - Removed the grouping characters around the content model
+ parameter entry for the 'entry' element. This is necessary
+ so that an entry can contain #PCDATA and be defined as an
+ optional, repeatable OR group beginning with #PCDATA.
+-->
+
+<!-- This entity includes a set of element and attribute declarations
+ that partially defines the Exchange table model. However, the model
+ is not well-defined without the accompanying natural language
+ description of the semantics (meanings) of these various elements,
+ attributes, and attribute values. The semantic writeup, also available
+ from SGML Open, should be used in conjunction with this entity.
+-->
+
+<!-- In order to use the Exchange table model, various parameter entity
+ declarations are required. A brief description is as follows:
+
+ ENTITY NAME WHERE USED WHAT IT IS
+
+ %yesorno In ATTLIST of: An attribute declared value
+ almost all elements for a "boolean" attribute
+
+ %paracon In content model of: The "text" (logical content)
+ <entry> of the model group for <entry>
+
+ %titles In content model of: The "title" part of the model
+ table element group for the table element
+
+ %tbl.table.name In declaration of: The name of the "table"
+ table element element
+
+ %tbl.table-titles.mdl In content model of: The model group for the title
+ table elements part of the content model for
+ table element
+
+ %tbl.table.mdl In content model of: The model group for the content
+ table elements model for table element,
+ often (and by default) defined
+ in terms of %tbl.table-titles.mdl
+ and tgroup
+
+ %tbl.table.att In ATTLIST of: Additional attributes on the
+ table element table element
+
+ %bodyatt In ATTLIST of: Additional attributes on the
+ table element table element (for backward
+ compatibility with the SGML
+ model)
+
+ %tbl.tgroup.mdl In content model of: The model group for the content
+ <tgroup> model for <tgroup>
+
+ %tbl.tgroup.att In ATTLIST of: Additional attributes on the
+ <tgroup> <tgroup> element
+
+ %tbl.thead.att In ATTLIST of: Additional attributes on the
+ <thead> <thead> element
+
+ %tbl.tbody.att In ATTLIST of: Additional attributes on the
+ <tbody> <tbody> element
+
+ %tbl.colspec.att In ATTLIST of: Additional attributes on the
+ <colspec> <colspec> element
+
+ %tbl.row.mdl In content model of: The model group for the content
+ <row> model for <row>
+
+ %tbl.row.att In ATTLIST of: Additional attributes on the
+ <row> <row> element
+
+ %tbl.entry.mdl In content model of: The model group for the content
+ <entry> model for <entry>
+
+ %tbl.entry.att In ATTLIST of: Additional attributes on the
+ <entry> <entry> element
+
+ This set of declarations will use the default definitions shown below
+ for any of these parameter entities that are not declared before this
+ set of declarations is referenced.
+-->
+
+<!-- These definitions are not directly related to the table model, but are
+ used in the default CALS table model and may be defined elsewhere (and
+ prior to the inclusion of this table module) in the referencing DTD. -->
+
+<!ENTITY % yesorno 'NMTOKEN'> <!-- no if zero(s), yes if any other value -->
+<!ENTITY % titles 'title?'>
+<!ENTITY % pcd "#PCDATA">
+<!ENTITY % paracon '%pcd;'> <!-- default for use in entry content -->
+
+<!--
+The parameter entities as defined below change and simplify the CALS table
+model as published (as part of the Example DTD) in MIL-HDBK-28001. The
+resulting simplified DTD has support from the SGML Open vendors and is
+therefore more interoperable among different systems.
+
+These following declarations provide the Exchange default definitions
+for these entities. However, these entities can 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.
+
+Note, however, that changes may have significant effect on the ability to
+interchange table information. These changes may manifest themselves
+in useability, presentation, and possible structure information degradation.
+-->
+
+<!ENTITY % tbl.table.name "table">
+<!ENTITY % tbl.table-titles.mdl "%titles;,">
+<!ENTITY % tbl.table-main.mdl "tgroup+">
+<!ENTITY % tbl.table.mdl "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
+<!ENTITY % tbl.table.att "
+ pgwide %yesorno; #IMPLIED ">
+<!ENTITY % bodyatt "">
+<!ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody">
+<!ENTITY % tbl.tgroup.att "">
+<!ENTITY % tbl.thead.att "">
+<!ENTITY % tbl.tbody.att "">
+<!ENTITY % tbl.colspec.att "">
+<!ENTITY % tbl.row.mdl "entry+">
+<!ENTITY % tbl.row.att "">
+<!ENTITY % tbl.entry.mdl "(%paracon;)*">
+<!ENTITY % tbl.entry.att "">
+
+<!-- ===== Element and attribute declarations follow. ===== -->
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.table.name "table"
+ ENTITY % tbl.table-titles.mdl "%titles;,"
+ ENTITY % tbl.table.mdl "%tbl.table-titles; tgroup+"
+ ENTITY % tbl.table.att "
+ pgwide %yesorno; #IMPLIED "
+-->
+
+<!ELEMENT %tbl.table.name; (%tbl.table.mdl;)>
+
+<!ATTLIST %tbl.table.name;
+ frame (top|bottom|topbot|all|sides|none) #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ %tbl.table.att;
+ %bodyatt;
+>
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody"
+ ENTITY % tbl.tgroup.att ""
+-->
+
+<!ELEMENT tgroup (%tbl.tgroup.mdl;) >
+
+<!ATTLIST tgroup
+ cols NMTOKEN #REQUIRED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ %tbl.tgroup.att;
+>
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.colspec.att ""
+-->
+
+<!ELEMENT colspec EMPTY >
+
+<!ATTLIST colspec
+ colnum NMTOKEN #IMPLIED
+ colname NMTOKEN #IMPLIED
+ colwidth CDATA #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff NMTOKEN #IMPLIED
+ %tbl.colspec.att;
+>
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.thead.att ""
+-->
+
+<!ELEMENT thead (row+)>
+
+<!ATTLIST thead
+ valign (top|middle|bottom) #IMPLIED
+ %tbl.thead.att;
+>
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.tbody.att ""
+-->
+
+<!ELEMENT tbody (row+)>
+
+<!ATTLIST tbody
+ valign (top|middle|bottom) #IMPLIED
+ %tbl.tbody.att;
+>
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.row.mdl "entry+"
+ ENTITY % tbl.row.att ""
+-->
+
+<!ELEMENT row (%tbl.row.mdl;)>
+
+<!ATTLIST row
+ rowsep %yesorno; #IMPLIED
+ valign (top|middle|bottom) #IMPLIED
+ %tbl.row.att;
+>
+
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % paracon "#PCDATA"
+ ENTITY % tbl.entry.mdl "(%paracon;)*"
+ ENTITY % tbl.entry.att ""
+-->
+
+<!ELEMENT entry %tbl.entry.mdl;>
+
+<!ATTLIST entry
+ colname NMTOKEN #IMPLIED
+ namest NMTOKEN #IMPLIED
+ nameend NMTOKEN #IMPLIED
+ morerows NMTOKEN #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff NMTOKEN #IMPLIED
+ valign (top|middle|bottom) #IMPLIED
+ %tbl.entry.att;
+>
diff --git a/lib/docbook/docbook-xsl/BUGS b/lib/docbook/docbook-xsl/BUGS new file mode 100644 index 000000000..084edb1b1 --- /dev/null +++ b/lib/docbook/docbook-xsl/BUGS @@ -0,0 +1,6 @@ +The fo stylesheet is probably not in perfect sync with the html stylesheet
+
+Using Equations w/o titles results in incorrectly numbered
+ equations with titles. Use InformalEquation instead.
+
+The 'char' alignment in tables is not supported
diff --git a/lib/docbook/docbook-xsl/ChangeLog b/lib/docbook/docbook-xsl/ChangeLog new file mode 100644 index 000000000..2350c8051 --- /dev/null +++ b/lib/docbook/docbook-xsl/ChangeLog @@ -0,0 +1,58 @@ +2001-08-14 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * VERSION: Version 1.44 released.
+
+2001-08-13 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * VERSION: Version 1.43 released.
+
+ * VERSION: Keep CVS versions distinct from real releases
+
+2001-08-06 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * VERSION: Version 1.42 released.
+
+ * VERSION: Keep CVS versions distinct from real releases
+
+2001-08-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * VERSION: Make VERSION a parameter so that it isn't an error some stylesheets override it
+
+2001-07-09 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * VERSION: Version 1.41 released.
+
+2001-06-14 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * VERSION: Version 1.40 released.
+
+2001-05-24 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * VERSION: Version 1.39 released.
+
+2001-05-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * VERSION: Version 1.38 released.
+
+2001-04-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * VERSION: Version 1.37 released.
+
+2001-04-15 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile, README: Make distribution hacks
+
+2001-04-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * VERSION: Version 1.36 released.
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: Misc. cleanup in preparation for making a distrib
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * BUGS, Makefile, README.CVS, TODO, VERSION: New file.
+
+ * Makefile: Make common files
+
diff --git a/lib/docbook/docbook-xsl/README b/lib/docbook/docbook-xsl/README new file mode 100644 index 000000000..bc94ede6e --- /dev/null +++ b/lib/docbook/docbook-xsl/README @@ -0,0 +1,104 @@ +README for the DocBook Stylesheets
+
+These are XSL stylesheets for the DocBook XML DTD. (They would
+also work for the DocBook DTD, modulo certain namecase problems
+and the fact that there aren't (yet) any XSL implementations
+that work with SGML source documents.)
+
+As of version 1.0, most of the elements in DocBook are handled
+in some way or another, usually reasonably, but there's still
+lots of work to be done.
+
+For more information, see http://docbook.sourceforge.net/
+
+Manifest
+--------
+
+README this file
+TODO planned features not yet implemented (may be incomplete :-)
+BUGS known problems (may also be incomplete :-)
+VERSION the current version number (note that this is an XSL stylesheet,
+ included by both fo/docbook.xsl and html/docbook.xsl)
+WhatsNew changes since the last public release (for a complete list
+ of changes, see the ChangeLog file(s))
+common/ contains code common to both stylesheets
+doc/ documentation
+docsrc/ documentation sources
+extensions/ Java extensions
+fo/ stylesheets that produce XSL FO
+html/ stylesheets that produce HTML
+htmlhelp/ stylesheets that produce HTML Help
+images/ images
+javahelp/ stylesheets that produce Java Help
+lib/ contains schema-independent functions
+template/ contains templates for building stylesheet customization layers
+xhtml/ stylesheets that produce XHTML
+
+Changes
+-------
+
+See the ChangeLog in each directory for additional information
+about the specific changes.
+
+See WhatsNew for changes since the last release.
+
+Installation
+------------
+
+Unpack the distribution somewhere.
+
+Use
+---
+
+Process your DocBook documents with one of the following stylesheets
+using your favorite XSLT processor:
+
+ xhtml/docbook.xsl produces an XHTML result tree
+ html/docbook.xsl produces an HTML result tree
+ fo/docbook.xsl produces an FO result tree
+
+Copyright
+---------
+
+Copyright (C) 1999, 2000, 2001 Norman Walsh
+
+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
+---------------------
+
+These stylesheets are maintained by Norman Walsh, <ndw@nwalsh.com>.
diff --git a/lib/docbook/docbook-xsl/TODO b/lib/docbook/docbook-xsl/TODO new file mode 100644 index 000000000..5d573a2c4 --- /dev/null +++ b/lib/docbook/docbook-xsl/TODO @@ -0,0 +1,4 @@ +Documentation
+Continued lists
+Bibliography support needs improvement
+
diff --git a/lib/docbook/docbook-xsl/VERSION b/lib/docbook/docbook-xsl/VERSION new file mode 100644 index 000000000..9795aa03d --- /dev/null +++ b/lib/docbook/docbook-xsl/VERSION @@ -0,0 +1,6 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+<xsl:param name="VERSION">1.44</xsl:param>
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/WhatsNew b/lib/docbook/docbook-xsl/WhatsNew new file mode 100644 index 000000000..a79179038 --- /dev/null +++ b/lib/docbook/docbook-xsl/WhatsNew @@ -0,0 +1,111 @@ +Changes since version 1.42 (2001-08-06)
+
+Changes to xsl/*
+
+ | 2001-08-14 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * VERSION: Version 1.44 released.
+ |
+ | 2001-08-13 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * VERSION: Version 1.43 released.
+ |
+ | * VERSION: Keep CVS versions distinct from real releases
+ |
+
+Changes to xsl/common/*
+
+ | 2001-08-14 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * l10n.xsl: Calculation of the dingbat nodeset was simply
+ | broken
+ |
+ | 2001-08-13 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * Makefile: Added stylesheet as a dependency
+ |
+
+Changes to xsl/docsrc/*
+
+ | 2001-08-13 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * documentation.xml: Added link to profiling documentation
+ |
+
+Changes to xsl/fo/*
+
+ | 2001-08-09 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * component.xsl, titlepage.templates.xml, titlepage.xsl:
+ | Support colophon
+ |
+ | * graphics.xsl: Forgot curly braces in AVT for height/width
+ |
+ | * inline.xsl: Remark|comment must be formatted as a block in
+ | case it appears at the paragraph-level in a component
+ |
+
+Changes to xsl/html/*
+
+ | 2001-08-14 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * xref.xsl: Display the ID when gentext cannot be created
+ |
+ | 2001-08-11 Robert Stayton <bobstayton@users.sourceforge.net>
+ |
+ | * param.xsl: Removed the '?' from olink resolver parameter
+ | because the olink template will add that (or not, depending
+ | on how that template is customized).
+ |
+ | 2001-08-08 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * param.xsl, verbatim.xsl: Support shade.verbatim parameter
+ |
+
+Changes to xsl/doc/*
+
+ | 2001-08-09 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * Makefile: Added tools to Makefile
+ |
+
+Changes to xsl/htmlhelp/*
+
+ | 2001-08-13 Jirka Kosek <kosek@users.sourceforge.net>
+ |
+ | * htmlhelp-common.xsl: Fixed problems with new lines in titles
+ | for TOC
+ |
+ | 2001-08-08 Jirka Kosek <kosek@users.sourceforge.net>
+ |
+ | * htmlhelp-common.xsl: Added new parameters for controling
+ | filenames of project and output files. New parameter
+ | htmlhelp.hhp.tail for specifying user content for project
+ | file.
+ |
+
+Changes to xsl/docsrc/tools/*
+
+ | 2001-08-13 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * Makefile: New file.
+ |
+
+Changes to xsl/doc/tools/*
+
+ | 2001-08-09 Norman Walsh <nwalsh@users.sourceforge.net>
+ |
+ | * Makefile: Use saxon and docbook.xsl
+ |
+
+Changes to xsl/tools/olink/*
+
+ | 2001-08-11 Robert Stayton <bobstayton@users.sourceforge.net>
+ |
+ | * olink-common.xsl: Fixed the attributes that were all being
+ | saved to the same id attribute. Also added lang as a
+ | supported attribute.
+ |
+ | * olinksum.dtd: Added lang as a supported attribute.
+ |
+
diff --git a/lib/docbook/docbook-xsl/common/ChangeLog b/lib/docbook/docbook-xsl/common/ChangeLog new file mode 100644 index 000000000..f4640dbcf --- /dev/null +++ b/lib/docbook/docbook-xsl/common/ChangeLog @@ -0,0 +1,142 @@ +2001-08-14 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * l10n.xsl: Calculation of the dingbat nodeset was simply broken
+
+2001-08-13 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Added stylesheet as a dependency
+
+2001-08-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * l10n.dtd: Rename internationalization to i18n, localization to l10n
+
+ * l10n.xml: Rename internationalization to i18n, localization to l10n, add namespace declaration
+
+ * l10n.xsl: Support a local i18n override, rename internationalization to i18n, localization to l10n, add namespace declaration
+
+ * labels.xsl: PartIntros never get a label
+
+2001-08-01 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * gentext.xsl: Pass allow-anchors through properly
+
+ * labels.xsl: Fix question labelling
+
+ * titles.xsl: Output anchors for titles if the titles have ids
+
+2001-07-31 Robert Stayton <bobstayton@users.sourceforge.net>
+
+ * l10n.xsl: Reverted the change from [last()] to [1] back to [last()]
+ because that is the correct code.
+
+ * l10n.xsl: Added code to the "l10n.language" template to fall
+ back to the two-letter lang code if a longer lang
+ does not have a <lang>.xml localization file.
+ And it falls back to the default lang if it can't
+ find that either.
+
+ Also fixed a bug for finding the lang attribute.
+ It was using the last() function, but in an
+ ancestor-or-self node set you want the first ancestor
+ (closest) with a lang value.
+
+ 49c49
+ < |ancestor-or-self::*/@xml:lang)[last()]"/>
+ ---
+ > |ancestor-or-self::*/@xml:lang)[1]"/>
+
+2001-07-17 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * common.xsl: Fixed bug #442160. Parameter graphic.default.extension is now used also for <graphic> and <inlinegraphic> not only for <imagedata>.
+
+2001-07-08 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * gentext.xsl, titles.xsl: Support xref to bridgehead
+
+2001-07-04 <uid48421@users.sourceforge.net>
+
+ * .cvsignore, Makefile, l10n.xml: Added support for Turkish
+
+ * .cvsignore, Makefile, l10n.xml: Added Afrikaans
+
+ * common.xsl, titles.xsl: Bug #429011, fix xref to qandset elements
+
+ * labels.xsl: Bug #426188, fix question/answer labels
+
+2001-06-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * common.xsl, gentext.xsl, labels.xsl, titles.xsl: Use common code to calculate step numbers; support xref to procedures and steps; added formal.procedures parameter
+
+2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * l10n.xsl: Xalan debugging; harmless changes
+
+2001-06-14 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * subtitles.xsl: Support subtitle on article
+
+2001-05-23 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * common.xsl: Fix dup. template bug with is.graphic.*
+
+ * gentext.xsl: Workaround article/appendix formatting bug (HACK)
+
+ * labels.xsl: Label appendixes correctly in books and articles
+
+2001-05-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * labels.xsl: Tweak for section labels in articles
+
+2001-05-12 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * common.xsl: Added refsect* to the section.level template
+
+2001-05-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile, l10n.xml: Add Serbian localization
+
+2001-04-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * common.xsl: My first crude attempts at support for qandaset
+
+2001-04-19 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * gentext.xsl, titles.xsl: Fix bug #417193, make sure allow-anchors is properly propagated through substitute-markup
+
+2001-04-18 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * titles.xsl: Suppress indexterms in no.anchor.mode
+
+2001-04-17 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * labels.xsl: Move label.from.part parameter into param.xsl; default it to 0 so that chapters and appendixes are numbered monotonically throughout a book by default. Moved param.xsl up in the include list, just for good measure
+
+2001-04-16 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * gentext.xsl: Fix bug in processing of subtitle content
+
+ * labels.xsl: Only label.from.part if there actually is a part
+
+ * titles.xsl: Don't put ulink, link, olink, or xref in titles if anchor's aren't allowed
+
+2001-04-15 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * gentext.xsl: Localize the textonly calculations by creating a object.title.markup.textonly mode
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * gentext.xsl, labels.xsl, titles.xsl: Fix bug 412487, make XSL-generated callout marks honor callout mark parameters
+
+ * titles.xsl: Restore no.anchor.mode and suppress footnotes in no.anchor.mode
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
+ * common.xsl, gentext.xsl, l10n.xml, l10n.xsl, labels.xsl, subtitles.xsl, titles.xsl:
+ New file.
+
+ * gentext.xsl: Commented out debugging messages
+
+ * l10n.dtd: New file.
+
diff --git a/lib/docbook/docbook-xsl/common/af.xml b/lib/docbook/docbook-xsl/common/af.xml new file mode 100644 index 000000000..3a7f18c03 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/af.xml @@ -0,0 +1,335 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="af"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Samevatting"/> + <l:gentext key="abstract" text="Samevatting"/> + <l:gentext key="Answer" text="Antwoord:"/> + <l:gentext key="answer" text="Antwoord:"/> + <l:gentext key="Appendix" text="Aanhangsel"/> + <l:gentext key="appendix" text="aanhangsel"/> + <l:gentext key="Article" text="Artikel"/> + <l:gentext key="article" text="Artikel"/> + <l:gentext key="Bibliography" text="Bibliografie"/> + <l:gentext key="bibliography" text="Bibliografie"/> + <l:gentext key="Book" text="Boek"/> + <l:gentext key="book" text="Boek"/> + <l:gentext key="Caution" text="Pas op"/> + <l:gentext key="caution" text="Pas op"/> + <l:gentext key="CAUTION" text="PAS OP"/> + <l:gentext key="Chapter" text="Hoofdstuk"/> + <l:gentext key="chapter" text="hoofdstuk"/> + <l:gentext key="Colophon" text="Kolofon"/> + <l:gentext key="colophon" text="Kolofon"/> + <l:gentext key="Copyright" text="Kopie reg"/> + <l:gentext key="copyright" text="Kopie reg"/> + <l:gentext key="Dedication" text="Opgedra aan"/> + <l:gentext key="dedication" text="Opgedra aan"/> + <l:gentext key="Edition" text="Uitgawe"/> + <l:gentext key="edition" text="Uitgawe"/> + <l:gentext key="Equation" text="Vergelyking"/> + <l:gentext key="equation" text="Vergelyking"/> + <l:gentext key="Example" text="Voorbeeld"/> + <l:gentext key="example" text="Voorbeeld"/> + <l:gentext key="Figure" text="Figuur"/> + <l:gentext key="figure" text="Figuur"/> + <l:gentext key="Glossary" text="Woordlys"/> + <l:gentext key="glossary" text="Woordlys"/> + <l:gentext key="GlossSee" text="Sien"/> + <l:gentext key="glosssee" text="Sien"/> + <l:gentext key="GlossSeeAlso" text="Sien ook"/> + <l:gentext key="glossseealso" text="Sien ook"/> + <l:gentext key="IMPORTANT" text="BELANGRIK"/> + <l:gentext key="Important" text="Belangrik"/> + <l:gentext key="important" text="Belangrik"/> + <l:gentext key="Index" text="Indeks"/> + <l:gentext key="index" text="Indeks"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Regskennisgewing"/> + <l:gentext key="legalnotice" text="Regskennisgewing"/> + <l:gentext key="MsgAud" text="Teikengroep"/> + <l:gentext key="msgaud" text="Teikengroep"/> + <l:gentext key="MsgLevel" text="Vlak"/> + <l:gentext key="msglevel" text="Vlak"/> + <l:gentext key="MsgOrig" text="Herkoms"/> + <l:gentext key="msgorig" text="Herkoms"/> + <l:gentext key="note" text="Opmerking"/> + <l:gentext key="NOTE" text="OPMERKING"/> + <l:gentext key="Note" text="Opmerking"/> + <l:gentext key="Part" text="Deel"/> + <l:gentext key="part" text="Deel"/> + <l:gentext key="Preface" text="Voorwoord"/> + <l:gentext key="preface" text="Voorwoord"/> + <l:gentext key="Procedure" text="Prosedure"/> + <l:gentext key="procedure" text="Prosedure"/> + <l:gentext key="Published" text="Uitgegee"/> + <l:gentext key="published" text="Uitgegee"/> + <l:gentext key="Question" text="Vraag:"/> + <l:gentext key="question" text="Vraag:"/> + <l:gentext key="RefEntry" text="Verwysingslemma"/> + <l:gentext key="refentry" text="Verwysingslemma"/> + <l:gentext key="Reference" text="Verwysing"/> + <l:gentext key="reference" text="Verwysing"/> + <l:gentext key="RefName" text="Verwysingsnaam"/> + <l:gentext key="refname" text="Verwysingsnaam"/> + <l:gentext key="RefSection" text="Verwysingsparagraaf"/> + <l:gentext key="refsection" text="Verwysingsparagraaf"/> + <l:gentext key="RefSynopsisDiv" text="Verwysingsamevatting"/> + <l:gentext key="refsynopsisdiv" text="Verwysingsamevatting"/> + <l:gentext key="RevHistory" text="Hersiening geskiedenis"/> + <l:gentext key="revhistory" text="Hersiening geskiedenis"/> + <l:gentext key="Revision" text="Hersiening"/> + <l:gentext key="revision" text="Hersiening"/> + <l:gentext key="Section" text="Paragraaf"/> + <l:gentext key="section" text="paragraaf"/> + <l:gentext key="see" text="Sien"/> + <l:gentext key="See" text="Sien"/> + <l:gentext key="Seealso" text="Sien ook"/> + <l:gentext key="seealso" text="Sien ook"/> + <l:gentext key="SeeAlso" text="Sien ook"/> + <l:gentext key="set" text="Versameling"/> + <l:gentext key="Set" text="Versameling"/> + <l:gentext key="SetIndex" text="Indeks"/> + <l:gentext key="setindex" text="Indeks"/> + <l:gentext key="Sidebar" text="Ekskursie"/> + <l:gentext key="sidebar" text="ekskursie"/> + <l:gentext key="step" text="stap"/> + <l:gentext key="Step" text="Stap"/> + <l:gentext key="table" text="Tabel"/> + <l:gentext key="Table" text="Tabel"/> + <l:gentext key="TIP" text="LEIDRAAD"/> + <l:gentext key="Tip" text="Leidraad"/> + <l:gentext key="tip" text="Leidraad"/> + <l:gentext key="WARNING" text="WAARSKUWING"/> + <l:gentext key="Warning" text="Waarskuwing"/> + <l:gentext key="warning" text="Waarskuwing"/> + <l:gentext key="and" text="en"/> + <l:gentext key="by" text="deur"/> + <l:gentext key="Edited" text="Geredigeer"/> + <l:gentext key="edited" text="Geredigeer"/> + <l:gentext key="Editedby" text="Geredigeer deur"/> + <l:gentext key="editedby" text="Geredigeer deur"/> + <l:gentext key="in" text="in"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="element bestaan nie"/> + <l:gentext key="notes" text="Notas"/> + <l:gentext key="Notes" text="Notas"/> + <l:gentext key="Pgs" text="bl."/> + <l:gentext key="pgs" text="bl."/> + <l:gentext key="Revisedby" text="Hersien deur: "/> + <l:gentext key="revisedby" text="Hersien deur: "/> + <l:gentext key="TableNotes" text="Opmerking"/> + <l:gentext key="tablenotes" text="Opmerking"/> + <l:gentext key="TableofContents" text="Inhoudsopgawe"/> + <l:gentext key="tableofcontents" text="Inhoudsopgawe"/> + <l:gentext key="unexpectedelementname" text="ONVERWAGTE ELEMENT"/> + <l:gentext key="unsupported" text="nie geondersteun"/> + <l:gentext key="xrefto" text="verwysing na"/> + <l:gentext key="listofequations" text="Lys van vergelykings"/> + <l:gentext key="ListofEquations" text="Lys van vergelykings"/> + <l:gentext key="ListofExamples" text="Lys van voorbeelde"/> + <l:gentext key="listofexamples" text="Lys van voorbeelde"/> + <l:gentext key="ListofFigures" text="Lys van figure"/> + <l:gentext key="listoffigures" text="Lys van figure"/> + <l:gentext key="listoftables" text="Lys van tabelle"/> + <l:gentext key="ListofTables" text="Lys van tabelle"/> + <l:gentext key="ListofUnknown" text="Lys van onbekende tipes"/> + <l:gentext key="listofunknown" text="Lys van onbekende tipes"/> + <l:gentext key="nav-home" text="Begin"/> + <l:gentext key="nav-next" text="Volgende"/> + <l:gentext key="nav-next-sibling" text="Verder vooruit"/> + <l:gentext key="nav-prev" text="Terug"/> + <l:gentext key="nav-prev-sibling" text="Verder terug"/> + <l:gentext key="nav-up" text="Boontoe"/> + <l:gentext key="sectioncalled" text="die seksie genaamd"/> + <l:gentext key="index symbols" text="Simbole"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Aanhangsel %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="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="Hoofdstuk %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Vergelyking %n. %t"/> + <l:template name="example" text="Voorbeeld %n. %t"/> + <l:template name="figure" text="Figuur %n. %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="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="Deel %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabel %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Aanhangsel %n"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Hoofdstuk %n"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Voorbeeld %n"/> + <l:template name="figure" text="Figuur %n"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Deel %n"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabel %n"/> + </l:context> + + <l:context name="section-xref"> + <l:template name="sect1" text="die seksie genaamd “%t”"/> + <l:template name="sect2" text="die seksie genaamd “%t”"/> + <l:template name="sect3" text="die seksie genaamd “%t”"/> + <l:template name="sect4" text="die seksie genaamd “%t”"/> + <l:template name="sect5" text="die seksie genaamd “%t”"/> + <l:template name="section" text="die seksie genaamd “%t”"/> + <l:template name="simplesect" text="die seksie genaamd “%t”"/> + </l:context> + + <l:context name="section-xref-numbered"> + <l:template name="sect1" text="Paragraaf %n"/> + <l:template name="sect2" text="Paragraaf %n"/> + <l:template name="sect3" text="Paragraaf %n"/> + <l:template name="sect4" text="Paragraaf %n"/> + <l:template name="sect5" text="Paragraaf %n"/> + <l:template name="section" text="Paragraaf %n"/> + <l:template name="simplesect" text="die seksie genaamd “%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" en "/> + <l:template name="seplast" text=", en "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Sien "/> + <l:template name="seealso" text="Sien ook "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Teikengroep: "/> + <l:template name="MsgLevel" text="Vlak: "/> + <l:template name="MsgOrig" text="Herkoms: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/ca.xml b/lib/docbook/docbook-xsl/common/ca.xml new file mode 100644 index 000000000..0b1a9e5c8 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/ca.xml @@ -0,0 +1,335 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="ca"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Resum"/> + <l:gentext key="abstract" text="Resum"/> + <l:gentext key="Answer" text="Answer"/> + <l:gentext key="answer" text="Answer"/> + <l:gentext key="appendix" text="apèndex"/> + <l:gentext key="Appendix" text="Apèndix"/> + <l:gentext key="Article" text="Article"/> + <l:gentext key="article" text="Article"/> + <l:gentext key="Bibliography" text="Bibliografia"/> + <l:gentext key="bibliography" text="Bibliografia"/> + <l:gentext key="Book" text="Llibre"/> + <l:gentext key="book" text="Llibre"/> + <l:gentext key="Caution" text="Atenció"/> + <l:gentext key="caution" text="Atenció"/> + <l:gentext key="CAUTION" text="ATENCIÓ"/> + <l:gentext key="Chapter" text="Capítol"/> + <l:gentext key="chapter" text="capítol"/> + <l:gentext key="Colophon" text="Colophon"/> + <l:gentext key="colophon" text="Colophon"/> + <l:gentext key="Copyright" text="Dret de reproducció"/> + <l:gentext key="copyright" text="Dret de reproducció"/> + <l:gentext key="Dedication" text="Dedicatòria"/> + <l:gentext key="dedication" text="Dedicatòria"/> + <l:gentext key="Edition" text="Edició"/> + <l:gentext key="edition" text="Edició"/> + <l:gentext key="Equation" text="Equació"/> + <l:gentext key="equation" text="Equació"/> + <l:gentext key="Example" text="Exemple"/> + <l:gentext key="example" text="Exemple"/> + <l:gentext key="Figure" text="Figura"/> + <l:gentext key="figure" text="Figura"/> + <l:gentext key="Glossary" text="Glossari"/> + <l:gentext key="glossary" text="Glossari"/> + <l:gentext key="GlossSee" text="Veure"/> + <l:gentext key="glosssee" text="Veure"/> + <l:gentext key="GlossSeeAlso" text="Veure també"/> + <l:gentext key="glossseealso" text="Veure també"/> + <l:gentext key="IMPORTANT" text="IMPORTANT"/> + <l:gentext key="Important" text="Important"/> + <l:gentext key="important" text="Important"/> + <l:gentext key="Index" text="Índex alfabètic"/> + <l:gentext key="index" text="Índex alfabètic"/> + <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="Audiència"/> + <l:gentext key="msgaud" text="Audiència"/> + <l:gentext key="MsgLevel" text="Nivell"/> + <l:gentext key="msglevel" text="Nivell"/> + <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="Part"/> + <l:gentext key="part" text="Part"/> + <l:gentext key="Preface" text="Prefaci"/> + <l:gentext key="preface" text="Prefaci"/> + <l:gentext key="Procedure" text="Procediment"/> + <l:gentext key="procedure" text="Procediment"/> + <l:gentext key="PubDate" text="Data de publicació"/> + <l:gentext key="pubdate" text="Data de publicació"/> + <l:gentext key="Published" text="Data de publicació"/> + <l:gentext key="published" text="Data de publicació"/> + <l:gentext key="Question" text="Question"/> + <l:gentext key="question" text="Question"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Referència"/> + <l:gentext key="reference" text="Referència"/> + <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="Historial de revisions"/> + <l:gentext key="revhistory" text="Historial de revisions"/> + <l:gentext key="Revision" text="Revisió"/> + <l:gentext key="revision" text="Revisió"/> + <l:gentext key="Section" text="Secció"/> + <l:gentext key="section" text="secció"/> + <l:gentext key="see" text="Veure"/> + <l:gentext key="See" text="Veure"/> + <l:gentext key="Seealso" text="Veure també"/> + <l:gentext key="seealso" text="Veure tambié"/> + <l:gentext key="SeeAlso" text="Veure tambié"/> + <l:gentext key="Set" text="Conjunt"/> + <l:gentext key="set" text="Conjunt"/> + <l:gentext key="SetIndex" text="Índex del conjunt"/> + <l:gentext key="setindex" text="Índex del conjunt"/> + <l:gentext key="Sidebar" text=""/> + <l:gentext key="sidebar" text="glossa"/> + <l:gentext key="step" text="pas"/> + <l:gentext key="Step" text="Pas"/> + <l:gentext key="table" text="Taula"/> + <l:gentext key="Table" text="Taula"/> + <l:gentext key="TIP" text="SUGGERIMENT"/> + <l:gentext key="Tip" text="Suggeriment"/> + <l:gentext key="tip" text="Suggeriment"/> + <l:gentext key="WARNING" text="AVÍS"/> + <l:gentext key="Warning" text="Avís"/> + <l:gentext key="warning" text="Avís"/> + <l:gentext key="and" text="i"/> + <l:gentext key="by" text="per"/> + <l:gentext key="Edited" text="Editat"/> + <l:gentext key="edited" text="Editat"/> + <l:gentext key="Editedby" text="Editat per"/> + <l:gentext key="editedby" text="Editat per"/> + <l:gentext key="in" text="a"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="element inexistent"/> + <l:gentext key="notes" text="Notes"/> + <l:gentext key="Notes" text="Notes"/> + <l:gentext key="Pgs" text="Pàgs."/> + <l:gentext key="pgs" text="Pàgs."/> + <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="Sumari"/> + <l:gentext key="tableofcontents" text="Sumari"/> + <l:gentext key="unexpectedelementname" text="Nom d'element no esperat"/> + <l:gentext key="unsupported" text="no reconeguda"/> + <l:gentext key="xrefto" text="xref a"/> + <l:gentext key="listofequations" text="Índex d'equacions"/> + <l:gentext key="ListofEquations" text="Índex d'equacions"/> + <l:gentext key="ListofExamples" text="Índex d'exemples"/> + <l:gentext key="listofexamples" text="Índex d'exemples"/> + <l:gentext key="ListofFigures" text="Índex de figures"/> + <l:gentext key="listoffigures" text="Índex de figures"/> + <l:gentext key="listoftables" text="Índex de taules"/> + <l:gentext key="ListofTables" text="Índex de taules"/> + <l:gentext key="ListofUnknown" text="Índex de desconegut ?"/> + <l:gentext key="listofunknown" text="Índex de desconegut ?"/> + <l:gentext key="nav-home" text="Inici"/> + <l:gentext key="nav-next" text="Seguent"/> + <l:gentext key="nav-next-sibling" text="Avancar"/> + <l:gentext key="nav-prev" text="Anterior"/> + <l:gentext key="nav-prev-sibling" text="Retrocedir"/> + <l:gentext key="nav-up" text="Pujar"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Apèndix %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="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ítol %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Equació %n. %t"/> + <l:template name="example" text="Exemple %n. %t"/> + <l:template name="figure" text="Figura %n. %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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Taula %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Apèndix %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Capítol %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Exemple %n. %t"/> + <l:template name="figure" text="Figura %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Part %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Taula %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Secció %n"/> + <l:template name="sect2" text="Secció %n"/> + <l:template name="sect3" text="Secció %n"/> + <l:template name="sect4" text="Secció %n"/> + <l:template name="sect5" text="Secció %n"/> + <l:template name="section" text="Secció %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" i "/> + <l:template name="seplast" text=", i "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Veure "/> + <l:template name="seealso" text="Veure també "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Audiència: "/> + <l:template name="MsgLevel" text="Nivell: "/> + <l:template name="MsgOrig" text="Origen: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/common.xsl b/lib/docbook/docbook-xsl/common/common.xsl new file mode 100644 index 000000000..f4aaeeb9b --- /dev/null +++ b/lib/docbook/docbook-xsl/common/common.xsl @@ -0,0 +1,1060 @@ +<?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: common.xsl,v 1.1 2002/05/15 17:22:23 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ This file contains general templates common to both the HTML and FO
+ versions of the DocBook stylesheets.
+ ******************************************************************** -->
+
+<doc:reference xmlns="">
+<referenceinfo>
+<releaseinfo role="meta">
+$Id: common.xsl,v 1.1 2002/05/15 17:22:23 isberg Exp $
+</releaseinfo>
+<author><surname>Walsh</surname>
+<firstname>Norman</firstname></author>
+<copyright><year>1999</year><year>2000</year>
+<holder>Norman Walsh</holder>
+</copyright>
+</referenceinfo>
+<title>Common Template 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 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>
+
+<!-- ==================================================================== -->
+<!-- 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 entry 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 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 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
+"/>
+
+<!-- ====================================================================== -->
+
+<doc:template name="is.component" xmlns="">
+<refpurpose>Tests if a given node is a component-level element</refpurpose>
+
+<refdescription>
+<para>This template returns '1' if the specified node is a component
+(Chapter, Appendix, etc.), and '0' otherwise.</para>
+</refdescription>
+
+<refparameter>
+<variablelist>
+<varlistentry><term>node</term>
+<listitem>
+<para>The node which is to be tested.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refparameter>
+
+<refreturn>
+<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>
+<para>This template returns '1' if the specified node is a section
+(Section, Sect1, Sect2, etc.), and '0' otherwise.</para>
+</refdescription>
+
+<refparameter>
+<variablelist>
+<varlistentry><term>node</term>
+<listitem>
+<para>The node which is to be tested.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refparameter>
+
+<refreturn>
+<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>
+<para>This template calculates the hierarchical level of a section.
+Hierarchically, components are <quote>top level</quote>, so a
+<sgmltag>sect1</sgmltag> is at level 2, <sgmltag>sect3</sgmltag> is
+at level 3, etc.</para>
+
+<para>Recursive sections are calculated down to the sixth level.</para>
+</refdescription>
+
+<refparameter>
+<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>
+<para>The section level, <quote>2</quote>, <quote>3</quote>, etc.
+</para>
+</refreturn>
+</doc:template>
+
+<xsl:template name="section.level">
+ <xsl:param name="node" select="."/>
+ <xsl:choose>
+ <xsl:when test="name($node)='sect1'">2</xsl:when>
+ <xsl:when test="name($node)='sect2'">3</xsl:when>
+ <xsl:when test="name($node)='sect3'">4</xsl:when>
+ <xsl:when test="name($node)='sect4'">5</xsl:when>
+ <xsl:when test="name($node)='sect5'">6</xsl:when>
+ <xsl:when test="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:otherwise>2</xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="name($node)='refsect1'">2</xsl:when>
+ <xsl:when test="name($node)='refsect2'">3</xsl:when>
+ <xsl:when test="name($node)='refsect3'">4</xsl:when>
+ <xsl:when test="name($node)='simplesect'">
+ <xsl:choose>
+ <xsl:when test="$node/../../sect1">3</xsl:when>
+ <xsl:when test="$node/../../sect2">4</xsl:when>
+ <xsl:when test="$node/../../sect3">5</xsl:when>
+ <xsl:when test="$node/../../sect4">6</xsl:when>
+ <xsl:when test="$node/../../sect5">6</xsl:when>
+ <xsl:when test="$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:otherwise>3</xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>2</xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>2</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>
+<para>This template calculates the hierarchical level of a QandASet.
+</para>
+</refdescription>
+
+<refreturn>
+<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:call-template name="section.level">
+ <xsl:with-param name="node" select="$section"/>
+ </xsl:call-template>
+ </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:otherwise>
+ <xsl:value-of select="generate-id($object)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="person.name">
+ <!-- Return a formatted string representation of the contents of
+ the specified node (by default, the current element).
+ Handles Honorific, FirstName, SurName, and Lineage.
+ If %author-othername-in-middle% is #t, also OtherName
+ Handles *only* the first of each.
+ Format is "Honorific. FirstName [OtherName] SurName, Lineage"
+ -->
+ <xsl:param name="node" select="."/>
+
+ <xsl:choose>
+ <!-- handle corpauthor as a special case...-->
+ <xsl:when test="name($node)='corpauthor'">
+ <xsl:apply-templates select="$node"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="h_nl" select="$node//honorific[1]"/>
+ <xsl:variable name="f_nl" select="$node//firstname[1]"/>
+ <xsl:variable name="o_nl" select="$node//othername[1]"/>
+ <xsl:variable name="s_nl" select="$node//surname[1]"/>
+ <xsl:variable name="l_nl" select="$node//lineage[1]"/>
+
+ <xsl:variable name="has_h" select="$h_nl"/>
+ <xsl:variable name="has_f" select="$f_nl"/>
+ <xsl:variable name="has_o"
+ select="$o_nl and ($author.othername.in.middle != 0)"/>
+ <xsl:variable name="has_s" select="$s_nl"/>
+ <xsl:variable name="has_l" select="$l_nl"/>
+
+ <xsl:if test="$has_h">
+ <xsl:value-of select="$h_nl"/>.
+ </xsl:if>
+
+ <xsl:if test="$has_f">
+ <xsl:if test="$has_h"><xsl:text> </xsl:text></xsl:if>
+ <xsl:value-of select="$f_nl"/>
+ </xsl:if>
+
+ <xsl:if test="$has_o">
+ <xsl:if test="$has_h or $has_f"><xsl:text> </xsl:text></xsl:if>
+ <xsl:value-of select="$o_nl"/>
+ </xsl:if>
+
+ <xsl:if test="$has_s">
+ <xsl:if test="$has_h or $has_f or $has_o">
+ <xsl:text> </xsl:text>
+ </xsl:if>
+ <xsl:value-of select="$s_nl"/>
+ </xsl:if>
+
+ <xsl:if test="$has_l">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="$l_nl"/>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template> <!-- person.name -->
+
+<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 > $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 > 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 < $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="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 an appropriate media object from a list</refpurpose>
+
+<refdescription>
+<para>This template examines 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 "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, nothing happens.</para>
+</refdescription>
+
+<refparameter>
+<variablelist>
+<varlistentry><term>olist</term>
+<listitem>
+<para>The node list of potential objects to examine.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refparameter>
+
+<refreturn>
+<para>Calls <xsl:apply-templates> on the selected object.</para>
+</refreturn>
+</doc:template>
+
+<xsl:template name="select.mediaobject">
+ <xsl:param name="olist"
+ select="imageobject|imageobjectco
+ |videoobject|audioobject|textobject"/>
+ <xsl:param name="count">1</xsl:param>
+
+ <xsl:if test="$count <= count($olist)">
+ <xsl:variable name="object" select="$olist[position()=$count]"/>
+
+ <xsl:variable name="useobject">
+ <xsl:choose>
+ <!-- The phrase is never used -->
+ <xsl:when test="name($object)='textobject' and $object/phrase">
+ <xsl:text>0</xsl:text>
+ </xsl:when>
+ <!-- The first textobject is a reasonable fallback -->
+ <xsl:when test="name($object)='textobject'">
+ <xsl:text>1</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:apply-templates select="$object"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="select.mediaobject">
+ <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:template>
+
+<doc:template name="is.acceptable.mediaobject" xmlns="">
+<refpurpose>Returns '1' if the specified media object is recognized.</refpurpose>
+
+<refdescription>
+<para>This template examines a media object and returns '1' if the
+object is recognized as a graphic.</para>
+</refdescription>
+
+<refparameter>
+<variablelist>
+<varlistentry><term>object</term>
+<listitem>
+<para>The media object to consider.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refparameter>
+
+<refreturn>
+<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="$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:value-of 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="has.ext" select="contains($filename, '.') != ''"/>
+
+ <xsl:variable name="ext">
+ <xsl:choose>
+ <xsl:when test="contains($filename, '.')">
+ <xsl:call-template name="filename-extension">
+ <xsl:with-param name="filename" select="$filename"/>
+ </xsl:call-template>
+ </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="not($has.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>
+<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="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>
+<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="id($linkend)"/>
+ <xsl:variable name="target" select="$targets[1]"/>
+
+ <xsl:if test="count($target) > 0">
+ <xsl:if test="not(contains(concat(' ', $element-list, ' '), 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="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 > $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>
+
+<!-- ====================================================================== -->
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/common/cs.xml b/lib/docbook/docbook-xsl/common/cs.xml new file mode 100644 index 000000000..a1940261c --- /dev/null +++ b/lib/docbook/docbook-xsl/common/cs.xml @@ -0,0 +1,339 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="cs"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Abstrakt"/> + <l:gentext key="abstract" text="Abstrakt"/> + <l:gentext key="Answer" text="Odpověď:"/> + <l:gentext key="answer" text="Odpověď:"/> + <l:gentext key="Appendix" text="Příloha"/> + <l:gentext key="appendix" text="Příloha"/> + <l:gentext key="Article" text="Článek"/> + <l:gentext key="article" text="Článek"/> + <l:gentext key="Bibliography" text="Bibliografie"/> + <l:gentext key="bibliography" text="Bibliografie"/> + <l:gentext key="Book" text="Kniha"/> + <l:gentext key="book" text="Kniha"/> + <l:gentext key="CAUTION" text="Výstraha"/> + <l:gentext key="Caution" text="Výstraha"/> + <l:gentext key="caution" text="Výstraha"/> + <l:gentext key="Chapter" text="Kapitola"/> + <l:gentext key="chapter" text="Kapitola"/> + <l:gentext key="Colophon" text="Tiráž"/> + <l:gentext key="colophon" text="Tiráž"/> + <l:gentext key="Copyright" text="Copyright"/> + <l:gentext key="copyright" text="Copyright"/> + <l:gentext key="Dedication" text="Věnování"/> + <l:gentext key="dedication" text="Věnování"/> + <l:gentext key="Edition" text="Vydání"/> + <l:gentext key="edition" text="Vydání"/> + <l:gentext key="Equation" text="Rovnice"/> + <l:gentext key="equation" text="Rovnice"/> + <l:gentext key="Example" text="Příklad"/> + <l:gentext key="example" text="Příklad"/> + <l:gentext key="Figure" text="Obrázek"/> + <l:gentext key="figure" text="Obrázek"/> + <l:gentext key="Glossary" text="Slovník"/> + <l:gentext key="glossary" text="Slovník"/> + <l:gentext key="GlossSee" text="Viz"/> + <l:gentext key="glosssee" text="Viz"/> + <l:gentext key="GlossSeeAlso" text="Viz též"/> + <l:gentext key="glossseealso" text="Viz též"/> + <l:gentext key="IMPORTANT" text="Důležité"/> + <l:gentext key="Important" text="Důležité"/> + <l:gentext key="important" text="Důležité"/> + <l:gentext key="Index" text="Rejstřík"/> + <l:gentext key="index" text="Rejstřík"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Právní doložka"/> + <l:gentext key="legalnotice" text="Právní doložka"/> + <l:gentext key="MsgAud" text="Publikum"/> + <l:gentext key="msgaud" text="Publikum"/> + <l:gentext key="MsgLevel" text="Úroveň"/> + <l:gentext key="msglevel" text="Úroveň"/> + <l:gentext key="MsgOrig" text="Původ"/> + <l:gentext key="msgorig" text="Původ"/> + <l:gentext key="NOTE" text="Poznámka"/> + <l:gentext key="Note" text="Poznámka"/> + <l:gentext key="note" text="Poznámka"/> + <l:gentext key="Part" text="Část"/> + <l:gentext key="part" text="Část"/> + <l:gentext key="Preface" text="Předmluva"/> + <l:gentext key="preface" text="Předmluva"/> + <l:gentext key="Procedure" text="Postup"/> + <l:gentext key="procedure" text="Postup"/> + <l:gentext key="Published" text="Vydáno"/> + <l:gentext key="published" text="Vydáno"/> + <l:gentext key="Question" text="Otázka:"/> + <l:gentext key="question" text="Otázka:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Odkaz"/> + <l:gentext key="reference" text="Odkaz"/> + <l:gentext key="RefName" text="Jméno"/> + <l:gentext key="refname" text="Jméno"/> + <l:gentext key="RefSection" text=""/> + <l:gentext key="refsection" text=""/> + <l:gentext key="RefSynopsisDiv" text="Přehled"/> + <l:gentext key="refsynopsisdiv" text="Přehled"/> + <l:gentext key="RevHistory" text="Přehled revizí"/> + <l:gentext key="revhistory" text="Přehled revizí"/> + <l:gentext key="Revision" text="Revize"/> + <l:gentext key="revision" text="Revize"/> + <l:gentext key="sect1" text="Oddíl"/> + <l:gentext key="sect2" text="Oddíl"/> + <l:gentext key="sect3" text="Oddíl"/> + <l:gentext key="sect4" text="Oddíl"/> + <l:gentext key="sect5" text="Oddíl"/> + <l:gentext key="Section" text="Oddíl"/> + <l:gentext key="section" text="Oddíl"/> + <l:gentext key="See" text="Viz"/> + <l:gentext key="see" text="Viz"/> + <l:gentext key="SeeAlso" text="Viz též"/> + <l:gentext key="Seealso" text="Viz též"/> + <l:gentext key="seealso" text="Viz též"/> + <l:gentext key="Set" text="Sada"/> + <l:gentext key="set" text="Sada"/> + <l:gentext key="SetIndex" text="Rejstřík sady"/> + <l:gentext key="setindex" text="Rejstřík sady"/> + <l:gentext key="Sidebar" text="Marginálie"/> + <l:gentext key="sidebar" text="Marginálie"/> + <l:gentext key="Step" text="Krok"/> + <l:gentext key="step" text="krok"/> + <l:gentext key="Table" text="Tabulka"/> + <l:gentext key="table" text="Tabulka"/> + <l:gentext key="TIP" text="Tip"/> + <l:gentext key="Tip" text="Tip"/> + <l:gentext key="tip" text="Tip"/> + <l:gentext key="WARNING" text="Varování"/> + <l:gentext key="Warning" text="Varování"/> + <l:gentext key="warning" text="Varování"/> + <l:gentext key="and" text="a"/> + <l:gentext key="by" text=""/> + <l:gentext key="Edited" text="Vydáno"/> + <l:gentext key="edited" text="Vydáno"/> + <l:gentext key="Editedby" text="Sestavil"/> + <l:gentext key="editedby" text="Sestavil"/> + <l:gentext key="in" text="v"/> + <l:gentext key="lastlistcomma" text=""/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="neexistující prvek"/> + <l:gentext key="notes" text="Poznámky"/> + <l:gentext key="Notes" text="Poznámky"/> + <l:gentext key="Pgs" text="Str."/> + <l:gentext key="pgs" text="Str."/> + <l:gentext key="Revisedby" text="Revidoval: "/> + <l:gentext key="revisedby" text="Revidoval: "/> + <l:gentext key="TableNotes" text="Poznámky"/> + <l:gentext key="tablenotes" text="Poznámky"/> + <l:gentext key="TableofContents" text="Obsah"/> + <l:gentext key="tableofcontents" text="Obsah"/> + <l:gentext key="unexpectedelementname" text="Neočekávané jméno prvku"/> + <l:gentext key="unsupported" text="nepodporovaný"/> + <l:gentext key="xrefto" text="xref k"/> + <l:gentext key="listofequations" text="Seznam rovnic"/> + <l:gentext key="ListofEquations" text="Seznam rovnic"/> + <l:gentext key="ListofExamples" text="Seznam příkladů"/> + <l:gentext key="listofexamples" text="Seznam příkladů"/> + <l:gentext key="ListofFigures" text="Seznam obrázků"/> + <l:gentext key="listoffigures" text="Seznam obrázků"/> + <l:gentext key="listoftables" text="Seznam tabulek"/> + <l:gentext key="ListofTables" text="Seznam tabulek"/> + <l:gentext key="ListofUnknown" text="Seznam neznámého"/> + <l:gentext key="listofunknown" text="Seznam neznámého"/> + <l:gentext key="nav-home" text="Domů"/> + <l:gentext key="nav-next" text="Další"/> + <l:gentext key="nav-next-sibling" text="Rychle dopředu"/> + <l:gentext key="nav-prev" text="Předcházející"/> + <l:gentext key="nav-prev-sibling" text="Rychle zpět"/> + <l:gentext key="nav-up" text="Nahoru"/> + <l:gentext key="sectioncalled" text="oddíl nazvaný"/> + <l:dingbat key="startquote" text="„"/> + <l:dingbat key="endquote" text="“"/> + <l:dingbat key="nestedstartquote" text="‚"/> + <l:dingbat key="nestedendquote" text="‘"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Příloha %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="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="Kapitola %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Rovnice %n. %t"/> + <l:template name="example" text="Příklad %n. %t"/> + <l:template name="figure" text="Obrázek %n. %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="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="Část %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabulka %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="%n – „%t“"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="%n – „%t“"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="%n"/> + <l:template name="figure" text="%n"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="%n – „%t“"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="%n"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <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="simplesect" text="„%t“"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" a "/> + <l:template name="seplast" text=" a "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Viz "/> + <l:template name="seealso" text="Viz též "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Publikum: "/> + <l:template name="MsgLevel" text="Úroveň: "/> + <l:template name="MsgOrig" text="Původ: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/da.xml b/lib/docbook/docbook-xsl/common/da.xml new file mode 100644 index 000000000..26acb94f6 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/da.xml @@ -0,0 +1,335 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="da"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Resumé"/> + <l:gentext key="abstract" text="Resumé"/> + <l:gentext key="Answer" text="Svar"/> + <l:gentext key="answer" text="Svar"/> + <l:gentext key="Appendix" text="Appendiks"/> + <l:gentext key="appendix" text="appendiks"/> + <l:gentext key="Article" text="Artikel"/> + <l:gentext key="article" text="Artikel"/> + <l:gentext key="Bibliography" text="Bibliografi"/> + <l:gentext key="bibliography" text="Bibliografi"/> + <l:gentext key="Book" text="Bog"/> + <l:gentext key="book" text="Bog"/> + <l:gentext key="CAUTION" text="PAS PÅ"/> + <l:gentext key="caution" text="PAS PÅ"/> + <l:gentext key="Caution" text="Pas på"/> + <l:gentext key="Chapter" text="Kapitel"/> + <l:gentext key="chapter" text="kapitel"/> + <l:gentext key="Colophon" text="Colophon"/> + <l:gentext key="colophon" text="Colophon"/> + <l:gentext key="Copyright" text="Ophavsret"/> + <l:gentext key="copyright" text="Ophavsret"/> + <l:gentext key="Dedication" text="Tilegnet"/> + <l:gentext key="dedication" text="Tilegnet"/> + <l:gentext key="Edition" text="Udgave"/> + <l:gentext key="edition" text="Udgave"/> + <l:gentext key="Equation" text="Ligning"/> + <l:gentext key="equation" text="Ligning"/> + <l:gentext key="Example" text="Eksempel"/> + <l:gentext key="example" text="Eksempel"/> + <l:gentext key="Figure" text="Figur"/> + <l:gentext key="figure" text="Figur"/> + <l:gentext key="Glossary" text="Stikordregister"/> + <l:gentext key="glossary" text="Stikordregister"/> + <l:gentext key="GlossSee" text="Se"/> + <l:gentext key="glosssee" text="Se"/> + <l:gentext key="GlossSeeAlso" text="Se også"/> + <l:gentext key="glossseealso" text="Se også"/> + <l:gentext key="IMPORTANT" text="VIGTIGT"/> + <l:gentext key="Important" text="Vigtigt"/> + <l:gentext key="important" text="Vigtigt"/> + <l:gentext key="Index" text="Indeks"/> + <l:gentext key="index" text="Indeks"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Retslig note"/> + <l:gentext key="legalnotice" text="Retslig note"/> + <l:gentext key="MsgAud" text="Målgruppe"/> + <l:gentext key="msgaud" text="Målgruppe"/> + <l:gentext key="MsgLevel" text="Niveau"/> + <l:gentext key="msglevel" text="Niveau"/> + <l:gentext key="MsgOrig" text="Grundlag"/> + <l:gentext key="msgorig" text="Grundlag"/> + <l:gentext key="note" text="Bemærk"/> + <l:gentext key="NOTE" text="BEMÆrk"/> + <l:gentext key="Note" text="Bemærk"/> + <l:gentext key="Part" text="Del"/> + <l:gentext key="part" text="Del"/> + <l:gentext key="Preface" text="Forord"/> + <l:gentext key="preface" text="Forord"/> + <l:gentext key="Procedure" text="Procedure"/> + <l:gentext key="procedure" text="Procedure"/> + <l:gentext key="PubDate" text="Udgivet"/> + <l:gentext key="pubdate" text="Udgivet"/> + <l:gentext key="Published" text="Publiceret"/> + <l:gentext key="published" text="Publiceret"/> + <l:gentext key="Question" text="Spørgsmål"/> + <l:gentext key="question" text="Spørgsmål"/> + <l:gentext key="RefEntry" text="Enhed"/> + <l:gentext key="refentry" text="Enhed"/> + <l:gentext key="Reference" text="Reference"/> + <l:gentext key="reference" text="Reference"/> + <l:gentext key="RefName" text="Navn"/> + <l:gentext key="refname" text="Navn"/> + <l:gentext key="RefSection" text="Sektion"/> + <l:gentext key="refsection" text="Sektion"/> + <l:gentext key="RefSynopsisDiv" text="Synopsis"/> + <l:gentext key="refsynopsisdiv" text="Synopsis"/> + <l:gentext key="RevHistory" text="Revisionshistorie"/> + <l:gentext key="revhistory" text="Revisionshistorie"/> + <l:gentext key="Revision" text="Revision"/> + <l:gentext key="revision" text="Revision"/> + <l:gentext key="Section" text="Afsnit"/> + <l:gentext key="section" text="afsnit"/> + <l:gentext key="see" text="Se"/> + <l:gentext key="See" text="Se"/> + <l:gentext key="seealso" text="Se også"/> + <l:gentext key="SeeAlso" text="Se også"/> + <l:gentext key="Seealso" text="Se også"/> + <l:gentext key="Set" text="Sæt"/> + <l:gentext key="set" text="Sæt"/> + <l:gentext key="SetIndex" text="Sæt indeks"/> + <l:gentext key="setindex" text="Sæt indeks"/> + <l:gentext key="sidebar" text="sidebjælke"/> + <l:gentext key="Sidebar" text="Sidebjælke"/> + <l:gentext key="step" text="trin"/> + <l:gentext key="Step" text="Trin"/> + <l:gentext key="table" text="Tabel"/> + <l:gentext key="Table" text="Tabel"/> + <l:gentext key="TIP" text="VINK"/> + <l:gentext key="Tip" text="Vink"/> + <l:gentext key="tip" text="Vink"/> + <l:gentext key="WARNING" text="ADVARSEL"/> + <l:gentext key="Warning" text="Advarsel"/> + <l:gentext key="warning" text="Advarsel"/> + <l:gentext key="and" text="og"/> + <l:gentext key="by" text="af"/> + <l:gentext key="Edited" text="Redigeret"/> + <l:gentext key="edited" text="Redigeret"/> + <l:gentext key="Editedby" text="Redigeret af"/> + <l:gentext key="editedby" text="Redigeret af"/> + <l:gentext key="in" text="i"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="ikke-eksisterende element"/> + <l:gentext key="notes" text="Slutbemærkning:"/> + <l:gentext key="Notes" text="Slutbemærkning:"/> + <l:gentext key="Pgs" text="siderne"/> + <l:gentext key="pgs" text="siderne"/> + <l:gentext key="Revisedby" text="Revideret af: "/> + <l:gentext key="revisedby" text="Revideret af: "/> + <l:gentext key="TableNotes" text="Noter:"/> + <l:gentext key="tablenotes" text="Noter:"/> + <l:gentext key="TableofContents" text="Indholdsfortegnelse"/> + <l:gentext key="tableofcontents" text="Indholdsfortegnelse"/> + <l:gentext key="unexpectedelementname" text="Uventet element navn"/> + <l:gentext key="unsupported" text="ikke understøttet"/> + <l:gentext key="xrefto" text="xref til"/> + <l:gentext key="listofequations" text="Liste over alle ligninger"/> + <l:gentext key="ListofEquations" text="Liste over alle ligninger"/> + <l:gentext key="ListofExamples" text="Liste over alle eksempler"/> + <l:gentext key="listofexamples" text="Liste over alle eksempler"/> + <l:gentext key="ListofFigures" text="Liste over alle figurer"/> + <l:gentext key="listoffigures" text="Liste over alle figurer"/> + <l:gentext key="listoftables" text="Liste over alle tabeller"/> + <l:gentext key="ListofTables" text="Liste over alle tabeller"/> + <l:gentext key="ListofUnknown" text="Liste over alle ????"/> + <l:gentext key="listofunknown" text="Liste over alle ????"/> + <l:gentext key="nav-home" text="Hjem"/> + <l:gentext key="nav-next" text="Næste"/> + <l:gentext key="nav-next-sibling" text="Hurtigt fremad"/> + <l:gentext key="nav-prev" text="Forrige"/> + <l:gentext key="nav-prev-sibling" text="Hurtigt tilbage"/> + <l:gentext key="nav-up" text="Op"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Appendiks %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="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="Ligning %n. %t"/> + <l:template name="example" text="Eksempel %n. %t"/> + <l:template name="figure" text="Figur %n. %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="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="Del %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabel %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Appendiks %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" 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="example" text="Eksempel %n. %t"/> + <l:template name="figure" text="Figur %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Del %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabel %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Afsnit %n"/> + <l:template name="sect2" text="Afsnit %n"/> + <l:template name="sect3" text="Afsnit %n"/> + <l:template name="sect4" text="Afsnit %n"/> + <l:template name="sect5" text="Afsnit %n"/> + <l:template name="section" text="Afsnit %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" og "/> + <l:template name="seplast" text=", og "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Se "/> + <l:template name="seealso" text="Se også "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Målgruppe: "/> + <l:template name="MsgLevel" text="Niveau: "/> + <l:template name="MsgOrig" text="Grundlag: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/de.xml b/lib/docbook/docbook-xsl/common/de.xml new file mode 100644 index 000000000..a566a9f1c --- /dev/null +++ b/lib/docbook/docbook-xsl/common/de.xml @@ -0,0 +1,335 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="de"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="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="Colophon"/> + <l:gentext key="colophon" text="Colophon"/> + <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="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="Published" text="Veröffentlicht"/> + <l:gentext key="published" text="Veröffentlicht"/> + <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="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="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="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="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="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="Nach vorne"/> + <l:gentext key="nav-next-sibling" text="Schnell nach vorne"/> + <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:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="question" text="F: %n"/> + <l:template name="reference" 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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Anhang %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" 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="example" text="Beispiel %n. %t"/> + <l:template name="figure" text="Abbildung %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Teil %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabelle %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <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="simplesect" text="“%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 "/> + <l:template name="seealso" text="Siehe auch "/> + </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:l10n> diff --git a/lib/docbook/docbook-xsl/common/el.xml b/lib/docbook/docbook-xsl/common/el.xml new file mode 100644 index 000000000..f300fd230 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/el.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="el"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="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="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="Published" text="ÄçìïóéåõìÝíï"/> + <l:gentext key="published" 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="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="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="Óýíïëï"/> + <l:gentext key="set" text="Óýíïëï"/> + <l:gentext key="SetIndex" text="ÅõñåôÞñéï Óõíüëùí"/> + <l:gentext key="setindex" text="ÅõñåôÞñéï Óõíüëùí"/> + <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="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="Revised by: "/> + <l:gentext key="revisedby" text="Revised by: "/> + <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="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="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:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="ÐáñÜñôçìá %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="ÊåöÜëáéï %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="ÐáñÜäåéãìá %n. %t"/> + <l:template name="figure" text="Ó÷Þìá %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="ÌÝñïò %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Ðßíáêáò %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <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="simplesect" text="“%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="Äåßôå "/> + <l:template name="seealso" text="Äåßôå Åðßóçò "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="ÁêñïáôÞñéï: "/> + <l:template name="MsgLevel" text="Åðßðåäï: "/> + <l:template name="MsgOrig" text="ÐçãÞ: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/en.xml b/lib/docbook/docbook-xsl/common/en.xml new file mode 100644 index 000000000..759652109 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/en.xml @@ -0,0 +1,361 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="en"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="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="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="Published" text="Published"/> + <l:gentext key="published" text="Published"/> + <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="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="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="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="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="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:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <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="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="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="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="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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <l:template name="bridgehead" 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="section-title-numbered"> + <l:template name="bridgehead" 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="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="answer" text="A: %n"/> + <l:template name="appendix" text="Appendix %n"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Chapter %n"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Equation %n"/> + <l:template name="example" text="Example %n"/> + <l:template name="figure" text="Figure %n"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Part %n"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="Procedure %n"/> + <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="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Table %n"/> + </l:context> + + <l:context name="section-xref"> + <l:template name="bridgehead" 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="section-xref-numbered"> + <l:template name="bridgehead" text="Section %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="simplesect" text="the section called “%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 "/> + <l:template name="seealso" text="See Also "/> + </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:l10n> diff --git a/lib/docbook/docbook-xsl/common/es.xml b/lib/docbook/docbook-xsl/common/es.xml new file mode 100644 index 000000000..94c5248da --- /dev/null +++ b/lib/docbook/docbook-xsl/common/es.xml @@ -0,0 +1,355 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="es"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="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="Colophon"/> + <l:gentext key="colophon" text="Colophon"/> + <l:gentext key="Copyright" text="Copyright"/> + <l:gentext key="copyright" text="Copyright"/> + <l:gentext key="Dedication" text="Dedicado"/> + <l:gentext key="dedication" text="Dedicado"/> + <l:gentext key="Edition" text="Edición"/> + <l:gentext key="edition" text="Edición"/> + <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="Question" text="P:"/> + <l:gentext key="question" text="P:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Referencia"/> + <l:gentext key="reference" text="Referencia"/> + <l:gentext key="RefName" text="Nombre"/> + <l:gentext key="refname" text="Nombre"/> + <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="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="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="sidebar"/> + <l:gentext key="Sidebar" text="Sidebar"/> + <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="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="Pags."/> + <l:gentext key="pgs" text="Pags."/> + <l:gentext key="Revisedby" text="Revisado por: "/> + <l:gentext key="revisedby" text="Revisado por: "/> + <l:gentext key="TableNotes" text="Notas"/> + <l:gentext key="tablenotes" text="Notas"/> + <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="referido a"/> + <l:gentext key="listofequations" text="Tabla de ecuaciones"/> + <l:gentext key="ListofEquations" text="Tabla de ecuaciones"/> + <l:gentext key="ListofExamples" text="Tabla de ejemplos"/> + <l:gentext key="listofexamples" text="Tabla de ejemplos"/> + <l:gentext key="ListofFigures" text="Tabla de figuras"/> + <l:gentext key="listoffigures" text="Tabla de figuras"/> + <l:gentext key="listoftables" text="Lista de tablas"/> + <l:gentext key="ListofTables" text="Lista de tablas"/> + <l:gentext key="ListofUnknown" text="Lista de ???"/> + <l:gentext key="listofunknown" text="Lista de ???"/> + <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="index symbols" text="Símbolos"/> + <l:gentext key="sectioncalled" text="la sección llamada"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <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="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="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="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="reference" 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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <l:template name="bridgehead" 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="section-title-numbered"> + <l:template name="bridgehead" 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="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="answer" text="R: %n"/> + <l:template name="appendix" text="Apéndice %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" 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"/> + <l:template name="example" text="Ejemplo %n. %t"/> + <l:template name="figure" text="Figura %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Parte %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="Procedimiento %n"/> + <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="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabla %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <l:template name="bridgehead" 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="section-xref-numbered"> + <l:template name="bridgehead" text="Sección %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="simplesect" text="“%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 "/> + <l:template name="seealso" text="Ver también "/> + </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:l10n> diff --git a/lib/docbook/docbook-xsl/common/et.xml b/lib/docbook/docbook-xsl/common/et.xml new file mode 100644 index 000000000..af5922504 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/et.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="et"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Ülevaade"/> + <l:gentext key="abstract" text="Ülevaade"/> + <l:gentext key="Answer" text="V:"/> + <l:gentext key="answer" text="V:"/> + <l:gentext key="Appendix" text="Lisa"/> + <l:gentext key="appendix" text="lisa"/> + <l:gentext key="Article" text="Artikkel"/> + <l:gentext key="article" text="Artikkel"/> + <l:gentext key="Bibliography" text="Bibliograafia"/> + <l:gentext key="bibliography" text="Bibliograafia"/> + <l:gentext key="Book" text="Raamat"/> + <l:gentext key="book" text="Raamat"/> + <l:gentext key="Caution" text="Ettevaatust"/> + <l:gentext key="caution" text="Ettevaatust"/> + <l:gentext key="CAUTION" text="ETTEVAATUST"/> + <l:gentext key="Chapter" text="Peatükk"/> + <l:gentext key="chapter" text="peatükk"/> + <l:gentext key="Colophon" text="Lõpumärgis"/> + <l:gentext key="colophon" text="Lõpumärgis"/> + <l:gentext key="Copyright" text="Autoriõigus"/> + <l:gentext key="copyright" text="Autoriõigus"/> + <l:gentext key="Dedication" text="Pühendus"/> + <l:gentext key="dedication" text="Pühendus"/> + <l:gentext key="Edition" text="Väljaanne"/> + <l:gentext key="edition" text="Väljaanne"/> + <l:gentext key="Equation" text="Valem"/> + <l:gentext key="equation" text="Valem"/> + <l:gentext key="Example" text="Näide"/> + <l:gentext key="example" text="Näide"/> + <l:gentext key="figure" text="Joonis"/> + <l:gentext key="Figure" text="Joonis"/> + <l:gentext key="Glossary" text="Sõnastik"/> + <l:gentext key="glossary" text="Sõnastik"/> + <l:gentext key="GlossSee" text="Vt."/> + <l:gentext key="glosssee" text="Vt."/> + <l:gentext key="GlossSeeAlso" text="Vt. ka"/> + <l:gentext key="glossseealso" text="Vt. ka"/> + <l:gentext key="IMPORTANT" text="OLULINE"/> + <l:gentext key="Important" text="Oluline"/> + <l:gentext key="important" text="Oluline"/> + <l:gentext key="Index" text="Aineregister"/> + <l:gentext key="index" text="Aineregister"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Autoriõiguse märge"/> + <l:gentext key="legalnotice" text="Autoriõiguse märge"/> + <l:gentext key="MsgAud" text="Auditoorium"/> + <l:gentext key="msgaud" text="Auditoorium"/> + <l:gentext key="MsgLevel" text="Tase"/> + <l:gentext key="msglevel" text="Tase"/> + <l:gentext key="MsgOrig" text="Algallikas"/> + <l:gentext key="msgorig" text="Algallikas"/> + <l:gentext key="NOTE" text="MÄRKUS"/> + <l:gentext key="Note" text="Märkus"/> + <l:gentext key="note" text="Märkus"/> + <l:gentext key="Part" text="Osa"/> + <l:gentext key="part" text="Osa"/> + <l:gentext key="Preface" text="Eessõna"/> + <l:gentext key="preface" text="Eessõna"/> + <l:gentext key="Procedure" text="Protseduur"/> + <l:gentext key="procedure" text="Protseduur"/> + <l:gentext key="Published" text="Avaldatud"/> + <l:gentext key="published" text="Avaldatud"/> + <l:gentext key="Question" text="K:"/> + <l:gentext key="question" text="K:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Viide"/> + <l:gentext key="reference" text="Viide"/> + <l:gentext key="RefName" text="Nimi"/> + <l:gentext key="refname" text="Nimi"/> + <l:gentext key="RefSection" text="Lõik"/> + <l:gentext key="refsection" text="Lõik"/> + <l:gentext key="RefSynopsisDiv" text="Sünopsis"/> + <l:gentext key="refsynopsisdiv" text="Sünopsis"/> + <l:gentext key="RevHistory" text="Vigade paranduste ajalugu"/> + <l:gentext key="revhistory" text="Vigade paranduste ajalugu"/> + <l:gentext key="Revision" text="Vigade parandus"/> + <l:gentext key="revision" text="Vigade parandus"/> + <l:gentext key="section" text="lõik"/> + <l:gentext key="Section" text="Sektsioon"/> + <l:gentext key="see" text="Vt."/> + <l:gentext key="See" text="Vt."/> + <l:gentext key="seealso" text="Vt. ka"/> + <l:gentext key="SeeAlso" text="Vt. ka"/> + <l:gentext key="Seealso" text="Vt. ka"/> + <l:gentext key="Set" text="Sea"/> + <l:gentext key="set" text="Sea"/> + <l:gentext key="SetIndex" text="Sea indeks"/> + <l:gentext key="setindex" text="Sea indeks"/> + <l:gentext key="Sidebar" text=""/> + <l:gentext key="sidebar" text="külgriba"/> + <l:gentext key="step" text="samm"/> + <l:gentext key="Step" text="Samm"/> + <l:gentext key="table" text="Tabel"/> + <l:gentext key="Table" text="Tabel"/> + <l:gentext key="TIP" text="VIHJE"/> + <l:gentext key="Tip" text="Vihje"/> + <l:gentext key="tip" text="Vihje"/> + <l:gentext key="WARNING" text="HOIATUS"/> + <l:gentext key="Warning" text="Hoiatus"/> + <l:gentext key="warning" text="Hoiatus"/> + <l:gentext key="and" text="ja"/> + <l:gentext key="by" text=""/> + <l:gentext key="Edited" text="Redaktsioon"/> + <l:gentext key="edited" text="Redaktsioon"/> + <l:gentext key="Editedby" text="Redaktsiooni autor(id)"/> + <l:gentext key="editedby" text="Redaktsiooni autor(id)"/> + <l:gentext key="in" text=""/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="mitte eksisteeriv element"/> + <l:gentext key="Notes" text="Märkused"/> + <l:gentext key="notes" text="Märkused"/> + <l:gentext key="Pgs" text="Lk."/> + <l:gentext key="pgs" text="Lk."/> + <l:gentext key="Revisedby" text="Üle vaadanud: "/> + <l:gentext key="revisedby" text="Üle vaadanud: "/> + <l:gentext key="TableNotes" text="Märkused"/> + <l:gentext key="tablenotes" text="Märkused"/> + <l:gentext key="TableofContents" text="Sisukord"/> + <l:gentext key="tableofcontents" text="Sisukord"/> + <l:gentext key="unexpectedelementname" text="Ootamatu elemendi nimi"/> + <l:gentext key="unsupported" text="toetuseta"/> + <l:gentext key="xrefto" text="viide"/> + <l:gentext key="listofequations" text="Valemite nimekiri"/> + <l:gentext key="ListofEquations" text="Valemite nimekiri"/> + <l:gentext key="ListofExamples" text="Näidete nimekiri"/> + <l:gentext key="listofexamples" text="Näidete nimekiri"/> + <l:gentext key="ListofFigures" text="Jooniste nimekiri"/> + <l:gentext key="listoffigures" text="Jooniste nimekiri"/> + <l:gentext key="listoftables" text="Tabelite nimekiri"/> + <l:gentext key="ListofTables" text="Tabelite nimekiri"/> + <l:gentext key="ListofUnknown" text="Tundmatute nimekiri"/> + <l:gentext key="listofunknown" text="Tundmatute nimekiri"/> + <l:gentext key="nav-home" text="Koju"/> + <l:gentext key="nav-next" text="Järgmine"/> + <l:gentext key="nav-next-sibling" text="Kiiresti edasi"/> + <l:gentext key="nav-prev" text="Eelmine"/> + <l:gentext key="nav-prev-sibling" text="Kiiresti tagasi"/> + <l:gentext key="nav-up" text="Üles"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Lisa %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="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="Peatükk %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Valem %n. %t"/> + <l:template name="example" text="Näide %n. %t"/> + <l:template name="figure" text="Joonis %n. %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="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="Osa %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabel %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Lisa %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Peatükk %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Näide %n. %t"/> + <l:template name="figure" text="Joonis %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Osa %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabel %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Sektsioon %n"/> + <l:template name="sect2" text="Sektsioon %n"/> + <l:template name="sect3" text="Sektsioon %n"/> + <l:template name="sect4" text="Sektsioon %n"/> + <l:template name="sect5" text="Sektsioon %n"/> + <l:template name="section" text="Sektsioon %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" ja "/> + <l:template name="seplast" text=", ja "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Vt. "/> + <l:template name="seealso" text="Vt. ka "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Auditoorium: "/> + <l:template name="MsgLevel" text="Tase: "/> + <l:template name="MsgOrig" text="Algallikas: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/fi.xml b/lib/docbook/docbook-xsl/common/fi.xml new file mode 100644 index 000000000..8a7969d61 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/fi.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="fi"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Lyhennelmä"/> + <l:gentext key="abstract" text="Lyhennelmä"/> + <l:gentext key="Answer" text="A:"/> + <l:gentext key="answer" text="A:"/> + <l:gentext key="Appendix" text="Liite"/> + <l:gentext key="appendix" text="liite"/> + <l:gentext key="Article" text="Artikkeli"/> + <l:gentext key="article" text="Artikkeli"/> + <l:gentext key="Bibliography" text="Lähteet"/> + <l:gentext key="bibliography" text="Lähteet"/> + <l:gentext key="Book" text="Kirja"/> + <l:gentext key="book" text="Kirja"/> + <l:gentext key="Caution" text="Varo"/> + <l:gentext key="caution" text="Varo"/> + <l:gentext key="CAUTION" text="VARO"/> + <l:gentext key="Chapter" text="Luku"/> + <l:gentext key="chapter" text="luku"/> + <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="Omistus"/> + <l:gentext key="dedication" text="Omistus"/> + <l:gentext key="Edition" text="Edition"/> + <l:gentext key="edition" text="Edition"/> + <l:gentext key="Equation" text="Kaava"/> + <l:gentext key="equation" text="Kaava"/> + <l:gentext key="Example" text="Esimerkki"/> + <l:gentext key="example" text="Esimerkki"/> + <l:gentext key="Figure" text="Kuva"/> + <l:gentext key="figure" text="Kuva"/> + <l:gentext key="Glossary" text="Sanasto"/> + <l:gentext key="glossary" text="Sanasto"/> + <l:gentext key="GlossSee" text="Katso"/> + <l:gentext key="glosssee" text="Katso"/> + <l:gentext key="GlossSeeAlso" text="Katso myös"/> + <l:gentext key="glossseealso" text="Katso myös"/> + <l:gentext key="IMPORTANT" text="TÄRKEÄÄ"/> + <l:gentext key="Important" text="Tärkeää"/> + <l:gentext key="important" text="Tärkeää"/> + <l:gentext key="Index" text="Indeksi"/> + <l:gentext key="index" text="Indeksi"/> + <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="Yleisö"/> + <l:gentext key="msgaud" text="Yleisö"/> + <l:gentext key="MsgLevel" text="Taso"/> + <l:gentext key="msglevel" text="Taso"/> + <l:gentext key="MsgOrig" text="Alkuperä"/> + <l:gentext key="msgorig" text="Alkuperä"/> + <l:gentext key="note" text="Huomaa"/> + <l:gentext key="NOTE" text="HUOMAA"/> + <l:gentext key="Note" text="Huomaa"/> + <l:gentext key="Part" text="Osa"/> + <l:gentext key="part" text="Osa"/> + <l:gentext key="Preface" text="Esipuhe"/> + <l:gentext key="preface" text="Esipuhe"/> + <l:gentext key="Procedure" text="Aliohjelma"/> + <l:gentext key="procedure" text="Aliohjelma"/> + <l:gentext key="Published" text="Julkaistu"/> + <l:gentext key="published" text="Julkaistu"/> + <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="Lähdeluettelo"/> + <l:gentext key="reference" text="Lähdeluettelo"/> + <l:gentext key="RefName" text="Nimi"/> + <l:gentext key="refname" text="Nimi"/> + <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="Versiohistoria"/> + <l:gentext key="revhistory" text="Versiohistoria"/> + <l:gentext key="Revision" text="Versio"/> + <l:gentext key="revision" text="Versio"/> + <l:gentext key="Section" text="Kohta"/> + <l:gentext key="section" text="kohta"/> + <l:gentext key="see" text="Katso"/> + <l:gentext key="See" text="Katso"/> + <l:gentext key="Seealso" text="Katso myös"/> + <l:gentext key="seealso" text="Katso myös"/> + <l:gentext key="SeeAlso" text="Katso myös"/> + <l:gentext key="set" text="Kokoelma"/> + <l:gentext key="Set" text="Kokoelma"/> + <l:gentext key="SetIndex" text="Kokoelman indeksi"/> + <l:gentext key="setindex" text="Kokoelman indeksi"/> + <l:gentext key="Sidebar" text=""/> + <l:gentext key="sidebar" text="sivupalkki"/> + <l:gentext key="step" text="step"/> + <l:gentext key="Step" text="Step"/> + <l:gentext key="table" text="Taulu"/> + <l:gentext key="Table" text="Taulu"/> + <l:gentext key="TIP" text="VIHJE"/> + <l:gentext key="Tip" text="Vihje"/> + <l:gentext key="tip" text="Vihje"/> + <l:gentext key="WARNING" text="VAROITUS"/> + <l:gentext key="Warning" text="Varoitus"/> + <l:gentext key="warning" text="Varoitus"/> + <l:gentext key="and" text="ja"/> + <l:gentext key="by" text=""/> + <l:gentext key="Edited" text="Toim."/> + <l:gentext key="edited" text="Toim."/> + <l:gentext key="Editedby" text="Toimittanut"/> + <l:gentext key="editedby" text="Toimittanut"/> + <l:gentext key="in" text="teoksessa"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="elementtiä ei ole olemassa"/> + <l:gentext key="notes" text=""/> + <l:gentext key="Notes" text=""/> + <l:gentext key="Pgs" text="Sivut"/> + <l:gentext key="pgs" text="Sivut"/> + <l:gentext key="Revisedby" text="Revised by: "/> + <l:gentext key="revisedby" text="Revised by: "/> + <l:gentext key="TableNotes" text=""/> + <l:gentext key="tablenotes" text=""/> + <l:gentext key="TableofContents" text="Sisällys"/> + <l:gentext key="tableofcontents" text="Sisällys"/> + <l:gentext key="unexpectedelementname" text="Odottamaton elementin nimi"/> + <l:gentext key="unsupported" text="ei tueta"/> + <l:gentext key="xrefto" text="xref johonkin"/> + <l:gentext key="listofequations" text="Luettelo esimerkeistä"/> + <l:gentext key="ListofEquations" text="Luettelo esimerkeistä"/> + <l:gentext key="ListofExamples" text="Luettelo esimerkeistä"/> + <l:gentext key="listofexamples" text="Luettelo esimerkeistä"/> + <l:gentext key="ListofFigures" text="Luettelo kuvista"/> + <l:gentext key="listoffigures" text="Luettelo kuvista"/> + <l:gentext key="listoftables" text="Luettelo tauluista"/> + <l:gentext key="ListofTables" text="Luettelo tauluista"/> + <l:gentext key="ListofUnknown" text="Luettelo tuntemattomista"/> + <l:gentext key="listofunknown" text="Luettelo tuntemattomista"/> + <l:gentext key="nav-home" text="Alkuun"/> + <l:gentext key="nav-next" text="Seuraava"/> + <l:gentext key="nav-next-sibling" text="Nopeasti eteenpäin"/> + <l:gentext key="nav-prev" text="Edellinen"/> + <l:gentext key="nav-prev-sibling" text="Nopeasti taaksepäin"/> + <l:gentext key="nav-up" text="Ylös"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Liite %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="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="Luku %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Kaava %n. %t"/> + <l:template name="example" text="Esimerkki %n. %t"/> + <l:template name="figure" text="Kuva %n. %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="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="Osa %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Taulu %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Liite %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Luku %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Esimerkki %n. %t"/> + <l:template name="figure" text="Kuva %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Osa %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Taulu %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Kohta %n"/> + <l:template name="sect2" text="Kohta %n"/> + <l:template name="sect3" text="Kohta %n"/> + <l:template name="sect4" text="Kohta %n"/> + <l:template name="sect5" text="Kohta %n"/> + <l:template name="section" text="Kohta %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" ja "/> + <l:template name="seplast" text=", ja "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Katso "/> + <l:template name="seealso" text="Katso myös "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Yleisö: "/> + <l:template name="MsgLevel" text="Taso: "/> + <l:template name="MsgOrig" text="Alkuperä: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/fr.xml b/lib/docbook/docbook-xsl/common/fr.xml new file mode 100644 index 000000000..8148430fc --- /dev/null +++ b/lib/docbook/docbook-xsl/common/fr.xml @@ -0,0 +1,337 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="fr"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="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="Colophon"/> + <l:gentext key="colophon" text="Colophon"/> + <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="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="Published" text="Publié"/> + <l:gentext key="published" text="Publié"/> + <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="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="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=""/> + <l:gentext key="Sidebar" text=""/> + <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="tip" text="TUYAU"/> + <l:gentext key="TIP" text="TUYAU"/> + <l:gentext key="Tip" text="Tuyau"/> + <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 par : "/> + <l:gentext key="revisedby" text="Revu 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 non attendu"/> + <l:gentext key="unsupported" text="Non reconnu par le système"/> + <l:gentext key="xrefto" text="Référence vers"/> + <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="listoftables" text="Liste des tableaux"/> + <l:gentext key="ListofTables" text="Liste des tableaux"/> + <l:gentext key="ListofUnknown" text="Liste des inconnues"/> + <l:gentext key="listofunknown" text="Liste des inconnues"/> + <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="sectioncalled" text="la section intitulée"/> + <l:gentext key="index symbols" text="Symboles"/> + <l:dingbat key="startquote" text="«"/> + <l:dingbat key="endquote" text="»"/> + <l:dingbat key="singlestartquote" text="‹"/> + <l:dingbat key="singleendquote" text="›"/> + <l:dingbat key="nestedstartquote" text="«"/> + <l:dingbat key="nestedendquote" text="»"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="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="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="Partie %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Annexe %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" 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="example" text="Exemple %n. %t"/> + <l:template name="figure" text="Figure %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Partie %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tableau %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <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="simplesect" text="la section intitulée “%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 "/> + <l:template name="seealso" text="Voir aussi "/> + </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:l10n> diff --git a/lib/docbook/docbook-xsl/common/gentext.xsl b/lib/docbook/docbook-xsl/common/gentext.xsl new file mode 100644 index 000000000..5f9441d22 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/gentext.xsl @@ -0,0 +1,406 @@ +<?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'>
+
+<!-- ============================================================ -->
+
+<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" select="local-name(.)"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="section|sect1|sect2|sect3|sect4|sect5|simplesect
+ |bridgehead"
+ mode="object.title.template">
+ <xsl:choose>
+ <xsl:when test="$section.autolabel != 0">
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="'section-title-numbered'"/>
+ <xsl:with-param name="name" select="local-name(.)"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="'section-title'"/>
+ <xsl:with-param name="name" select="local-name(.)"/>
+ </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">
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="'title'"/>
+ <xsl:with-param name="name" select="'procedure.formal'"/>
+ </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" select="local-name(.)"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="article/appendix"
+ mode="object.title.template">
+ <!-- FIXME: HACK HACK HACK! -->
+ <xsl:text>%n. %t</xsl:text>
+</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" select="local-name(.)"/>
+ </xsl:call-template>
+</xsl:template>
+
+<!-- ============================================================ -->
+
+<xsl:template match="*" mode="object.xref.template">
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="'xref'"/>
+ <xsl:with-param name="name" select="local-name(.)"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="section|simplesect
+ |sect1|sect2|sect3|sect4|sect5
+ |refsect1|refsect2|refsect3
+ |bridgehead"
+ mode="object.xref.template">
+ <xsl:choose>
+ <xsl:when test="$section.autolabel != 0">
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="'section-xref-numbered'"/>
+ <xsl:with-param name="name" select="local-name(.)"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="'section-xref'"/>
+ <xsl:with-param name="name" select="local-name(.)"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</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="$title"/>
+</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:variable name="template">
+ <xsl:apply-templates select="." mode="object.xref.template"/>
+ </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="$template"/>
+ </xsl:message>
+-->
+
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="template" select="$template"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="section|simplesect
+ |sect1|sect2|sect3|sect4|sect5
+ |refsect1|refsect2|refsect3
+ |bridgehead"
+ mode="object.xref.markup">
+ <xsl:variable name="template">
+ <xsl:apply-templates select="." mode="object.xref.template"/>
+ </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="$template"/>
+ </xsl:message>
+-->
+
+ <xsl:call-template name="substitute-markup">
+ <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:variable name="bef-n" select="substring-before($template, '%n')"/>
+ <xsl:variable name="bef-s" select="substring-before($template, '%s')"/>
+ <xsl:variable name="bef-t" select="substring-before($template, '%t')"/>
+
+<!--
+ <xsl:message>
+ <xsl:text>sm: </xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$allow-anchors"/>
+ </xsl:message>
+-->
+
+ <xsl:choose>
+ <!-- n=1 -->
+ <xsl:when test="starts-with($template, '%n')">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%n')"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- t=1 -->
+ <xsl:when test="starts-with($template, '%t')">
+ <xsl:apply-templates select="." mode="title.markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ </xsl:apply-templates>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%t')"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- s=1 -->
+ <xsl:when test="starts-with($template, '%s')">
+ <xsl:apply-templates select="." mode="subtitle.markup"/>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%s')"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- n and t and s -->
+ <xsl:when test="contains($template, '%n')
+ and contains($template, '%t')
+ and contains($template, '%s')">
+ <xsl:choose>
+ <!-- n is first -->
+ <xsl:when test="string-length($bef-n) < string-length($bef-s)
+ and string-length($bef-n) < string-length($bef-t)">
+ <xsl:value-of select="$bef-n"/>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%n')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <!-- s is first -->
+ <xsl:when test="string-length($bef-s) < string-length($bef-n)
+ and string-length($bef-s) < string-length($bef-t)">
+ <xsl:value-of select="$bef-s"/>
+ <xsl:apply-templates select="." mode="subtitle.markup"/>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%s')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <!-- t must be first -->
+ <xsl:otherwise>
+ <xsl:value-of select="$bef-t"/>
+ <xsl:apply-templates select="." mode="title.markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ </xsl:apply-templates>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%t')"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <!-- n and t -->
+ <xsl:when test="contains($template, '%n')
+ and contains($template, '%t')">
+ <xsl:choose>
+ <!-- n is first -->
+ <xsl:when test="string-length($bef-n) < string-length($bef-t)">
+ <xsl:value-of select="$bef-n"/>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%n')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <!-- t is first -->
+ <xsl:otherwise>
+ <xsl:value-of select="$bef-t"/>
+ <xsl:apply-templates select="." mode="title.markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ </xsl:apply-templates>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%t')"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <!-- n and s -->
+ <xsl:when test="contains($template, '%n')
+ and contains($template, '%s')">
+ <xsl:choose>
+ <!-- n is first -->
+ <xsl:when test="string-length($bef-n) < string-length($bef-s)">
+ <xsl:value-of select="$bef-n"/>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%n')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <!-- s is first -->
+ <xsl:otherwise>
+ <xsl:value-of select="$bef-s"/>
+ <xsl:apply-templates select="." mode="subtitle.markup"/>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%s')"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <!-- t and s -->
+ <xsl:when test="contains($template, '%t')
+ and contains($template, '%s')">
+ <xsl:choose>
+ <!-- t is first -->
+ <xsl:when test="string-length($bef-t) < string-length($bef-s)">
+ <xsl:value-of select="$bef-t"/>
+ <xsl:apply-templates select="." mode="title.markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ </xsl:apply-templates>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%t')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <!-- s is first -->
+ <xsl:otherwise>
+ <xsl:value-of select="$bef-s"/>
+ <xsl:apply-templates select="." mode="subtitle.markup"/>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%s')"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <!-- n -->
+ <xsl:when test="contains($template, '%n')">
+ <xsl:value-of select="$bef-n"/>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%n')"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- t -->
+ <xsl:when test="contains($template, '%t')">
+ <xsl:value-of select="$bef-t"/>
+ <xsl:apply-templates select="." mode="title.markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ </xsl:apply-templates>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%t')"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- s -->
+ <xsl:when test="contains($template, '%s')">
+ <xsl:value-of select="$bef-s"/>
+ <xsl:apply-templates select="." mode="subtitle.markup"/>
+ <xsl:call-template name="substitute-markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ <xsl:with-param name="template"
+ select="substring-after($template, '%s')"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- neither n nor t nor s -->
+ <xsl:otherwise>
+ <xsl:value-of select="$template"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ============================================================ -->
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/common/hu.xml b/lib/docbook/docbook-xsl/common/hu.xml new file mode 100644 index 000000000..52ff1f171 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/hu.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="hu"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Kivonat"/> + <l:gentext key="abstract" text="kivonat"/> + <l:gentext key="Answer" text="Válasz"/> + <l:gentext key="answer" text="válasz"/> + <l:gentext key="Appendix" text="Függelék"/> + <l:gentext key="appendix" text="függelék"/> + <l:gentext key="Article" text="Cikk"/> + <l:gentext key="article" text="cikk"/> + <l:gentext key="Bibliography" text="Irodalomjegyzék"/> + <l:gentext key="bibliography" text="irodalomjegyzék"/> + <l:gentext key="Book" text="Könyv"/> + <l:gentext key="book" text="könyv"/> + <l:gentext key="Caution" text="Figyelem"/> + <l:gentext key="caution" text="figyelem"/> + <l:gentext key="CAUTION" text="FIGYELEM"/> + <l:gentext key="Chapter" text="Fejezet"/> + <l:gentext key="chapter" text="fejezet"/> + <l:gentext key="Colophon" text="Végszó"/> + <l:gentext key="colophon" text="végszó"/> + <l:gentext key="Copyright" text="Copyright"/> + <l:gentext key="copyright" text="copyright"/> + <l:gentext key="Dedication" text="Ajánlás"/> + <l:gentext key="dedication" text="ajánlás"/> + <l:gentext key="Edition" text="Kiadás"/> + <l:gentext key="edition" text="kiadás"/> + <l:gentext key="Equation" text="Egyenlet"/> + <l:gentext key="equation" text="egyenlet"/> + <l:gentext key="Example" text="Példa"/> + <l:gentext key="example" text="példa"/> + <l:gentext key="Figure" text="Ábra"/> + <l:gentext key="figure" text="ábra"/> + <l:gentext key="Glossary" text="Szójegyzék"/> + <l:gentext key="glossary" text="szójegyzék"/> + <l:gentext key="GlossSee" text="Lásd"/> + <l:gentext key="glosssee" text="lásd"/> + <l:gentext key="GlossSeeAlso" text="Lásd még"/> + <l:gentext key="glossseealso" text="lásd még"/> + <l:gentext key="IMPORTANT" text="FONTOS"/> + <l:gentext key="Important" text="Fontos"/> + <l:gentext key="important" text="fontos"/> + <l:gentext key="Index" text="Tárgymutató"/> + <l:gentext key="index" text="tárgymutató"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="isbn"/> + <l:gentext key="LegalNotice" text="Jogi közlemény"/> + <l:gentext key="legalnotice" text="jogi közlemény"/> + <l:gentext key="MsgAud" text="Célközönség"/> + <l:gentext key="msgaud" text="célközönség"/> + <l:gentext key="MsgLevel" text="Szint"/> + <l:gentext key="msglevel" text="szint"/> + <l:gentext key="MsgOrig" text="Eredet"/> + <l:gentext key="msgorig" text="eredet"/> + <l:gentext key="NOTE" text="MEGJEGYZÉS"/> + <l:gentext key="Note" text="Megjegyzés"/> + <l:gentext key="note" text="megjegyzés"/> + <l:gentext key="Part" text="Rész"/> + <l:gentext key="part" text="rész"/> + <l:gentext key="Preface" text="Előszó"/> + <l:gentext key="preface" text="előszó"/> + <l:gentext key="Procedure" text="Eljárás"/> + <l:gentext key="procedure" text="eljárás"/> + <l:gentext key="Published" text="Megjelent"/> + <l:gentext key="published" text="megjelent"/> + <l:gentext key="Question" text="Kérdés"/> + <l:gentext key="question" text="kérdés"/> + <l:gentext key="RefEntry" text="Bejegyzés"/> + <l:gentext key="refentry" text="bejegyzés"/> + <l:gentext key="Reference" text="Referencia"/> + <l:gentext key="reference" text="referencia"/> + <l:gentext key="RefName" text="Név"/> + <l:gentext key="refname" text="név"/> + <l:gentext key="RefSection" text="Szakasz"/> + <l:gentext key="refsection" text="szakasz"/> + <l:gentext key="RefSynopsisDiv" text="Áttekintés"/> + <l:gentext key="refsynopsisdiv" text="áttekintés"/> + <l:gentext key="RevHistory" text="Verziótörténet"/> + <l:gentext key="revhistory" text="verziótörténet"/> + <l:gentext key="Revision" text="Verzió"/> + <l:gentext key="revision" text="verzió"/> + <l:gentext key="Section" text="Szakasz"/> + <l:gentext key="section" text="szakasz"/> + <l:gentext key="See" text="Lásd"/> + <l:gentext key="see" text="lásd"/> + <l:gentext key="seealso" text="lásd még"/> + <l:gentext key="SeeAlso" text="Lásd még"/> + <l:gentext key="Seealso" text="Lásd még"/> + <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="széljegyzet"/> + <l:gentext key="Sidebar" text="Széljegyzet"/> + <l:gentext key="step" text="lépés"/> + <l:gentext key="Step" text="Lépés"/> + <l:gentext key="Table" text="Táblázat"/> + <l:gentext key="table" text="táblázat"/> + <l:gentext key="tip" text="tipp"/> + <l:gentext key="TIP" text="TIPP"/> + <l:gentext key="Tip" text="Tipp"/> + <l:gentext key="WARNING" text="FIGYELEM"/> + <l:gentext key="Warning" text="Figyelem"/> + <l:gentext key="warning" text="figyelem"/> + <l:gentext key="and" text="és"/> + <l:gentext key="by" text=""/> + <l:gentext key="Edited" text="Szerk."/> + <l:gentext key="edited" text="szerk."/> + <l:gentext key="Editedby" text="Szerkesztette"/> + <l:gentext key="editedby" text="szerkesztette"/> + <l:gentext key="in" text=""/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="nem létező elem"/> + <l:gentext key="notes" text="megjegyzések"/> + <l:gentext key="Notes" text="Megjegyzések"/> + <l:gentext key="Pgs" text="Lsz."/> + <l:gentext key="pgs" text="lsz."/> + <l:gentext key="Revisedby" text="Megvizsgálva"/> + <l:gentext key="revisedby" text="megvizsgálva"/> + <l:gentext key="TableNotes" text="Megjegyzések"/> + <l:gentext key="tablenotes" text="megjegyzések"/> + <l:gentext key="TableofContents" text="Tartalom"/> + <l:gentext key="tableofcontents" text="tartalom"/> + <l:gentext key="unexpectedelementname" text="nem várt elemnév"/> + <l:gentext key="unsupported" text="nem támogatott"/> + <l:gentext key="xrefto" text="keresztref"/> + <l:gentext key="listofequations" text="az egyenletek listája"/> + <l:gentext key="ListofEquations" text="Az egyenletek listája"/> + <l:gentext key="ListofExamples" text="A példák listája"/> + <l:gentext key="listofexamples" text="a példák listája"/> + <l:gentext key="ListofFigures" text="Az ábrák listája"/> + <l:gentext key="listoffigures" text="az ábrák listája"/> + <l:gentext key="listoftables" text="a táblázatok listája"/> + <l:gentext key="ListofTables" text="A táblázatok listája"/> + <l:gentext key="ListofUnknown" text="Az egyéb elemek listája"/> + <l:gentext key="listofunknown" text="az egyéb elemek listája"/> + <l:gentext key="nav-home" text="Tartalom"/> + <l:gentext key="nav-next" text="Következő"/> + <l:gentext key="nav-next-sibling" text="Gyors előre"/> + <l:gentext key="nav-prev" text="Előző"/> + <l:gentext key="nav-prev-sibling" text="Gyors vissza"/> + <l:gentext key="nav-up" text="Fel"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="%n. függelék - %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="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. fejezet - %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="%n. egyenlet - %t"/> + <l:template name="example" text="%n. példa - %t"/> + <l:template name="figure" text="%n. ábra - %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="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. rész - %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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áblázat - %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="%n. függelék - %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="%n. fejezet - %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="%n. példa - %t"/> + <l:template name="figure" text="%n. ábra - %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="%n. rész - %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="%n. táblázat - %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="%n. szakasz"/> + <l:template name="sect2" text="%n. szakasz"/> + <l:template name="sect3" text="%n. szakasz"/> + <l:template name="sect4" text="%n. szakasz"/> + <l:template name="sect5" text="%n. szakasz"/> + <l:template name="section" text="%n. szakasz"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" és "/> + <l:template name="seplast" text=", és "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Lásd "/> + <l:template name="seealso" text="Lásd még "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Célközönség: "/> + <l:template name="MsgLevel" text="Szint: "/> + <l:template name="MsgOrig" text="Eredet: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/id.xml b/lib/docbook/docbook-xsl/common/id.xml new file mode 100644 index 000000000..d7a9ffc31 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/id.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="id"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Abstrak"/> + <l:gentext key="abstract" text="Abstrak"/> + <l:gentext key="Answer" text="Jawab:"/> + <l:gentext key="answer" text="Jawab:"/> + <l:gentext key="Appendix" text="Lampiran"/> + <l:gentext key="appendix" text="lampiran"/> + <l:gentext key="Article" text="Artikel"/> + <l:gentext key="article" text="Artikel"/> + <l:gentext key="Bibliography" text="Bibliografi"/> + <l:gentext key="bibliography" text="Bibliografi"/> + <l:gentext key="Book" text="Buku"/> + <l:gentext key="book" text="Buku"/> + <l:gentext key="Caution" text="Perhatian"/> + <l:gentext key="caution" text="Perhatian"/> + <l:gentext key="CAUTION" text="PERHATIAN"/> + <l:gentext key="Chapter" text="Bab"/> + <l:gentext key="chapter" text="bab"/> + <l:gentext key="Colophon" text="Kolofon"/> + <l:gentext key="colophon" text="Kolofon"/> + <l:gentext key="Copyright" text="Hak Cipta"/> + <l:gentext key="copyright" text="Hak Cipta"/> + <l:gentext key="Dedication" text="Dedikasi"/> + <l:gentext key="dedication" text="Dedikasi"/> + <l:gentext key="Edition" text="Edisi"/> + <l:gentext key="edition" text="Edisi"/> + <l:gentext key="Equation" text="Persamaan"/> + <l:gentext key="equation" text="Persamaan"/> + <l:gentext key="Example" text="Teladan"/> + <l:gentext key="example" text="Teladan"/> + <l:gentext key="Figure" text="Gambar"/> + <l:gentext key="figure" text="Gambar"/> + <l:gentext key="Glossary" text="Daftar Istilah"/> + <l:gentext key="glossary" text="Daftar Istilah"/> + <l:gentext key="GlossSee" text="Lihat"/> + <l:gentext key="glosssee" text="Lihat"/> + <l:gentext key="GlossSeeAlso" text="Lihat Juga"/> + <l:gentext key="glossseealso" text="Lihat Juga"/> + <l:gentext key="IMPORTANT" text="PENTING"/> + <l:gentext key="Important" text="Penting"/> + <l:gentext key="important" text="Penting"/> + <l:gentext key="Index" text="Indeks"/> + <l:gentext key="index" text="Indeks"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Aspek Hukum"/> + <l:gentext key="legalnotice" text="Aspek Hukum"/> + <l:gentext key="MsgAud" text="Pemirsa"/> + <l:gentext key="msgaud" text="Pemirsa"/> + <l:gentext key="MsgLevel" text="Tingkatan"/> + <l:gentext key="msglevel" text="Tingkatan"/> + <l:gentext key="MsgOrig" text="Asal"/> + <l:gentext key="msgorig" text="Asal"/> + <l:gentext key="note" text="Catatan"/> + <l:gentext key="NOTE" text="CATATAN"/> + <l:gentext key="Note" text="Catatan"/> + <l:gentext key="Part" text="Bagian"/> + <l:gentext key="part" text="Bagian"/> + <l:gentext key="Preface" text="Kata Pengantar"/> + <l:gentext key="preface" text="Kata Pengantar"/> + <l:gentext key="Procedure" text="Prosedur"/> + <l:gentext key="procedure" text="Prosedur"/> + <l:gentext key="Published" text="Diterbitkan"/> + <l:gentext key="published" text="Diterbitkan"/> + <l:gentext key="Question" text="Tanya:"/> + <l:gentext key="question" text="Tanya:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Referensi"/> + <l:gentext key="reference" text="Referensi"/> + <l:gentext key="RefName" text="Nama"/> + <l:gentext key="refname" text="Nama"/> + <l:gentext key="RefSection" text=""/> + <l:gentext key="refsection" text=""/> + <l:gentext key="RefSynopsisDiv" text="Sinopsis"/> + <l:gentext key="refsynopsisdiv" text="Sinopsis"/> + <l:gentext key="RevHistory" text="Catatan Revisi"/> + <l:gentext key="revhistory" text="Catatan Revisi"/> + <l:gentext key="Revision" text="Revisi"/> + <l:gentext key="revision" text="Revisi"/> + <l:gentext key="Section" text="Bagian"/> + <l:gentext key="section" text="bagian"/> + <l:gentext key="see" text="Lihat"/> + <l:gentext key="See" text="Lihat"/> + <l:gentext key="Seealso" text="Lihat juga"/> + <l:gentext key="seealso" text="Lihat Juga"/> + <l:gentext key="SeeAlso" text="Lihat Juga"/> + <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="tahap"/> + <l:gentext key="Step" text="Tahap"/> + <l:gentext key="table" text="Tabel"/> + <l:gentext key="Table" text="Tabel"/> + <l:gentext key="TIP" text="TIP"/> + <l:gentext key="Tip" text="Tip"/> + <l:gentext key="tip" text="Tip"/> + <l:gentext key="WARNING" text="AWAS"/> + <l:gentext key="Warning" text="Awas"/> + <l:gentext key="warning" text="Awas"/> + <l:gentext key="and" text="dan"/> + <l:gentext key="by" text="oleh"/> + <l:gentext key="Edited" text="disunting"/> + <l:gentext key="edited" text="disunting"/> + <l:gentext key="Editedby" text="disunting oleh"/> + <l:gentext key="editedby" text="disunting oleh"/> + <l:gentext key="in" text="di"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="elemen tak tampak"/> + <l:gentext key="notes" text="Catatan"/> + <l:gentext key="Notes" text="Catatan"/> + <l:gentext key="Pgs" text="Hal."/> + <l:gentext key="pgs" text="Hal."/> + <l:gentext key="Revisedby" text="Revised by: "/> + <l:gentext key="revisedby" text="Revised by: "/> + <l:gentext key="TableNotes" text="Catatan"/> + <l:gentext key="tablenotes" text="Catatan"/> + <l:gentext key="TableofContents" text="Daftar Isi"/> + <l:gentext key="tableofcontents" text="Daftar Isi"/> + <l:gentext key="unexpectedelementname" text="Nama Elemen seharusnya tidak ada"/> + <l:gentext key="unsupported" text="tidak didukung"/> + <l:gentext key="xrefto" text="xref ke"/> + <l:gentext key="listofequations" text="Daftar Persamaan"/> + <l:gentext key="ListofEquations" text="Daftar Persamaan"/> + <l:gentext key="ListofExamples" text="Daftar Teladan"/> + <l:gentext key="listofexamples" text="Daftar Teladan"/> + <l:gentext key="ListofFigures" text="Daftar Gambar"/> + <l:gentext key="listoffigures" text="Daftar Gambar"/> + <l:gentext key="listoftables" text="Daftar Tabel"/> + <l:gentext key="ListofTables" text="Daftar Tabel"/> + <l:gentext key="ListofUnknown" text="Daftar Gaib"/> + <l:gentext key="listofunknown" text="Daftar Gaib"/> + <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:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Lampiran %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="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="Bab %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Persamaan %n. %t"/> + <l:template name="example" text="Teladan %n. %t"/> + <l:template name="figure" text="Gambar %n. %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="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="Bagian %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabel %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Lampiran %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Bab %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Teladan %n. %t"/> + <l:template name="figure" text="Gambar %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Bagian %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabel %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Bagian %n"/> + <l:template name="sect2" text="Bagian %n"/> + <l:template name="sect3" text="Bagian %n"/> + <l:template name="sect4" text="Bagian %n"/> + <l:template name="sect5" text="Bagian %n"/> + <l:template name="section" text="Bagian %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" dan "/> + <l:template name="seplast" text=", dan "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Lihat "/> + <l:template name="seealso" text="Lihat Juga "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Pemirsa: "/> + <l:template name="MsgLevel" text="Tingkatan: "/> + <l:template name="MsgOrig" text="Asal: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/it.xml b/lib/docbook/docbook-xsl/common/it.xml new file mode 100644 index 000000000..95df311ae --- /dev/null +++ b/lib/docbook/docbook-xsl/common/it.xml @@ -0,0 +1,345 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="it"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="Audience" text="Pubblico"/> + <l:gentext key="audience" text="Pubblico"/> + <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="Cautela"/> + <l:gentext key="caution" text="Cautela"/> + <l:gentext key="CAUTION" text="CAUTELA"/> + <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="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="History" text="Diario"/> + <l:gentext key="history" text="Diario"/> + <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="Level" text="Livello"/> + <l:gentext key="level" text="Livello"/> + <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="name" text="Nome"/> + <l:gentext key="Name" text="Nome"/> + <l:gentext key="Note" text="Nota"/> + <l:gentext key="NOTE" text="NOTA"/> + <l:gentext key="note" text="Nota"/> + <l:gentext key="origin" text="Origine"/> + <l:gentext key="Origin" text="Origine"/> + <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="published" text="Pubblicato"/> + <l:gentext key="Published" text="Pubblicato"/> + <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="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="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="nota a margine"/> + <l:gentext key="Sidebar" text="Nota a margine"/> + <l:gentext key="Step" text="Passaggio"/> + <l:gentext key="step" text="passaggio"/> + <l:gentext key="table" text="Tabella"/> + <l:gentext key="Table" text="Tabella"/> + <l:gentext key="TIP" text="SUGGERIMENTO"/> + <l:gentext key="Tip" text="Suggerimento"/> + <l:gentext key="tip" text="Suggerimento"/> + <l:gentext key="Warning" text="Attenzione"/> + <l:gentext key="warning" text="Attenzione"/> + <l:gentext key="WARNING" text="ATTENZIONE"/> + <l:gentext key="and" text="e"/> + <l:gentext key="by" text="di"/> + <l:gentext key="called" text="intitolato"/> + <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="Corretto da: "/> + <l:gentext key="revisedby" text="Corretto 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="the" text="il"/> + <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="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="listoftables" text="Lista delle Tabelle"/> + <l:gentext key="ListofTables" text="Lista delle Tabelle"/> + <l:gentext key="ListofUnknown" text="Lista Sconosciuti"/> + <l:gentext key="listofunknown" text="Lista 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:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Appendice %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" 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="example" text="Esempio %n. %t"/> + <l:template name="figure" text="Figura %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Parte %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabella %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <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="simplesect" text="“%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 "/> + <l:template name="seealso" text="Vedi anche "/> + </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:l10n> diff --git a/lib/docbook/docbook-xsl/common/ja.xml b/lib/docbook/docbook-xsl/common/ja.xml new file mode 100644 index 000000000..3f8c39dbb --- /dev/null +++ b/lib/docbook/docbook-xsl/common/ja.xml @@ -0,0 +1,343 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="ja"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="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="chapter1" text="第"/> + <l:gentext key="Chapter1" text="第"/> + <l:gentext key="Chapter2" text="章"/> + <l:gentext key="chapter2" 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="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="Published" text="発行"/> + <l:gentext key="published" 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="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="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="設定"/> + <l:gentext key="set" text="設定"/> + <l:gentext key="SetIndex" text="目次設定"/> + <l:gentext key="setindex" text="目次設定"/> + <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="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="Revised by: "/> + <l:gentext key="revisedby" text="Revised by: "/> + <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="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="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="Fast Forward"/> + <l:gentext key="nav-prev" text="前のページ"/> + <l:gentext key="nav-prev-sibling" text="Fast Backward"/> + <l:gentext key="nav-up" text="上に戻る"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="付録%n"/> + <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="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章"/> + <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="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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="answer" text="問: %n"/> + <l:template name="appendix" text="付録%n"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="第%n章"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="例 %n. %t"/> + <l:template name="figure" text="図 %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="パート %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="手順 %n"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaentry" text="答: %n"/> + <l:template name="qandaset" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="question" text="答: %n"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="表 %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <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="simplesect" text="%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="参照 "/> + <l:template name="seealso" text="参照 "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="対象者: "/> + <l:template name="MsgLevel" text="レベル: "/> + <l:template name="MsgOrig" text="発信元: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/ko.xml b/lib/docbook/docbook-xsl/common/ko.xml new file mode 100644 index 000000000..2d4fb2e2e --- /dev/null +++ b/lib/docbook/docbook-xsl/common/ko.xml @@ -0,0 +1,332 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="ko"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="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="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="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="Published" text="펴냄"/> + <l:gentext key="published" 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="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="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="전집"/> + <l:gentext key="set" text="전집"/> + <l:gentext key="setindex" text="전집 색인"/> + <l:gentext key="SetIndex" text="전집 색인"/> + <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="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="Pgs."/> + <l:gentext key="pgs" text="Pgs."/> + <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="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="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:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="부록 %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="%n장. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="예 %n. %t"/> + <l:template name="figure" text="그림 %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="%n부. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="표 %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <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="simplesect" text="“%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="살펴볼 내용 "/> + <l:template name="seealso" text="다른 살펴볼 내용 "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="받는 이: "/> + <l:template name="MsgLevel" text="중요도: "/> + <l:template name="MsgOrig" text="보내는 이: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/l10n.dtd b/lib/docbook/docbook-xsl/common/l10n.dtd new file mode 100644 index 000000000..8e285690b --- /dev/null +++ b/lib/docbook/docbook-xsl/common/l10n.dtd @@ -0,0 +1,32 @@ +<!ELEMENT i18n (l10n+)>
+<!ATTLIST i18n
+ xmlns CDATA #IMPLIED
+>
+
+<!ELEMENT l10n (gentext|dingbat|context)*>
+<!ATTLIST l10n
+ language CDATA #REQUIRED
+>
+
+<!ELEMENT gentext EMPTY>
+<!ATTLIST gentext
+ key CDATA #REQUIRED
+ text CDATA #REQUIRED
+>
+
+<!ELEMENT dingbat EMPTY>
+<!ATTLIST dingbat
+ key CDATA #REQUIRED
+ text CDATA #REQUIRED
+>
+
+<!ELEMENT context (template+)>
+<!ATTLIST context
+ name CDATA #REQUIRED
+>
+
+<!ELEMENT template EMPTY>
+<!ATTLIST template
+ name CDATA #REQUIRED
+ text CDATA #REQUIRED
+>
diff --git a/lib/docbook/docbook-xsl/common/l10n.xml b/lib/docbook/docbook-xsl/common/l10n.xml new file mode 100644 index 000000000..2d75f6a09 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/l10n.xml @@ -0,0 +1,65 @@ +<?xml version='1.0'?> +<!DOCTYPE i18n SYSTEM "l10n.dtd" [ +<!ENTITY af SYSTEM "af.xml"> +<!ENTITY ca SYSTEM "ca.xml"> +<!ENTITY cs SYSTEM "cs.xml"> +<!ENTITY da SYSTEM "da.xml"> +<!ENTITY de SYSTEM "de.xml"> +<!ENTITY el SYSTEM "el.xml"> +<!ENTITY en SYSTEM "en.xml"> +<!ENTITY es SYSTEM "es.xml"> +<!ENTITY et SYSTEM "et.xml"> +<!ENTITY fi SYSTEM "fi.xml"> +<!ENTITY fr SYSTEM "fr.xml"> +<!ENTITY hu SYSTEM "hu.xml"> +<!ENTITY id SYSTEM "id.xml"> +<!ENTITY it SYSTEM "it.xml"> +<!ENTITY ja SYSTEM "ja.xml"> +<!ENTITY ko SYSTEM "ko.xml"> +<!ENTITY nl SYSTEM "nl.xml"> +<!ENTITY no SYSTEM "no.xml"> +<!ENTITY pl SYSTEM "pl.xml"> +<!ENTITY pt SYSTEM "pt.xml"> +<!ENTITY pt_br SYSTEM "pt_br.xml"> +<!ENTITY ro SYSTEM "ro.xml"> +<!ENTITY ru SYSTEM "ru.xml"> +<!ENTITY sk SYSTEM "sk.xml"> +<!ENTITY sl SYSTEM "sl.xml"> +<!ENTITY sr SYSTEM "sr.xml"> +<!ENTITY sv SYSTEM "sv.xml"> +<!ENTITY tr SYSTEM "tr.xml"> +<!ENTITY zh_cn SYSTEM "zh_cn.xml"> +<!ENTITY zh_tw SYSTEM "zh_tw.xml"> +]> +<i18n xmlns="http://docbook.sourceforge.net/xmlns/l10n/1.0"> +⁡ +&ca; +&cs; +&da; +&de; +⪙ +&en; +&es; +&et; +&fi; +&fr; +&hu; +&id; +⁢ +&ja; +&ko; +&nl; +&no; +&pl; +&pt; +&pt_br; +&ro; +&ru; +&sk; +&sl; +&sr; +&sv; +&tr; +&zh_cn; +&zh_tw; +</i18n> diff --git a/lib/docbook/docbook-xsl/common/l10n.xsl b/lib/docbook/docbook-xsl/common/l10n.xsl new file mode 100644 index 000000000..7fe043475 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/l10n.xsl @@ -0,0 +1,367 @@ +<?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: l10n.xsl,v 1.1 2002/05/15 17:22:23 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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:param name="l10n.gentext.language" select="''"/>
+<xsl:param name="l10n.gentext.default.language" select="'en'"/>
+<xsl:param name="l10n.gentext.use.xref.language" select="false()"/>
+
+<xsl:template name="l10n.language">
+ <xsl:param name="target" select="."/>
+ <xsl:param name="xref-context" select="false()"/>
+
+ <xsl:variable name="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">
+ <xsl:variable name="lang-attr"
+ select="($target/ancestor-or-self::*/@lang
+ |$target/ancestor-or-self::*/@xml:lang)[last()]"/>
+ <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>
+ <xsl:variable name="lang-attr"
+ select="(ancestor-or-self::*/@lang
+ |ancestor-or-self::*/@xml:lang)[last()]"/>
+ <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="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="gentext.xref.text">
+ <xsl:param name="element.name" select="name(.)"/>
+ <xsl:param name="default"></xsl:param>
+ <xsl:param name="lang">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:param>
+
+ <xsl:variable name="l10n.text">
+ <xsl:choose>
+ <xsl:when test="$local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:xref[@element=$element.name]">
+ <xsl:value-of select="($local.l10n.xml/l:i18n/l:l10n[@language=$lang]/l:xref[@element=$element.name])[1]/@text"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="($l10n.xml/l:i18n/l:l10n[@language=$lang]/l:xref[@element=$element.name])[1]/@text"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$l10n.text=''">
+ <xsl:choose>
+ <xsl:when test="$default=''">
+ <xsl:message>
+ <xsl:text>No "</xsl:text>
+ <xsl:value-of select="$lang"/>
+ <xsl:text>" cross reference text for "</xsl:text>
+ <xsl:value-of select="$element.name"/>
+ <xsl:text>" exists and no default specified.</xsl:text>
+ </xsl:message>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$default"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$l10n.text"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</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:variable name="l10n.name">
+ <xsl:choose>
+ <xsl:when test="$local.l10n.gentext">
+ <xsl:value-of select="$local.l10n.gentext/@text"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$l10n.gentext/@text"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="count($local.l10n.gentext) > 0">
+ <xsl:value-of select="$local.l10n.gentext/@text"/>
+ </xsl:when>
+ <xsl:when test="count($l10n.gentext) > 0">
+ <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; using "en".</xsl:text>
+ </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="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.element.name">
+ <xsl:with-param name="element.name">Editedby</xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="gentext.by">
+ <xsl:call-template name="gentext.element.name">
+ <xsl:with-param name="element.name">by</xsl:with-param>
+ </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="count($local.l10n.dingbat) > 0">
+ <xsl:value-of select="$local.l10n.dingbat/@text"/>
+ </xsl:when>
+ <xsl:when test="count($l10n.dingbat) > 0">
+ <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.element.name">
+ <xsl:with-param name="element.name">nav-prev</xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="gentext.nav.next">
+ <xsl:call-template name="gentext.element.name">
+ <xsl:with-param name="element.name">nav-next</xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="gentext.nav.home">
+ <xsl:call-template name="gentext.element.name">
+ <xsl:with-param name="element.name">nav-home</xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="gentext.nav.up">
+ <xsl:call-template name="gentext.element.name">
+ <xsl:with-param name="element.name">nav-up</xsl:with-param>
+ </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="lang">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:param>
+
+ <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">
+ <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">
+ <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][1]"/>
+
+ <xsl:variable name="template.node"
+ select="$context.node/l:template[@name=$name][1]"/>
+
+ <xsl:if test="count($template.node) = 0
+ and count($local.template.node) = 0">
+ <xsl:message>
+ <xsl:text>No template named "</xsl:text>
+ <xsl:value-of select="$name"/>
+ <xsl:text>" 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:if>
+
+ <xsl:choose>
+ <xsl:when test="$local.template.node">
+ <xsl:value-of select="$local.template.node/@text"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$template.node/@text"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/common/labels.xsl b/lib/docbook/docbook-xsl/common/labels.xsl new file mode 100644 index 000000000..ed7a4fc79 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/labels.xsl @@ -0,0 +1,519 @@ +<?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'>
+
+<!-- ============================================================ -->
+<!-- label markup -->
+
+<doc:mode mode="label.markup" xmlns="">
+<refpurpose>Provides access to element labels</refpurpose>
+<refdescription>
+<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:message>
+ <xsl:text>Request for label of unexpected element: </xsl:text>
+ <xsl:value-of select="name(.)"/>
+ </xsl:message>
+</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="$part.autolabel != 0">
+ <xsl:number from="book" count="part" format="I"/>
+ </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="$preface.autolabel != 0">
+ <xsl:choose>
+ <xsl:when test="$label.from.part != 0 and ancestor::part">
+ <xsl:number from="part" count="preface" format="1" level="any"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:number from="book" count="preface" format="1" 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="$chapter.autolabel != 0">
+ <xsl:choose>
+ <xsl:when test="$label.from.part != 0 and ancestor::part">
+ <xsl:number from="part" count="chapter" format="1" level="any"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:number from="book" count="chapter" format="1" 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="$appendix.autolabel != 0">
+ <xsl:choose>
+ <xsl:when test="$label.from.part != 0 and ancestor::part">
+ <xsl:number from="part" count="appendix" format="A" level="any"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:number from="book|article"
+ count="appendix" format="A" 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="$part.autolabel != 0">
+ <xsl:number from="book" count="reference" format="I" level="any"/>
+ </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: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
+ or /article)
+ 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>
+ <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:number 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:if test="$section.label.includes.component.label != 0
+ and $parent.is.component">
+ <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="$section.autolabel != 0">
+ <xsl:number 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.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:number count="sect2"/>
+ </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: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:number count="refsect1"/>
+ </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:choose>
+ <xsl:when test="local-name(.) = 'refsect2'">
+ <xsl:number count="refsect2"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:number count="refsect3"/>
+ </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:number 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="@label">
+ <xsl:value-of select="$prefix"/>
+ <xsl:value-of select="@label"/>
+ </xsl:when>
+ <xsl:when test="$qandadiv.autolabel != 0">
+ <xsl:value-of select="$prefix"/>
+ <xsl:number level="multiple" count="qandadiv" format="1"/>
+ </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: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: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:text>. </xsl:text>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="bibliography|glossary|index" mode="label.markup">
+ <xsl:if test="@label">
+ <xsl:value-of select="@label"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="figure|table|example|equation|procedure"
+ mode="label.markup">
+ <xsl:variable name="pchap"
+ select="ancestor::chapter|ancestor::appendix"/>
+
+ <xsl:variable name="prefix">
+ <xsl:if test="count($pchap) > 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" 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="abstract" mode="label.markup">
+ <!-- nop -->
+</xsl:template>
+
+<!-- ============================================================ -->
+
+<xsl:template name="label.this.section">
+ <xsl:param name="section" select="."/>
+ <xsl:value-of select="$section.autolabel"/>
+</xsl:template>
+
+<doc:template name="label.this.section" xmlns="">
+<refpurpose>Returns true if $section should be labelled</refpurpose>
+<refdescription>
+<para>Returns true if the specified section should be labelled.
+By default, this template simply returns $section.autolabel, but
+custom stylesheets may override it to get more selective behavior.</para>
+</refdescription>
+</doc:template>
+
+<!-- ============================================================ -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/common/nl.xml b/lib/docbook/docbook-xsl/common/nl.xml new file mode 100644 index 000000000..d5c3b2aed --- /dev/null +++ b/lib/docbook/docbook-xsl/common/nl.xml @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="nl"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Samenvatting"/> + <l:gentext key="abstract" text="Samenvatting"/> + <l:gentext key="Answer" text="Antwoord:"/> + <l:gentext key="answer" text="Antwoord:"/> + <l:gentext key="Appendix" text="Aanhangsel"/> + <l:gentext key="appendix" text="aanhangsel"/> + <l:gentext key="Article" text="Artikel"/> + <l:gentext key="article" text="Artikel"/> + <l:gentext key="Bibliography" text="Literatuurlijst"/> + <l:gentext key="bibliography" text="Literatuurlijst"/> + <l:gentext key="Book" text="Boek"/> + <l:gentext key="book" text="Boek"/> + <l:gentext key="Caution" text="Let op"/> + <l:gentext key="caution" text="Let op"/> + <l:gentext key="CAUTION" text="LET OP"/> + <l:gentext key="Chapter" text="Hoofdstuk"/> + <l:gentext key="chapter" text="hoofdstuk"/> + <l:gentext key="Colophon" text="Colofon"/> + <l:gentext key="colophon" text="Colofon"/> + <l:gentext key="Copyright" text="Copyright"/> + <l:gentext key="copyright" text="Copyright"/> + <l:gentext key="Dedication" text="Opdracht"/> + <l:gentext key="dedication" text="Opdracht"/> + <l:gentext key="Edition" text="Uitgave"/> + <l:gentext key="edition" text="Uitgave"/> + <l:gentext key="Equation" text="Vergelijking"/> + <l:gentext key="equation" text="Vergelijking"/> + <l:gentext key="Example" text="Voorbeeld"/> + <l:gentext key="example" text="Voorbeeld"/> + <l:gentext key="Figure" text="Figuur"/> + <l:gentext key="figure" text="Figuur"/> + <l:gentext key="Glossary" text="Woordenlijst"/> + <l:gentext key="glossary" text="Woordenlijst"/> + <l:gentext key="GlossSee" text="Zie"/> + <l:gentext key="glosssee" text="Zie"/> + <l:gentext key="GlossSeeAlso" text="Zie ook"/> + <l:gentext key="glossseealso" text="Zie ook"/> + <l:gentext key="IMPORTANT" text="BELANGRIJK"/> + <l:gentext key="Important" text="Belangrijk"/> + <l:gentext key="important" text="Belangrijk"/> + <l:gentext key="Index" text="Register"/> + <l:gentext key="index" text="Register"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Bericht"/> + <l:gentext key="legalnotice" text="Bericht"/> + <l:gentext key="MsgAud" text="Doelgroep"/> + <l:gentext key="msgaud" text="Doelgroep"/> + <l:gentext key="MsgLevel" text="Niveau"/> + <l:gentext key="msglevel" text="Niveau"/> + <l:gentext key="MsgOrig" text="Herkomst"/> + <l:gentext key="msgorig" text="Herkomst"/> + <l:gentext key="note" text="Opmerking"/> + <l:gentext key="NOTE" text="OPMERKING"/> + <l:gentext key="Note" text="Opmerking"/> + <l:gentext key="Part" text="Deel"/> + <l:gentext key="part" text="Deel"/> + <l:gentext key="Preface" text="Voorwoord"/> + <l:gentext key="preface" text="Voorwoord"/> + <l:gentext key="Procedure" text="Procedure"/> + <l:gentext key="procedure" text="Procedure"/> + <l:gentext key="Published" text="Uitgegeven"/> + <l:gentext key="published" text="Uitgegeven"/> + <l:gentext key="Question" text="Vraag:"/> + <l:gentext key="question" text="Vraag:"/> + <l:gentext key="RefEntry" text="Referentielemma"/> + <l:gentext key="refentry" text="Referentielemma"/> + <l:gentext key="Reference" text="Referentie"/> + <l:gentext key="reference" text="Referentie"/> + <l:gentext key="RefName" text="Referentienaam"/> + <l:gentext key="refname" text="Referentienaam"/> + <l:gentext key="RefSection" text="Referentieparagraaf"/> + <l:gentext key="refsection" text="Referentieparagraaf"/> + <l:gentext key="RefSynopsisDiv" text="Referentiesamenvatting"/> + <l:gentext key="refsynopsisdiv" text="Referentiesamenvatting"/> + <l:gentext key="RevHistory" text="Wijzigingen"/> + <l:gentext key="revhistory" text="Wijzigingen"/> + <l:gentext key="Revision" text="Herziening"/> + <l:gentext key="revision" text="Herziening"/> + <l:gentext key="Section" text="Paragraaf"/> + <l:gentext key="section" text="paragraaf"/> + <l:gentext key="see" text="Zie"/> + <l:gentext key="See" text="Zie"/> + <l:gentext key="Seealso" text="Zie ook"/> + <l:gentext key="seealso" text="Zie ook"/> + <l:gentext key="SeeAlso" text="Zie ook"/> + <l:gentext key="set" text="Verzameling"/> + <l:gentext key="Set" text="Verzameling"/> + <l:gentext key="SetIndex" text="Hoofdregister"/> + <l:gentext key="setindex" text="Hoofdregister"/> + <l:gentext key="Sidebar" text="Excursie"/> + <l:gentext key="sidebar" text="excursie"/> + <l:gentext key="step" text="stap"/> + <l:gentext key="Step" text="Stap"/> + <l:gentext key="table" text="Tabel"/> + <l:gentext key="Table" text="Tabel"/> + <l:gentext key="TIP" text="TIP"/> + <l:gentext key="Tip" text="Tip"/> + <l:gentext key="tip" text="Tip"/> + <l:gentext key="WARNING" text="WAARSCHUWING"/> + <l:gentext key="Warning" text="Waarschuwing"/> + <l:gentext key="warning" text="Waarschuwing"/> + <l:gentext key="and" text="en"/> + <l:gentext key="by" text="door"/> + <l:gentext key="Edited" text="Redactie"/> + <l:gentext key="edited" text="Redactie"/> + <l:gentext key="Editedby" text="Redactie door"/> + <l:gentext key="editedby" text="Redactie door"/> + <l:gentext key="in" text="in"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="niet bestaand element"/> + <l:gentext key="notes" text="Noten"/> + <l:gentext key="Notes" text="Noten"/> + <l:gentext key="Pgs" text="blz."/> + <l:gentext key="pgs" text="blz."/> + <l:gentext key="Revisedby" text="Herzien door: "/> + <l:gentext key="revisedby" text="Herzien door: "/> + <l:gentext key="TableNotes" text="Opmerkingen"/> + <l:gentext key="tablenotes" text="Opmerkingen"/> + <l:gentext key="TableofContents" text="Inhoudsopgave"/> + <l:gentext key="tableofcontents" text="Inhoudsopgave"/> + <l:gentext key="unexpectedelementname" text="ONVERWACHT-ELEMENT"/> + <l:gentext key="unsupported" text="niet ondersteund"/> + <l:gentext key="xrefto" text="verwijzing naar"/> + <l:gentext key="listofequations" text="Lijst van vergelijkingen"/> + <l:gentext key="ListofEquations" text="Lijst van vergelijkingen"/> + <l:gentext key="ListofExamples" text="Lijst van voorbeelden"/> + <l:gentext key="listofexamples" text="Lijst van voorbeelden"/> + <l:gentext key="ListofFigures" text="Lijst van figuren"/> + <l:gentext key="listoffigures" text="Lijst van figuren"/> + <l:gentext key="listoftables" text="Lijst van tabellen"/> + <l:gentext key="ListofTables" text="Lijst van tabellen"/> + <l:gentext key="ListofUnknown" text="Lijst van ???"/> + <l:gentext key="listofunknown" text="Lijst van ???"/> + <l:gentext key="nav-home" text="Begin"/> + <l:gentext key="nav-next" text="Volgende"/> + <l:gentext key="nav-next-sibling" text="Verder vooruit"/> + <l:gentext key="nav-prev" text="Terug"/> + <l:gentext key="nav-prev-sibling" text="Verder terug"/> + <l:gentext key="nav-up" text="Omhoog"/> + <l:gentext key="sectioncalled" text="de sectie genaamd"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Aanhangsel %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="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="Hoofdstuk %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Vergelijking %n. %t"/> + <l:template name="example" text="Voorbeeld %n. %t"/> + <l:template name="figure" text="Figuur %n. %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="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="Deel %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabel %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Aanhangsel %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Hoofdstuk %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Voorbeeld %n. %t"/> + <l:template name="figure" text="Figuur %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Deel %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabel %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <l:template name="sect1" text="de sectie genaamd “%t”"/> + <l:template name="sect2" text="de sectie genaamd “%t”"/> + <l:template name="sect3" text="de sectie genaamd “%t”"/> + <l:template name="sect4" text="de sectie genaamd “%t”"/> + <l:template name="sect5" text="de sectie genaamd “%t”"/> + <l:template name="section" text="de sectie genaamd “%t”"/> + <l:template name="simplesect" text="de sectie genaamd “%t”"/> + </l:context> + + <l:context name="section-xref-numbered"> + <l:template name="sect1" text="Paragraaf %n"/> + <l:template name="sect2" text="Paragraaf %n"/> + <l:template name="sect3" text="Paragraaf %n"/> + <l:template name="sect4" text="Paragraaf %n"/> + <l:template name="sect5" text="Paragraaf %n"/> + <l:template name="section" text="Paragraaf %n"/> + <l:template name="simplesect" text="de sectie genaamd “%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" en "/> + <l:template name="seplast" text=", en "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Zie "/> + <l:template name="seealso" text="Zie ook "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Doelgroep: "/> + <l:template name="MsgLevel" text="Niveau: "/> + <l:template name="MsgOrig" text="Herkomst: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/no.xml b/lib/docbook/docbook-xsl/common/no.xml new file mode 100644 index 000000000..0e82603e2 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/no.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="no"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="Tillegg"/> + <l:gentext key="appendix" text="Tillegg"/> + <l:gentext key="Article" text=""/> + <l:gentext key="article" text=""/> + <l:gentext key="Bibliography" text="Bibliografi"/> + <l:gentext key="bibliography" text="Bibliografi"/> + <l:gentext key="Book" text=""/> + <l:gentext key="book" text=""/> + <l:gentext key="Caution" text="Obs"/> + <l:gentext key="caution" text="Obs"/> + <l:gentext key="CAUTION" text="OBS"/> + <l:gentext key="Chapter" text="Kapittel"/> + <l:gentext key="chapter" text="Kapittel"/> + <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="Dedikasjon"/> + <l:gentext key="dedication" text="Dedikasjon"/> + <l:gentext key="Edition" text=""/> + <l:gentext key="edition" text=""/> + <l:gentext key="Equation" text="Formel"/> + <l:gentext key="equation" text="Formel"/> + <l:gentext key="Example" text="Eksempel"/> + <l:gentext key="example" text="Eksempel"/> + <l:gentext key="Figure" text="Figur"/> + <l:gentext key="figure" text="Figur"/> + <l:gentext key="Glossary" text="Ordliste"/> + <l:gentext key="glossary" text="Ordliste"/> + <l:gentext key="GlossSee" text="Se"/> + <l:gentext key="glosssee" text="Se"/> + <l:gentext key="GlossSeeAlso" text="Se Også"/> + <l:gentext key="glossseealso" text="Se Også"/> + <l:gentext key="IMPORTANT" text="VIKTIG"/> + <l:gentext key="Important" text="Viktig"/> + <l:gentext key="important" text="Viktig"/> + <l:gentext key="Index" text="Indeks"/> + <l:gentext key="index" text="Indeks"/> + <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="Publikum"/> + <l:gentext key="msgaud" text="Publikum"/> + <l:gentext key="MsgLevel" text="Nivå"/> + <l:gentext key="msglevel" text="Nivå"/> + <l:gentext key="MsgOrig" text="Opphav"/> + <l:gentext key="msgorig" text="Opphav"/> + <l:gentext key="note" text="Notat"/> + <l:gentext key="NOTE" text="NOTAT"/> + <l:gentext key="Note" text="Notat"/> + <l:gentext key="Part" text="Del"/> + <l:gentext key="part" text="Del"/> + <l:gentext key="Preface" text="Forord"/> + <l:gentext key="preface" text="Forord"/> + <l:gentext key="Procedure" text="Prosedyre"/> + <l:gentext key="procedure" text="Prosedyre"/> + <l:gentext key="Published" text=""/> + <l:gentext key="published" text=""/> + <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="Referanse"/> + <l:gentext key="reference" text="Referanse"/> + <l:gentext key="RefName" text="Navn"/> + <l:gentext key="refname" text="Navn"/> + <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="Revisjonshistorie"/> + <l:gentext key="revhistory" text="Revisjonshistorie"/> + <l:gentext key="Revision" text="Revisjon"/> + <l:gentext key="revision" text="Revisjon"/> + <l:gentext key="Section" text="Seksjon"/> + <l:gentext key="section" text="seksjon"/> + <l:gentext key="see" text="Se"/> + <l:gentext key="See" text="Se"/> + <l:gentext key="SeeAlso" text="Se Også"/> + <l:gentext key="Seealso" text="Se også"/> + <l:gentext key="seealso" text="Se Også"/> + <l:gentext key="set" text=""/> + <l:gentext key="Set" text=""/> + <l:gentext key="SetIndex" text="Indeks"/> + <l:gentext key="setindex" text="Indeks"/> + <l:gentext key="sidebar" text=""/> + <l:gentext key="Sidebar" text=""/> + <l:gentext key="step" text="steg"/> + <l:gentext key="Step" text="Steg"/> + <l:gentext key="Table" text="Tabell"/> + <l:gentext key="table" text="Tabell"/> + <l:gentext key="tip" text="Tips"/> + <l:gentext key="TIP" text="TIPS"/> + <l:gentext key="Tip" text="Tips"/> + <l:gentext key="warning" text="Advarsel"/> + <l:gentext key="WARNING" text="ADVARSEL"/> + <l:gentext key="Warning" text="Advarsel"/> + <l:gentext key="and" text="og"/> + <l:gentext key="by" text="av"/> + <l:gentext key="Edited" text="Redigert"/> + <l:gentext key="edited" text="Redigert"/> + <l:gentext key="Editedby" text="Redigert av"/> + <l:gentext key="editedby" text="Redigert av"/> + <l:gentext key="in" text="i"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="ikke-eksisterende element"/> + <l:gentext key="notes" text="Sluttnotater"/> + <l:gentext key="Notes" text="Sluttnotater"/> + <l:gentext key="Pgs" text="Sdr."/> + <l:gentext key="pgs" text="Sdr."/> + <l:gentext key="Revisedby" text="Revised by: "/> + <l:gentext key="revisedby" text="Revised by: "/> + <l:gentext key="TableNotes" text="Notater"/> + <l:gentext key="tablenotes" text="Notater"/> + <l:gentext key="TableofContents" text="Innholdsfortegnelse"/> + <l:gentext key="tableofcontents" text="Innholdsfortegnelse"/> + <l:gentext key="unexpectedelementname" text="UVENTET-ELEMENTNAVN"/> + <l:gentext key="unsupported" text="ikke støttet"/> + <l:gentext key="xrefto" text="xref til"/> + <l:gentext key="listofequations" text="Formeloversikt"/> + <l:gentext key="ListofEquations" text="Formeloversikt"/> + <l:gentext key="ListofExamples" text="Eksempeloversikt"/> + <l:gentext key="listofexamples" text="Eksempeloversikt"/> + <l:gentext key="ListofFigures" text="Figuroversikt"/> + <l:gentext key="listoffigures" text="Figuroversikt"/> + <l:gentext key="listoftables" text="Tabelloversikt"/> + <l:gentext key="ListofTables" text="Tabelloversikt"/> + <l:gentext key="ListofUnknown" text="???-oversikt"/> + <l:gentext key="listofunknown" text="???-oversikt"/> + <l:gentext key="nav-home" text="Hjem"/> + <l:gentext key="nav-next" text="Neste"/> + <l:gentext key="nav-next-sibling" text="Raskt Fremover"/> + <l:gentext key="nav-prev" text="Forrige"/> + <l:gentext key="nav-prev-sibling" text="Raskt Bakover"/> + <l:gentext key="nav-up" text="Opp"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Tillegg %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="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="Kapittel %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Formel %n. %t"/> + <l:template name="example" text="Eksempel %n. %t"/> + <l:template name="figure" text="Figur %n. %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="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="Del %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabell %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Tillegg %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Kapittel %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Eksempel %n. %t"/> + <l:template name="figure" text="Figur %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Del %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabell %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Seksjon %n"/> + <l:template name="sect2" text="Seksjon %n"/> + <l:template name="sect3" text="Seksjon %n"/> + <l:template name="sect4" text="Seksjon %n"/> + <l:template name="sect5" text="Seksjon %n"/> + <l:template name="section" text="Seksjon %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" og "/> + <l:template name="seplast" text=", og "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Se "/> + <l:template name="seealso" text="Se Også "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Publikum: "/> + <l:template name="MsgLevel" text="Nivå: "/> + <l:template name="MsgOrig" text="Opphav: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/pl.xml b/lib/docbook/docbook-xsl/common/pl.xml new file mode 100644 index 000000000..75ef59e58 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/pl.xml @@ -0,0 +1,325 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="pl"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Abstrakt"/> + <l:gentext key="abstract" text="Abstrakt"/> + <l:gentext key="Answer" text="Odp:"/> + <l:gentext key="Appendix" text="Dodatek"/> + <l:gentext key="appendix" text="dodatek"/> + <l:gentext key="Article" text="Artykuł"/> + <l:gentext key="article" text="Artykuł"/> + <l:gentext key="Bibliography" text="Bibliografia"/> + <l:gentext key="bibliography" text="Bibliografia"/> + <l:gentext key="Book" text="Książka"/> + <l:gentext key="book" text="Książka"/> + <l:gentext key="CAUTION" text="PRZYPADEK"/> + <l:gentext key="Caution" text="Uwaga!"/> + <l:gentext key="caution" text="Uwaga!"/> + <l:gentext key="Chapter" text="Rozdział"/> + <l:gentext key="chapter" text="rozdział;"/> + <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="Dedykacja"/> + <l:gentext key="dedication" text="Dedykacja"/> + <l:gentext key="Edition" text="Wydanie"/> + <l:gentext key="edition" text="Wydanie"/> + <l:gentext key="Equation" text="Równanie"/> + <l:gentext key="equation" text="Równanie"/> + <l:gentext key="Example" text="Przykład"/> + <l:gentext key="example" text="Przykład"/> + <l:gentext key="Figure" text="Rysunek"/> + <l:gentext key="figure" text="Rysunek"/> + <l:gentext key="Glossary" text="Glossary"/> + <l:gentext key="glossary" text="Glossary"/> + <l:gentext key="GlossSee" text="Patrz"/> + <l:gentext key="glosssee" text="Patrz"/> + <l:gentext key="GlossSeeAlso" text="Patrz też"/> + <l:gentext key="glossseealso" text="Patrz też"/> + <l:gentext key="Important" text="WAŻNE"/> + <l:gentext key="important" text="WAŻNE"/> + <l:gentext key="Index" text="Indeks"/> + <l:gentext key="index" text="Indeks"/> + <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="Odbiorcy"/> + <l:gentext key="msgaud" text="Odbiorcy"/> + <l:gentext key="MsgLevel" text="Poziom"/> + <l:gentext key="msglevel" text="Poziom"/> + <l:gentext key="MsgOrig" text="Nadawca"/> + <l:gentext key="msgorig" text="Nadawca"/> + <l:gentext key="Note" text="Notatka"/> + <l:gentext key="note" text="Notatka"/> + <l:gentext key="Part" text="Część"/> + <l:gentext key="part" text="Część"/> + <l:gentext key="Preface" text="Przedmowa"/> + <l:gentext key="preface" text="Przedmowa"/> + <l:gentext key="Procedure" text="Procedura"/> + <l:gentext key="procedure" text="Procedura"/> + <l:gentext key="Published" text="Data wydania"/> + <l:gentext key="published" text="Data wydania"/> + <l:gentext key="Question" text="Pyt:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Materiały źródłowe"/> + <l:gentext key="reference" text="Materiały źródłowe"/> + <l:gentext key="RefName" text="Nazwa"/> + <l:gentext key="refname" text="Nazwa"/> + <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="Historia zmian"/> + <l:gentext key="revhistory" text="Historia zmian"/> + <l:gentext key="Revision" text="Zmiana"/> + <l:gentext key="revision" text="Zmiana"/> + <l:gentext key="Section" text="Sekcja"/> + <l:gentext key="section" text="sekcja"/> + <l:gentext key="See" text="Patrz"/> + <l:gentext key="see" text="Patrz"/> + <l:gentext key="SeeAlso" text="Patrz też"/> + <l:gentext key="Seealso" text="Patrz też"/> + <l:gentext key="seealso" text="Patrz też"/> + <l:gentext key="Set" text="Set"/> + <l:gentext key="set" text="Set"/> + <l:gentext key="SetIndex" text="Indeks"/> + <l:gentext key="setindex" text="Indeks"/> + <l:gentext key="Sidebar" text=""/> + <l:gentext key="sidebar" text=""/> + <l:gentext key="Step" text="krok"/> + <l:gentext key="step" text="krok"/> + <l:gentext key="Table" text="Tabela"/> + <l:gentext key="table" text="Tabela"/> + <l:gentext key="Tip" text="Podpowiedź"/> + <l:gentext key="tip" text="Podpowiedź"/> + <l:gentext key="Warning" text="Ostrze¿enie"/> + <l:gentext key="warning" text="Ostrze¿enie"/> + <l:gentext key="and" text="i"/> + <l:gentext key="by" text=""/> + <l:gentext key="Editedby" text="Redakcja: "/> + <l:gentext key="editedby" text="Redakcja: "/> + <l:gentext key="in" text="w"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="nie istniejący element"/> + <l:gentext key="notes" text="Przypisy"/> + <l:gentext key="Notes" text="Przypisy"/> + <l:gentext key="Pgs" text="stron"/> + <l:gentext key="pgs" text="stron"/> + <l:gentext key="Revisedby" text="Revised by: "/> + <l:gentext key="revisedby" text="Revised by: "/> + <l:gentext key="TableNotes" text="Przypisy"/> + <l:gentext key="tablenotes" text="Przypisy"/> + <l:gentext key="TableofContents" text="Spis treści"/> + <l:gentext key="tableofcontents" text="Spis treści"/> + <l:gentext key="unexpectedelementname" text="Unexpected element name"/> + <l:gentext key="unsupported" text="nie wspierany"/> + <l:gentext key="xrefto" text="xref to"/> + <l:gentext key="listofequations" text="Spis równań"/> + <l:gentext key="ListofEquations" text="Spis równań"/> + <l:gentext key="ListofExamples" text="Spis przykładów"/> + <l:gentext key="listofexamples" text="Spis przykładów"/> + <l:gentext key="ListofFigures" text="Spis rysunków"/> + <l:gentext key="listoffigures" text="Spis rysunków"/> + <l:gentext key="listoftables" text="Spis tabel"/> + <l:gentext key="ListofTables" text="Spis tabel"/> + <l:gentext key="ListofUnknown" text="Spis ???"/> + <l:gentext key="listofunknown" text="Spis ???"/> + <l:gentext key="nav-home" text="Spis treści"/> + <l:gentext key="nav-next" text="Nastêpny"/> + <l:gentext key="nav-next-sibling" text="Następny rozdział"/> + <l:gentext key="nav-prev" text="Poprzedni"/> + <l:gentext key="nav-prev-sibling" text="Poprzedni rozdział"/> + <l:gentext key="nav-up" text="Początek rozdziału"/> + <l:dingbat key="startquote" text="„"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="«"/> + <l:dingbat key="nestedendquote" text="»"/> + <l:dingbat key="bullet" text="ߦ"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Dodatek %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="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="Rozdział %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Równanie %n. %t"/> + <l:template name="example" text="Przykład %n. %t"/> + <l:template name="figure" text="Rysunek %n. %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="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="Część %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabela %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Dodatek %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Rozdział %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Przykład %n. %t"/> + <l:template name="figure" text="Rysunek %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Część %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabela %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Sekcja %n"/> + <l:template name="sect2" text="Sekcja %n"/> + <l:template name="sect3" text="Sekcja %n"/> + <l:template name="sect4" text="Sekcja %n"/> + <l:template name="sect5" text="Sekcja %n"/> + <l:template name="section" text="Sekcja %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" i "/> + <l:template name="seplast" text=", i "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Patrz "/> + <l:template name="seealso" text="Patrz też "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Odbiorcy: "/> + <l:template name="MsgLevel" text="Poziom: "/> + <l:template name="MsgOrig" text="Nadawca: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/pt.xml b/lib/docbook/docbook-xsl/common/pt.xml new file mode 100644 index 000000000..07c989bd0 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/pt.xml @@ -0,0 +1,336 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="pt"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Resumo"/> + <l:gentext key="abstract" text="Resumo"/> + <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="Artigo"/> + <l:gentext key="article" text="Artigo"/> + <l:gentext key="Bibliography" text="Bibliografia"/> + <l:gentext key="bibliography" text="Bibliografia"/> + <l:gentext key="Book" text="Livro"/> + <l:gentext key="book" text="Livro"/> + <l:gentext key="Caution" text="Cautela"/> + <l:gentext key="caution" text="Cautela"/> + <l:gentext key="CAUTION" text="CAUTELA"/> + <l:gentext key="Chapter" text="Capítulo"/> + <l:gentext key="chapter" text="capítulo"/> + <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="Dedicatória"/> + <l:gentext key="dedication" text="Dedicatória"/> + <l:gentext key="Edition" text="Edição"/> + <l:gentext key="edition" text="Edição"/> + <l:gentext key="Equation" text="Equação"/> + <l:gentext key="equation" text="Equação"/> + <l:gentext key="Example" text="Exemplo"/> + <l:gentext key="example" text="Exemplo"/> + <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="Ver"/> + <l:gentext key="glosssee" text="Ver"/> + <l:gentext key="GlossSeeAlso" text="Ver Também"/> + <l:gentext key="glossseealso" text="Ver Também"/> + <l:gentext key="IMPORTANT" text="IMPORTANTE"/> + <l:gentext key="Important" text="Importante"/> + <l:gentext key="important" text="Importante"/> + <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=""/> + <l:gentext key="legalnotice" text=""/> + <l:gentext key="MsgAud" text="Audiência"/> + <l:gentext key="msgaud" text="Audiência"/> + <l:gentext key="MsgLevel" text="Nível"/> + <l:gentext key="msglevel" text="Nível"/> + <l:gentext key="MsgOrig" text="Origem"/> + <l:gentext key="msgorig" text="Origem"/> + <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="Prefácio"/> + <l:gentext key="preface" text="Prefácio"/> + <l:gentext key="Procedure" text="Procedimento"/> + <l:gentext key="procedure" text="Procedimento"/> + <l:gentext key="PubDate" text="Editado"/> + <l:gentext key="pubdate" text="Editado"/> + <l:gentext key="Published" text="Publicado"/> + <l:gentext key="published" text="Publicado"/> + <l:gentext key="Question" text="P:"/> + <l:gentext key="question" text="P:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Referência"/> + <l:gentext key="reference" text="Referência"/> + <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="Synopsis"/> + <l:gentext key="refsynopsisdiv" text="Synopsis"/> + <l:gentext key="RevHistory" text="Hitorial de Revisões"/> + <l:gentext key="revhistory" text="Hitorial de Revisões"/> + <l:gentext key="Revision" text="Revisão"/> + <l:gentext key="revision" text="Revisão"/> + <l:gentext key="Section" text="Secção"/> + <l:gentext key="section" text="secção"/> + <l:gentext key="see" text="Ver"/> + <l:gentext key="See" text="Ver"/> + <l:gentext key="seealso" text="Ver Também"/> + <l:gentext key="SeeAlso" text="Ver Também"/> + <l:gentext key="Seealso" text="ver também"/> + <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="Sidebar"/> + <l:gentext key="sidebar" text="sidebar"/> + <l:gentext key="step" text="passo"/> + <l:gentext key="Step" text="Passo"/> + <l:gentext key="Table" text="Tabela"/> + <l:gentext key="table" text="Tabela"/> + <l:gentext key="TIP" text="DICA"/> + <l:gentext key="Tip" text="Dica"/> + <l:gentext key="tip" text="Dica"/> + <l:gentext key="WARNING" text="ATENÇÃO"/> + <l:gentext key="warning" text="Atenção"/> + <l:gentext key="Warning" text="Atenção"/> + <l:gentext key="and" text="e"/> + <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=""/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="non-existant element"/> + <l:gentext key="notes" text="Notas"/> + <l:gentext key="Notes" text="Notas"/> + <l:gentext key="Pgs" text="Páginas"/> + <l:gentext key="pgs" text="Páginas"/> + <l:gentext key="Revisedby" text="Revised by: "/> + <l:gentext key="revisedby" text="Revised by: "/> + <l:gentext key="TableNotes" text="Notas"/> + <l:gentext key="tablenotes" text="Notas"/> + <l:gentext key="TableofContents" text="Índice"/> + <l:gentext key="tableofcontents" text="Índice"/> + <l:gentext key="unexpectedelementname" text="Unexpected element name"/> + <l:gentext key="unsupported" text="unsupported"/> + <l:gentext key="xrefto" text="xref to"/> + <l:gentext key="listofequations" text="Lista de Equações"/> + <l:gentext key="ListofEquations" text="Lista de Equações"/> + <l:gentext key="ListofExamples" text="Lista de Exemplos"/> + <l:gentext key="listofexamples" text="Lista de Exemplos"/> + <l:gentext key="ListofFigures" text="Lista de Figuras"/> + <l:gentext key="listoffigures" text="Lista de Figuras"/> + <l:gentext key="listoftables" text="Lista de Tabelas"/> + <l:gentext key="ListofTables" text="Lista de Tabelas"/> + <l:gentext key="ListofUnknown" text="List of ???"/> + <l:gentext key="listofunknown" text="List of ???"/> + <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:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="Equação %n. %t"/> + <l:template name="example" text="Exemplo %n. %t"/> + <l:template name="figure" text="Figura %n. %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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="question" text="Pergunta %n"/> + <l:template name="reference" 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="Tabela %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Apêndice %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" 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="example" text="Exemplo %n. %t"/> + <l:template name="figure" text="Figura %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Parte %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabela %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Secção %n"/> + <l:template name="sect2" text="Secção %n"/> + <l:template name="sect3" text="Secção %n"/> + <l:template name="sect4" text="Secção %n"/> + <l:template name="sect5" text="Secção %n"/> + <l:template name="section" text="Secção %n"/> + <l:template name="simplesect" text="“%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="Ver "/> + <l:template name="seealso" text="Ver Também "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Audiência: "/> + <l:template name="MsgLevel" text="Nível: "/> + <l:template name="MsgOrig" text="Origem: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/pt_br.xml b/lib/docbook/docbook-xsl/common/pt_br.xml new file mode 100644 index 000000000..6120ea5c5 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/pt_br.xml @@ -0,0 +1,335 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="pt_br"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Resumo"/> + <l:gentext key="abstract" text="Resumo"/> + <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="Artigo"/> + <l:gentext key="article" text="Artigo"/> + <l:gentext key="Bibliography" text="Bibliografia"/> + <l:gentext key="bibliography" text="Bibliografia"/> + <l:gentext key="Book" text="Livro"/> + <l:gentext key="book" text="Livro"/> + <l:gentext key="Caution" text="Cuidado"/> + <l:gentext key="caution" text="Cuidado"/> + <l:gentext key="CAUTION" text="CUIDADO"/> + <l:gentext key="Chapter" text="Capítulo"/> + <l:gentext key="chapter" text="capítulo"/> + <l:gentext key="Colophon" text="Considerações finais"/> + <l:gentext key="colophon" text="Considerações finais"/> + <l:gentext key="Copyright" text="Copyright"/> + <l:gentext key="copyright" text="Copyright"/> + <l:gentext key="Dedication" text="Dedicatória"/> + <l:gentext key="dedication" text="Dedicatória"/> + <l:gentext key="Edition" text="Edição"/> + <l:gentext key="edition" text="Edição"/> + <l:gentext key="Equation" text="Equação"/> + <l:gentext key="equation" text="Equação"/> + <l:gentext key="Example" text="Exemplo"/> + <l:gentext key="example" text="Exemplo"/> + <l:gentext key="Figure" text="Figura"/> + <l:gentext key="figure" text="Figura"/> + <l:gentext key="Glossary" text="Glossário"/> + <l:gentext key="glossary" text="Glossário"/> + <l:gentext key="GlossSee" text="Ver"/> + <l:gentext key="glosssee" text="Ver"/> + <l:gentext key="GlossSeeAlso" text="Ver Também"/> + <l:gentext key="glossseealso" text="Ver Também"/> + <l:gentext key="IMPORTANT" text="IMPORTANTE"/> + <l:gentext key="Important" text="Importante"/> + <l:gentext key="important" text="Importante"/> + <l:gentext key="Index" text="Índice Remissivo"/> + <l:gentext key="index" text="Índice Remissivo"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Nota Legal"/> + <l:gentext key="legalnotice" text="Nota Legal"/> + <l:gentext key="MsgAud" text="Audiência"/> + <l:gentext key="msgaud" text="Audiência"/> + <l:gentext key="MsgLevel" text="Nível"/> + <l:gentext key="msglevel" text="Nível"/> + <l:gentext key="MsgOrig" text="Origem"/> + <l:gentext key="msgorig" text="Origem"/> + <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="Prefácio"/> + <l:gentext key="preface" text="Prefácio"/> + <l:gentext key="Procedure" text="Procedimento"/> + <l:gentext key="procedure" text="Procedimento"/> + <l:gentext key="PubDate" text="Data de Publicação"/> + <l:gentext key="pubdate" text="Data de Publicação"/> + <l:gentext key="Published" text="Publicado"/> + <l:gentext key="published" text="Publicado"/> + <l:gentext key="Question" text="P:"/> + <l:gentext key="question" text="P:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Referência"/> + <l:gentext key="reference" text="Referência"/> + <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="Sinopse"/> + <l:gentext key="refsynopsisdiv" text="Sinopse"/> + <l:gentext key="RevHistory" text="Histórico de Revisões"/> + <l:gentext key="revhistory" text="Histórico de Revisões"/> + <l:gentext key="Revision" text="Revisão"/> + <l:gentext key="revision" text="Revisão"/> + <l:gentext key="Section" text="Seção"/> + <l:gentext key="section" text="seção"/> + <l:gentext key="see" text="Ver"/> + <l:gentext key="See" text="Ver"/> + <l:gentext key="seealso" text="Ver Também"/> + <l:gentext key="SeeAlso" text="Ver Também"/> + <l:gentext key="Seealso" text="ver também"/> + <l:gentext key="Set" text="Conjunto"/> + <l:gentext key="set" text="Conjunto"/> + <l:gentext key="SetIndex" text="Índice do Conjunto"/> + <l:gentext key="setindex" text="Índice do Conjunto"/> + <l:gentext key="Sidebar" text="Quadro Lateral"/> + <l:gentext key="sidebar" text="quadro lateral"/> + <l:gentext key="step" text="passo"/> + <l:gentext key="Step" text="Passo"/> + <l:gentext key="Table" text="Tabela"/> + <l:gentext key="table" text="Tabela"/> + <l:gentext key="TIP" text="DICA"/> + <l:gentext key="Tip" text="Dica"/> + <l:gentext key="tip" text="Dica"/> + <l:gentext key="WARNING" text="ATENÇÃO"/> + <l:gentext key="warning" text="Atenção"/> + <l:gentext key="Warning" text="Atenção"/> + <l:gentext key="and" text="e"/> + <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=""/> + <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áginas"/> + <l:gentext key="pgs" text="Páginas"/> + <l:gentext key="Revisedby" text="Revisado por: "/> + <l:gentext key="revisedby" text="Revisado por: "/> + <l:gentext key="tablenotes" text="Notas"/> + <l:gentext key="TableNotes" text="Notas"/> + <l:gentext key="TableofContents" text="Índice"/> + <l:gentext key="tableofcontents" text="Índice"/> + <l:gentext key="unexpectedelementname" text="Nome de elemento inesperado"/> + <l:gentext key="unsupported" text="não suportado"/> + <l:gentext key="xrefto" text="referência para"/> + <l:gentext key="listofequations" text="Lista de Equações"/> + <l:gentext key="ListofEquations" text="Lista de Equações"/> + <l:gentext key="ListofExamples" text="Lista de Exemplos"/> + <l:gentext key="listofexamples" text="Lista de Exemplos"/> + <l:gentext key="ListofFigures" text="Lista de Figuras"/> + <l:gentext key="listoffigures" text="Lista de Figuras"/> + <l:gentext key="listoftables" text="Lista de Tabelas"/> + <l:gentext key="ListofTables" text="Lista de Tabelas"/> + <l:gentext key="ListofUnknown" text="Lista de ???"/> + <l:gentext key="listofunknown" text="Lista de ???"/> + <l:gentext key="nav-home" text="Principal"/> + <l:gentext key="nav-next" text="Próxima"/> + <l:gentext key="nav-next-sibling" text="Fim"/> + <l:gentext key="nav-prev" text="Anterior"/> + <l:gentext key="nav-prev-sibling" text="Início"/> + <l:gentext key="nav-up" text="Acima"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="Equação %n. %t"/> + <l:template name="example" text="Exemplo %n. %t"/> + <l:template name="figure" text="Figura %n. %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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabela %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Apêndice %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" 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="example" text="Exemplo %n. %t"/> + <l:template name="figure" text="Figura %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Parte %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabela %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Seção %n"/> + <l:template name="sect2" text="Seção %n"/> + <l:template name="sect3" text="Seção %n"/> + <l:template name="sect4" text="Seção %n"/> + <l:template name="sect5" text="Seção %n"/> + <l:template name="section" text="Seção %n"/> + <l:template name="simplesect" text="“%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="Ver "/> + <l:template name="seealso" text="Ver Também "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Audiência: "/> + <l:template name="MsgLevel" text="Nível: "/> + <l:template name="MsgOrig" text="Origem: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/ro.xml b/lib/docbook/docbook-xsl/common/ro.xml new file mode 100644 index 000000000..afe8d1e31 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/ro.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="ro"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Rezumat"/> + <l:gentext key="abstract" text="Rezumat"/> + <l:gentext key="Answer" text="A:"/> + <l:gentext key="answer" text="A:"/> + <l:gentext key="Appendix" text="Anexa"/> + <l:gentext key="appendix" text="anexa"/> + <l:gentext key="Article" text="Articol"/> + <l:gentext key="article" text="Articol"/> + <l:gentext key="Bibliography" text="Bibliografie"/> + <l:gentext key="bibliography" text="Bibliografie"/> + <l:gentext key="Book" text="Carte"/> + <l:gentext key="book" text="Carte"/> + <l:gentext key="CAUTION" text="ATENÞIE"/> + <l:gentext key="caution" text="Atenþie"/> + <l:gentext key="Caution" text="Atenþie"/> + <l:gentext key="Chapter" text="Cap."/> + <l:gentext key="chapter" text="cap."/> + <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þie"/> + <l:gentext key="dedication" text="Dedicaþie"/> + <l:gentext key="Edition" text="Ediþie"/> + <l:gentext key="edition" text="Ediþie"/> + <l:gentext key="Equation" text="ecuaþia"/> + <l:gentext key="equation" text="ecuaþia"/> + <l:gentext key="Example" text="Exemplu"/> + <l:gentext key="example" text="Exemplu"/> + <l:gentext key="Figure" text="Fig."/> + <l:gentext key="figure" text="Fig."/> + <l:gentext key="Glossary" text="Glosar"/> + <l:gentext key="glossary" text="Glosar"/> + <l:gentext key="GlossSee" text="Vezi"/> + <l:gentext key="glosssee" text="Vezi"/> + <l:gentext key="GlossSeeAlso" text="Vezi şi"/> + <l:gentext key="glossseealso" text="Vezi şi"/> + <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=""/> + <l:gentext key="legalnotice" text=""/> + <l:gentext key="MsgAud" text=""/> + <l:gentext key="msgaud" text=""/> + <l:gentext key="MsgLevel" text="Nivel"/> + <l:gentext key="msglevel" text="Nivel"/> + <l:gentext key="MsgOrig" text="Origine"/> + <l:gentext key="msgorig" text="Origine"/> + <l:gentext key="NOTE" text="NOTÃ"/> + <l:gentext key="note" text="Notã"/> + <l:gentext key="Note" text="Notã"/> + <l:gentext key="Part" text="Parte"/> + <l:gentext key="part" text="Parte"/> + <l:gentext key="Preface" text="Prefaþã"/> + <l:gentext key="preface" text="Prefaþã"/> + <l:gentext key="Procedure" text="Procedurã"/> + <l:gentext key="procedure" text="Procedurã"/> + <l:gentext key="Published" text="Publicat"/> + <l:gentext key="published" text="Publicat"/> + <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="Referinþã"/> + <l:gentext key="reference" text="Referinþã"/> + <l:gentext key="refname" text="Nume"/> + <l:gentext key="RefName" text="Nume"/> + <l:gentext key="RefSection" text=""/> + <l:gentext key="refsection" text=""/> + <l:gentext key="RefSynopsisDiv" text="Rezumat"/> + <l:gentext key="refsynopsisdiv" text="Rezumat"/> + <l:gentext key="RevHistory" text="Istoricul versiunilor"/> + <l:gentext key="revhistory" text="Istoricul versiunilor"/> + <l:gentext key="Revision" text="Versiune"/> + <l:gentext key="revision" text="Versiune"/> + <l:gentext key="Section" text="Secþiune"/> + <l:gentext key="section" text="sec."/> + <l:gentext key="See" text="Vezi"/> + <l:gentext key="see" text="Vezi"/> + <l:gentext key="SeeAlso" text="Vezi şi"/> + <l:gentext key="seealso" text="Vezi şi"/> + <l:gentext key="Seealso" text="Vezi şi"/> + <l:gentext key="Set" text="Set"/> + <l:gentext key="set" text="Set"/> + <l:gentext key="SetIndex" text="Index"/> + <l:gentext key="setindex" text="Index"/> + <l:gentext key="Sidebar" text=""/> + <l:gentext key="sidebar" text="sidebar"/> + <l:gentext key="Step" text="Operaþie"/> + <l:gentext key="step" text="operaþiune"/> + <l:gentext key="Table" text="Tabel"/> + <l:gentext key="table" text="Tabel"/> + <l:gentext key="TIP" text="INDICAÞIE"/> + <l:gentext key="Tip" text="Indicaþie"/> + <l:gentext key="tip" text="Indicaþie"/> + <l:gentext key="WARNING" text="AVERTISMENT"/> + <l:gentext key="Warning" text="Avertisment"/> + <l:gentext key="warning" text="Avertisment"/> + <l:gentext key="and" text="şi"/> + <l:gentext key="by" text="de"/> + <l:gentext key="Edited" text="Publicat"/> + <l:gentext key="edited" text="Publicat"/> + <l:gentext key="Editedby" text="Publicat de"/> + <l:gentext key="editedby" text="Publicat de"/> + <l:gentext key="in" text="în"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="element inexistent"/> + <l:gentext key="notes" text="Note"/> + <l:gentext key="Notes" text="Note"/> + <l:gentext key="Pgs" text="Pagini"/> + <l:gentext key="pgs" text="Pagini"/> + <l:gentext key="Revisedby" text="Revised by: "/> + <l:gentext key="revisedby" text="Revised by: "/> + <l:gentext key="TableNotes" text="Remarci"/> + <l:gentext key="tablenotes" text="Remarci"/> + <l:gentext key="TableofContents" text="Cuprins"/> + <l:gentext key="tableofcontents" text="Cuprins"/> + <l:gentext key="unexpectedelementname" text="Nume de element neaşteptat"/> + <l:gentext key="unsupported" text="nerecunoscut de sisitem"/> + <l:gentext key="xrefto" text="referinþã cãtre"/> + <l:gentext key="listofequations" text="Listã de ecuaþii"/> + <l:gentext key="ListofEquations" text="Listã de ecuaþii"/> + <l:gentext key="ListofExamples" text="Listã de exemple"/> + <l:gentext key="listofexamples" text="Listã de exemple"/> + <l:gentext key="ListofFigures" text="Listã de figuri"/> + <l:gentext key="listoffigures" text="Listã de figuri"/> + <l:gentext key="listoftables" text="Listã de tabele"/> + <l:gentext key="ListofTables" text="Listã de tabele"/> + <l:gentext key="ListofUnknown" text="Listã de necunoscute"/> + <l:gentext key="listofunknown" text="Listã de necunoscute"/> + <l:gentext key="nav-home" text="Acasã"/> + <l:gentext key="nav-next" text="Înainte"/> + <l:gentext key="nav-next-sibling" text="Repede ïnainte"/> + <l:gentext key="nav-prev" text="Înapoi"/> + <l:gentext key="nav-prev-sibling" text="Repede înapoi"/> + <l:gentext key="nav-up" text="Sus"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Anexa %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="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. %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="ecuaþia %n. %t"/> + <l:template name="example" text="Exemplu %n. %t"/> + <l:template name="figure" text="Fig. %n. %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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabel %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Anexa %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Cap. %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Exemplu %n. %t"/> + <l:template name="figure" text="Fig. %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Parte %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabel %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Secþiune %n"/> + <l:template name="sect2" text="Secþiune %n"/> + <l:template name="sect3" text="Secþiune %n"/> + <l:template name="sect4" text="Secþiune %n"/> + <l:template name="sect5" text="Secþiune %n"/> + <l:template name="section" text="Secþiune %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" şi "/> + <l:template name="seplast" text=", şi "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Vezi "/> + <l:template name="seealso" text="Vezi şi "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text=": "/> + <l:template name="MsgLevel" text="Nivel: "/> + <l:template name="MsgOrig" text="Origine: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/ru.xml b/lib/docbook/docbook-xsl/common/ru.xml new file mode 100644 index 000000000..d98908296 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/ru.xml @@ -0,0 +1,362 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="ru"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Аннотация"/> + <l:gentext key="abstract" text="Аннотация"/> + <l:gentext key="Answer" text="A:"/> + <l:gentext key="answer" text="A:"/> + <l:gentext key="Appendix" text="Приложение"/> + <l:gentext key="appendix" text="приложение"/> + <l:gentext key="Appendix.abr" text="Прил."/> + <l:gentext key="appendix.abr" text="Прил."/> + <l:gentext key="Article" text="Статья"/> + <l:gentext key="article" text="Статья"/> + <l:gentext key="Audience" text="Аудитория"/> + <l:gentext key="audience" text="Аудитория"/> + <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="Chapter.abr" text="Гл."/> + <l:gentext key="chapter.abr" text="Гл."/> + <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="Посвящение"/> + <l:gentext key="dedication" text="Посвящение"/> + <l:gentext key="Edition" text="Редакция"/> + <l:gentext key="edition" text="Редакция"/> + <l:gentext key="Equation" text="Формула"/> + <l:gentext key="equation" text="Формула"/> + <l:gentext key="Equation.abr" text="Ф."/> + <l:gentext key="equation.abr" text="Ф."/> + <l:gentext key="Example" text="Пример"/> + <l:gentext key="example" text="Пример"/> + <l:gentext key="Example.abr" text="Прим."/> + <l:gentext key="example.abr" text="Прим."/> + <l:gentext key="Figure" text="Рисунок"/> + <l:gentext key="figure" text="Рисунок"/> + <l:gentext key="Figure.abr" text="Рис."/> + <l:gentext key="figure.abr" text="Рис."/> + <l:gentext key="Glossary" text="Глоссарий"/> + <l:gentext key="glossary" text="Глоссарий"/> + <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="Важно"/> + <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="Level" text="Уровень"/> + <l:gentext key="level" text="Уровень"/> + <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="name" text="Имя"/> + <l:gentext key="Name" text="Имя"/> + <l:gentext key="Note" text="Замечание"/> + <l:gentext key="note" text="Замечание"/> + <l:gentext key="NOTE" text="ЗАМЕЧАНИЕ"/> + <l:gentext key="Origin" text="Источник"/> + <l:gentext key="origin" text="Источник"/> + <l:gentext key="Part" text="Часть"/> + <l:gentext key="part" text="Часть"/> + <l:gentext key="Part.abr" text="Ч."/> + <l:gentext key="part.abr" text="Ч."/> + <l:gentext key="Preface" text="Предисловие"/> + <l:gentext key="preface" text="Предисловие"/> + <l:gentext key="Procedure" text="Процедура"/> + <l:gentext key="procedure" text="Процедура"/> + <l:gentext key="Procedure.abr" text="Проц."/> + <l:gentext key="procedure.abr" text="Проц."/> + <l:gentext key="Published" text="Опубликовано"/> + <l:gentext key="published" text="Опубликовано"/> + <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="Ссылка"/> + <l:gentext key="reference" text="Ссылка"/> + <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="История переиздания"/> + <l:gentext key="revhistory" text="История переиздания"/> + <l:gentext key="Revision" text="Издание"/> + <l:gentext key="revision" text="Издание"/> + <l:gentext key="Section" text="Раздел"/> + <l:gentext key="section" text="раздел"/> + <l:gentext key="section.abr" text="Разд."/> + <l:gentext key="Section.abr" 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="Подборка"/> + <l:gentext key="Set" text="Подборка"/> + <l:gentext key="setindex" text="Индекс подборки"/> + <l:gentext key="SetIndex" text="Индекс подборки"/> + <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="Table.abr" text="Табл."/> + <l:gentext key="table.abr" 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="called" 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="TableofContents" text="Содержание"/> + <l:gentext key="tableofcontents" text="Содержание"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="Notes" text="Примечания"/> + <l:gentext key="notes" text="Примечания"/> + <l:gentext key="TableNotes" text="Примечания"/> + <l:gentext key="tablenotes" text="Примечания"/> + <l:gentext key="nonexistantelement" text="non-existant element"/> + <l:gentext key="pgs" text="Стр."/> + <l:gentext key="Pgs" text="Стр."/> + <l:gentext key="Revisedby" text="Revised by: "/> + <l:gentext key="revisedby" text="Revised by: "/> + <l:gentext key="the" text=""/> + <l:gentext key="unexpectedelementname" text="unexpected element name"/> + <l:gentext key="unsupported" text="unsupported"/> + <l:gentext key="xrefto" text="xref to"/> + <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="listoftables" text="Список таблиц"/> + <l:gentext key="ListofTables" text="Список таблиц"/> + <l:gentext key="ListofUnknown" text="Неопределенный список"/> + <l:gentext key="listofunknown" 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="x-nav-next" text="След."/> + <l:gentext key="nav-home" text="Начало"/> + <l:gentext key="nav-up" text="Уровень выше"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Приложение %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Глава %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Пример %n. %t"/> + <l:template name="figure" text="Рисунок %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Часть %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Таблица %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <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="simplesect" text="“%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="See "/> + <l:template name="seealso" text="See Also "/> + </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:l10n> diff --git a/lib/docbook/docbook-xsl/common/sk.xml b/lib/docbook/docbook-xsl/common/sk.xml new file mode 100644 index 000000000..859c7c2ee --- /dev/null +++ b/lib/docbook/docbook-xsl/common/sk.xml @@ -0,0 +1,336 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="sk"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Obsah"/> + <l:gentext key="abstract" text="Obsah"/> + <l:gentext key="Answer" text="A:"/> + <l:gentext key="answer" text="A:"/> + <l:gentext key="Appendix" text="Dodatok"/> + <l:gentext key="appendix" text="dodatok"/> + <l:gentext key="Article" text="Článok"/> + <l:gentext key="article" text="Článok"/> + <l:gentext key="Bibliography" text="Bibliografia"/> + <l:gentext key="bibliography" text="Bibliografia"/> + <l:gentext key="Book" text="Kniha"/> + <l:gentext key="book" text="Kniha"/> + <l:gentext key="CAUTION" text="VÝSTRAHA"/> + <l:gentext key="caution" text="Výstraha"/> + <l:gentext key="Caution" text="Výstraha"/> + <l:gentext key="Chapter" text="Kapitola"/> + <l:gentext key="chapter" text="kapitola"/> + <l:gentext key="Colophon" text="Tiráž"/> + <l:gentext key="colophon" text="Tiráž"/> + <l:gentext key="Copyright" text="Copyright"/> + <l:gentext key="copyright" text="Copyright"/> + <l:gentext key="Dedication" text="Venovanie"/> + <l:gentext key="dedication" text="Venovanie"/> + <l:gentext key="Edition" text="Vydanie"/> + <l:gentext key="edition" text="Vydanie"/> + <l:gentext key="Equation" text="Rovnice"/> + <l:gentext key="equation" text="Rovnice"/> + <l:gentext key="Example" text="Príklad"/> + <l:gentext key="example" text="Príklad"/> + <l:gentext key="Figure" text="Obrázok"/> + <l:gentext key="figure" text="Obrázok"/> + <l:gentext key="Glossary" text="Slovník"/> + <l:gentext key="glossary" text="Slovník"/> + <l:gentext key="GlossSee" text="Pozri"/> + <l:gentext key="glosssee" text="Pozri"/> + <l:gentext key="GlossSeeAlso" text="Pozri tiež"/> + <l:gentext key="glossseealso" text="Pozri tiež"/> + <l:gentext key="IMPORTANT" text="DÔLEŽITÉ"/> + <l:gentext key="Important" text="Dôležité"/> + <l:gentext key="important" text="Dôležité"/> + <l:gentext key="Index" text="Zoznam"/> + <l:gentext key="index" text="Zoznam"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Právna poznámka"/> + <l:gentext key="legalnotice" text="Právna poznámka"/> + <l:gentext key="MsgAud" text="Publikum"/> + <l:gentext key="msgaud" text="Publikum"/> + <l:gentext key="MsgLevel" text="Úroveň"/> + <l:gentext key="msglevel" text="Úroveň"/> + <l:gentext key="MsgOrig" text="Pôvod"/> + <l:gentext key="msgorig" text="Pôvod"/> + <l:gentext key="NOTE" text="POZNÁMKA"/> + <l:gentext key="Note" text="Poznámka"/> + <l:gentext key="note" text="Poznámka"/> + <l:gentext key="Part" text="Časť"/> + <l:gentext key="part" text="Časť"/> + <l:gentext key="Preface" text="Úvod"/> + <l:gentext key="preface" text="Úvod"/> + <l:gentext key="Procedure" text="Postup"/> + <l:gentext key="procedure" text="Postup"/> + <l:gentext key="Published" text="Vydané"/> + <l:gentext key="published" text="Vydané"/> + <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="Odkaz"/> + <l:gentext key="reference" text="Odkaz"/> + <l:gentext key="RefName" text="Meno"/> + <l:gentext key="refname" text="Meno"/> + <l:gentext key="RefSection" text=""/> + <l:gentext key="refsection" text=""/> + <l:gentext key="RefSynopsisDiv" text="Prehľad"/> + <l:gentext key="refsynopsisdiv" text="Prehľad"/> + <l:gentext key="RevHistory" text="Prehľad revízií"/> + <l:gentext key="revhistory" text="Prehľad revízií"/> + <l:gentext key="Revision" text="Revízia"/> + <l:gentext key="revision" text="Revízia"/> + <l:gentext key="Section" text="Oddiel"/> + <l:gentext key="section" text="oddiel"/> + <l:gentext key="see" text="Pozri"/> + <l:gentext key="See" text="Pozri"/> + <l:gentext key="seealso" text="Pozri tiež"/> + <l:gentext key="SeeAlso" text="Pozri tiež"/> + <l:gentext key="Seealso" text="Pozri tiež"/> + <l:gentext key="Set" text="Nastaviť"/> + <l:gentext key="set" text="Nastaviť"/> + <l:gentext key="SetIndex" text="Nastaviť index"/> + <l:gentext key="setindex" text="Nastaviť index"/> + <l:gentext key="Sidebar" text=""/> + <l:gentext key="sidebar" text="boční lišta"/> + <l:gentext key="step" text="krok"/> + <l:gentext key="Step" text="Krok"/> + <l:gentext key="table" text="Tabuľka"/> + <l:gentext key="Table" text="Tabuľka"/> + <l:gentext key="TIP" text="TIP"/> + <l:gentext key="Tip" text="Tip"/> + <l:gentext key="tip" text="Tip"/> + <l:gentext key="WARNING" text="VAROVANIE"/> + <l:gentext key="Warning" text="Varovanie"/> + <l:gentext key="warning" text="Varovanie"/> + <l:gentext key="and" text="a"/> + <l:gentext key="by" text=""/> + <l:gentext key="Edited" text="Vydané"/> + <l:gentext key="edited" text="Vydané"/> + <l:gentext key="Editedby" text="Vydané"/> + <l:gentext key="editedby" text="Vydané"/> + <l:gentext key="in" text="v"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="neexistujúci prvok"/> + <l:gentext key="notes" text="Poznámky"/> + <l:gentext key="Notes" text="Poznámky"/> + <l:gentext key="Pgs" text="Str."/> + <l:gentext key="pgs" text="Str."/> + <l:gentext key="Revisedby" text="Revised by: "/> + <l:gentext key="revisedby" text="Revised by: "/> + <l:gentext key="TableNotes" text="Poznámky"/> + <l:gentext key="tablenotes" text="Poznámky"/> + <l:gentext key="TableofContents" text="Obsah"/> + <l:gentext key="tableofcontents" text="Obsah"/> + <l:gentext key="unexpectedelementname" text="Neočakávané meno prvku"/> + <l:gentext key="unsupported" text="nepodporovaný"/> + <l:gentext key="xrefto" text="xref k"/> + <l:gentext key="listofequations" text="Zoznam rovníc"/> + <l:gentext key="ListofEquations" text="Zoznam rovníc"/> + <l:gentext key="ListofExamples" text="Zoznam príkladov"/> + <l:gentext key="listofexamples" text="Zoznam príkladov"/> + <l:gentext key="ListofFigures" text="Zoznam obrázkov"/> + <l:gentext key="listoffigures" text="Zoznam obrázkov"/> + <l:gentext key="listoftables" text="Zoznam tabuliek"/> + <l:gentext key="ListofTables" text="Zoznam tabuliek"/> + <l:gentext key="ListofUnknown" text="Zoznam neznámeho"/> + <l:gentext key="listofunknown" text="Zoznam neznámeho"/> + <l:gentext key="nav-home" text="Domov"/> + <l:gentext key="nav-next" text="Nasledujúci"/> + <l:gentext key="nav-next-sibling" text="Rýchlo dopredu"/> + <l:gentext key="nav-prev" text="Predchádzajúci"/> + <l:gentext key="nav-prev-sibling" text="Rýchlo nazpät"/> + <l:gentext key="nav-up" text="Hore"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Dodatok %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="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="Kapitola %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Rovnice %n. %t"/> + <l:template name="example" text="Príklad %n. %t"/> + <l:template name="figure" text="Obrázok %n. %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="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="Časť %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="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="question" text="%t"/> + <l:template name="reference" 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="Tabuľka %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Dodatok %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Kapitola %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Príklad %n. %t"/> + <l:template name="figure" text="Obrázok %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Časť %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="question" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabuľka %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Oddiel %n"/> + <l:template name="sect2" text="Oddiel %n"/> + <l:template name="sect3" text="Oddiel %n"/> + <l:template name="sect4" text="Oddiel %n"/> + <l:template name="sect5" text="Oddiel %n"/> + <l:template name="section" text="Oddiel %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" a "/> + <l:template name="seplast" text=", a "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Pozri "/> + <l:template name="seealso" text="Pozri tiež "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Publikum: "/> + <l:template name="MsgLevel" text="Úroveň: "/> + <l:template name="MsgOrig" text="Pôvod: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/sl.xml b/lib/docbook/docbook-xsl/common/sl.xml new file mode 100644 index 000000000..a7154328a --- /dev/null +++ b/lib/docbook/docbook-xsl/common/sl.xml @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="sl"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Povzetek"/> + <l:gentext key="abstract" text="Povzetek"/> + <l:gentext key="Answer" text="O:"/> + <l:gentext key="answer" text="O:"/> + <l:gentext key="Appendix" text="Dodatek"/> + <l:gentext key="appendix" text="dodatek"/> + <l:gentext key="Article" text="Članek"/> + <l:gentext key="article" text="Članek"/> + <l:gentext key="Bibliography" text="Literatura"/> + <l:gentext key="bibliography" text="Literatura"/> + <l:gentext key="Book" text="Knjiga"/> + <l:gentext key="book" text="Knjiga"/> + <l:gentext key="Caution" text="Opozorilo"/> + <l:gentext key="caution" text="Opozorilo"/> + <l:gentext key="CAUTION" text="OPOZORILO"/> + <l:gentext key="Chapter" text="Poglavje"/> + <l:gentext key="chapter" text="poglavje"/> + <l:gentext key="Colophon" text="Kolofon"/> + <l:gentext key="colophon" text="Kolofon"/> + <l:gentext key="Copyright" text="Pravna zaščita"/> + <l:gentext key="copyright" text="Pravna zaščita"/> + <l:gentext key="Dedication" text="Posvetilo"/> + <l:gentext key="dedication" text="Posvetilo"/> + <l:gentext key="Edition" text="Izdaja"/> + <l:gentext key="edition" text="Izdaja"/> + <l:gentext key="Equation" text="Enačba"/> + <l:gentext key="equation" text="Enačba"/> + <l:gentext key="Example" text="Primer"/> + <l:gentext key="example" text="Primer"/> + <l:gentext key="Figure" text="Slika"/> + <l:gentext key="figure" text="Slika"/> + <l:gentext key="Glossary" text="Slovarček"/> + <l:gentext key="glossary" text="Slovarček"/> + <l:gentext key="GlossSee" text="glej"/> + <l:gentext key="glosssee" text="glej"/> + <l:gentext key="GlossSeeAlso" text="glej tudi"/> + <l:gentext key="glossseealso" text="glej tudi"/> + <l:gentext key="IMPORTANT" text="POMEMBNO"/> + <l:gentext key="Important" text="Pomembno"/> + <l:gentext key="important" text="Pomembno"/> + <l:gentext key="Index" text="Stvarno kazalo"/> + <l:gentext key="index" text="Stvarno kazalo"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Pravno sporočilo"/> + <l:gentext key="legalnotice" text="Pravno sporočilo"/> + <l:gentext key="MsgAud" text="Občinstvo"/> + <l:gentext key="msgaud" text="Občinstvo"/> + <l:gentext key="MsgLevel" text="Raven"/> + <l:gentext key="msglevel" text="Raven"/> + <l:gentext key="MsgOrig" text="Izvor"/> + <l:gentext key="msgorig" text="Izvor"/> + <l:gentext key="note" text="Opomba"/> + <l:gentext key="NOTE" text="OPOMBA"/> + <l:gentext key="Note" text="Opomba"/> + <l:gentext key="Part" text="Del"/> + <l:gentext key="part" text="Del"/> + <l:gentext key="Preface" text="Predgovor"/> + <l:gentext key="preface" text="Predgovor"/> + <l:gentext key="Procedure" text="Postopek"/> + <l:gentext key="procedure" text="Postopek"/> + <l:gentext key="Published" text="Izdano"/> + <l:gentext key="published" text="Izdano"/> + <l:gentext key="Question" text="V:"/> + <l:gentext key="question" text="V:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Sklic"/> + <l:gentext key="reference" text="Sklic"/> + <l:gentext key="RefName" text="Ime"/> + <l:gentext key="refname" text="Ime"/> + <l:gentext key="RefSection" text=""/> + <l:gentext key="refsection" text=""/> + <l:gentext key="RefSynopsisDiv" text="Sinopsis"/> + <l:gentext key="refsynopsisdiv" text="Sinopsis"/> + <l:gentext key="RevHistory" text="Zgodovina različic"/> + <l:gentext key="revhistory" text="Zgodovina različic"/> + <l:gentext key="Revision" text="Različica"/> + <l:gentext key="revision" text="Različica"/> + <l:gentext key="Section" text="Razdelek"/> + <l:gentext key="section" text="razdelek"/> + <l:gentext key="see" text="glej"/> + <l:gentext key="See" text="glej"/> + <l:gentext key="Seealso" text="Glej tudi"/> + <l:gentext key="seealso" text="glej tudi"/> + <l:gentext key="SeeAlso" text="glej tudi"/> + <l:gentext key="Set" text="Postavi"/> + <l:gentext key="set" text="Postavi"/> + <l:gentext key="SetIndex" text="Postavi stvarno kazalo"/> + <l:gentext key="setindex" text="Postavi stvarno kazalo"/> + <l:gentext key="Sidebar" text=""/> + <l:gentext key="sidebar" text="sidebar"/> + <l:gentext key="step" text="korak"/> + <l:gentext key="Step" text="Korak"/> + <l:gentext key="table" text="Tabela"/> + <l:gentext key="Table" text="Tabela"/> + <l:gentext key="TIP" text="NAMIG"/> + <l:gentext key="Tip" text="Namig"/> + <l:gentext key="tip" text="Namig"/> + <l:gentext key="WARNING" text="POZOR"/> + <l:gentext key="Warning" text="Pozor"/> + <l:gentext key="warning" text="Pozor"/> + <l:gentext key="and" text="in"/> + <l:gentext key="by" text="od"/> + <l:gentext key="Edited" text="Urejeno"/> + <l:gentext key="edited" text="Urejeno"/> + <l:gentext key="Editedby" text="Urejeno od"/> + <l:gentext key="editedby" text="Urejeno od"/> + <l:gentext key="in" text="v"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="neobstoječi element"/> + <l:gentext key="Notes" text="Notes"/> + <l:gentext key="notes" text="Notes"/> + <l:gentext key="Pgs" text="Str."/> + <l:gentext key="pgs" text="Str."/> + <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="Kazalo"/> + <l:gentext key="tableofcontents" text="Kazalo"/> + <l:gentext key="unexpectedelementname" text="Nepričakovano ime elementa"/> + <l:gentext key="unsupported" text="nepodprto"/> + <l:gentext key="xrefto" text="xref na"/> + <l:gentext key="listofequations" text="Seznam enačb"/> + <l:gentext key="ListofEquations" text="Seznam enačb"/> + <l:gentext key="ListofExamples" text="Seznam primerov"/> + <l:gentext key="listofexamples" text="Seznam primerov"/> + <l:gentext key="ListofFigures" text="Seznam slik"/> + <l:gentext key="listoffigures" text="Seznam slik"/> + <l:gentext key="listoftables" text="Seznam tabel"/> + <l:gentext key="ListofTables" text="Seznam tabel"/> + <l:gentext key="ListofUnknown" text="Seznam neznanih stvari"/> + <l:gentext key="listofunknown" text="Seznam neznanih stvari"/> + <l:gentext key="nav-home" text="Domov"/> + <l:gentext key="nav-next" text="Naprej"/> + <l:gentext key="nav-next-sibling" text="Hitro naprej"/> + <l:gentext key="nav-prev" text="Nazaj"/> + <l:gentext key="nav-prev-sibling" text="Hitro nazaj"/> + <l:gentext key="nav-up" text="Gor"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Dodatek %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="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="Poglavje %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Enačba %n. %t"/> + <l:template name="example" text="Primer %n. %t"/> + <l:template name="figure" text="Slika %n. %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="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="Del %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabela %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Dodatek %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Poglavje %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Primer %n. %t"/> + <l:template name="figure" text="Slika %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Del %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="question" text="V: %n"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabela %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Razdelek %n"/> + <l:template name="sect2" text="Razdelek %n"/> + <l:template name="sect3" text="Razdelek %n"/> + <l:template name="sect4" text="Razdelek %n"/> + <l:template name="sect5" text="Razdelek %n"/> + <l:template name="section" text="Razdelek %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" in "/> + <l:template name="seplast" text=", in "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="glej "/> + <l:template name="seealso" text="glej tudi "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Občinstvo: "/> + <l:template name="MsgLevel" text="Raven: "/> + <l:template name="MsgOrig" text="Izvor: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/sr.xml b/lib/docbook/docbook-xsl/common/sr.xml new file mode 100644 index 000000000..d9eb84683 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/sr.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="sr"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Pregled"/> + <l:gentext key="abstract" text="Pregled"/> + <l:gentext key="Answer" text="O:"/> + <l:gentext key="answer" text="O:"/> + <l:gentext key="Appendix" text="Dodatak"/> + <l:gentext key="appendix" text="dodatak"/> + <l:gentext key="Article" text="\Članak"/> + <l:gentext key="article" text="\Članak"/> + <l:gentext key="Bibliography" text="Literatura"/> + <l:gentext key="bibliography" text="Literatura"/> + <l:gentext key="Book" text="Knjiga"/> + <l:gentext key="book" text="Knjiga"/> + <l:gentext key="Caution" text="Upozorenje"/> + <l:gentext key="caution" text="Upozorenje"/> + <l:gentext key="CAUTION" text="UPOZORENJE"/> + <l:gentext key="Chapter" text="Poglavlje"/> + <l:gentext key="chapter" text="poglavlje"/> + <l:gentext key="Colophon" text="Kolofon"/> + <l:gentext key="colophon" text="Kolofon"/> + <l:gentext key="Copyright" text="Pravna za\štita"/> + <l:gentext key="copyright" text="Pravna za\štita"/> + <l:gentext key="Dedication" text="Posveta"/> + <l:gentext key="dedication" text="Posveta"/> + <l:gentext key="Edition" text="Izdanje"/> + <l:gentext key="edition" text="Izdanje"/> + <l:gentext key="Equation" text="Jedna\čina"/> + <l:gentext key="equation" text="Jedna\čina"/> + <l:gentext key="Example" text="Primer"/> + <l:gentext key="example" text="Primer"/> + <l:gentext key="Figure" text="Slika"/> + <l:gentext key="figure" text="Slika"/> + <l:gentext key="Glossary" text="Re\čnik"/> + <l:gentext key="glossary" text="Re\čnik"/> + <l:gentext key="GlossSee" text="Vidi"/> + <l:gentext key="glosssee" text="Vidi"/> + <l:gentext key="GlossSeeAlso" text="Vidi tako\đe"/> + <l:gentext key="glossseealso" text="Vidi tako\đe"/> + <l:gentext key="IMPORTANT" text="VA\ŽNO"/> + <l:gentext key="Important" text="Va\žno"/> + <l:gentext key="important" text="Va\žno"/> + <l:gentext key="Index" text="Indeks"/> + <l:gentext key="index" text="Indeks"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Pravno obave\štenje"/> + <l:gentext key="legalnotice" text="Pravno obave\štenje"/> + <l:gentext key="MsgAud" text="MsgAud"/> + <l:gentext key="msgaud" text="MsgAud"/> + <l:gentext key="MsgLevel" text="Nivo"/> + <l:gentext key="msglevel" text="Nivo"/> + <l:gentext key="MsgOrig" text="Izvor"/> + <l:gentext key="msgorig" text="Izvor"/> + <l:gentext key="note" text="Primedba"/> + <l:gentext key="NOTE" text="PRIMEDBA"/> + <l:gentext key="Note" text="Primedba"/> + <l:gentext key="Part" text="Deo"/> + <l:gentext key="part" text="Deo"/> + <l:gentext key="Preface" text="Predgovor"/> + <l:gentext key="preface" text="Predgovor"/> + <l:gentext key="Procedure" text="Postupak"/> + <l:gentext key="procedure" text="Postupak"/> + <l:gentext key="Published" text="Izdato"/> + <l:gentext key="published" text="Izdato"/> + <l:gentext key="Question" text="P:"/> + <l:gentext key="question" text="P:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Referenca"/> + <l:gentext key="reference" text="Referenca"/> + <l:gentext key="RefName" text="Ime"/> + <l:gentext key="refname" text="Ime"/> + <l:gentext key="RefSection" text=""/> + <l:gentext key="refsection" text=""/> + <l:gentext key="RefSynopsisDiv" text="Sinopsis"/> + <l:gentext key="refsynopsisdiv" text="Sinopsis"/> + <l:gentext key="RevHistory" text="Istorija revizija"/> + <l:gentext key="revhistory" text="Istorija revizija"/> + <l:gentext key="Revision" text="Revizija"/> + <l:gentext key="revision" text="Revizija"/> + <l:gentext key="Section" text="Odeljak"/> + <l:gentext key="section" text="sekcija"/> + <l:gentext key="see" text="vidi"/> + <l:gentext key="See" text="vidi"/> + <l:gentext key="Seealso" text="Vidi tako\đe"/> + <l:gentext key="seealso" text="vidi tako\đe"/> + <l:gentext key="SeeAlso" text="vidi tako\đe"/> + <l:gentext key="set" text="Postavi"/> + <l:gentext key="Set" text="Postavi"/> + <l:gentext key="SetIndex" text="Postavi indeks"/> + <l:gentext key="setindex" text="Postavi indeks"/> + <l:gentext key="Sidebar" text=""/> + <l:gentext key="sidebar" text="sidebar"/> + <l:gentext key="step" text="korak"/> + <l:gentext key="Step" text="Korak"/> + <l:gentext key="table" text="Tabela"/> + <l:gentext key="Table" text="Tabela"/> + <l:gentext key="TIP" text="SAVET"/> + <l:gentext key="Tip" text="Savet"/> + <l:gentext key="tip" text="Savet"/> + <l:gentext key="WARNING" text="UPOZORENJE"/> + <l:gentext key="Warning" text="Upozorenje"/> + <l:gentext key="warning" text="Upozorenje"/> + <l:gentext key="and" text="i"/> + <l:gentext key="by" text="od"/> + <l:gentext key="Edited" text="Ure\đeno"/> + <l:gentext key="edited" text="Ure\đeno"/> + <l:gentext key="Editedby" text="Ure\đeno od"/> + <l:gentext key="editedby" text="Ure\đeno od"/> + <l:gentext key="in" text="u"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="nepostoje\ći element"/> + <l:gentext key="notes" text="Notes"/> + <l:gentext key="Notes" text="Notes"/> + <l:gentext key="Pgs" text="Str."/> + <l:gentext key="pgs" text="Str."/> + <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="Sadr\žaj"/> + <l:gentext key="tableofcontents" text="Sadr\žaj"/> + <l:gentext key="unexpectedelementname" text="Neo\čekivano ime elementa"/> + <l:gentext key="unsupported" text="nepodr\žano"/> + <l:gentext key="xrefto" text="xref na"/> + <l:gentext key="listofequations" text="Spisak jedna\čina"/> + <l:gentext key="ListofEquations" text="Spisak jedna\čina"/> + <l:gentext key="ListofExamples" text="Spisak primera"/> + <l:gentext key="listofexamples" text="Spisak primera"/> + <l:gentext key="ListofFigures" text="Spisak slika"/> + <l:gentext key="listoffigures" text="Spisak slika"/> + <l:gentext key="listoftables" text="Spisak tabela"/> + <l:gentext key="ListofTables" text="Spisak tabela"/> + <l:gentext key="ListofUnknown" text="Spisak nepoznanica"/> + <l:gentext key="listofunknown" text="Spisak nepoznanica"/> + <l:gentext key="nav-home" text="Ku\ći"/> + <l:gentext key="nav-next" text="Napred"/> + <l:gentext key="nav-next-sibling" text="Brzo napred"/> + <l:gentext key="nav-prev" text="Nazad"/> + <l:gentext key="nav-prev-sibling" text="Brzo nazad"/> + <l:gentext key="nav-up" text="Gore"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Dodatak %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="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="Poglavlje %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Jedna\čina %n. %t"/> + <l:template name="example" text="Primer %n. %t"/> + <l:template name="figure" text="Slika %n. %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="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="Deo %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabela %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Dodatak %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Poglavlje %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="Primer %n. %t"/> + <l:template name="figure" text="Slika %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Deo %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabela %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Odeljak %n"/> + <l:template name="sect2" text="Odeljak %n"/> + <l:template name="sect3" text="Odeljak %n"/> + <l:template name="sect4" text="Odeljak %n"/> + <l:template name="sect5" text="Odeljak %n"/> + <l:template name="section" text="Odeljak %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" i "/> + <l:template name="seplast" text=", i "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Vidi "/> + <l:template name="seealso" text="Vidi tako\đe "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="MsgAud: "/> + <l:template name="MsgLevel" text="Nivo: "/> + <l:template name="MsgOrig" text="Izvor: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/subtitles.xsl b/lib/docbook/docbook-xsl/common/subtitles.xsl new file mode 100644 index 000000000..0c53ebf0c --- /dev/null +++ b/lib/docbook/docbook-xsl/common/subtitles.xsl @@ -0,0 +1,130 @@ +<?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'>
+
+<!-- ============================================================ -->
+<!-- subtitle markup -->
+
+<doc:mode mode="subtitle.markup" xmlns="">
+<refpurpose>Provides access to element subtitles</refpurpose>
+<refdescription>
+<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="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|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|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
+ |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
+ |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
+ |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"
+ 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
+ |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
+ |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="(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>
+
diff --git a/lib/docbook/docbook-xsl/common/sv.xml b/lib/docbook/docbook-xsl/common/sv.xml new file mode 100644 index 000000000..7802ed51b --- /dev/null +++ b/lib/docbook/docbook-xsl/common/sv.xml @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="sv"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Sammanfattning"/> + <l:gentext key="abstract" text="Sammanfattning"/> + <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="Artikel"/> + <l:gentext key="article" text="Artikel"/> + <l:gentext key="Bibliography" text="Bibliografi"/> + <l:gentext key="bibliography" text="Bibliografi"/> + <l:gentext key="Book" text="Bok"/> + <l:gentext key="book" text="Bok"/> + <l:gentext key="CAUTION" text="OBSERVERA"/> + <l:gentext key="Caution" text="Observera"/> + <l:gentext key="caution" text="Observera"/> + <l:gentext key="Chapter" text="Kapitel"/> + <l:gentext key="chapter" text="kapitel"/> + <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="Dedikation"/> + <l:gentext key="dedication" text="Dedikation"/> + <l:gentext key="Edition" text="Utgåva"/> + <l:gentext key="edition" text="Utgåva"/> + <l:gentext key="Equation" text="Ekvation"/> + <l:gentext key="equation" text="Ekvation"/> + <l:gentext key="Example" text="Exempel"/> + <l:gentext key="example" text="Exempel"/> + <l:gentext key="Figure" text="Figur"/> + <l:gentext key="figure" text="Figur"/> + <l:gentext key="Glossary" text="Gloslista"/> + <l:gentext key="glossary" text="Gloslista"/> + <l:gentext key="GlossSee" text="Se"/> + <l:gentext key="glosssee" text="Se"/> + <l:gentext key="GlossSeeAlso" text="Se Även"/> + <l:gentext key="glossseealso" text="Se Även"/> + <l:gentext key="IMPORTANT" text="VIKTIGT"/> + <l:gentext key="Important" text="Viktigt"/> + <l:gentext key="important" text="Viktigt"/> + <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="Målgrupp"/> + <l:gentext key="msgaud" text="Målgrupp"/> + <l:gentext key="MsgLevel" text="Nivå"/> + <l:gentext key="msglevel" text="Nivå"/> + <l:gentext key="MsgOrig" text="Ursprung"/> + <l:gentext key="msgorig" text="Ursprung"/> + <l:gentext key="note" text="Not"/> + <l:gentext key="NOTE" text="NOT"/> + <l:gentext key="Note" text="Not"/> + <l:gentext key="Part" text="Del"/> + <l:gentext key="part" text="Del"/> + <l:gentext key="Preface" text="Företal"/> + <l:gentext key="preface" text="Företal"/> + <l:gentext key="Procedure" text="Procedur"/> + <l:gentext key="procedure" text="Procedur"/> + <l:gentext key="Published" text="Publicerad"/> + <l:gentext key="published" text="Publicerad"/> + <l:gentext key="Question" text="Fråga:"/> + <l:gentext key="question" text="Fråga:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Referens"/> + <l:gentext key="reference" text="Referens"/> + <l:gentext key="RefName" text="Namn"/> + <l:gentext key="refname" text="Namn"/> + <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="Revisions Historik;"/> + <l:gentext key="revhistory" text="Revisions Historik;"/> + <l:gentext key="Revision" text="Revision"/> + <l:gentext key="revision" text="Revision"/> + <l:gentext key="Section" text="Avsnitt"/> + <l:gentext key="section" text="avsnitt"/> + <l:gentext key="see" text="Se"/> + <l:gentext key="See" text="Se"/> + <l:gentext key="seealso" text="Se Även"/> + <l:gentext key="SeeAlso" text="Se Även"/> + <l:gentext key="Seealso" text="Se även"/> + <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="sidebar"/> + <l:gentext key="Sidebar" text="Sidebar"/> + <l:gentext key="step" text="steg"/> + <l:gentext key="Step" text="Steg"/> + <l:gentext key="Table" text="Tabell"/> + <l:gentext key="table" text="Tabell"/> + <l:gentext key="tip" text="Tips"/> + <l:gentext key="TIP" text="TIPS"/> + <l:gentext key="Tip" text="Tips"/> + <l:gentext key="warning" text="Varning"/> + <l:gentext key="WARNING" text="VARNING"/> + <l:gentext key="Warning" text="Varning"/> + <l:gentext key="and" text="och"/> + <l:gentext key="by" text="av"/> + <l:gentext key="called" text="kallas"/> + <l:gentext key="edited" text="Redigerad"/> + <l:gentext key="Edited" text="Redigerad"/> + <l:gentext key="Editedby" text="Redigerad av"/> + <l:gentext key="editedby" text="Redigerad av"/> + <l:gentext key="in" text="i"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="non-existant element"/> + <l:gentext key="Notes" text="Noter"/> + <l:gentext key="Pgs" text="Sid."/> + <l:gentext key="pgs" text="Sid."/> + <l:gentext key="Revisedby" text="Reviderad av: "/> + <l:gentext key="revisedby" text="Reviderad av: "/> + <l:gentext key="TableNotes" text="Noter"/> + <l:gentext key="tablenotes" text="Noter"/> + <l:gentext key="TableofContents" text="Innehållsförteckning"/> + <l:gentext key="tableofcontents" text="Innehållsförteckning"/> + <l:gentext key="the" text=""/> + <l:gentext key="unexpectedelementname" text="Unexpected element name"/> + <l:gentext key="unsupported" text="unsupported"/> + <l:gentext key="xrefto" text="xref till"/> + <l:gentext key="listofequations" text="Ekvationsförteckning"/> + <l:gentext key="ListofEquations" text="Ekvationsförteckning"/> + <l:gentext key="ListofExamples" text="Exempelförteckning"/> + <l:gentext key="listofexamples" text="Exempelförteckning"/> + <l:gentext key="ListofFigures" text="Figurförteckning"/> + <l:gentext key="listoffigures" text="Figurförteckning"/> + <l:gentext key="listoftables" text="Tabellförteckning"/> + <l:gentext key="ListofTables" text="Tabellförteckning"/> + <l:gentext key="ListofUnknown" text="Förteckning av okända"/> + <l:gentext key="listofunknown" text="Förteckning av okända"/> + <l:gentext key="nav-home" text="Hem"/> + <l:gentext key="nav-next" text="Nästa"/> + <l:gentext key="nav-next-sibling" text="Snabbt bakåt"/> + <l:gentext key="nav-prev" text="Föregående"/> + <l:gentext key="nav-prev-sibling" text="Snabbt framåt"/> + <l:gentext key="nav-up" text="Upp"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="Ekvation %n. %t"/> + <l:template name="example" text="Exempel %n. %t"/> + <l:template name="figure" text="Figur %n. %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="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="Del %n. %t"/> + <l:template name="partintro" text="%t"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="%t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="Tabell %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="Appendix %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" 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="example" text="Exempel %n. %t"/> + <l:template name="figure" text="Figur %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Del %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tabell %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Avsnitt %n"/> + <l:template name="sect2" text="Avsnitt %n"/> + <l:template name="sect3" text="Avsnitt %n"/> + <l:template name="sect4" text="Avsnitt %n"/> + <l:template name="sect5" text="Avsnitt %n"/> + <l:template name="section" text="Avsnitt %n"/> + <l:template name="simplesect" text="“%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" och "/> + <l:template name="seplast" text=", och "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Se "/> + <l:template name="seealso" text="Se Även "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Målgrupp: "/> + <l:template name="MsgLevel" text="Nivå: "/> + <l:template name="MsgOrig" text="Ursprung: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/titles.xsl b/lib/docbook/docbook-xsl/common/titles.xsl new file mode 100644 index 000000000..d1b562ba5 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/titles.xsl @@ -0,0 +1,364 @@ +<?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'>
+
+<!-- ============================================================ -->
+<!-- title markup -->
+
+<doc:mode mode="title.markup" xmlns="">
+<refpurpose>Provides access to element titles</refpurpose>
+<refdescription>
+<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:choose>
+ <xsl:when test="title">
+ <xsl:apply-templates select="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:message>
+ <xsl:text>Request for title of unexpected element: </xsl:text>
+ <xsl:value-of select="name(.)"/>
+ </xsl:message>
+ <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:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <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|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|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|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="name(.)"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$allow-anchors"/>
+ </xsl:message>
+-->
+
+ <xsl:variable name="title" select="(docinfo/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" 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" 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
+ |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|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="title">
+ <xsl:choose>
+ <xsl:when test="$refentrytitle">
+ <xsl:apply-templates select="$refentrytitle[1]" 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" mode="title.markup">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="section
+ |sect1|sect2|sect3|sect4|sect5
+ |refsect1|refsect2|refsect3
+ |simplesect"
+ mode="title.markup">
+ <xsl:param name="allow-anchors" select="'0'"/>
+ <xsl:variable name="title" select="(sectioninfo/title
+ |sect1info/title
+ |sect2info/title
+ |sect3info/title
+ |sect4info/title
+ |sect5info/title
+ |refsect1info/title
+ |refsect2info/title
+ |refsect3info/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="bibliography" mode="title.markup">
+ <xsl:param name="allow-anchors" select="'0'"/>
+ <xsl:variable name="title" select="(bibliographyinfo/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|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="name(.)"/>
+ </xsl:call-template>
+ </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|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="figure|table|example|equation" 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="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="abstract" 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="'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[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="*" mode="no.anchor.mode">
+ <xsl:apply-templates select="."/>
+</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">
+ <!-- FIXME: this should generate the text without the link... -->
+</xsl:template>
+
+<!-- ============================================================ -->
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/common/tr.xml b/lib/docbook/docbook-xsl/common/tr.xml new file mode 100644 index 000000000..e83b31f72 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/tr.xml @@ -0,0 +1,344 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="tr"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <l:gentext key="Abstract" text="Özet"/> + <l:gentext key="abstract" text="Özet"/> + <l:gentext key="Answer" text="Cevap:"/> + <l:gentext key="answer" text="Cevap:"/> + <l:gentext key="Appendix" text="Ek"/> + <l:gentext key="appendix" text="Ek"/> + <l:gentext key="Article" text="Makale"/> + <l:gentext key="article" text="Makale"/> + <l:gentext key="Bibliography" text="Kaynakça"/> + <l:gentext key="bibliography" text="Kaynakça"/> + <l:gentext key="Book" text="Kitap"/> + <l:gentext key="book" text="Kitap"/> + <l:gentext key="CAUTION" text="DÝKKAT"/> + <l:gentext key="Caution" text="Dikkat"/> + <l:gentext key="caution" text="Dikkat"/> + <l:gentext key="Chapter" text="Bölüm"/> + <l:gentext key="chapter" text="Bölüm"/> + <l:gentext key="Colophon" text="Colophon"/> + <l:gentext key="colophon" text="Colophon"/> + <l:gentext key="Copyright" text="Telif hakký"/> + <l:gentext key="copyright" text="Telif hakký"/> + <l:gentext key="Dedication" text="Ýthaf"/> + <l:gentext key="dedication" text="Ýthaf"/> + <l:gentext key="Edition" text="Baský"/> + <l:gentext key="edition" text="Baský"/> + <l:gentext key="Equation" text="Denklem"/> + <l:gentext key="equation" text="Denklem"/> + <l:gentext key="Example" text="Örnek"/> + <l:gentext key="example" text="Örnek"/> + <l:gentext key="Figure" text="Þekil"/> + <l:gentext key="figure" text="þekil"/> + <l:gentext key="Glossary" text="Sözlük"/> + <l:gentext key="glossary" text="Sözlük"/> + <l:gentext key="GlossSee" text="Bkz."/> + <l:gentext key="glosssee" text="Bkz."/> + <l:gentext key="GlossSeeAlso" text="Bkz."/> + <l:gentext key="glossseealso" text="Bkz."/> + <l:gentext key="IMPORTANT" text="ÖNEMLÝ"/> + <l:gentext key="Important" text="Önemli"/> + <l:gentext key="important" text="Önemli"/> + <l:gentext key="Index" text="Dizin"/> + <l:gentext key="index" text="Dizin"/> + <l:gentext key="ISBN" text="ISBN"/> + <l:gentext key="isbn" text="ISBN"/> + <l:gentext key="LegalNotice" text="Yasal Not"/> + <l:gentext key="legalnotice" text="Yasal Not"/> + <l:gentext key="MsgAud" text="Hedef okuyucu kitlesi"/> + <l:gentext key="msgaud" text="Hedef okuyucu kitlesi"/> + <l:gentext key="MsgLevel" text="Düzey"/> + <l:gentext key="msglevel" text="Düzey"/> + <l:gentext key="MsgOrig" text="Kaynak"/> + <l:gentext key="msgorig" text="Kaynak"/> + <l:gentext key="NOTE" text="NOT"/> + <l:gentext key="Note" text="Not"/> + <l:gentext key="note" text="Not"/> + <l:gentext key="Part" text="Kýsým"/> + <l:gentext key="part" text="Kýsým"/> + <l:gentext key="Preface" text="Önsöz"/> + <l:gentext key="preface" text="Önsöz"/> + <l:gentext key="Procedure" text="Yönerge"/> + <l:gentext key="procedure" text="Yönerge"/> + <l:gentext key="ProductionSet" text="Production"/> + <l:gentext key="Published" text="Yayýmlandý"/> + <l:gentext key="published" text="Yayýmlandý"/> + <l:gentext key="Question" text="Soru:"/> + <l:gentext key="question" text="Soru:"/> + <l:gentext key="RefEntry" text=""/> + <l:gentext key="refentry" text=""/> + <l:gentext key="Reference" text="Referans"/> + <l:gentext key="reference" text="Referans"/> + <l:gentext key="RefName" text="Referans Adý"/> + <l:gentext key="refname" text="Referans Adý"/> + <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="Baský Tarihçesi"/> + <l:gentext key="revhistory" text="Baský Tarihçesi"/> + <l:gentext key="Revision" text="Baský"/> + <l:gentext key="revision" text="Baský"/> + <l:gentext key="section" text="Kýsý"/> + <l:gentext key="Section" text="Kýsým"/> + <l:gentext key="See" text="Bkz."/> + <l:gentext key="see" text="Bkz."/> + <l:gentext key="SeeAlso" text="Bkz."/> + <l:gentext key="seealso" text="Bkz."/> + <l:gentext key="Seealso" text="Bkz."/> + <l:gentext key="Set" text="Takým"/> + <l:gentext key="set" text="Takým"/> + <l:gentext key="SetIndex" text="Takým Dizini"/> + <l:gentext key="setindex" text="Takým Dizini"/> + <l:gentext key="Sidebar" text="Yan Sütun"/> + <l:gentext key="sidebar" text="Yan Sütun"/> + <l:gentext key="Step" text="Adým"/> + <l:gentext key="step" text="Adým"/> + <l:gentext key="Table" text="Tablo"/> + <l:gentext key="table" text="Tablo"/> + <l:gentext key="TIP" text="ÝPUCU"/> + <l:gentext key="Tip" text="Ýpucu"/> + <l:gentext key="tip" text="Ýpucu"/> + <l:gentext key="Warning" text="Uyarý"/> + <l:gentext key="warning" text="Uyarý"/> + <l:gentext key="WARNING" text="UYARI"/> + <l:gentext key="and" text="ve"/> + <l:gentext key="by" text=""/> + <l:gentext key="Edited" text="Yayýna Hazýrlayan"/> + <l:gentext key="edited" text="yayýna hazýrlayan"/> + <l:gentext key="Editedby" text="Yayýna Hazýrlayan "/> + <l:gentext key="editedby" text="Yayýna Hazýrlayan "/> + <l:gentext key="in" text=""/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="var olmayan eleman"/> + <l:gentext key="notes" text="Notlar"/> + <l:gentext key="Notes" text="Notlar"/> + <l:gentext key="Pgs" text="Sayfa"/> + <l:gentext key="pgs" text="Sayfa"/> + <l:gentext key="Revisedby" text="Düzeltmeler: "/> + <l:gentext key="revisedby" text="Düzeltmeler: "/> + <l:gentext key="TableNotes" text="Notlar"/> + <l:gentext key="tablenotes" text="Notlar"/> + <l:gentext key="TableofContents" text="Ýçindekiler"/> + <l:gentext key="tableofcontents" text="Ýçindekiler"/> + <l:gentext key="unexpectedelementname" text="Beklenmedik eleman adý"/> + <l:gentext key="unsupported" text="desteklenmiyor"/> + <l:gentext key="xrefto" text="xref to"/> + <l:gentext key="listofequations" text="Denklemler"/> + <l:gentext key="ListofEquations" text="Denklemler"/> + <l:gentext key="ListofExamples" text="Örnekler"/> + <l:gentext key="listofexamples" text="Örnekler"/> + <l:gentext key="ListofFigures" text="Þekiller"/> + <l:gentext key="listoffigures" text="Þekiller"/> + <l:gentext key="listoftables" text="Tablolar"/> + <l:gentext key="ListofTables" text="Tablolar"/> + <l:gentext key="ListofUnknown" text="Bilinmeyenler"/> + <l:gentext key="listofunknown" text="Bilinmeyenler"/> + <l:gentext key="nav-home" text="Baþlangýç"/> + <l:gentext key="nav-next" text="Sonraki"/> + <l:gentext key="nav-next-sibling" text="Sonraki bölüm"/> + <l:gentext key="nav-prev" text="Önceki"/> + <l:gentext key="nav-prev-sibling" text="Önceki bölüm"/> + <l:gentext key="nav-up" text="Yukarý"/> + <l:gentext key="sectioncalled" text=""/> + <l:gentext key="index symbols" text="Semboller"/> + <l:dingbat key="startquote" text="“"/> + <l:dingbat key="endquote" text="”"/> + <l:dingbat key="nestedstartquote" text="‘"/> + <l:dingbat key="nestedendquote" text="’"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" text="%t"/> + <l:template name="appendix" text="Ek %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="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="Bölüm %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Denklem %n. %t"/> + <l:template name="example" text="Örnek %n. %t"/> + <l:template name="figure" text="Þekil %n. %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="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="Kýsým %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="Yönerge %n. %t"/> + <l:template name="productionset" text="%t"/> + <l:template name="productionset.formal" text="Production %n. %t"/> + <l:template name="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="refentry" text="%t"/> + <l:template name="reference" 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="Tablo %n. %t"/> + <l:template name="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="answer" text="Cevap: %n"/> + <l:template name="appendix" text="Ek %n"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="Bölüm %n"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="equation" text="Denklem %n"/> + <l:template name="example" text="Örnek %n"/> + <l:template name="figure" text="Þekil %n"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="Kýsým %n"/> + <l:template name="preface" text="%t"/> + <l:template name="procedure" text="Yönerge %n"/> + <l:template name="question" text="Soru: %n"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="Tablo %n"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <l:template name="sect1" text="Kýsým %n"/> + <l:template name="sect2" text="Kýsým %n"/> + <l:template name="sect3" text="Kýsým %n"/> + <l:template name="sect4" text="Kýsým %n"/> + <l:template name="sect5" text="Kýsým %n"/> + <l:template name="section" text="Kýsým %n"/> + <l:template name="simplesect" text=" “%t”"/> + </l:context> + + <l:context name="authorgroup"> + <l:template name="sep" text=", "/> + <l:template name="sep2" text=" ve "/> + <l:template name="seplast" text=", ve "/> + </l:context> + + <l:context name="glossary"> + <l:template name="see" text="Bkz. "/> + <l:template name="seealso" text="Bkz. "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="Hedef okuyucu kitlesi: "/> + <l:template name="MsgLevel" text="Düzey: "/> + <l:template name="MsgOrig" text="Kaynak: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/zh_cn.xml b/lib/docbook/docbook-xsl/common/zh_cn.xml new file mode 100644 index 000000000..67b0d5b88 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/zh_cn.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="zh_cn"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="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="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="Published" text="出版"/> + <l:gentext key="published" 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="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="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="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="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="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:dingbat key="startquote" text="""/> + <l:dingbat key="endquote" text="""/> + <l:dingbat key="nestedstartquote" text="'"/> + <l:dingbat key="nestedendquote" text="'"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="附录 %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="章 %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="例子 %n. %t"/> + <l:template name="figure" text="图形 %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="部分 %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="表格 %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <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="simplesect" text="“%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="见 "/> + <l:template name="seealso" text="另见 "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="读者: "/> + <l:template name="MsgLevel" text="难度: "/> + <l:template name="MsgOrig" text="出处: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/common/zh_tw.xml b/lib/docbook/docbook-xsl/common/zh_tw.xml new file mode 100644 index 000000000..6fe9e73f9 --- /dev/null +++ b/lib/docbook/docbook-xsl/common/zh_tw.xml @@ -0,0 +1,315 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="zh_tw"> + +<!-- This file is generated automatically. --> +<!-- Do not edit this file by hand! --> +<!-- See http://docbook.sourceforge.net/ --> + + <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="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="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="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="index" text="索引"/> + <l:gentext key="Index" text="索引"/> + <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="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="published" text="出版"/> + <l:gentext key="Published" 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="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="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="Table" text="表格"/> + <l:gentext key="table" text="表格"/> + <l:gentext key="tip" text="提示"/> + <l:gentext key="Tip" text="提示"/> + <l:gentext key="warning" text="警告"/> + <l:gentext key="Warning" text="警告"/> + <l:gentext key="Edited" text="編輯"/> + <l:gentext key="Editedby" text="編輯"/> + <l:gentext key="Notes" text="注"/> + <l:gentext key="Pgs" text="頁"/> + <l:gentext key="Revisedby" text="修訂"/> + <l:gentext key="TableNotes" text="注釋"/> + <l:gentext key="TableofContents" text="內容目錄"/> + <l:gentext key="and" text="且"/> + <l:gentext key="by" text="由"/> + <l:gentext key="in" text="在"/> + <l:gentext key="lastlistcomma" text=","/> + <l:gentext key="listcomma" text=","/> + <l:gentext key="nonexistantelement" text="不存在的元素"/> + <l:gentext key="page.citation" text="頁"/> + <l:gentext key="unexpectedelementname" text="非預期的元素名"/> + <l:gentext key="unsupported" text="未支援"/> + <l:gentext key="xrefto" text="參照"/> + <l:gentext key="ListofEquations" text="公式目錄"/> + <l:gentext key="ListofExamples" text="範例目錄"/> + <l:gentext key="ListofFigures" text="附圖目錄"/> + <l:gentext key="ListofTables" 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:dingbat key="startquote" text="""/> + <l:dingbat key="endquote" text="""/> + <l:dingbat key="nestedstartquote" text="'"/> + <l:dingbat key="nestedendquote" text="'"/> + <l:dingbat key="bullet" text="•"/> + + <l:context name="title"> + <l:template name="abstract" 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="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="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="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="qandadiv" text="%t"/> + <l:template name="qandaset" text="%t"/> + <l:template name="reference" 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="tip" text="%t"/> + <l:template name="toc" text="%t"/> + <l:template name="variablelist" text="%t"/> + <l:template name="warning" text="%t"/> + </l:context> + + <l:context name="section-title"> + <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="section-title-numbered"> + <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="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="appendix" text="附錄 %n. %t"/> + <l:template name="article" text="%t"/> + <l:template name="bibliography" text="%t"/> + <l:template name="book" text="%t"/> + <l:template name="chapter" text="章 %n. %t"/> + <l:template name="colophon" text="%t"/> + <l:template name="dedication" text="%t"/> + <l:template name="example" text="範例 %n. %t"/> + <l:template name="figure" text="圖形 %n. %t"/> + <l:template name="glossary" text="%t"/> + <l:template name="index" text="%t"/> + <l:template name="part" text="部 %n. %t"/> + <l:template name="preface" text="%t"/> + <l:template name="reference" text="%t"/> + <l:template name="set" text="%t"/> + <l:template name="setindex" text="%t"/> + <l:template name="table" text="表格 %n. %t"/> + </l:context> + + <l:context name="section-xref"> + <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="section-xref-numbered"> + <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="simplesect" text="“%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="參見 "/> + <l:template name="seealso" text="另參見 "/> + </l:context> + + <l:context name="msgset"> + <l:template name="MsgAud" text="讀者: "/> + <l:template name="MsgLevel" text="程度: "/> + <l:template name="MsgOrig" text="出處: "/> + </l:context> +</l:l10n> diff --git a/lib/docbook/docbook-xsl/doc/ChangeLog b/lib/docbook/docbook-xsl/doc/ChangeLog new file mode 100644 index 000000000..389ded7c7 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/ChangeLog @@ -0,0 +1,25 @@ +2001-08-09 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Added tools to Makefile
+
+2001-08-06 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile, book.xsl: Documentation and documentation generation tweaks
+
+2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Back to Xalan; but it only sort of works
+
+ * Makefile, book.xsl, reference.xsl: Use XT again (neither Saxon nor Xalan work)
+
+2001-04-15 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * reference.css: New file.
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile, book.xsl, jrefhtml.xsl, reference.xsl:
+ New file.
+
+ * Makefile: Misc. cleanup in preparation for making a distrib
+
diff --git a/lib/docbook/docbook-xsl/doc/book.xsl b/lib/docbook/docbook-xsl/doc/book.xsl new file mode 100644 index 000000000..ca7aa349b --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/book.xsl @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<xsl:import href="../html/chunk.xsl"/>
+
+<xsl:param name="toc.section.depth" select="'1'"/>
+
+<xsl:param name="html.stylesheet" select="'reference.css'"/>
+
+<xsl:template match="olink[@type='title']">
+ <xsl:variable name="xml"
+ select="document(unparsed-entity-uri(@targetdocent))"/>
+ <xsl:variable name="title" select="($xml/*/title[1]
+ |$xml/*/bookinfo/title[1]
+ |$xml/*/referenceinfo/title[1])[1]"/>
+ <i>
+ <a href="{@localinfo}">
+ <xsl:apply-templates select="$title/*|$title/text()"/>
+ </a>
+ </i>
+</xsl:template>
+
+<xsl:template match="bookinfo/copyright|reference/copyright"
+ mode="titlepage.mode">
+ <xsl:variable name="years" select="year"/>
+ <xsl:variable name="holders" select="holder"/>
+
+ <p class="{name(.)}">
+ <a href="copyright.html">
+ <xsl:call-template name="gentext.element.name"/>
+ </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:apply-templates select="$years" mode="titlepage.mode"/>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:call-template name="gentext.by"/>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:apply-templates select="$holders" mode="titlepage.mode"/>
+ <xsl:text>. </xsl:text>
+ <a href="warranty.html">No Warranty</a>
+ <xsl:text>.</xsl:text>
+ </p>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/doc/ch01s02.html b/lib/docbook/docbook-xsl/doc/ch01s02.html new file mode 100644 index 000000000..3375fa9b4 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/ch01s02.html @@ -0,0 +1,67 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>A brief introduction to XSL</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="publishing.html" title="Chapter 1. DocBook XSL"><link rel="previous" href="publishing.html" title="Chapter 1. DocBook XSL"><link rel="next" href="ch01s03.html" title="XSL processing model"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">A brief introduction to XSL</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="publishing.html">Prev</a> </td><th width="60%" align="center">Chapter 1. DocBook XSL</th><td width="20%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="d0e168"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e168"></a>A brief introduction to XSL</h2></div></div><p>XSL is both a transformation language and a + formatting language. The XSLT transformation part lets you + scan through a document's structure and rearrange its + content any way you like. You can write out the content + using a different set of XML tags, and generate text as + needed. For example, you can scan through a document to + locate all headings and then insert a generated table of + contents at the beginning of the document, at the same time + writing out the content marked up as HTML. XSL is also a + rich formatting language, letting you apply typesetting + controls to all components of your output. With a good + formatting backend, it is capable of producing high quality + printed pages.</p><p>An XSL stylesheet is written using XML syntax, and is + itself a well-formed XML document. That makes the basic + syntax familiar, and enables an XML processor to check for + basic syntax errors. The stylesheet instructions use + special element names, which typically begin with + <tt>xsl:</tt> to distinguish them from any XML + tags you want to appear in the output. The XSL namespace is + identified at the top of the stylesheet file. As with other + XML, any XSL elements that are not empty will require a + closing tag. And some XSL elements have specific attributes + that control their behavior. It helps to keep a good XSL + reference book handy.</p><p>Here is an example of a simple XSL stylesheet applied + to a simple XML file to generate HTML output.</p><div class="example"><p><a name="d0e180"></a><b>Example 1.1. Simple XML file</b></p><pre class="programlisting"><?xml version="1.0"?> +<document> +<title>Using a mouse</title> +<para>It's easy to use a mouse. Just roll it +around and click the buttons.</para> +</document></pre></div><div class="example"><p><a name="d0e185"></a><b>Example 1.2. Simple XSL stylesheet</b></p><pre class="programlisting"><?xml version='1.0'?> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'> +<xsl:output method="html"/> + +<xsl:template match="document"> + <HTML><HEAD><TITLE> + <xsl:value-of select="./title"/> + </TITLE> + </HEAD> + <BODY> + <xsl:apply-templates/> + </BODY> + </HTML> +</xsl:template> + +<xsl:template match="title"> + <H1><xsl:apply-templates/></H1> +</xsl:template> + +<xsl:template match="para"> + <P><xsl:apply-templates/></P> +</xsl:template> + +</xsl:stylesheet> +</pre></div><div class="example"><p><a name="d0e190"></a><b>Example 1.3. HTML output</b></p><pre class="programlisting"><HTML> +<HEAD> +<TITLE>Using a mouse</TITLE> +</HEAD> +<BODY> +<H1>Using a mouse</H1> +<P>It's easy to use a mouse. Just roll it +around and click the buttons.</P> +</BODY> +</HTML> +</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="publishing.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr><tr><td width="40%" align="left">Chapter 1. DocBook XSL </td><td width="20%" align="center"><a accesskey="u" href="publishing.html">Up</a></td><td width="40%" align="right"> XSL processing model</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/ch01s03.html b/lib/docbook/docbook-xsl/doc/ch01s03.html new file mode 100644 index 000000000..fe30d5ad2 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/ch01s03.html @@ -0,0 +1,422 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>XSL processing model</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="publishing.html" title="Chapter 1. DocBook XSL"><link rel="previous" href="ch01s02.html" title="A brief introduction to XSL"><link rel="next" href="ch01s04.html" title="Customizing DocBook XSL stylesheets"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">XSL processing model</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><th width="60%" align="center">Chapter 1. DocBook XSL</th><td width="20%" align="right"> <a accesskey="n" href="ch01s04.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="d0e195"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e195"></a>XSL processing model</h2></div></div><p>XSL is a template language, not a procedural +language. That means a stylesheet specifies a sample of the +output, not a sequence of programming steps to generate it. +A stylesheet consists of a mixture of output samples with +instructions of what to put in each sample. Each bit of +output sample and instructions is called +a <span class="emphasis"><i>template</i></span>.</p><p>In general, you write a template for each element +type in your document. That lets you concentrate on +handling just one element at a time, and keeps a stylesheet +modular. The power of XSL comes from processing the +templates recursively. That is, each template handles the +processing of its own element, and then calls other +templates to process its children, and so on. Since an XML +document is always a single root element at the top level +that contains all of the nested descendent elements, the +XSL templates also start at the top and work their way down +through the hierarchy of elements.</p><p>Take the +DocBook <tt><para></tt> paragraph element as +an example. To convert this to HTML, you want to wrap the +paragraph content with the HTML +tags <tt><p></tt> and <tt></p></tt>. +But a DocBook <tt><para></tt> can contain +any number of in-line DocBook elements marking up the text. +Fortunately, you can let other templates take care of those +elements, so your XSL template +for <tt><para></tt> can be quite +simple:</p><pre class="programlisting"><xsl:template match="para"> + <p> + <xsl:apply-templates/> + </p> +</xsl:template> +</pre><p>The <tt><xsl:template></tt> element +starts a new template, and +its <tt>match</tt> attribute indicates where to +apply the template, in this case to +any <tt><para></tt> elements. The template +says to output a literal <tt><p></tt> string +and then execute +the <tt><xsl:apply-templates/></tt> instruction. +This tells the XSL processor to look among all the +templates in the stylesheet for any that should be applied +to the content of the paragraph. If each template in the +stylesheet includes +an <tt><xsl:apply-templates/></tt> instruction, +then all descendents will eventually be processed. When it +is through recursively applying templates to the paragraph +content, it outputs the <tt></p></tt> closing +tag.</p><div class="sect2"><a name="d0e247"></a><div class="titlepage"><div><h3 class="title"><a name="d0e247"></a>Context is important</h3></div></div><p>Since you aren't writing a linear procedure to +process your document, the context of where and how to +apply each modular template is important. +The <tt>match</tt> attribute +of <tt><xsl:template></tt> provides that +context for most templates. There is an entire expression +language, XPath, for identifying what parts of your +document should be handled by each template. The simplest +context is just an element name, as in the example above. +But you can also specify elements as children of other +elements, elements with certain attribute values, the first +or last elements in a sequence, and so on. Here is how the +DocBook <tt><formalpara></tt> element is +handled:</p><pre class="programlisting"><xsl:template match="formalpara"> + <p> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="formalpara/title"> + <b><xsl:apply-templates/></b> + <xsl:text> </xsl:text> +</xsl:template> + +<xsl:template match="formalpara/para"> + <xsl:apply-templates/> +</xsl:template> +</pre><p>There are three templates defined, one for +the <tt><formalpara></tt> element itself, + and one for each of its children elements. The <tt>match</tt> attribute +value <tt>formalpara/title</tt> in the second +template is an XPath expression indicating +a <tt><title></tt> element that is an +immediate child of +a <tt><formalpara></tt> element. This +distinguishes such titles from +other <tt><title></tt> elements used in +DocBook. XPath expressions are the key to controlling how +your templates are applied.</p><p>In general, the XSL processor has internal rules that +apply templates that are more specific before templates +that are less specific. That lets you control the details, +but also provides a fallback mechanism to a less specific +template when you don't supply the full context for every +combination of elements. This feature is illustrated by the +third template, for <tt>formalpara/para</tt>. By +including this template, the stylesheet processes a <tt><para></tt> within <tt><formalpara></tt> in +a special way, in this case by not outputting the HTML <tt><p></tt> tags already output by its parent. If this template had not been included, then the processor would have fallen back to the template +specified by <tt>match="para"</tt> described +above, which would have output a second set of <tt><p></tt> tags.</p><p>You can also control template context with +XSL <span class="emphasis"><i>modes</i></span>, which are used extensively +in the DocBook stylesheets. Modes let you process the same +input more than once in different ways. +A <tt>mode</tt> attribute in +an <tt><xsl:template></tt> definition adds a +specific mode name to that template. When the same mode +name is used +in <tt><xsl:apply-templates/></tt>, it acts +as a filter to narrow the selection of templates to only +those selected by +the <tt>match</tt> expression <span class="emphasis"><i>and</i></span> that +have that mode name. This lets you define two different +templates for the same element match that are applied under +different contexts. For example, there are two templates +defined for +DocBook <tt><listitem></tt> elements:</p><pre class="programlisting"><xsl:template match="listitem"> + <li><xsl:apply-templates/></li> +</xsl:template> + +<xsl:template match="listitem" mode="xref"> + <xsl:number format="1"/> +</xsl:template> +</pre><p>The first template is for the normal list item +context where you want to output the +HTML <tt><li></tt> tags. The second template +is called with <tt><xsl:apply-templates +select="$target" mode="xref"/></tt> in the context +of processing <tt><xref></tt> elements. In +this case the <tt>select</tt> attribute locates +the ID of the specific list item and +the <tt>mode</tt> attribute selects the second +template, whose effect is to output its item number when it +is in an ordered list. Because there are many such special +needs when +processing <tt><xref></tt> elements, it is +convenient to define a mode name <tt>xref</tt> to +handle them all. Keep in mind that mode settings +do <span class="emphasis"><i>not</i></span> automatically get passed down to +other templates +through <tt><xsl:apply-templates/></tt>.</p></div><div class="sect2"><a name="d0e357"></a><div class="titlepage"><div><h3 class="title"><a name="d0e357"></a>Programming features</h3></div></div><p>Although XSL is template-driven, it also has some +features of traditional programming languages. Here are +some examples from the DocBook stylesheets. </p><pre class="programlisting">Assign a value to a variable: +<xsl:variable name="refelem" select="name($target)"/> + +If statement: +<xsl:if test="$show.comments"> + <i><xsl:call-template name="inline.charseq"/></i> +</xsl:if> + +Case statement: +<xsl:choose> + <xsl:when test="@columns"> + <xsl:value-of select="@columns"/> + </xsl:when> + <xsl:otherwise>1</xsl:otherwise> +</xsl:choose> + +Call a template by name like a subroutine, passing parameter values and accepting a return value: +<xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> +</xsl:call-template> +</pre><p>However, you can't always use these constructs as you +do in other programming languages. Variables in particular +have very different behavior.</p><div class="sect3"><a name="d0e377"></a><div class="titlepage"><div><h4 class="title"><a name="d0e377"></a>Using variables and parameters</h4></div></div><p>XSL provides two elements that let you assign a value +to a +name: <tt><xsl:variable></tt> and <tt><xsl:param></tt>. +These share the same name space and syntax for assigning +names and values. Both can be referred to using +the <tt>$name</tt> syntax. The main difference +between these two elements is that a param's value acts as +a default value that can be overridden when a template is +called using +a <tt><xsl:with-param></tt> element as in the +last example above.</p><p>Here are two examples from DocBook:</p><pre class="programlisting"><xsl:param name="cols">1</xsl:param> +<xsl:variable name="segnum" select="position()"/> +</pre><p>In both elements, the name of the parameter or +variable is specified with +the <tt>name</tt> attribute. So the name of +the <tt>param</tt> here +is <tt>cols</tt> and the name of +the <tt>variable</tt> is <tt>segnum</tt>. +The value of either can be supplied in two ways. The value +of the first example is the text node "1" and is supplied +as the content of the element. The value of the second +example is supplied as the result of the expression in +its <tt>select</tt> attribute, and the element +itself has no content.</p><p>The feature of XSL variables that is odd to new users +is that once you assign a value to a variable, you cannot +assign a new value within the same scope. Doing so will +generate an error. So variables are not used as dynamic +storage bins they way they are in other languages. They +hold a fixed value within their scope of application, and +then disappear when the scope is exited. This feature is a +result of the design of XSL, which is template-driven and +not procedural. This means there is no definite order of +processing, so you can't rely on the values of changing +variables. To use variables in XSL, you need to understand +how their scope is defined.</p><p>Variables defined outside of all templates are +considered global variables, and they are readable within +all templates. The value of a global variable is fixed, and +its global value can't be altered from within any template. +However, a template can create a local variable of the same +name and give it a different value. That local value +remains in effect only within the scope of the local +variable.</p><p>Variables defined within a template remain in effect +only within their permitted scope, which is defined as all +following siblings and their descendants. To understand +such a scope, you have to remember that XSL instructions +are true XML elements that are embedded in an XML family +hierarchy of XSL elements, often referred to as parents, +children, siblings, ancestors and descendants. Taking the +family analogy a step further, think of a variable +assignment as a piece of advice that you are allowed to +give to certain family members. You can give your advice +only to your younger siblings (those that follow you) and +their descendents. Your older siblings won't listen, +neither will your parents or any of your ancestors. To +stretch the analogy a bit, it is an error to try to give +different advice under the same name to the same group of +listeners (in other words, to redefine the variable). Keep +in mind that this family is not the elements of your +document, but just the XSL instructions in your stylesheet. +To help you keep track of such scopes in hand-written +stylesheets, it helps to indent nested XSL elements. Here +is an edited snippet from the DocBook stylesheet +file <tt>pi.xsl</tt> that illustrates different +scopes for two variables:</p><pre class="programlisting"> + 1 <xsl:template name="dbhtml-attribute"> + 2 ... + 3 <xsl:choose> + 4 <xsl:when test="$count>count($pis)"> + 5 <!-- not found --> + 6 </xsl:when> + 7 <xsl:otherwise> + 8 <xsl:variable name="pi"> + 9 <xsl:value-of select="$pis[$count]"/> +10 </xsl:variable> +11 <xsl:choose> +12 <xsl:when test="contains($pi,concat($attribute, '='))"> +13 <xsl:variable name="rest" select="substring-after($pi,concat($attribute,'='))"/> +14 <xsl:variable name="quote" select="substring($rest,1,1)"/> +15 <xsl:value-of select="substring-before(substring($rest,2),$quote)"/> +16 </xsl:when> +17 <xsl:otherwise> +18 ... +19 </xsl:otherwise> +20 </xsl:choose> +21 </xsl:otherwise> +22 </xsl:choose> +23 </xsl:template> + +</pre><p>The scope of the variable <tt>pi</tt> begins +on line 8 where it is defined in this template, and ends on +line 20 when its last sibling ends.<sup>[<a name="d0e434" href="#ftn.d0e434">1</a>]</sup> The scope of the +variable <tt>rest</tt> begins on line 13 and ends +on line 15. Fortunately, line 15 outputs an expression +using the value before it goes out of scope.</p><p>What happens when +an <tt><xsl:apply-templates/></tt> element +is used within the scope of a local variable? Do the +templates that are applied to the document children get the +variable? The answer is no. The templates that are applied +are not actually within the scope of the variable. They +exist elsewhere in the stylesheet and are not following +siblings or their descendants. </p><p>To pass a value to another template, you pass a +parameter using +the <tt><xsl:with-param></tt> element. This +parameter passing is usually done with calls to a specific +named template +using <tt><xsl:call-template></tt>, although +it works +with <tt><xsl:apply-templates></tt> too. +That's because the called template must be expecting the +parameter by defining it using +a <tt><xsl:param></tt> element with the same +parameter name. Any passed parameters whose names are not +defined in the called template are ignored.</p><p>Here is an example of parameter passing +from <tt>docbook.xsl</tt>:</p><pre class="programlisting"><xsl:call-template name="head.content"> + <xsl:with-param name="node" select="$doc"/> +</xsl:call-template> +</pre><p>Here a template +named <tt>head.content</tt> is being called and +passed a parameter named <tt>node</tt> whose +content is the value of the <tt>$doc</tt> variable +in the current context. The top of that template looks like +this:</p><pre class="programlisting"><xsl:template name="head.content"> + <xsl:param name="node" select="."/> +</pre><p>The template is expecting the parameter because it +has a <tt><xsl:param></tt> defined with the +same name. The value in this definition is the default +value. This would be the parameter value used in the +template if the template was called without passing that +parameter.</p></div></div><div class="sect2"><a name="d0e488"></a><div class="titlepage"><div><h3 class="title"><a name="d0e488"></a>Generating HTML output.</h3></div></div><p>You generate HTML from your DocBook XML files by +applying the HTML version of the stylesheets. This is done +by using the HTML driver +file <tt>docbook/html/docbook.xsl</tt> as your +stylesheet. That is the master stylesheet file that +uses <tt><xsl:include></tt> to pull in the +component files it needs to assemble a complete stylesheet +for producing HTML. </p><p>The way the DocBook stylesheet generates HTML is to +apply templates that output a mix of text content and HTML +elements. Starting at the top level in the main +file <tt>docbook.xsl</tt>:</p><pre class="programlisting"><xsl:template match="/"> + <xsl:variable name="doc" select="*[1]"/> + <html> + <head> + <xsl:call-template name="head.content"> + <xsl:with-param name="node" select="$doc"/> + </xsl:call-template> + </head> + <body> + <xsl:apply-templates/> + </body> + </html> +</xsl:template> +</pre><p>This template matches the root element of your input +document, and starts the process of recursively applying +templates. It first defines a variable +named <tt>doc</tt> and then outputs two literal +HTML elements <tt><html></tt> and <tt><head></tt>. +Then it calls a named +template <tt>head.content</tt> to process the +content of the HTML <tt><head></tt>, closes +the <tt><head></tt> and starts +the <tt><body></tt>. There it +uses <tt><xsl:apply-templates/></tt> to +recursively process the entire input document. Then it just +closes out the HTML file.</p><p>Simple HTML elements can generated as literal +elements as shown here. But if the HTML being output +depends on the context, you need something more powerful to +select the element name and possibly add attributes and +their values. Here is a fragment +from <tt>sections.xsl</tt> that shows how a +heading tag is generated using +the <tt><xsl:element></tt> and <tt><xsl:attribute></tt> elements:</p><pre class="programlisting"> + 1 <xsl:element name="h{$level}"> + 2 <xsl:attribute name="class">title</xsl:attribute> + 3 <xsl:if test="$level<3"> + 4 <xsl:attribute name="style">clear: all</xsl:attribute> + 5 </xsl:if> + 6 <a> + 7 <xsl:attribute name="name"> + 8 <xsl:call-template name="object.id"/> + 9 </xsl:attribute> +10 <b><xsl:copy-of select="$title"/></b> +11 </a> +12 </xsl:element> +</pre><p>This whole example is generating a single HTML +heading element. Line 1 begins the HTML element definition +by identifying the name of the element. In this case, the +name is an expression that includes the +variable <tt>$level</tt> passed as a parameter to +this template. Thus a single template can +generate <tt><h1></tt>, <tt><h2></tt>, +etc. depending on the context in which it is called. Line 2 +defines a <tt>class="title"</tt> attribute that is +added to this element. Lines 3 to 5 add +a <tt>style="clear all"</tt> attribute, but only +if the heading level is less than 3. Line 6 opens +an <tt><a></tt> anchor element. Although this +looks like a literal output string, it is actually modified +by lines 7 to 9 that insert +the <tt>name</tt> attribute into +the <tt><a></tt> element. This illustrates +that XSL is managing output elements as active element +nodes, not just text strings. Line 10 outputs the text of +the heading title, also passed as a parameter to the +template, enclosed in HTML boldface tags. Line 11 closes +the anchor tag with the +literal <tt></a></tt> syntax, while line 12 +closes the heading tag by closing the element definition. +Since the actual element name is a variable, it couldn't +use the literal syntax.</p><p>As you follow the sequence of nested templates +processing elements, you might be wondering how the +ordinary text of your input document gets to the output. In +the file <tt>docbook.xsl</tt> you will find +this template that handles any text not processed by any +other template:</p><pre class="programlisting"><xsl:template match="text()"> + <xsl:value-of select="."/> +</xsl:template> +</pre><p>This template's body consists of the "value" of the text node, +which is just its text. In general, all XSL processors have +some built-in templates to handle any content for which +your stylesheet doesn't supply a matching template. This +template serves the same function but appears explicitly in +the stylesheet.</p></div><div class="sect2"><a name="d0e583"></a><div class="titlepage"><div><h3 class="title"><a name="d0e583"></a>Generating formatting objects.</h3></div></div><p>You generate formatting objects from your DocBook XML +files by applying the fo version of the stylesheets. This +is done by using the fo driver +file <tt>docbook/fo/docbook.xsl</tt> as your +stylesheet. That is the master stylesheet file that +uses <tt><xsl:include></tt> to pull in the +component files it needs to assemble a complete stylesheet +for producing formatting objects. Generating a formatting +objects file is only half the process of producing typeset +output. You also need a formatting object processor such as +the Apache XML Project's FOP as described in an earlier +section.</p><p>The DocBook fo stylesheet works in a similar manner +to the HTML stylesheet. Instead of outputting HTML tags, it +outputs text marked up +with <tt><fo:<i><tt>something</tt></i>></tt> tags. +For example, to indicate that some text should be kept +in-line and typeset with a monospace font, it might look +like this:</p><pre class="programlisting"><fo:inline-sequence font-family="monospace">/usr/man</fo:inline-sequence></pre><p>The templates +in <tt>docbook/fo/inline.xsl</tt> that produce +this output for a +DocBook <tt><filename></tt> element look +like this:</p><pre class="programlisting"><xsl:template match="filename"> + <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template name="inline.monoseq"> + <xsl:param name="content"> + <xsl:apply-templates/> + </xsl:param> + <fo:inline-sequence font-family="monospace"> + <xsl:copy-of select="$content"/> + </fo:inline-sequence> +</xsl:template> +</pre><p>There are dozens of fo tags and attributes specified +in the XSL standard. It is beyond the scope of this +document to cover how all of them are used in the DocBook +stylesheets. Fortunately, this is only an intermediate +format that you probably won't have to deal with very much +directly unless you are writing your own +stylesheets.</p></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.d0e434" href="#d0e434">1</a>] </sup>Technically, the scope extends to the end tag of the parent of the <tt><xsl:variable></tt> element. That is effectively the last sibling.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s04.html">Next</a></td></tr><tr><td width="40%" align="left">A brief introduction to XSL </td><td width="20%" align="center"><a accesskey="u" href="publishing.html">Up</a></td><td width="40%" align="right"> Customizing DocBook XSL stylesheets</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/ch01s04.html b/lib/docbook/docbook-xsl/doc/ch01s04.html new file mode 100644 index 000000000..bf4a8c82b --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/ch01s04.html @@ -0,0 +1,250 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Customizing DocBook XSL stylesheets</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="publishing.html" title="Chapter 1. DocBook XSL"><link rel="previous" href="ch01s03.html" title="XSL processing model"><link rel="next" href="extensions.html" title="Chapter 2. Saxon Extensions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Customizing DocBook XSL stylesheets</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s03.html">Prev</a> </td><th width="60%" align="center">Chapter 1. DocBook XSL</th><td width="20%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="d0e616"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e616"></a>Customizing DocBook XSL stylesheets</h2></div></div><p>The DocBook XSL stylesheets are written in a modular +fashion. Each of the HTML and FO stylesheets starts with a +driver file that assembles a collection of component files +into a complete stylesheet. This modular design puts similar things together into smaller files that are easier to write and maintain than one big stylesheet. The modular stylesheet files +are distributed among four directories:</p><div class="variablelist"><dl><dt><a name="d0e622"></a><span class="term">common/</span></dt><dd><p><a name="d0e625"></a>contains code common to both stylesheets, including localization data +</p></dd><dt><a name="d0e628"></a><span class="term">fo/</span></dt><dd><p><a name="d0e631"></a>a stylesheet that produces XSL FO result trees +</p></dd><dt><a name="d0e634"></a><span class="term">html/</span></dt><dd><p><a name="d0e637"></a>a stylesheet that produces HTML/XHTML result trees +</p></dd><dt><a name="d0e640"></a><span class="term">lib/</span></dt><dd><p><a name="d0e643"></a>contains schema-independent functions +</p></dd></dl></div><p>The driver files for each of HTML and FO stylesheets +are <tt>html/docbook.xsl</tt> and <tt>fo/docbook.xsl</tt>, +respectively. A driver file consists mostly of a bunch +of <tt><xsl:include></tt> instructions to +pull in the component templates, and then defines some +top-level templates. For example:</p><pre class="programlisting"><xsl:include href="../VERSION"/> +<xsl:include href="../lib/lib.xsl"/> +<xsl:include href="../common/l10n.xsl"/> +<xsl:include href="../common/common.xsl"/> +<xsl:include href="autotoc.xsl"/> +<xsl:include href="lists.xsl"/> +<xsl:include href="callout.xsl"/> +... +<xsl:include href="param.xsl"/> +<xsl:include href="pi.xsl"/> +</pre><p>The first four modules are shared with the FO +stylesheet and are referenced using relative pathnames to +the common directories. Then the long list of component +stylesheets starts. Pathnames in include statements are +always taken to be relative to the including file. Each +included file must be a valid XSL stylesheet, which means +its root element must +be <tt><xsl:stylesheet></tt>.</p><div class="sect2"><a name="d0e664"></a><div class="titlepage"><div><h3 class="title"><a name="d0e664"></a>Stylesheet inclusion vs. importing</h3></div></div><p>XSL actually provides two inclusion +mechanisms: <tt><xsl:include></tt> and <tt><xsl:import></tt>. +Of the two, <tt><xsl:include></tt> is +the simpler. It treats the included content as if it were +actually typed into the file at that point, and doesn't +give it any more or less precedence relative to the +surrounding text. It is best used when assembling +dissimilar templates that don't overlap what they match. +The DocBook driver files use this instruction to assemble a +set of modules into a stylesheet.</p><p>In contrast, <tt><xsl:import></tt> lets +you manage the precedence of templates and variables. It is +the preferred mode of customizing another stylesheet because +it lets you override definitions in the distributed +stylesheet with your own, without altering the distribution +files at all. You simply import the whole stylesheet and +add whatever changes you want.</p><p>The precedence rules for import are detailed and +rigorously defined in the XSL standard. The basic rule is +that any templates and variables in the importing +stylesheet have precedence over equivalent templates and +variables in the imported stylesheet. Think of the imported stylesheet elements as a fallback collection, to be used only if a match is not found in the current stylesheet. You can customize the templates you want to change in your stylesheet file, and let the imported stylesheet handle the rest.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><a name="d0e685"></a>Note</h3><p>Customizing a DocBook XSL stylesheet is the opposite +of customizing a DocBook DTD. When you customize a DocBook +DTD, the rules of XML and SGML dictate that +the <span class="emphasis"><i>first</i></span> of any duplicate declarations +wins. Any subsequent declarations of the same element or +entity are ignored. The architecture of the DTD provides +slots for inserting your own custom declarations early +enough in the DTD for them to override the standard +declarations. In contrast, customizing an XSL stylesheet is +simpler because your definitions have precedence over imported ones.</p></div><p>You can carry modularization to deeper levels because +module files can also include or import other modules. +You'll need to be careful to maintain the precedence that +you want as the modules get rolled up into a complete +stylesheet. </p></div><div class="sect2"><a name="d0e693"></a><div class="titlepage"><div><h3 class="title"><a name="d0e693"></a>Customizing +with <tt><xsl:import></tt></h3></div></div><p>There is currently one example of customizing +with <tt><xsl:import></tt> in the HTML +version of the DocBook stylesheets. +The <tt>xtchunk.xsl</tt> stylesheet modifies the +HTML processing to output many smaller HTML files rather +than a single large file per input document. It uses XSL +extensions defined only in the XSL +processor <b>XT</b>. In the driver +file <tt>xtchunk.xsl</tt>, the first instruction +is <tt><xsl:import +href="docbook.xsl"/></tt>. That instruction imports +the original driver file, which in turn uses +many <tt><xsl:include></tt> instructions to +include all the modules. That single import instruction +gives the new stylesheet the complete set of DocBook +templates to start with.</p><p>After the +import, <tt>xtchunk.xsl</tt> redefines some of +the templates and adds some new ones. Here is one example +of a redefined template:</p><pre class="programlisting">Original template in autotoc.xsl +<xsl:template name="href.target"> + <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> + +New template in xtchunk.xsl +<xsl:template name="href.target"> + <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> +</pre><p>The new template handles the more complex processing +of HREFs when the output is split into many HTML files. +Where the old template could simply +output <tt>#<i><tt>object.id</tt></i></tt>, +the new one outputs <tt><i><tt>filename</tt></i>#<i><tt>object.id</tt></i></tt>.</p></div><div class="sect2"><a name="d0e744"></a><div class="titlepage"><div><h3 class="title"><a name="d0e744"></a>Setting stylesheet variables</h3></div></div><p>You may not have to define any new templates, +however. The DocBook stylesheets are parameterized using +XSL variables rather than hard-coded values for many of the +formatting features. Since +the <tt><xsl:import></tt> mechanism also +lets you redefine global variables, this gives you an easy +way to customize many features of the DocBook +stylesheets. Over time, more features will be parameterized to permit customization. If you find hardcoded values in the stylesheets that would be useful to customize, please let the maintainer know.</p><p>Near the end of the list of includes in the main +DocBook driver file is the +instruction <tt><xsl:include +href="param.xsl"/></tt>. +The <tt>param.xsl</tt> file is the most +important module for customizing a DocBook XSL stylesheet. +This module contains no templates, only definitions of +stylesheet variables. Since these variables are defined +outside of any template, they are global variables and +apply to the entire stylesheet. By redefining these +variables in an importing stylesheet, you can change the +behavior of the stylesheet.</p><p>To create a customized DocBook stylesheet, you simply +create a new stylesheet file such +as <tt>mystyle.xsl</tt> that imports the standard +stylesheet and adds your own new variable definitions. Here +is an example of a complete custom stylesheet that changes +the depth of sections listed in the table of contents from +two to three:</p><pre class="programlisting"><?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0' + xmlns="http://www.w3.org/TR/xhtml1/transitional" + exclude-result-prefixes="#default"> + +<xsl:import href="docbook.xsl"/> + +<xsl:variable name="toc.section.depth">3</xsl:variable> +<!-- Add other variable definitions here --> + +</xsl:stylesheet> +</pre><p>Following the opening stylesheet element are the +import instruction and one variable definition. The +variable <tt>toc.section.depth</tt> was defined +in <tt>param.xsl</tt> with value "2", and here +it is defined as "3". Since the importing stylesheet takes +precedence, this new value is used. Thus documents +processed with <tt>mystyle.xsl</tt> instead +of <tt>docbook.xsl</tt> will have three levels +of sections in the tables of contents, and all other +processing will be the same.</p><p>Use the list of variables +in <tt>param.xsl</tt> as your guide for creating +a custom stylesheet. If the changes you want are controlled +by a variable there, then customizing is easy. </p></div><div class="sect2"><a name="d0e786"></a><div class="titlepage"><div><h3 class="title"><a name="d0e786"></a>Writing your own templates</h3></div></div><p>If the changes you want are more extensive than what +is supported by variables, you can write new templates. You +can put your new templates directly in your importing +stylesheet, or you can modularize your importing stylesheet +as well. You can write your own stylesheet module +containing a collection of templates for processing lists, +for example, and put them in a file +named <tt>mylists.xsl</tt>. Then your importing +stylesheet can pull in your list templates with +a <tt><xsl:include +href="mylists.xsl"/></tt> instruction. Since your +included template definitions appear after the main import +instruction, your templates will take precedence.</p><p>You'll need to make sure your new templates are +compatible with the remaining modules, which means:</p><div class="itemizedlist"><ul><li><p><a name="d0e800"></a>Any named templates should use the same name so +calling templates in other modules can find them.</p></li><li><p><a name="d0e803"></a>Your template set should process the same elements +matched by templates in the original module, to ensure +complete coverage.</p></li><li><p><a name="d0e806"></a>Include the same set +of <tt><xsl:param></tt> elements in each +template to interface properly with any calling templates, +although you can set different values for your +parameters.</p></li><li><p><a name="d0e812"></a>Any templates that are used like subroutines to +return a value should return the same data type.</p></li></ul></div></div><div class="sect2"><a name="d0e815"></a><div class="titlepage"><div><h3 class="title"><a name="d0e815"></a>Writing your own driver</h3></div></div><p>Another approach to customizing the stylesheets is to +write your own driver file. Instead of +using <tt><xsl:import +href="docbook.xsl"/></tt>, you copy that file to a +new name and rewrite any of +the <tt><xsl:include/></tt> instructions to +assemble a custom collection of stylesheet modules. One +reason to do this is to speed up processing by reducing the +size of the stylesheet. If you are using a customized +DocBook DTD that omits many elements you never use, you +might be able to omit those modules of the +stylesheet.</p></div><div class="sect2"><a name="d0e826"></a><div class="titlepage"><div><h3 class="title"><a name="d0e826"></a>Localization</h3></div></div><p>The DocBook stylesheets include features for +localizing generated text, that is, printing any generated +text in a language other than the default English. In +general, the stylesheets will switch to the language +identified by a <tt>lang</tt> attribute when +processing elements in your documents. If your documents +use the <tt>lang</tt> attribute, then you don't +need to customize the stylesheets at all for +localization.</p><p>As far as the stylesheets go, +a <tt>lang</tt> attribute is inherited by the +descendents of a document element. The stylesheet searches +for a <tt>lang</tt> attribute using this XPath +expression:</p><pre class="programlisting"><xsl:variable name="lang-attr" + select="($target/ancestor-or-self::*/@lang + |$target/ancestor-or-self::*/@xml:lang)[last()]"/></pre><p>This locates the attribute on the current element or +its most recent ancestor. Thus +a <tt>lang</tt> attribute is in effect for an +element and all of its descendents, unless it is reset in +one of those descendents. If you define it in only your +document root element, then it applies to the whole +document:</p><pre class="programlisting"><?xml version="1.0"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN" "docbook.dtd"> +<book lang="fr"> +... +</book></pre><p>When text is being generated, the stylesheet checks +the most recent <tt>lang</tt> attribute and looks +up the generated text strings for that language in a +localization XML file. These are located in +the <tt>common</tt> directory of the +stylesheets, one file per language. Here is the top of the +file <tt>fr.xml</tt>:</p><pre class="programlisting"><localization language="fr"> + +<gentext key="abstract" text="R&#x00E9;sum&#x00E9;"/> +<gentext key="answer" text="R:"/> +<gentext key="appendix" text="Annexe"/> +<gentext key="article" text="Article"/> +<gentext key="bibliography" text="Bibliographie"/> +... +</pre><p>The stylesheet templates use the gentext key names, +and then the stylesheet looks up the associated text value +when the document is processed with that lang setting. The +file <tt>l10n.xml</tt> (note +the <tt>.xml</tt> suffix) lists the filenames of +all the supported languages.</p><p>You can also create a custom stylesheet that sets the +language. That might be useful if your documents don't make +appropriate use of the <tt>lang</tt> attribute. +The module <tt>l10n.xsl</tt> defines two global +variables that can be overridden with an importing +stylesheet as described above. Here are their default +definitions:</p><pre class="programlisting"><xsl:variable name="l10n.gentext.language"></xsl:variable> +<xsl:variable name="l10n.gentext.default.language">en</xsl:variable> +</pre><p>The first one sets the language for all elements, +regardless of an element's <tt>lang</tt> attribute +value. The second just sets a default language for any +elements that haven't got a <tt>lang</tt> setting +of their own (or their ancestors).</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr><tr><td width="40%" align="left">XSL processing model </td><td width="20%" align="center"><a accesskey="u" href="publishing.html">Up</a></td><td width="40%" align="right"> Chapter 2. Saxon Extensions</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/ch02s02.html b/lib/docbook/docbook-xsl/doc/ch02s02.html new file mode 100644 index 000000000..22c265112 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/ch02s02.html @@ -0,0 +1,7 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Using the Extensions</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="extensions.html" title="Chapter 2. Saxon Extensions"><link rel="previous" href="extensions.html" title="Chapter 2. Saxon Extensions"><link rel="next" href="ch03.html" title="Chapter 3. Tools documentation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using the Extensions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Saxon Extensions</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr></table><hr></div><div class="section"><a name="d0e945"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e945"></a>Using the Extensions</h2></div></div><p>For compatibility with other processors, the extensions are disabled +by default. To enable the extensions, turn on +<tt>$saxon.extensions</tt>, for example by passing +<tt>saxon.extensions=1</tt> to Saxon.</p><p>For more control over the specific extensions, see +<i><a href="html/param.html">HTML Parameter Reference</a></i>.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr><tr><td width="40%" align="left">Chapter 2. Saxon Extensions </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> Chapter 3. Tools documentation</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/ch03.html b/lib/docbook/docbook-xsl/doc/ch03.html new file mode 100644 index 000000000..3006a9482 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/ch03.html @@ -0,0 +1,4 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Chapter 3. Tools documentation</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="previous" href="ch02s02.html" title="Using the Extensions"><link rel="next" href="ch04.html" title="Chapter 4. Reference Documentation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Tools documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="d0e960"></a>Chapter 3. Tools documentation</h2></div></div><p>There are several tools useful for usage with DocBook in +directory <tt>tools</tt>.</p><div class="itemizedlist"><ul><li><p><a name="d0e969"></a><a href="tools/profiling.html" target="_top">Profiling</a></p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04.html">Next</a></td></tr><tr><td width="40%" align="left">Using the Extensions </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> Chapter 4. Reference Documentation</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/ch04.html b/lib/docbook/docbook-xsl/doc/ch04.html new file mode 100644 index 000000000..c6c76391d --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/ch04.html @@ -0,0 +1,3 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Chapter 4. Reference Documentation</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="previous" href="ch03.html" title="Chapter 3. Tools documentation"><link rel="next" href="ch05.html" title="Chapter 5. The Template System"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Reference Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch05.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="d0e973"></a>Chapter 4. Reference Documentation</h2></div></div><p>Reference documentation is also available:</p><div class="itemizedlist"><ul><li><p><a name="d0e979"></a><i><a href="reference.html">DocBook XSL Stylesheet Reference Documentation</a></i></p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="ch05.html">Next</a></td></tr><tr><td width="40%" align="left">Chapter 3. Tools documentation </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> Chapter 5. The Template System</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/ch05.html b/lib/docbook/docbook-xsl/doc/ch05.html new file mode 100644 index 000000000..bf1ed393f --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/ch05.html @@ -0,0 +1,60 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Chapter 5. The Template System</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="previous" href="ch04.html" title="Chapter 4. Reference Documentation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. The Template System</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="d0e982"></a>Chapter 5. The Template System</h2></div><div><h3 class="author">Norman Walsh</h3></div><div><p class="releaseinfo"> +$Id: ch05.html,v 1.1 2002/05/15 17:22:23 isberg Exp $ +</p></div><div><p class="copyright">Copyright © 2000 Norman Walsh</p></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="ch05.html#d0e1006">Changing the Article Title Page</a></dt></dl></div><p>Some parts of the DocBook XSL Stylesheets are actually generated +using XSL Stylesheets. In particular, the formatting of title pages +is generated using a special template system. The same template system +will eventually allow you to easily customize bibliography entries and +perhaps other parts of the system as well.</p><p>FIXME: there needs to be more introductory/explanatory text +here!</p><div class="section"><a name="d0e1006"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e1006"></a>Changing the Article Title Page</h2></div></div><p>In order to demonstrate how this system works, let's consider +how we can use it to change the format of article title pages.</p><p>By default, the stylesheets print the following elements on the +article title page, in this order: <span class="simplelist"><tt>title</tt>, <tt>subtitle</tt>, <tt>corpauthor</tt>, <tt>authorgroup</tt>, <tt>author</tt>, <tt>releaseinfo</tt>, <tt>copyright</tt>, <tt>legalnotice</tt>, <tt>pubdate</tt>, <tt>revision</tt>, <tt>revhistory</tt>, <tt>abstract</tt></span>. Suppose we want to put only the +<tt>title</tt>, <tt>author</tt>, and +<tt>edition</tt> elements on the title page, in the order +that they appear in the <tt>articleinfo</tt>. +</p><p>The hard (and wrong!) way to do it would be to +edit <tt>titlepage.templates.xsl</tt> and make the changes +by hand.</p><p>The easy and right way is to construct a template document that +describes the order and sequence of elements that you want:</p><pre class="screen"> +<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + base-stylesheet="/path/to/html/docbook.xsl"> + +<t:titlepage element="article" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto" order="document"> + <title predicate="[1]"/> + <author/> + <edition/> + </t:titlepage-content> +</t:titlepage> +</t:templates> +</pre><p>Then process this document with the +<tt>template/titlepage.xsl</tt> stylesheet. This will +produce the following somewhat cryptic stylesheet:</p><pre class="screen"> +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<!-- This stylesheet was created by titlepage.xsl; do not edit it by hand. --> + +<xsl:import href="/path/to/html/docbook.xsl"/> + +<xsl:template name="article.titlepage.recto"><xsl:apply-templates mode="article.titlepage.recto.mode" select="(articleinfo/title|artheader/title|title)[1]|articleinfo/author|artheader/author|articleinfo/edition|artheader/edition"/> +</xsl:template> + +<xsl:template name="article.titlepage"> + <div class="titlepage"> + <xsl:call-template name="article.titlepage.before.recto"/> + <xsl:call-template name="article.titlepage.recto"/> + <xsl:call-template name="article.titlepage.before.verso"/> + <xsl:call-template name="article.titlepage.verso"/> + <xsl:call-template name="article.titlepage.separator"/> + </div> +</xsl:template> + +</xsl:stylesheet> +</pre><p>Despite its cryptic appearance, it has the desired result. +If you want to change <span class="emphasis"><i>how</i></span> the titlepage elements +are formatted (as opposed to which ones are formatted), you have to +write your own customization layer that overrides the template for +the element in question in the titlepage.mode mode.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left">Chapter 4. Reference Documentation </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> </td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/common/ChangeLog b/lib/docbook/docbook-xsl/doc/common/ChangeLog new file mode 100644 index 000000000..685464607 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/common/ChangeLog @@ -0,0 +1,12 @@ +2001-08-06 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Documentation and documentation generation tweaks
+
+2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Use XT again (neither Saxon nor Xalan work)
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
diff --git a/lib/docbook/docbook-xsl/doc/common/common.html b/lib/docbook/docbook-xsl/doc/common/common.html new file mode 100644 index 000000000..796384190 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/common/common.html @@ -0,0 +1,387 @@ +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + + <title>Common Template Reference</title> + <link rel="stylesheet" href="../reference.css" type="text/css"> + <meta name="generator" content="DocBook XSL Stylesheets V1"> + </head> + <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> + <div class="reference"> + <div class="titlepage"> + <div> + <h1 class="title"><a name="d0e1"></a>Common Template Reference + </h1> + </div> + <div> + <h3 class="author">Norman Walsh</h3> + </div> + <div> + <p class="releaseinfo"> + $Id: common.html,v 1.1 2002/05/15 17:22:23 isberg Exp $ + + </p> + </div> + <div> + <p class="copyright"><a href="../copyright.html">Copyright</a> © 1999, 2000 by Norman Walsh. <a href="../warranty.html">No Warranty</a>. + </p> + </div> + <hr> + </div> + <div class="partintro"> + <div></div> + <div class="section"><a name="d0e24"></a><div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a name="d0e24"></a>Introduction + </h2> + </div> + </div> + <p>This is technical reference documentation for the DocBook XSL + Stylesheets; it documents (some of) the parameters, templates, and + other elements of the stylesheets. + </p> + <p>This is not intended to be user documentation. + It is provided for developers writing customization layers for the + stylesheets, and for anyone who's interested in how it + works. + </p> + <p>Although I am trying to be thorough, this documentation is known + to be incomplete. Don't forget to read the source, too :-) + </p> + </div> + <div class="toc"> + <p><b>Table of Contents</b></p> + <dl> + <dt><a href="#template.is.component">is.component</a> - Tests if a given node is a component-level element + </dt> + <dt><a href="#template.is.section">is.section</a> - Tests if a given node is a section-level element + </dt> + <dt><a href="#template.section.level">section.level</a> - Returns the hierarchical level of a section. + </dt> + <dt><a href="#template.qanda.section.level">qanda.section.level</a> - Returns the hierarchical level of a QandASet. + </dt> + <dt><a href="#template.select.mediaobject">select.mediaobject</a> - Selects an appropriate media object from a list + </dt> + <dt><a href="#template.is.acceptable.mediaobject">is.acceptable.mediaobject</a> - Returns '1' if the specified media object is recognized. + </dt> + <dt><a href="#template.check.id.unique">check.id.unique</a> - Warn users about references to non-unique IDs + </dt> + <dt><a href="#template.check.idref.targets">check.idref.targets</a> - Warn users about incorrectly typed references + </dt> + </dl> + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.is.component"></a>is.component + </h1> + <div class="refnamediv"><a name="d0e40"></a><h2>Name</h2>is.component — Tests if a given node is a component-level element + </div> + <div class="refsynopsisdiv"><a name="d0e45"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="is.component"> +<xsl:param name="node" select="."/> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e48"></a> + + + <p>This template returns '1' if the specified node is a component + (Chapter, Appendix, etc.), and '0' otherwise. + </p> + + + </div> + <div class="refparameter"><b><a name="d0e53"></a>Parameters</b> + + + <div class="variablelist"> + <dl> + <dt><a name="d0e56"></a><span class="term">node</span></dt> + <dd> + <p><a name="d0e59"></a>The node which is to be tested. + </p> + </dd> + </dl> + </div> + + + </div> + <div class="refreturn"><b><a name="d0e63"></a>Returns</b> + + + <p>This template returns '1' if the specified node is a component + (Chapter, Appendix, etc.), and '0' otherwise. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.is.section"></a>is.section + </h1> + <div class="refnamediv"><a name="d0e69"></a><h2>Name</h2>is.section — Tests if a given node is a section-level element + </div> + <div class="refsynopsisdiv"><a name="d0e74"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="is.section"> +<xsl:param name="node" select="."/> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e77"></a> + + + <p>This template returns '1' if the specified node is a section + (Section, Sect1, Sect2, etc.), and '0' otherwise. + </p> + + + </div> + <div class="refparameter"><b><a name="d0e82"></a>Parameters</b> + + + <div class="variablelist"> + <dl> + <dt><a name="d0e85"></a><span class="term">node</span></dt> + <dd> + <p><a name="d0e88"></a>The node which is to be tested. + </p> + </dd> + </dl> + </div> + + + </div> + <div class="refreturn"><b><a name="d0e92"></a>Returns</b> + + + <p>This template returns '1' if the specified node is a section + (Section, Sect1, Sect2, etc.), and '0' otherwise. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.section.level"></a>section.level + </h1> + <div class="refnamediv"><a name="d0e98"></a><h2>Name</h2>section.level — Returns the hierarchical level of a section. + </div> + <div class="refsynopsisdiv"><a name="d0e103"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="section.level"> +<xsl:param name="node" select="."/> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e106"></a> + + + <p>This template calculates the hierarchical level of a section. + Hierarchically, components are top level, so a + <tt>sect1</tt> is at level 2, <tt>sect3</tt> is + at level 3, etc. + </p> + + + + + <p>Recursive sections are calculated down to the sixth level.</p> + + + </div> + <div class="refparameter"><b><a name="d0e123"></a>Parameters</b> + + + <div class="variablelist"> + <dl> + <dt><a name="d0e126"></a><span class="term">node</span></dt> + <dd> + <p><a name="d0e129"></a>The section node for which the level should be calculated. + Defaults to the context node. + </p> + </dd> + </dl> + </div> + + + </div> + <div class="refreturn"><b><a name="d0e133"></a>Returns</b> + + + <p>The section level, 2, 3, etc. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.qanda.section.level"></a>qanda.section.level + </h1> + <div class="refnamediv"><a name="d0e145"></a><h2>Name</h2>qanda.section.level — Returns the hierarchical level of a QandASet. + </div> + <div class="refsynopsisdiv"><a name="d0e150"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="qanda.section.level"/></pre></div> + <div class="refdescription"><a name="d0e153"></a> + + + <p>This template calculates the hierarchical level of a QandASet. + + </p> + + + </div> + <div class="refreturn"><b><a name="d0e158"></a>Returns</b> + + + <p>The level, 1, 2, etc. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.select.mediaobject"></a>select.mediaobject + </h1> + <div class="refnamediv"><a name="d0e170"></a><h2>Name</h2>select.mediaobject — Selects an appropriate media object from a list + </div> + <div class="refsynopsisdiv"><a name="d0e175"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="select.mediaobject"> +<xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/> +<xsl:param name="count">1</xsl:param> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e178"></a> + + + <p>This template examines a list of media objects (usually the + children of a mediaobject or inlinemediaobject) and processes + the "right" object. + </p> + + + + + <p>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. + + </p> + + + + + <p>If no acceptable object is located, nothing happens.</p> + + + </div> + <div class="refparameter"><b><a name="d0e189"></a>Parameters</b> + + + <div class="variablelist"> + <dl> + <dt><a name="d0e192"></a><span class="term">olist</span></dt> + <dd> + <p><a name="d0e195"></a>The node list of potential objects to examine. + </p> + </dd> + </dl> + </div> + + + </div> + <div class="refreturn"><b><a name="d0e199"></a>Returns</b> + + + <p>Calls <xsl:apply-templates> on the selected object.</p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.is.acceptable.mediaobject"></a>is.acceptable.mediaobject + </h1> + <div class="refnamediv"><a name="d0e205"></a><h2>Name</h2>is.acceptable.mediaobject — Returns '1' if the specified media object is recognized. + </div> + <div class="refsynopsisdiv"><a name="d0e210"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="is.acceptable.mediaobject"> +<xsl:param name="object"/> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e213"></a> + + + <p>This template examines a media object and returns '1' if the + object is recognized as a graphic. + </p> + + + </div> + <div class="refparameter"><b><a name="d0e218"></a>Parameters</b> + + + <div class="variablelist"> + <dl> + <dt><a name="d0e221"></a><span class="term">object</span></dt> + <dd> + <p><a name="d0e224"></a>The media object to consider. + </p> + </dd> + </dl> + </div> + + + </div> + <div class="refreturn"><b><a name="d0e228"></a>Returns</b> + + + <p>0 or 1</p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.check.id.unique"></a>check.id.unique + </h1> + <div class="refnamediv"><a name="d0e234"></a><h2>Name</h2>check.id.unique — Warn users about references to non-unique IDs + </div> + <div class="refsynopsisdiv"><a name="d0e239"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="check.id.unique"> +<xsl:param name="linkend"/> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e242"></a> + + + <p>If passed an ID in <tt>linkend</tt>, + <tt>check.id.unique</tt> prints + a warning message to the user if either the ID does not exist or + the ID is not unique. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.check.idref.targets"></a>check.idref.targets + </h1> + <div class="refnamediv"><a name="d0e254"></a><h2>Name</h2>check.idref.targets — Warn users about incorrectly typed references + </div> + <div class="refsynopsisdiv"><a name="d0e259"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="check.idref.targets"> +<xsl:param name="linkend"/> +<xsl:param name="element-list"/> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e262"></a> + + + <p>If passed an ID in <tt>linkend</tt>, + <tt>check.idref.targets</tt> makes sure that the element + pointed to by the link is one of the elements listed in + <tt>element-list</tt> and warns the user otherwise. + </p> + + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/copyright.html b/lib/docbook/docbook-xsl/doc/copyright.html new file mode 100644 index 000000000..75eea146b --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/copyright.html @@ -0,0 +1,19 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Copyright</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="legalnotice"><p class="legalnotice-title"><b>Copyright</b></p><p>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: +</p><p>The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software.</p><p>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.</p><p>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.</p></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/extensions.html b/lib/docbook/docbook-xsl/doc/extensions.html new file mode 100644 index 000000000..02d2510d8 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/extensions.html @@ -0,0 +1,41 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Chapter 2. Saxon Extensions</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="previous" href="ch01s04.html" title="Customizing DocBook XSL stylesheets"><link rel="next" href="ch02s02.html" title="Using the Extensions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Saxon Extensions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s04.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="d0e893"></a>Chapter 2. Saxon Extensions</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="extensions.html#d0e937">Installation</a></dt><dt><a href="ch02s02.html">Using the Extensions</a></dt></dl></div><p>Beginning with release 1.25, the DocBook XSL Stylesheets include +a set of Java extensions for Saxon.</p><p>These extensions enable callouts, numbered program listings, and +the direct inclusion of text:</p><div class="programlistingco"><pre class="programlisting"> 1 @rem = '--*-Perl-*-- <span class="co"><img src="images/callouts/1.png" alt="(1)"></span> + @echo off + perl.exe %_batchname %$ + goto endofperl <span class="co"><img src="images/callouts/2.png" alt="(2)"></span> + 5 @rem '; + + # Compress mail... + + require 'n:/home/nwalsh/lib/cygnus.pl'; <span class="co"><img src="images/callouts/3.png" alt="(3)"></span> + 10 require 'timelocal.pl'; <span class="co"><img src="images/callouts/3.png" alt="(3)"></span> + use Cwd; <span class="co"><img src="images/callouts/4.png" alt="(4)"></span> + + select (STDERR); $| = 1; + select (STDOUT); $| = 1; + 15 + @DIRS = ("/home/nwalsh/Mail"); + while (@DIRS) { + $dir = shift @DIRS; + opendir (DIR, $dir); + 20 while ($fname = readdir(DIR)) { + $file = "$dir/$fname"; + next if ! -d $file; + next if $fname =~ /^\.\.?$/; + + 25 print "$file\n"; + push (@DIRS, $file); + &compress ($file); <span class="co"><img src="images/callouts/5.png" alt="(5)"></span> + } + } + 30 + exit;</pre><div class="calloutlist"><a name="d0e912"></a><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a name="d0e913"></a><img src="images/callouts/1.png" alt="1" border="0"></td><td valign="top" align="left"><p>The prologue handles embedding a Perl script in a DOS batch file.</p></td></tr><tr><td width="5%" valign="top" align="left"><a name="d0e916"></a><img src="images/callouts/2.png" alt="2" border="0"></td><td valign="top" align="left"><p>The <tt>goto</tt> statement, interpreted by the DOS batch +file interpreter, skips over the body of the Perl script.</p></td></tr><tr><td width="5%" valign="top" align="left"><a name="d0e922"></a><img src="images/callouts/3.png" alt="3" border="0"></td><td valign="top" align="left"><p>The <tt>require</tt> statement sources in external program +fragments.</p></td></tr><tr><td width="5%" valign="top" align="left"><a name="d0e928"></a><img src="images/callouts/4.png" alt="4" border="0"></td><td valign="top" align="left"><p>The <tt>use</tt> statement is similar, but has additional +utility. It is a Perl5 function. (Note that this callout area specifies +both a line and a column.)</p></td></tr><tr><td width="5%" valign="top" align="left"><a name="d0e934"></a><img src="images/callouts/5.png" alt="5" border="0"></td><td valign="top" align="left"><p>This is a user subroutine call.</p></td></tr></table></div></div><div class="section"><a name="d0e937"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e937"></a>Installation</h2></div></div><p>The extensions are included in the distribution in +<tt>extensions/nwalsh.jar</tt>. Just make sure that jar +file is in your CLASSPATH when you run Saxon.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr><tr><td width="40%" align="left">Customizing DocBook XSL stylesheets </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> Using the Extensions</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/fo/ChangeLog b/lib/docbook/docbook-xsl/doc/fo/ChangeLog new file mode 100644 index 000000000..685464607 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/fo/ChangeLog @@ -0,0 +1,12 @@ +2001-08-06 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Documentation and documentation generation tweaks
+
+2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Use XT again (neither Saxon nor Xalan work)
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
diff --git a/lib/docbook/docbook-xsl/doc/fo/param.html b/lib/docbook/docbook-xsl/doc/fo/param.html new file mode 100644 index 000000000..8b2170c33 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/fo/param.html @@ -0,0 +1,1833 @@ +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + + <title>Formatting Object Parameter Reference</title> + <link rel="stylesheet" href="../reference.css" type="text/css"> + <meta name="generator" content="DocBook XSL Stylesheets V1"> + </head> + <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> + <div class="reference"> + <div class="titlepage"> + <div> + <h1 class="title"><a name="d0e1"></a>Formatting Object Parameter Reference + </h1> + </div> + <div> + <h3 class="author">Norman Walsh</h3> + </div> + <div> + <p class="releaseinfo"> + $Id: param.html,v 1.1 2002/05/15 17:22:23 isberg Exp $ + + </p> + </div> + <div> + <p class="copyright"><a href="../copyright.html">Copyright</a> © 1999, 2000 by Norman Walsh. <a href="../warranty.html">No Warranty</a>. + </p> + </div> + <hr> + </div> + <div class="partintro"> + <div></div> + <div class="section"><a name="d0e24"></a><div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a name="d0e24"></a>Introduction + </h2> + </div> + </div> + <p>This is technical reference documentation for the DocBook XSL + Stylesheets; it documents (some of) the parameters, templates, and + other elements of the stylesheets. + </p> + <p>This reference describes each of the Formatting Object + Stylesheet parameters. These are the easily + customizable parts of the stylesheet. If you want to specify + an alternate value for one or more of these parameters, you can do so + in a driver stylesheet. + </p> + <p>For example, if you want to turn on automatic section numbering, + you might create a driver stylesheet like this: + </p><pre class="programlisting"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + + <xsl:import href="/path/to/fo/docbook.xsl"/> + + <xsl:param name="section.autolabel" select="1"/> + +</xsl:stylesheet></pre><p>Naturally, you have to change the + <tt>href</tt> attribute on + <tt><xsl:import></tt> + to point to <tt>docbook.xsl</tt> + on your system. + </p> + <p>This is not intended to be user documentation. + It is provided for developers writing customization layers for the + stylesheets, and for anyone who's interested in how it + works. + </p> + <p>Although I am trying to be thorough, this documentation is known + to be incomplete. Don't forget to read the source, too :-) + </p> + </div> + <div class="toc"> + <p><b>Table of Contents</b></p> + <dl> + <dt><a href="#param.admon.graphics.extension">admon.graphics.extension</a> - Extension for admonition graphics + </dt> + <dt><a href="#var.qandadiv.autolabel">qandadiv.autolabel</a> - Are divisions in QAndASets enumerated? + </dt> + <dt><a href="#var.qanda.inherit.numeration">qanda.inherit.numeration</a> - Does enumeration of QandASet components inherit the numeration of parent elements? + </dt> + <dt><a href="#var.graphic.default.extension">graphic.default.extension</a> - Default extension for graphic filenames + </dt> + <dt><a href="#attrset.formal.title.properties">formal.title.properties mode</a> - Properties of formal object titles + </dt> + <dt><a href="#attrset.component.title.properties">component.title.properties mode</a> - Properties of component titles + </dt> + <dt><a href="#attrset.admonition.title.properties">admonition.title.properties mode</a> - Properties of admonition titles + </dt> + <dt><a href="#attrset.xref.properties">xref.properties mode</a> - Visual properties of hotlinks + </dt> + <dt><a href="#param.insert.xref.page.number">insert.xref.page.number</a> - Turns page numbers in xrefs on and off + </dt> + <dt><a href="#attrset.normal.para.spacing">normal.para.spacing mode</a> - Spacing properties of normal paragraphs + </dt> + <dt><a href="#attrset.list.block.spacing">list.block.spacing mode</a> - Spacing properties of list blocks + </dt> + <dt><a href="#attrset.list.item.spacing">list.item.spacing mode</a> - Spacing properties of list items + </dt> + <dt><a href="#param.rootid">rootid</a> - Specify the root element to format + </dt> + <dt><a href="#param.callout.graphics">callout.graphics</a> - Use graphics for callouts? + </dt> + <dt><a href="#param.callout.unicode">callout.unicode</a> - First character to use for Unicode callouts + </dt> + <dt><a href="#param.callout.unicode.font">callout.unicode.font</a> - Font to use for Unicode dingbats + </dt> + <dt><a href="#param.callout.unicode.start.character">callout.unicode.start.character</a> - Number of the largest callout graphic + </dt> + <dt><a href="#param.callout.unicode.number.limit">callout.unicode.number.limit</a> - Number of the largest callout graphic + </dt> + <dt><a href="#param.callout.graphics.extension">callout.graphics.extension</a> - Extension for callout graphics + </dt> + <dt><a href="#param.callout.graphics.path">callout.graphics.path</a> - Path to callout graphics + </dt> + <dt><a href="#param.callout.graphics.number.limit">callout.graphics.number.limit</a> - Number of the largest callout graphic + </dt> + <dt><a href="#param.use.extensions">use.extensions</a> - Enable extensions + </dt> + <dt><a href="#param.textinsert.extension">textinsert.extension</a> - Enable the textinsert extension element + </dt> + <dt><a href="#param.linenumbering.extension">linenumbering.extension</a> - Enable the line numbering extension + </dt> + <dt><a href="#param.linenumbering.everyNth">linenumbering.everyNth</a> - Indicate which lines should be numbered + </dt> + <dt><a href="#param.linenumbering.width">linenumbering.width</a> - Indicates the width of line numbers + </dt> + <dt><a href="#param.linenumbering.separator">linenumbering.separator</a> - Specify a separator between line numbers and lines + </dt> + <dt><a href="#param.callouts.extension">callouts.extension</a> - Enable the callout extension + </dt> + <dt><a href="#param.callout.defaultcolumn">callout.defaultcolumn</a> - Indicates what column callouts appear in by default + </dt> + <dt><a href="#param.tablecolumns.extension">tablecolumns.extension</a> - Enable the table columns extension function + </dt> + <dt><a href="#param.nominal.table.width">nominal.table.width</a> - The (absolute) nominal width of tables + </dt> + <dt><a href="#param.default.table.width">default.table.width</a> - The default width of tables + </dt> + <dt><a href="#param.paper.type">paper.type</a> - Select the paper type + </dt> + <dt><a href="#param.page.orientation">page.orientation</a> - Select the page orientation + </dt> + <dt><a href="#param.page.width.portrait">page.width.portrait</a> - Specify the physical size of the short edge of the page + </dt> + <dt><a href="#param.page.height.portrait">page.height.portrait</a> - Specify the physical size of the long edge of the page + </dt> + <dt><a href="#param.page.width">page.width</a> - The width of the physical page + </dt> + <dt><a href="#param.page.height">page.height</a> - The height of the physical page + </dt> + <dt><a href="#param.double.sided">double.sided</a> - Is the document to be printed double sided? + </dt> + <dt><a href="#param.column.count">column.count</a> - Specifies the number of columns of text on the page + </dt> + <dt><a href="#param.region.after.extent">region.after.extent</a> - Specifies the height of the footer. + </dt> + <dt><a href="#param.region.before.extent">region.before.extent</a> - Specifies the height of the header + </dt> + <dt><a href="#param.page.margin.top">page.margin.top</a> - The top margin of the page + </dt> + <dt><a href="#param.page.margin.bottom">page.margin.bottom</a> - The bottom margin of the page + </dt> + <dt><a href="#param.page.margin.inner">page.margin.inner</a> - The inner page margin + </dt> + <dt><a href="#param.page.margin.outer">page.margin.outer</a> - The outer page margin + </dt> + <dt><a href="#param.body.margin.bottom">body.margin.bottom</a> - The bottom margin of the body text + </dt> + <dt><a href="#param.body.margin.top">body.margin.top</a> - FIXME: + </dt> + <dt><a href="#param.body.font.family">body.font.family</a> - The default font family for body text + </dt> + <dt><a href="#param.title.font.family">title.font.family</a> - The default font family for titles + </dt> + <dt><a href="#param.monospace.font.family">monospace.font.family</a> - The default font family for monospace environments + </dt> + <dt><a href="#param.sans.font.family">sans.font.family</a> - The default sans-serif font family + </dt> + <dt><a href="#param.dingbat.font.family">dingbat.font.family</a> - The font family for copyright, quotes, and other symbols + </dt> + <dt><a href="#param.body.font.master">body.font.master</a> - Specifies the default point size for body text + </dt> + <dt><a href="#param.body.font.size">body.font.size</a> - Specifies the default font size for body text + </dt> + <dt><a href="#param.footnote.font.size">footnote.font.size</a> - The font size for footnotes + </dt> + <dt><a href="#param.hyphenate">hyphenate</a> - Specify hyphenation behavior + </dt> + <dt><a href="#param.alignment">alignment</a> - Specify the default text alignment + </dt> + <dt><a href="#param.stylesheet.result.type">stylesheet.result.type</a> - Identifies the output format of this stylesheet + </dt> + <dt><a href="#param.generate.component.toc">generate.component.toc</a> - Generate a table of contents for components? + </dt> + <dt><a href="#param.generate.division.toc">generate.division.toc</a> - Generate a table of contents for divisions? + </dt> + <dt><a href="#param.generate.division.figure.lot">generate.division.figure.lot</a> - Generate a list of titles for Figures? + </dt> + <dt><a href="#param.generate.division.example.lot">generate.division.example.lot</a> - Generate a list of titles for Examples? + </dt> + <dt><a href="#param.generate.division.equation.lot">generate.division.equation.lot</a> - Generate a list of titles for Equations? + </dt> + <dt><a href="#param.generate.division.table.lot">generate.division.table.lot</a> - Generate a list of titles for Tables? + </dt> + <dt><a href="#param.passivetex.extensions">passivetex.extensions</a> - Enable PassiveTeX extensions? + </dt> + <dt><a href="#param.arbortext.extensions">arbortext.extensions</a> - Enable Arbortext extensions? + </dt> + <dt><a href="#param.fop.extensions">fop.extensions</a> - Enable FOP extensions? + </dt> + <dt><a href="#param.xep.extensions">xep.extensions</a> - Enable XEP extensions? + </dt> + <dt><a href="#param.default.units">default.units</a> - Default units for an unqualified dimension + </dt> + <dt><a href="#param.label.from.part">label.from.part</a> - Renumber chapters in each part? + </dt> + <dt><a href="#param.formal.procedures">formal.procedures</a> - Selects formal or informal procedures + </dt> + <dt><a href="#param.bibliography.collection">bibliography.collection</a> - Name of the bibliography collection file + </dt> + <dt><a href="#param.format.variablelist.as.list">format.variablelist.as.list</a> - Use an fo:list to format VariableLists? + </dt> + <dt><a href="#param.runinhead.title.end.punct">runinhead.title.end.punct</a> - Characters that count as punctuation on a run-in-head + </dt> + <dt><a href="#param.runinhead.default.title.end.punct">runinhead.default.title.end.punct</a> - Default punctuation character on a run-in-head + </dt> + </dl> + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.admon.graphics.extension"></a>admon.graphics.extension + </h1> + <div class="refnamediv"><a name="d0e63"></a><h2>Name</h2>admon.graphics.extension — Extension for admonition graphics + </div> + <div class="refsynopsisdiv"><a name="d0e68"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="admon.graphics.extension" select="'.png'" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e71"></a> + + + <p>Sets the extension to use on admonition graphics.</p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="var.qandadiv.autolabel"></a>qandadiv.autolabel + </h1> + <div class="refnamediv"><a name="d0e77"></a><h2>Name</h2>qandadiv.autolabel — Are divisions in QAndASets enumerated? + </div> + <div class="refsynopsisdiv"><a name="d0e82"></a><h2>Synopsis</h2><pre class="synopsis"></pre></div> + <div class="refdescription"><a name="d0e84"></a> + + + <p>If true (non-zero), unlabeled qandadivs will be enumerated. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="var.qanda.inherit.numeration"></a>qanda.inherit.numeration + </h1> + <div class="refnamediv"><a name="d0e90"></a><h2>Name</h2>qanda.inherit.numeration — Does enumeration of QandASet components inherit the numeration of parent elements? + </div> + <div class="refsynopsisdiv"><a name="d0e95"></a><h2>Synopsis</h2><pre class="synopsis"></pre></div> + <div class="refdescription"><a name="d0e97"></a> + + + <p>If true (non-zero), numbered QandADiv elements and Questions and Answers inherit + the numeration of the ancestors of the QandASet. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="var.graphic.default.extension"></a>graphic.default.extension + </h1> + <div class="refnamediv"><a name="d0e103"></a><h2>Name</h2>graphic.default.extension — Default extension for graphic filenames + </div> + <div class="refsynopsisdiv"><a name="d0e108"></a><h2>Synopsis</h2><pre class="synopsis"></pre></div> + <div class="refdescription"><a name="d0e110"></a> + + + <p>If a <tt>graphic</tt> or <tt>mediaobject</tt> + includes a reference to a filename that does not include an extension, + and the <tt>format</tt> attribute is + <span class="emphasis"><i>unspecified</i></span>, the default extension will be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="attrset.formal.title.properties"></a>formal.title.properties mode + </h1> + <div class="refnamediv"><a name="d0e128"></a><h2>Name</h2>formal.title.properties mode — Properties of formal object titles + </div> + <div class="refdescription"><a name="d0e133"></a> + + + <p>This attribute set is used to specify the properties of formal + object titles. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="attrset.component.title.properties"></a>component.title.properties mode + </h1> + <div class="refnamediv"><a name="d0e139"></a><h2>Name</h2>component.title.properties mode — Properties of component titles + </div> + <div class="refdescription"><a name="d0e144"></a> + + + <p>This attribute set is used to specify the properties of component + titles. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="attrset.admonition.title.properties"></a>admonition.title.properties mode + </h1> + <div class="refnamediv"><a name="d0e150"></a><h2>Name</h2>admonition.title.properties mode — Properties of admonition titles + </div> + <div class="refdescription"><a name="d0e155"></a> + + + <p>This attribute set is used to specify the properties of admonition + titles. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="attrset.xref.properties"></a>xref.properties mode + </h1> + <div class="refnamediv"><a name="d0e161"></a><h2>Name</h2>xref.properties mode — Visual properties of hotlinks + </div> + <div class="refdescription"><a name="d0e166"></a> + + + <p>This attribute set is used to specify properties of xrefs + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.insert.xref.page.number"></a>insert.xref.page.number + </h1> + <div class="refnamediv"><a name="d0e172"></a><h2>Name</h2>insert.xref.page.number — Turns page numbers in xrefs on and off + </div> + <div class="refsynopsisdiv"><a name="d0e177"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="insert.xref.page.number" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e180"></a> + + + <p>When equal to 1, this parameter triggers generation of page + number citations after xrefs. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="attrset.normal.para.spacing"></a>normal.para.spacing mode + </h1> + <div class="refnamediv"><a name="d0e186"></a><h2>Name</h2>normal.para.spacing mode — Spacing properties of normal paragraphs + </div> + <div class="refdescription"><a name="d0e191"></a> + + + <p>This attribute set is used to specify the spacing properties + of normal paragraphs. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="attrset.list.block.spacing"></a>list.block.spacing mode + </h1> + <div class="refnamediv"><a name="d0e197"></a><h2>Name</h2>list.block.spacing mode — Spacing properties of list blocks + </div> + <div class="refdescription"><a name="d0e202"></a> + + + <p>This attribute set is used to specify the spacing properties + of list blocks. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="attrset.list.item.spacing"></a>list.item.spacing mode + </h1> + <div class="refnamediv"><a name="d0e208"></a><h2>Name</h2>list.item.spacing mode — Spacing properties of list items + </div> + <div class="refdescription"><a name="d0e213"></a> + + + <p>This attribute set is used to specify the spacing properties + of list items. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.rootid"></a>rootid + </h1> + <div class="refnamediv"><a name="d0e219"></a><h2>Name</h2>rootid — Specify the root element to format + </div> + <div class="refsynopsisdiv"><a name="d0e224"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="rootid" select="''"/></pre></div> + <div class="refdescription"><a name="d0e227"></a> + + + <p>If <i><tt>rootid</tt></i> is specified, it must be the + value of an ID that occurs in the document being formatted. The entire + document will be loaded and parsed, but formatting will begin at the + element identified, rather than at the root. For example, this allows + you to process only chapter 4 of a book. + </p> + + + + <p>Because the entire document is available to the processor, automatic + numbering, cross references, and other dependencies are correctly + resolved. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.graphics"></a>callout.graphics + </h1> + <div class="refnamediv"><a name="d0e239"></a><h2>Name</h2>callout.graphics — Use graphics for callouts? + </div> + <div class="refsynopsisdiv"><a name="d0e244"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.graphics" select="'0'"/></pre></div> + <div class="refdescription"><a name="d0e247"></a> + + + <p>If non-zero, callouts are presented with graphics (e.g., reverse-video + circled numbers instead of "(1)", "(2)", etc.). + Default graphics are provided in the distribution. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.unicode"></a>callout.unicode + </h1> + <div class="refnamediv"><a name="d0e253"></a><h2>Name</h2>callout.unicode — First character to use for Unicode callouts + </div> + <div class="refsynopsisdiv"><a name="d0e258"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.unicode" select="1"/></pre></div> + <div class="refdescription"><a name="d0e261"></a> + + + <p>If non-zero, callouts are presented with Unicode characters + starting with the character specified. Zero indicates that Unicode + callouts should not be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.unicode.font"></a>callout.unicode.font + </h1> + <div class="refnamediv"><a name="d0e267"></a><h2>Name</h2>callout.unicode.font — Font to use for Unicode dingbats + </div> + <div class="refsynopsisdiv"><a name="d0e272"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.unicode.font" select="'ZapfDingbats'"/></pre></div> + <div class="refdescription"><a name="d0e275"></a> + + + <p>The name of the font to specify around Unicode callout glyphs. + If set to the empty string, no font change will occur. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.unicode.start.character"></a>callout.unicode.start.character + </h1> + <div class="refnamediv"><a name="d0e281"></a><h2>Name</h2>callout.unicode.start.character — Number of the largest callout graphic + </div> + <div class="refsynopsisdiv"><a name="d0e286"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.unicode.start.character" select="10102" doc:type="integer"/></pre></div> + <div class="refdescription"><a name="d0e289"></a> + + + <p>If <i><tt>callout.graphics</tt></i> + is non-zero, graphics are used to represent + callout numbers. The value of + <i><tt>callout.graphics.number.limit</tt></i> + is + the largest number for which a graphic exists. If the callout number + exceeds this limit, the default presentation "(nnn)" will always + be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.unicode.number.limit"></a>callout.unicode.number.limit + </h1> + <div class="refnamediv"><a name="d0e301"></a><h2>Name</h2>callout.unicode.number.limit — Number of the largest callout graphic + </div> + <div class="refsynopsisdiv"><a name="d0e306"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.unicode.number.limit" select="'10'" doc:type="integer"/></pre></div> + <div class="refdescription"><a name="d0e309"></a> + + + <p>If <i><tt>callout.graphics</tt></i> + is non-zero, graphics are used to represent + callout numbers. The value of + <i><tt>callout.graphics.number.limit</tt></i> + is + the largest number for which a graphic exists. If the callout number + exceeds this limit, the default presentation "(nnn)" will always + be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.graphics.extension"></a>callout.graphics.extension + </h1> + <div class="refnamediv"><a name="d0e321"></a><h2>Name</h2>callout.graphics.extension — Extension for callout graphics + </div> + <div class="refsynopsisdiv"><a name="d0e326"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.graphics.extension" select="'.png'"/></pre></div> + <div class="refdescription"><a name="d0e329"></a> + + + <p>Sets the extension to use on callout graphics.</p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.graphics.path"></a>callout.graphics.path + </h1> + <div class="refnamediv"><a name="d0e335"></a><h2>Name</h2>callout.graphics.path — Path to callout graphics + </div> + <div class="refsynopsisdiv"><a name="d0e340"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.graphics.path" select="'../images/callouts/'"/></pre></div> + <div class="refdescription"><a name="d0e343"></a> + + + <p>Sets the path, probably relative to the directory where the HTML + files are created, to the callout graphics. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.graphics.number.limit"></a>callout.graphics.number.limit + </h1> + <div class="refnamediv"><a name="d0e349"></a><h2>Name</h2>callout.graphics.number.limit — Number of the largest callout graphic + </div> + <div class="refsynopsisdiv"><a name="d0e354"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.graphics.number.limit" select="'10'"/></pre></div> + <div class="refdescription"><a name="d0e357"></a> + + + <p>If <i><tt>callout.graphics</tt></i> + is non-zero, graphics are used to represent + callout numbers. The value of + <i><tt>callout.graphics.number.limit</tt></i> + is + the largest number for which a graphic exists. If the callout number + exceeds this limit, the default presentation "(nnn)" will always + be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.use.extensions"></a>use.extensions + </h1> + <div class="refnamediv"><a name="d0e369"></a><h2>Name</h2>use.extensions — Enable extensions + </div> + <div class="refsynopsisdiv"><a name="d0e374"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="use.extensions" select="'0'"/></pre></div> + <div class="refdescription"><a name="d0e377"></a> + + + <p>If non-zero, extensions may be used. Each extension is + further controlled by its own parameter. But if + <i><tt>use.extensions</tt></i> is zero, no extensions will + be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.textinsert.extension"></a>textinsert.extension + </h1> + <div class="refnamediv"><a name="d0e386"></a><h2>Name</h2>textinsert.extension — Enable the textinsert extension element + </div> + <div class="refsynopsisdiv"><a name="d0e391"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="textinsert.extension" select="'1'"/></pre></div> + <div class="refdescription"><a name="d0e394"></a> + + + <p>The textinsert extension element inserts the contents of a + a file into the result tree (as text). + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.linenumbering.extension"></a>linenumbering.extension + </h1> + <div class="refnamediv"><a name="d0e400"></a><h2>Name</h2>linenumbering.extension — Enable the line numbering extension + </div> + <div class="refsynopsisdiv"><a name="d0e405"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="linenumbering.extension" select="'1'"/></pre></div> + <div class="refdescription"><a name="d0e408"></a> + + + <p>If true, verbatim environments (elements that have the + format='linespecific' notation attribute: address, literallayout, + programlisting, screen, synopsis) that specify line numbering will + have, surprise, line numbers. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.linenumbering.everyNth"></a>linenumbering.everyNth + </h1> + <div class="refnamediv"><a name="d0e414"></a><h2>Name</h2>linenumbering.everyNth — Indicate which lines should be numbered + </div> + <div class="refsynopsisdiv"><a name="d0e419"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="linenumbering.everyNth" select="'5'"/></pre></div> + <div class="refdescription"><a name="d0e422"></a> + + + <p>If line numbering is enabled, everyNth line will be numbered. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.linenumbering.width"></a>linenumbering.width + </h1> + <div class="refnamediv"><a name="d0e428"></a><h2>Name</h2>linenumbering.width — Indicates the width of line numbers + </div> + <div class="refsynopsisdiv"><a name="d0e433"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="linenumbering.width" select="'3'"/></pre></div> + <div class="refdescription"><a name="d0e436"></a> + + + <p>If line numbering is enabled, line numbers will appear right + justified in a field "width" characters wide. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.linenumbering.separator"></a>linenumbering.separator + </h1> + <div class="refnamediv"><a name="d0e442"></a><h2>Name</h2>linenumbering.separator — Specify a separator between line numbers and lines + </div> + <div class="refsynopsisdiv"><a name="d0e447"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="linenumbering.separator" select="' '"/></pre></div> + <div class="refdescription"><a name="d0e450"></a> + + + <p>The separator is inserted between line numbers and lines in + the verbatim environment. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callouts.extension"></a>callouts.extension + </h1> + <div class="refnamediv"><a name="d0e456"></a><h2>Name</h2>callouts.extension — Enable the callout extension + </div> + <div class="refsynopsisdiv"><a name="d0e461"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callouts.extension" select="'1'"/></pre></div> + <div class="refdescription"><a name="d0e464"></a> + + + <p>The callouts extension processes <tt>areaset</tt> + elements in <tt>ProgramListingCO</tt> and other text-based + callout elements. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.defaultcolumn"></a>callout.defaultcolumn + </h1> + <div class="refnamediv"><a name="d0e476"></a><h2>Name</h2>callout.defaultcolumn — Indicates what column callouts appear in by default + </div> + <div class="refsynopsisdiv"><a name="d0e481"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.defaultcolumn" select="'60'"/></pre></div> + <div class="refdescription"><a name="d0e484"></a> + + + <p>If a callout does not identify a column (for example, if it uses + the <tt>linerange</tt> <tt>unit</tt>), + it will appear in the default column. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.tablecolumns.extension"></a>tablecolumns.extension + </h1> + <div class="refnamediv"><a name="d0e496"></a><h2>Name</h2>tablecolumns.extension — Enable the table columns extension function + </div> + <div class="refsynopsisdiv"><a name="d0e501"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="tablecolumns.extension" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e504"></a> + + + <p>The table columns extension function adjusts the widths of table + columns in the HTML result to more accurately reflect the specifications + in the CALS table. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.nominal.table.width"></a>nominal.table.width + </h1> + <div class="refnamediv"><a name="d0e510"></a><h2>Name</h2>nominal.table.width — The (absolute) nominal width of tables + </div> + <div class="refsynopsisdiv"><a name="d0e515"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="nominal.table.width" select="'6in'" doc:type="length"/></pre></div> + <div class="refdescription"><a name="d0e518"></a> + + + <p>In order to convert CALS column widths into FO column widths, it + is sometimes necessary to have an absolute table width to use for conversion + of mixed absolute and relative widths. This value must be an absolute + length (not a percentage). + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.default.table.width"></a>default.table.width + </h1> + <div class="refnamediv"><a name="d0e524"></a><h2>Name</h2>default.table.width — The default width of tables + </div> + <div class="refsynopsisdiv"><a name="d0e529"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="default.table.width" select="''" doc:type="length"/></pre></div> + <div class="refdescription"><a name="d0e532"></a> + + + <p>If specified, this value will be used for the WIDTH attribute on + tables that do not specify an alternate width (with the dbhtml processing + instruction). + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.paper.type"></a>paper.type + </h1> + <div class="refnamediv"><a name="d0e538"></a><h2>Name</h2>paper.type — Select the paper type + </div> + <div class="refsynopsisdiv"><a name="d0e543"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="paper.type" select="'USletter'"/></pre></div> + <div class="refdescription"><a name="d0e546"></a> + + + <p>The paper type is a convenient way to specify the paper size. + The list of known paper sizes includes USletter and most of the A, + B, and C sizes. See <tt>page.width.portrait</tt>, for example. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.page.orientation"></a>page.orientation + </h1> + <div class="refnamediv"><a name="d0e555"></a><h2>Name</h2>page.orientation — Select the page orientation + </div> + <div class="refsynopsisdiv"><a name="d0e560"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="page.orientation" select="'portrait'"/></pre></div> + <div class="refdescription"><a name="d0e563"></a> + + + <p>In portrait orientation, the short edge is horizontal; in + landscape orientation, it is vertical. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.page.width.portrait"></a>page.width.portrait + </h1> + <div class="refnamediv"><a name="d0e569"></a><h2>Name</h2>page.width.portrait — Specify the physical size of the short edge of the page + </div> + <div class="refsynopsisdiv"><a name="d0e574"></a><h2>Synopsis</h2><pre class="synopsis"> +<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></pre></div> + <div class="refdescription"><a name="d0e577"></a> + + + <p>The portrait page width is the length of the short + edge of the physical page. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.page.height.portrait"></a>page.height.portrait + </h1> + <div class="refnamediv"><a name="d0e583"></a><h2>Name</h2>page.height.portrait — Specify the physical size of the long edge of the page + </div> + <div class="refsynopsisdiv"><a name="d0e588"></a><h2>Synopsis</h2><pre class="synopsis"> +<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></pre></div> + <div class="refdescription"><a name="d0e591"></a> + + + <p>The portrait page height is the length of the long + edge of the physical page. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.page.width"></a>page.width + </h1> + <div class="refnamediv"><a name="d0e597"></a><h2>Name</h2>page.width — The width of the physical page + </div> + <div class="refsynopsisdiv"><a name="d0e602"></a><h2>Synopsis</h2><pre class="synopsis"> +<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></pre></div> + <div class="refdescription"><a name="d0e605"></a> + + + <p>The page width is generally calculated from the + <tt>paper.type</tt> and + <tt>page.orientation</tt>. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.page.height"></a>page.height + </h1> + <div class="refnamediv"><a name="d0e617"></a><h2>Name</h2>page.height — The height of the physical page + </div> + <div class="refsynopsisdiv"><a name="d0e622"></a><h2>Synopsis</h2><pre class="synopsis"> +<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></pre></div> + <div class="refdescription"><a name="d0e625"></a> + + + <p>The page height is generally calculated from the + <tt>paper.type</tt> and + <tt>page.orientation</tt>. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.double.sided"></a>double.sided + </h1> + <div class="refnamediv"><a name="d0e637"></a><h2>Name</h2>double.sided — Is the document to be printed double sided? + </div> + <div class="refsynopsisdiv"><a name="d0e642"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="double.sided" select="'0'"/></pre></div> + <div class="refdescription"><a name="d0e645"></a> + + + <p>Double-sided documents are printed with a slightly wider margin + on the binding edge of the page. + + </p> + + + + <p>FIXME: The current set of parameters does not take writing direction + into account. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.column.count"></a>column.count + </h1> + <div class="refnamediv"><a name="d0e654"></a><h2>Name</h2>column.count — Specifies the number of columns of text on the page + </div> + <div class="refsynopsisdiv"><a name="d0e659"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="column.count" select="'1'"/></pre></div> + <div class="refdescription"><a name="d0e662"></a> + + + <p>The specified number of columns of text will appear on each page. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.region.after.extent"></a>region.after.extent + </h1> + <div class="refnamediv"><a name="d0e668"></a><h2>Name</h2>region.after.extent — Specifies the height of the footer. + </div> + <div class="refsynopsisdiv"><a name="d0e673"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="region.after.extent" select="'12pt'"/></pre></div> + <div class="refdescription"><a name="d0e676"></a> + + + <p>The region after extent is the height of the area where footers + are printed. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.region.before.extent"></a>region.before.extent + </h1> + <div class="refnamediv"><a name="d0e682"></a><h2>Name</h2>region.before.extent — Specifies the height of the header + </div> + <div class="refsynopsisdiv"><a name="d0e687"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="region.before.extent" select="'12pt'"/></pre></div> + <div class="refdescription"><a name="d0e690"></a> + + + <p>The region before extent is the height of the area where headers + are printed. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.page.margin.top"></a>page.margin.top + </h1> + <div class="refnamediv"><a name="d0e696"></a><h2>Name</h2>page.margin.top — The top margin of the page + </div> + <div class="refsynopsisdiv"><a name="d0e701"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="page.margin.top">1in</xsl:param></pre></div> + <div class="refdescription"><a name="d0e704"></a> + + + <p>The top page margin is the distance from the physical top of the + page to the first line of text (body or header). + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.page.margin.bottom"></a>page.margin.bottom + </h1> + <div class="refnamediv"><a name="d0e710"></a><h2>Name</h2>page.margin.bottom — The bottom margin of the page + </div> + <div class="refsynopsisdiv"><a name="d0e715"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="page.margin.bottom">1in</xsl:param></pre></div> + <div class="refdescription"><a name="d0e718"></a> + + + <p>The bottom page margin is the distance from the physical bottom of + the page to the last line of text (body or footer). + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.page.margin.inner"></a>page.margin.inner + </h1> + <div class="refnamediv"><a name="d0e724"></a><h2>Name</h2>page.margin.inner — The inner page margin + </div> + <div class="refsynopsisdiv"><a name="d0e729"></a><h2>Synopsis</h2><pre class="synopsis"> +<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></pre></div> + <div class="refdescription"><a name="d0e732"></a> + + + <p>The inner page margin is the distance from binding edge of the + page to the first column of text. In the left-to-right, top-to-bottom writing + direction, this is the left margin of recto pages. + </p> + + + + <p>The inner and outer margins are usually the same unless the output + is double-sided. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.page.margin.outer"></a>page.margin.outer + </h1> + <div class="refnamediv"><a name="d0e741"></a><h2>Name</h2>page.margin.outer — The outer page margin + </div> + <div class="refsynopsisdiv"><a name="d0e746"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="page.margin.outer"> + <xsl:choose> + <xsl:when test="$double.sided != 0">0.75in</xsl:when> + <xsl:otherwise>10pc</xsl:otherwise> + </xsl:choose> +</xsl:param></pre></div> + <div class="refdescription"><a name="d0e749"></a> + + + <p>The outer page margin is the distance from non-binding edge of the + page to the last column of text. In the left-to-right, top-to-bottom writing + direction, this is the right margin of recto pages. + </p> + + + + <p>The inner and outer margins are usually the same unless the output + is double-sided. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.body.margin.bottom"></a>body.margin.bottom + </h1> + <div class="refnamediv"><a name="d0e758"></a><h2>Name</h2>body.margin.bottom — The bottom margin of the body text + </div> + <div class="refsynopsisdiv"><a name="d0e763"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="body.margin.bottom">24pt</xsl:param></pre></div> + <div class="refdescription"><a name="d0e766"></a> + + + <p>The body bottom margin is the distance from the last line of text + in the page body to the bottom page margin. Note that the page footer, if + any, appears in the space between the body bottom margin and the page + bottom margin. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.body.margin.top"></a>body.margin.top + </h1> + <div class="refnamediv"><a name="d0e772"></a><h2>Name</h2>body.margin.top — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e777"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="body.margin.top">24pt</xsl:param></pre></div> + <div class="refdescription"><a name="d0e780"></a> + + + <p>The body top margin is the distance from the page top margin to + the first line of text + in the page body. Note that the page header, if + any, appears in the space between the page top margin and the body + top margin. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.body.font.family"></a>body.font.family + </h1> + <div class="refnamediv"><a name="d0e786"></a><h2>Name</h2>body.font.family — The default font family for body text + </div> + <div class="refsynopsisdiv"><a name="d0e791"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="body.font.family">Times Roman</xsl:param></pre></div> + <div class="refdescription"><a name="d0e794"></a> + + + <p>The body font family is the default font used for text in the page body. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.title.font.family"></a>title.font.family + </h1> + <div class="refnamediv"><a name="d0e800"></a><h2>Name</h2>title.font.family — The default font family for titles + </div> + <div class="refsynopsisdiv"><a name="d0e805"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="title.font.family">Helvetica</xsl:param></pre></div> + <div class="refdescription"><a name="d0e808"></a> + + + <p>The title font family is used for titles (chapter, section, figure, + etc.) + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.monospace.font.family"></a>monospace.font.family + </h1> + <div class="refnamediv"><a name="d0e814"></a><h2>Name</h2>monospace.font.family — The default font family for monospace environments + </div> + <div class="refsynopsisdiv"><a name="d0e819"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="monospace.font.family">Courier</xsl:param></pre></div> + <div class="refdescription"><a name="d0e822"></a> + + + <p>The monospace font family is used for verbatim environments + (program listings, screens, etc.). + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.sans.font.family"></a>sans.font.family + </h1> + <div class="refnamediv"><a name="d0e828"></a><h2>Name</h2>sans.font.family — The default sans-serif font family + </div> + <div class="refsynopsisdiv"><a name="d0e833"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="sans.font.family">Helvetica</xsl:param></pre></div> + <div class="refdescription"><a name="d0e836"></a> + + + <p>The default sans-serif font family. At the present, this isn't + actually used by the stylesheets. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.dingbat.font.family"></a>dingbat.font.family + </h1> + <div class="refnamediv"><a name="d0e842"></a><h2>Name</h2>dingbat.font.family — The font family for copyright, quotes, and other symbols + </div> + <div class="refsynopsisdiv"><a name="d0e847"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="dingbat.font.family">Times Roman</xsl:param></pre></div> + <div class="refdescription"><a name="d0e850"></a> + + + <p>The dingbat font family is used for dingbats. If it is defined + as the empty string, no font change is effected around dingbats. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.body.font.master"></a>body.font.master + </h1> + <div class="refnamediv"><a name="d0e856"></a><h2>Name</h2>body.font.master — Specifies the default point size for body text + </div> + <div class="refsynopsisdiv"><a name="d0e861"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="body.font.master">10</xsl:param></pre></div> + <div class="refdescription"><a name="d0e864"></a> + + + <p>The body font size is specified in two parameters + (<tt>body.font.master</tt> and <tt>body.font.size</tt>) + so that math can be performed on the font size by XSLT. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.body.font.size"></a>body.font.size + </h1> + <div class="refnamediv"><a name="d0e876"></a><h2>Name</h2>body.font.size — Specifies the default font size for body text + </div> + <div class="refsynopsisdiv"><a name="d0e881"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="body.font.size"> + <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text> +</xsl:param></pre></div> + <div class="refdescription"><a name="d0e884"></a> + + + <p>The body font size is specified in two parameters + (<tt>body.font.master</tt> and <tt>body.font.size</tt>) + so that math can be performed on the font size by XSLT. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.footnote.font.size"></a>footnote.font.size + </h1> + <div class="refnamediv"><a name="d0e896"></a><h2>Name</h2>footnote.font.size — The font size for footnotes + </div> + <div class="refsynopsisdiv"><a name="d0e901"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="footnote.font.size"> + <xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text> +</xsl:param></pre></div> + <div class="refdescription"><a name="d0e904"></a> + + + <p>The footnote font size is used for...footnotes! + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.hyphenate"></a>hyphenate + </h1> + <div class="refnamediv"><a name="d0e910"></a><h2>Name</h2>hyphenate — Specify hyphenation behavior + </div> + <div class="refsynopsisdiv"><a name="d0e915"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="hyphenate">true</xsl:param></pre></div> + <div class="refdescription"><a name="d0e918"></a> + + + <p>If true, words may be hyphenated. Otherwise, they may not. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.alignment"></a>alignment + </h1> + <div class="refnamediv"><a name="d0e924"></a><h2>Name</h2>alignment — Specify the default text alignment + </div> + <div class="refsynopsisdiv"><a name="d0e929"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="alignment">justify</xsl:param></pre></div> + <div class="refdescription"><a name="d0e932"></a> + + + <p>The default text alignment is used for most body text. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.stylesheet.result.type"></a>stylesheet.result.type + </h1> + <div class="refnamediv"><a name="d0e938"></a><h2>Name</h2>stylesheet.result.type — Identifies the output format of this stylesheet + </div> + <div class="refsynopsisdiv"><a name="d0e943"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="stylesheet.result.type" select="'fo'"/></pre></div> + <div class="refdescription"><a name="d0e946"></a> + + + <p>The extension functions need to know if the output format + is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers + that question. Valid settings are 'html' or 'fo'. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.component.toc"></a>generate.component.toc + </h1> + <div class="refnamediv"><a name="d0e952"></a><h2>Name</h2>generate.component.toc — Generate a table of contents for components? + </div> + <div class="refsynopsisdiv"><a name="d0e957"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.component.toc" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e960"></a> + + + <p>If non-zero, a table of contents is generated at the beginning + of each component (chapters, appendixes, etc.) + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.division.toc"></a>generate.division.toc + </h1> + <div class="refnamediv"><a name="d0e966"></a><h2>Name</h2>generate.division.toc — Generate a table of contents for divisions? + </div> + <div class="refsynopsisdiv"><a name="d0e971"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.division.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e974"></a> + + + <p>If non-zero, a table of contents is generated at the beginning + of each division (sets, books, etc.) + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.division.figure.lot"></a>generate.division.figure.lot + </h1> + <div class="refnamediv"><a name="d0e980"></a><h2>Name</h2>generate.division.figure.lot — Generate a list of titles for Figures? + </div> + <div class="refsynopsisdiv"><a name="d0e985"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.division.figure.lot" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e988"></a> + + + <p>If non-zero, a list of titles is generated for Figures. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.division.example.lot"></a>generate.division.example.lot + </h1> + <div class="refnamediv"><a name="d0e994"></a><h2>Name</h2>generate.division.example.lot — Generate a list of titles for Examples? + </div> + <div class="refsynopsisdiv"><a name="d0e999"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.division.example.lot" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1002"></a> + + + <p>If non-zero, a list of titles is generated for Examples. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.division.equation.lot"></a>generate.division.equation.lot + </h1> + <div class="refnamediv"><a name="d0e1008"></a><h2>Name</h2>generate.division.equation.lot — Generate a list of titles for Equations? + </div> + <div class="refsynopsisdiv"><a name="d0e1013"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.division.equation.lot" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1016"></a> + + + <p>If non-zero, a list of titles is generated for Equations. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.division.table.lot"></a>generate.division.table.lot + </h1> + <div class="refnamediv"><a name="d0e1022"></a><h2>Name</h2>generate.division.table.lot — Generate a list of titles for Tables? + </div> + <div class="refsynopsisdiv"><a name="d0e1027"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.division.table.lot" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1030"></a> + + + <p>If non-zero, a list of titles is generated for Tables. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.passivetex.extensions"></a>passivetex.extensions + </h1> + <div class="refnamediv"><a name="d0e1036"></a><h2>Name</h2>passivetex.extensions — Enable PassiveTeX extensions? + </div> + <div class="refsynopsisdiv"><a name="d0e1041"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="passivetex.extensions" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1044"></a> + + + <p>If non-zero, + <a href="http://users.ox.ac.uk/~rahtz/passivetex/" target="_top">PassiveTeX</a> + extensions will be used. At present, this consists of PDF bookmarks + and sorted index terms. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.arbortext.extensions"></a>arbortext.extensions + </h1> + <div class="refnamediv"><a name="d0e1053"></a><h2>Name</h2>arbortext.extensions — Enable Arbortext extensions? + </div> + <div class="refsynopsisdiv"><a name="d0e1058"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="arbortext.extensions" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1061"></a> + + + <p>If non-zero, + <a href="http://www.arbortext.com/" target="_top">Arbortext</a> + extensions will be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.fop.extensions"></a>fop.extensions + </h1> + <div class="refnamediv"><a name="d0e1070"></a><h2>Name</h2>fop.extensions — Enable FOP extensions? + </div> + <div class="refsynopsisdiv"><a name="d0e1075"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="fop.extensions" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1078"></a> + + + <p>If non-zero, + <a href="http://xml.apache.org/fop/" target="_top">FOP</a> + extensions will be used. At present, this consists of PDF bookmarks. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.xep.extensions"></a>xep.extensions + </h1> + <div class="refnamediv"><a name="d0e1087"></a><h2>Name</h2>xep.extensions — Enable XEP extensions? + </div> + <div class="refsynopsisdiv"><a name="d0e1092"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="xep.extensions" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1095"></a> + + + <p>If non-zero, + <a href="http://www.renderx.com/" target="_top">XEP</a> + extensions will be used. XEP extensions consists of PDF bookmarks and document information. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.default.units"></a>default.units + </h1> + <div class="refnamediv"><a name="d0e1104"></a><h2>Name</h2>default.units — Default units for an unqualified dimension + </div> + <div class="refsynopsisdiv"><a name="d0e1109"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="default.units" select="'pt'" doc:type="list" doc:list="cm mm in pt pc px em"/></pre></div> + <div class="refdescription"><a name="d0e1112"></a> + + + <p>If an unqualified dimension is encountered (for example, in a + graphic width), the <i><tt>default-units</tt></i> will be used for the + units. Unqualified dimensions are not allowed in XSL Formatting Objects. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.label.from.part"></a>label.from.part + </h1> + <div class="refnamediv"><a name="d0e1121"></a><h2>Name</h2>label.from.part — Renumber chapters in each part? + </div> + <div class="refsynopsisdiv"><a name="d0e1126"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="label.from.part" select="'0'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1129"></a> + + + <p>If <i><tt>label.from.part</tt></i> is non-zero, components + (<tt>chapter</tt>s, <tt>appendixe</tt>s, etc.) + will be numbered from 1 in each <tt>part</tt>. Otherwise, + they will be numbered monotonically throughout each + <tt>book</tt>. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.formal.procedures"></a>formal.procedures + </h1> + <div class="refnamediv"><a name="d0e1150"></a><h2>Name</h2>formal.procedures — Selects formal or informal procedures + </div> + <div class="refsynopsisdiv"><a name="d0e1155"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="formal.procedures" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1158"></a> + + + <p>Formal procedures are numbered and always hav a title. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.bibliography.collection"></a>bibliography.collection + </h1> + <div class="refnamediv"><a name="d0e1164"></a><h2>Name</h2>bibliography.collection — Name of the bibliography collection file + </div> + <div class="refsynopsisdiv"><a name="d0e1169"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="bibliography.collection" doc:type="string" select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/></pre></div> + <div class="refdescription"><a name="d0e1172"></a> + + + <p>Tired of copying bibliography entries from one document to another? + Now you can maintain a central bibliography and let the stylesheets do + the copying for you. This parameter identifies the file (by URI reference) + that contains your complete bibliography collection. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.format.variablelist.as.list"></a>format.variablelist.as.list + </h1> + <div class="refnamediv"><a name="d0e1178"></a><h2>Name</h2>format.variablelist.as.list — Use an fo:list to format VariableLists? + </div> + <div class="refsynopsisdiv"><a name="d0e1183"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="format.variablelist.as.list" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1186"></a> + + + <p>If non-zero, an fo:list will be used to format VariableLists. + Otherwise, nested fo:blocks will be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.runinhead.title.end.punct"></a>runinhead.title.end.punct + </h1> + <div class="refnamediv"><a name="d0e1192"></a><h2>Name</h2>runinhead.title.end.punct — Characters that count as punctuation on a run-in-head + </div> + <div class="refsynopsisdiv"><a name="d0e1197"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="runinhead.title.end.punct" select="'.!?:'" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e1200"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.runinhead.default.title.end.punct"></a>runinhead.default.title.end.punct + </h1> + <div class="refnamediv"><a name="d0e1206"></a><h2>Name</h2>runinhead.default.title.end.punct — Default punctuation character on a run-in-head + </div> + <div class="refsynopsisdiv"><a name="d0e1211"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="runinhead.default.title.end.punct" select="'.'" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e1214"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/fo/table.html b/lib/docbook/docbook-xsl/doc/fo/table.html new file mode 100644 index 000000000..023fd0a8c --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/fo/table.html @@ -0,0 +1,183 @@ +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + + <title>Formatting Object Table Reference</title> + <link rel="stylesheet" href="../reference.css" type="text/css"> + <meta name="generator" content="DocBook XSL Stylesheets V1"> + </head> + <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> + <div class="reference"> + <div class="titlepage"> + <div> + <h1 class="title"><a name="d0e1"></a>Formatting Object Table Reference + </h1> + </div> + <div> + <h3 class="author">Norman Walsh</h3> + </div> + <div> + <p class="releaseinfo"> + $Id: table.html,v 1.1 2002/05/15 17:22:23 isberg Exp $ + + </p> + </div> + <div> + <p class="copyright"><a href="../copyright.html">Copyright</a> © 1999, 2000 by Norman Walsh. <a href="../warranty.html">No Warranty</a>. + </p> + </div> + <hr> + </div> + <div class="partintro"> + <div></div> + <div class="section"><a name="d0e24"></a><div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a name="d0e24"></a>Introduction + </h2> + </div> + </div> + <p>This is technical reference documentation for the DocBook XSL + Stylesheets; it documents (some of) the parameters, templates, and + other elements of the stylesheets. + </p> + <p>This is not intended to be user documentation. + It is provided for developers writing customization layers for the + stylesheets, and for anyone who's interested in how it + works. + </p> + <p>Although I am trying to be thorough, this documentation is known + to be incomplete. Don't forget to read the source, too :-) + </p> + </div> + <div class="toc"> + <p><b>Table of Contents</b></p> + <dl> + <dt><a href="#template.calc.column.width">calc.column.width</a> - Calculate an XSL FO table column width specification from a + CALS table column width specification. + </dt> + </dl> + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.calc.column.width"></a>calc.column.width + </h1> + <div class="refnamediv"><a name="d0e40"></a><h2>Name</h2>calc.column.width — Calculate an XSL FO table column width specification from a + CALS table column width specification. + </div> + <div class="refsynopsisdiv"><a name="d0e45"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="calc.column.width"> +<xsl:param name="colwidth">1*</xsl:param> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e48"></a> + + + <p>CALS expresses table column widths in the following basic + forms: + </p> + + + + + <div class="itemizedlist"> + <ul> + <li> + <p><a name="d0e54"></a><span class="emphasis"><i>99.99units</i></span>, a fixed length specifier. + </p> + </li> + <li> + <p><a name="d0e59"></a><span class="emphasis"><i>99.99</i></span>, a fixed length specifier without any units. + </p> + </li> + <li> + <p><a name="d0e64"></a><span class="emphasis"><i>99.99*</i></span>, a relative length specifier. + </p> + </li> + <li> + <p><a name="d0e69"></a><span class="emphasis"><i>99.99*+99.99units</i></span>, a combination of both. + </p> + </li> + </ul> + </div> + + + + + <p>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. + </p> + + + + + <p>Relative length specifiers are represented in XSL with the + proportional-column-width() function. + </p> + + + + + <p>Here are some examples:</p> + + + + + <div class="itemizedlist"> + <ul> + <li> + <p><a name="d0e85"></a>"36pt" becomes "36pt" + </p> + </li> + <li> + <p><a name="d0e88"></a>"3pi" becomes "3pc" + </p> + </li> + <li> + <p><a name="d0e91"></a>"36" becomes "36pt" + </p> + </li> + <li> + <p><a name="d0e94"></a>"3*" becomes "proportional-column-width(3)" + </p> + </li> + <li> + <p><a name="d0e97"></a>"3*+2pi" becomes "proportional-column-width(3)+2pc" + </p> + </li> + <li> + <p><a name="d0e100"></a>"1*+2" becomes "proportional-column-width(1)+2pt" + </p> + </li> + </ul> + </div> + + + </div> + <div class="refparameter"><b><a name="d0e104"></a>Parameters</b> + + + <div class="variablelist"> + <dl> + <dt><a name="d0e107"></a><span class="term">colwidth</span></dt> + <dd> + <p><a name="d0e110"></a>The CALS column width specification. + </p> + </dd> + </dl> + </div> + + + </div> + <div class="refreturn"><b><a name="d0e114"></a>Returns</b> + + + <p>The XSL column width specification.</p> + + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/html/ChangeLog b/lib/docbook/docbook-xsl/doc/html/ChangeLog new file mode 100644 index 000000000..685464607 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/html/ChangeLog @@ -0,0 +1,12 @@ +2001-08-06 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Documentation and documentation generation tweaks
+
+2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Use XT again (neither Saxon nor Xalan work)
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
diff --git a/lib/docbook/docbook-xsl/doc/html/ebnf.html b/lib/docbook/docbook-xsl/doc/html/ebnf.html new file mode 100644 index 000000000..4f12718fe --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/html/ebnf.html @@ -0,0 +1,105 @@ +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + + <title>HTML EBNF Reference</title> + <link rel="stylesheet" href="../reference.css" type="text/css"> + <meta name="generator" content="DocBook XSL Stylesheets V1"> + </head> + <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> + <div class="reference"> + <div class="titlepage"> + <div> + <h1 class="title"><a name="d0e1"></a>HTML EBNF Reference + </h1> + </div> + <div> + <h3 class="author">Norman Walsh</h3> + </div> + <div> + <p class="releaseinfo"> + $Id: ebnf.html,v 1.1 2002/05/15 17:22:24 isberg Exp $ + + </p> + </div> + <div> + <p class="copyright"><a href="../copyright.html">Copyright</a> © 1999, 2000 by Norman Walsh. <a href="../warranty.html">No Warranty</a>. + </p> + </div> + <hr> + </div> + <div class="partintro"> + <div></div> + <div class="section"><a name="d0e24"></a><div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a name="d0e24"></a>Introduction + </h2> + </div> + </div> + <p>This is technical reference documentation for the DocBook XSL + Stylesheets; it documents (some of) the parameters, templates, and + other elements of the stylesheets. + </p> + <p>This reference describes the templates and parameters relevant + to formatting EBNF markup. + </p> + <p>This is not intended to be user documentation. + It is provided for developers writing customization layers for the + stylesheets, and for anyone who's interested in how it + works. + </p> + <p>Although I am trying to be thorough, this documentation is known + to be incomplete. Don't forget to read the source, too :-) + </p> + </div> + <div class="toc"> + <p><b>Table of Contents</b></p> + <dl> + <dt><a href="#param.ebnf.table.bgcolor">ebnf.table.bgcolor</a> - Background color for EBNF tables + </dt> + <dt><a href="#param.ebnf.table.border">ebnf.table.border</a> - Selects border on EBNF tables + </dt> + </dl> + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.ebnf.table.bgcolor"></a>ebnf.table.bgcolor + </h1> + <div class="refnamediv"><a name="d0e42"></a><h2>Name</h2>ebnf.table.bgcolor — Background color for EBNF tables + </div> + <div class="refsynopsisdiv"><a name="d0e47"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="ebnf.table.bgcolor">#F5DCB3</xsl:param></pre></div> + <div class="refdescription"><a name="d0e50"></a> + + + <p>Sets the background color for EBNF tables. No <tt>bgcolor</tt> + attribute is output if <tt>ebnf.table.bgcolor</tt> is set to + the null string. The default value matches the value used in recent + online versions of the W3C's XML Spec productions. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.ebnf.table.border"></a>ebnf.table.border + </h1> + <div class="refnamediv"><a name="d0e62"></a><h2>Name</h2>ebnf.table.border — Selects border on EBNF tables + </div> + <div class="refsynopsisdiv"><a name="d0e67"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="ebnf.table.border">1</xsl:param></pre></div> + <div class="refdescription"><a name="d0e70"></a> + + + <p>Selects the border on EBNF tables. If non-zero, the tables have + borders, otherwise they don't. + </p> + + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/html/param.html b/lib/docbook/docbook-xsl/doc/html/param.html new file mode 100644 index 000000000..893cce8af --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/html/param.html @@ -0,0 +1,2020 @@ +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + + <title>HTML Parameter Reference</title> + <link rel="stylesheet" href="../reference.css" type="text/css"> + <meta name="generator" content="DocBook XSL Stylesheets V1"> + </head> + <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> + <div class="reference"> + <div class="titlepage"> + <div> + <h1 class="title"><a name="d0e1"></a>HTML Parameter Reference + </h1> + </div> + <div> + <h3 class="author">Norman Walsh</h3> + </div> + <div> + <p class="releaseinfo"> + $Id: param.html,v 1.1 2002/05/15 17:22:24 isberg Exp $ + + </p> + </div> + <div> + <p class="copyright"><a href="../copyright.html">Copyright</a> © 1999, 2000 by Norman Walsh. <a href="../warranty.html">No Warranty</a>. + </p> + </div> + <hr> + </div> + <div class="partintro"> + <div></div> + <div class="section"><a name="d0e24"></a><div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a name="d0e24"></a>Introduction + </h2> + </div> + </div> + <p>This is technical reference documentation for the DocBook XSL + Stylesheets; it documents (some of) the parameters, templates, and + other elements of the stylesheets. + </p> + <p>This reference describes each of the HTML Stylesheet parameters. + These are the easily customizable parts of the stylesheet. + If you want to specify an alternate value for one or more of these + parameters, you can do so in a driver stylesheet. + </p> + <p>For example, if you want to change the <tt>html.stylesheet</tt> + to <tt>reference.css</tt>, you might create a driver + stylesheet like this: + </p><pre class="programlisting"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + + <xsl:import href="/path/to/html/docbook.xsl"/> + + <xsl:param name="html.stylesheet">reference.css</xsl:param> + +</xsl:stylesheet></pre><p>Naturally, you have to change the + <tt>href</tt> attribute on + <tt><xsl:import></tt> + to point to <tt>docbook.xsl</tt> + on your system. (Or <tt>chunk.xsl</tt>, if you're using + chunking.) + </p> + <p>This is not intended to be user documentation. + It is provided for developers writing customization layers for the + stylesheets, and for anyone who's interested in how it + works. + </p> + <p>Although I am trying to be thorough, this documentation is known + to be incomplete. Don't forget to read the source, too :-) + </p> + </div> + <div class="toc"> + <p><b>Table of Contents</b></p> + <dl> + <dt><a href="#param.author.othername.in.middle">author.othername.in.middle</a> - Is othername in author a + middle name? + </dt> + <dt><a href="#param.html.stylesheet">html.stylesheet</a> - Name of the stylesheet to use in the generated HTML + </dt> + <dt><a href="#param.html.stylesheet.type">html.stylesheet.type</a> - The type of the stylesheet used in the generated HTML + </dt> + <dt><a href="#param.html.base">html.base</a> - An HTML base URI + </dt> + <dt><a href="#param.ulink.target">ulink.target</a> - The HTML anchor target for ULinks + </dt> + <dt><a href="#param.refentry.xref.manvolnum">refentry.xref.manvolnum</a> - Output manvolnum as part of + refentry cross-reference? + </dt> + <dt><a href="#param.show.comments">show.comments</a> - Display comment elements? + </dt> + <dt><a href="#param.funcsynopsis.style">funcsynopsis.style</a> - What style of 'FuncSynopsis' should be generated? + </dt> + <dt><a href="#param.funcsynopsis.decoration">funcsynopsis.decoration</a> - Decorate elements of a FuncSynopsis? + </dt> + <dt><a href="#param.function.parens">function.parens</a> - Generate parens after a function? + </dt> + <dt><a href="#param.refentry.generate.name">refentry.generate.name</a> - Output NAME header before 'RefName'(s)? + </dt> + <dt><a href="#param.admon.graphics">admon.graphics</a> - Use graphics in admonitions? + </dt> + <dt><a href="#param.admon.graphics.path">admon.graphics.path</a> - Path to admonition graphics + </dt> + <dt><a href="#param.admon.graphics.extension">admon.graphics.extension</a> - Extension for admonition graphics + </dt> + <dt><a href="#param.admon.style">admon.style</a> - CSS style attributes for admonitions + </dt> + <dt><a href="#param.section.autolabel">section.autolabel</a> - Are sections enumerated? + </dt> + <dt><a href="#param.section.label.includes.component.label">section.label.includes.component.label</a> - Do section labels include the component label? + </dt> + <dt><a href="#param.chapter.autolabel">chapter.autolabel</a> - Are chapters and appendixes enumerated? + </dt> + <dt><a href="#param.preface.autolabel">preface.autolabel</a> - Are prefaces enumerated? + </dt> + <dt><a href="#param.part.autolabel">part.autolabel</a> - Are parts and references enumerated? + </dt> + <dt><a href="#param.qandadiv.autolabel">qandadiv.autolabel</a> - Are divisions in QAndASets enumerated? + </dt> + <dt><a href="#param.qanda.inherit.numeration">qanda.inherit.numeration</a> - Does enumeration of QandASet components inherit the numeration of parent elements? + </dt> + <dt><a href="#param.qanda.defaultlabel">qanda.defaultlabel</a> - Sets the default for defaultlabel on QandASet. + </dt> + <dt><a href="#param.generate.qandaset.toc">generate.qandaset.toc</a> - Is a Table of Contents created for QandASets? + </dt> + <dt><a href="#param.generate.qandadiv.toc">generate.qandadiv.toc</a> - Is a Table of Contents created for QandADivs? + </dt> + <dt><a href="#param.biblioentry.item.separator">biblioentry.item.separator</a> - Text to separate bibliography entries + </dt> + <dt><a href="#param.toc.section.depth">toc.section.depth</a> - How deep should recursive sections appear + in the TOC? + </dt> + <dt><a href="#param.using.chunker">using.chunker</a> - Will the output be chunked? + </dt> + <dt><a href="#param.generate.component.toc">generate.component.toc</a> - Should TOCs be genereated in components (Chapters, Appendixes, etc.)? + </dt> + <dt><a href="#param.generate.division.toc">generate.division.toc</a> - Should TOCs be genereated in divisions (Books, Parts, etc.)? + </dt> + <dt><a href="#param.link.mailto.url">link.mailto.url</a> - Mailto URL for the LINK REL=made HTML HEAD element + </dt> + <dt><a href="#param.graphic.default.extension">graphic.default.extension</a> - Default extension for graphic filenames + </dt> + <dt><a href="#param.toc.list.type">toc.list.type</a> - Type of HTML list element to use for Tables of Contents + </dt> + <dt><a href="#param.use.id.function">use.id.function</a> - Use the XPath id() function to find link targets? + </dt> + <dt><a href="#param.spacing.paras">spacing.paras</a> - Insert additional <p> elements for spacing? + </dt> + <dt><a href="#param.css.decoration">css.decoration</a> - Enable CSS decoration of elements + </dt> + <dt><a href="#param.show.revisionflag">show.revisionflag</a> - Enable decoration of elements that have a revisionflag + </dt> + <dt><a href="#param.suppress.navigation">suppress.navigation</a> - Disable header and footer navigation + </dt> + <dt><a href="#param.rootid">rootid</a> - Specify the root element to format + </dt> + <dt><a href="#param.callout.list.table">callout.list.table</a> - Present callout lists using a table? + </dt> + <dt><a href="#param.callout.graphics">callout.graphics</a> - Use graphics for callouts? + </dt> + <dt><a href="#param.callout.graphics.extension">callout.graphics.extension</a> - Extension for callout graphics + </dt> + <dt><a href="#param.callout.graphics.path">callout.graphics.path</a> - Path to callout graphics + </dt> + <dt><a href="#param.callout.graphics.number.limit">callout.graphics.number.limit</a> - Number of the largest callout graphic + </dt> + <dt><a href="#param.use.extensions">use.extensions</a> - Enable extensions + </dt> + <dt><a href="#param.textinsert.extension">textinsert.extension</a> - Enable the textinsert extension element + </dt> + <dt><a href="#param.saxon.linenumbering">saxon.linenumbering</a> - Enable the line numbering extension + </dt> + <dt><a href="#param.linenumbering.extension">linenumbering.extension</a> - Enable the line numbering extension + </dt> + <dt><a href="#param.linenumbering.everyNth">linenumbering.everyNth</a> - Indicate which lines should be numbered + </dt> + <dt><a href="#param.linenumbering.width">linenumbering.width</a> - Indicates the width of line numbers + </dt> + <dt><a href="#param.linenumbering.separator">linenumbering.separator</a> - Specify a separator between line numbers and lines + </dt> + <dt><a href="#param.saxon.callouts">saxon.callouts</a> - Enable the callout extension + </dt> + <dt><a href="#param.callouts.extension">callouts.extension</a> - Enable the callout extension + </dt> + <dt><a href="#param.callout.defaultcolumn">callout.defaultcolumn</a> - Indicates what column callouts appear in by default + </dt> + <dt><a href="#param.stylesheet.result.type">stylesheet.result.type</a> - Identifies the output format of this stylesheet + </dt> + <dt><a href="#param.nominal.table.width">nominal.table.width</a> - The (absolute) nominal width of tables + </dt> + <dt><a href="#param.default.table.width">default.table.width</a> - The default width of tables + </dt> + <dt><a href="#param.saxon.tablecolumns">saxon.tablecolumns</a> - Enable the table columns extension function + </dt> + <dt><a href="#param.tablecolumns.extension">tablecolumns.extension</a> - Enable the table columns extension function + </dt> + <dt><a href="#param.generate.set.toc">generate.set.toc</a> - FIXME: + </dt> + <dt><a href="#param.generate.book.toc">generate.book.toc</a> - FIXME: + </dt> + <dt><a href="#param.generate.part.toc">generate.part.toc</a> - FIXME: + </dt> + <dt><a href="#param.generate.reference.toc">generate.reference.toc</a> - FIXME: + </dt> + <dt><a href="#param.generate.preface.toc">generate.preface.toc</a> - FIXME: + </dt> + <dt><a href="#param.generate.chapter.toc">generate.chapter.toc</a> - FIXME: + </dt> + <dt><a href="#param.generate.appendix.toc">generate.appendix.toc</a> - FIXME: + </dt> + <dt><a href="#param.generate.article.toc">generate.article.toc</a> - FIXME: + </dt> + <dt><a href="#param.generate.section.toc">generate.section.toc</a> - Generate TOCs inside Sections? + </dt> + <dt><a href="#param.generate.section.toc.level">generate.section.toc.level</a> - Control depth of TOC generation in sections + </dt> + <dt><a href="#param.process.source.toc">process.source.toc</a> - FIXME: + </dt> + <dt><a href="#param.process.empty.source.toc">process.empty.source.toc</a> - FIXME: + </dt> + <dt><a href="#param.bridgehead.in.toc">bridgehead.in.toc</a> - Should bridgehead elements appear in the TOC? + </dt> + <dt><a href="#param.generate.index">generate.index</a> - FIXME: + </dt> + <dt><a href="#param.callout.unicode">callout.unicode</a> - FIXME: + </dt> + <dt><a href="#param.callout.unicode.start.character">callout.unicode.start.character</a> - First Unicode character to use, decimal value. + </dt> + <dt><a href="#param.callout.unicode.number.limit">callout.unicode.number.limit</a> - Number of the largest callout graphic + </dt> + <dt><a href="#param.callout.unicode.font">callout.unicode.font</a> - Font to use for Unicode dingbats + </dt> + <dt><a href="#param.use.id.as.filename">use.id.as.filename</a> - Use ID value of chunk elements as the filename? + </dt> + <dt><a href="#param.inherit.keywords">inherit.keywords</a> - Inherit keywords from ancestor elements? + </dt> + <dt><a href="#param.label.from.part">label.from.part</a> - Renumber chapters in each part? + </dt> + <dt><a href="#param.citerefentry.link">citerefentry.link</a> - Generate URL links when cross-referencing RefEntrys? + </dt> + <dt><a href="#param.formal.procedures">formal.procedures</a> - Selects formal or informal procedures + </dt> + <dt><a href="#param.bibliography.collection">bibliography.collection</a> - Name of the bibliography collection file + </dt> + <dt><a href="#param.annotate.toc">annotate.toc</a> - Annotate the Table of Contents? + </dt> + <dt><a href="#param.emphasis.propagates.style">emphasis.propagates.style</a> - Pass emphasis role attribute through to HTML? + </dt> + <dt><a href="#param.phrase.propagates.style">phrase.propagates.style</a> - Pass phrase role attribute through to HTML? + </dt> + <dt><a href="#param.runinhead.title.end.punct">runinhead.title.end.punct</a> - Characters that count as punctuation on a run-in-head + </dt> + <dt><a href="#param.runinhead.default.title.end.punct">runinhead.default.title.end.punct</a> - Default punctuation character on a run-in-head + </dt> + </dl> + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.author.othername.in.middle"></a>author.othername.in.middle + </h1> + <div class="refnamediv"><a name="d0e72"></a><h2>Name</h2>author.othername.in.middle — Is <tt>othername</tt> in <tt>author</tt> a + middle name? + </div> + <div class="refsynopsisdiv"><a name="d0e83"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="author.othername.in.middle" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e86"></a> + + + <p>If true (non-zero), the <tt>othername</tt> of an <tt>author</tt> + appears between the <tt>firstname</tt> and + <tt>surname</tt>. Otherwise, <tt>othername</tt> + is suppressed. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.html.stylesheet"></a>html.stylesheet + </h1> + <div class="refnamediv"><a name="d0e107"></a><h2>Name</h2>html.stylesheet — Name of the stylesheet to use in the generated HTML + </div> + <div class="refsynopsisdiv"><a name="d0e112"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="html.stylesheet" select="''" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e115"></a> + + + <p>The name of the stylesheet to place in the HTML <tt>LINK</tt> + tag, or the empty string to suppress the stylesheet <tt>LINK</tt>. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.html.stylesheet.type"></a>html.stylesheet.type + </h1> + <div class="refnamediv"><a name="d0e127"></a><h2>Name</h2>html.stylesheet.type — The type of the stylesheet used in the generated HTML + </div> + <div class="refsynopsisdiv"><a name="d0e132"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="html.stylesheet.type" doc:type="string">text/css</xsl:param></pre></div> + <div class="refdescription"><a name="d0e135"></a> + + + <p>The type of the stylesheet to place in the HTML <tt>link</tt> tag. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.html.base"></a>html.base + </h1> + <div class="refnamediv"><a name="d0e144"></a><h2>Name</h2>html.base — An HTML base URI + </div> + <div class="refsynopsisdiv"><a name="d0e149"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="html.base" doc:type="uri"/></pre></div> + <div class="refdescription"><a name="d0e152"></a> + + + <p>If html.base is set, it is used for the <tt>BASE</tt> + element in the <tt>HEAD</tt> of the HTML documents. + This is useful for dynamically served HTML where the base URI needs + to be shifted. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.ulink.target"></a>ulink.target + </h1> + <div class="refnamediv"><a name="d0e164"></a><h2>Name</h2>ulink.target — The HTML anchor target for ULinks + </div> + <div class="refsynopsisdiv"><a name="d0e169"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="ulink.target" select="'_top'" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e172"></a> + + + <p>If <i><tt>ulink.target</tt></i> is set, its value will + be used for the <tt>target</tt> attribute + on anchors generated for <tt>ulink</tt>s. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.refentry.xref.manvolnum"></a>refentry.xref.manvolnum + </h1> + <div class="refnamediv"><a name="d0e187"></a><h2>Name</h2>refentry.xref.manvolnum — Output <tt>manvolnum</tt> as part of + <tt>refentry</tt> cross-reference? + </div> + <div class="refsynopsisdiv"><a name="d0e198"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="refentry.xref.manvolnum" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e201"></a> + + + <p>if true (non-zero), the <tt>manvolnum</tt> is used when cross-referencing + <tt>refentry</tt>s, either with <tt>xref</tt> + or <tt>citerefentry</tt>. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.show.comments"></a>show.comments + </h1> + <div class="refnamediv"><a name="d0e219"></a><h2>Name</h2>show.comments — Display <tt>comment</tt> elements? + </div> + <div class="refsynopsisdiv"><a name="d0e227"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="show.comments" doc:type="boolean">1</xsl:param></pre></div> + <div class="refdescription"><a name="d0e230"></a> + + + <p>If true (non-zero), comments will be displayed, otherwise they are suppressed. + Comments here refers to the <tt>comment</tt> element, + which will be renamed <tt>remark</tt> in DocBook V4.0, + not XML comments (<-- like this -->) which are unavailable. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.funcsynopsis.style"></a>funcsynopsis.style + </h1> + <div class="refnamediv"><a name="d0e242"></a><h2>Name</h2>funcsynopsis.style — What style of 'FuncSynopsis' should be generated? + </div> + <div class="refsynopsisdiv"><a name="d0e247"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="funcsynopsis.style" doc:type="list" doc:list="ansi kr">kr</xsl:param></pre></div> + <div class="refdescription"><a name="d0e250"></a> + + + <p>If <tt>funcsynopsis.style</tt> is <tt>ansi</tt>, + ANSI-style function synopses are generated for a + <tt>funcsynopsis</tt>, otherwise K&R-style + function synopses are generated. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.funcsynopsis.decoration"></a>funcsynopsis.decoration + </h1> + <div class="refnamediv"><a name="d0e265"></a><h2>Name</h2>funcsynopsis.decoration — Decorate elements of a FuncSynopsis? + </div> + <div class="refsynopsisdiv"><a name="d0e270"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="funcsynopsis.decoration" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e273"></a> + + + <p>If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or + italic). The decoration is controlled by functions that can be redefined + in a customization layer. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.function.parens"></a>function.parens + </h1> + <div class="refnamediv"><a name="d0e279"></a><h2>Name</h2>function.parens — Generate parens after a function? + </div> + <div class="refsynopsisdiv"><a name="d0e284"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="function.parens" doc:type="boolean">0</xsl:param></pre></div> + <div class="refdescription"><a name="d0e287"></a> + + + <p>If not 0, the formatting of + a <tt><function></tt> element will include + generated parenthesis. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.refentry.generate.name"></a>refentry.generate.name + </h1> + <div class="refnamediv"><a name="d0e296"></a><h2>Name</h2>refentry.generate.name — Output NAME header before 'RefName'(s)? + </div> + <div class="refsynopsisdiv"><a name="d0e301"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="refentry.generate.name" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e304"></a> + + + <p>If true (non-zero), a "NAME" section title is output before the list + of 'RefName's. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.admon.graphics"></a>admon.graphics + </h1> + <div class="refnamediv"><a name="d0e310"></a><h2>Name</h2>admon.graphics — Use graphics in admonitions? + </div> + <div class="refsynopsisdiv"><a name="d0e315"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="admon.graphics" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e318"></a> + + + <p>If true (non-zero), admonitions are presented in an alternate style that uses + a graphic. Default graphics are provided in the distribution. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.admon.graphics.path"></a>admon.graphics.path + </h1> + <div class="refnamediv"><a name="d0e324"></a><h2>Name</h2>admon.graphics.path — Path to admonition graphics + </div> + <div class="refsynopsisdiv"><a name="d0e329"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="admon.graphics.path" doc:type="string">images/</xsl:param></pre></div> + <div class="refdescription"><a name="d0e332"></a> + + + <p>Sets the path, probably relative to the directory where the HTML + files are created, to the admonition graphics. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.admon.graphics.extension"></a>admon.graphics.extension + </h1> + <div class="refnamediv"><a name="d0e338"></a><h2>Name</h2>admon.graphics.extension — Extension for admonition graphics + </div> + <div class="refsynopsisdiv"><a name="d0e343"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="admon.graphics.extension" select="'.png'" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e346"></a> + + + <p>Sets the extension to use on admonition graphics.</p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.admon.style"></a>admon.style + </h1> + <div class="refnamediv"><a name="d0e352"></a><h2>Name</h2>admon.style — CSS style attributes for admonitions + </div> + <div class="refsynopsisdiv"><a name="d0e357"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="admon.style" doc:type="string"> + <xsl:text>margin-left: 0.5in; margin-right: 0.5in;</xsl:text> +</xsl:param></pre></div> + <div class="refdescription"><a name="d0e360"></a> + + + <p>Specifies the value of the <tt>STYLE</tt> + attribute that should be added to admonitions. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.section.autolabel"></a>section.autolabel + </h1> + <div class="refnamediv"><a name="d0e369"></a><h2>Name</h2>section.autolabel — Are sections enumerated? + </div> + <div class="refsynopsisdiv"><a name="d0e374"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="section.autolabel" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e377"></a> + + + <p>If true (non-zero), unlabeled sections will be enumerated. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.section.label.includes.component.label"></a>section.label.includes.component.label + </h1> + <div class="refnamediv"><a name="d0e383"></a><h2>Name</h2>section.label.includes.component.label — Do section labels include the component label? + </div> + <div class="refsynopsisdiv"><a name="d0e388"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="section.label.includes.component.label" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e391"></a> + + + <p>If true (non-zero), section labels are prefixed with the label of the + component that contains them. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.chapter.autolabel"></a>chapter.autolabel + </h1> + <div class="refnamediv"><a name="d0e397"></a><h2>Name</h2>chapter.autolabel — Are chapters and appendixes enumerated? + </div> + <div class="refsynopsisdiv"><a name="d0e402"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="chapter.autolabel" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e405"></a> + + + <p>If true (non-zero), unlabeled chapters and appendixes will be enumerated. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.preface.autolabel"></a>preface.autolabel + </h1> + <div class="refnamediv"><a name="d0e411"></a><h2>Name</h2>preface.autolabel — Are prefaces enumerated? + </div> + <div class="refsynopsisdiv"><a name="d0e416"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="preface.autolabel" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e419"></a> + + + <p>If true (non-zero), unlabeled prefaces will be enumerated. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.part.autolabel"></a>part.autolabel + </h1> + <div class="refnamediv"><a name="d0e425"></a><h2>Name</h2>part.autolabel — Are parts and references enumerated? + </div> + <div class="refsynopsisdiv"><a name="d0e430"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="part.autolabel" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e433"></a> + + + <p>If true (non-zero), unlabeled parts and references will be enumerated. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.qandadiv.autolabel"></a>qandadiv.autolabel + </h1> + <div class="refnamediv"><a name="d0e439"></a><h2>Name</h2>qandadiv.autolabel — Are divisions in QAndASets enumerated? + </div> + <div class="refsynopsisdiv"><a name="d0e444"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="qandadiv.autolabel" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e447"></a> + + + <p>If true (non-zero), unlabeled qandadivs will be enumerated. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.qanda.inherit.numeration"></a>qanda.inherit.numeration + </h1> + <div class="refnamediv"><a name="d0e453"></a><h2>Name</h2>qanda.inherit.numeration — Does enumeration of QandASet components inherit the numeration of parent elements? + </div> + <div class="refsynopsisdiv"><a name="d0e458"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="qanda.inherit.numeration" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e461"></a> + + + <p>If true (non-zero), numbered QandADiv elements and Questions and Answers inherit + the numeration of the ancestors of the QandASet. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.qanda.defaultlabel"></a>qanda.defaultlabel + </h1> + <div class="refnamediv"><a name="d0e467"></a><h2>Name</h2>qanda.defaultlabel — Sets the default for defaultlabel on QandASet. + </div> + <div class="refsynopsisdiv"><a name="d0e472"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="qanda.defaultlabel" doc:type="boolean" doc:list="qanda number none">number</xsl:param></pre></div> + <div class="refdescription"><a name="d0e475"></a> + + + <p>If no defaultlabel attribute is specified on a QandASet, this + value is used. It must be one of the legal values for the defaultlabel + attribute. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.qandaset.toc"></a>generate.qandaset.toc + </h1> + <div class="refnamediv"><a name="d0e481"></a><h2>Name</h2>generate.qandaset.toc — Is a Table of Contents created for QandASets? + </div> + <div class="refsynopsisdiv"><a name="d0e486"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.qandaset.toc" doc:type="boolean">1</xsl:param></pre></div> + <div class="refdescription"><a name="d0e489"></a> + + + <p>If true (non-zero), a ToC is constructed for QandASets. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.qandadiv.toc"></a>generate.qandadiv.toc + </h1> + <div class="refnamediv"><a name="d0e495"></a><h2>Name</h2>generate.qandadiv.toc — Is a Table of Contents created for QandADivs? + </div> + <div class="refsynopsisdiv"><a name="d0e500"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.qandadiv.toc" doc:type="boolean">0</xsl:param></pre></div> + <div class="refdescription"><a name="d0e503"></a> + + + <p>If true (non-zero), a ToC is constructed for QandADivs. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.biblioentry.item.separator"></a>biblioentry.item.separator + </h1> + <div class="refnamediv"><a name="d0e509"></a><h2>Name</h2>biblioentry.item.separator — Text to separate bibliography entries + </div> + <div class="refsynopsisdiv"><a name="d0e514"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="biblioentry.item.separator" doc:type="string">. </xsl:param></pre></div> + <div class="refdescription"><a name="d0e517"></a> + + + <p>Text to separate bibliography entries + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.toc.section.depth"></a>toc.section.depth + </h1> + <div class="refnamediv"><a name="d0e523"></a><h2>Name</h2>toc.section.depth — How deep should recursive <tt>section</tt>s appear + in the TOC? + </div> + <div class="refsynopsisdiv"><a name="d0e531"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="toc.section.depth" doc:type="integer" doc:min="1" doc:max="10">2</xsl:param></pre></div> + <div class="refdescription"><a name="d0e534"></a> + + + <p>Specifies the depth to which recursive sections should appear in the + TOC. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.using.chunker"></a>using.chunker + </h1> + <div class="refnamediv"><a name="d0e540"></a><h2>Name</h2>using.chunker — Will the output be chunked? + </div> + <div class="refsynopsisdiv"><a name="d0e545"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="using.chunker" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e548"></a> + + + <p>In addition to providing chunking, the chunker can cleanup a + number of XML to HTML issues. If the chunker is not being used, the + stylesheets try to avoid producing results that will not appear properly + in browsers. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.component.toc"></a>generate.component.toc + </h1> + <div class="refnamediv"><a name="d0e554"></a><h2>Name</h2>generate.component.toc — Should TOCs be genereated in components (Chapters, Appendixes, etc.)? + </div> + <div class="refsynopsisdiv"><a name="d0e559"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.component.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e562"></a> + + + <p>If true (non-zero), they are. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.division.toc"></a>generate.division.toc + </h1> + <div class="refnamediv"><a name="d0e568"></a><h2>Name</h2>generate.division.toc — Should TOCs be genereated in divisions (Books, Parts, etc.)? + </div> + <div class="refsynopsisdiv"><a name="d0e573"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.division.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e576"></a> + + + <p>If true (non-zero), they are. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.link.mailto.url"></a>link.mailto.url + </h1> + <div class="refnamediv"><a name="d0e582"></a><h2>Name</h2>link.mailto.url — Mailto URL for the LINK REL=made HTML HEAD element + </div> + <div class="refsynopsisdiv"><a name="d0e587"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="link.mailto.url" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e590"></a> + + + <p>If not the empty string, this address will be used for the + REL=made <tt>LINK</tt> element in the HTML <tt>HEAD</tt>. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.graphic.default.extension"></a>graphic.default.extension + </h1> + <div class="refnamediv"><a name="d0e602"></a><h2>Name</h2>graphic.default.extension — Default extension for graphic filenames + </div> + <div class="refsynopsisdiv"><a name="d0e607"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="graphic.default.extension" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e610"></a> + + + <p>If a <tt>graphic</tt> or <tt>mediaobject</tt> + includes a reference to a filename that does not include an extension, + and the <tt>format</tt> attribute is + <span class="emphasis"><i>unspecified</i></span>, the default extension will be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.toc.list.type"></a>toc.list.type + </h1> + <div class="refnamediv"><a name="d0e628"></a><h2>Name</h2>toc.list.type — Type of HTML list element to use for Tables of Contents + </div> + <div class="refsynopsisdiv"><a name="d0e633"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="toc.list.type" doc:type="list" doc:list="dl ul ol">dl</xsl:param></pre></div> + <div class="refdescription"><a name="d0e636"></a> + + + <p>When an automatically generated Table of Contents (or List of Titles) + is produced, this HTML element will be used to make the list. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.use.id.function"></a>use.id.function + </h1> + <div class="refnamediv"><a name="d0e642"></a><h2>Name</h2>use.id.function — Use the XPath id() function to find link targets? + </div> + <div class="refsynopsisdiv"><a name="d0e647"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="use.id.function" doc:type="boolean" select="'1'"/></pre></div> + <div class="refdescription"><a name="d0e650"></a> + + + <p>If 1, the stylesheets use the <tt>id()</tt> function + to find the targets of cross reference elements. This is more + efficient, but only works if your XSLT processor implements the + <tt>id()</tt> function, naturally. + </p> + + + + <p>THIS PARAMETER IS NOT SUPPORTED. IT IS ALWAYS ASSUMED TO BE 1. + SEE xref.xsl IF YOU NEED TO TURN IT OFF. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.spacing.paras"></a>spacing.paras + </h1> + <div class="refnamediv"><a name="d0e665"></a><h2>Name</h2>spacing.paras — Insert additional <p> elements for spacing? + </div> + <div class="refsynopsisdiv"><a name="d0e670"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="spacing.paras" doc:type="boolean" select="'0'"/></pre></div> + <div class="refdescription"><a name="d0e673"></a> + + + <p>When non-zero, additional, empty paragraphs are inserted in + several contexts (for example, around informal figures), to create a + more pleasing visual appearance in many browsers. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.css.decoration"></a>css.decoration + </h1> + <div class="refnamediv"><a name="d0e679"></a><h2>Name</h2>css.decoration — Enable CSS decoration of elements + </div> + <div class="refsynopsisdiv"><a name="d0e684"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="css.decoration" doc:type="boolean">1</xsl:param></pre></div> + <div class="refdescription"><a name="d0e687"></a> + + + <p> + If <tt>css.decoration</tt> is turned on, then HTML elements + produced by the + stylesheet may be decorated with STYLE attributes. For example, the + LI tags produced for list items may include a fragment of CSS in the + STYLE attribute which sets the CSS property "list-style-type". + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.show.revisionflag"></a>show.revisionflag + </h1> + <div class="refnamediv"><a name="d0e696"></a><h2>Name</h2>show.revisionflag — Enable decoration of elements that have a revisionflag + </div> + <div class="refsynopsisdiv"><a name="d0e701"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="show.revisionflag" doc:type="boolean">0</xsl:param></pre></div> + <div class="refdescription"><a name="d0e704"></a> + + + <p> + If <tt>show.revisionflag</tt> is turned on, then the stylesheets + may produce additional markup designed to allow a CSS stylesheet to + highlight elements that have specific revisionflag settings. + </p> + + + + + <p>The markup inserted will be usually be either a <span> or <div> + with an appropriate <tt>class</tt> attribute. (The value of + the class attribute will be the same as the value of the revisionflag + attribute). In some contexts, for example tables, where extra markup + would be structurally illegal, the class attribute will be added to the + appropriate container element. + </p> + + + + + <p>In general, the stylesheets only test for revisionflag in contexts + where an importing stylesheet would have to redefine whole templates. + Most of the revisionflag processing is expected to be done by another + stylesheet, for example <tt>changebars.xsl</tt>. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.suppress.navigation"></a>suppress.navigation + </h1> + <div class="refnamediv"><a name="d0e725"></a><h2>Name</h2>suppress.navigation — Disable header and footer navigation + </div> + <div class="refsynopsisdiv"><a name="d0e730"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="suppress.navigation" doc:type="boolean">0</xsl:param></pre></div> + <div class="refdescription"><a name="d0e733"></a> + + + <p> + If <tt>suppress.navigation</tt> is turned on, header and + footer navigation will be suppressed. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.rootid"></a>rootid + </h1> + <div class="refnamediv"><a name="d0e742"></a><h2>Name</h2>rootid — Specify the root element to format + </div> + <div class="refsynopsisdiv"><a name="d0e747"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="rootid" select="''" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e750"></a> + + + <p>If <i><tt>rootid</tt></i> is specified, it must be the + value of an ID that occurs in the document being formatted. The entire + document will be loaded and parsed, but formatting will begin at the + element identified, rather than at the root. For example, this allows + you to process only chapter 4 of a book. + </p> + + + + <p>Because the entire document is available to the processor, automatic + numbering, cross references, and other dependencies are correctly + resolved. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.list.table"></a>callout.list.table + </h1> + <div class="refnamediv"><a name="d0e762"></a><h2>Name</h2>callout.list.table — Present callout lists using a table? + </div> + <div class="refsynopsisdiv"><a name="d0e767"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.list.table" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e770"></a> + + + <p>The default presentation of <tt>CalloutList</tt>s uses + an HTML <tt>DL</tt>. Some browsers don't align DLs very well + if <i><tt>callout.graphics</tt></i> are used. With this option + turned on, <tt>CalloutList</tt>s are presented in an HTML + <tt>TABLE</tt>, which usually results in better alignment + of the callout number with the callout description. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.graphics"></a>callout.graphics + </h1> + <div class="refnamediv"><a name="d0e791"></a><h2>Name</h2>callout.graphics — Use graphics for callouts? + </div> + <div class="refsynopsisdiv"><a name="d0e796"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.graphics" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e799"></a> + + + <p>If non-zero, callouts are presented with graphics (e.g., reverse-video + circled numbers instead of "(1)", "(2)", etc.). + Default graphics are provided in the distribution. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.graphics.extension"></a>callout.graphics.extension + </h1> + <div class="refnamediv"><a name="d0e805"></a><h2>Name</h2>callout.graphics.extension — Extension for callout graphics + </div> + <div class="refsynopsisdiv"><a name="d0e810"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.graphics.extension" select="'.png'" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e813"></a> + + + <p>Sets the extension to use on callout graphics.</p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.graphics.path"></a>callout.graphics.path + </h1> + <div class="refnamediv"><a name="d0e819"></a><h2>Name</h2>callout.graphics.path — Path to callout graphics + </div> + <div class="refsynopsisdiv"><a name="d0e824"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.graphics.path" select="'images/callouts/'" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e827"></a> + + + <p>Sets the path, probably relative to the directory where the HTML + files are created, to the callout graphics. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.graphics.number.limit"></a>callout.graphics.number.limit + </h1> + <div class="refnamediv"><a name="d0e833"></a><h2>Name</h2>callout.graphics.number.limit — Number of the largest callout graphic + </div> + <div class="refsynopsisdiv"><a name="d0e838"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.graphics.number.limit" select="'10'" doc:type="integer"/></pre></div> + <div class="refdescription"><a name="d0e841"></a> + + + <p>If <i><tt>callout.graphics</tt></i> + is non-zero, graphics are used to represent + callout numbers. The value of + <i><tt>callout.graphics.number.limit</tt></i> + is + the largest number for which a graphic exists. If the callout number + exceeds this limit, the default presentation "(nnn)" will always + be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.use.extensions"></a>use.extensions + </h1> + <div class="refnamediv"><a name="d0e853"></a><h2>Name</h2>use.extensions — Enable extensions + </div> + <div class="refsynopsisdiv"><a name="d0e858"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="use.extensions" select="'0'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e861"></a> + + + <p>If non-zero, extensions may be used. Each extension is + further controlled by its own parameter. But if + <i><tt>use.extensions</tt></i> is zero, no extensions will + be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.textinsert.extension"></a>textinsert.extension + </h1> + <div class="refnamediv"><a name="d0e870"></a><h2>Name</h2>textinsert.extension — Enable the textinsert extension element + </div> + <div class="refsynopsisdiv"><a name="d0e875"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="textinsert.extension" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e878"></a> + + + <p>The textinsert extension element inserts the contents of a + a file into the result tree (as text). + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.saxon.linenumbering"></a>saxon.linenumbering + </h1> + <div class="refnamediv"><a name="d0e884"></a><h2>Name</h2>saxon.linenumbering — Enable the line numbering extension + </div> + <div class="refsynopsisdiv"><a name="d0e889"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="saxon.linenumbering" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e892"></a> + + + <p>If true, verbatim environments (elements that have the + format='linespecific' notation attribute: address, literallayout, + programlisting, screen, synopsis) that specify line numbering will + have, surprise, line numbers. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.linenumbering.extension"></a>linenumbering.extension + </h1> + <div class="refnamediv"><a name="d0e898"></a><h2>Name</h2>linenumbering.extension — Enable the line numbering extension + </div> + <div class="refsynopsisdiv"><a name="d0e903"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="linenumbering.extension" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e906"></a> + + + <p>If true, verbatim environments (elements that have the + format='linespecific' notation attribute: address, literallayout, + programlisting, screen, synopsis) that specify line numbering will + have, surprise, line numbers. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.linenumbering.everyNth"></a>linenumbering.everyNth + </h1> + <div class="refnamediv"><a name="d0e912"></a><h2>Name</h2>linenumbering.everyNth — Indicate which lines should be numbered + </div> + <div class="refsynopsisdiv"><a name="d0e917"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="linenumbering.everyNth" select="'5'" doc:type="integer"/></pre></div> + <div class="refdescription"><a name="d0e920"></a> + + + <p>If line numbering is enabled, everyNth line will be numbered. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.linenumbering.width"></a>linenumbering.width + </h1> + <div class="refnamediv"><a name="d0e926"></a><h2>Name</h2>linenumbering.width — Indicates the width of line numbers + </div> + <div class="refsynopsisdiv"><a name="d0e931"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="linenumbering.width" select="'3'" doc:type="integer"/></pre></div> + <div class="refdescription"><a name="d0e934"></a> + + + <p>If line numbering is enabled, line numbers will appear right + justified in a field "width" characters wide. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.linenumbering.separator"></a>linenumbering.separator + </h1> + <div class="refnamediv"><a name="d0e940"></a><h2>Name</h2>linenumbering.separator — Specify a separator between line numbers and lines + </div> + <div class="refsynopsisdiv"><a name="d0e945"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="linenumbering.separator" select="' '" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e948"></a> + + + <p>The separator is inserted between line numbers and lines in + the verbatim environment. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.saxon.callouts"></a>saxon.callouts + </h1> + <div class="refnamediv"><a name="d0e954"></a><h2>Name</h2>saxon.callouts — Enable the callout extension + </div> + <div class="refsynopsisdiv"><a name="d0e959"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="saxon.callouts" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e962"></a> + + + <p>The callouts extension processes <tt>areaset</tt> + elements in <tt>ProgramListingCO</tt> and other text-based + callout elements. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callouts.extension"></a>callouts.extension + </h1> + <div class="refnamediv"><a name="d0e974"></a><h2>Name</h2>callouts.extension — Enable the callout extension + </div> + <div class="refsynopsisdiv"><a name="d0e979"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callouts.extension" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e982"></a> + + + <p>The callouts extension processes <tt>areaset</tt> + elements in <tt>ProgramListingCO</tt> and other text-based + callout elements. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.defaultcolumn"></a>callout.defaultcolumn + </h1> + <div class="refnamediv"><a name="d0e994"></a><h2>Name</h2>callout.defaultcolumn — Indicates what column callouts appear in by default + </div> + <div class="refsynopsisdiv"><a name="d0e999"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.defaultcolumn" select="'60'" doc:type="integer"/></pre></div> + <div class="refdescription"><a name="d0e1002"></a> + + + <p>If a callout does not identify a column (for example, if it uses + the <tt>linerange</tt> <tt>unit</tt>), + it will appear in the default column. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.stylesheet.result.type"></a>stylesheet.result.type + </h1> + <div class="refnamediv"><a name="d0e1014"></a><h2>Name</h2>stylesheet.result.type — Identifies the output format of this stylesheet + </div> + <div class="refsynopsisdiv"><a name="d0e1019"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="stylesheet.result.type" select="'html'" doc:type="list" doc:list="html fo"/></pre></div> + <div class="refdescription"><a name="d0e1022"></a> + + + <p>The Saxon extension functions need to know if the output format + is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers + that question. Valid settings are 'html' or 'fo'. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.nominal.table.width"></a>nominal.table.width + </h1> + <div class="refnamediv"><a name="d0e1028"></a><h2>Name</h2>nominal.table.width — The (absolute) nominal width of tables + </div> + <div class="refsynopsisdiv"><a name="d0e1033"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="nominal.table.width" select="'6in'" doc:type="length"/></pre></div> + <div class="refdescription"><a name="d0e1036"></a> + + + <p>In order to convert CALS column widths into HTML column widths, it + is sometimes necessary to have an absolute table width to use for conversion + of mixed absolute and relative widths. This value must be an absolute + length (not a percentag). + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.default.table.width"></a>default.table.width + </h1> + <div class="refnamediv"><a name="d0e1042"></a><h2>Name</h2>default.table.width — The default width of tables + </div> + <div class="refsynopsisdiv"><a name="d0e1047"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="default.table.width" select="''" doc:type="length"/></pre></div> + <div class="refdescription"><a name="d0e1050"></a> + + + <p>If specified, this value will be used for the WIDTH attribute on + tables that do not specify an alternate width (with the dbhtml processing + instruction). + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.saxon.tablecolumns"></a>saxon.tablecolumns + </h1> + <div class="refnamediv"><a name="d0e1056"></a><h2>Name</h2>saxon.tablecolumns — Enable the table columns extension function + </div> + <div class="refsynopsisdiv"><a name="d0e1061"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="saxon.tablecolumns" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1064"></a> + + + <p>The table columns extension function adjusts the widths of table + columns in the HTML result to more accurately reflect the specifications + in the CALS table. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.tablecolumns.extension"></a>tablecolumns.extension + </h1> + <div class="refnamediv"><a name="d0e1070"></a><h2>Name</h2>tablecolumns.extension — Enable the table columns extension function + </div> + <div class="refsynopsisdiv"><a name="d0e1075"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="tablecolumns.extension" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1078"></a> + + + <p>The table columns extension function adjusts the widths of table + columns in the HTML result to more accurately reflect the specifications + in the CALS table. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.set.toc"></a>generate.set.toc + </h1> + <div class="refnamediv"><a name="d0e1084"></a><h2>Name</h2>generate.set.toc — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1089"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.set.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1092"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.book.toc"></a>generate.book.toc + </h1> + <div class="refnamediv"><a name="d0e1098"></a><h2>Name</h2>generate.book.toc — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1103"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.book.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1106"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.part.toc"></a>generate.part.toc + </h1> + <div class="refnamediv"><a name="d0e1112"></a><h2>Name</h2>generate.part.toc — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1117"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.part.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1120"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.reference.toc"></a>generate.reference.toc + </h1> + <div class="refnamediv"><a name="d0e1126"></a><h2>Name</h2>generate.reference.toc — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1131"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.reference.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1134"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.preface.toc"></a>generate.preface.toc + </h1> + <div class="refnamediv"><a name="d0e1140"></a><h2>Name</h2>generate.preface.toc — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1145"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.preface.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1148"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.chapter.toc"></a>generate.chapter.toc + </h1> + <div class="refnamediv"><a name="d0e1154"></a><h2>Name</h2>generate.chapter.toc — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1159"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.chapter.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1162"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.appendix.toc"></a>generate.appendix.toc + </h1> + <div class="refnamediv"><a name="d0e1168"></a><h2>Name</h2>generate.appendix.toc — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1173"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.appendix.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1176"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.article.toc"></a>generate.article.toc + </h1> + <div class="refnamediv"><a name="d0e1182"></a><h2>Name</h2>generate.article.toc — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1187"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.article.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1190"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.section.toc"></a>generate.section.toc + </h1> + <div class="refnamediv"><a name="d0e1196"></a><h2>Name</h2>generate.section.toc — Generate TOCs inside Sections? + </div> + <div class="refsynopsisdiv"><a name="d0e1201"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.section.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1204"></a> + + + <p>If non-zero, a Table of Contents will be generated inside section + elements. Note that + <i><tt>generate.section.toc.level</tt></i> + may suppress some section TOCs. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.section.toc.level"></a>generate.section.toc.level + </h1> + <div class="refnamediv"><a name="d0e1213"></a><h2>Name</h2>generate.section.toc.level — Control depth of TOC generation in sections + </div> + <div class="refsynopsisdiv"><a name="d0e1218"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.section.toc.level" select="0" doc:type="integer"/></pre></div> + <div class="refdescription"><a name="d0e1221"></a> + + + <p>The <i><tt>generate.section.toc.level</tt></i> parameter + controls the depth of section in which TOCs will be generated. Note + that this is related to, but not the same as + <i><tt>toc.section.depth</tt></i>, which controls the depth to + which TOC entries will be generated in a given TOC. + </p> + + + + <p>If, for example, <i><tt>generate.section.toc.level</tt></i> + is <tt>3</tt>, TOCs will be generated in first, second, and third + level sections, but not in fourth level sections. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.process.source.toc"></a>process.source.toc + </h1> + <div class="refnamediv"><a name="d0e1242"></a><h2>Name</h2>process.source.toc — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1247"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="process.source.toc" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1250"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.process.empty.source.toc"></a>process.empty.source.toc + </h1> + <div class="refnamediv"><a name="d0e1256"></a><h2>Name</h2>process.empty.source.toc — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1261"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="process.empty.source.toc" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1264"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.bridgehead.in.toc"></a>bridgehead.in.toc + </h1> + <div class="refnamediv"><a name="d0e1270"></a><h2>Name</h2>bridgehead.in.toc — Should bridgehead elements appear in the TOC? + </div> + <div class="refsynopsisdiv"><a name="d0e1275"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="bridgehead.in.toc" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1278"></a> + + + <p>If non-zero, bridgeheads appear in the TOC. Note that this option + is not fully supported and may be removed in a future version of the + stylesheets. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.generate.index"></a>generate.index + </h1> + <div class="refnamediv"><a name="d0e1284"></a><h2>Name</h2>generate.index — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1289"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="generate.index" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1292"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.unicode"></a>callout.unicode + </h1> + <div class="refnamediv"><a name="d0e1298"></a><h2>Name</h2>callout.unicode — FIXME: + </div> + <div class="refsynopsisdiv"><a name="d0e1303"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.unicode" select="0" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1306"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.unicode.start.character"></a>callout.unicode.start.character + </h1> + <div class="refnamediv"><a name="d0e1312"></a><h2>Name</h2>callout.unicode.start.character — First Unicode character to use, decimal value. + </div> + <div class="refsynopsisdiv"><a name="d0e1317"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.unicode.start.character" select="10102" doc:type="integer"/></pre></div> + <div class="refdescription"><a name="d0e1320"></a> + + + <p>If <i><tt>callout.graphics</tt></i> + is non-zero, graphics are used to represent + callout numbers. The value of + <i><tt>callout.graphics.number.limit</tt></i> + is + the largest number for which a graphic exists. If the callout number + exceeds this limit, the default presentation "(nnn)" will always + be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.unicode.number.limit"></a>callout.unicode.number.limit + </h1> + <div class="refnamediv"><a name="d0e1332"></a><h2>Name</h2>callout.unicode.number.limit — Number of the largest callout graphic + </div> + <div class="refsynopsisdiv"><a name="d0e1337"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.unicode.number.limit" select="'10'" doc:type="integer"/></pre></div> + <div class="refdescription"><a name="d0e1340"></a> + + + <p>If <i><tt>callout.graphics</tt></i> + is non-zero, graphics are used to represent + callout numbers. The value of + <i><tt>callout.graphics.number.limit</tt></i> + is + the largest number for which a graphic exists. If the callout number + exceeds this limit, the default presentation "(nnn)" will always + be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.callout.unicode.font"></a>callout.unicode.font + </h1> + <div class="refnamediv"><a name="d0e1352"></a><h2>Name</h2>callout.unicode.font — Font to use for Unicode dingbats + </div> + <div class="refsynopsisdiv"><a name="d0e1357"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="callout.unicode.font" select="'ZapfDingbats'"/></pre></div> + <div class="refdescription"><a name="d0e1360"></a> + + + <p>The name of the font to specify around Unicode callout glyphs. + If set to the empty string, no font change will occur. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.use.id.as.filename"></a>use.id.as.filename + </h1> + <div class="refnamediv"><a name="d0e1366"></a><h2>Name</h2>use.id.as.filename — Use ID value of chunk elements as the filename? + </div> + <div class="refsynopsisdiv"><a name="d0e1371"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="use.id.as.filename" select="'0'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1374"></a> + + + <p>If <i><tt>use.id.as.filename</tt></i> + is non-zero, the filename of chunk elements that have IDs will be + derived from the ID value. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.inherit.keywords"></a>inherit.keywords + </h1> + <div class="refnamediv"><a name="d0e1383"></a><h2>Name</h2>inherit.keywords — Inherit keywords from ancestor elements? + </div> + <div class="refsynopsisdiv"><a name="d0e1388"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="inherit.keywords" select="'1'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1391"></a> + + + <p>If <i><tt>inherit.keywords</tt></i> + is non-zero, the keyword <tt>META</tt> for each HTML + <tt>HEAD</tt> element will include all of the keywords from + ancestral elements. Otherwise, only the keywords from the current section + will be used. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.label.from.part"></a>label.from.part + </h1> + <div class="refnamediv"><a name="d0e1406"></a><h2>Name</h2>label.from.part — Renumber chapters in each part? + </div> + <div class="refsynopsisdiv"><a name="d0e1411"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="label.from.part" select="'0'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1414"></a> + + + <p>If <i><tt>label.from.part</tt></i> is non-zero, components + (<tt>chapter</tt>s, <tt>appendixe</tt>s, etc.) + will be numbered from 1 in each <tt>part</tt>. Otherwise, + they will be numbered monotonically throughout each + <tt>book</tt>. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.citerefentry.link"></a>citerefentry.link + </h1> + <div class="refnamediv"><a name="d0e1435"></a><h2>Name</h2>citerefentry.link — Generate URL links when cross-referencing RefEntrys? + </div> + <div class="refsynopsisdiv"><a name="d0e1440"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="citerefentry.link" select="'0'" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1443"></a> + + + <p>If true, a web link will be generated, presumably + to an online man->HTML gateway. The text of the link is + generated by the generate.citerefentry.link template. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.formal.procedures"></a>formal.procedures + </h1> + <div class="refnamediv"><a name="d0e1449"></a><h2>Name</h2>formal.procedures — Selects formal or informal procedures + </div> + <div class="refsynopsisdiv"><a name="d0e1454"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="formal.procedures" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1457"></a> + + + <p>Formal procedures are numbered and always hav a title. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.bibliography.collection"></a>bibliography.collection + </h1> + <div class="refnamediv"><a name="d0e1463"></a><h2>Name</h2>bibliography.collection — Name of the bibliography collection file + </div> + <div class="refsynopsisdiv"><a name="d0e1468"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="bibliography.collection" doc:type="string" select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/></pre></div> + <div class="refdescription"><a name="d0e1471"></a> + + + <p>Tired of copying bibliography entries from one document to another? + Now you can maintain a central bibliography and let the stylesheets do + the copying for you. This parameter identifies the file (by URI reference) + that contains your complete bibliography collection. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.annotate.toc"></a>annotate.toc + </h1> + <div class="refnamediv"><a name="d0e1477"></a><h2>Name</h2>annotate.toc — Annotate the Table of Contents? + </div> + <div class="refsynopsisdiv"><a name="d0e1482"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="annotate.toc" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1485"></a> + + + <p>If true, TOCs will be annotated. At present, this just means + that the <tt>RefPurpose</tt> of <tt>RefEntry</tt> + TOC entries will be displayed. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.emphasis.propagates.style"></a>emphasis.propagates.style + </h1> + <div class="refnamediv"><a name="d0e1497"></a><h2>Name</h2>emphasis.propagates.style — Pass emphasis role attribute through to HTML? + </div> + <div class="refsynopsisdiv"><a name="d0e1502"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="emphasis.propagates.style" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1505"></a> + + + <p>If true, the role attribute of <tt>emphasis</tt> elements + will be passed through to the HTML as a class attribute on a + <tt>span</tt> that surrounds the emphasis. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.phrase.propagates.style"></a>phrase.propagates.style + </h1> + <div class="refnamediv"><a name="d0e1517"></a><h2>Name</h2>phrase.propagates.style — Pass phrase role attribute through to HTML? + </div> + <div class="refsynopsisdiv"><a name="d0e1522"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="phrase.propagates.style" select="1" doc:type="boolean"/></pre></div> + <div class="refdescription"><a name="d0e1525"></a> + + + <p>If true, the role attribute of <tt>phrase</tt> elements + will be passed through to the HTML as a class attribute on a + <tt>span</tt> that surrounds the phrase. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.runinhead.title.end.punct"></a>runinhead.title.end.punct + </h1> + <div class="refnamediv"><a name="d0e1537"></a><h2>Name</h2>runinhead.title.end.punct — Characters that count as punctuation on a run-in-head + </div> + <div class="refsynopsisdiv"><a name="d0e1542"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="runinhead.title.end.punct" select="'.!?:'" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e1545"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="param.runinhead.default.title.end.punct"></a>runinhead.default.title.end.punct + </h1> + <div class="refnamediv"><a name="d0e1551"></a><h2>Name</h2>runinhead.default.title.end.punct — Default punctuation character on a run-in-head + </div> + <div class="refsynopsisdiv"><a name="d0e1556"></a><h2>Synopsis</h2><pre class="synopsis"> +<xsl:param name="runinhead.default.title.end.punct" select="'.'" doc:type="string"/></pre></div> + <div class="refdescription"><a name="d0e1559"></a> + + + <p>FIXME: + + </p> + + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/index.html b/lib/docbook/docbook-xsl/doc/index.html new file mode 100644 index 000000000..bebda9d99 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/index.html @@ -0,0 +1,4 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>DocBook XSL Stylesheet Documentation</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="next" href="pr01.html" title="Preface"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">DocBook XSL Stylesheet Documentation</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="pr01.html">Next</a></td></tr></table><hr></div><div class="book" id="d0e1"><div class="titlepage"><div><h1 class="title"><a name="d0e1"></a>DocBook XSL Stylesheet Documentation</h1></div><div><h3 class="author">Norman Walsh</h3><p class="othercredit">Bob Stayton</p></div><div><p class="copyright"><a href="copyright.html">Copyright</a> © 1999, 2000, 2001 by Norman Walsh. <a href="warranty.html">No Warranty</a>.</p></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="pr01.html">Preface</a></dt><dt>1. <a href="publishing.html">DocBook XSL</a></dt><dd><dl><dt><a href="publishing.html#d0e52">Using XSL tools to publish DocBook + documents</a></dt><dt><a href="ch01s02.html">A brief introduction to XSL</a></dt><dt><a href="ch01s03.html">XSL processing model</a></dt><dt><a href="ch01s04.html">Customizing DocBook XSL stylesheets</a></dt></dl></dd><dt>2. <a href="extensions.html">Saxon Extensions</a></dt><dd><dl><dt><a href="extensions.html#d0e937">Installation</a></dt><dt><a href="ch02s02.html">Using the Extensions</a></dt></dl></dd><dt>3. <a href="ch03.html">Tools documentation</a></dt><dt>4. <a href="ch04.html">Reference Documentation</a></dt><dt>5. <a href="ch05.html">The Template System</a></dt><dd><dl><dt><a href="ch05.html#d0e1006">Changing the Article Title Page</a></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="pr01.html">Next</a></td></tr><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> Preface</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/jrefhtml.xsl b/lib/docbook/docbook-xsl/doc/jrefhtml.xsl new file mode 100644 index 000000000..acf2c7c3b --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/jrefhtml.xsl @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<xsl:import href="../docsrc/jrefhtml.xsl"/>
+
+<xsl:param name="html.stylesheet" select="'../reference.css'"/>
+
+<xsl:template match="copyright" mode="titlepage.mode">
+ <xsl:variable name="years" select="year"/>
+ <xsl:variable name="holders" select="holder"/>
+
+ <p class="{name(.)}">
+ <a href="../copyright.html">
+ <xsl:call-template name="gentext.element.name"/>
+ </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:apply-templates select="$years" mode="titlepage.mode"/>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:call-template name="gentext.by"/>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:apply-templates select="$holders" mode="titlepage.mode"/>
+ <xsl:text>. </xsl:text>
+ <a href="../warranty.html">No Warranty</a>
+ <xsl:text>.</xsl:text>
+ </p>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/doc/lib/ChangeLog b/lib/docbook/docbook-xsl/doc/lib/ChangeLog new file mode 100644 index 000000000..685464607 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/lib/ChangeLog @@ -0,0 +1,12 @@ +2001-08-06 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Documentation and documentation generation tweaks
+
+2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Use XT again (neither Saxon nor Xalan work)
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
diff --git a/lib/docbook/docbook-xsl/doc/lib/lib.html b/lib/docbook/docbook-xsl/doc/lib/lib.html new file mode 100644 index 000000000..2716b24e9 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/lib/lib.html @@ -0,0 +1,165 @@ +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + + <title>Library Template Reference</title> + <link rel="stylesheet" href="../reference.css" type="text/css"> + <meta name="generator" content="DocBook XSL Stylesheets V1"> + </head> + <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> + <div class="reference"> + <div class="titlepage"> + <div> + <h1 class="title"><a name="d0e1"></a>Library Template Reference + </h1> + </div> + <div> + <h3 class="author">Norman Walsh</h3> + </div> + <div> + <p class="releaseinfo"> + $Id: lib.html,v 1.1 2002/05/15 17:22:24 isberg Exp $ + + </p> + </div> + <div> + <p class="copyright"><a href="../copyright.html">Copyright</a> © 1999, 2000 by Norman Walsh. <a href="../warranty.html">No Warranty</a>. + </p> + </div> + <hr> + </div> + <div class="partintro"> + <div></div> + <div class="section"><a name="d0e24"></a><div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a name="d0e24"></a>Introduction + </h2> + </div> + </div> + <p>This is technical reference documentation for the DocBook XSL + Stylesheets; it documents (some of) the parameters, templates, and + other elements of the stylesheets. + </p> + <p>This is not intended to be user documentation. + It is provided for developers writing customization layers for the + stylesheets, and for anyone who's interested in how it + works. + </p> + <p>Although I am trying to be thorough, this documentation is known + to be incomplete. Don't forget to read the source, too :-) + </p> + </div> + <div class="toc"> + <p><b>Table of Contents</b></p> + <dl> + <dt><a href="#template.string.subst">string.subst</a> - Substitute one text string for another in a string + </dt> + <dt><a href="#template.xpointer.idref">xpointer.idref</a> - Extract IDREF from an XPointer + </dt> + <dt><a href="#template.length-magnitude">length-magnitude</a> - Return the unqualified dimension from a length specification + </dt> + <dt><a href="#template.length-spec">length-spec</a> - Return a fully qualified length specification + </dt> + </dl> + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.string.subst"></a>string.subst + </h1> + <div class="refnamediv"><a name="d0e40"></a><h2>Name</h2>string.subst — Substitute one text string for another in a string + </div> + <div class="refsynopsisdiv"><a name="d0e45"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="string.subst"> +<xsl:param name="string"/> +<xsl:param name="target"/> +<xsl:param name="replacement"/> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e48"></a> + + + <p>The <tt>string.subst</tt> template replaces all + occurances of <i><tt>target</tt></i> in <i><tt>string</tt></i> + with <i><tt>replacement</tt></i> and returns the result. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.xpointer.idref"></a>xpointer.idref + </h1> + <div class="refnamediv"><a name="d0e66"></a><h2>Name</h2>xpointer.idref — Extract IDREF from an XPointer + </div> + <div class="refsynopsisdiv"><a name="d0e71"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="xpointer.idref"> +<xsl:param name="xpointer">http://...</xsl:param> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e74"></a> + + + <p>The <tt>xpointer.idref</tt> template returns the + ID portion of an XPointer which is a pointer to an ID within the current + document, or the empty string if it is not. + </p> + + + + <p>In other words, <tt>xpointer.idref</tt> returns + foo when passed either <tt>#foo</tt> + or <tt>#xpointer(id('foo'))</tt>, otherwise it returns + the empty string. + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.length-magnitude"></a>length-magnitude + </h1> + <div class="refnamediv"><a name="d0e98"></a><h2>Name</h2>length-magnitude — Return the unqualified dimension from a length specification + </div> + <div class="refsynopsisdiv"><a name="d0e103"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="length-magnitude"> +<xsl:param name="length" select="'0pt'"/> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e106"></a> + + + <p>The <tt>length-magnitude</tt> template returns the + unqualified length ("20" for "20pt") from a dimension. + + </p> + + + </div> + </div> + <hr> + <div class="refentry"> + <h1 class="title"><a name="template.length-spec"></a>length-spec + </h1> + <div class="refnamediv"><a name="d0e115"></a><h2>Name</h2>length-spec — Return a fully qualified length specification + </div> + <div class="refsynopsisdiv"><a name="d0e120"></a><h2>Synopsis</h2><pre class="synopsis"><xsl:template name="length-spec"> +<xsl:param name="length" select="'0pt'"/> +<xsl:param name="default.units" select="'pt'"/> + ... +</xsl:template></pre></div> + <div class="refdescription"><a name="d0e123"></a> + + + <p>The <tt>length-spec</tt> template returns the + qualified length from a dimension. If an unqualified length is given, + the <i><tt>default.units</tt></i> will be added to it. + + </p> + + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/pr01.html b/lib/docbook/docbook-xsl/doc/pr01.html new file mode 100644 index 000000000..89c2174c5 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/pr01.html @@ -0,0 +1,4 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Preface</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="previous" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="next" href="publishing.html" title="Chapter 1. DocBook XSL"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Preface</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="publishing.html">Next</a></td></tr></table><hr></div><div id="d0e26" class="preface"><div class="titlepage"><div><h2 class="title"><a name="d0e26"></a>Preface</h2></div></div><p>This is the beginnings of documentation for the DocBook XSL +Stylesheets.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="publishing.html">Next</a></td></tr><tr><td width="40%" align="left">DocBook XSL Stylesheet Documentation </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> Chapter 1. DocBook XSL</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/publishing.html b/lib/docbook/docbook-xsl/doc/publishing.html new file mode 100644 index 000000000..d285bfdcd --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/publishing.html @@ -0,0 +1,56 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Chapter 1. DocBook XSL</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="previous" href="pr01.html" title="Preface"><link rel="next" href="ch01s02.html" title="A brief introduction to XSL"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. DocBook XSL</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pr01.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="d0e31"></a>Chapter 1. DocBook XSL</h2></div><div><h3 class="author">Bob Stayton</h3></div><div><p class="releaseinfo"> +$Id: publishing.html,v 1.1 2002/05/15 17:22:23 isberg Exp $ +</p></div><div><p class="copyright">Copyright © 2000 Bob Stayton</p></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="publishing.html#d0e52">Using XSL tools to publish DocBook + documents</a></dt><dt><a href="ch01s02.html">A brief introduction to XSL</a></dt><dt><a href="ch01s03.html">XSL processing model</a></dt><dt><a href="ch01s04.html">Customizing DocBook XSL stylesheets</a></dt></dl></div><div class="sect1"><a name="d0e52"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e52"></a>Using XSL tools to publish DocBook + documents</h2></div></div><p>There is a growing list of tools to process DocBook + documents using XSL stylesheets. Each tool implements parts + or all of the XSL standard, which actually has several + components: + <div class="variablelist"><dl><dt><a name="d0e58"></a><span class="term">Extensible Stylesheet Language (XSL)</span></dt><dd><p><a name="d0e61"></a>A language for expressing stylesheets written + in XML. It includes the formatting object language, but + refers to separate documents for the transformation + language and the path language.</p></dd><dt><a name="d0e64"></a><span class="term">XSL Transformation (XSLT)</span></dt><dd><p><a name="d0e67"></a>The part of XSL for transforming XML documents + into other XML documents, HTML, or text. It can be used to + rearrange the content and generate new content.</p></dd><dt><a name="d0e70"></a><span class="term">XML Path Language (XPath)</span></dt><dd><p><a name="d0e73"></a>A language for addressing parts of an XML + document. It is used to find the parts of your document to + apply different styles to. All XSL processors use this + component.</p></dd></dl></div></p><p>To publish HTML from your XML documents, you just + need an XSLT engine. To get to print, you need an XSLT + engine to produce formatting objects (FO), which then must + be processed with a formatting object processor to produce + PostScript or PDF output.</p><p>James Clark's XT was the first useful XSLT engine, + and it is still in wide use. It is written in Java, so it + runs on many platforms, and it is free ( + <a href="http://www.jclark.com" target="_top">http://www.jclark.com</a>). + XT comes with James Clark's nonvalidating parser XP, but + you can substitute a different Java parser. Here is a + simple example of using XT from the Unix command line to + produce HTML: You'll need to alter your + <i><tt>CLASSPATH</tt></i> environment variable to + include the path to where you put the + <tt>.jar</tt> files from the XT + distribution.</p><pre class="screen">CLASSPATH=xt.jar:xp.jar:sax.jar +export CLASSPATH +java com.jclark.xsl.sax.Driver <i><tt>filename.xml</tt></i> <i><tt>docbook/html/docbook.xsl</tt></i> > <i><tt>output.html</tt></i></pre><p>If you replace the HTML stylesheet with a + formatting object stylesheet, XT will produce a formatting + object file. Then you can convert that to PDF using FOP, a + formatting object processor available for free from the + Apache XML Project ( + <a href="http://xml.apache.org" target="_top">http://xml.apache.org</a>). + Here is an example of that two stage processing:</p><pre class="screen">CLASSPATH=xt.jar:xp.jar:sax.jar:fop.jar +export CLASSPATH +java com.jclark.xsl.sax.Driver <i><tt>filename.xml</tt></i> <i><tt>docbook/fo/docbook.xsl</tt></i> > <i><tt>output.fo</tt></i> +java org.apache.fop.apps.CommandLine <i><tt>output.fo</tt></i> <i><tt>output.pdf</tt></i></pre><p>As of this writing, some other XSLT processors to + choose from include:</p><div class="itemizedlist"><ul><li><p><a name="d0e123"></a>4XSLT, written in Python, from FourThought LLC ( + <a href="http://www.fourthought.com" target="_top">http://www.fourthought.com</a>)</p></li><li><p><a name="d0e129"></a>Sablotron, written in C++, from Ginger Alliance ( + + <a href="http://www.gingerall.com" target="_top">http://www.gingerall.com</a>)</p></li><li><p><a name="d0e135"></a>Saxon, written in Java, from Michael Kay ( + <a href="http://users.iclway.co.uk/mhkay/saxon" target="_top">http://users.iclway.co.uk/mhkay/saxon</a>)</p></li><li><p><a name="d0e141"></a>Xalan, written in Java, from the Apache XML + Project ( + <a href="http://xml.apache.org" target="_top">http://xml.apache.org</a>)</p></li><li><p><a name="d0e147"></a>XML::XSLT,written in Perl, from Geert Josten and + Egon Willighagen ( + <a href="http://www.cpan.org" target="_top">http://www.cpan.org</a>)</p></li></ul></div><p>For print output, these additional tools are available for processing formatting objects:</p><div class="itemizedlist"><ul><li><p><a name="d0e156"></a>XEP (written in Java) from + RenderX ( + <a href="http://www.renderx.com" target="_top">http://www.renderx.com</a>).</p></li><li><p><a name="d0e162"></a>PassiveTeX from Sebastian Rahtz (<a href="http://users.ox.ac.uk/~rahtz/passivetex/" target="_top">http://users.ox.ac.uk/~rahtz/passivetex/</a>).</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pr01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr><tr><td width="40%" align="left">Preface </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> A brief introduction to XSL</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/reference.css b/lib/docbook/docbook-xsl/doc/reference.css new file mode 100644 index 000000000..2ea813b99 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/reference.css @@ -0,0 +1,4 @@ +/* reference.css, a stylesheet for reference documentation */
+
+div.legalnotice { font-size: 80%; }
+
diff --git a/lib/docbook/docbook-xsl/doc/reference.html b/lib/docbook/docbook-xsl/doc/reference.html new file mode 100644 index 000000000..2f8bd8d63 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/reference.html @@ -0,0 +1,9 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>DocBook XSL Stylesheet Reference Documentation</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" id="d0e1"><div class="titlepage"><div><h1 class="title"><a name="d0e1"></a>DocBook XSL Stylesheet Reference Documentation</h1></div><div><h3 class="author">Norman Walsh</h3></div><div><p class="releaseinfo"> +$Id: reference.html,v 1.1 2002/05/15 17:22:23 isberg Exp $ +</p></div><div><p class="copyright"><a href="copyright.html">Copyright</a> © 1999, 2000 by Norman Walsh. <a href="warranty.html">No Warranty</a>.</p></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#d0e19">Preface</a></dt></dl></div><div id="d0e19" class="preface"><div class="titlepage"><div><h2 class="title"><a name="d0e19"></a>Preface</h2></div></div><p>This constitutes only the most rudimentary beginnings of +documentation for these stylesheets.</p><p>At present, the only documentation available is the set +of references generated from the stylesheet sources:</p><div class="itemizedlist"><ul><li><p><a name="d0e27"></a><i><a href="lib/lib.html">Library Template Reference</a></i></p></li><li><p><a name="d0e30"></a><i><a href="common/common.html">Common Template Reference</a></i></p></li><li><p><a name="d0e33"></a><i><a href="html/param.html">HTML Parameter Reference</a></i></p></li><li><p><a name="d0e36"></a><i><a href="html/ebnf.html">HTML EBNF Reference</a></i></p></li><li><p><a name="d0e39"></a><i><a href="fo/param.html">Formatting Object Parameter Reference</a></i></p></li><li><p><a name="d0e42"></a><i><a href="fo/table.html">Formatting Object Table Reference</a></i></p></li></ul></div><p>The reference to the template system is also available, +but at this point it's probably even less useful than the preceding +references.</p><div class="itemizedlist"><ul><li><p><a name="d0e48"></a><i><a href="template/titlepage.html">Template Stylesheet Reference</a></i></p></li></ul></div></div></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/reference.xsl b/lib/docbook/docbook-xsl/doc/reference.xsl new file mode 100644 index 000000000..3e6ee57ff --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/reference.xsl @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<xsl:import href="../html/docbook.xsl"/>
+
+<xsl:param name="html.stylesheet" select="'reference.css'"/>
+
+<xsl:template match="/legalnotice">
+ <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="olink[@type='title']">
+ <xsl:variable name="xml"
+ select="document(unparsed-entity-uri(@targetdocent),.)"/>
+ <xsl:variable name="title" select="($xml/*/title[1]
+ |$xml/*/bookinfo/title[1]
+ |$xml/*/referenceinfo/title[1])[1]"/>
+ <i>
+ <a href="{@localinfo}">
+ <xsl:apply-templates select="$title/*|$title/text()"/>
+ </a>
+ </i>
+</xsl:template>
+
+<xsl:template match="copyright" mode="titlepage.mode">
+ <xsl:variable name="years" select="year"/>
+ <xsl:variable name="holders" select="holder"/>
+
+ <p class="{name(.)}">
+ <a href="copyright.html">
+ <xsl:call-template name="gentext.element.name"/>
+ </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:apply-templates select="$years" mode="titlepage.mode"/>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:call-template name="gentext.by"/>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:apply-templates select="$holders" mode="titlepage.mode"/>
+ <xsl:text>. </xsl:text>
+ <a href="warranty.html">No Warranty</a>
+ <xsl:text>.</xsl:text>
+ </p>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/doc/tools/ChangeLog b/lib/docbook/docbook-xsl/doc/tools/ChangeLog new file mode 100644 index 000000000..9bdc3834d --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/tools/ChangeLog @@ -0,0 +1,8 @@ +2001-08-09 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Use saxon and docbook.xsl
+
+2001-07-31 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
diff --git a/lib/docbook/docbook-xsl/doc/tools/profile-chain.png b/lib/docbook/docbook-xsl/doc/tools/profile-chain.png Binary files differnew file mode 100644 index 000000000..ad3a35765 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/tools/profile-chain.png diff --git a/lib/docbook/docbook-xsl/doc/tools/profiling.html b/lib/docbook/docbook-xsl/doc/tools/profiling.html new file mode 100644 index 000000000..021bd4758 --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/tools/profiling.html @@ -0,0 +1,150 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Profiling DocBook documents</title><meta name="generator" content="DocBook XSL Stylesheets V1.42+"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article"><div class="titlepage"><div><h1 class="title"><a name="d0e1"></a>Profiling DocBook documents</h1></div><div><h3 class="subtitle"><i>An easy way to personalize your content for several target audiences</i></h3></div><div><h3 class="author">Jirka Kosek</h3><div class="affiliation"><div class="address">E-mail: <tt><<a href="mailto:jirka@kosek.cz">jirka@kosek.cz</a>></tt><br> +Web: <a href="http://www.kosek.cz" target="_top">http://www.kosek.cz</a><br> +<br> +</div></div></div><div><p class="releaseinfo"> +$Id: profiling.html,v 1.1 2002/05/15 17:22:24 isberg Exp $ +</p></div><div><p class="copyright">Copyright © 2001 Jiří Kosek</p></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#d0e37">Introduction</a></dt><dt><a href="#d0e44">$0 solution</a></dt><dt><a href="#d0e85">Usage</a></dt><dt><a href="#d0e223">Conclusion</a></dt></dl></div><div class="section"><a name="d0e37"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e37"></a>Introduction</h2></div></div><p>There are many situations when we need to generate several +versions of document with slightly different content from the single +source. User guide for program with both Windows and Linux port will +differ only in several topics related to installation and +configuration. It would be futile to create and maintain two different +documents in sync. Another real world example – in addition to +standard documentation we can have guide enriched with problem +solutions from help-desk. It also may be better to store these +information in one document in order to make them absolutely +synchronized.</p><p>Several high-end editing tools have built in support for +profiling. User can easily add target audiences for any part of +document in a simple to use dialog box. User can select desired target +audience before printing or generation of other output formats. +Software will automatically filter out excess parts of document and +pass rest of it to rendering engine. However, if your budget is +limited you can not use commercial solutions. In the following text I +will show you simple but flexible profiling solution based on freely +available technologies.</p></div><div class="section"><a name="d0e44"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e44"></a>$0 solution</h2></div></div><p>In the document we mark parts targeted for particular platform +or user group. When generating final output version of document we +must do profiling i.e. personalization for particular target audience. +Only some parts of document are processed. DocBook has built in +support for marking document parts – on almost every element you +can use attributes <tt>os</tt>, <tt>userlevel</tt> and <tt>arch</tt>. We can store identifier of operating +system, user group or hardware architecture here. You can also store +profiling information into some general use attribute like <tt>role</tt>. <a href="#ex:doc" title="Example 1. Sample DocBook document with profiling information">Example 1</a> shows how document with profile information might +look.</p><div class="example"><p><a name="ex:doc"></a><b>Example 1. Sample DocBook document with profiling information</b></p><pre class="programlisting"><?xml version='1.0' encoding='iso-8859-1'?> +<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN' + 'http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd'> +<chapter> +<title>How to setup SGML catalogs</title> + +<para>Many existing SGML tools are able to map public identifiers to +files on your local file system. Mapping is specified in so called +catalog file. List of catalog files to use is stored in environment +variable <envar>SGML_CATALOG_FILES</envar>.</para> + +<para os="unix">On Unix systems you can set this variable by invoking +command <command>export SGML_CATALOG_FILES=/usr/lib/catalog</command> +on command line. If you want maintain value of the variable between +sessions, place this command into startup file, +e.g. <filename>.profile</filename>.</para> + +<para os="win">In Windows NT/2000 you can set environment variable by +issuing command <menuchoice><guimenu>Start</guimenu> +<guisubmenu>Settings</guisubmenu> <guisubmenu>Control +Pannel</guisubmenu> +<guimenuitem>System</guimenuitem></menuchoice>. Then select +<guilabel>Advanced</guilabel> card in the dialog box and click on the +<guibutton>Environment Variables...</guibutton> button. Using the +<guibutton>New</guibutton> button you can add new environment variable +into your system.</para> + +</chapter></pre></div><p>DocBook documents are often processed by freely available DSSSL +and XSL stylesheets. Most DocBook users who want profiling starts with +creation of customization layer which filters out some parts of +document. This approach has several serious disadvantages. First, you +must create profiling customization for all output formats as they are +using different stylesheets. This mean that you must maintain same +code on several places or do some dirty tricks with importing several +stylesheets into one stylesheet.</p><p>Second drawback is more serious. If you override templates to +filter out documents, you can get almost correct output in a single +run of stylesheet. If you will closely look on generated output, you +will recognize that in the table of contents there are entries for +items which should be completely removed by profiling. Similar +problems are in several other places – e.g. skipped auto +generated numbers for tables, pictures and so on. To correct this one +should change all stylesheet code which generates ToC, +cross-references and so on to ignore filtered content. This is very +complicated task and will disallow you to easily upgrade to new +versions of stylesheets.</p><p>Thus we must use different approach. Profiling should be totally +separate step which will filter out some parts of original document +and will create new correct DocBook document. When processed with any +DocBook tool or stylesheet you will get always correct output from the +new standalone document now. Big advantage of this method is +compatibility with all DocBook tools. Filtered document is normal +DocBook document and it does not require any special processing. Of +course, there is also one disadvantage – formating is now two +stage process – first you must filter source document and in +second step you could apply normal stylesheets on result of filtering. +This may be little bit inconvenient for many users, but whole task can +be very easily automated by set of shell scripts or batch files or +whatever else.</p><div class="figure"><p><a name="d0e74"></a><b>Figure 1. Profiling stream</b></p><div class="mediaobject"><img src="profile-chain.png"></div></div><p>When implementing filter, you can use many different approaches +and tools. I decided to use XSLT stylesheet. Writing necessary filter +is very easy in XSLT and many users have XSLT processor already +installed. Profiling stylesheet is part of standard XSL stylesheets +distribution and can be found in file +<tt>tools/profile.xsl</tt>.</p></div><div class="section"><a name="d0e85"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e85"></a>Usage</h2></div></div><p>If you want to generate Unix specific guide from our sample +document (<a href="#ex:doc" title="Example 1. Sample DocBook document with profiling information">Example 1</a>) you can do it in the following +way. (We assume, that command <b>saxon</b> is able to run +XSLT processor on your machine. You can use your preffered XSLT +processor instead.)</p><pre class="screen"><b>saxon</b> <tt>-o</tt> unixsample.xml sample.xml profile.xsl "os=unix"</pre><p>We are processing source document +<tt>sample.xml</tt> with profiling stylesheet +<tt>profile.xsl</tt>. Result of transformation is stored +in file <tt>unixsample.xml</tt>. By setting parameter +<i><tt>os</tt></i> to value <tt>unix</tt>, we tell +that only general and Unix specific parts of document should be copied +to the result document. If you will look at generated result, you will +notice that this is correct DocBook document:</p><pre class="programlisting"><?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE chapter + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"> +<chapter> +<title>How to setup SGML catalogs</title> + +<para>Many existing SGML tools are able to map public identifiers to +files on your local file system. Mapping is specified in so called +catalog file. List of catalog files to use is stored in environment +variable <envar>SGML_CATALOG_FILES</envar>.</para> + +<para os="unix">On Unix systems you can set this variable by invoking +command <command moreinfo="none">export SGML_CATALOG_FILES=/usr/lib/catalog</command> +on command line. If you want maintain value of the variable between +sessions, place this command into startup file, +e.g. <filename moreinfo="none">.profile</filename>.</para> + +</chapter></pre><p>It is same as the input document, only Windows specific +paragraph is missing. Same procedure can be used to get Windows +specific version of document. The result generated by profiling +stylesheet have correct document type declaration (DOCTYPE). Without +it some tools would not be able to process them further. On the result +of filtering you can run common tools – for example DSSSL or XSL +stylesheets.</p><p>Stylesheet support several attributes for specifying profiling +values. They are summarized in the following list.</p><div class="variablelist"><dl><dt><a name="d0e126"></a><span class="term"><i><tt>os</tt></i></span></dt><dd><p><a name="d0e130"></a>This parameter is used for specifying operating system (<tt>os</tt> attribute) for which you want get +profiled version of document.</p></dd><dt><a name="d0e136"></a><span class="term"><i><tt>ul</tt></i></span></dt><dd><p><a name="d0e140"></a>This parameter is used for specifying user level (<tt>userlevel</tt> attribute) for which you want get +profiled version of document.</p></dd><dt><a name="d0e146"></a><span class="term"><i><tt>arch</tt></i></span></dt><dd><p><a name="d0e150"></a>This parameter is used for specifying hardware architecture (<tt>arch</tt> attribute) for which you want get +profiled version of document.</p></dd><dt><a name="d0e156"></a><span class="term"><i><tt>attr</tt></i></span></dt><dd><p><a name="d0e160"></a>Name of attribute on which profiling should be based. It can be +used if profiling information is stored in other attributes then +<tt>os</tt>, <tt>userlevel</tt> and <tt>arch</tt>.</p></dd><dt><a name="d0e172"></a><span class="term"><i><tt>val</tt></i></span></dt><dd><p><a name="d0e176"></a>This parameter is used for specifying value for attribute +selected by <i><tt>attr</tt></i> parameter.</p><p>E.g. setting <tt>attr=os</tt> and +<tt>val=unix</tt> is same as setting +<tt>os=unix</tt>.</p></dd><dt><a name="d0e193"></a><span class="term"><i><tt>sep</tt></i></span></dt><dd><p><a name="d0e197"></a>Separator for multiple target audience identifiers. Default is +<tt>;</tt>.</p></dd></dl></div><p>Current implementation is able to handle multiple profiling +targets in one attribute. In that case you must separate identifiers +by semicolon:</p><pre class="programlisting"><para os="unix;mac;win">...</para></pre><p>It is possible to use different separator than semicolon by +setting <i><tt>sep</tt></i> parameter. There cann't be spaces +between separator and target names.</p><p>You can also perform profiling based on several profiling +attributes in a single step as stylesheet can handle all parameters +simultaneously. For example to get hypothetical guide for Windows +beginners, you can run profiling like this:</p><pre class="screen"><b>saxon</b> <tt>-o</tt> xsample.xml sample.xml profile.xsl "os=win" "ul=beginner"</pre><p>As you can see above described profiling process can be used to +substitute SGML marked sections mechanism which is missing in XML.</p></div><div class="section"><a name="d0e223"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e223"></a>Conclusion</h2></div></div><p>Profiling is necessary in many larger DocBook applications. It +can be quite easily implemented by simple XSLT stylesheet which is +presented here. This mechanism can also be used to simulate behavior +of marked sections known from SGML.</p></div></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/doc/warranty.html b/lib/docbook/docbook-xsl/doc/warranty.html new file mode 100644 index 000000000..5ab66b40e --- /dev/null +++ b/lib/docbook/docbook-xsl/doc/warranty.html @@ -0,0 +1,10 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>Warranty</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="legalnotice"><p class="legalnotice-title"><b>Warranty</b></p><p>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.</p></div></body></html>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/docsrc/ChangeLog b/lib/docbook/docbook-xsl/docsrc/ChangeLog new file mode 100644 index 000000000..e7c4f95c9 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/ChangeLog @@ -0,0 +1,37 @@ +2001-08-13 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * documentation.xml: Added link to profiling documentation
+
+2001-08-06 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * xsl2jref.xsl: Documentation and documentation generation tweaks
+
+2001-08-01 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * xsl2jref.xsl: Expand the sf.net reference to sourceforge.net because of DNS problems
+
+2001-07-31 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * documentation.xml: Added stylesheet for profiling together with documentation.
+
+2001-07-09 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * xsl2jref.xsl: Fixed doctype for jrefentry DTD
+
+2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * copyright.xml, reference.xml: Fixed FPI
+
+2001-05-13 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * xsl2jref.xsl: Include param.xsl for chunker
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile, jrefhtml.xsl, xsl2jref.xsl: Documentation fixes
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile, copyright.xml, documentation.xml, extensions.xml, jrefhtml.xsl, legalnotice.xml, publishing.xml, reference.xml, template-example.xml, template-example.xsl, templates.xml, warranty.xml, xsl2jref.xsl:
+ New file.
+
diff --git a/lib/docbook/docbook-xsl/docsrc/common/ChangeLog b/lib/docbook/docbook-xsl/docsrc/common/ChangeLog new file mode 100644 index 000000000..ca59668ce --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/common/ChangeLog @@ -0,0 +1,8 @@ +2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Documentation fixes
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
diff --git a/lib/docbook/docbook-xsl/docsrc/common/common.xml b/lib/docbook/docbook-xsl/docsrc/common/common.xml new file mode 100644 index 000000000..df0736768 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/common/common.xml @@ -0,0 +1,294 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE reference + PUBLIC "-//Norman Walsh//DTD JRefEntry V1.1//EN" "http://docbook.sourceforge.net/release/jrefentry/1.1/jrefentry.dtd"> +<reference> +<referenceinfo> +<releaseinfo role="meta"> +$Id: common.xml,v 1.1 2002/05/15 17:22:24 isberg Exp $ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>1999</year><year>2000</year> +<holder>Norman Walsh</holder> +</copyright> +</referenceinfo> +<title>Common Template 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 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> + + +<refentry id="template.is.component"> +<refnamediv> +<refname>is.component</refname> +<refpurpose>Tests if a given node is a component-level element</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="is.component"> +<xsl:param name="node" select="."/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise.</para> + +</refdescription><refparameter> + +<variablelist> +<varlistentry><term>node</term> +<listitem> + +<para>The node which is to be tested.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refparameter><refreturn> + +<para>This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise.</para> + +</refreturn></refentry> + +<refentry id="template.is.section"> +<refnamediv> +<refname>is.section</refname> +<refpurpose>Tests if a given node is a section-level element</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="is.section"> +<xsl:param name="node" select="."/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise.</para> + +</refdescription><refparameter> + +<variablelist> +<varlistentry><term>node</term> +<listitem> + +<para>The node which is to be tested.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refparameter><refreturn> + +<para>This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise.</para> + +</refreturn></refentry> + +<refentry id="template.section.level"> +<refnamediv> +<refname>section.level</refname> +<refpurpose>Returns the hierarchical level of a section.</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="section.level"> +<xsl:param name="node" select="."/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template calculates the hierarchical level of a section. +Hierarchically, components are <quote>top level</quote>, so a +<sgmltag>sect1</sgmltag> is at level 2, <sgmltag>sect3</sgmltag> is +at level 3, etc.</para> + + + +<para>Recursive sections are calculated down to the sixth level.</para> + +</refdescription><refparameter> + +<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> + +<para>The section level, <quote>2</quote>, <quote>3</quote>, etc. +</para> + +</refreturn></refentry> + +<refentry id="template.qanda.section.level"> +<refnamediv> +<refname>qanda.section.level</refname> +<refpurpose>Returns the hierarchical level of a QandASet.</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="qanda.section.level"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template calculates the hierarchical level of a QandASet. +</para> + +</refdescription><refreturn> + +<para>The level, <quote>1</quote>, <quote>2</quote>, etc. +</para> + +</refreturn></refentry> + +<refentry id="template.select.mediaobject"> +<refnamediv> +<refname>select.mediaobject</refname> +<refpurpose>Selects an appropriate media object from a list</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="select.mediaobject"> +<xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/> +<xsl:param name="count">1</xsl:param> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template examines 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 "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, nothing happens.</para> + +</refdescription><refparameter> + +<variablelist> +<varlistentry><term>olist</term> +<listitem> + +<para>The node list of potential objects to examine.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refparameter><refreturn> + +<para>Calls <xsl:apply-templates> on the selected object.</para> + +</refreturn></refentry> + +<refentry id="template.is.acceptable.mediaobject"> +<refnamediv> +<refname>is.acceptable.mediaobject</refname> +<refpurpose>Returns '1' if the specified media object is recognized.</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="is.acceptable.mediaobject"> +<xsl:param name="object"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template examines a media object and returns '1' if the +object is recognized as a graphic.</para> + +</refdescription><refparameter> + +<variablelist> +<varlistentry><term>object</term> +<listitem> + +<para>The media object to consider.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refparameter><refreturn> + +<para>0 or 1</para> + +</refreturn></refentry> + +<refentry id="template.check.id.unique"> +<refnamediv> +<refname>check.id.unique</refname> +<refpurpose>Warn users about references to non-unique IDs</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="check.id.unique"> +<xsl:param name="linkend"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<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></refentry> + +<refentry id="template.check.idref.targets"> +<refnamediv> +<refname>check.idref.targets</refname> +<refpurpose>Warn users about incorrectly typed references</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="check.idref.targets"> +<xsl:param name="linkend"/> +<xsl:param name="element-list"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<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></refentry> +</reference> diff --git a/lib/docbook/docbook-xsl/docsrc/copyright.xml b/lib/docbook/docbook-xsl/docsrc/copyright.xml new file mode 100644 index 000000000..dff3ea7f2 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/copyright.xml @@ -0,0 +1,30 @@ +<?xml version='1.0'?> +<!DOCTYPE legalnotice + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<legalnotice><title>Copyright</title> + +<para>Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation files +(the <quote>Software</quote>), 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: +</para> + +<para>The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software.</para> + +<para>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.</para> + +<para>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.</para> +</legalnotice> diff --git a/lib/docbook/docbook-xsl/docsrc/documentation.xml b/lib/docbook/docbook-xsl/docsrc/documentation.xml new file mode 100644 index 000000000..46f0cc1b2 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/documentation.xml @@ -0,0 +1,66 @@ +<!DOCTYPE book + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ +<!ENTITY reference.xml SYSTEM "reference.xml" NDATA SGML> +<!ENTITY publishing.xml SYSTEM "publishing.xml"> +<!ENTITY extensions.xml SYSTEM "extensions.xml"> +<!ENTITY templates.xml SYSTEM "templates.xml"> +<!ENTITY html-param.xml SYSTEM "html/param.xml" NDATA SGML> +<!ENTITY tools-profiling.xml SYSTEM "tools/profiling.xml" NDATA SGML> +]> +<book> +<bookinfo> +<title>DocBook XSL Stylesheet Documentation</title> +<!-- $Id: documentation.xml,v 1.1 2002/05/15 17:22:24 isberg Exp $ --> + +<authorgroup> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<othercredit><surname>Stayton</surname> +<firstname>Bob</firstname></othercredit> +</authorgroup> + +<copyright><year>1999</year><year>2000</year><year>2001</year> +<holder>Norman Walsh</holder> +</copyright> +</bookinfo> + +<preface><title>Preface</title> + +<para>This is the beginnings of documentation for the DocBook XSL +Stylesheets.</para> + +</preface> + +&publishing.xml; +&extensions.xml; + +<chapter> +<title>Tools documentation</title> + +<para>There are several tools useful for usage with DocBook in +directory <filename>tools</filename>.</para> + +<itemizedlist> +<listitem> +<para><ulink url="tools/profiling.html">Profiling</ulink></para> +</listitem> +</itemizedlist> + +</chapter> + +<chapter> +<title>Reference Documentation</title> + +<para>Reference documentation is also available:</para> + +<itemizedlist> +<listitem><para><olink type="title" localinfo="reference.html" + targetdocent="reference.xml"/></para> +</listitem> +</itemizedlist> +</chapter> + +&templates.xml; +</book> + diff --git a/lib/docbook/docbook-xsl/docsrc/extensions.xml b/lib/docbook/docbook-xsl/docsrc/extensions.xml new file mode 100644 index 000000000..5122effc7 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/extensions.xml @@ -0,0 +1,96 @@ +<chapter> +<title>Saxon Extensions</title> +<?dbhtml filename="extensions.html"?> + +<para>Beginning with release 1.25, the DocBook XSL Stylesheets include +a set of Java extensions for Saxon.</para> + +<para>These extensions enable callouts, numbered program listings, and +the direct inclusion of text:</para> + +<programlistingco> +<areaspec> +<area coords="1" id="prologue"/> +<area coords="4" id="skipeof"/> +<areaset coords="" id="xreq"> +<area coords="9" id="require1"/> +<area coords="10" id="require2"/> +</areaset> +<area coords="11 12" id="use"/> +<area coords="27" id="funccall"/> +</areaspec> +<programlisting linenumbering='numbered'>@rem = '--*-Perl-*-- +@echo off +perl.exe %_batchname %$ +goto endofperl +@rem '; + +# Compress mail... + +require 'n:/home/nwalsh/lib/cygnus.pl'; +require 'timelocal.pl'; +use Cwd; + +select (STDERR); $| = 1; +select (STDOUT); $| = 1; + +@DIRS = ("/home/nwalsh/Mail"); +while (@DIRS) { + $dir = shift @DIRS; + opendir (DIR, $dir); + while ($fname = readdir(DIR)) { + $file = "$dir/$fname"; + next if ! -d $file; + next if $fname =~ /^\.\.?$/; + + print "$file\n"; + push (@DIRS, $file); + &compress ($file); + } +} + +exit;</programlisting> +<calloutlist> +<callout arearefs="prologue"> +<para>The prologue handles embedding a Perl script in a DOS batch file.</para> +</callout> +<callout arearefs="skipeof"> +<para>The <literal>goto</literal> statement, interpreted by the DOS batch +file interpreter, skips over the body of the Perl script.</para> +</callout> +<callout arearefs="require1"> +<para>The <literal>require</literal> statement sources in external program +fragments.</para> +</callout> +<callout arearefs="use"> +<para>The <literal>use</literal> statement is similar, but has additional +utility. It is a Perl5 function. (Note that this callout area specifies +both a line and a column.)</para> +</callout> +<callout arearefs="funccall"> +<para>This is a user subroutine call.</para> +</callout> +</calloutlist> +</programlistingco> + +<section><title>Installation</title> + +<para>The extensions are included in the distribution in +<filename>extensions/nwalsh.jar</filename>. Just make sure that jar +file is in your CLASSPATH when you run Saxon.</para> + +</section> + +<section><title>Using the Extensions</title> + +<para>For compatibility with other processors, the extensions are disabled +by default. To enable the extensions, turn on +<literal>$saxon.extensions</literal>, for example by passing +<literal>saxon.extensions=1</literal> to Saxon.</para> + +<para>For more control over the specific extensions, see +<olink type="title" localinfo="html/param.html" + targetdocent="html-param.xml"/>.</para> +</section> + +</chapter> diff --git a/lib/docbook/docbook-xsl/docsrc/fo/ChangeLog b/lib/docbook/docbook-xsl/docsrc/fo/ChangeLog new file mode 100644 index 000000000..ca59668ce --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/fo/ChangeLog @@ -0,0 +1,8 @@ +2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Documentation fixes
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
diff --git a/lib/docbook/docbook-xsl/docsrc/fo/param.xml b/lib/docbook/docbook-xsl/docsrc/fo/param.xml new file mode 100644 index 000000000..b8b647dec --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/fo/param.xml @@ -0,0 +1,1448 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE reference + PUBLIC "-//Norman Walsh//DTD JRefEntry V1.1//EN" "http://docbook.sourceforge.net/release/jrefentry/1.1/jrefentry.dtd"> +<reference> +<referenceinfo> +<releaseinfo role="meta"> +$Id: param.xml,v 1.1 2002/05/15 17:22:25 isberg Exp $ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>1999</year><year>2000</year> +<holder>Norman Walsh</holder> +</copyright> +</referenceinfo> +<title>Formatting Object Parameter 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 each of the Formatting Object +Stylesheet parameters. These are the <quote>easily +customizable</quote> parts of the stylesheet. If you want to specify +an alternate value for one or more of these parameters, you can do so +in a <quote>driver</quote> stylesheet.</para> + + + +<para>For example, if you want to turn on automatic section numbering, +you might create a driver stylesheet like this:</para> + + +<programlisting><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + + <xsl:import href="/path/to/fo/docbook.xsl"/> + + <xsl:param name="section.autolabel" select="1"/> + +</xsl:stylesheet></programlisting> + + +<para>Naturally, you have to change the +<sgmltag class="attribute">href</sgmltag> attribute on +<literal><xsl:import></literal> +to point to <filename>docbook.xsl</filename> +on your system.</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> + +<refentry id="param.admon.graphics.extension"> +<refnamediv> +<refname>admon.graphics.extension</refname> +<refpurpose>Extension for admonition graphics</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="admon.graphics.extension" select="'.png'" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Sets the extension to use on admonition graphics.</para> + +</refdescription></refentry> + +<refentry id="var.qandadiv.autolabel"> +<refnamediv> +<refname>qandadiv.autolabel</refname> +<refpurpose>Are divisions in QAndASets enumerated?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis/> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), unlabeled qandadivs will be enumerated. +</para> + +</refdescription></refentry> + +<refentry id="var.qanda.inherit.numeration"> +<refnamediv> +<refname>qanda.inherit.numeration</refname> +<refpurpose>Does enumeration of QandASet components inherit the numeration of parent elements?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis/> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), numbered QandADiv elements and Questions and Answers inherit +the numeration of the ancestors of the QandASet. +</para> + +</refdescription></refentry> + +<refentry id="var.graphic.default.extension"> +<refnamediv> +<refname>graphic.default.extension</refname> +<refpurpose>Default extension for graphic filenames</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis/> +</refsynopsisdiv> +<refdescription> + +<para>If a <sgmltag>graphic</sgmltag> or <sgmltag>mediaobject</sgmltag> +includes a reference to a filename that does not include an extension, +and the <sgmltag class="attribute">format</sgmltag> attribute is +<emphasis>unspecified</emphasis>, the default extension will be used. +</para> + +</refdescription></refentry> +<refentry id="attrset.formal.title.properties"><refnamediv><refname>formal.title.properties mode</refname><refpurpose>Properties of formal object titles</refpurpose></refnamediv><refdescription> + +<para>This attribute set is used to specify the properties of formal +object titles. +</para> + +</refdescription></refentry><refentry id="attrset.component.title.properties"><refnamediv><refname>component.title.properties mode</refname><refpurpose>Properties of component titles</refpurpose></refnamediv><refdescription> + +<para>This attribute set is used to specify the properties of component +titles. +</para> + +</refdescription></refentry><refentry id="attrset.admonition.title.properties"><refnamediv><refname>admonition.title.properties mode</refname><refpurpose>Properties of admonition titles</refpurpose></refnamediv><refdescription> + +<para>This attribute set is used to specify the properties of admonition +titles. +</para> + +</refdescription></refentry><refentry id="attrset.xref.properties"><refnamediv><refname>xref.properties mode</refname><refpurpose>Visual properties of hotlinks</refpurpose></refnamediv><refdescription> + +<para>This attribute set is used to specify properties of xrefs +</para> + +</refdescription></refentry> +<refentry id="param.insert.xref.page.number"> +<refnamediv> +<refname>insert.xref.page.number</refname> +<refpurpose>Turns page numbers in xrefs on and off</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="insert.xref.page.number" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>When equal to 1, this parameter triggers generation of page +number citations after xrefs. +</para> + +</refdescription></refentry> +<refentry id="attrset.normal.para.spacing"><refnamediv><refname>normal.para.spacing mode</refname><refpurpose>Spacing properties of normal paragraphs</refpurpose></refnamediv><refdescription> + +<para>This attribute set is used to specify the spacing properties +of normal paragraphs. +</para> + +</refdescription></refentry><refentry id="attrset.list.block.spacing"><refnamediv><refname>list.block.spacing mode</refname><refpurpose>Spacing properties of list blocks</refpurpose></refnamediv><refdescription> + +<para>This attribute set is used to specify the spacing properties +of list blocks. +</para> + +</refdescription></refentry><refentry id="attrset.list.item.spacing"><refnamediv><refname>list.item.spacing mode</refname><refpurpose>Spacing properties of list items</refpurpose></refnamediv><refdescription> + +<para>This attribute set is used to specify the spacing properties +of list items. +</para> + +</refdescription></refentry> +<refentry id="param.rootid"> +<refnamediv> +<refname>rootid</refname> +<refpurpose>Specify the root element to format</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="rootid" select="''"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>rootid</parameter> is specified, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book.</para> + + +<para>Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved.</para> + +</refdescription></refentry> + +<refentry id="param.callout.graphics"> +<refnamediv> +<refname>callout.graphics</refname> +<refpurpose>Use graphics for callouts?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.graphics" select="'0'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.unicode"> +<refnamediv> +<refname>callout.unicode</refname> +<refpurpose>First character to use for Unicode callouts</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.unicode" select="1"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, callouts are presented with Unicode characters +starting with the character specified. Zero indicates that Unicode +callouts should not be used. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.unicode.font"> +<refnamediv> +<refname>callout.unicode.font</refname> +<refpurpose>Font to use for Unicode dingbats</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.unicode.font" select="'ZapfDingbats'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The name of the font to specify around Unicode callout glyphs. +If set to the empty string, no font change will occur. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.unicode.start.character"> +<refnamediv> +<refname>callout.unicode.start.character</refname> +<refpurpose>Number of the largest callout graphic</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.unicode.start.character" select="10102" doc:type="integer"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>callout.graphics</parameter> +is non-zero, graphics are used to represent +callout numbers. The value of +<parameter>callout.graphics.number.limit</parameter> +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.unicode.number.limit"> +<refnamediv> +<refname>callout.unicode.number.limit</refname> +<refpurpose>Number of the largest callout graphic</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.unicode.number.limit" select="'10'" doc:type="integer"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>callout.graphics</parameter> +is non-zero, graphics are used to represent +callout numbers. The value of +<parameter>callout.graphics.number.limit</parameter> +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.graphics.extension"> +<refnamediv> +<refname>callout.graphics.extension</refname> +<refpurpose>Extension for callout graphics</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.graphics.extension" select="'.png'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Sets the extension to use on callout graphics.</para> + +</refdescription></refentry> + +<refentry id="param.callout.graphics.path"> +<refnamediv> +<refname>callout.graphics.path</refname> +<refpurpose>Path to callout graphics</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.graphics.path" select="'../images/callouts/'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Sets the path, probably relative to the directory where the HTML +files are created, to the callout graphics. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.graphics.number.limit"> +<refnamediv> +<refname>callout.graphics.number.limit</refname> +<refpurpose>Number of the largest callout graphic</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.graphics.number.limit" select="'10'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>callout.graphics</parameter> +is non-zero, graphics are used to represent +callout numbers. The value of +<parameter>callout.graphics.number.limit</parameter> +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. +</para> + +</refdescription></refentry> + +<refentry id="param.use.extensions"> +<refnamediv> +<refname>use.extensions</refname> +<refpurpose>Enable extensions</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="use.extensions" select="'0'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +<parameter>use.extensions</parameter> is zero, no extensions will +be used. +</para> + +</refdescription></refentry> + +<refentry id="param.textinsert.extension"> +<refnamediv> +<refname>textinsert.extension</refname> +<refpurpose>Enable the textinsert extension element</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="textinsert.extension" select="'1'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The textinsert extension element inserts the contents of a +a file into the result tree (as text). +</para> + +</refdescription></refentry> + +<refentry id="param.linenumbering.extension"> +<refnamediv> +<refname>linenumbering.extension</refname> +<refpurpose>Enable the line numbering extension</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="linenumbering.extension" select="'1'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. +</para> + +</refdescription></refentry> + +<refentry id="param.linenumbering.everyNth"> +<refnamediv> +<refname>linenumbering.everyNth</refname> +<refpurpose>Indicate which lines should be numbered</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="linenumbering.everyNth" select="'5'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If line numbering is enabled, everyNth line will be numbered. +</para> + +</refdescription></refentry> + +<refentry id="param.linenumbering.width"> +<refnamediv> +<refname>linenumbering.width</refname> +<refpurpose>Indicates the width of line numbers</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="linenumbering.width" select="'3'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. +</para> + +</refdescription></refentry> + +<refentry id="param.linenumbering.separator"> +<refnamediv> +<refname>linenumbering.separator</refname> +<refpurpose>Specify a separator between line numbers and lines</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="linenumbering.separator" select="' '"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The separator is inserted between line numbers and lines in +the verbatim environment. +</para> + +</refdescription></refentry> + +<refentry id="param.callouts.extension"> +<refnamediv> +<refname>callouts.extension</refname> +<refpurpose>Enable the callout extension</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callouts.extension" select="'1'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The callouts extension processes <sgmltag>areaset</sgmltag> +elements in <sgmltag>ProgramListingCO</sgmltag> and other text-based +callout elements. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.defaultcolumn"> +<refnamediv> +<refname>callout.defaultcolumn</refname> +<refpurpose>Indicates what column callouts appear in by default</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.defaultcolumn" select="'60'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If a callout does not identify a column (for example, if it uses +the <literal>linerange</literal> <sgmltag class="attribute">unit</sgmltag>), +it will appear in the default column. +</para> + +</refdescription></refentry> + +<refentry id="param.tablecolumns.extension"> +<refnamediv> +<refname>tablecolumns.extension</refname> +<refpurpose>Enable the table columns extension function</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="tablecolumns.extension" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. +</para> + +</refdescription></refentry> + +<refentry id="param.nominal.table.width"> +<refnamediv> +<refname>nominal.table.width</refname> +<refpurpose>The (absolute) nominal width of tables</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="nominal.table.width" select="'6in'" doc:type="length"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>In order to convert CALS column widths into FO column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentage).</para> + +</refdescription></refentry> + +<refentry id="param.default.table.width"> +<refnamediv> +<refname>default.table.width</refname> +<refpurpose>The default width of tables</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="default.table.width" select="''" doc:type="length"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If specified, this value will be used for the WIDTH attribute on +tables that do not specify an alternate width (with the dbhtml processing +instruction).</para> + +</refdescription></refentry> + +<refentry id="param.paper.type"> +<refnamediv> +<refname>paper.type</refname> +<refpurpose>Select the paper type</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="paper.type" select="'USletter'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes. See <literal>page.width.portrait</literal>, for example. +</para> + +</refdescription></refentry> + +<refentry id="param.page.orientation"> +<refnamediv> +<refname>page.orientation</refname> +<refpurpose>Select the page orientation</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="page.orientation" select="'portrait'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>In portrait orientation, the short edge is horizontal; in +landscape orientation, it is vertical. +</para> + +</refdescription></refentry> + +<refentry id="param.page.width.portrait"> +<refnamediv> +<refname>page.width.portrait</refname> +<refpurpose>Specify the physical size of the short edge of the page</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<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></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The portrait page width is the length of the short +edge of the physical page. +</para> + +</refdescription></refentry> + +<refentry id="param.page.height.portrait"> +<refnamediv> +<refname>page.height.portrait</refname> +<refpurpose>Specify the physical size of the long edge of the page</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<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></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The portrait page height is the length of the long +edge of the physical page. +</para> + +</refdescription></refentry> + +<refentry id="param.page.width"> +<refnamediv> +<refname>page.width</refname> +<refpurpose>The width of the physical page</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<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></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The page width is generally calculated from the +<literal>paper.type</literal> and +<literal>page.orientation</literal>. +</para> + +</refdescription></refentry> + +<refentry id="param.page.height"> +<refnamediv> +<refname>page.height</refname> +<refpurpose>The height of the physical page</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<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></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The page height is generally calculated from the +<literal>paper.type</literal> and +<literal>page.orientation</literal>. +</para> + +</refdescription></refentry> + +<refentry id="param.double.sided"> +<refnamediv> +<refname>double.sided</refname> +<refpurpose>Is the document to be printed double sided?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="double.sided" select="'0'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Double-sided documents are printed with a slightly wider margin +on the binding edge of the page. +</para> + + +<para>FIXME: The current set of parameters does not take writing direction +into account.</para> + +</refdescription></refentry> + +<refentry id="param.column.count"> +<refnamediv> +<refname>column.count</refname> +<refpurpose>Specifies the number of columns of text on the page</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="column.count" select="'1'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The specified number of columns of text will appear on each page. +</para> + +</refdescription></refentry> + +<refentry id="param.region.after.extent"> +<refnamediv> +<refname>region.after.extent</refname> +<refpurpose>Specifies the height of the footer.</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="region.after.extent" select="'12pt'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The region after extent is the height of the area where footers +are printed. +</para> + +</refdescription></refentry> + +<refentry id="param.region.before.extent"> +<refnamediv> +<refname>region.before.extent</refname> +<refpurpose>Specifies the height of the header</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="region.before.extent" select="'12pt'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The region before extent is the height of the area where headers +are printed. +</para> + +</refdescription></refentry> + +<refentry id="param.page.margin.top"> +<refnamediv> +<refname>page.margin.top</refname> +<refpurpose>The top margin of the page</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="page.margin.top">1in</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The top page margin is the distance from the physical top of the +page to the first line of text (body or header). +</para> + +</refdescription></refentry> + +<refentry id="param.page.margin.bottom"> +<refnamediv> +<refname>page.margin.bottom</refname> +<refpurpose>The bottom margin of the page</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="page.margin.bottom">1in</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The bottom page margin is the distance from the physical bottom of +the page to the last line of text (body or footer). +</para> + +</refdescription></refentry> + +<refentry id="param.page.margin.inner"> +<refnamediv> +<refname>page.margin.inner</refname> +<refpurpose>The inner page margin</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<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></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The inner page margin is the distance from binding edge of the +page to the first column of text. In the left-to-right, top-to-bottom writing +direction, this is the left margin of recto pages.</para> + + +<para>The inner and outer margins are usually the same unless the output +is double-sided. +</para> + +</refdescription></refentry> + +<refentry id="param.page.margin.outer"> +<refnamediv> +<refname>page.margin.outer</refname> +<refpurpose>The outer page margin</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="page.margin.outer"> + <xsl:choose> + <xsl:when test="$double.sided != 0">0.75in</xsl:when> + <xsl:otherwise>10pc</xsl:otherwise> + </xsl:choose> +</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The outer page margin is the distance from non-binding edge of the +page to the last column of text. In the left-to-right, top-to-bottom writing +direction, this is the right margin of recto pages.</para> + + +<para>The inner and outer margins are usually the same unless the output +is double-sided. +</para> + +</refdescription></refentry> + +<refentry id="param.body.margin.bottom"> +<refnamediv> +<refname>body.margin.bottom</refname> +<refpurpose>The bottom margin of the body text</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="body.margin.bottom">24pt</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The body bottom margin is the distance from the last line of text +in the page body to the bottom page margin. Note that the page footer, if +any, appears in the space between the body bottom margin and the page +bottom margin. +</para> + +</refdescription></refentry> + +<refentry id="param.body.margin.top"> +<refnamediv> +<refname>body.margin.top</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="body.margin.top">24pt</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The body top margin is the distance from the page top margin to +the first line of text +in the page body. Note that the page header, if +any, appears in the space between the page top margin and the body +top margin. +</para> + +</refdescription></refentry> + +<refentry id="param.body.font.family"> +<refnamediv> +<refname>body.font.family</refname> +<refpurpose>The default font family for body text</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="body.font.family">Times Roman</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The body font family is the default font used for text in the page body. +</para> + +</refdescription></refentry> + +<refentry id="param.title.font.family"> +<refnamediv> +<refname>title.font.family</refname> +<refpurpose>The default font family for titles</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="title.font.family">Helvetica</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The title font family is used for titles (chapter, section, figure, +etc.) +</para> + +</refdescription></refentry> + +<refentry id="param.monospace.font.family"> +<refnamediv> +<refname>monospace.font.family</refname> +<refpurpose>The default font family for monospace environments</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="monospace.font.family">Courier</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The monospace font family is used for verbatim environments +(program listings, screens, etc.). +</para> + +</refdescription></refentry> + +<refentry id="param.sans.font.family"> +<refnamediv> +<refname>sans.font.family</refname> +<refpurpose>The default sans-serif font family</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="sans.font.family">Helvetica</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The default sans-serif font family. At the present, this isn't +actually used by the stylesheets. +</para> + +</refdescription></refentry> + +<refentry id="param.dingbat.font.family"> +<refnamediv> +<refname>dingbat.font.family</refname> +<refpurpose>The font family for copyright, quotes, and other symbols</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="dingbat.font.family">Times Roman</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The dingbat font family is used for dingbats. If it is defined +as the empty string, no font change is effected around dingbats. +</para> + +</refdescription></refentry> + +<refentry id="param.body.font.master"> +<refnamediv> +<refname>body.font.master</refname> +<refpurpose>Specifies the default point size for body text</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="body.font.master">10</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The body font size is specified in two parameters +(<varname>body.font.master</varname> and <varname>body.font.size</varname>) +so that math can be performed on the font size by XSLT. +</para> + +</refdescription></refentry> + +<refentry id="param.body.font.size"> +<refnamediv> +<refname>body.font.size</refname> +<refpurpose>Specifies the default font size for body text</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="body.font.size"> + <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text> +</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The body font size is specified in two parameters +(<varname>body.font.master</varname> and <varname>body.font.size</varname>) +so that math can be performed on the font size by XSLT. +</para> + +</refdescription></refentry> + +<refentry id="param.footnote.font.size"> +<refnamediv> +<refname>footnote.font.size</refname> +<refpurpose>The font size for footnotes</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="footnote.font.size"> + <xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text> +</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The footnote font size is used for...footnotes! +</para> + +</refdescription></refentry> + +<refentry id="param.hyphenate"> +<refnamediv> +<refname>hyphenate</refname> +<refpurpose>Specify hyphenation behavior</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="hyphenate">true</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true, words may be hyphenated. Otherwise, they may not. +</para> + +</refdescription></refentry> + +<refentry id="param.alignment"> +<refnamediv> +<refname>alignment</refname> +<refpurpose>Specify the default text alignment</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="alignment">justify</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The default text alignment is used for most body text. +</para> + +</refdescription></refentry> + +<refentry id="param.stylesheet.result.type"> +<refnamediv> +<refname>stylesheet.result.type</refname> +<refpurpose>Identifies the output format of this stylesheet</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="stylesheet.result.type" select="'fo'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The extension functions need to know if the output format +is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers +that question. Valid settings are 'html' or 'fo'.</para> + +</refdescription></refentry> + +<refentry id="param.generate.component.toc"> +<refnamediv> +<refname>generate.component.toc</refname> +<refpurpose>Generate a table of contents for components?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.component.toc" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, a table of contents is generated at the beginning +of each component (chapters, appendixes, etc.) +</para> + +</refdescription></refentry> + +<refentry id="param.generate.division.toc"> +<refnamediv> +<refname>generate.division.toc</refname> +<refpurpose>Generate a table of contents for divisions?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.division.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, a table of contents is generated at the beginning +of each division (sets, books, etc.) +</para> + +</refdescription></refentry> + +<refentry id="param.generate.division.figure.lot"> +<refnamediv> +<refname>generate.division.figure.lot</refname> +<refpurpose>Generate a list of titles for Figures?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.division.figure.lot" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, a list of titles is generated for Figures. +</para> + +</refdescription></refentry> + +<refentry id="param.generate.division.example.lot"> +<refnamediv> +<refname>generate.division.example.lot</refname> +<refpurpose>Generate a list of titles for Examples?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.division.example.lot" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, a list of titles is generated for Examples. +</para> + +</refdescription></refentry> + +<refentry id="param.generate.division.equation.lot"> +<refnamediv> +<refname>generate.division.equation.lot</refname> +<refpurpose>Generate a list of titles for Equations?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.division.equation.lot" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, a list of titles is generated for Equations. +</para> + +</refdescription></refentry> + +<refentry id="param.generate.division.table.lot"> +<refnamediv> +<refname>generate.division.table.lot</refname> +<refpurpose>Generate a list of titles for Tables?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.division.table.lot" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, a list of titles is generated for Tables. +</para> + +</refdescription></refentry> + +<refentry id="param.passivetex.extensions"> +<refnamediv> +<refname>passivetex.extensions</refname> +<refpurpose>Enable PassiveTeX extensions?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="passivetex.extensions" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, +<ulink url="http://users.ox.ac.uk/~rahtz/passivetex/">PassiveTeX</ulink> +extensions will be used. At present, this consists of PDF bookmarks +and sorted index terms. +</para> + +</refdescription></refentry> + +<refentry id="param.arbortext.extensions"> +<refnamediv> +<refname>arbortext.extensions</refname> +<refpurpose>Enable Arbortext extensions?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="arbortext.extensions" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, +<ulink url="http://www.arbortext.com/">Arbortext</ulink> +extensions will be used. +</para> + +</refdescription></refentry> + +<refentry id="param.fop.extensions"> +<refnamediv> +<refname>fop.extensions</refname> +<refpurpose>Enable FOP extensions?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="fop.extensions" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, +<ulink url="http://xml.apache.org/fop/">FOP</ulink> +extensions will be used. At present, this consists of PDF bookmarks. +</para> + +</refdescription></refentry> + +<refentry id="param.xep.extensions"> +<refnamediv> +<refname>xep.extensions</refname> +<refpurpose>Enable XEP extensions?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="xep.extensions" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, +<ulink url="http://www.renderx.com/">XEP</ulink> +extensions will be used. XEP extensions consists of PDF bookmarks and document information. +</para> + +</refdescription></refentry> + +<refentry id="param.default.units"> +<refnamediv> +<refname>default.units</refname> +<refpurpose>Default units for an unqualified dimension</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="default.units" select="'pt'" doc:type="list" doc:list="cm mm in pt pc px em"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If an unqualified dimension is encountered (for example, in a +graphic width), the <parameter>default-units</parameter> will be used for the +units. Unqualified dimensions are not allowed in XSL Formatting Objects. +</para> + +</refdescription></refentry> + +<refentry id="param.label.from.part"> +<refnamediv> +<refname>label.from.part</refname> +<refpurpose>Renumber chapters in each part?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="label.from.part" select="'0'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>label.from.part</parameter> is non-zero, components +(<sgmltag>chapter</sgmltag>s, <sgmltag>appendixe</sgmltag>s, etc.) +will be numbered from 1 in each <sgmltag>part</sgmltag>. Otherwise, +they will be numbered monotonically throughout each +<sgmltag>book</sgmltag>. +</para> + +</refdescription></refentry> + +<refentry id="param.formal.procedures"> +<refnamediv> +<refname>formal.procedures</refname> +<refpurpose>Selects formal or informal procedures</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="formal.procedures" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Formal procedures are numbered and always hav a title. +</para> + +</refdescription></refentry> + +<refentry id="param.bibliography.collection"> +<refnamediv> +<refname>bibliography.collection</refname> +<refpurpose>Name of the bibliography collection file</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="bibliography.collection" doc:type="string" select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Tired of copying bibliography entries from one document to another? +Now you can maintain a central bibliography and let the stylesheets do +the copying for you. This parameter identifies the file (by URI reference) +that contains your complete bibliography collection. +</para> + +</refdescription></refentry> + +<refentry id="param.format.variablelist.as.list"> +<refnamediv> +<refname>format.variablelist.as.list</refname> +<refpurpose>Use an fo:list to format VariableLists?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="format.variablelist.as.list" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, an fo:list will be used to format VariableLists. +Otherwise, nested fo:blocks will be used. +</para> + +</refdescription></refentry> + +<refentry id="param.runinhead.title.end.punct"> +<refnamediv> +<refname>runinhead.title.end.punct</refname> +<refpurpose>Characters that count as punctuation on a run-in-head</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="runinhead.title.end.punct" select="'.!?:'" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.runinhead.default.title.end.punct"> +<refnamediv> +<refname>runinhead.default.title.end.punct</refname> +<refpurpose>Default punctuation character on a run-in-head</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="runinhead.default.title.end.punct" select="'.'" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> +</reference> diff --git a/lib/docbook/docbook-xsl/docsrc/fo/table.xml b/lib/docbook/docbook-xsl/docsrc/fo/table.xml new file mode 100644 index 000000000..ac929b555 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/fo/table.xml @@ -0,0 +1,150 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE reference + PUBLIC "-//Norman Walsh//DTD JRefEntry V1.1//EN" "http://docbook.sourceforge.net/release/jrefentry/1.1/jrefentry.dtd"> +<reference> +<referenceinfo> +<releaseinfo role="meta"> +$Id: table.xml,v 1.1 2002/05/15 17:22:25 isberg Exp $ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>1999</year><year>2000</year> +<holder>Norman Walsh</holder> +</copyright> +</referenceinfo> +<title>Formatting Object Table 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 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> + +<refentry id="template.calc.column.width"> +<refnamediv> +<refname>calc.column.width</refname> +<refpurpose>Calculate an XSL FO table column width specification from a +CALS table column width specification.</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="calc.column.width"> +<xsl:param name="colwidth">1*</xsl:param> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<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></refentry> +</reference> diff --git a/lib/docbook/docbook-xsl/docsrc/html/ChangeLog b/lib/docbook/docbook-xsl/docsrc/html/ChangeLog new file mode 100644 index 000000000..ca59668ce --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/html/ChangeLog @@ -0,0 +1,8 @@ +2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Documentation fixes
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
diff --git a/lib/docbook/docbook-xsl/docsrc/html/ebnf.xml b/lib/docbook/docbook-xsl/docsrc/html/ebnf.xml new file mode 100644 index 000000000..42b74d597 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/html/ebnf.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE reference + PUBLIC "-//Norman Walsh//DTD JRefEntry V1.1//EN" "http://docbook.sourceforge.net/release/jrefentry/1.1/jrefentry.dtd"> +<reference> +<referenceinfo> +<releaseinfo role="meta"> +$Id: ebnf.xml,v 1.1 2002/05/15 17:22:25 isberg Exp $ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>1999</year><year>2000</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> + +<refentry id="param.ebnf.table.bgcolor"> +<refnamediv> +<refname>ebnf.table.bgcolor</refname> +<refpurpose>Background color for EBNF tables</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="ebnf.table.bgcolor">#F5DCB3</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Sets the background color for EBNF tables. No <sgmltag>bgcolor</sgmltag> +attribute is output if <varname>ebnf.table.bgcolor</varname> is set to +the null string. The default value matches the value used in recent +online versions of the W3C's XML Spec productions.</para> + +</refdescription></refentry> + +<refentry id="param.ebnf.table.border"> +<refnamediv> +<refname>ebnf.table.border</refname> +<refpurpose>Selects border on EBNF tables</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="ebnf.table.border">1</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Selects the border on EBNF tables. If non-zero, the tables have +borders, otherwise they don't.</para> + +</refdescription></refentry> +</reference> diff --git a/lib/docbook/docbook-xsl/docsrc/html/param.xml b/lib/docbook/docbook-xsl/docsrc/html/param.xml new file mode 100644 index 000000000..2500e4054 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/html/param.xml @@ -0,0 +1,1645 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE reference + PUBLIC "-//Norman Walsh//DTD JRefEntry V1.1//EN" "http://docbook.sourceforge.net/release/jrefentry/1.1/jrefentry.dtd"> +<reference> +<referenceinfo> +<releaseinfo role="meta"> +$Id: param.xml,v 1.1 2002/05/15 17:22:25 isberg Exp $ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>1999</year><year>2000</year> +<holder>Norman Walsh</holder> +</copyright> +</referenceinfo> +<title>HTML Parameter 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 each of the HTML Stylesheet parameters. +These are the <quote>easily customizable</quote> parts of the stylesheet. +If you want to specify an alternate value for one or more of these +parameters, you can do so in a <quote>driver</quote> stylesheet.</para> + + + +<para>For example, if you want to change the <literal>html.stylesheet</literal> +to <filename>reference.css</filename>, you might create a driver +stylesheet like this:</para> + + +<programlisting><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + + <xsl:import href="/path/to/html/docbook.xsl"/> + + <xsl:param name="html.stylesheet">reference.css</xsl:param> + +</xsl:stylesheet></programlisting> + + +<para>Naturally, you have to change the +<sgmltag class="attribute">href</sgmltag> attribute on +<literal><xsl:import></literal> +to point to <filename>docbook.xsl</filename> +on your system. (Or <filename>chunk.xsl</filename>, if you're using +chunking.)</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> + +<refentry id="param.author.othername.in.middle"> +<refnamediv> +<refname>author.othername.in.middle</refname> +<refpurpose>Is <sgmltag>othername</sgmltag> in <sgmltag>author</sgmltag> a +middle name?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="author.othername.in.middle" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), the <sgmltag>othername</sgmltag> of an <sgmltag>author</sgmltag> +appears between the <sgmltag>firstname</sgmltag> and +<sgmltag>surname</sgmltag>. Otherwise, <sgmltag>othername</sgmltag> +is suppressed. +</para> + +</refdescription></refentry> + +<refentry id="param.html.stylesheet"> +<refnamediv> +<refname>html.stylesheet</refname> +<refpurpose>Name of the stylesheet to use in the generated HTML</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="html.stylesheet" select="''" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The name of the stylesheet to place in the HTML <sgmltag>LINK</sgmltag> +tag, or the empty string to suppress the stylesheet <sgmltag>LINK</sgmltag>. +</para> + +</refdescription></refentry> + +<refentry id="param.html.stylesheet.type"> +<refnamediv> +<refname>html.stylesheet.type</refname> +<refpurpose>The type of the stylesheet used in the generated HTML</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="html.stylesheet.type" doc:type="string">text/css</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The type of the stylesheet to place in the HTML <sgmltag>link</sgmltag> tag. +</para> + +</refdescription></refentry> + +<refentry id="param.html.base"> +<refnamediv> +<refname>html.base</refname> +<refpurpose>An HTML base URI</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="html.base" doc:type="uri"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If html.base is set, it is used for the <sgmltag>BASE</sgmltag> +element in the <sgmltag>HEAD</sgmltag> of the HTML documents. +This is useful for dynamically served HTML where the base URI needs +to be shifted.</para> + +</refdescription></refentry> + +<refentry id="param.ulink.target"> +<refnamediv> +<refname>ulink.target</refname> +<refpurpose>The HTML anchor target for ULinks</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="ulink.target" select="'_top'" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>ulink.target</parameter> is set, its value will +be used for the <sgmltag class="attribute">target</sgmltag> attribute +on anchors generated for <sgmltag>ulink</sgmltag>s.</para> + +</refdescription></refentry> + +<refentry id="param.refentry.xref.manvolnum"> +<refnamediv> +<refname>refentry.xref.manvolnum</refname> +<refpurpose>Output <sgmltag>manvolnum</sgmltag> as part of +<sgmltag>refentry</sgmltag> cross-reference?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="refentry.xref.manvolnum" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>if true (non-zero), the <sgmltag>manvolnum</sgmltag> is used when cross-referencing +<sgmltag>refentry</sgmltag>s, either with <sgmltag>xref</sgmltag> +or <sgmltag>citerefentry</sgmltag>. +</para> + +</refdescription></refentry> + +<refentry id="param.show.comments"> +<refnamediv> +<refname>show.comments</refname> +<refpurpose>Display <sgmltag>comment</sgmltag> elements?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="show.comments" doc:type="boolean">1</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), comments will be displayed, otherwise they are suppressed. +Comments here refers to the <sgmltag>comment</sgmltag> element, +which will be renamed <sgmltag>remark</sgmltag> in DocBook V4.0, +not XML comments (<-- like this -->) which are unavailable. +</para> + +</refdescription></refentry> + +<refentry id="param.funcsynopsis.style"> +<refnamediv> +<refname>funcsynopsis.style</refname> +<refpurpose>What style of 'FuncSynopsis' should be generated?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="funcsynopsis.style" doc:type="list" doc:list="ansi kr">kr</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <varname>funcsynopsis.style</varname> is <literal>ansi</literal>, +ANSI-style function synopses are generated for a +<sgmltag>funcsynopsis</sgmltag>, otherwise K&R-style +function synopses are generated. +</para> + +</refdescription></refentry> + +<refentry id="param.funcsynopsis.decoration"> +<refnamediv> +<refname>funcsynopsis.decoration</refname> +<refpurpose>Decorate elements of a FuncSynopsis?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="funcsynopsis.decoration" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or +italic). The decoration is controlled by functions that can be redefined +in a customization layer. +</para> + +</refdescription></refentry> + +<refentry id="param.function.parens"> +<refnamediv> +<refname>function.parens</refname> +<refpurpose>Generate parens after a function?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="function.parens" doc:type="boolean">0</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If not 0, the formatting of +a <sgmltag class="starttag">function</sgmltag> element will include +generated parenthesis. +</para> + +</refdescription></refentry> + +<refentry id="param.refentry.generate.name"> +<refnamediv> +<refname>refentry.generate.name</refname> +<refpurpose>Output NAME header before 'RefName'(s)?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="refentry.generate.name" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), a "NAME" section title is output before the list +of 'RefName's. +</para> + +</refdescription></refentry> + +<refentry id="param.admon.graphics"> +<refnamediv> +<refname>admon.graphics</refname> +<refpurpose>Use graphics in admonitions?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="admon.graphics" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. +</para> + +</refdescription></refentry> + +<refentry id="param.admon.graphics.path"> +<refnamediv> +<refname>admon.graphics.path</refname> +<refpurpose>Path to admonition graphics</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="admon.graphics.path" doc:type="string">images/</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Sets the path, probably relative to the directory where the HTML +files are created, to the admonition graphics. +</para> + +</refdescription></refentry> + +<refentry id="param.admon.graphics.extension"> +<refnamediv> +<refname>admon.graphics.extension</refname> +<refpurpose>Extension for admonition graphics</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="admon.graphics.extension" select="'.png'" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Sets the extension to use on admonition graphics.</para> + +</refdescription></refentry> + +<refentry id="param.admon.style"> +<refnamediv> +<refname>admon.style</refname> +<refpurpose>CSS style attributes for admonitions</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="admon.style" doc:type="string"> + <xsl:text>margin-left: 0.5in; margin-right: 0.5in;</xsl:text> +</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Specifies the value of the <sgmltag class="attribute">STYLE</sgmltag> +attribute that should be added to admonitions. +</para> + +</refdescription></refentry> + +<refentry id="param.section.autolabel"> +<refnamediv> +<refname>section.autolabel</refname> +<refpurpose>Are sections enumerated?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="section.autolabel" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), unlabeled sections will be enumerated. +</para> + +</refdescription></refentry> + +<refentry id="param.section.label.includes.component.label"> +<refnamediv> +<refname>section.label.includes.component.label</refname> +<refpurpose>Do section labels include the component label?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="section.label.includes.component.label" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), section labels are prefixed with the label of the +component that contains them. +</para> + +</refdescription></refentry> + +<refentry id="param.chapter.autolabel"> +<refnamediv> +<refname>chapter.autolabel</refname> +<refpurpose>Are chapters and appendixes enumerated?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="chapter.autolabel" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), unlabeled chapters and appendixes will be enumerated. +</para> + +</refdescription></refentry> + +<refentry id="param.preface.autolabel"> +<refnamediv> +<refname>preface.autolabel</refname> +<refpurpose>Are prefaces enumerated?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="preface.autolabel" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), unlabeled prefaces will be enumerated. +</para> + +</refdescription></refentry> + +<refentry id="param.part.autolabel"> +<refnamediv> +<refname>part.autolabel</refname> +<refpurpose>Are parts and references enumerated?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="part.autolabel" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), unlabeled parts and references will be enumerated. +</para> + +</refdescription></refentry> + +<refentry id="param.qandadiv.autolabel"> +<refnamediv> +<refname>qandadiv.autolabel</refname> +<refpurpose>Are divisions in QAndASets enumerated?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="qandadiv.autolabel" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), unlabeled qandadivs will be enumerated. +</para> + +</refdescription></refentry> + +<refentry id="param.qanda.inherit.numeration"> +<refnamediv> +<refname>qanda.inherit.numeration</refname> +<refpurpose>Does enumeration of QandASet components inherit the numeration of parent elements?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="qanda.inherit.numeration" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), numbered QandADiv elements and Questions and Answers inherit +the numeration of the ancestors of the QandASet. +</para> + +</refdescription></refentry> + +<refentry id="param.qanda.defaultlabel"> +<refnamediv> +<refname>qanda.defaultlabel</refname> +<refpurpose>Sets the default for defaultlabel on QandASet.</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="qanda.defaultlabel" doc:type="boolean" doc:list="qanda number none">number</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If no defaultlabel attribute is specified on a QandASet, this +value is used. It must be one of the legal values for the defaultlabel +attribute. +</para> + +</refdescription></refentry> + +<refentry id="param.generate.qandaset.toc"> +<refnamediv> +<refname>generate.qandaset.toc</refname> +<refpurpose>Is a Table of Contents created for QandASets?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.qandaset.toc" doc:type="boolean">1</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), a ToC is constructed for QandASets. +</para> + +</refdescription></refentry> + +<refentry id="param.generate.qandadiv.toc"> +<refnamediv> +<refname>generate.qandadiv.toc</refname> +<refpurpose>Is a Table of Contents created for QandADivs?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.qandadiv.toc" doc:type="boolean">0</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), a ToC is constructed for QandADivs. +</para> + +</refdescription></refentry> + +<refentry id="param.biblioentry.item.separator"> +<refnamediv> +<refname>biblioentry.item.separator</refname> +<refpurpose>Text to separate bibliography entries</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="biblioentry.item.separator" doc:type="string">. </xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Text to separate bibliography entries +</para> + +</refdescription></refentry> + +<refentry id="param.toc.section.depth"> +<refnamediv> +<refname>toc.section.depth</refname> +<refpurpose>How deep should recursive <sgmltag>section</sgmltag>s appear +in the TOC?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="toc.section.depth" doc:type="integer" doc:min="1" doc:max="10">2</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Specifies the depth to which recursive sections should appear in the +TOC. +</para> + +</refdescription></refentry> + +<refentry id="param.using.chunker"> +<refnamediv> +<refname>using.chunker</refname> +<refpurpose>Will the output be chunked?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="using.chunker" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>In addition to providing chunking, the chunker can cleanup a +number of XML to HTML issues. If the chunker is not being used, the +stylesheets try to avoid producing results that will not appear properly +in browsers. +</para> + +</refdescription></refentry> + +<refentry id="param.generate.component.toc"> +<refnamediv> +<refname>generate.component.toc</refname> +<refpurpose>Should TOCs be genereated in components (Chapters, Appendixes, etc.)?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.component.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), they are. +</para> + +</refdescription></refentry> + +<refentry id="param.generate.division.toc"> +<refnamediv> +<refname>generate.division.toc</refname> +<refpurpose>Should TOCs be genereated in divisions (Books, Parts, etc.)?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.division.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true (non-zero), they are. +</para> + +</refdescription></refentry> + +<refentry id="param.link.mailto.url"> +<refnamediv> +<refname>link.mailto.url</refname> +<refpurpose>Mailto URL for the LINK REL=made HTML HEAD element</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="link.mailto.url" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If not the empty string, this address will be used for the +REL=made <sgmltag>LINK</sgmltag> element in the HTML <sgmltag>HEAD</sgmltag>. +</para> + +</refdescription></refentry> + +<refentry id="param.graphic.default.extension"> +<refnamediv> +<refname>graphic.default.extension</refname> +<refpurpose>Default extension for graphic filenames</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="graphic.default.extension" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If a <sgmltag>graphic</sgmltag> or <sgmltag>mediaobject</sgmltag> +includes a reference to a filename that does not include an extension, +and the <sgmltag class="attribute">format</sgmltag> attribute is +<emphasis>unspecified</emphasis>, the default extension will be used. +</para> + +</refdescription></refentry> + +<refentry id="param.toc.list.type"> +<refnamediv> +<refname>toc.list.type</refname> +<refpurpose>Type of HTML list element to use for Tables of Contents</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="toc.list.type" doc:type="list" doc:list="dl ul ol">dl</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>When an automatically generated Table of Contents (or List of Titles) +is produced, this HTML element will be used to make the list. +</para> + +</refdescription></refentry> + +<refentry id="param.use.id.function"> +<refnamediv> +<refname>use.id.function</refname> +<refpurpose>Use the XPath id() function to find link targets?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="use.id.function" doc:type="boolean" select="'1'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If 1, the stylesheets use the <function>id()</function> function +to find the targets of cross reference elements. This is more +efficient, but only works if your XSLT processor implements the +<function>id()</function> function, naturally.</para> + + +<para>THIS PARAMETER IS NOT SUPPORTED. IT IS ALWAYS ASSUMED TO BE 1. +SEE xref.xsl IF YOU NEED TO TURN IT OFF.</para> + +</refdescription></refentry> + +<refentry id="param.spacing.paras"> +<refnamediv> +<refname>spacing.paras</refname> +<refpurpose>Insert additional <p> elements for spacing?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="spacing.paras" doc:type="boolean" select="'0'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>When non-zero, additional, empty paragraphs are inserted in +several contexts (for example, around informal figures), to create a +more pleasing visual appearance in many browsers. +</para> + +</refdescription></refentry> + +<refentry id="param.css.decoration"> +<refnamediv> +<refname>css.decoration</refname> +<refpurpose>Enable CSS decoration of elements</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="css.decoration" doc:type="boolean">1</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para> +If <literal>css.decoration</literal> is turned on, then HTML elements +produced by the +stylesheet may be decorated with STYLE attributes. For example, the +LI tags produced for list items may include a fragment of CSS in the +STYLE attribute which sets the CSS property "list-style-type". +</para> + +</refdescription></refentry> + +<refentry id="param.show.revisionflag"> +<refnamediv> +<refname>show.revisionflag</refname> +<refpurpose>Enable decoration of elements that have a revisionflag</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="show.revisionflag" doc:type="boolean">0</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para> +If <literal>show.revisionflag</literal> is turned on, then the stylesheets +may produce additional markup designed to allow a CSS stylesheet to +highlight elements that have specific revisionflag settings.</para> + + + +<para>The markup inserted will be usually be either a <span> or <div> +with an appropriate <literal>class</literal> attribute. (The value of +the class attribute will be the same as the value of the revisionflag +attribute). In some contexts, for example tables, where extra markup +would be structurally illegal, the class attribute will be added to the +appropriate container element.</para> + + + +<para>In general, the stylesheets only test for revisionflag in contexts +where an importing stylesheet would have to redefine whole templates. +Most of the revisionflag processing is expected to be done by another +stylesheet, for example <filename>changebars.xsl</filename>.</para> + +</refdescription></refentry> + +<refentry id="param.suppress.navigation"> +<refnamediv> +<refname>suppress.navigation</refname> +<refpurpose>Disable header and footer navigation</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="suppress.navigation" doc:type="boolean">0</xsl:param></synopsis> +</refsynopsisdiv> +<refdescription> + +<para> +If <literal>suppress.navigation</literal> is turned on, header and +footer navigation will be suppressed.</para> + +</refdescription></refentry> + +<refentry id="param.rootid"> +<refnamediv> +<refname>rootid</refname> +<refpurpose>Specify the root element to format</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="rootid" select="''" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>rootid</parameter> is specified, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book.</para> + + +<para>Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved.</para> + +</refdescription></refentry> + +<refentry id="param.callout.list.table"> +<refnamediv> +<refname>callout.list.table</refname> +<refpurpose>Present callout lists using a table?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.list.table" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The default presentation of <sgmltag>CalloutList</sgmltag>s uses +an HTML <sgmltag>DL</sgmltag>. Some browsers don't align DLs very well +if <parameter>callout.graphics</parameter> are used. With this option +turned on, <sgmltag>CalloutList</sgmltag>s are presented in an HTML +<sgmltag>TABLE</sgmltag>, which usually results in better alignment +of the callout number with the callout description.</para> + +</refdescription></refentry> + +<refentry id="param.callout.graphics"> +<refnamediv> +<refname>callout.graphics</refname> +<refpurpose>Use graphics for callouts?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.graphics" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.graphics.extension"> +<refnamediv> +<refname>callout.graphics.extension</refname> +<refpurpose>Extension for callout graphics</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.graphics.extension" select="'.png'" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Sets the extension to use on callout graphics.</para> + +</refdescription></refentry> + +<refentry id="param.callout.graphics.path"> +<refnamediv> +<refname>callout.graphics.path</refname> +<refpurpose>Path to callout graphics</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.graphics.path" select="'images/callouts/'" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Sets the path, probably relative to the directory where the HTML +files are created, to the callout graphics. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.graphics.number.limit"> +<refnamediv> +<refname>callout.graphics.number.limit</refname> +<refpurpose>Number of the largest callout graphic</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.graphics.number.limit" select="'10'" doc:type="integer"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>callout.graphics</parameter> +is non-zero, graphics are used to represent +callout numbers. The value of +<parameter>callout.graphics.number.limit</parameter> +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. +</para> + +</refdescription></refentry> + +<refentry id="param.use.extensions"> +<refnamediv> +<refname>use.extensions</refname> +<refpurpose>Enable extensions</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="use.extensions" select="'0'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +<parameter>use.extensions</parameter> is zero, no extensions will +be used. +</para> + +</refdescription></refentry> + +<refentry id="param.textinsert.extension"> +<refnamediv> +<refname>textinsert.extension</refname> +<refpurpose>Enable the textinsert extension element</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="textinsert.extension" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The textinsert extension element inserts the contents of a +a file into the result tree (as text). +</para> + +</refdescription></refentry> + +<refentry id="param.saxon.linenumbering"> +<refnamediv> +<refname>saxon.linenumbering</refname> +<refpurpose>Enable the line numbering extension</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="saxon.linenumbering" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. +</para> + +</refdescription></refentry> + +<refentry id="param.linenumbering.extension"> +<refnamediv> +<refname>linenumbering.extension</refname> +<refpurpose>Enable the line numbering extension</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="linenumbering.extension" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. +</para> + +</refdescription></refentry> + +<refentry id="param.linenumbering.everyNth"> +<refnamediv> +<refname>linenumbering.everyNth</refname> +<refpurpose>Indicate which lines should be numbered</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="linenumbering.everyNth" select="'5'" doc:type="integer"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If line numbering is enabled, everyNth line will be numbered. +</para> + +</refdescription></refentry> + +<refentry id="param.linenumbering.width"> +<refnamediv> +<refname>linenumbering.width</refname> +<refpurpose>Indicates the width of line numbers</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="linenumbering.width" select="'3'" doc:type="integer"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. +</para> + +</refdescription></refentry> + +<refentry id="param.linenumbering.separator"> +<refnamediv> +<refname>linenumbering.separator</refname> +<refpurpose>Specify a separator between line numbers and lines</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="linenumbering.separator" select="' '" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The separator is inserted between line numbers and lines in +the verbatim environment. +</para> + +</refdescription></refentry> + +<refentry id="param.saxon.callouts"> +<refnamediv> +<refname>saxon.callouts</refname> +<refpurpose>Enable the callout extension</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="saxon.callouts" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The callouts extension processes <sgmltag>areaset</sgmltag> +elements in <sgmltag>ProgramListingCO</sgmltag> and other text-based +callout elements. +</para> + +</refdescription></refentry> + +<refentry id="param.callouts.extension"> +<refnamediv> +<refname>callouts.extension</refname> +<refpurpose>Enable the callout extension</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callouts.extension" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The callouts extension processes <sgmltag>areaset</sgmltag> +elements in <sgmltag>ProgramListingCO</sgmltag> and other text-based +callout elements. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.defaultcolumn"> +<refnamediv> +<refname>callout.defaultcolumn</refname> +<refpurpose>Indicates what column callouts appear in by default</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.defaultcolumn" select="'60'" doc:type="integer"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If a callout does not identify a column (for example, if it uses +the <literal>linerange</literal> <sgmltag class="attribute">unit</sgmltag>), +it will appear in the default column. +</para> + +</refdescription></refentry> + +<refentry id="param.stylesheet.result.type"> +<refnamediv> +<refname>stylesheet.result.type</refname> +<refpurpose>Identifies the output format of this stylesheet</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="stylesheet.result.type" select="'html'" doc:type="list" doc:list="html fo"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The Saxon extension functions need to know if the output format +is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers +that question. Valid settings are 'html' or 'fo'.</para> + +</refdescription></refentry> + +<refentry id="param.nominal.table.width"> +<refnamediv> +<refname>nominal.table.width</refname> +<refpurpose>The (absolute) nominal width of tables</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="nominal.table.width" select="'6in'" doc:type="length"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentag).</para> + +</refdescription></refentry> + +<refentry id="param.default.table.width"> +<refnamediv> +<refname>default.table.width</refname> +<refpurpose>The default width of tables</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="default.table.width" select="''" doc:type="length"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If specified, this value will be used for the WIDTH attribute on +tables that do not specify an alternate width (with the dbhtml processing +instruction).</para> + +</refdescription></refentry> + +<refentry id="param.saxon.tablecolumns"> +<refnamediv> +<refname>saxon.tablecolumns</refname> +<refpurpose>Enable the table columns extension function</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="saxon.tablecolumns" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. +</para> + +</refdescription></refentry> + +<refentry id="param.tablecolumns.extension"> +<refnamediv> +<refname>tablecolumns.extension</refname> +<refpurpose>Enable the table columns extension function</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="tablecolumns.extension" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. +</para> + +</refdescription></refentry> + +<refentry id="param.generate.set.toc"> +<refnamediv> +<refname>generate.set.toc</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.set.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.generate.book.toc"> +<refnamediv> +<refname>generate.book.toc</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.book.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.generate.part.toc"> +<refnamediv> +<refname>generate.part.toc</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.part.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.generate.reference.toc"> +<refnamediv> +<refname>generate.reference.toc</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.reference.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.generate.preface.toc"> +<refnamediv> +<refname>generate.preface.toc</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.preface.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.generate.chapter.toc"> +<refnamediv> +<refname>generate.chapter.toc</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.chapter.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.generate.appendix.toc"> +<refnamediv> +<refname>generate.appendix.toc</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.appendix.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.generate.article.toc"> +<refnamediv> +<refname>generate.article.toc</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.article.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.generate.section.toc"> +<refnamediv> +<refname>generate.section.toc</refname> +<refpurpose>Generate TOCs inside Sections?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.section.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, a Table of Contents will be generated inside section +elements. Note that +<parameter>generate.section.toc.level</parameter> +may suppress some section TOCs. +</para> + +</refdescription></refentry> + +<refentry id="param.generate.section.toc.level"> +<refnamediv> +<refname>generate.section.toc.level</refname> +<refpurpose>Control depth of TOC generation in sections</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.section.toc.level" select="0" doc:type="integer"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The <parameter>generate.section.toc.level</parameter> parameter +controls the depth of section in which TOCs will be generated. Note +that this is related to, but not the same as +<parameter>toc.section.depth</parameter>, which controls the depth to +which TOC entries will be generated in a given TOC.</para> + + +<para>If, for example, <parameter>generate.section.toc.level</parameter> +is <literal>3</literal>, TOCs will be generated in first, second, and third +level sections, but not in fourth level sections. +</para> + +</refdescription></refentry> + +<refentry id="param.process.source.toc"> +<refnamediv> +<refname>process.source.toc</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="process.source.toc" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.process.empty.source.toc"> +<refnamediv> +<refname>process.empty.source.toc</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="process.empty.source.toc" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.bridgehead.in.toc"> +<refnamediv> +<refname>bridgehead.in.toc</refname> +<refpurpose>Should bridgehead elements appear in the TOC?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="bridgehead.in.toc" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If non-zero, bridgeheads appear in the TOC. Note that this option +is not fully supported and may be removed in a future version of the +stylesheets. +</para> + +</refdescription></refentry> + +<refentry id="param.generate.index"> +<refnamediv> +<refname>generate.index</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="generate.index" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.callout.unicode"> +<refnamediv> +<refname>callout.unicode</refname> +<refpurpose>FIXME:</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.unicode" select="0" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.callout.unicode.start.character"> +<refnamediv> +<refname>callout.unicode.start.character</refname> +<refpurpose>First Unicode character to use, decimal value.</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.unicode.start.character" select="10102" doc:type="integer"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>callout.graphics</parameter> +is non-zero, graphics are used to represent +callout numbers. The value of +<parameter>callout.graphics.number.limit</parameter> +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.unicode.number.limit"> +<refnamediv> +<refname>callout.unicode.number.limit</refname> +<refpurpose>Number of the largest callout graphic</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.unicode.number.limit" select="'10'" doc:type="integer"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>callout.graphics</parameter> +is non-zero, graphics are used to represent +callout numbers. The value of +<parameter>callout.graphics.number.limit</parameter> +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. +</para> + +</refdescription></refentry> + +<refentry id="param.callout.unicode.font"> +<refnamediv> +<refname>callout.unicode.font</refname> +<refpurpose>Font to use for Unicode dingbats</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="callout.unicode.font" select="'ZapfDingbats'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The name of the font to specify around Unicode callout glyphs. +If set to the empty string, no font change will occur. +</para> + +</refdescription></refentry> + +<refentry id="param.use.id.as.filename"> +<refnamediv> +<refname>use.id.as.filename</refname> +<refpurpose>Use ID value of chunk elements as the filename?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="use.id.as.filename" select="'0'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>use.id.as.filename</parameter> +is non-zero, the filename of chunk elements that have IDs will be +derived from the ID value. +</para> + +</refdescription></refentry> + +<refentry id="param.inherit.keywords"> +<refnamediv> +<refname>inherit.keywords</refname> +<refpurpose>Inherit keywords from ancestor elements?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="inherit.keywords" select="'1'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>inherit.keywords</parameter> +is non-zero, the keyword <sgmltag>META</sgmltag> for each HTML +<sgmltag>HEAD</sgmltag> element will include all of the keywords from +ancestral elements. Otherwise, only the keywords from the current section +will be used. +</para> + +</refdescription></refentry> + +<refentry id="param.label.from.part"> +<refnamediv> +<refname>label.from.part</refname> +<refpurpose>Renumber chapters in each part?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="label.from.part" select="'0'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If <parameter>label.from.part</parameter> is non-zero, components +(<sgmltag>chapter</sgmltag>s, <sgmltag>appendixe</sgmltag>s, etc.) +will be numbered from 1 in each <sgmltag>part</sgmltag>. Otherwise, +they will be numbered monotonically throughout each +<sgmltag>book</sgmltag>. +</para> + +</refdescription></refentry> + +<refentry id="param.citerefentry.link"> +<refnamediv> +<refname>citerefentry.link</refname> +<refpurpose>Generate URL links when cross-referencing RefEntrys?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="citerefentry.link" select="'0'" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true, a web link will be generated, presumably +to an online man->HTML gateway. The text of the link is +generated by the generate.citerefentry.link template. +</para> + +</refdescription></refentry> + +<refentry id="param.formal.procedures"> +<refnamediv> +<refname>formal.procedures</refname> +<refpurpose>Selects formal or informal procedures</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="formal.procedures" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Formal procedures are numbered and always hav a title. +</para> + +</refdescription></refentry> + +<refentry id="param.bibliography.collection"> +<refnamediv> +<refname>bibliography.collection</refname> +<refpurpose>Name of the bibliography collection file</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="bibliography.collection" doc:type="string" select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Tired of copying bibliography entries from one document to another? +Now you can maintain a central bibliography and let the stylesheets do +the copying for you. This parameter identifies the file (by URI reference) +that contains your complete bibliography collection. +</para> + +</refdescription></refentry> + +<refentry id="param.annotate.toc"> +<refnamediv> +<refname>annotate.toc</refname> +<refpurpose>Annotate the Table of Contents?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="annotate.toc" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true, TOCs will be annotated. At present, this just means +that the <sgmltag>RefPurpose</sgmltag> of <sgmltag>RefEntry</sgmltag> +TOC entries will be displayed. +</para> + +</refdescription></refentry> + +<refentry id="param.emphasis.propagates.style"> +<refnamediv> +<refname>emphasis.propagates.style</refname> +<refpurpose>Pass emphasis role attribute through to HTML?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="emphasis.propagates.style" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true, the role attribute of <sgmltag>emphasis</sgmltag> elements +will be passed through to the HTML as a class attribute on a +<sgmltag>span</sgmltag> that surrounds the emphasis.</para> + +</refdescription></refentry> + +<refentry id="param.phrase.propagates.style"> +<refnamediv> +<refname>phrase.propagates.style</refname> +<refpurpose>Pass phrase role attribute through to HTML?</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="phrase.propagates.style" select="1" doc:type="boolean"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>If true, the role attribute of <sgmltag>phrase</sgmltag> elements +will be passed through to the HTML as a class attribute on a +<sgmltag>span</sgmltag> that surrounds the phrase.</para> + +</refdescription></refentry> + +<refentry id="param.runinhead.title.end.punct"> +<refnamediv> +<refname>runinhead.title.end.punct</refname> +<refpurpose>Characters that count as punctuation on a run-in-head</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="runinhead.title.end.punct" select="'.!?:'" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> + +<refentry id="param.runinhead.default.title.end.punct"> +<refnamediv> +<refname>runinhead.default.title.end.punct</refname> +<refpurpose>Default punctuation character on a run-in-head</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis> +<xsl:param name="runinhead.default.title.end.punct" select="'.'" doc:type="string"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>FIXME: +</para> + +</refdescription></refentry> +</reference> diff --git a/lib/docbook/docbook-xsl/docsrc/jrefhtml.xsl b/lib/docbook/docbook-xsl/docsrc/jrefhtml.xsl new file mode 100644 index 000000000..1fc53ec4c --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/jrefhtml.xsl @@ -0,0 +1,170 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<xsl:import href="../html/docbook.xsl"/>
+
+<xsl:output
+ method="html"
+ indent="yes"
+ encoding="ISO-8859-1"/>
+
+<!-- ********************************************************************
+ $Id: jrefhtml.xsl,v 1.1 2002/05/15 17:22:24 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:param name="part.autolabel" select="0"/>
+
+<xsl:template match="refentry">
+ <hr/>
+ <xsl:apply-imports/>
+</xsl:template>
+
+<xsl:template match="refdescription">
+ <div class="{name(.)}">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="refauthor">
+ <div class="{name(.)}">
+ <b>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:text>Author</xsl:text>
+ </b>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="refversion">
+ <div class="{name(.)}">
+ <b>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:text>Version</xsl:text>
+ </b>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="refparameter">
+ <div class="{name(.)}">
+ <b>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:text>Parameters</xsl:text>
+ </b>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="refreturn">
+ <div class="{name(.)}">
+ <b>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:text>Returns</xsl:text>
+ </b>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="refexception|refthrows">
+ <div class="{name(.)}">
+ <b>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:text>Exceptions</xsl:text>
+ </b>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="refsee">
+ <div class="{name(.)}">
+ <b>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:text>See</xsl:text>
+ </b>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="refsince">
+ <div class="{name(.)}">
+ <b>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:text>Since</xsl:text>
+ </b>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="refserial">
+ <div class="{name(.)}">
+ <b>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:text>Serial</xsl:text>
+ </b>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="refdeprecated">
+ <div class="{name(.)}">
+ <b>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:text>Deprecated</xsl:text>
+ </b>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/docsrc/legalnotice.xml b/lib/docbook/docbook-xsl/docsrc/legalnotice.xml new file mode 100644 index 000000000..06bb66943 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/legalnotice.xml @@ -0,0 +1,37 @@ +<legalnotice><title>Copyright Statement</title> + +<para>Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation files +(the <quote>Software</quote>), 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: +</para> + +<para>The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software.</para> + +<para>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.</para> + +<para>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.</para> +</legalnotice> + +<legalnotice><title>Warranty</title> +<para>THE SOFTWARE IS PROVIDED <quote>AS IS</quote>, +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.</para> +</legalnotice> diff --git a/lib/docbook/docbook-xsl/docsrc/lib/ChangeLog b/lib/docbook/docbook-xsl/docsrc/lib/ChangeLog new file mode 100644 index 000000000..ca59668ce --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/lib/ChangeLog @@ -0,0 +1,8 @@ +2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Documentation fixes
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
diff --git a/lib/docbook/docbook-xsl/docsrc/lib/lib.xml b/lib/docbook/docbook-xsl/docsrc/lib/lib.xml new file mode 100644 index 000000000..ca2d021f0 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/lib/lib.xml @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE reference + PUBLIC "-//Norman Walsh//DTD JRefEntry V1.1//EN" "http://docbook.sourceforge.net/release/jrefentry/1.1/jrefentry.dtd"> +<reference> +<referenceinfo> +<releaseinfo role="meta"> +$Id: lib.xml,v 1.1 2002/05/15 17:22:25 isberg Exp $ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>1999</year><year>2000</year> +<holder>Norman Walsh</holder> +</copyright> +</referenceinfo> +<title>Library Template 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 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> + +<refentry id="template.string.subst"> +<refnamediv> +<refname>string.subst</refname> +<refpurpose>Substitute one text string for another in a string</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="string.subst"> +<xsl:param name="string"/> +<xsl:param name="target"/> +<xsl:param name="replacement"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The <function>string.subst</function> template replaces all +occurances of <parameter>target</parameter> in <parameter>string</parameter> +with <parameter>replacement</parameter> and returns the result. +</para> + +</refdescription></refentry> + +<refentry id="template.xpointer.idref"> +<refnamediv> +<refname>xpointer.idref</refname> +<refpurpose>Extract IDREF from an XPointer</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="xpointer.idref"> +<xsl:param name="xpointer">http://...</xsl:param> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The <function>xpointer.idref</function> template returns the +ID portion of an XPointer which is a pointer to an ID within the current +document, or the empty string if it is not.</para> + + +<para>In other words, <function>xpointer.idref</function> returns +<quote>foo</quote> when passed either <literal>#foo</literal> +or <literal>#xpointer(id('foo'))</literal>, otherwise it returns +the empty string.</para> + +</refdescription></refentry> + +<refentry id="template.length-magnitude"> +<refnamediv> +<refname>length-magnitude</refname> +<refpurpose>Return the unqualified dimension from a length specification</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="length-magnitude"> +<xsl:param name="length" select="'0pt'"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The <function>length-magnitude</function> template returns the +unqualified length ("20" for "20pt") from a dimension. +</para> + +</refdescription></refentry> + +<refentry id="template.length-spec"> +<refnamediv> +<refname>length-spec</refname> +<refpurpose>Return a fully qualified length specification</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="length-spec"> +<xsl:param name="length" select="'0pt'"/> +<xsl:param name="default.units" select="'pt'"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The <function>length-spec</function> template returns the +qualified length from a dimension. If an unqualified length is given, +the <parameter>default.units</parameter> will be added to it. +</para> + +</refdescription></refentry> +</reference> diff --git a/lib/docbook/docbook-xsl/docsrc/publishing.xml b/lib/docbook/docbook-xsl/docsrc/publishing.xml new file mode 100644 index 000000000..ce3efcb5a --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/publishing.xml @@ -0,0 +1,1019 @@ +<chapter> +<chapterinfo> +<releaseinfo role="meta"> +$Id: publishing.xml,v 1.1 2002/05/15 17:22:24 isberg Exp $ +</releaseinfo> +<author><surname>Stayton</surname> +<firstname>Bob</firstname></author> +<copyright><year>2000</year><holder>Bob Stayton</holder> +</copyright> +</chapterinfo> +<title>DocBook XSL</title> +<?dbhtml filename="publishing.html"?> + <sect1> + <title>Using XSL tools to publish DocBook + documents</title> + <para>There is a growing list of tools to process DocBook + documents using XSL stylesheets. Each tool implements parts + or all of the XSL standard, which actually has several + components: + <variablelist> + <varlistentry> + <term>Extensible Stylesheet Language (XSL)</term> + <listitem> + <para>A language for expressing stylesheets written + in XML. It includes the formatting object language, but + refers to separate documents for the transformation + language and the path language.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>XSL Transformation (XSLT)</term> + <listitem> + <para>The part of XSL for transforming XML documents + into other XML documents, HTML, or text. It can be used to + rearrange the content and generate new content.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>XML Path Language (XPath)</term> + <listitem> + <para>A language for addressing parts of an XML + document. It is used to find the parts of your document to + apply different styles to. All XSL processors use this + component.</para> + </listitem> +</varlistentry> +</variablelist></para> +<para>To publish HTML from your XML documents, you just + need an XSLT engine. To get to print, you need an XSLT + engine to produce formatting objects (FO), which then must + be processed with a formatting object processor to produce + PostScript or PDF output.</para> +<para>James Clark's XT was the first useful XSLT engine, + and it is still in wide use. It is written in Java, so it + runs on many platforms, and it is free ( + <ulink url="http://www.jclark.com">http://www.jclark.com</ulink>). + XT comes with James Clark's nonvalidating parser XP, but + you can substitute a different Java parser. Here is a + simple example of using XT from the Unix command line to + produce HTML: You'll need to alter your + <parameter>CLASSPATH</parameter> environment variable to + include the path to where you put the + <filename>.jar</filename> files from the XT + distribution.</para> +<screen>CLASSPATH=xt.jar:xp.jar:sax.jar +export CLASSPATH +java com.jclark.xsl.sax.Driver <replaceable>filename.xml</replaceable> <replaceable>docbook/html/docbook.xsl</replaceable> > <replaceable>output.html</replaceable></screen> +<para>If you replace the HTML stylesheet with a + formatting object stylesheet, XT will produce a formatting + object file. Then you can convert that to PDF using FOP, a + formatting object processor available for free from the + Apache XML Project ( + <ulink url="http://xml.apache.org">http://xml.apache.org</ulink>). + Here is an example of that two stage processing:</para> +<screen>CLASSPATH=xt.jar:xp.jar:sax.jar:fop.jar +export CLASSPATH +java com.jclark.xsl.sax.Driver <replaceable>filename.xml</replaceable> <replaceable>docbook/fo/docbook.xsl</replaceable> > <replaceable>output.fo</replaceable> +java org.apache.fop.apps.CommandLine <replaceable>output.fo</replaceable> <replaceable>output.pdf</replaceable></screen> +<para>As of this writing, some other XSLT processors to + choose from include:</para> +<itemizedlist> +<listitem> + <para>4XSLT, written in Python, from FourThought LLC ( + <ulink url="http://www.fourthought.com">http://www.fourthought.com</ulink>)</para> +</listitem> +<listitem> +<para>Sablotron, written in C++, from Ginger Alliance ( + + <ulink url="http://www.gingerall.com">http://www.gingerall.com</ulink>)</para> +</listitem> +<listitem> +<para>Saxon, written in Java, from Michael Kay ( + <ulink url="http://users.iclway.co.uk/mhkay/saxon">http://users.iclway.co.uk/mhkay/saxon</ulink>)</para> +</listitem> +<listitem> +<para>Xalan, written in Java, from the Apache XML + Project ( + <ulink url="http://xml.apache.org">http://xml.apache.org</ulink>)</para> +</listitem> +<listitem> +<para>XML::XSLT,written in Perl, from Geert Josten and + Egon Willighagen ( + <ulink url="http://www.cpan.org">http://www.cpan.org</ulink>)</para> +</listitem> +</itemizedlist> +<para>For print output, these additional tools are available for processing formatting objects:</para> +<itemizedlist><listitem><para>XEP (written in Java) from + RenderX ( + <ulink url="http://www.renderx.com">http://www.renderx.com</ulink>).</para></listitem><listitem><para>PassiveTeX from Sebastian Rahtz (<ulink url="http://users.ox.ac.uk/~rahtz/passivetex/">http://users.ox.ac.uk/~rahtz/passivetex/</ulink>).</para></listitem></itemizedlist></sect1> +<sect1> +<title>A brief introduction to XSL</title> +<para>XSL is both a transformation language and a + formatting language. The XSLT transformation part lets you + scan through a document's structure and rearrange its + content any way you like. You can write out the content + using a different set of XML tags, and generate text as + needed. For example, you can scan through a document to + locate all headings and then insert a generated table of + contents at the beginning of the document, at the same time + writing out the content marked up as HTML. XSL is also a + rich formatting language, letting you apply typesetting + controls to all components of your output. With a good + formatting backend, it is capable of producing high quality + printed pages.</para> +<para>An XSL stylesheet is written using XML syntax, and is + itself a well-formed XML document. That makes the basic + syntax familiar, and enables an XML processor to check for + basic syntax errors. The stylesheet instructions use + special element names, which typically begin with + <literal>xsl:</literal> to distinguish them from any XML + tags you want to appear in the output. The XSL namespace is + identified at the top of the stylesheet file. As with other + XML, any XSL elements that are not empty will require a + closing tag. And some XSL elements have specific attributes + that control their behavior. It helps to keep a good XSL + reference book handy.</para> +<para>Here is an example of a simple XSL stylesheet applied + to a simple XML file to generate HTML output.</para> +<example> +<title>Simple XML file</title> +<programlisting><?xml version="1.0"?> +<document> +<title>Using a mouse</title> +<para>It's easy to use a mouse. Just roll it +around and click the buttons.</para> +</document></programlisting> +</example> +<example> +<title>Simple XSL stylesheet</title> +<programlisting><?xml version='1.0'?> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'> +<xsl:output method="html"/> + +<xsl:template match="document"> + <HTML><HEAD><TITLE> + <xsl:value-of select="./title"/> + </TITLE> + </HEAD> + <BODY> + <xsl:apply-templates/> + </BODY> + </HTML> +</xsl:template> + +<xsl:template match="title"> + <H1><xsl:apply-templates/></H1> +</xsl:template> + +<xsl:template match="para"> + <P><xsl:apply-templates/></P> +</xsl:template> + +</xsl:stylesheet> +</programlisting> +</example> +<example> +<title>HTML output</title> +<programlisting><HTML> +<HEAD> +<TITLE>Using a mouse</TITLE> +</HEAD> +<BODY> +<H1>Using a mouse</H1> +<P>It's easy to use a mouse. Just roll it +around and click the buttons.</P> +</BODY> +</HTML> +</programlisting> +</example> +</sect1> +<sect1> +<title>XSL processing model</title> +<para>XSL is a template language, not a procedural +language. That means a stylesheet specifies a sample of the +output, not a sequence of programming steps to generate it. +A stylesheet consists of a mixture of output samples with +instructions of what to put in each sample. Each bit of +output sample and instructions is called +a <emphasis>template</emphasis>.</para> +<para>In general, you write a template for each element +type in your document. That lets you concentrate on +handling just one element at a time, and keeps a stylesheet +modular. The power of XSL comes from processing the +templates recursively. That is, each template handles the +processing of its own element, and then calls other +templates to process its children, and so on. Since an XML +document is always a single root element at the top level +that contains all of the nested descendent elements, the +XSL templates also start at the top and work their way down +through the hierarchy of elements.</para> +<para>Take the +DocBook <literal><para></literal> paragraph element as +an example. To convert this to HTML, you want to wrap the +paragraph content with the HTML +tags <literal><p></literal> and <literal></p></literal>. +But a DocBook <literal><para></literal> can contain +any number of in-line DocBook elements marking up the text. +Fortunately, you can let other templates take care of those +elements, so your XSL template +for <literal><para></literal> can be quite +simple:</para> +<programlisting><xsl:template match="para"> + <p> + <xsl:apply-templates/> + </p> +</xsl:template> +</programlisting> +<para>The <literal><xsl:template></literal> element +starts a new template, and +its <literal>match</literal> attribute indicates where to +apply the template, in this case to +any <literal><para></literal> elements. The template +says to output a literal <literal><p></literal> string +and then execute +the <literal><xsl:apply-templates/></literal> instruction. +This tells the XSL processor to look among all the +templates in the stylesheet for any that should be applied +to the content of the paragraph. If each template in the +stylesheet includes +an <literal><xsl:apply-templates/></literal> instruction, +then all descendents will eventually be processed. When it +is through recursively applying templates to the paragraph +content, it outputs the <literal></p></literal> closing +tag.</para> +<sect2> +<title>Context is important</title> +<para>Since you aren't writing a linear procedure to +process your document, the context of where and how to +apply each modular template is important. +The <literal>match</literal> attribute +of <literal><xsl:template></literal> provides that +context for most templates. There is an entire expression +language, XPath, for identifying what parts of your +document should be handled by each template. The simplest +context is just an element name, as in the example above. +But you can also specify elements as children of other +elements, elements with certain attribute values, the first +or last elements in a sequence, and so on. Here is how the +DocBook <literal><formalpara></literal> element is +handled:</para> +<programlisting><xsl:template match="formalpara"> + <p> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="formalpara/title"> + <b><xsl:apply-templates/></b> + <xsl:text> </xsl:text> +</xsl:template> + +<xsl:template match="formalpara/para"> + <xsl:apply-templates/> +</xsl:template> +</programlisting> +<para>There are three templates defined, one for +the <literal><formalpara></literal> element itself, + and one for each of its children elements. The <literal>match</literal> attribute +value <literal>formalpara/title</literal> in the second +template is an XPath expression indicating +a <literal><title></literal> element that is an +immediate child of +a <literal><formalpara></literal> element. This +distinguishes such titles from +other <literal><title></literal> elements used in +DocBook. XPath expressions are the key to controlling how +your templates are applied.</para> +<para>In general, the XSL processor has internal rules that +apply templates that are more specific before templates +that are less specific. That lets you control the details, +but also provides a fallback mechanism to a less specific +template when you don't supply the full context for every +combination of elements. This feature is illustrated by the +third template, for <literal>formalpara/para</literal>. By +including this template, the stylesheet processes a <literal><para></literal> within <literal><formalpara></literal> in +a special way, in this case by not outputting the HTML <literal><p></literal> tags already output by its parent. If this template had not been included, then the processor would have fallen back to the template +specified by <literal>match="para"</literal> described +above, which would have output a second set of <literal><p></literal> tags.</para> +<para>You can also control template context with +XSL <emphasis>modes</emphasis>, which are used extensively +in the DocBook stylesheets. Modes let you process the same +input more than once in different ways. +A <literal>mode</literal> attribute in +an <literal><xsl:template></literal> definition adds a +specific mode name to that template. When the same mode +name is used +in <literal><xsl:apply-templates/></literal>, it acts +as a filter to narrow the selection of templates to only +those selected by +the <literal>match</literal> expression <emphasis>and</emphasis> that +have that mode name. This lets you define two different +templates for the same element match that are applied under +different contexts. For example, there are two templates +defined for +DocBook <literal><listitem></literal> elements:</para> +<programlisting><xsl:template match="listitem"> + <li><xsl:apply-templates/></li> +</xsl:template> + +<xsl:template match="listitem" mode="xref"> + <xsl:number format="1"/> +</xsl:template> +</programlisting> +<para>The first template is for the normal list item +context where you want to output the +HTML <literal><li></literal> tags. The second template +is called with <literal><xsl:apply-templates +select="$target" mode="xref"/></literal> in the context +of processing <literal><xref></literal> elements. In +this case the <literal>select</literal> attribute locates +the ID of the specific list item and +the <literal>mode</literal> attribute selects the second +template, whose effect is to output its item number when it +is in an ordered list. Because there are many such special +needs when +processing <literal><xref></literal> elements, it is +convenient to define a mode name <literal>xref</literal> to +handle them all. Keep in mind that mode settings +do <emphasis>not</emphasis> automatically get passed down to +other templates +through <literal><xsl:apply-templates/></literal>.</para> +</sect2> +<sect2> +<title>Programming features</title> +<para>Although XSL is template-driven, it also has some +features of traditional programming languages. Here are +some examples from the DocBook stylesheets. </para> +<programlisting><lineannotation>Assign a value to a variable:</lineannotation> +<xsl:variable name="refelem" select="name($target)"/> + +<lineannotation>If statement:</lineannotation> +<xsl:if test="$show.comments"> + <i><xsl:call-template name="inline.charseq"/></i> +</xsl:if> + +<lineannotation>Case statement:</lineannotation> +<xsl:choose> + <xsl:when test="@columns"> + <xsl:value-of select="@columns"/> + </xsl:when> + <xsl:otherwise>1</xsl:otherwise> +</xsl:choose> + +<lineannotation>Call a template by name like a subroutine, passing parameter values and accepting a return value:</lineannotation> +<xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> +</xsl:call-template> +</programlisting> +<para>However, you can't always use these constructs as you +do in other programming languages. Variables in particular +have very different behavior.</para> +<sect3> +<title>Using variables and parameters</title> +<para>XSL provides two elements that let you assign a value +to a +name: <literal><xsl:variable></literal> and <literal><xsl:param></literal>. +These share the same name space and syntax for assigning +names and values. Both can be referred to using +the <literal>$name</literal> syntax. The main difference +between these two elements is that a param's value acts as +a default value that can be overridden when a template is +called using +a <literal><xsl:with-param></literal> element as in the +last example above.</para> +<para>Here are two examples from DocBook:</para> +<programlisting><xsl:param name="cols">1</xsl:param> +<xsl:variable name="segnum" select="position()"/> +</programlisting> +<para>In both elements, the name of the parameter or +variable is specified with +the <literal>name</literal> attribute. So the name of +the <literal>param</literal> here +is <literal>cols</literal> and the name of +the <literal>variable</literal> is <literal>segnum</literal>. +The value of either can be supplied in two ways. The value +of the first example is the text node "1" and is supplied +as the content of the element. The value of the second +example is supplied as the result of the expression in +its <literal>select</literal> attribute, and the element +itself has no content.</para> +<para>The feature of XSL variables that is odd to new users +is that once you assign a value to a variable, you cannot +assign a new value within the same scope. Doing so will +generate an error. So variables are not used as dynamic +storage bins they way they are in other languages. They +hold a fixed value within their scope of application, and +then disappear when the scope is exited. This feature is a +result of the design of XSL, which is template-driven and +not procedural. This means there is no definite order of +processing, so you can't rely on the values of changing +variables. To use variables in XSL, you need to understand +how their scope is defined.</para> +<para>Variables defined outside of all templates are +considered global variables, and they are readable within +all templates. The value of a global variable is fixed, and +its global value can't be altered from within any template. +However, a template can create a local variable of the same +name and give it a different value. That local value +remains in effect only within the scope of the local +variable.</para> +<para>Variables defined within a template remain in effect +only within their permitted scope, which is defined as all +following siblings and their descendants. To understand +such a scope, you have to remember that XSL instructions +are true XML elements that are embedded in an XML family +hierarchy of XSL elements, often referred to as parents, +children, siblings, ancestors and descendants. Taking the +family analogy a step further, think of a variable +assignment as a piece of advice that you are allowed to +give to certain family members. You can give your advice +only to your younger siblings (those that follow you) and +their descendents. Your older siblings won't listen, +neither will your parents or any of your ancestors. To +stretch the analogy a bit, it is an error to try to give +different advice under the same name to the same group of +listeners (in other words, to redefine the variable). Keep +in mind that this family is not the elements of your +document, but just the XSL instructions in your stylesheet. +To help you keep track of such scopes in hand-written +stylesheets, it helps to indent nested XSL elements. Here +is an edited snippet from the DocBook stylesheet +file <filename>pi.xsl</filename> that illustrates different +scopes for two variables:</para> +<programlisting> + 1 <xsl:template name="dbhtml-attribute"> + 2 ... + 3 <xsl:choose> + 4 <xsl:when test="$count>count($pis)"> + 5 <!-- not found --> + 6 </xsl:when> + 7 <xsl:otherwise> + 8 <xsl:variable name="pi"> + 9 <xsl:value-of select="$pis[$count]"/> +10 </xsl:variable> +11 <xsl:choose> +12 <xsl:when test="contains($pi,concat($attribute, '='))"> +13 <xsl:variable name="rest" select="substring-after($pi,concat($attribute,'='))"/> +14 <xsl:variable name="quote" select="substring($rest,1,1)"/> +15 <xsl:value-of select="substring-before(substring($rest,2),$quote)"/> +16 </xsl:when> +17 <xsl:otherwise> +18 ... +19 </xsl:otherwise> +20 </xsl:choose> +21 </xsl:otherwise> +22 </xsl:choose> +23 </xsl:template> + +</programlisting> +<para>The scope of the variable <literal>pi</literal> begins +on line 8 where it is defined in this template, and ends on +line 20 when its last sibling ends.<footnote><para>Technically, the scope extends to the end tag of the parent of the <literal><xsl:variable></literal> element. That is effectively the last sibling.</para></footnote> The scope of the +variable <literal>rest</literal> begins on line 13 and ends +on line 15. Fortunately, line 15 outputs an expression +using the value before it goes out of scope.</para> +<para>What happens when +an <literal><xsl:apply-templates/></literal> element +is used within the scope of a local variable? Do the +templates that are applied to the document children get the +variable? The answer is no. The templates that are applied +are not actually within the scope of the variable. They +exist elsewhere in the stylesheet and are not following +siblings or their descendants. </para> +<para>To pass a value to another template, you pass a +parameter using +the <literal><xsl:with-param></literal> element. This +parameter passing is usually done with calls to a specific +named template +using <literal><xsl:call-template></literal>, although +it works +with <literal><xsl:apply-templates></literal> too. +That's because the called template must be expecting the +parameter by defining it using +a <literal><xsl:param></literal> element with the same +parameter name. Any passed parameters whose names are not +defined in the called template are ignored.</para> +<para>Here is an example of parameter passing +from <filename>docbook.xsl</filename>:</para> +<programlisting><xsl:call-template name="head.content"> + <xsl:with-param name="node" select="$doc"/> +</xsl:call-template> +</programlisting> +<para>Here a template +named <literal>head.content</literal> is being called and +passed a parameter named <literal>node</literal> whose +content is the value of the <literal>$doc</literal> variable +in the current context. The top of that template looks like +this:</para> +<programlisting><xsl:template name="head.content"> + <xsl:param name="node" select="."/> +</programlisting> +<para>The template is expecting the parameter because it +has a <literal><xsl:param></literal> defined with the +same name. The value in this definition is the default +value. This would be the parameter value used in the +template if the template was called without passing that +parameter.</para> +</sect3> +</sect2> +<sect2> +<title>Generating HTML output.</title> +<para>You generate HTML from your DocBook XML files by +applying the HTML version of the stylesheets. This is done +by using the HTML driver +file <filename>docbook/html/docbook.xsl</filename> as your +stylesheet. That is the master stylesheet file that +uses <literal><xsl:include></literal> to pull in the +component files it needs to assemble a complete stylesheet +for producing HTML. </para> +<para>The way the DocBook stylesheet generates HTML is to +apply templates that output a mix of text content and HTML +elements. Starting at the top level in the main +file <filename>docbook.xsl</filename>:</para> +<programlisting><xsl:template match="/"> + <xsl:variable name="doc" select="*[1]"/> + <html> + <head> + <xsl:call-template name="head.content"> + <xsl:with-param name="node" select="$doc"/> + </xsl:call-template> + </head> + <body> + <xsl:apply-templates/> + </body> + </html> +</xsl:template> +</programlisting> +<para>This template matches the root element of your input +document, and starts the process of recursively applying +templates. It first defines a variable +named <literal>doc</literal> and then outputs two literal +HTML elements <literal><html></literal> and <literal><head></literal>. +Then it calls a named +template <literal>head.content</literal> to process the +content of the HTML <literal><head></literal>, closes +the <literal><head></literal> and starts +the <literal><body></literal>. There it +uses <literal><xsl:apply-templates/></literal> to +recursively process the entire input document. Then it just +closes out the HTML file.</para> +<para>Simple HTML elements can generated as literal +elements as shown here. But if the HTML being output +depends on the context, you need something more powerful to +select the element name and possibly add attributes and +their values. Here is a fragment +from <filename>sections.xsl</filename> that shows how a +heading tag is generated using +the <literal><xsl:element></literal> and <literal><xsl:attribute></literal> elements:</para> +<programlisting> + 1 <xsl:element name="h{$level}"> + 2 <xsl:attribute name="class">title</xsl:attribute> + 3 <xsl:if test="$level<3"> + 4 <xsl:attribute name="style">clear: all</xsl:attribute> + 5 </xsl:if> + 6 <a> + 7 <xsl:attribute name="name"> + 8 <xsl:call-template name="object.id"/> + 9 </xsl:attribute> +10 <b><xsl:copy-of select="$title"/></b> +11 </a> +12 </xsl:element> +</programlisting> +<para>This whole example is generating a single HTML +heading element. Line 1 begins the HTML element definition +by identifying the name of the element. In this case, the +name is an expression that includes the +variable <literal>$level</literal> passed as a parameter to +this template. Thus a single template can +generate <literal><h1></literal>, <literal><h2></literal>, +etc. depending on the context in which it is called. Line 2 +defines a <literal>class="title"</literal> attribute that is +added to this element. Lines 3 to 5 add +a <literal>style="clear all"</literal> attribute, but only +if the heading level is less than 3. Line 6 opens +an <literal><a></literal> anchor element. Although this +looks like a literal output string, it is actually modified +by lines 7 to 9 that insert +the <literal>name</literal> attribute into +the <literal><a></literal> element. This illustrates +that XSL is managing output elements as active element +nodes, not just text strings. Line 10 outputs the text of +the heading title, also passed as a parameter to the +template, enclosed in HTML boldface tags. Line 11 closes +the anchor tag with the +literal <literal></a></literal> syntax, while line 12 +closes the heading tag by closing the element definition. +Since the actual element name is a variable, it couldn't +use the literal syntax.</para> +<para>As you follow the sequence of nested templates +processing elements, you might be wondering how the +ordinary text of your input document gets to the output. In +the file <filename>docbook.xsl</filename> you will find +this template that handles any text not processed by any +other template:</para> +<programlisting><xsl:template match="text()"> + <xsl:value-of select="."/> +</xsl:template> +</programlisting> +<para>This template's body consists of the "value" of the text node, +which is just its text. In general, all XSL processors have +some built-in templates to handle any content for which +your stylesheet doesn't supply a matching template. This +template serves the same function but appears explicitly in +the stylesheet.</para> +</sect2> +<sect2> +<title>Generating formatting objects.</title> +<para>You generate formatting objects from your DocBook XML +files by applying the fo version of the stylesheets. This +is done by using the fo driver +file <filename>docbook/fo/docbook.xsl</filename> as your +stylesheet. That is the master stylesheet file that +uses <literal><xsl:include></literal> to pull in the +component files it needs to assemble a complete stylesheet +for producing formatting objects. Generating a formatting +objects file is only half the process of producing typeset +output. You also need a formatting object processor such as +the Apache XML Project's FOP as described in an earlier +section.</para> +<para>The DocBook fo stylesheet works in a similar manner +to the HTML stylesheet. Instead of outputting HTML tags, it +outputs text marked up +with <literal><fo:<replaceable>something</replaceable>></literal> tags. +For example, to indicate that some text should be kept +in-line and typeset with a monospace font, it might look +like this:</para> +<programlisting><fo:inline-sequence font-family="monospace">/usr/man</fo:inline-sequence></programlisting> +<para>The templates +in <filename>docbook/fo/inline.xsl</filename> that produce +this output for a +DocBook <literal><filename></literal> element look +like this:</para> +<programlisting><xsl:template match="filename"> + <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template name="inline.monoseq"> + <xsl:param name="content"> + <xsl:apply-templates/> + </xsl:param> + <fo:inline-sequence font-family="monospace"> + <xsl:copy-of select="$content"/> + </fo:inline-sequence> +</xsl:template> +</programlisting> +<para>There are dozens of fo tags and attributes specified +in the XSL standard. It is beyond the scope of this +document to cover how all of them are used in the DocBook +stylesheets. Fortunately, this is only an intermediate +format that you probably won't have to deal with very much +directly unless you are writing your own +stylesheets.</para> +</sect2> +</sect1> +<sect1> +<title>Customizing DocBook XSL stylesheets</title> +<para>The DocBook XSL stylesheets are written in a modular +fashion. Each of the HTML and FO stylesheets starts with a +driver file that assembles a collection of component files +into a complete stylesheet. This modular design puts similar things together into smaller files that are easier to write and maintain than one big stylesheet. The modular stylesheet files +are distributed among four directories:</para> + +<variablelist> +<varlistentry><term>common/</term> +<listitem> +<para>contains code common to both stylesheets, including localization data +</para> +</listitem> +</varlistentry> +<varlistentry><term>fo/</term> +<listitem> +<para>a stylesheet that produces XSL FO result trees +</para> +</listitem> +</varlistentry> +<varlistentry><term>html/</term> +<listitem> +<para>a stylesheet that produces HTML/XHTML result trees +</para> +</listitem> +</varlistentry> +<varlistentry><term>lib/</term> +<listitem> +<para>contains schema-independent functions +</para> +</listitem> +</varlistentry> +</variablelist> + +<para>The driver files for each of HTML and FO stylesheets +are <filename>html/docbook.xsl</filename> and <filename>fo/docbook.xsl</filename>, +respectively. A driver file consists mostly of a bunch +of <literal><xsl:include></literal> instructions to +pull in the component templates, and then defines some +top-level templates. For example:</para> +<programlisting><xsl:include href="../VERSION"/> +<xsl:include href="../lib/lib.xsl"/> +<xsl:include href="../common/l10n.xsl"/> +<xsl:include href="../common/common.xsl"/> +<xsl:include href="autotoc.xsl"/> +<xsl:include href="lists.xsl"/> +<xsl:include href="callout.xsl"/> +... +<xsl:include href="param.xsl"/> +<xsl:include href="pi.xsl"/> +</programlisting> +<para>The first four modules are shared with the FO +stylesheet and are referenced using relative pathnames to +the common directories. Then the long list of component +stylesheets starts. Pathnames in include statements are +always taken to be relative to the including file. Each +included file must be a valid XSL stylesheet, which means +its root element must +be <literal><xsl:stylesheet></literal>.</para> +<sect2> +<title>Stylesheet inclusion vs. importing</title> +<para>XSL actually provides two inclusion +mechanisms: <literal><xsl:include></literal> and <literal><xsl:import></literal>. +Of the two, <literal><xsl:include></literal> is +the simpler. It treats the included content as if it were +actually typed into the file at that point, and doesn't +give it any more or less precedence relative to the +surrounding text. It is best used when assembling +dissimilar templates that don't overlap what they match. +The DocBook driver files use this instruction to assemble a +set of modules into a stylesheet.</para> +<para>In contrast, <literal><xsl:import></literal> lets +you manage the precedence of templates and variables. It is +the preferred mode of customizing another stylesheet because +it lets you override definitions in the distributed +stylesheet with your own, without altering the distribution +files at all. You simply import the whole stylesheet and +add whatever changes you want.</para> +<para>The precedence rules for import are detailed and +rigorously defined in the XSL standard. The basic rule is +that any templates and variables in the importing +stylesheet have precedence over equivalent templates and +variables in the imported stylesheet. Think of the imported stylesheet elements as a fallback collection, to be used only if a match is not found in the current stylesheet. You can customize the templates you want to change in your stylesheet file, and let the imported stylesheet handle the rest.</para> +<note> +<para>Customizing a DocBook XSL stylesheet is the opposite +of customizing a DocBook DTD. When you customize a DocBook +DTD, the rules of XML and SGML dictate that +the <emphasis>first</emphasis> of any duplicate declarations +wins. Any subsequent declarations of the same element or +entity are ignored. The architecture of the DTD provides +slots for inserting your own custom declarations early +enough in the DTD for them to override the standard +declarations. In contrast, customizing an XSL stylesheet is +simpler because your definitions have precedence over imported ones.</para> +</note> +<para>You can carry modularization to deeper levels because +module files can also include or import other modules. +You'll need to be careful to maintain the precedence that +you want as the modules get rolled up into a complete +stylesheet. </para> +</sect2> +<sect2> +<title>Customizing +with <literal><xsl:import></literal></title> +<para>There is currently one example of customizing +with <literal><xsl:import></literal> in the HTML +version of the DocBook stylesheets. +The <filename>xtchunk.xsl</filename> stylesheet modifies the +HTML processing to output many smaller HTML files rather +than a single large file per input document. It uses XSL +extensions defined only in the XSL +processor <command>XT</command>. In the driver +file <filename>xtchunk.xsl</filename>, the first instruction +is <literal><xsl:import +href="docbook.xsl"/></literal>. That instruction imports +the original driver file, which in turn uses +many <literal><xsl:include></literal> instructions to +include all the modules. That single import instruction +gives the new stylesheet the complete set of DocBook +templates to start with.</para> +<para>After the +import, <filename>xtchunk.xsl</filename> redefines some of +the templates and adds some new ones. Here is one example +of a redefined template:</para> +<programlisting><lineannotation>Original template in autotoc.xsl</lineannotation> +<xsl:template name="href.target"> + <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> + +<lineannotation>New template in xtchunk.xsl</lineannotation> +<xsl:template name="href.target"> + <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> +</programlisting> +<para>The new template handles the more complex processing +of HREFs when the output is split into many HTML files. +Where the old template could simply +output <literal>#<replaceable>object.id</replaceable></literal>, +the new one outputs <literal><replaceable>filename</replaceable>#<replaceable>object.id</replaceable></literal>.</para> +</sect2> +<sect2> +<title>Setting stylesheet variables</title> +<para>You may not have to define any new templates, +however. The DocBook stylesheets are parameterized using +XSL variables rather than hard-coded values for many of the +formatting features. Since +the <literal><xsl:import></literal> mechanism also +lets you redefine global variables, this gives you an easy +way to customize many features of the DocBook +stylesheets. Over time, more features will be parameterized to permit customization. If you find hardcoded values in the stylesheets that would be useful to customize, please let the maintainer know.</para> +<para>Near the end of the list of includes in the main +DocBook driver file is the +instruction <literal><xsl:include +href="param.xsl"/></literal>. +The <filename>param.xsl</filename> file is the most +important module for customizing a DocBook XSL stylesheet. +This module contains no templates, only definitions of +stylesheet variables. Since these variables are defined +outside of any template, they are global variables and +apply to the entire stylesheet. By redefining these +variables in an importing stylesheet, you can change the +behavior of the stylesheet.</para> +<para>To create a customized DocBook stylesheet, you simply +create a new stylesheet file such +as <filename>mystyle.xsl</filename> that imports the standard +stylesheet and adds your own new variable definitions. Here +is an example of a complete custom stylesheet that changes +the depth of sections listed in the table of contents from +two to three:</para> +<programlisting><?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0' + xmlns="http://www.w3.org/TR/xhtml1/transitional" + exclude-result-prefixes="#default"> + +<xsl:import href="docbook.xsl"/> + +<xsl:variable name="toc.section.depth">3</xsl:variable> +<!-- Add other variable definitions here --> + +</xsl:stylesheet> +</programlisting> +<para>Following the opening stylesheet element are the +import instruction and one variable definition. The +variable <literal>toc.section.depth</literal> was defined +in <filename>param.xsl</filename> with value "2", and here +it is defined as "3". Since the importing stylesheet takes +precedence, this new value is used. Thus documents +processed with <filename>mystyle.xsl</filename> instead +of <filename>docbook.xsl</filename> will have three levels +of sections in the tables of contents, and all other +processing will be the same.</para> +<para>Use the list of variables +in <filename>param.xsl</filename> as your guide for creating +a custom stylesheet. If the changes you want are controlled +by a variable there, then customizing is easy. </para> + +</sect2> +<sect2> +<title>Writing your own templates</title> +<para>If the changes you want are more extensive than what +is supported by variables, you can write new templates. You +can put your new templates directly in your importing +stylesheet, or you can modularize your importing stylesheet +as well. You can write your own stylesheet module +containing a collection of templates for processing lists, +for example, and put them in a file +named <filename>mylists.xsl</filename>. Then your importing +stylesheet can pull in your list templates with +a <literal><xsl:include +href="mylists.xsl"/></literal> instruction. Since your +included template definitions appear after the main import +instruction, your templates will take precedence.</para> +<para>You'll need to make sure your new templates are +compatible with the remaining modules, which means:</para> +<itemizedlist> +<listitem> +<para>Any named templates should use the same name so +calling templates in other modules can find them.</para> +</listitem> +<listitem> +<para>Your template set should process the same elements +matched by templates in the original module, to ensure +complete coverage.</para> +</listitem> +<listitem> +<para>Include the same set +of <literal><xsl:param></literal> elements in each +template to interface properly with any calling templates, +although you can set different values for your +parameters.</para> +</listitem> +<listitem> +<para>Any templates that are used like subroutines to +return a value should return the same data type.</para> +</listitem> +</itemizedlist> +</sect2> +<sect2> +<title>Writing your own driver</title> +<para>Another approach to customizing the stylesheets is to +write your own driver file. Instead of +using <literal><xsl:import +href="docbook.xsl"/></literal>, you copy that file to a +new name and rewrite any of +the <literal><xsl:include/></literal> instructions to +assemble a custom collection of stylesheet modules. One +reason to do this is to speed up processing by reducing the +size of the stylesheet. If you are using a customized +DocBook DTD that omits many elements you never use, you +might be able to omit those modules of the +stylesheet.</para> +</sect2> +<sect2> +<title>Localization</title> +<para>The DocBook stylesheets include features for +localizing generated text, that is, printing any generated +text in a language other than the default English. In +general, the stylesheets will switch to the language +identified by a <literal>lang</literal> attribute when +processing elements in your documents. If your documents +use the <literal>lang</literal> attribute, then you don't +need to customize the stylesheets at all for +localization.</para> +<para>As far as the stylesheets go, +a <literal>lang</literal> attribute is inherited by the +descendents of a document element. The stylesheet searches +for a <literal>lang</literal> attribute using this XPath +expression:</para> +<programlisting><xsl:variable name="lang-attr" + select="($target/ancestor-or-self::*/@lang + |$target/ancestor-or-self::*/@xml:lang)[last()]"/></programlisting> + +<para>This locates the attribute on the current element or +its most recent ancestor. Thus +a <literal>lang</literal> attribute is in effect for an +element and all of its descendents, unless it is reset in +one of those descendents. If you define it in only your +document root element, then it applies to the whole +document:</para> +<programlisting><?xml version="1.0"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN" "docbook.dtd"> +<book lang="fr"> +... +</book></programlisting> +<para>When text is being generated, the stylesheet checks +the most recent <literal>lang</literal> attribute and looks +up the generated text strings for that language in a +localization XML file. These are located in +the <filename>common</filename> directory of the +stylesheets, one file per language. Here is the top of the +file <filename>fr.xml</filename>:</para> +<programlisting><localization language="fr"> + +<gentext key="abstract" text="R&#x00E9;sum&#x00E9;"/> +<gentext key="answer" text="R:"/> +<gentext key="appendix" text="Annexe"/> +<gentext key="article" text="Article"/> +<gentext key="bibliography" text="Bibliographie"/> +... +</programlisting> +<para>The stylesheet templates use the gentext key names, +and then the stylesheet looks up the associated text value +when the document is processed with that lang setting. The +file <filename>l10n.xml</filename> (note +the <filename>.xml</filename> suffix) lists the filenames of +all the supported languages.</para> +<para>You can also create a custom stylesheet that sets the +language. That might be useful if your documents don't make +appropriate use of the <literal>lang</literal> attribute. +The module <filename>l10n.xsl</filename> defines two global +variables that can be overridden with an importing +stylesheet as described above. Here are their default +definitions:</para> +<programlisting><xsl:variable name="l10n.gentext.language"></xsl:variable> +<xsl:variable name="l10n.gentext.default.language">en</xsl:variable> +</programlisting> +<para>The first one sets the language for all elements, +regardless of an element's <literal>lang</literal> attribute +value. The second just sets a default language for any +elements that haven't got a <literal>lang</literal> setting +of their own (or their ancestors).</para> +</sect2> +</sect1> +</chapter> diff --git a/lib/docbook/docbook-xsl/docsrc/reference.xml b/lib/docbook/docbook-xsl/docsrc/reference.xml new file mode 100644 index 000000000..ddd63f8a7 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/reference.xml @@ -0,0 +1,66 @@ +<!DOCTYPE book + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ +<!ENTITY common.xml SYSTEM "common/common.xml" NDATA SGML> +<!ENTITY lib.xml SYSTEM "lib/lib.xml" NDATA SGML> +<!ENTITY html-param.xml SYSTEM "html/param.xml" NDATA SGML> +<!ENTITY html-ebnf.xml SYSTEM "html/ebnf.xml" NDATA SGML> +<!ENTITY fo-param.xml SYSTEM "fo/param.xml" NDATA SGML> +<!ENTITY fo-table.xml SYSTEM "fo/table.xml" NDATA SGML> +<!ENTITY titlepage.xml SYSTEM "template/titlepage.xml" NDATA SGML> +]> +<book> +<bookinfo> +<title>DocBook XSL Stylesheet Reference Documentation</title> +<releaseinfo role="meta"> +$Id: reference.xml,v 1.1 2002/05/15 17:22:24 isberg Exp $ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>1999</year><year>2000</year> +<holder>Norman Walsh</holder> +</copyright> +</bookinfo> + +<preface><title>Preface</title> + +<para>This constitutes only the most rudimentary beginnings of +documentation for these stylesheets.</para> + +<para>At present, the only documentation available is the set +of references generated from the stylesheet sources:</para> + +<itemizedlist> +<listitem><para><olink type="title" localinfo="lib/lib.html" + targetdocent="lib.xml"/></para> +</listitem> +<listitem><para><olink type="title" localinfo="common/common.html" + targetdocent="common.xml"/></para> +</listitem> +<listitem><para><olink type="title" localinfo="html/param.html" + targetdocent="html-param.xml"/></para> +</listitem> +<listitem><para><olink type="title" localinfo="html/ebnf.html" + targetdocent="html-ebnf.xml"/></para> +</listitem> +<listitem><para><olink type="title" localinfo="fo/param.html" + targetdocent="fo-param.xml"/></para> +</listitem> +<listitem><para><olink type="title" localinfo="fo/table.html" + targetdocent="fo-table.xml"/></para> +</listitem> +</itemizedlist> + +<para>The reference to the template system is also available, +but at this point it's probably even less useful than the preceding +references.</para> + +<itemizedlist> +<listitem><para><olink type="title" localinfo="template/titlepage.html" + targetdocent="titlepage.xml"/></para> +</listitem> +</itemizedlist> + +</preface> +</book> + diff --git a/lib/docbook/docbook-xsl/docsrc/template-example.xml b/lib/docbook/docbook-xsl/docsrc/template-example.xml new file mode 100644 index 000000000..abb3dbd1e --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/template-example.xml @@ -0,0 +1,12 @@ +<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + base-stylesheet="/path/to/html/docbook.xsl"> + +<t:titlepage element="article" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto" order="document"> + <title predicate="[1]"/> + <author/> + <edition/> + </t:titlepage-content> +</t:titlepage> +</t:templates> diff --git a/lib/docbook/docbook-xsl/docsrc/template-example.xsl b/lib/docbook/docbook-xsl/docsrc/template-example.xsl new file mode 100644 index 000000000..c72e25b46 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/template-example.xsl @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by titlepage.xsl; do not edit it by hand. -->
+
+<xsl:import href="/path/to/html/docbook.xsl"/>
+
+<xsl:template name="article.titlepage.recto"><xsl:apply-templates mode="article.titlepage.recto.mode" select="(articleinfo/title|artheader/title|title)[1]|articleinfo/author|artheader/author|articleinfo/edition|artheader/edition"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+ <div class="titlepage">
+ <xsl:call-template name="article.titlepage.before.recto"/>
+ <xsl:call-template name="article.titlepage.recto"/>
+ <xsl:call-template name="article.titlepage.before.verso"/>
+ <xsl:call-template name="article.titlepage.verso"/>
+ <xsl:call-template name="article.titlepage.separator"/>
+ </div>
+</xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/docsrc/template/ChangeLog b/lib/docbook/docbook-xsl/docsrc/template/ChangeLog new file mode 100644 index 000000000..ca59668ce --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/template/ChangeLog @@ -0,0 +1,8 @@ +2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Documentation fixes
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile: New file.
+
diff --git a/lib/docbook/docbook-xsl/docsrc/template/titlepage.xml b/lib/docbook/docbook-xsl/docsrc/template/titlepage.xml new file mode 100644 index 000000000..f85a2f672 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/template/titlepage.xml @@ -0,0 +1,493 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE reference + PUBLIC "-//Norman Walsh//DTD JRefEntry V1.1//EN" "http://docbook.sourceforge.net/release/jrefentry/1.1/jrefentry.dtd"> +<reference> +<referenceinfo> +<releaseinfo role="meta"> +$Id: titlepage.xml,v 1.1 2002/05/15 17:22:25 isberg Exp $ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>1999</year><year>2000</year> +<holder>Norman Walsh</holder> +</copyright> +</referenceinfo> +<title>Template Stylesheet 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 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> + + +<refentry> +<refnamediv> +<refname>t:templates</refname> +<refpurpose>Construct a stylesheet for the templates provided</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="t:templates"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The <literal>t:templates</literal> element is the root of a +set of templates. This template creates an appropriate +<literal>xsl:stylesheet</literal> for the templates.</para> + + + +<para>If the <literal>t:templates</literal> element has a +<literal>base-stylesheet</literal> attribute, an +<literal>xsl:import</literal> statement is constructed for it.</para> + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>xsl:*</refname> +<refpurpose>Copy xsl: elements straight through</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="xsl:*"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template simply copies the xsl: elements +straight through into the result tree.</para> + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>t:titlepage</refname> +<refpurpose>Create the templates necessary to construct a title page</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="t:titlepage"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The <literal>t:titlepage</literal> element creates a set of +templates for processing the titlepage for an element. The +<quote>root</quote> of this template set is the template named +<quote><literal>wrapper.titlepage</literal></quote>. That is the +template that should be called to generate the title page. +</para> + + + +<para>The <literal>t:titlepage</literal> element has three attributes: + + +<variablelist> +<varlistentry><term>element</term> +<listitem> +<para>The name of the source document element for which +these templates apply. In other words, to make a title page for the +<sgmltag>article</sgmltag> element, set the +<sgmltag class="attribute">element</sgmltag> attribute to +<quote><literal>article</literal></quote>. This attribute is required. +</para> +</listitem> +</varlistentry> +<varlistentry><term>wrapper</term> +<listitem> +<para>The entire title page can be wrapped with an element. +This attribute identifies that element. +</para> +</listitem> +</varlistentry> +<varlistentry><term>class</term> +<listitem> +<para>If the <sgmltag class="attribute">class</sgmltag> attribute +is set, a <sgmltag class="attribute">class</sgmltag> attribute with this +value will be added to the wrapper element that surrounds the entire +title page. +</para> +</listitem> +</varlistentry> +</variablelist> + +</para> + + + +<para>Any other attributes are copied through literally to the +wrapper element.</para> + + + +<para>The content of a <literal>t:titlepage</literal> is one or +more <literal>t:titlepage-content</literal>, +<literal>t:titlepage-separator</literal>, and +<literal>t:titlepage-before</literal> elements.</para> + + + +<para>Each of these elements may be provided for the <quote>recto</quote> +and <quote>verso</quote> sides of the title page.</para> + + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>@* (in copy.literal.atts mode)</refname> +<refpurpose>Copy t:titlepage attributes</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="@*" mode="copy.literal.atts"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template copies all of the <quote>other</quote> attributes +from a <literal>t:titlepage</literal> element onto the specified +wrapper.</para> + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>t:titlepage-content</refname> +<refpurpose>Create templates for the content of one side of a title page</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="t:titlepage-content"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The title page content, that is, the elements from the source +document that are rendered on the title page, can be controlled independently +for the recto and verso sides of the title page.</para> + + + +<para>The <literal>t:titlepage-content</literal> element has two attributes: + + +<variablelist> +<varlistentry><term>side</term> +<listitem> +<para>Identifies the side of the page to which this title +page content applies. The +<sgmltag class="attribute">side</sgmltag> attribute is required and +must be set to either +<quote><literal>recto</literal></quote> or +<quote><literal>verso</literal></quote>. In addition, you must specify +exactly one <literal>t:titlepage-content</literal> for each side +within each <literal>t:titlepage</literal>.</para> + +</listitem> +</varlistentry> +<varlistentry><term>order</term> +<listitem> +<para>Indicates how the order of the elements presented on +the title page is determined. If the +<sgmltag class="attribute">order</sgmltag> is +<quote><literal>document</literal></quote>, the elements are presented +in document order. Otherwise (if the +<sgmltag class="attribute">order</sgmltag> is +<quote><literal>stylesheet</literal></quote>), the elements are presented +in the order that they appear in the template (and consequently in +the stylesheet).</para> + +</listitem> +</varlistentry> +</variablelist> + +</para> + + + +<para>The content of a <literal>t:titlepage-content</literal> element is +a list of element names. These names should be unqualified. They identify +the elements in the source document that should appear on the title page. +</para> + + + +<para>Each element may have a single attribute: +<sgmltag class="attribute">predicate</sgmltag>. The value of this +attribute is used as a predicate for the expression that matches +the element on which it occurs.</para> + + + +<para>In other words, to put only the first three authors on the +recto-side of a title +page, you could specify: + +<screen> + <t:titlepage-contents side="recto"> + <!-- other titlepage elements --> + <author predicate="[count(previous-sibling::author)<2]"/> + <!-- other titlepage elements --> + </t:titlepage-contents> +</screen> +</para> + + + +<para>Usually, the elements so named are empty. But it is possible to +make one level of selection within them. Suppose that you want to +process <literal>authorgroup</literal> elements on the title page, but +you want to select only proper authors, editors, or corporate authors, +not collaborators or other credited authors.</para> + + + +<para>In that case, you can put a <literal>t:or</literal> group inside +the <literal>authorgroup</literal> element: + +<screen> + <t:titlepage-contents side="recto"> + <!-- other titlepage elements --> + <authorgroup> + <t:or> + <author/> + <editor/> + <corpauthor/> + </t:or> + </authorgroup> + <!-- other titlepage elements --> + </t:titlepage-contents> +</screen> +</para> + + + +<para>This will have the effect of automatically generating a template +for processing <literal>authorgroup</literal>s in the title page mode, +selecting only the specified children. If you need more complex processing, +you'll have to construct the templates by hand.</para> + + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>t:titlepage-separator</refname> +<refpurpose>Create templates for the separator</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="t:titlepage-separator"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The title page is separated from the content which follows it by +the markup specified in the <literal>t:titlepage-separator</literal> +element.</para> + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>t:titlepage-before</refname> +<refpurpose>Create templates for what precedes a title page</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="t:titlepage-before"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Each side of the title page is preceded by the markup specified +in the <literal>t:titlepage-before</literal> element for that +side.</para> + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>* (in copy mode)</refname> +<refpurpose>Copy elements</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="*" mode="copy"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template simply copies the elements that it applies to +straight through into the result tree.</para> + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>@* (in copy mode)</refname> +<refpurpose>Copy attributes</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="@*" mode="copy"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template simply copies the attributes that it applies to +straight through into the result tree.</para> + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>* (in document.order mode)</refname> +<refpurpose>Create rules to process titlepage elements in document order</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="*" mode="document.order"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template is called to process all of the children of the +<literal>t:titlepage-content</literal> element. It creates the hairy +select expression necessary to process each of those elements in +the title page.</para> + + + +<para>Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. +</para> + + + +<para>It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names.</para> + + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>* (in document.order mode)</refname> +<refpurpose>Create rules to process titlepage elements in stylesheet order</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="*" mode="document.order"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template is called to process all of the children of the +<literal>t:titlepage-content</literal> element. It creates the set +of <literal>xsl:apply-templates</literal> elements necessary +process each of those elements in the title page.</para> + + + +<para>Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. +</para> + + + +<para>It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names.</para> + + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>* (in titlepage.specialrules mode)</refname> +<refpurpose>Create templates for special rules</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="*" mode="titlepage.specialrules"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template is called to process all of the descendants of the +<literal>t:titlepage-content</literal> element that require special +processing. At present, that's just <literal>t:or</literal> elements. +</para> + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>* (in titlepage.subrules mode)</refname> +<refpurpose>Create template for individual special rules</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="*" mode="titlepage.subrules"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template is called to process the children of special +template elements. +</para> + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>t:or</refname> +<refpurpose>Process the t:or special rule</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="t:or"/><xsl:template match="t:or" mode="titlepage.subrules"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>This template processes t:or.</para> + +</refdescription></refentry> + +<refentry> +<refnamediv> +<refname>t:or (in titlepage.subrules mode)</refname> +<refpurpose>Process the t:or special rule in +titlepage.subrules mode</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template match="t:or" mode="titlepage.subrules"/></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>The titlepage.subrules mode doesn't apply to t:or, so just +reprocess this node in the normal mode.</para> + +</refdescription></refentry> + +<refentry id="template.element-or-list"> +<refnamediv> +<refname>element-or-list</refname> +<refpurpose>Construct the "or-list" used in the select attribute for +special rules.</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="element-or-list"> +<xsl:param name="elements" select="*"/> +<xsl:param name="element.count" select="count($elements)"/> +<xsl:param name="count" select="1"/> +<xsl:param name="orlist"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refdescription> + +<para>Walk through each of the children of t:or, producing the +text of the select attribute.</para> + +</refdescription></refentry> +</reference> diff --git a/lib/docbook/docbook-xsl/docsrc/templates.xml b/lib/docbook/docbook-xsl/docsrc/templates.xml new file mode 100644 index 000000000..04f4ae11f --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/templates.xml @@ -0,0 +1,104 @@ +<chapter> +<chapterinfo> +<releaseinfo role="meta"> +$Id: templates.xml,v 1.1 2002/05/15 17:22:24 isberg Exp $ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>2000</year><holder>Norman Walsh</holder> +</copyright> +</chapterinfo> +<title>The Template System</title> + +<para>Some parts of the DocBook XSL Stylesheets are actually generated +using XSL Stylesheets. In particular, the formatting of title pages +is generated using a special template system. The same template system +will eventually allow you to easily customize bibliography entries and +perhaps other parts of the system as well.</para> + +<para>FIXME: there needs to be more introductory/explanatory text +here!</para> + +<section><title>Changing the Article Title Page</title> + +<para>In order to demonstrate how this system works, let's consider +how we can use it to change the format of article title pages.</para> + +<para>By default, the stylesheets print the following elements on the +article title page, in this order: <simplelist type="inline"> +<member><sgmltag>title</sgmltag></member> +<member><sgmltag>subtitle</sgmltag></member> +<member><sgmltag>corpauthor</sgmltag></member> +<member><sgmltag>authorgroup</sgmltag></member> +<member><sgmltag>author</sgmltag></member> +<member><sgmltag>releaseinfo</sgmltag></member> +<member><sgmltag>copyright</sgmltag></member> +<member><sgmltag>legalnotice</sgmltag></member> +<member><sgmltag>pubdate</sgmltag></member> +<member><sgmltag>revision</sgmltag></member> +<member><sgmltag>revhistory</sgmltag></member> +<member><sgmltag>abstract</sgmltag></member> +</simplelist>. Suppose we want to put only the +<sgmltag>title</sgmltag>, <sgmltag>author</sgmltag>, and +<sgmltag>edition</sgmltag> elements on the title page, in the order +that they appear in the <sgmltag>articleinfo</sgmltag>. +</para> + +<para>The <quote>hard</quote> (and wrong!) way to do it would be to +edit <filename>titlepage.templates.xsl</filename> and make the changes +by hand.</para> + +<para>The easy and right way is to construct a template document that +describes the order and sequence of elements that you want:</para> + +<screen><![CDATA[ +<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + base-stylesheet="/path/to/html/docbook.xsl"> + +<t:titlepage element="article" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto" order="document"> + <title predicate="[1]"/> + <author/> + <edition/> + </t:titlepage-content> +</t:titlepage> +</t:templates> +]]></screen> + +<para>Then process this document with the +<filename>template/titlepage.xsl</filename> stylesheet. This will +produce the following somewhat cryptic stylesheet:</para> + +<screen><![CDATA[ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<!-- This stylesheet was created by titlepage.xsl; do not edit it by hand. --> + +<xsl:import href="/path/to/html/docbook.xsl"/> + +<xsl:template name="article.titlepage.recto"><xsl:apply-templates mode="article.titlepage.recto.mode" select="(articleinfo/title|artheader/title|title)[1]|articleinfo/author|artheader/author|articleinfo/edition|artheader/edition"/> +</xsl:template> + +<xsl:template name="article.titlepage"> + <div class="titlepage"> + <xsl:call-template name="article.titlepage.before.recto"/> + <xsl:call-template name="article.titlepage.recto"/> + <xsl:call-template name="article.titlepage.before.verso"/> + <xsl:call-template name="article.titlepage.verso"/> + <xsl:call-template name="article.titlepage.separator"/> + </div> +</xsl:template> + +</xsl:stylesheet> +]]></screen> + +<para>Despite its cryptic appearance, it has the desired result. +If you want to change <emphasis>how</emphasis> the titlepage elements +are formatted (as opposed to which ones are formatted), you have to +write your own customization layer that overrides the template for +the element in question in the <quote>titlepage.mode</quote> mode.</para> +</section> + +</chapter> diff --git a/lib/docbook/docbook-xsl/docsrc/tools/ChangeLog b/lib/docbook/docbook-xsl/docsrc/tools/ChangeLog new file mode 100644 index 000000000..51aa8bf61 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/tools/ChangeLog @@ -0,0 +1,8 @@ +2001-08-13 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: New file.
+
+2001-07-31 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * profile-chain.png, profiling.xml: New file.
+
diff --git a/lib/docbook/docbook-xsl/docsrc/tools/profile-chain.png b/lib/docbook/docbook-xsl/docsrc/tools/profile-chain.png Binary files differnew file mode 100644 index 000000000..ad3a35765 --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/tools/profile-chain.png diff --git a/lib/docbook/docbook-xsl/docsrc/tools/profiling.xml b/lib/docbook/docbook-xsl/docsrc/tools/profiling.xml new file mode 100644 index 000000000..b7e08553a --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/tools/profiling.xml @@ -0,0 +1,294 @@ +<?xml version='1.0' encoding='iso-8859-1'?> +<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN' 'http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd'> +<article> +<articleinfo> +<title>Profiling DocBook documents</title> +<subtitle>An easy way to personalize your content for several target audiences</subtitle> +<author> +<firstname>Jirka</firstname> +<surname>Kosek</surname> +<affiliation> +<address>E-mail: <email>jirka@kosek.cz</email> +<otheraddr>Web: <ulink +url="http://www.kosek.cz">http://www.kosek.cz</ulink> +</otheraddr> +</address> +</affiliation> +</author> +<copyright> +<year>2001</year> +<holder>Jiří Kosek</holder> +</copyright> +<releaseinfo role="meta"> +$Id: profiling.xml,v 1.1 2002/05/15 17:22:26 isberg Exp $ +</releaseinfo> +</articleinfo> + +<section> +<title>Introduction</title> + +<para>There are many situations when we need to generate several +versions of document with slightly different content from the single +source. User guide for program with both Windows and Linux port will +differ only in several topics related to installation and +configuration. It would be futile to create and maintain two different +documents in sync. Another real world example – in addition to +standard documentation we can have guide enriched with problem +solutions from help-desk. It also may be better to store these +information in one document in order to make them absolutely +synchronized.</para> +<para>Several high-end editing tools have built in support for +profiling. User can easily add target audiences for any part of +document in a simple to use dialog box. User can select desired target +audience before printing or generation of other output formats. +Software will automatically filter out excess parts of document and +pass rest of it to rendering engine. However, if your budget is +limited you can not use commercial solutions. In the following text I +will show you simple but flexible profiling solution based on freely +available technologies.</para> + +</section> + +<section> +<title>$0 solution</title> + +<para>In the document we mark parts targeted for particular platform +or user group. When generating final output version of document we +must do profiling i.e. personalization for particular target audience. +Only some parts of document are processed. DocBook has built in +support for marking document parts – on almost every element you +can use attributes <sgmltag class="attribute">os</sgmltag>, <sgmltag +class="attribute">userlevel</sgmltag> and <sgmltag +class="attribute">arch</sgmltag>. We can store identifier of operating +system, user group or hardware architecture here. You can also store +profiling information into some general use attribute like <sgmltag +class="attribute">role</sgmltag>. <xref +linkend="ex:doc"/> shows how document with profile information might +look.</para> + +<example id="ex:doc"> +<title>Sample DocBook document with profiling information</title> +<programlisting><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?> +<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN' + 'http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd'> +<chapter> +<title>How to setup SGML catalogs</title> + +<para>Many existing SGML tools are able to map public identifiers to +files on your local file system. Mapping is specified in so called +catalog file. List of catalog files to use is stored in environment +variable <envar>SGML_CATALOG_FILES</envar>.</para> + +<para os="unix">On Unix systems you can set this variable by invoking +command <command>export SGML_CATALOG_FILES=/usr/lib/catalog</command> +on command line. If you want maintain value of the variable between +sessions, place this command into startup file, +e.g. <filename>.profile</filename>.</para> + +<para os="win">In Windows NT/2000 you can set environment variable by +issuing command <menuchoice><guimenu>Start</guimenu> +<guisubmenu>Settings</guisubmenu> <guisubmenu>Control +Pannel</guisubmenu> +<guimenuitem>System</guimenuitem></menuchoice>. Then select +<guilabel>Advanced</guilabel> card in the dialog box and click on the +<guibutton>Environment Variables...</guibutton> button. Using the +<guibutton>New</guibutton> button you can add new environment variable +into your system.</para> + +</chapter>]]></programlisting> +</example> + +<para>DocBook documents are often processed by freely available DSSSL +and XSL stylesheets. Most DocBook users who want profiling starts with +creation of customization layer which filters out some parts of +document. This approach has several serious disadvantages. First, you +must create profiling customization for all output formats as they are +using different stylesheets. This mean that you must maintain same +code on several places or do some dirty tricks with importing several +stylesheets into one stylesheet.</para> +<para>Second drawback is more serious. If you override templates to +filter out documents, you can get almost correct output in a single +run of stylesheet. If you will closely look on generated output, you +will recognize that in the table of contents there are entries for +items which should be completely removed by profiling. Similar +problems are in several other places – e.g. skipped auto +generated numbers for tables, pictures and so on. To correct this one +should change all stylesheet code which generates ToC, +cross-references and so on to ignore filtered content. This is very +complicated task and will disallow you to easily upgrade to new +versions of stylesheets.</para> +<para>Thus we must use different approach. Profiling should be totally +separate step which will filter out some parts of original document +and will create new correct DocBook document. When processed with any +DocBook tool or stylesheet you will get always correct output from the +new standalone document now. Big advantage of this method is +compatibility with all DocBook tools. Filtered document is normal +DocBook document and it does not require any special processing. Of +course, there is also one disadvantage – formating is now two +stage process – first you must filter source document and in +second step you could apply normal stylesheets on result of filtering. +This may be little bit inconvenient for many users, but whole task can +be very easily automated by set of shell scripts or batch files or +whatever else.</para> + +<figure> +<title>Profiling stream</title> +<mediaobject> +<imageobject> +<imagedata fileref="profile-chain.png" format="PNG"/> +</imageobject> +</mediaobject> +</figure> + +<para>When implementing filter, you can use many different approaches +and tools. I decided to use XSLT stylesheet. Writing necessary filter +is very easy in XSLT and many users have XSLT processor already +installed. Profiling stylesheet is part of standard XSL stylesheets +distribution and can be found in file +<filename>tools/profile.xsl</filename>.</para> +</section> + +<section> +<title>Usage</title> + +<para>If you want to generate Unix specific guide from our sample +document (<xref linkend="ex:doc"/>) you can do it in the following +way. (We assume, that command <command>saxon</command> is able to run +XSLT processor on your machine. You can use your preffered XSLT +processor instead.)</para> + +<screen><command>saxon</command> <option>-o</option> unixsample.xml sample.xml profile.xsl "os=unix"</screen> + +<para>We are processing source document +<filename>sample.xml</filename> with profiling stylesheet +<filename>profile.xsl</filename>. Result of transformation is stored +in file <filename>unixsample.xml</filename>. By setting parameter +<parameter>os</parameter> to value <literal>unix</literal>, we tell +that only general and Unix specific parts of document should be copied +to the result document. If you will look at generated result, you will +notice that this is correct DocBook document:</para> + +<programlisting><![CDATA[<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE chapter + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"> +<chapter> +<title>How to setup SGML catalogs</title> + +<para>Many existing SGML tools are able to map public identifiers to +files on your local file system. Mapping is specified in so called +catalog file. List of catalog files to use is stored in environment +variable <envar>SGML_CATALOG_FILES</envar>.</para> + +<para os="unix">On Unix systems you can set this variable by invoking +command <command moreinfo="none">export SGML_CATALOG_FILES=/usr/lib/catalog</command> +on command line. If you want maintain value of the variable between +sessions, place this command into startup file, +e.g. <filename moreinfo="none">.profile</filename>.</para> + +</chapter>]]></programlisting> + +<para>It is same as the input document, only Windows specific +paragraph is missing. Same procedure can be used to get Windows +specific version of document. The result generated by profiling +stylesheet have correct document type declaration (DOCTYPE). Without +it some tools would not be able to process them further. On the result +of filtering you can run common tools – for example DSSSL or XSL +stylesheets.</para> + +<para>Stylesheet support several attributes for specifying profiling +values. They are summarized in the following list.</para> + +<variablelist> +<varlistentry> +<term><parameter>os</parameter></term> +<listitem> +<para>This parameter is used for specifying operating system (<sgmltag +class="attribute">os</sgmltag> attribute) for which you want get +profiled version of document.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><parameter>ul</parameter></term> +<listitem> +<para>This parameter is used for specifying user level (<sgmltag +class="attribute">userlevel</sgmltag> attribute) for which you want get +profiled version of document.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><parameter>arch</parameter></term> +<listitem> +<para>This parameter is used for specifying hardware architecture (<sgmltag +class="attribute">arch</sgmltag> attribute) for which you want get +profiled version of document.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><parameter>attr</parameter></term> +<listitem> +<para>Name of attribute on which profiling should be based. It can be +used if profiling information is stored in other attributes then +<sgmltag class="attribute">os</sgmltag>, <sgmltag +class="attribute">userlevel</sgmltag> and <sgmltag class="attribute">arch</sgmltag>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><parameter>val</parameter></term> +<listitem> +<para>This parameter is used for specifying value for attribute +selected by <parameter>attr</parameter> parameter.</para> +<para>E.g. setting <literal>attr=os</literal> and +<literal>val=unix</literal> is same as setting +<literal>os=unix</literal>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><parameter>sep</parameter></term> +<listitem> +<para>Separator for multiple target audience identifiers. Default is +<literal>;</literal>.</para> +</listitem> +</varlistentry> + +</variablelist> + +<para>Current implementation is able to handle multiple profiling +targets in one attribute. In that case you must separate identifiers +by semicolon:</para> + +<programlisting><![CDATA[<para os="unix;mac;win">...</para>]]></programlisting> + +<para>It is possible to use different separator than semicolon by +setting <parameter>sep</parameter> parameter. There cann't be spaces +between separator and target names.</para> + +<para>You can also perform profiling based on several profiling +attributes in a single step as stylesheet can handle all parameters +simultaneously. For example to get hypothetical guide for Windows +beginners, you can run profiling like this:</para> + +<screen><command>saxon</command> <option>-o</option> xsample.xml sample.xml profile.xsl "os=win" "ul=beginner"</screen> + +<para>As you can see above described profiling process can be used to +substitute SGML marked sections mechanism which is missing in XML.</para> + +</section> + +<section> +<title>Conclusion</title> + +<para>Profiling is necessary in many larger DocBook applications. It +can be quite easily implemented by simple XSLT stylesheet which is +presented here. This mechanism can also be used to simulate behavior +of marked sections known from SGML.</para> + +</section> + +</article> +<!-- Keep this comment at the end of the file +Local variables: +mode: xml +sgml-shorttag:t +End: +--> diff --git a/lib/docbook/docbook-xsl/docsrc/warranty.xml b/lib/docbook/docbook-xsl/docsrc/warranty.xml new file mode 100644 index 000000000..534b8f90e --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/warranty.xml @@ -0,0 +1,14 @@ +<?xml version='1.0'?> +<!DOCTYPE legalnotice + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/xml/4.1.2/docbookx.dtd"> +<legalnotice><title>Warranty</title> +<para>THE SOFTWARE IS PROVIDED <quote>AS IS</quote>, +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.</para> +</legalnotice> diff --git a/lib/docbook/docbook-xsl/docsrc/xsl2jref.xsl b/lib/docbook/docbook-xsl/docsrc/xsl2jref.xsl new file mode 100644 index 000000000..e68c1e3be --- /dev/null +++ b/lib/docbook/docbook-xsl/docsrc/xsl2jref.xsl @@ -0,0 +1,352 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ xmlns:lxslt="http://xml.apache.org/xslt"
+ exclude-result-prefixes="doc xsl lxslt">
+
+<xsl:include href="../html/param.xsl"/>
+<xsl:include href="../html/chunker.xsl"/>
+
+<xsl:output
+ method="xml"
+ doctype-public="-//Norman Walsh//DTD JRefEntry V1.1//EN"
+ doctype-system="http://docbook.sourceforge.net/release/jrefentry/1.1/jrefentry.dtd"
+/>
+
+<xsl:preserve-space elements="xsl:variable"/>
+<xsl:strip-space elements="xsl:stylesheet"/>
+
+<!-- ********************************************************************
+ $Id: xsl2jref.xsl,v 1.1 2002/05/15 17:22:24 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:param name="output-file" select="''"/>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="lxslt:*">
+ <!-- nop -->
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="/">
+ <xsl:choose>
+ <xsl:when test="$output-file = ''">
+ <xsl:message terminate='yes'>
+ <xsl:text>You must set the output-file parameter!</xsl:text>
+ </xsl:message>
+ </xsl:when>
+ <xsl:when test="/xsl:stylesheet/doc:*">
+ <xsl:call-template name="write.chunk">
+ <xsl:with-param name="filename" select="$output-file"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="encoding" select="'utf-8'"/>
+ <xsl:with-param name="content">
+ <xsl:apply-templates/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- nop -->
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:variable name="block-element" select="name(.) = 'para'
+ or name(.) = 'sidebar'
+ or name(.) = 'variablelist'
+ or name(.) = 'itemizedlist'"/>
+ <xsl:if test="$block-element"><xsl:text> </xsl:text></xsl:if>
+ <xsl:element namespace="" name="{name(.)}">
+ <xsl:apply-templates select="@*" mode="copy-attr"/>
+ <xsl:apply-templates/>
+ </xsl:element>
+ <xsl:if test="$block-element"><xsl:text> </xsl:text></xsl:if>
+</xsl:template>
+
+<xsl:template match="@*" mode="copy-attr">
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+</xsl:template>
+
+<xsl:template match="xsl:*"></xsl:template>
+
+<xsl:template match="xsl:stylesheet">
+ <xsl:choose>
+ <xsl:when test="doc:reference">
+ <reference>
+ <xsl:apply-templates/>
+ </reference>
+ <xsl:text> </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="xsl:include">
+ <!-- nop -->
+<!--
+ <xsl:apply-templates select="document(@href)/*"/>
+-->
+</xsl:template>
+
+<xsl:template match="@*" mode="copy">
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text>="</xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>"</xsl:text>
+</xsl:template>
+
+<xsl:template match="*" mode="copy">
+ <xsl:variable name="content">
+ <xsl:apply-templates mode="copy"/>
+ </xsl:variable>
+
+ <xsl:text><</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:apply-templates select="@*" mode="copy"/>
+ <xsl:choose>
+ <xsl:when test="$content = ''">
+ <xsl:text>/</xsl:text>
+ <xsl:text>></xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>></xsl:text>
+ <xsl:copy-of select="$content"/>
+ <xsl:text></</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text>></xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="comment()" mode="copy">
+ <xsl:text><!--</xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>--></xsl:text>
+</xsl:template>
+
+<xsl:template match="processing-instruction()" mode="copy">
+ <xsl:text><?</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>?></xsl:text>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="doc:reference">
+ <!-- only process the children; doc:reference logically wraps the entire
+ stylesheet, even if it can't syntactically do so. -->
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="doc:variable">
+ <xsl:variable name="name" select="@name"/>
+
+ <xsl:text> </xsl:text>
+ <refentry id="var.{$name}">
+ <xsl:text> </xsl:text>
+ <refnamediv>
+ <xsl:text> </xsl:text>
+ <refname><xsl:value-of select="$name"/></refname>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="refpurpose"/>
+ <xsl:text> </xsl:text>
+ </refnamediv>
+ <xsl:text> </xsl:text>
+ <refsynopsisdiv>
+ <xsl:text> </xsl:text>
+ <synopsis>
+ <xsl:apply-templates select="../xsl:variable[@name=$name]"
+ mode="copy-template"/>
+ </synopsis>
+ <xsl:text> </xsl:text>
+ </refsynopsisdiv>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="*[name(.)!='refpurpose']"/>
+ </refentry>
+ <xsl:text> </xsl:text>
+</xsl:template>
+
+<xsl:template match="doc:param">
+ <xsl:variable name="name" select="@name"/>
+
+ <xsl:text> </xsl:text>
+ <refentry id="param.{$name}">
+ <xsl:text> </xsl:text>
+ <refnamediv>
+ <xsl:text> </xsl:text>
+ <refname><xsl:value-of select="$name"/></refname>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="refpurpose"/>
+ <xsl:text> </xsl:text>
+ </refnamediv>
+ <xsl:text> </xsl:text>
+ <refsynopsisdiv>
+ <xsl:text> </xsl:text>
+ <synopsis>
+ <xsl:apply-templates select="../xsl:param[@name=$name]"
+ mode="copy-template"/>
+ </synopsis>
+ <xsl:text> </xsl:text>
+ </refsynopsisdiv>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="*[name(.)!='refpurpose']"/>
+ </refentry>
+ <xsl:text> </xsl:text>
+</xsl:template>
+
+<xsl:template match="doc:template[@name]">
+ <xsl:variable name="name" select="@name"/>
+
+ <xsl:text> </xsl:text>
+ <refentry id="template.{$name}">
+ <xsl:text> </xsl:text>
+ <refnamediv>
+ <xsl:text> </xsl:text>
+ <refname><xsl:value-of select="$name"/></refname>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="refpurpose"/>
+ <xsl:text> </xsl:text>
+ </refnamediv>
+ <xsl:text> </xsl:text>
+ <refsynopsisdiv>
+ <xsl:text> </xsl:text>
+ <synopsis>
+ <xsl:apply-templates select="../xsl:template[@name=$name]"
+ mode="copy-template"/>
+ </synopsis>
+ <xsl:text> </xsl:text>
+ </refsynopsisdiv>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="*[name(.)!='refpurpose']"/>
+ </refentry>
+ <xsl:text> </xsl:text>
+</xsl:template>
+
+<xsl:template match="doc:template[@match]">
+ <xsl:variable name="match" select="@match"/>
+ <xsl:variable name="mode" select="@mode"/>
+
+ <xsl:text> </xsl:text>
+ <refentry>
+ <xsl:text> </xsl:text>
+ <refnamediv>
+ <xsl:text> </xsl:text>
+ <refname>
+ <xsl:value-of select="$match"/>
+ <xsl:if test="@mode">
+ <xsl:text> (in </xsl:text>
+ <xsl:value-of select="$mode"/>
+ <xsl:text> mode)</xsl:text>
+ </xsl:if>
+ </refname>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="refpurpose"/>
+ <xsl:text> </xsl:text>
+ </refnamediv>
+ <xsl:text> </xsl:text>
+ <refsynopsisdiv>
+ <xsl:text> </xsl:text>
+ <synopsis>
+ <xsl:choose>
+ <xsl:when test="@mode">
+ <xsl:apply-templates select="../xsl:template[@match=$match and @mode=$mode]"
+ mode="copy-template"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="../xsl:template[@match=$match]"
+ mode="copy-template"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </synopsis>
+ <xsl:text> </xsl:text>
+ </refsynopsisdiv>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="*[name(.)!='refpurpose']"/>
+ </refentry>
+ <xsl:text> </xsl:text>
+</xsl:template>
+
+<xsl:template match="doc:mode">
+ <xsl:variable name="name" select="@mode"/>
+
+ <refentry id="mode.{$name}">
+ <refnamediv>
+ <refname><xsl:value-of select="$name"/> mode</refname>
+ <xsl:apply-templates select="refpurpose"/>
+ </refnamediv>
+ <xsl:apply-templates select="*[name(.)!='refpurpose']"/>
+ </refentry>
+</xsl:template>
+
+<xsl:template match="doc:attribute-set">
+ <xsl:variable name="name" select="@name"/>
+
+ <refentry id="attrset.{$name}">
+ <refnamediv>
+ <refname><xsl:value-of select="$name"/> mode</refname>
+ <xsl:apply-templates select="refpurpose"/>
+ </refnamediv>
+ <xsl:apply-templates select="*[name(.)!='refpurpose']"/>
+ </refentry>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="*|text()|comment()|processing-instruction()"
+ mode="copy-template">
+ <!-- suppress -->
+</xsl:template>
+
+<xsl:template match="xsl:param" mode="copy-template">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="." mode="copy"/>
+</xsl:template>
+
+<xsl:template match="xsl:template" mode="copy-template">
+ <xsl:variable name="content">
+ <xsl:apply-templates mode="copy-template"/>
+ </xsl:variable>
+
+ <xsl:text><</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:apply-templates select="@*" mode="copy"/>
+ <xsl:choose>
+ <xsl:when test="$content = ''">
+ <xsl:text>/</xsl:text>
+ <xsl:text>></xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>></xsl:text>
+ <xsl:copy-of select="$content"/>
+ <xsl:text> </xsl:text>
+ <xsl:text> ...</xsl:text>
+ <xsl:text> </xsl:text>
+ <xsl:text></</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text>></xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/extensions/ChangeLog b/lib/docbook/docbook-xsl/extensions/ChangeLog new file mode 100644 index 000000000..53a35485c --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/ChangeLog @@ -0,0 +1,16 @@ +2001-07-16 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Produce correct 6.4.2/6.4.3 jar files
+
+2001-07-07 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Remove old versions of Saxon from Makefile; make sure jars are always up-to-date
+
+2001-05-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Makefile: Tweak Makefile for Saxon 6.3
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile, prj.el: New file.
+
diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/CVS.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/CVS.html new file mode 100644 index 000000000..cceca4883 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/CVS.html @@ -0,0 +1,241 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: Class CVS +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon/Callout.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon/Text.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="CVS.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon</FONT> +<BR> +Class CVS</H2> +<PRE> +java.lang.Object + | + +--<B>com.nwalsh.saxon.CVS</B> +</PRE> +<HR> +<DL> +<DT>public class <B>CVS</B><DT>extends java.lang.Object</DL> + +<P> +<p>Saxon extension to convert CVS date strings into local time</p> + + <p>$Id: CVS.html,v 1.1 2002/05/15 17:22:26 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + extension to turn the CVS date strings, which are UTC:</p> + + <pre>$Date: 2000/11/09 02:34:20 $</pre> + + <p>into legibly formatted local time:</p> + + <pre>Wed Nov 08 18:34:20 PST 2000</pre> + + <p>(I happened to be in California when I wrote this documentation.)</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/CVS.html#CVS()">CVS</A></B>()</CODE> + +<BR> + Constructor for CVS</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/CVS.html#localTime(java.lang.String)">localTime</A></B>(java.lang.String cvsDate)</CODE> + +<BR> + Convert a CVS date string into local time.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="CVS()"><!-- --></A><H3> +CVS</H3> +<PRE> +public <B>CVS</B>()</PRE> +<DL> +<DD><p>Constructor for CVS</p> + + <p>All of the methods are static, so the constructor does nothing.</p></DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="localTime(java.lang.String)"><!-- --></A><H3> +localTime</H3> +<PRE> +public static java.lang.String <B>localTime</B>(java.lang.String cvsDate)</PRE> +<DL> +<DD><p>Convert a CVS date string into local time.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>cvsDate</CODE> - The CVS date string.<DT><B>Returns:</B><DD>The date, converted to local time and reformatted.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon/Callout.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon/Text.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="CVS.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Callout.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Callout.html new file mode 100644 index 000000000..950598092 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Callout.html @@ -0,0 +1,328 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: Class Callout +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV CLASS + <A HREF="../../../com/nwalsh/saxon/CVS.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Callout.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon</FONT> +<BR> +Class Callout</H2> +<PRE> +java.lang.Object + | + +--<B>com.nwalsh.saxon.Callout</B> +</PRE> +<HR> +<DL> +<DT>public class <B>Callout</B><DT>extends java.lang.Object<DT>implements java.lang.Comparable</DL> + +<P> +<p>Utility class for the Verbatim extension (ignore this).</p> + + <p>$Id: Callout.html,v 1.1 2002/05/15 17:22:26 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class is just for book keeping in the Verbatim class. + It stores information about the location of callouts.</p> + + <p>Only line/column based callouts are supported. This class + implements the Comparable interface so that callouts can be sorted. + Callouts are sorted so that they occur in left-to-right, + top-to-bottom order based on line/column.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<DL> +<DT><B>See Also: </B><DD><A HREF="../../../com/nwalsh/saxon/Verbatim.html"><CODE>Verbatim</CODE></A></DL> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Callout.html#Callout(int, com.icl.saxon.om.ElementInfo, int, int)">Callout</A></B>(int callout, + com.icl.saxon.om.ElementInfo area, + int line, + int col)</CODE> + +<BR> + The constructor; initialize the private data structures.</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Callout.html#compareTo(java.lang.Object)">compareTo</A></B>(java.lang.Object o)</CODE> + +<BR> + The compareTo method compares this Callout with another.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> com.icl.saxon.om.ElementInfo</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Callout.html#getArea()">getArea</A></B>()</CODE> + +<BR> + Access the Callout's area.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Callout.html#getCallout()">getCallout</A></B>()</CODE> + +<BR> + Access the Callout's callout number.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Callout.html#getColumn()">getColumn</A></B>()</CODE> + +<BR> + Access the Callout's column.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Callout.html#getLine()">getLine</A></B>()</CODE> + +<BR> + Access the Callout's line.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="Callout(int, com.icl.saxon.om.ElementInfo, int, int)"><!-- --></A><H3> +Callout</H3> +<PRE> +public <B>Callout</B>(int callout, + com.icl.saxon.om.ElementInfo area, + int line, + int col)</PRE> +<DL> +<DD>The constructor; initialize the private data structures.</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="compareTo(java.lang.Object)"><!-- --></A><H3> +compareTo</H3> +<PRE> +public int <B>compareTo</B>(java.lang.Object o)</PRE> +<DL> +<DD><p>The compareTo method compares this Callout with another.</p> + + <p>Given two Callouts, A and B, A < B if:</p> + + <ol> + <li>A.line < B.line, or</li> + <li>A.line = B.line && A.col < B.col, or</li> + <li>A.line = B.line && A.col = B.col && A.callout < B.callout</li> + <li>Otherwise, they're equal.</li> + </ol><DD><DL> +<DT><B>Specified by: </B><DD>compareTo in interface java.lang.Comparable</DL> +</DD> +</DL> +<HR> + +<A NAME="getArea()"><!-- --></A><H3> +getArea</H3> +<PRE> +public com.icl.saxon.om.ElementInfo <B>getArea</B>()</PRE> +<DL> +<DD>Access the Callout's area.<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLine()"><!-- --></A><H3> +getLine</H3> +<PRE> +public int <B>getLine</B>()</PRE> +<DL> +<DD>Access the Callout's line.<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getColumn()"><!-- --></A><H3> +getColumn</H3> +<PRE> +public int <B>getColumn</B>()</PRE> +<DL> +<DD>Access the Callout's column.<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCallout()"><!-- --></A><H3> +getCallout</H3> +<PRE> +public int <B>getCallout</B>()</PRE> +<DL> +<DD>Access the Callout's callout number.<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV CLASS + <A HREF="../../../com/nwalsh/saxon/CVS.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Callout.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Driver.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Driver.html new file mode 100644 index 000000000..6f60d4c95 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Driver.html @@ -0,0 +1,164 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Nov 28 17:30:24 EST 2000 --> +<TITLE> +: Class Driver +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon/CVS.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon/Text.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Driver.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | METHOD</FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon</FONT> +<BR> +Class Driver</H2> +<PRE> +<B>com.nwalsh.saxon.Driver</B> +</PRE> +<HR> +<DL> +<DT>public class <B>Driver</B></DL> + +<P> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Driver.html#Driver()">Driver</A></B>()</CODE> + +<BR> + </TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="Driver()"><!-- --></A><H3> +Driver</H3> +<PRE> +public <B>Driver</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon/CVS.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon/Text.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Driver.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | METHOD</FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Text.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Text.html new file mode 100644 index 000000000..1960e8f9b --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Text.html @@ -0,0 +1,469 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: Class Text +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon/CVS.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon/TextFactory.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Text.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon</FONT> +<BR> +Class Text</H2> +<PRE> +java.lang.Object + | + +--com.icl.saxon.tree.NodeImpl + | + +--com.icl.saxon.tree.ParentNodeImpl + | + +--com.icl.saxon.tree.ElementImpl + | + +--com.icl.saxon.tree.ElementWithAttributes + | + +--com.icl.saxon.style.StyleElement + | + +--<B>com.nwalsh.saxon.Text</B> +</PRE> +<HR> +<DL> +<DT>public class <B>Text</B><DT>extends com.icl.saxon.style.StyleElement</DL> + +<P> +<p>Saxon extension element for inserting text + + <p>$Id: Text.html,v 1.1 2002/05/15 17:22:26 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + extension element for inserting text into a result tree.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Text.html#Text()">Text</A></B>()</CODE> + +<BR> + Constructor for Text</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Text.html#prepareAttributes()">prepareAttributes</A></B>()</CODE> + +<BR> + Validate the arguments</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Text.html#process(com.icl.saxon.Context)">process</A></B>(com.icl.saxon.Context context)</CODE> + +<BR> + Insert the text of the file into the result tree</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Text.html#validate()">validate</A></B>()</CODE> + +<BR> + Validate that the element occurs in a reasonable place.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.icl.saxon.style.StyleElement"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.icl.saxon.style.StyleElement</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>allowAttributes, +bindVariable, +checkEmpty, +checkNotTopLevel, +checkTopLevel, +checkWithinTemplate, +expandChildren, +forwardsCompatibleModeIsEnabled, +getPrecedence, +getStyleSheetFunction, +getVariableBinding, +getVariableNames, +getVersion, +isExcludedNamespace, +isExtensionNamespace, +isInstruction, +isTopLevel, +preprocess, +processAllAttributes, +processAttributes, +processChildren, +reportAbsence, +requiresXSLprefix, +substituteFor, +validateSubtree</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.icl.saxon.tree.ElementWithAttributes"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.icl.saxon.tree.ElementWithAttributes</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>addNamespaceNodes, +copy, +getAttribute, +getAttributeList, +getAttributeNode, +getAttributeNodeNS, +getAttributeNS, +getAttributes, +getAttributeValue, +getAttributeValue, +getLength, +getNamedItem, +getNamedItemNS, +getPrefixForURI, +getURIforPrefix, +hasAttribute, +hasAttributeNS, +hasAttributes, +initialise, +item, +makeAttributeNode, +outputNamespaceNodes, +removeAttribute, +removeAttributeNode, +removeAttributeNS, +removeNamedItem, +removeNamedItemNS, +setAttribute, +setAttributeNode, +setAttributeNodeNS, +setAttributeNS, +setNamedItem, +setNamedItemNS, +setNamespaceDeclarations</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.icl.saxon.tree.ElementImpl"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.icl.saxon.tree.ElementImpl</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>getElementsByTagName, +getElementsByTagNameNS, +getExpandedName, +getInheritedAttribute, +getLineNumber, +getNodeType, +getNodeValue, +getPath, +getPrefix, +getSystemId, +getTagName, +getURI, +isFirstChild, +isFirstInGroup, +isLastChild, +isLastInGroup, +makeName, +makePrefixTest, +setLineNumber</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.icl.saxon.tree.ParentNodeImpl"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.icl.saxon.tree.ParentNodeImpl</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>addChild, +compact, +copyStringValue, +defaultAction, +dropChildren, +getAllChildNodes, +getFirstChild, +getLastChild, +getNumberOfChildren, +getSequenceNumber, +getValue, +removeChild, +renumberChildren, +useChildrenArray</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.icl.saxon.tree.NodeImpl"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.icl.saxon.tree.NodeImpl</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>appendChild, +cloneNode, +getAbsoluteName, +getAncestor, +getAncestor, +getChildNodes, +getColumnNumber, +getDisplayName, +getDocumentElement, +getDocumentRoot, +getFirstChild, +getIndex, +getLastChild, +getLocalName, +getNamespaceURI, +getNextInDocument, +getNextSibling, +getNextSibling, +getNodeName, +getNodeTypeName, +getNumberAny, +getNumberMulti, +getNumberSimple, +getNumberSimple, +getNumberSingle, +getOwnerDocument, +getParentNode, +getPreviousInDocument, +getPreviousInDocument, +getPreviousSibling, +getPreviousSibling, +getPublicId, +getSequentialKey, +hasChildNodes, +hasName, +insertBefore, +isa, +isAncestor, +isDocumentElement, +isSameNode, +isSupported, +normalize, +removeChild, +removeNode, +replaceChild, +setNodeValue, +setPrefix, +supports, +toString</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="Text()"><!-- --></A><H3> +Text</H3> +<PRE> +public <B>Text</B>()</PRE> +<DL> +<DD><p>Constructor for Text</p> + + <p>Does nothing.</p></DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="prepareAttributes()"><!-- --></A><H3> +prepareAttributes</H3> +<PRE> +public void <B>prepareAttributes</B>() + throws org.xml.sax.SAXException</PRE> +<DL> +<DD><p>Validate the arguments</p> + + <p>The element must have an href attribute.</p><DD><DL> +<DT><B>Overrides:</B><DD>prepareAttributes in class com.icl.saxon.style.StyleElement</DL> +</DD> +</DL> +<HR> + +<A NAME="validate()"><!-- --></A><H3> +validate</H3> +<PRE> +public void <B>validate</B>() + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Validate that the element occurs in a reasonable place.<DD><DL> +<DT><B>Overrides:</B><DD>validate in class com.icl.saxon.style.StyleElement</DL> +</DD> +</DL> +<HR> + +<A NAME="process(com.icl.saxon.Context)"><!-- --></A><H3> +process</H3> +<PRE> +public void <B>process</B>(com.icl.saxon.Context context) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD><p>Insert the text of the file into the result tree</p> + + <p>Processing this element inserts the contents of the URL named + by the href attribute into the result tree as plain text.</p><DD><DL> +<DT><B>Overrides:</B><DD>process in class com.icl.saxon.style.StyleElement</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon/CVS.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon/TextFactory.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Text.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/TextFactory.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/TextFactory.html new file mode 100644 index 000000000..e64f02916 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/TextFactory.html @@ -0,0 +1,240 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: Class TextFactory +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon/Text.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon/Verbatim.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="TextFactory.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon</FONT> +<BR> +Class TextFactory</H2> +<PRE> +java.lang.Object + | + +--<B>com.nwalsh.saxon.TextFactory</B> +</PRE> +<HR> +<DL> +<DT>public class <B>TextFactory</B><DT>extends java.lang.Object<DT>implements com.icl.saxon.style.ExtensionElementFactory</DL> + +<P> +<p>Saxon extension element factory + + <p>$Id: TextFactory.html,v 1.1 2002/05/15 17:22:26 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + extension element factory for the Text extension element + family.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<DL> +<DT><B>See Also: </B><DD><A HREF="../../../com/nwalsh/saxon/Text.html"><CODE>Text</CODE></A></DL> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/TextFactory.html#TextFactory()">TextFactory</A></B>()</CODE> + +<BR> + Constructor for TextFactory</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> java.lang.Class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/TextFactory.html#getExtensionClass(java.lang.String)">getExtensionClass</A></B>(java.lang.String localname)</CODE> + +<BR> + Return the class that implements a particular extension element.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="TextFactory()"><!-- --></A><H3> +TextFactory</H3> +<PRE> +public <B>TextFactory</B>()</PRE> +<DL> +<DD><p>Constructor for TextFactory</p> + + <p>Does nothing.</p></DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="getExtensionClass(java.lang.String)"><!-- --></A><H3> +getExtensionClass</H3> +<PRE> +public java.lang.Class <B>getExtensionClass</B>(java.lang.String localname) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD><p>Return the class that implements a particular extension element.</p><DD><DL> +<DT><B>Specified by: </B><DD>getExtensionClass in interface com.icl.saxon.style.ExtensionElementFactory</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>localname</CODE> - The local name of the extension element.<DT><B>Returns:</B><DD>The class that handles that extension element.<DT><B>Throws:</B><DD>SAXException("Unknown - Text extension element")</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon/Text.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon/Verbatim.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="TextFactory.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Verbatim.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Verbatim.html new file mode 100644 index 000000000..4f1bda5d3 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/Verbatim.html @@ -0,0 +1,464 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: Class Verbatim +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon/TextFactory.html"><B>PREV CLASS</B></A> + NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Verbatim.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon</FONT> +<BR> +Class Verbatim</H2> +<PRE> +java.lang.Object + | + +--<B>com.nwalsh.saxon.Verbatim</B> +</PRE> +<HR> +<DL> +<DT>public class <B>Verbatim</B><DT>extends java.lang.Object</DL> + +<P> +<p>Saxon extensions supporting DocBook verbatim environments</p> + + <p>$Id: Verbatim.html,v 1.1 2002/05/15 17:22:26 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + implementation of two features that would be impractical to + implement directly in XSLT: line numbering and callouts.</p> + + <p><b>Line Numbering</b></p> + <p>The <tt>numberLines</tt> family of functions takes a result tree + fragment (assumed to contain the contents of a formatted verbatim + element in DocBook: programlisting, screen, address, literallayout, + or synopsis) and returns a result tree fragment decorated with + line numbers.</p> + + <p><b>Callouts</b></p> + <p>The <tt>insertCallouts</tt> family of functions takes an + <tt>areaspec</tt> and a result tree fragment + (assumed to contain the contents of a formatted verbatim + element in DocBook: programlisting, screen, address, literallayout, + or synopsis) and returns a result tree fragment decorated with + callouts.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Verbatim.html#Verbatim()">Verbatim</A></B>()</CODE> + +<BR> + Constructor for Verbatim</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static com.icl.saxon.expr.FragmentValue</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Verbatim.html#insertCallouts(com.icl.saxon.expr.NodeSetIntent, com.icl.saxon.expr.FragmentValue, int)">insertCallouts</A></B>(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet, + com.icl.saxon.expr.FragmentValue saxonRTF, + int defaultColumn)</CODE> + +<BR> + Insert text callouts into a verbatim environment.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static com.icl.saxon.expr.FragmentValue</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Verbatim.html#insertCallouts(com.icl.saxon.expr.NodeSetIntent, com.icl.saxon.expr.FragmentValue, int, java.lang.String, java.lang.String, int, boolean)">insertCallouts</A></B>(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet, + com.icl.saxon.expr.FragmentValue saxonRTF, + int defaultColumn, + java.lang.String gPath, + java.lang.String gExt, + int gMax, + boolean useFO)</CODE> + +<BR> + Insert graphical callouts into a verbatim environment.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static com.icl.saxon.expr.FragmentValue</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Verbatim.html#numberLines(com.icl.saxon.expr.FragmentValue)">numberLines</A></B>(com.icl.saxon.expr.FragmentValue saxonRTF)</CODE> + +<BR> + Number lines in a verbatim environment using default values for + modulus, width and separator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static com.icl.saxon.expr.FragmentValue</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Verbatim.html#numberLines(com.icl.saxon.expr.FragmentValue, int)">numberLines</A></B>(com.icl.saxon.expr.FragmentValue saxonRTF, + int saxonMod)</CODE> + +<BR> + Number lines in a verbatim environment using default values for + width and separator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static com.icl.saxon.expr.FragmentValue</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Verbatim.html#numberLines(com.icl.saxon.expr.FragmentValue, int, int)">numberLines</A></B>(com.icl.saxon.expr.FragmentValue saxonRTF, + int saxonMod, + int saxonWidth)</CODE> + +<BR> + Number lines in a verbatim environment using the default value + separator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static com.icl.saxon.expr.FragmentValue</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon/Verbatim.html#numberLines(com.icl.saxon.expr.FragmentValue, int, int, java.lang.String)">numberLines</A></B>(com.icl.saxon.expr.FragmentValue saxonRTF, + int saxonMod, + int saxonWidth, + java.lang.String saxonSep)</CODE> + +<BR> + Number lines in a verbatim environment.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="Verbatim()"><!-- --></A><H3> +Verbatim</H3> +<PRE> +public <B>Verbatim</B>()</PRE> +<DL> +<DD><p>Constructor for Verbatim</p> + + <p>All of the methods are static, so the constructor does nothing.</p></DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="numberLines(com.icl.saxon.expr.FragmentValue)"><!-- --></A><H3> +numberLines</H3> +<PRE> +public static com.icl.saxon.expr.FragmentValue <B>numberLines</B>(com.icl.saxon.expr.FragmentValue saxonRTF)</PRE> +<DL> +<DD><p>Number lines in a verbatim environment using default values for + modulus, width and separator.</p> + + <p>The default modulus is 1, the default width is 5, and the + default separator is a space.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>saxonRTF</CODE> - The result tree fragment of the verbatim environment.<DT><B>Returns:</B><DD>The modified result tree fragment.</DL> +</DD> +</DL> +<HR> + +<A NAME="numberLines(com.icl.saxon.expr.FragmentValue, int)"><!-- --></A><H3> +numberLines</H3> +<PRE> +public static com.icl.saxon.expr.FragmentValue <B>numberLines</B>(com.icl.saxon.expr.FragmentValue saxonRTF, + int saxonMod)</PRE> +<DL> +<DD><p>Number lines in a verbatim environment using default values for + width and separator.</p> + + <p>The default width is 5, and the + default separator is a space.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>saxonRTF</CODE> - The result tree fragment of the verbatim environment.<DD><CODE>saxonMod</CODE> - The modulus to use for line numbering.<DT><B>Returns:</B><DD>The modified result tree fragment.</DL> +</DD> +</DL> +<HR> + +<A NAME="numberLines(com.icl.saxon.expr.FragmentValue, int, int)"><!-- --></A><H3> +numberLines</H3> +<PRE> +public static com.icl.saxon.expr.FragmentValue <B>numberLines</B>(com.icl.saxon.expr.FragmentValue saxonRTF, + int saxonMod, + int saxonWidth)</PRE> +<DL> +<DD><p>Number lines in a verbatim environment using the default value + separator.</p> + + <p>The default separator is a space.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>saxonRTF</CODE> - The result tree fragment of the verbatim environment.<DD><CODE>saxonMod</CODE> - The modulus to use for line numbering.<DD><CODE>saxonWidth</CODE> - The width of line numbers.<DT><B>Returns:</B><DD>The modified result tree fragment.</DL> +</DD> +</DL> +<HR> + +<A NAME="numberLines(com.icl.saxon.expr.FragmentValue, int, int, java.lang.String)"><!-- --></A><H3> +numberLines</H3> +<PRE> +public static com.icl.saxon.expr.FragmentValue <B>numberLines</B>(com.icl.saxon.expr.FragmentValue saxonRTF, + int saxonMod, + int saxonWidth, + java.lang.String saxonSep)</PRE> +<DL> +<DD><p>Number lines in a verbatim environment.</p> + + <p>This method adds line numbers to a result tree fragment. Each + newline that occurs in a text node is assumed to start a new line. + The first line is always numbered, every subsequent saxonMod line + is numbered (so if saxonMod=5, lines 1, 5, 10, 15, etc. will be + numbered. If there are fewer than saxonMod lines in the environment, + every line is numbered.</p> + + <p>Every line number will be right justified in a string saxonWidth + characters long. If the line number of the last line in the + environment is too long to fit in the specified width, the width + is automatically increased to the smallest value that can hold the + number of the last line. (In other words, if you specify the value 2 + and attempt to enumerate the lines of an environment that is 100 lines + long, the value 3 will automatically be used for every line in the + environment.)</p> + + <p>The saxonSep string is inserted between the line + number and the original program listing. Lines that aren't numbered + are preceded by a saxonWidth blank string and the separator.</p> + + <p>If inline markup extends across line breaks, markup changes are + required. All the open elements are closed before the line break and + "reopened" afterwards. The reopened elements will have the same + attributes as the originals, except that 'name' and 'id' attributes + are not duplicated.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>saxonRTF</CODE> - The result tree fragment of the verbatim environment.<DD><CODE>saxonMod</CODE> - The modulus to use for line numbering.<DD><CODE>saxonWidth</CODE> - The width of line numbers.<DD><CODE>saxonSep</CODE> - The separator between line numbers and lines.<DT><B>Returns:</B><DD>The modified result tree fragment.</DL> +</DD> +</DL> +<HR> + +<A NAME="insertCallouts(com.icl.saxon.expr.NodeSetIntent, com.icl.saxon.expr.FragmentValue, int)"><!-- --></A><H3> +insertCallouts</H3> +<PRE> +public static com.icl.saxon.expr.FragmentValue <B>insertCallouts</B>(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet, + com.icl.saxon.expr.FragmentValue saxonRTF, + int defaultColumn)</PRE> +<DL> +<DD><p>Insert text callouts into a verbatim environment.</p> + + <p>This method examines the <tt>areaset</tt> and <tt>area</tt> elements + in the supplied <tt>areaspec</tt> and decorates the supplied + result tree fragment with appropriate callout markers.</p> + + <p>If a <tt>label</tt> attribute is supplied on an <tt>area</tt>, + its content will be used for the label, otherwise the callout + number will be used, surrounded by parenthesis. Callouts are + numbered in document order. All of the <tt>area</tt>s in an + <tt>areaset</tt> get the same number.</p> + + <p>Only the <tt>linecolumn</tt> and <tt>linerange</tt> units are + supported. If no unit is specifed, <tt>linecolumn</tt> is assumed. + If only a line is specified, the callout decoration appears in + the defaultColumn. Lines will be padded with blanks to reach the + necessary column, but callouts that are located beyond the last + line of the verbatim environment will be ignored.</p> + + <p>Callouts are inserted before the character at the line/column + where they are to occur.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>areaspecNodeSet</CODE> - The source node set that contains the areaspec.<DD><CODE>saxonRTF</CODE> - The result tree fragment of the verbatim environment.<DD><CODE>defaultColumn</CODE> - The column for callouts that specify only a line.<DT><B>Returns:</B><DD>The modified result tree fragment.</DL> +</DD> +</DL> +<HR> + +<A NAME="insertCallouts(com.icl.saxon.expr.NodeSetIntent, com.icl.saxon.expr.FragmentValue, int, java.lang.String, java.lang.String, int, boolean)"><!-- --></A><H3> +insertCallouts</H3> +<PRE> +public static com.icl.saxon.expr.FragmentValue <B>insertCallouts</B>(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet, + com.icl.saxon.expr.FragmentValue saxonRTF, + int defaultColumn, + java.lang.String gPath, + java.lang.String gExt, + int gMax, + boolean useFO)</PRE> +<DL> +<DD><p>Insert graphical callouts into a verbatim environment.</p> + + <p>This method examines the <tt>areaset</tt> and <tt>area</tt> elements + in the supplied <tt>areaspec</tt> and decorates the supplied + result tree fragment with appropriate callout markers.</p> + + <p>If a <tt>label</tt> attribute is supplied on an <tt>area</tt>, + its content will be used for the label, otherwise the callout + number will be used. Callouts are + numbered in document order. All of the <tt>area</tt>s in an + <tt>areaset</tt> get the same number.</p> + + <p>If the callout number is not greater than <tt>gMax</tt>, the + callout generated will be:</p> + + <pre> + <img src="$gPath/conumber$gExt" alt="conumber"> + </pre> + + <p>Otherwise, it will be the callout number surrounded by + parenthesis.</p> + + <p>Only the <tt>linecolumn</tt> and <tt>linerange</tt> units are + supported. If no unit is specifed, <tt>linecolumn</tt> is assumed. + If only a line is specified, the callout decoration appears in + the defaultColumn. Lines will be padded with blanks to reach the + necessary column, but callouts that are located beyond the last + line of the verbatim environment will be ignored.</p> + + <p>Callouts are inserted before the character at the line/column + where they are to occur.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>areaspecNodeSet</CODE> - The source node set that contains the areaspec.<DD><CODE>saxonRTF</CODE> - The result tree fragment of the verbatim environment.<DD><CODE>defaultColumn</CODE> - The column for callouts that specify only a line.<DD><CODE>gPath</CODE> - The path to use for callout graphics.<DD><CODE>gExt</CODE> - The extension to use for callout graphics.<DD><CODE>gMax</CODE> - The largest number that can be represented as a graphic.<DD><CODE>useFO</CODE> - Should fo:external-graphics be produced, as opposed to + HTML imgs. This is bogus, the extension should figure it out, but I + haven't figured out how to do that yet.<DT><B>Returns:</B><DD>The modified result tree fragment.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon/TextFactory.html"><B>PREV CLASS</B></A> + NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Verbatim.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-frame.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-frame.html new file mode 100644 index 000000000..d8f63b5aa --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-frame.html @@ -0,0 +1,34 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: Package com.nwalsh.saxon +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../com/nwalsh/saxon/package-summary.html" TARGET="classFrame">com.nwalsh.saxon</A></FONT> +<TABLE BORDER="0" WIDTH="100%"> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT> +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="Callout.html" TARGET="classFrame">Callout</A> +<BR> +<A HREF="CVS.html" TARGET="classFrame">CVS</A> +<BR> +<A HREF="Text.html" TARGET="classFrame">Text</A> +<BR> +<A HREF="TextFactory.html" TARGET="classFrame">TextFactory</A> +<BR> +<A HREF="Verbatim.html" TARGET="classFrame">Verbatim</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-summary.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-summary.html new file mode 100644 index 000000000..d9eb24604 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-summary.html @@ -0,0 +1,176 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: Package com.nwalsh.saxon +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV PACKAGE + NEXT PACKAGE</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="package-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<H2> +Package com.nwalsh.saxon +</H2> +Norman Walsh's Saxon Extensions Package for Saxon 5.* +<P> +<B>See: </B> +<BR> + <A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="Callout.html">Callout</A></B></TD> +<TD>Utility class for the Verbatim extension (ignore this).</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="CVS.html">CVS</A></B></TD> +<TD>Saxon extension to convert CVS date strings into local time</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="Text.html">Text</A></B></TD> +<TD>Saxon extension element for inserting text + + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="TextFactory.html">TextFactory</A></B></TD> +<TD>Saxon extension element factory + + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="Verbatim.html">Verbatim</A></B></TD> +<TD>Saxon extensions supporting DocBook verbatim environments</TD> +</TR> +</TABLE> + + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package com.nwalsh.saxon Description +</H2> + +<P> +<p>Norman Walsh's Saxon Extensions Package for Saxon 5.*</p> + +<p>This package implements Saxon extensions for XSLT. Future development +of this package will be limited to bug fixes only. The Saxon 6.0 Extension +Package is a practically complete, and much cleaner, reimplementation.</p> + +<p><b>Copyright (C) 2000 Norman Walsh</b></p> +<p>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:</p> + +<p>The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software.</p> + +<p>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.</p> + +<p>Anything 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.</p> +</blockquote> + +<blockquote> +<p><b>Warranty</b></p> +<p>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.</p> +</blockquote> +<P> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV PACKAGE + NEXT PACKAGE</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="package-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-tree.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-tree.html new file mode 100644 index 000000000..ea5286efd --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-tree.html @@ -0,0 +1,113 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: com.nwalsh.saxon Class Hierarchy +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="package-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package com.nwalsh.saxon +</H2> +</CENTER> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">class java.lang.Object<UL> +<LI TYPE="circle">class com.nwalsh.saxon.<A HREF="../../../com/nwalsh/saxon/Callout.html"><B>Callout</B></A> (implements java.lang.Comparable) +<LI TYPE="circle">class com.nwalsh.saxon.<A HREF="../../../com/nwalsh/saxon/CVS.html"><B>CVS</B></A><LI TYPE="circle">class com.icl.saxon.tree.NodeImpl (implements com.icl.saxon.om.NodeInfo) +<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ParentNodeImpl<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ElementImpl (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ElementWithAttributes (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +<UL> +<LI TYPE="circle">class com.icl.saxon.style.StyleElement (implements org.xml.sax.Locator, com.icl.saxon.expr.StaticContext) +<UL> +<LI TYPE="circle">class com.nwalsh.saxon.<A HREF="../../../com/nwalsh/saxon/Text.html"><B>Text</B></A></UL> +</UL> +</UL> +</UL> +</UL> +<LI TYPE="circle">class com.nwalsh.saxon.<A HREF="../../../com/nwalsh/saxon/TextFactory.html"><B>TextFactory</B></A> (implements com.icl.saxon.style.ExtensionElementFactory) +<LI TYPE="circle">class com.nwalsh.saxon.<A HREF="../../../com/nwalsh/saxon/Verbatim.html"><B>Verbatim</B></A></UL> +</UL> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="package-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/deprecated-list.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/deprecated-list.html new file mode 100644 index 000000000..c2855cd0b --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/deprecated-list.html @@ -0,0 +1,89 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: Deprecated List +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="deprecated-list.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<CENTER> +<H2> +<B>Deprecated API</B></H2> +</CENTER> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="deprecated-list.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/help-doc.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/help-doc.html new file mode 100644 index 000000000..37d3b6b4c --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/help-doc.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: API Help +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<CENTER> +<H1> +How This API Document Is Organized</H1> +</CENTER> +This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3> +Package</H3> +<BLOCKQUOTE> + +<P> +Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL> +<LI>Interfaces (italic)<LI>Classes<LI>Exceptions<LI>Errors</UL> +</BLOCKQUOTE> +<H3> +Class/Interface</H3> +<BLOCKQUOTE> + +<P> +Each class, interface, inner class and inner interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL> +<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description +<P> +<LI>Inner Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary +<P> +<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL> +Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE> +<H3> +Tree (Class Hierarchy)</H3> +<BLOCKQUOTE> +There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL> +<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL> +</BLOCKQUOTE> +<H3> +Deprecated API</H3> +<BLOCKQUOTE> +The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE> +<H3> +Index</H3> +<BLOCKQUOTE> +The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE> +<H3> +Prev/Next</H3> +These links take you to the next or previous class, interface, package, or related page.<H3> +Frames/No Frames</H3> +These links show and hide the HTML frames. All pages are available with or without frames. +<P> +<H3> +Serialized Form</H3> +Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +<P> +<FONT SIZE="-1"> +<EM> +This help file applies to API documentation generated using the standard doclet. </EM> +</FONT> +<BR> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/index-all.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/index-all.html new file mode 100644 index 000000000..a6c6f9026 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/index-all.html @@ -0,0 +1,194 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +: Index +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<A HREF="#_C_">C</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_L_">L</A> <A HREF="#_N_">N</A> <A HREF="#_P_">P</A> <A HREF="#_T_">T</A> <A HREF="#_V_">V</A> <HR> +<A NAME="_C_"><!-- --></A><H2> +<B>C</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon/Callout.html"><B>Callout</B></A> - class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Callout.html">Callout</A>.<DD>Utility class for the Verbatim extension (ignore this).<DT><A HREF="com/nwalsh/saxon/Callout.html#Callout(int, com.icl.saxon.om.ElementInfo, int, int)"><B>Callout(int, ElementInfo, int, int)</B></A> - +Constructor for class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Callout.html">Callout</A> +<DD>The constructor; initialize the private data structures. +<DT><A HREF="com/nwalsh/saxon/package-summary.html"><B>com.nwalsh.saxon</B></A> - package com.nwalsh.saxon<DD>Norman Walsh's Saxon Extensions Package for Saxon 5.*<DT><A HREF="com/nwalsh/saxon/Callout.html#compareTo(java.lang.Object)"><B>compareTo(Object)</B></A> - +Method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Callout.html">Callout</A> +<DD>The compareTo method compares this Callout with another. +<DT><A HREF="com/nwalsh/saxon/CVS.html"><B>CVS</B></A> - class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/CVS.html">CVS</A>.<DD>Saxon extension to convert CVS date strings into local time<DT><A HREF="com/nwalsh/saxon/CVS.html#CVS()"><B>CVS()</B></A> - +Constructor for class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/CVS.html">CVS</A> +<DD>Constructor for CVS +</DL> +<HR> +<A NAME="_G_"><!-- --></A><H2> +<B>G</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon/Callout.html#getArea()"><B>getArea()</B></A> - +Method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Callout.html">Callout</A> +<DD>Access the Callout's area. +<DT><A HREF="com/nwalsh/saxon/Callout.html#getCallout()"><B>getCallout()</B></A> - +Method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Callout.html">Callout</A> +<DD>Access the Callout's callout number. +<DT><A HREF="com/nwalsh/saxon/Callout.html#getColumn()"><B>getColumn()</B></A> - +Method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Callout.html">Callout</A> +<DD>Access the Callout's column. +<DT><A HREF="com/nwalsh/saxon/TextFactory.html#getExtensionClass(java.lang.String)"><B>getExtensionClass(String)</B></A> - +Method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/TextFactory.html">TextFactory</A> +<DD>Return the class that implements a particular extension element. +<DT><A HREF="com/nwalsh/saxon/Callout.html#getLine()"><B>getLine()</B></A> - +Method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Callout.html">Callout</A> +<DD>Access the Callout's line. +</DL> +<HR> +<A NAME="_I_"><!-- --></A><H2> +<B>I</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon/Verbatim.html#insertCallouts(com.icl.saxon.expr.NodeSetIntent, com.icl.saxon.expr.FragmentValue, int)"><B>insertCallouts(NodeSetIntent, FragmentValue, int)</B></A> - +Static method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Verbatim.html">Verbatim</A> +<DD>Insert text callouts into a verbatim environment. +<DT><A HREF="com/nwalsh/saxon/Verbatim.html#insertCallouts(com.icl.saxon.expr.NodeSetIntent, com.icl.saxon.expr.FragmentValue, int, java.lang.String, java.lang.String, int, boolean)"><B>insertCallouts(NodeSetIntent, FragmentValue, int, String, String, int, boolean)</B></A> - +Static method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Verbatim.html">Verbatim</A> +<DD>Insert graphical callouts into a verbatim environment. +</DL> +<HR> +<A NAME="_L_"><!-- --></A><H2> +<B>L</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon/CVS.html#localTime(java.lang.String)"><B>localTime(String)</B></A> - +Static method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/CVS.html">CVS</A> +<DD>Convert a CVS date string into local time. +</DL> +<HR> +<A NAME="_N_"><!-- --></A><H2> +<B>N</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon/Verbatim.html#numberLines(com.icl.saxon.expr.FragmentValue)"><B>numberLines(FragmentValue)</B></A> - +Static method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Verbatim.html">Verbatim</A> +<DD>Number lines in a verbatim environment using default values for + modulus, width and separator. +<DT><A HREF="com/nwalsh/saxon/Verbatim.html#numberLines(com.icl.saxon.expr.FragmentValue, int)"><B>numberLines(FragmentValue, int)</B></A> - +Static method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Verbatim.html">Verbatim</A> +<DD>Number lines in a verbatim environment using default values for + width and separator. +<DT><A HREF="com/nwalsh/saxon/Verbatim.html#numberLines(com.icl.saxon.expr.FragmentValue, int, int)"><B>numberLines(FragmentValue, int, int)</B></A> - +Static method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Verbatim.html">Verbatim</A> +<DD>Number lines in a verbatim environment using the default value + separator. +<DT><A HREF="com/nwalsh/saxon/Verbatim.html#numberLines(com.icl.saxon.expr.FragmentValue, int, int, java.lang.String)"><B>numberLines(FragmentValue, int, int, String)</B></A> - +Static method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Verbatim.html">Verbatim</A> +<DD>Number lines in a verbatim environment. +</DL> +<HR> +<A NAME="_P_"><!-- --></A><H2> +<B>P</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon/Text.html#prepareAttributes()"><B>prepareAttributes()</B></A> - +Method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Text.html">Text</A> +<DD>Validate the arguments +<DT><A HREF="com/nwalsh/saxon/Text.html#process(com.icl.saxon.Context)"><B>process(Context)</B></A> - +Method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Text.html">Text</A> +<DD>Insert the text of the file into the result tree +</DL> +<HR> +<A NAME="_T_"><!-- --></A><H2> +<B>T</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon/Text.html"><B>Text</B></A> - class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Text.html">Text</A>.<DD>Saxon extension element for inserting text + + <DT><A HREF="com/nwalsh/saxon/Text.html#Text()"><B>Text()</B></A> - +Constructor for class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Text.html">Text</A> +<DD>Constructor for Text +<DT><A HREF="com/nwalsh/saxon/TextFactory.html"><B>TextFactory</B></A> - class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/TextFactory.html">TextFactory</A>.<DD>Saxon extension element factory + + <DT><A HREF="com/nwalsh/saxon/TextFactory.html#TextFactory()"><B>TextFactory()</B></A> - +Constructor for class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/TextFactory.html">TextFactory</A> +<DD>Constructor for TextFactory +</DL> +<HR> +<A NAME="_V_"><!-- --></A><H2> +<B>V</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon/Text.html#validate()"><B>validate()</B></A> - +Method in class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Text.html">Text</A> +<DD>Validate that the element occurs in a reasonable place. +<DT><A HREF="com/nwalsh/saxon/Verbatim.html"><B>Verbatim</B></A> - class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Verbatim.html">Verbatim</A>.<DD>Saxon extensions supporting DocBook verbatim environments<DT><A HREF="com/nwalsh/saxon/Verbatim.html#Verbatim()"><B>Verbatim()</B></A> - +Constructor for class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Verbatim.html">Verbatim</A> +<DD>Constructor for Verbatim +</DL> +<HR> +<A HREF="#_C_">C</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_L_">L</A> <A HREF="#_N_">N</A> <A HREF="#_P_">P</A> <A HREF="#_T_">T</A> <A HREF="#_V_">V</A> +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/index.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/index.html new file mode 100644 index 000000000..c04435fd4 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/index.html @@ -0,0 +1,22 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000--> +<TITLE> +Generated Documentation (Untitled) +</TITLE> +</HEAD> +<FRAMESET cols="20%,80%"> +<FRAME src="allclasses-frame.html" name="packageFrame"> +<FRAME src="com/nwalsh/saxon/package-summary.html" name="classFrame"> +</FRAMESET> +<NOFRAMES> +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to <A HREF="com/nwalsh/saxon/package-summary.html">Non-frame version.</A></NOFRAMES> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/overview-tree.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/overview-tree.html new file mode 100644 index 000000000..78c8b2b14 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/overview-tree.html @@ -0,0 +1,115 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:29 EST 2000 --> +<TITLE> +: Class Hierarchy +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="overview-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<CENTER> +<H2> +Hierarchy For All Packages</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies: </B><DD><A HREF="com/nwalsh/saxon/package-tree.html">com.nwalsh.saxon</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">class java.lang.Object<UL> +<LI TYPE="circle">class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Callout.html"><B>Callout</B></A> (implements java.lang.Comparable) +<LI TYPE="circle">class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/CVS.html"><B>CVS</B></A><LI TYPE="circle">class com.icl.saxon.tree.NodeImpl (implements com.icl.saxon.om.NodeInfo) +<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ParentNodeImpl<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ElementImpl (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ElementWithAttributes (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +<UL> +<LI TYPE="circle">class com.icl.saxon.style.StyleElement (implements org.xml.sax.Locator, com.icl.saxon.expr.StaticContext) +<UL> +<LI TYPE="circle">class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Text.html"><B>Text</B></A></UL> +</UL> +</UL> +</UL> +</UL> +<LI TYPE="circle">class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/TextFactory.html"><B>TextFactory</B></A> (implements com.icl.saxon.style.ExtensionElementFactory) +<LI TYPE="circle">class com.nwalsh.saxon.<A HREF="com/nwalsh/saxon/Verbatim.html"><B>Verbatim</B></A></UL> +</UL> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="overview-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/package-list b/lib/docbook/docbook-xsl/extensions/doc/saxon5/package-list new file mode 100644 index 000000000..b90355d83 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/package-list @@ -0,0 +1 @@ +com.nwalsh.saxon
diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/packages.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/packages.html new file mode 100644 index 000000000..9c6ea39de --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/packages.html @@ -0,0 +1,26 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> + +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<BR> + +<BR> + +<BR> +<CENTER> +The front page has been relocated.Please see: +<BR> + <A HREF="index.html">Frame version</A> +<BR> + <A HREF="com/nwalsh/saxon/package-summary.html">Non-frame version.</A></CENTER> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/serialized-form.html b/lib/docbook/docbook-xsl/extensions/doc/saxon5/serialized-form.html new file mode 100644 index 000000000..0319f201f --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/serialized-form.html @@ -0,0 +1,89 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:30 EST 2000 --> +<TITLE> +Serialized Form +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="serialized-form.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<CENTER> +<H1> +Serialized Form</H1> +</CENTER> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="serialized-form.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon5/stylesheet.css b/lib/docbook/docbook-xsl/extensions/doc/saxon5/stylesheet.css new file mode 100644 index 000000000..07dc9eaf3 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon5/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Table colors */
+.TableHeadingColor { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */
+.TableRowColor { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont { font-size: normal; font-family: normal }
+.FrameHeadingFont { font-size: normal; font-family: normal }
+.FrameItemFont { font-size: normal; font-family: normal }
+
+/* Example of smaller, sans-serif font in frames */
+/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
+
+/* Navigation bar fonts and colors */
+.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
+.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+
diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CVS.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CVS.html new file mode 100644 index 000000000..2b93c7bde --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CVS.html @@ -0,0 +1,241 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: Class CVS +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="CVS.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon6</FONT> +<BR> +Class CVS</H2> +<PRE> +java.lang.Object + | + +--<B>com.nwalsh.saxon6.CVS</B> +</PRE> +<HR> +<DL> +<DT>public class <B>CVS</B><DT>extends java.lang.Object</DL> + +<P> +<p>Saxon extension to convert CVS date strings into local time</p> + + <p>$Id: CVS.html,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + extension to turn the CVS date strings, which are UTC:</p> + + <pre>$Date: 2000/11/09 02:34:20 $</pre> + + <p>into legibly formatted local time:</p> + + <pre>Wed Nov 08 18:34:20 PST 2000</pre> + + <p>(I happened to be in California when I wrote this documentation.)</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CVS.html#CVS()">CVS</A></B>()</CODE> + +<BR> + Constructor for CVS</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CVS.html#localTime(java.lang.String)">localTime</A></B>(java.lang.String cvsDate)</CODE> + +<BR> + Convert a CVS date string into local time.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="CVS()"><!-- --></A><H3> +CVS</H3> +<PRE> +public <B>CVS</B>()</PRE> +<DL> +<DD><p>Constructor for CVS</p> + + <p>All of the methods are static, so the constructor does nothing.</p></DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="localTime(java.lang.String)"><!-- --></A><H3> +localTime</H3> +<PRE> +public static java.lang.String <B>localTime</B>(java.lang.String cvsDate)</PRE> +<DL> +<DD><p>Convert a CVS date string into local time.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>cvsDate</CODE> - The CVS date string.<DT><B>Returns:</B><DD>The date, converted to local time and reformatted.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="CVS.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CalloutEmitter.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CalloutEmitter.html new file mode 100644 index 000000000..02253e0ba --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CalloutEmitter.html @@ -0,0 +1,355 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: Class CalloutEmitter +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV CLASS + <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="CalloutEmitter.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon6</FONT> +<BR> +Class CalloutEmitter</H2> +<PRE> +java.lang.Object + | + +--<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">com.nwalsh.saxon6.CopyEmitter</A> + | + +--<B>com.nwalsh.saxon6.CalloutEmitter</B> +</PRE> +<HR> +<DL> +<DT>public class <B>CalloutEmitter</B><DT>extends <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A></DL> + +<P> +<p>Saxon extension to decorate a result tree fragment with callouts.</p> + + <p>$Id: CalloutEmitter.html,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides the guts of a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + implementation of callouts for verbatim environments. (It is used + by the Verbatim class.)</p> + + <p>The general design is this: the stylesheets construct a result tree + fragment for some verbatim environment. The Verbatim class initializes + a CalloutEmitter with information about the callouts that should be applied + to the verbatim environment in question. Then the result tree fragment + is "replayed" through the CalloutEmitter; the CalloutEmitter builds a + new result tree fragment from this event stream, decorated with callouts, + and that is returned.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<DL> +<DT><B>See Also: </B><DD><A HREF="../../../com/nwalsh/saxon6/Verbatim.html"><CODE>Verbatim</CODE></A></DL> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CalloutEmitter.html#CalloutEmitter(com.icl.saxon.om.NamePool, java.lang.String, java.lang.String, int, int, boolean)">CalloutEmitter</A></B>(com.icl.saxon.om.NamePool namePool, + java.lang.String graphicsPath, + java.lang.String graphicsExt, + int graphicsMax, + int defaultColumn, + boolean foStylesheet)</CODE> + +<BR> + Constructor for the CalloutEmitter.</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CalloutEmitter.html#characters(char[], int, int)">characters</A></B>(char[] chars, + int start, + int len)</CODE> + +<BR> + Process characters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CalloutEmitter.html#endElement(int)">endElement</A></B>(int nameCode)</CODE> + +<BR> + Process end element events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CalloutEmitter.html#setupCallouts(com.icl.saxon.expr.NodeSetIntent)">setupCallouts</A></B>(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet)</CODE> + +<BR> + Examine the areaspec and determine the number and position of + callouts.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CalloutEmitter.html#startElement(int, org.xml.sax.Attributes, int[], int)">startElement</A></B>(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount)</CODE> + +<BR> + Process start element events.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.nwalsh.saxon6.CopyEmitter"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A></B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#comment(char[], int, int)">comment</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#endDocument()">endDocument</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#getResultTreeFragment()">getResultTreeFragment</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#processingInstruction(java.lang.String, java.lang.String)">processingInstruction</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setCharacterSet(com.icl.saxon.output.CharacterSet)">setCharacterSet</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setDocumentLocator(org.xml.sax.Locator)">setDocumentLocator</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setEscaping(boolean)">setEscaping</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setNamePool(com.icl.saxon.om.NamePool)">setNamePool</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setOutputDetails(com.icl.saxon.output.OutputDetails)">setOutputDetails</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setUnparsedEntity(java.lang.String, java.lang.String)">setUnparsedEntity</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setWriter(java.io.Writer)">setWriter</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#startDocument()">startDocument</A></CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="CalloutEmitter(com.icl.saxon.om.NamePool, java.lang.String, java.lang.String, int, int, boolean)"><!-- --></A><H3> +CalloutEmitter</H3> +<PRE> +public <B>CalloutEmitter</B>(com.icl.saxon.om.NamePool namePool, + java.lang.String graphicsPath, + java.lang.String graphicsExt, + int graphicsMax, + int defaultColumn, + boolean foStylesheet)</PRE> +<DL> +<DD><p>Constructor for the CalloutEmitter.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>namePool</CODE> - The name pool to use for constructing elements and attributes.<DD><CODE>graphicsPath</CODE> - The path to callout number graphics.<DD><CODE>graphicsExt</CODE> - The extension for callout number graphics.<DD><CODE>graphicsMax</CODE> - The largest callout number that can be represented as a graphic.<DD><CODE>defaultColumn</CODE> - The default column for callouts.<DD><CODE>foStylesheet</CODE> - Is this an FO stylesheet?</DL> +</DD> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="setupCallouts(com.icl.saxon.expr.NodeSetIntent)"><!-- --></A><H3> +setupCallouts</H3> +<PRE> +public void <B>setupCallouts</B>(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet)</PRE> +<DL> +<DD><p>Examine the areaspec and determine the number and position of + callouts.</p> + + <p>The <code><a href="http://docbook.org/tdg/html/areaspec.html">areaspecNodeSet</a></code> + is examined and a sorted list of the callouts is constructed.</p> + + <p>This data structure is used to augment the result tree fragment + with callout bullets.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>areaspecNodeSet</CODE> - The source document <areaspec> element.</DL> +</DD> +</DL> +<HR> + +<A NAME="characters(char[], int, int)"><!-- --></A><H3> +characters</H3> +<PRE> +public void <B>characters</B>(char[] chars, + int start, + int len) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Process characters.<DD><DL> +<DT><B>Overrides:</B><DD><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#characters(char[], int, int)">characters</A> in class <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A></DL> +</DD> +</DL> +<HR> + +<A NAME="endElement(int)"><!-- --></A><H3> +endElement</H3> +<PRE> +public void <B>endElement</B>(int nameCode) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Process end element events.<DD><DL> +<DT><B>Overrides:</B><DD><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#endElement(int)">endElement</A> in class <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A></DL> +</DD> +</DL> +<HR> + +<A NAME="startElement(int, org.xml.sax.Attributes, int[], int)"><!-- --></A><H3> +startElement</H3> +<PRE> +public void <B>startElement</B>(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Process start element events.<DD><DL> +<DT><B>Overrides:</B><DD><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#startElement(int, org.xml.sax.Attributes, int[], int)">startElement</A> in class <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV CLASS + <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="CalloutEmitter.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CopyEmitter.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CopyEmitter.html new file mode 100644 index 000000000..3dc56a112 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CopyEmitter.html @@ -0,0 +1,543 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: Class CopyEmitter +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/CalloutEmitter.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/CVS.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="CopyEmitter.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon6</FONT> +<BR> +Class CopyEmitter</H2> +<PRE> +java.lang.Object + | + +--<B>com.nwalsh.saxon6.CopyEmitter</B> +</PRE> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../com/nwalsh/saxon6/CalloutEmitter.html">CalloutEmitter</A>, <A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html">NumberLinesEmitter</A></DD> +</DL> +<HR> +<DL> +<DT>public class <B>CopyEmitter</B><DT>extends java.lang.Object<DT>implements com.icl.saxon.output.Emitter</DL> + +<P> +<p>A Saxon 6.0 Emitter that clones its input.</p> + + <p>$Id: CopyEmitter.html,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + implementation of an emitter that manufactures a cloned result + tree fragment.</p> + + <p>The purpose of this emitter is to provide something for + CalloutEmitter and NumberLinesEmitter to extend. + This emitter simply copies all input to a new result tree fragment.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<DL> +<DT><B>See Also: </B><DD><A HREF="../../../com/nwalsh/saxon6/CalloutEmitter.html"><CODE>CalloutEmitter</CODE></A>, +<A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html"><CODE>NumberLinesEmitter</CODE></A></DL> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#CopyEmitter(com.icl.saxon.om.NamePool)">CopyEmitter</A></B>(com.icl.saxon.om.NamePool namePool)</CODE> + +<BR> + Constructor for the CopyEmitter.</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#characters(char[], int, int)">characters</A></B>(char[] chars, + int start, + int len)</CODE> + +<BR> + Copy characters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#comment(char[], int, int)">comment</A></B>(char[] chars, + int start, + int length)</CODE> + +<BR> + Copy comments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#endDocument()">endDocument</A></B>()</CODE> + +<BR> + Copy end document events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#endElement(int)">endElement</A></B>(int nameCode)</CODE> + +<BR> + Copy end element events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> com.icl.saxon.expr.FragmentValue</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#getResultTreeFragment()">getResultTreeFragment</A></B>()</CODE> + +<BR> + Return the result tree fragment constructed by replaying events + through this emitter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#processingInstruction(java.lang.String, java.lang.String)">processingInstruction</A></B>(java.lang.String name, + java.lang.String data)</CODE> + +<BR> + Copy processing instructions.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setCharacterSet(com.icl.saxon.output.CharacterSet)">setCharacterSet</A></B>(com.icl.saxon.output.CharacterSet charset)</CODE> + +<BR> + Copy set character set events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setDocumentLocator(org.xml.sax.Locator)">setDocumentLocator</A></B>(org.xml.sax.Locator locator)</CODE> + +<BR> + Copy set document locator events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setEscaping(boolean)">setEscaping</A></B>(boolean escaping)</CODE> + +<BR> + Copy set escaping events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setNamePool(com.icl.saxon.om.NamePool)">setNamePool</A></B>(com.icl.saxon.om.NamePool namePool)</CODE> + +<BR> + Copy set name pool events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setOutputDetails(com.icl.saxon.output.OutputDetails)">setOutputDetails</A></B>(com.icl.saxon.output.OutputDetails details)</CODE> + +<BR> + Copy set output details events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setUnparsedEntity(java.lang.String, java.lang.String)">setUnparsedEntity</A></B>(java.lang.String name, + java.lang.String uri)</CODE> + +<BR> + Copy set unparsed entity events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setWriter(java.io.Writer)">setWriter</A></B>(java.io.Writer writer)</CODE> + +<BR> + Copy set writer events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#startDocument()">startDocument</A></B>()</CODE> + +<BR> + Copy start document events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#startElement(int, org.xml.sax.Attributes, int[], int)">startElement</A></B>(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount)</CODE> + +<BR> + Copy start element events.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="CopyEmitter(com.icl.saxon.om.NamePool)"><!-- --></A><H3> +CopyEmitter</H3> +<PRE> +public <B>CopyEmitter</B>(com.icl.saxon.om.NamePool namePool)</PRE> +<DL> +<DD><p>Constructor for the CopyEmitter.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>namePool</CODE> - The name pool to use for constructing elements and attributes.</DL> +</DD> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="getResultTreeFragment()"><!-- --></A><H3> +getResultTreeFragment</H3> +<PRE> +public com.icl.saxon.expr.FragmentValue <B>getResultTreeFragment</B>()</PRE> +<DL> +<DD><p>Return the result tree fragment constructed by replaying events + through this emitter.</p><DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="characters(char[], int, int)"><!-- --></A><H3> +characters</H3> +<PRE> +public void <B>characters</B>(char[] chars, + int start, + int len) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy characters.<DD><DL> +<DT><B>Specified by: </B><DD>characters in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="comment(char[], int, int)"><!-- --></A><H3> +comment</H3> +<PRE> +public void <B>comment</B>(char[] chars, + int start, + int length) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy comments.<DD><DL> +<DT><B>Specified by: </B><DD>comment in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="endDocument()"><!-- --></A><H3> +endDocument</H3> +<PRE> +public void <B>endDocument</B>() + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy end document events.<DD><DL> +<DT><B>Specified by: </B><DD>endDocument in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="endElement(int)"><!-- --></A><H3> +endElement</H3> +<PRE> +public void <B>endElement</B>(int nameCode) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy end element events.<DD><DL> +<DT><B>Specified by: </B><DD>endElement in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="processingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3> +processingInstruction</H3> +<PRE> +public void <B>processingInstruction</B>(java.lang.String name, + java.lang.String data) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy processing instructions.<DD><DL> +<DT><B>Specified by: </B><DD>processingInstruction in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setCharacterSet(com.icl.saxon.output.CharacterSet)"><!-- --></A><H3> +setCharacterSet</H3> +<PRE> +public void <B>setCharacterSet</B>(com.icl.saxon.output.CharacterSet charset) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy set character set events.<DD><DL> +<DT><B>Specified by: </B><DD>setCharacterSet in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setDocumentLocator(org.xml.sax.Locator)"><!-- --></A><H3> +setDocumentLocator</H3> +<PRE> +public void <B>setDocumentLocator</B>(org.xml.sax.Locator locator)</PRE> +<DL> +<DD>Copy set document locator events.<DD><DL> +<DT><B>Specified by: </B><DD>setDocumentLocator in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setEscaping(boolean)"><!-- --></A><H3> +setEscaping</H3> +<PRE> +public void <B>setEscaping</B>(boolean escaping) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy set escaping events.<DD><DL> +<DT><B>Specified by: </B><DD>setEscaping in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setNamePool(com.icl.saxon.om.NamePool)"><!-- --></A><H3> +setNamePool</H3> +<PRE> +public void <B>setNamePool</B>(com.icl.saxon.om.NamePool namePool)</PRE> +<DL> +<DD>Copy set name pool events.<DD><DL> +<DT><B>Specified by: </B><DD>setNamePool in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setOutputDetails(com.icl.saxon.output.OutputDetails)"><!-- --></A><H3> +setOutputDetails</H3> +<PRE> +public void <B>setOutputDetails</B>(com.icl.saxon.output.OutputDetails details) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy set output details events.<DD><DL> +<DT><B>Specified by: </B><DD>setOutputDetails in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setUnparsedEntity(java.lang.String, java.lang.String)"><!-- --></A><H3> +setUnparsedEntity</H3> +<PRE> +public void <B>setUnparsedEntity</B>(java.lang.String name, + java.lang.String uri) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy set unparsed entity events.<DD><DL> +<DT><B>Specified by: </B><DD>setUnparsedEntity in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setWriter(java.io.Writer)"><!-- --></A><H3> +setWriter</H3> +<PRE> +public void <B>setWriter</B>(java.io.Writer writer) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy set writer events.<DD><DL> +<DT><B>Specified by: </B><DD>setWriter in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="startDocument()"><!-- --></A><H3> +startDocument</H3> +<PRE> +public void <B>startDocument</B>() + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy start document events.<DD><DL> +<DT><B>Specified by: </B><DD>startDocument in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="startElement(int, org.xml.sax.Attributes, int[], int)"><!-- --></A><H3> +startElement</H3> +<PRE> +public void <B>startElement</B>(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Copy start element events.<DD><DL> +<DT><B>Specified by: </B><DD>startElement in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/CalloutEmitter.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/CVS.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="CopyEmitter.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/LineCountEmitter.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/LineCountEmitter.html new file mode 100644 index 000000000..3a7fc4a1d --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/LineCountEmitter.html @@ -0,0 +1,555 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: Class LineCountEmitter +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/CVS.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="LineCountEmitter.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon6</FONT> +<BR> +Class LineCountEmitter</H2> +<PRE> +java.lang.Object + | + +--<B>com.nwalsh.saxon6.LineCountEmitter</B> +</PRE> +<HR> +<DL> +<DT>public class <B>LineCountEmitter</B><DT>extends java.lang.Object<DT>implements com.icl.saxon.output.Emitter</DL> + +<P> +<p>Saxon extension to count the lines in a result tree fragment.</p> + + <p>$Id: LineCountEmitter.html,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + implementation to count the number of lines in a result tree + fragment.</p> + + <p>The general design is this: the stylesheets construct a result tree + fragment for some verbatim environment. That result tree fragment + is "replayed" through the LineCountEmitter; the LineCountEmitter watches + characters go by and counts the number of line feeds that it sees. + That number is then returned.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<DL> +<DT><B>See Also: </B><DD><A HREF="../../../com/nwalsh/saxon6/Verbatim.html"><CODE>Verbatim</CODE></A></DL> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#LineCountEmitter()">LineCountEmitter</A></B>()</CODE> + +<BR> + Construct a new LineCountEmitter.</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#characters(char[], int, int)">characters</A></B>(char[] chars, + int start, + int len)</CODE> + +<BR> + Process characters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#comment(char[], int, int)">comment</A></B>(char[] chars, + int start, + int length)</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#endDocument()">endDocument</A></B>()</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#endElement(int)">endElement</A></B>(int nameCode)</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#lineCount()">lineCount</A></B>()</CODE> + +<BR> + Return the number of lines.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#processingInstruction(java.lang.String, java.lang.String)">processingInstruction</A></B>(java.lang.String name, + java.lang.String data)</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#reset()">reset</A></B>()</CODE> + +<BR> + Reset the number of lines.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#setCharacterSet(com.icl.saxon.output.CharacterSet)">setCharacterSet</A></B>(com.icl.saxon.output.CharacterSet charset)</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#setDocumentLocator(org.xml.sax.Locator)">setDocumentLocator</A></B>(org.xml.sax.Locator locator)</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#setEscaping(boolean)">setEscaping</A></B>(boolean escaping)</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#setNamePool(com.icl.saxon.om.NamePool)">setNamePool</A></B>(com.icl.saxon.om.NamePool namePool)</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#setOutputDetails(com.icl.saxon.output.OutputDetails)">setOutputDetails</A></B>(com.icl.saxon.output.OutputDetails details)</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#setUnparsedEntity(java.lang.String, java.lang.String)">setUnparsedEntity</A></B>(java.lang.String name, + java.lang.String uri)</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#setWriter(java.io.Writer)">setWriter</A></B>(java.io.Writer writer)</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#startDocument()">startDocument</A></B>()</CODE> + +<BR> + Discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html#startElement(int, org.xml.sax.Attributes, int[], int)">startElement</A></B>(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount)</CODE> + +<BR> + Discarded.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="LineCountEmitter()"><!-- --></A><H3> +LineCountEmitter</H3> +<PRE> +public <B>LineCountEmitter</B>()</PRE> +<DL> +<DD>Construct a new LineCountEmitter.</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="reset()"><!-- --></A><H3> +reset</H3> +<PRE> +public void <B>reset</B>()</PRE> +<DL> +<DD>Reset the number of lines.<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="lineCount()"><!-- --></A><H3> +lineCount</H3> +<PRE> +public int <B>lineCount</B>()</PRE> +<DL> +<DD>Return the number of lines.<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="characters(char[], int, int)"><!-- --></A><H3> +characters</H3> +<PRE> +public void <B>characters</B>(char[] chars, + int start, + int len) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Process characters.<DD><DL> +<DT><B>Specified by: </B><DD>characters in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="comment(char[], int, int)"><!-- --></A><H3> +comment</H3> +<PRE> +public void <B>comment</B>(char[] chars, + int start, + int length) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>comment in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="endDocument()"><!-- --></A><H3> +endDocument</H3> +<PRE> +public void <B>endDocument</B>() + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>endDocument in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="endElement(int)"><!-- --></A><H3> +endElement</H3> +<PRE> +public void <B>endElement</B>(int nameCode) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>endElement in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="processingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3> +processingInstruction</H3> +<PRE> +public void <B>processingInstruction</B>(java.lang.String name, + java.lang.String data) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>processingInstruction in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setCharacterSet(com.icl.saxon.output.CharacterSet)"><!-- --></A><H3> +setCharacterSet</H3> +<PRE> +public void <B>setCharacterSet</B>(com.icl.saxon.output.CharacterSet charset) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>setCharacterSet in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setDocumentLocator(org.xml.sax.Locator)"><!-- --></A><H3> +setDocumentLocator</H3> +<PRE> +public void <B>setDocumentLocator</B>(org.xml.sax.Locator locator)</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>setDocumentLocator in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setEscaping(boolean)"><!-- --></A><H3> +setEscaping</H3> +<PRE> +public void <B>setEscaping</B>(boolean escaping) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>setEscaping in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setNamePool(com.icl.saxon.om.NamePool)"><!-- --></A><H3> +setNamePool</H3> +<PRE> +public void <B>setNamePool</B>(com.icl.saxon.om.NamePool namePool)</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>setNamePool in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setOutputDetails(com.icl.saxon.output.OutputDetails)"><!-- --></A><H3> +setOutputDetails</H3> +<PRE> +public void <B>setOutputDetails</B>(com.icl.saxon.output.OutputDetails details) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>setOutputDetails in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setUnparsedEntity(java.lang.String, java.lang.String)"><!-- --></A><H3> +setUnparsedEntity</H3> +<PRE> +public void <B>setUnparsedEntity</B>(java.lang.String name, + java.lang.String uri) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>setUnparsedEntity in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="setWriter(java.io.Writer)"><!-- --></A><H3> +setWriter</H3> +<PRE> +public void <B>setWriter</B>(java.io.Writer writer) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>setWriter in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="startDocument()"><!-- --></A><H3> +startDocument</H3> +<PRE> +public void <B>startDocument</B>() + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>startDocument in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<HR> + +<A NAME="startElement(int, org.xml.sax.Attributes, int[], int)"><!-- --></A><H3> +startElement</H3> +<PRE> +public void <B>startElement</B>(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Discarded.<DD><DL> +<DT><B>Specified by: </B><DD>startElement in interface com.icl.saxon.output.Emitter</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/CVS.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="LineCountEmitter.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/NumberLinesEmitter.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/NumberLinesEmitter.html new file mode 100644 index 000000000..97515d0c1 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/NumberLinesEmitter.html @@ -0,0 +1,328 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: Class NumberLinesEmitter +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/Table.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="NumberLinesEmitter.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon6</FONT> +<BR> +Class NumberLinesEmitter</H2> +<PRE> +java.lang.Object + | + +--<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">com.nwalsh.saxon6.CopyEmitter</A> + | + +--<B>com.nwalsh.saxon6.NumberLinesEmitter</B> +</PRE> +<HR> +<DL> +<DT>public class <B>NumberLinesEmitter</B><DT>extends <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A></DL> + +<P> +<p>Saxon extension to decorate a result tree fragment with line numbers.</p> + + <p>$Id: NumberLinesEmitter.html,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides the guts of a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + implementation of line numbering for verbatim environments. (It is used + by the Verbatim class.)</p> + + <p>The general design is this: the stylesheets construct a result tree + fragment for some verbatim environment. The Verbatim class initializes + a NumberLinesEmitter with information about what lines should be + numbered and how. Then the result tree fragment + is "replayed" through the NumberLinesEmitter; the NumberLinesEmitter + builds a + new result tree fragment from this event stream, decorated with line + numbers, + and that is returned.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<DL> +<DT><B>See Also: </B><DD><A HREF="../../../com/nwalsh/saxon6/Verbatim.html"><CODE>Verbatim</CODE></A></DL> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html#NumberLinesEmitter(com.icl.saxon.om.NamePool, int, int, java.lang.String, boolean)">NumberLinesEmitter</A></B>(com.icl.saxon.om.NamePool namePool, + int modulus, + int width, + java.lang.String separator, + boolean foStylesheet)</CODE> + +<BR> + Constructor for the NumberLinesEmitter.</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html#characters(char[], int, int)">characters</A></B>(char[] chars, + int start, + int len)</CODE> + +<BR> + Process characters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html#endElement(int)">endElement</A></B>(int nameCode)</CODE> + +<BR> + Process end element events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html#startElement(int, org.xml.sax.Attributes, int[], int)">startElement</A></B>(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount)</CODE> + +<BR> + Process start element events.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.nwalsh.saxon6.CopyEmitter"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A></B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#comment(char[], int, int)">comment</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#endDocument()">endDocument</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#getResultTreeFragment()">getResultTreeFragment</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#processingInstruction(java.lang.String, java.lang.String)">processingInstruction</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setCharacterSet(com.icl.saxon.output.CharacterSet)">setCharacterSet</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setDocumentLocator(org.xml.sax.Locator)">setDocumentLocator</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setEscaping(boolean)">setEscaping</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setNamePool(com.icl.saxon.om.NamePool)">setNamePool</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setOutputDetails(com.icl.saxon.output.OutputDetails)">setOutputDetails</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setUnparsedEntity(java.lang.String, java.lang.String)">setUnparsedEntity</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#setWriter(java.io.Writer)">setWriter</A>, +<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#startDocument()">startDocument</A></CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="NumberLinesEmitter(com.icl.saxon.om.NamePool, int, int, java.lang.String, boolean)"><!-- --></A><H3> +NumberLinesEmitter</H3> +<PRE> +public <B>NumberLinesEmitter</B>(com.icl.saxon.om.NamePool namePool, + int modulus, + int width, + java.lang.String separator, + boolean foStylesheet)</PRE> +<DL> +<DD><p>Constructor for the NumberLinesEmitter.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>namePool</CODE> - The name pool to use for constructing elements and attributes.<DD><CODE>modulus</CODE> - The modulus to use for this listing.<DD><CODE>width</CODE> - The width to use for line numbers in this listing.<DD><CODE>separator</CODE> - The separator to use for this listing.<DD><CODE>foStylesheet</CODE> - Is this an FO stylesheet?</DL> +</DD> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="characters(char[], int, int)"><!-- --></A><H3> +characters</H3> +<PRE> +public void <B>characters</B>(char[] chars, + int start, + int len) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Process characters.<DD><DL> +<DT><B>Overrides:</B><DD><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#characters(char[], int, int)">characters</A> in class <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A></DL> +</DD> +</DL> +<HR> + +<A NAME="endElement(int)"><!-- --></A><H3> +endElement</H3> +<PRE> +public void <B>endElement</B>(int nameCode) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Process end element events.<DD><DL> +<DT><B>Overrides:</B><DD><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#endElement(int)">endElement</A> in class <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A></DL> +</DD> +</DL> +<HR> + +<A NAME="startElement(int, org.xml.sax.Attributes, int[], int)"><!-- --></A><H3> +startElement</H3> +<PRE> +public void <B>startElement</B>(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Process start element events.<DD><DL> +<DT><B>Overrides:</B><DD><A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html#startElement(int, org.xml.sax.Attributes, int[], int)">startElement</A> in class <A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/Table.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="NumberLinesEmitter.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Table.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Table.html new file mode 100644 index 000000000..ce0be4fed --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Table.html @@ -0,0 +1,255 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: Class Table +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/Text.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Table.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon6</FONT> +<BR> +Class Table</H2> +<PRE> +java.lang.Object + | + +--<B>com.nwalsh.saxon6.Table</B> +</PRE> +<HR> +<DL> +<DT>public class <B>Table</B><DT>extends java.lang.Object</DL> + +<P> +<p>Saxon extensions supporting Tables</p> + + <p>$Id: Table.html,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + implementation of some code to adjust CALS Tables to HTML + Tables.</p> + + <p><b>Column Widths</b></p> + <p>The <tt>columnWidth</tt> method takes a result tree + fragment (assumed to contain the colgroup of an HTML Table) + and returns the result tree fragment with the column widths + adjusted to HTML terms.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Table.html#Table()">Table</A></B>()</CODE> + +<BR> + Constructor for Verbatim</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static com.icl.saxon.expr.FragmentValue</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Table.html#adjustColumnWidths(com.icl.saxon.Context, com.icl.saxon.expr.FragmentValue)">adjustColumnWidths</A></B>(com.icl.saxon.Context context, + com.icl.saxon.expr.FragmentValue rtf)</CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Table.html#convertLength(java.lang.String)">convertLength</A></B>(java.lang.String length)</CODE> + +<BR> + </TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="Table()"><!-- --></A><H3> +Table</H3> +<PRE> +public <B>Table</B>()</PRE> +<DL> +<DD><p>Constructor for Verbatim</p> + + <p>All of the methods are static, so the constructor does nothing.</p></DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="convertLength(java.lang.String)"><!-- --></A><H3> +convertLength</H3> +<PRE> +public static int <B>convertLength</B>(java.lang.String length)</PRE> +<DL> +</DL> +<HR> + +<A NAME="adjustColumnWidths(com.icl.saxon.Context, com.icl.saxon.expr.FragmentValue)"><!-- --></A><H3> +adjustColumnWidths</H3> +<PRE> +public static com.icl.saxon.expr.FragmentValue <B>adjustColumnWidths</B>(com.icl.saxon.Context context, + com.icl.saxon.expr.FragmentValue rtf)</PRE> +<DL> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/Text.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Table.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Text.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Text.html new file mode 100644 index 000000000..b05eb74ed --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Text.html @@ -0,0 +1,506 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: Class Text +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/Table.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/TextFactory.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Text.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon6</FONT> +<BR> +Class Text</H2> +<PRE> +java.lang.Object + | + +--com.icl.saxon.tree.NodeImpl + | + +--com.icl.saxon.tree.ParentNodeImpl + | + +--com.icl.saxon.tree.ElementImpl + | + +--com.icl.saxon.tree.ElementWithAttributes + | + +--com.icl.saxon.style.StyleElement + | + +--<B>com.nwalsh.saxon6.Text</B> +</PRE> +<HR> +<DL> +<DT>public class <B>Text</B><DT>extends com.icl.saxon.style.StyleElement</DL> + +<P> +<p>Saxon extension element for inserting text + + <p>$Id: Text.html,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + extension element for inserting text into a result tree.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Text.html#Text()">Text</A></B>()</CODE> + +<BR> + Constructor for Text</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Text.html#isInstruction()">isInstruction</A></B>()</CODE> + +<BR> + Is this element an instruction?</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Text.html#mayContainTemplateBody()">mayContainTemplateBody</A></B>()</CODE> + +<BR> + Can this element contain a template-body?</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Text.html#prepareAttributes()">prepareAttributes</A></B>()</CODE> + +<BR> + Validate the arguments</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Text.html#process(com.icl.saxon.Context)">process</A></B>(com.icl.saxon.Context context)</CODE> + +<BR> + Insert the text of the file into the result tree</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Text.html#validate()">validate</A></B>()</CODE> + +<BR> + Validate that the element occurs in a reasonable place.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.icl.saxon.style.StyleElement"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.icl.saxon.style.StyleElement</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>bindVariable, +checkEmpty, +checkNotTopLevel, +checkTopLevel, +checkWithinTemplate, +expandChildren, +forwardsCompatibleModeIsEnabled, +getColumnNumber, +getContainingStyleSheet, +getPrecedence, +getPreparedStyleSheet, +getStandardNames, +getStyleSheetFunction, +getVariableBinding, +getVariableNames, +getVersion, +isExcludedNamespace, +isExtensionNamespace, +isTopLevel, +makeAttributeValueTemplate, +makeExpression, +makePattern, +preprocess, +processAllAttributes, +processAttributes, +processChildren, +reportAbsence, +substituteFor, +validateSubtree</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.icl.saxon.tree.ElementWithAttributes"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.icl.saxon.tree.ElementWithAttributes</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>addNamespaceNodes, +copy, +getAttribute, +getAttributeList, +getAttributeNode, +getAttributeNodeNS, +getAttributeNS, +getAttributes, +getAttributeValue, +getAttributeValue, +getAttributeValue, +getLength, +getNamedItem, +getNamedItemNS, +getPrefixForURI, +getURICodeForPrefix, +hasAttribute, +hasAttributeNS, +hasAttributes, +initialise, +item, +makeAttributeNode, +makeAttributeNodeFS, +outputNamespaceNodes, +removeAttribute, +removeAttributeNode, +removeAttributeNS, +removeNamedItem, +removeNamedItemNS, +setAttribute, +setAttributeNode, +setAttributeNodeNS, +setAttributeNS, +setNamedItem, +setNamedItemNS, +setNamespaceDeclarations</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.icl.saxon.tree.ElementImpl"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.icl.saxon.tree.ElementImpl</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>copy, +getAttributeValue, +getDocumentRoot, +getElementsByTagName, +getElementsByTagNameNS, +getLineNumber, +getNameCode, +getNodeType, +getNodeValue, +getPath, +getSystemId, +getTagName, +makeNameCode, +setLineNumber, +setNameCode</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.icl.saxon.tree.ParentNodeImpl"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.icl.saxon.tree.ParentNodeImpl</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>addChild, +compact, +copyStringValue, +defaultAction, +dropChildren, +enumerateChildren, +getAllChildNodes, +getFirstChild, +getLastChild, +getNumberOfChildren, +getSequenceNumber, +getValue, +removeChild, +renumberChildren, +useChildrenArray</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_com.icl.saxon.tree.NodeImpl"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class com.icl.saxon.tree.NodeImpl</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>appendChild, +cloneNode, +getChildNodes, +getDisplayName, +getDocumentElement, +getFingerprint, +getIndex, +getLocalName, +getNamePool, +getNamespaceURI, +getNextInDocument, +getNextSibling, +getNodeName, +getOwnerDocument, +getParentNode, +getPrefix, +getPreviousInDocument, +getPreviousSibling, +getPublicId, +getSequentialKey, +getURI, +getURICode, +hasChildNodes, +insertBefore, +isa, +isDocumentElement, +isSameNode, +isSupported, +normalize, +removeChild, +removeNode, +replaceChild, +setNodeValue, +setPrefix, +toString</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="Text()"><!-- --></A><H3> +Text</H3> +<PRE> +public <B>Text</B>()</PRE> +<DL> +<DD><p>Constructor for Text</p> + + <p>Does nothing.</p></DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="isInstruction()"><!-- --></A><H3> +isInstruction</H3> +<PRE> +public boolean <B>isInstruction</B>()</PRE> +<DL> +<DD><p>Is this element an instruction?</p> + + <p>Yes, it is.</p><DD><DL> +<DT><B>Overrides:</B><DD>isInstruction in class com.icl.saxon.style.StyleElement</DL> +</DD> +<DD><DL> +<DT><B>Returns:</B><DD>true</DL> +</DD> +</DL> +<HR> + +<A NAME="mayContainTemplateBody()"><!-- --></A><H3> +mayContainTemplateBody</H3> +<PRE> +public boolean <B>mayContainTemplateBody</B>()</PRE> +<DL> +<DD><p>Can this element contain a template-body?</p> + + <p>Yes, it can, but only so that it can contain xsl:fallback.</p><DD><DL> +<DT><B>Overrides:</B><DD>mayContainTemplateBody in class com.icl.saxon.style.StyleElement</DL> +</DD> +<DD><DL> +<DT><B>Returns:</B><DD>true</DL> +</DD> +</DL> +<HR> + +<A NAME="prepareAttributes()"><!-- --></A><H3> +prepareAttributes</H3> +<PRE> +public void <B>prepareAttributes</B>() + throws org.xml.sax.SAXException</PRE> +<DL> +<DD><p>Validate the arguments</p> + + <p>The element must have an href attribute.</p><DD><DL> +<DT><B>Overrides:</B><DD>prepareAttributes in class com.icl.saxon.style.StyleElement</DL> +</DD> +</DL> +<HR> + +<A NAME="validate()"><!-- --></A><H3> +validate</H3> +<PRE> +public void <B>validate</B>() + throws org.xml.sax.SAXException</PRE> +<DL> +<DD>Validate that the element occurs in a reasonable place.<DD><DL> +<DT><B>Overrides:</B><DD>validate in class com.icl.saxon.style.StyleElement</DL> +</DD> +</DL> +<HR> + +<A NAME="process(com.icl.saxon.Context)"><!-- --></A><H3> +process</H3> +<PRE> +public void <B>process</B>(com.icl.saxon.Context context) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD><p>Insert the text of the file into the result tree</p> + + <p>Processing this element inserts the contents of the URL named + by the href attribute into the result tree as plain text.</p><DD><DL> +<DT><B>Overrides:</B><DD>process in class com.icl.saxon.style.StyleElement</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/Table.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/TextFactory.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Text.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/TextFactory.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/TextFactory.html new file mode 100644 index 000000000..fbb44443e --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/TextFactory.html @@ -0,0 +1,240 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:43 EST 2000 --> +<TITLE> +: Class TextFactory +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/Text.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/Verbatim.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="TextFactory.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon6</FONT> +<BR> +Class TextFactory</H2> +<PRE> +java.lang.Object + | + +--<B>com.nwalsh.saxon6.TextFactory</B> +</PRE> +<HR> +<DL> +<DT>public class <B>TextFactory</B><DT>extends java.lang.Object<DT>implements com.icl.saxon.style.ExtensionElementFactory</DL> + +<P> +<p>Saxon extension element factory + + <p>$Id: TextFactory.html,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + extension element factory for the Text extension element + family.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<DL> +<DT><B>See Also: </B><DD><A HREF="../../../com/nwalsh/saxon6/Text.html"><CODE>Text</CODE></A></DL> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/TextFactory.html#TextFactory()">TextFactory</A></B>()</CODE> + +<BR> + Constructor for TextFactory</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> java.lang.Class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/TextFactory.html#getExtensionClass(java.lang.String)">getExtensionClass</A></B>(java.lang.String localname)</CODE> + +<BR> + Return the class that implements a particular extension element.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="TextFactory()"><!-- --></A><H3> +TextFactory</H3> +<PRE> +public <B>TextFactory</B>()</PRE> +<DL> +<DD><p>Constructor for TextFactory</p> + + <p>Does nothing.</p></DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="getExtensionClass(java.lang.String)"><!-- --></A><H3> +getExtensionClass</H3> +<PRE> +public java.lang.Class <B>getExtensionClass</B>(java.lang.String localname) + throws org.xml.sax.SAXException</PRE> +<DL> +<DD><p>Return the class that implements a particular extension element.</p><DD><DL> +<DT><B>Specified by: </B><DD>getExtensionClass in interface com.icl.saxon.style.ExtensionElementFactory</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>localname</CODE> - The local name of the extension element.<DT><B>Returns:</B><DD>The class that handles that extension element.<DT><B>Throws:</B><DD>SAXException("Unknown - Text extension element")</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/Text.html"><B>PREV CLASS</B></A> + <A HREF="../../../com/nwalsh/saxon6/Verbatim.html"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="TextFactory.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Verbatim.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Verbatim.html new file mode 100644 index 000000000..ebfa1a5dc --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Verbatim.html @@ -0,0 +1,347 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:43 EST 2000 --> +<TITLE> +: Class Verbatim +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/TextFactory.html"><B>PREV CLASS</B></A> + NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Verbatim.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +com.nwalsh.saxon6</FONT> +<BR> +Class Verbatim</H2> +<PRE> +java.lang.Object + | + +--<B>com.nwalsh.saxon6.Verbatim</B> +</PRE> +<HR> +<DL> +<DT>public class <B>Verbatim</B><DT>extends java.lang.Object</DL> + +<P> +<p>Saxon extensions supporting DocBook verbatim environments</p> + + <p>$Id: Verbatim.html,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + + <p>Copyright (C) 2000 Norman Walsh.</p> + + <p>This class provides a + <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + implementation of two features that would be impractical to + implement directly in XSLT: line numbering and callouts.</p> + + <p><b>Line Numbering</b></p> + <p>The <tt>numberLines</tt> method takes a result tree + fragment (assumed to contain the contents of a formatted verbatim + element in DocBook: programlisting, screen, address, literallayout, + or synopsis) and returns a result tree fragment decorated with + line numbers.</p> + + <p><b>Callouts</b></p> + <p>The <tt>insertCallouts</tt> method takes an + <tt>areaspec</tt> and a result tree fragment + (assumed to contain the contents of a formatted verbatim + element in DocBook: programlisting, screen, address, literallayout, + or synopsis) and returns a result tree fragment decorated with + callouts.</p> + + <p><b>Change Log:</b></p> + <dl> + <dt>1.0</dt> + <dd><p>Initial release.</p></dd> + </dl> +<P> +<HR> + +<P> +<!-- ======== INNER CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Verbatim.html#Verbatim()">Verbatim</A></B>()</CODE> + +<BR> + Constructor for Verbatim</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static com.icl.saxon.expr.FragmentValue</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Verbatim.html#insertCallouts(com.icl.saxon.Context, com.icl.saxon.expr.NodeSetIntent, com.icl.saxon.expr.FragmentValue)">insertCallouts</A></B>(com.icl.saxon.Context context, + com.icl.saxon.expr.NodeSetIntent areaspecNodeSet, + com.icl.saxon.expr.FragmentValue rtf)</CODE> + +<BR> + Insert text callouts into a verbatim environment.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static com.icl.saxon.expr.FragmentValue</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../com/nwalsh/saxon6/Verbatim.html#numberLines(com.icl.saxon.Context, com.icl.saxon.expr.FragmentValue)">numberLines</A></B>(com.icl.saxon.Context context, + com.icl.saxon.expr.FragmentValue rtf)</CODE> + +<BR> + Number lines in a verbatim environment</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="Verbatim()"><!-- --></A><H3> +Verbatim</H3> +<PRE> +public <B>Verbatim</B>()</PRE> +<DL> +<DD><p>Constructor for Verbatim</p> + + <p>All of the methods are static, so the constructor does nothing.</p></DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="numberLines(com.icl.saxon.Context, com.icl.saxon.expr.FragmentValue)"><!-- --></A><H3> +numberLines</H3> +<PRE> +public static com.icl.saxon.expr.FragmentValue <B>numberLines</B>(com.icl.saxon.Context context, + com.icl.saxon.expr.FragmentValue rtf)</PRE> +<DL> +<DD><p>Number lines in a verbatim environment</p> + + <p>The extension function expects the following variables to be + available in the calling context: $linenumbering.everyNth, + $linenumbering.width, $linenumbering.separator, and + $stylesheet.result.type.</p> + + <p>This method adds line numbers to a result tree fragment. Each + newline that occurs in a text node is assumed to start a new line. + The first line is always numbered, every subsequent 'everyNth' line + is numbered (so if everyNth=5, lines 1, 5, 10, 15, etc. will be + numbered. If there are fewer than everyNth lines in the environment, + every line is numbered.</p> + + <p>Every line number will be right justified in a string 'width' + characters long. If the line number of the last line in the + environment is too long to fit in the specified width, the width + is automatically increased to the smallest value that can hold the + number of the last line. (In other words, if you specify the value 2 + and attempt to enumerate the lines of an environment that is 100 lines + long, the value 3 will automatically be used for every line in the + environment.)</p> + + <p>The 'separator' string is inserted between the line + number and the original program listing. Lines that aren't numbered + are preceded by a 'width' blank string and the separator.</p> + + <p>If inline markup extends across line breaks, markup changes are + required. All the open elements are closed before the line break and + "reopened" afterwards. The reopened elements will have the same + attributes as the originals, except that 'name' and 'id' attributes + are not duplicated if the stylesheet.result.type is "html" and + 'id' attributes will not be duplicated if the result type is "fo".</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>rtf</CODE> - The result tree fragment of the verbatim environment.<DT><B>Returns:</B><DD>The modified result tree fragment.</DL> +</DD> +</DL> +<HR> + +<A NAME="insertCallouts(com.icl.saxon.Context, com.icl.saxon.expr.NodeSetIntent, com.icl.saxon.expr.FragmentValue)"><!-- --></A><H3> +insertCallouts</H3> +<PRE> +public static com.icl.saxon.expr.FragmentValue <B>insertCallouts</B>(com.icl.saxon.Context context, + com.icl.saxon.expr.NodeSetIntent areaspecNodeSet, + com.icl.saxon.expr.FragmentValue rtf)</PRE> +<DL> +<DD><p>Insert text callouts into a verbatim environment.</p> + + <p>This method examines the <tt>areaset</tt> and <tt>area</tt> elements + in the supplied <tt>areaspec</tt> and decorates the supplied + result tree fragment with appropriate callout markers.</p> + + <p>If a <tt>label</tt> attribute is supplied on an <tt>area</tt>, + its content will be used for the label, otherwise the callout + number will be used, surrounded by parenthesis. Callout numbers may + also be represented as graphics. Callouts are + numbered in document order. All of the <tt>area</tt>s in an + <tt>areaset</tt> get the same number.</p> + + <p>Only the <tt>linecolumn</tt> and <tt>linerange</tt> units are + supported. If no unit is specifed, <tt>linecolumn</tt> is assumed. + If only a line is specified, the callout decoration appears in + the defaultColumn. Lines will be padded with blanks to reach the + necessary column, but callouts that are located beyond the last + line of the verbatim environment will be ignored.</p> + + <p>Callouts are inserted before the character at the line/column + where they are to occur.</p> + + <p>If graphical callouts are used, and the callout number is less + than or equal to the $callout.graphics.number.limit, the following image + will be generated for HTML: + + <pre> + <img src="$callout.graphics.path/999$callout.graphics.ext" + alt="conumber"> + </pre> + + If the $stylesheet.result.type is 'fo', the following image will + be generated: + + <pre> + <fo:external-graphic src="$callout.graphics.path/999$callout.graphics.ext"/> + </pre> + + <p>If the callout number exceeds $callout.graphics.number.limit, + the callout will be the callout number surrounded by + parenthesis.</p><DD><DL> +<DT><B>Parameters:</B><DD><CODE>context</CODE> - The stylesheet context.<DD><CODE>areaspecNodeSet</CODE> - The source node set that contains the areaspec.<DD><CODE>rtf</CODE> - The result tree fragment of the verbatim environment.<DT><B>Returns:</B><DD>The modified result tree fragment.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../com/nwalsh/saxon6/TextFactory.html"><B>PREV CLASS</B></A> + NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="Verbatim.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-frame.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-frame.html new file mode 100644 index 000000000..83c8b518c --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-frame.html @@ -0,0 +1,42 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: Package com.nwalsh.saxon6 +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../com/nwalsh/saxon6/package-summary.html" TARGET="classFrame">com.nwalsh.saxon6</A></FONT> +<TABLE BORDER="0" WIDTH="100%"> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT> +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="CalloutEmitter.html" TARGET="classFrame">CalloutEmitter</A> +<BR> +<A HREF="CopyEmitter.html" TARGET="classFrame">CopyEmitter</A> +<BR> +<A HREF="CVS.html" TARGET="classFrame">CVS</A> +<BR> +<A HREF="LineCountEmitter.html" TARGET="classFrame">LineCountEmitter</A> +<BR> +<A HREF="NumberLinesEmitter.html" TARGET="classFrame">NumberLinesEmitter</A> +<BR> +<A HREF="Table.html" TARGET="classFrame">Table</A> +<BR> +<A HREF="Text.html" TARGET="classFrame">Text</A> +<BR> +<A HREF="TextFactory.html" TARGET="classFrame">TextFactory</A> +<BR> +<A HREF="Verbatim.html" TARGET="classFrame">Verbatim</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-summary.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-summary.html new file mode 100644 index 000000000..3623f7c97 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-summary.html @@ -0,0 +1,190 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: Package com.nwalsh.saxon6 +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV PACKAGE + NEXT PACKAGE</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="package-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<H2> +Package com.nwalsh.saxon6 +</H2> +Norman Walsh's Saxon Extensions Package for Saxon 6.* +<P> +<B>See: </B> +<BR> + <A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="CalloutEmitter.html">CalloutEmitter</A></B></TD> +<TD>Saxon extension to decorate a result tree fragment with callouts.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="CopyEmitter.html">CopyEmitter</A></B></TD> +<TD>A Saxon 6.0 Emitter that clones its input.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="CVS.html">CVS</A></B></TD> +<TD>Saxon extension to convert CVS date strings into local time</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="LineCountEmitter.html">LineCountEmitter</A></B></TD> +<TD>Saxon extension to count the lines in a result tree fragment.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="NumberLinesEmitter.html">NumberLinesEmitter</A></B></TD> +<TD>Saxon extension to decorate a result tree fragment with line numbers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="Table.html">Table</A></B></TD> +<TD>Saxon extensions supporting Tables</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="Text.html">Text</A></B></TD> +<TD>Saxon extension element for inserting text + + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="TextFactory.html">TextFactory</A></B></TD> +<TD>Saxon extension element factory + + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="Verbatim.html">Verbatim</A></B></TD> +<TD>Saxon extensions supporting DocBook verbatim environments</TD> +</TR> +</TABLE> + + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package com.nwalsh.saxon6 Description +</H2> + +<P> +<p>Norman Walsh's Saxon Extensions Package for Saxon 6.*</p> + +<p>This package implements Saxon extensions for XSLT.</p> + +<p><b>Copyright (C) 2000 Norman Walsh</b></p> +<p>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:</p> + +<p>The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software.</p> + +<p>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.</p> + +<p>Anything 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.</p> +</blockquote> + +<blockquote> +<p><b>Warranty</b></p> +<p>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.</p> +</blockquote> +<P> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV PACKAGE + NEXT PACKAGE</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="package-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-tree.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-tree.html new file mode 100644 index 000000000..5d5a27cb5 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-tree.html @@ -0,0 +1,116 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: com.nwalsh.saxon6 Class Hierarchy +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="package-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package com.nwalsh.saxon6 +</H2> +</CENTER> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">class java.lang.Object<UL> +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/CopyEmitter.html"><B>CopyEmitter</B></A> (implements com.icl.saxon.output.Emitter) +<UL> +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/CalloutEmitter.html"><B>CalloutEmitter</B></A><LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/NumberLinesEmitter.html"><B>NumberLinesEmitter</B></A></UL> +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/CVS.html"><B>CVS</B></A><LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/LineCountEmitter.html"><B>LineCountEmitter</B></A> (implements com.icl.saxon.output.Emitter) +<LI TYPE="circle">class com.icl.saxon.tree.NodeImpl (implements com.icl.saxon.om.NodeInfo) +<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ParentNodeImpl<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ElementImpl (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ElementWithAttributes (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +<UL> +<LI TYPE="circle">class com.icl.saxon.style.StyleElement (implements org.xml.sax.Locator) +<UL> +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/Text.html"><B>Text</B></A></UL> +</UL> +</UL> +</UL> +</UL> +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/Table.html"><B>Table</B></A><LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/TextFactory.html"><B>TextFactory</B></A> (implements com.icl.saxon.style.ExtensionElementFactory) +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="../../../com/nwalsh/saxon6/Verbatim.html"><B>Verbatim</B></A></UL> +</UL> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="package-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/deprecated-list.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/deprecated-list.html new file mode 100644 index 000000000..c3aa6bf44 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/deprecated-list.html @@ -0,0 +1,89 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> +: Deprecated List +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon6/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="deprecated-list.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<CENTER> +<H2> +<B>Deprecated API</B></H2> +</CENTER> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon6/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="deprecated-list.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/help-doc.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/help-doc.html new file mode 100644 index 000000000..f7a00fcc0 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/help-doc.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:43 EST 2000 --> +<TITLE> +: API Help +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon6/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<CENTER> +<H1> +How This API Document Is Organized</H1> +</CENTER> +This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3> +Package</H3> +<BLOCKQUOTE> + +<P> +Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL> +<LI>Interfaces (italic)<LI>Classes<LI>Exceptions<LI>Errors</UL> +</BLOCKQUOTE> +<H3> +Class/Interface</H3> +<BLOCKQUOTE> + +<P> +Each class, interface, inner class and inner interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL> +<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description +<P> +<LI>Inner Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary +<P> +<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL> +Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE> +<H3> +Tree (Class Hierarchy)</H3> +<BLOCKQUOTE> +There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL> +<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL> +</BLOCKQUOTE> +<H3> +Deprecated API</H3> +<BLOCKQUOTE> +The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE> +<H3> +Index</H3> +<BLOCKQUOTE> +The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE> +<H3> +Prev/Next</H3> +These links take you to the next or previous class, interface, package, or related page.<H3> +Frames/No Frames</H3> +These links show and hide the HTML frames. All pages are available with or without frames. +<P> +<H3> +Serialized Form</H3> +Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +<P> +<FONT SIZE="-1"> +<EM> +This help file applies to API documentation generated using the standard doclet. </EM> +</FONT> +<BR> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon6/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/index-all.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/index-all.html new file mode 100644 index 000000000..5ccb84ea5 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/index-all.html @@ -0,0 +1,329 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:41 EST 2000 --> +<TITLE> +: Index +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon6/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<A HREF="#_A_">A</A> <A HREF="#_C_">C</A> <A HREF="#_E_">E</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_V_">V</A> <HR> +<A NAME="_A_"><!-- --></A><H2> +<B>A</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/Table.html#adjustColumnWidths(com.icl.saxon.Context, com.icl.saxon.expr.FragmentValue)"><B>adjustColumnWidths(Context, FragmentValue)</B></A> - +Static method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Table.html">Table</A> +<DD> +</DL> +<HR> +<A NAME="_C_"><!-- --></A><H2> +<B>C</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/CalloutEmitter.html"><B>CalloutEmitter</B></A> - class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CalloutEmitter.html">CalloutEmitter</A>.<DD>Saxon extension to decorate a result tree fragment with callouts.<DT><A HREF="com/nwalsh/saxon6/CalloutEmitter.html#CalloutEmitter(com.icl.saxon.om.NamePool, java.lang.String, java.lang.String, int, int, boolean)"><B>CalloutEmitter(NamePool, String, String, int, int, boolean)</B></A> - +Constructor for class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CalloutEmitter.html">CalloutEmitter</A> +<DD>Constructor for the CalloutEmitter. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#characters(char[], int, int)"><B>characters(char[], int, int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy characters. +<DT><A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html#characters(char[], int, int)"><B>characters(char[], int, int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html">NumberLinesEmitter</A> +<DD>Process characters. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#characters(char[], int, int)"><B>characters(char[], int, int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Process characters. +<DT><A HREF="com/nwalsh/saxon6/CalloutEmitter.html#characters(char[], int, int)"><B>characters(char[], int, int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CalloutEmitter.html">CalloutEmitter</A> +<DD>Process characters. +<DT><A HREF="com/nwalsh/saxon6/package-summary.html"><B>com.nwalsh.saxon6</B></A> - package com.nwalsh.saxon6<DD>Norman Walsh's Saxon Extensions Package for Saxon 6.*<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#comment(char[], int, int)"><B>comment(char[], int, int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy comments. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#comment(char[], int, int)"><B>comment(char[], int, int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/Table.html#convertLength(java.lang.String)"><B>convertLength(String)</B></A> - +Static method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Table.html">Table</A> +<DD> +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html"><B>CopyEmitter</B></A> - class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A>.<DD>A Saxon 6.0 Emitter that clones its input.<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#CopyEmitter(com.icl.saxon.om.NamePool)"><B>CopyEmitter(NamePool)</B></A> - +Constructor for class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Constructor for the CopyEmitter. +<DT><A HREF="com/nwalsh/saxon6/CVS.html"><B>CVS</B></A> - class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CVS.html">CVS</A>.<DD>Saxon extension to convert CVS date strings into local time<DT><A HREF="com/nwalsh/saxon6/CVS.html#CVS()"><B>CVS()</B></A> - +Constructor for class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CVS.html">CVS</A> +<DD>Constructor for CVS +</DL> +<HR> +<A NAME="_E_"><!-- --></A><H2> +<B>E</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#endDocument()"><B>endDocument()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy end document events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#endDocument()"><B>endDocument()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#endElement(int)"><B>endElement(int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy end element events. +<DT><A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html#endElement(int)"><B>endElement(int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html">NumberLinesEmitter</A> +<DD>Process end element events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#endElement(int)"><B>endElement(int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CalloutEmitter.html#endElement(int)"><B>endElement(int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CalloutEmitter.html">CalloutEmitter</A> +<DD>Process end element events. +</DL> +<HR> +<A NAME="_G_"><!-- --></A><H2> +<B>G</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/TextFactory.html#getExtensionClass(java.lang.String)"><B>getExtensionClass(String)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/TextFactory.html">TextFactory</A> +<DD>Return the class that implements a particular extension element. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#getResultTreeFragment()"><B>getResultTreeFragment()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Return the result tree fragment constructed by replaying events + through this emitter. +</DL> +<HR> +<A NAME="_I_"><!-- --></A><H2> +<B>I</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/Verbatim.html#insertCallouts(com.icl.saxon.Context, com.icl.saxon.expr.NodeSetIntent, com.icl.saxon.expr.FragmentValue)"><B>insertCallouts(Context, NodeSetIntent, FragmentValue)</B></A> - +Static method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Verbatim.html">Verbatim</A> +<DD>Insert text callouts into a verbatim environment. +<DT><A HREF="com/nwalsh/saxon6/Text.html#isInstruction()"><B>isInstruction()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Text.html">Text</A> +<DD>Is this element an instruction? +</DL> +<HR> +<A NAME="_L_"><!-- --></A><H2> +<B>L</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#lineCount()"><B>lineCount()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Return the number of lines. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html"><B>LineCountEmitter</B></A> - class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A>.<DD>Saxon extension to count the lines in a result tree fragment.<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#LineCountEmitter()"><B>LineCountEmitter()</B></A> - +Constructor for class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Construct a new LineCountEmitter. +<DT><A HREF="com/nwalsh/saxon6/CVS.html#localTime(java.lang.String)"><B>localTime(String)</B></A> - +Static method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CVS.html">CVS</A> +<DD>Convert a CVS date string into local time. +</DL> +<HR> +<A NAME="_M_"><!-- --></A><H2> +<B>M</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/Text.html#mayContainTemplateBody()"><B>mayContainTemplateBody()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Text.html">Text</A> +<DD>Can this element contain a template-body? +</DL> +<HR> +<A NAME="_N_"><!-- --></A><H2> +<B>N</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/Verbatim.html#numberLines(com.icl.saxon.Context, com.icl.saxon.expr.FragmentValue)"><B>numberLines(Context, FragmentValue)</B></A> - +Static method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Verbatim.html">Verbatim</A> +<DD>Number lines in a verbatim environment +<DT><A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html"><B>NumberLinesEmitter</B></A> - class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html">NumberLinesEmitter</A>.<DD>Saxon extension to decorate a result tree fragment with line numbers.<DT><A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html#NumberLinesEmitter(com.icl.saxon.om.NamePool, int, int, java.lang.String, boolean)"><B>NumberLinesEmitter(NamePool, int, int, String, boolean)</B></A> - +Constructor for class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html">NumberLinesEmitter</A> +<DD>Constructor for the NumberLinesEmitter. +</DL> +<HR> +<A NAME="_P_"><!-- --></A><H2> +<B>P</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/Text.html#prepareAttributes()"><B>prepareAttributes()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Text.html">Text</A> +<DD>Validate the arguments +<DT><A HREF="com/nwalsh/saxon6/Text.html#process(com.icl.saxon.Context)"><B>process(Context)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Text.html">Text</A> +<DD>Insert the text of the file into the result tree +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#processingInstruction(java.lang.String, java.lang.String)"><B>processingInstruction(String, String)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy processing instructions. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#processingInstruction(java.lang.String, java.lang.String)"><B>processingInstruction(String, String)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +</DL> +<HR> +<A NAME="_R_"><!-- --></A><H2> +<B>R</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#reset()"><B>reset()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Reset the number of lines. +</DL> +<HR> +<A NAME="_S_"><!-- --></A><H2> +<B>S</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#setCharacterSet(com.icl.saxon.output.CharacterSet)"><B>setCharacterSet(CharacterSet)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy set character set events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#setCharacterSet(com.icl.saxon.output.CharacterSet)"><B>setCharacterSet(CharacterSet)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#setDocumentLocator(org.xml.sax.Locator)"><B>setDocumentLocator(Locator)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy set document locator events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#setDocumentLocator(org.xml.sax.Locator)"><B>setDocumentLocator(Locator)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#setEscaping(boolean)"><B>setEscaping(boolean)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy set escaping events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#setEscaping(boolean)"><B>setEscaping(boolean)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#setNamePool(com.icl.saxon.om.NamePool)"><B>setNamePool(NamePool)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy set name pool events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#setNamePool(com.icl.saxon.om.NamePool)"><B>setNamePool(NamePool)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#setOutputDetails(com.icl.saxon.output.OutputDetails)"><B>setOutputDetails(OutputDetails)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy set output details events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#setOutputDetails(com.icl.saxon.output.OutputDetails)"><B>setOutputDetails(OutputDetails)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#setUnparsedEntity(java.lang.String, java.lang.String)"><B>setUnparsedEntity(String, String)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy set unparsed entity events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#setUnparsedEntity(java.lang.String, java.lang.String)"><B>setUnparsedEntity(String, String)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CalloutEmitter.html#setupCallouts(com.icl.saxon.expr.NodeSetIntent)"><B>setupCallouts(NodeSetIntent)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CalloutEmitter.html">CalloutEmitter</A> +<DD>Examine the areaspec and determine the number and position of + callouts. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#setWriter(java.io.Writer)"><B>setWriter(Writer)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy set writer events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#setWriter(java.io.Writer)"><B>setWriter(Writer)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#startDocument()"><B>startDocument()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy start document events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#startDocument()"><B>startDocument()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CopyEmitter.html#startElement(int, org.xml.sax.Attributes, int[], int)"><B>startElement(int, Attributes, int[], int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html">CopyEmitter</A> +<DD>Copy start element events. +<DT><A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html#startElement(int, org.xml.sax.Attributes, int[], int)"><B>startElement(int, Attributes, int[], int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html">NumberLinesEmitter</A> +<DD>Process start element events. +<DT><A HREF="com/nwalsh/saxon6/LineCountEmitter.html#startElement(int, org.xml.sax.Attributes, int[], int)"><B>startElement(int, Attributes, int[], int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html">LineCountEmitter</A> +<DD>Discarded. +<DT><A HREF="com/nwalsh/saxon6/CalloutEmitter.html#startElement(int, org.xml.sax.Attributes, int[], int)"><B>startElement(int, Attributes, int[], int)</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CalloutEmitter.html">CalloutEmitter</A> +<DD>Process start element events. +</DL> +<HR> +<A NAME="_T_"><!-- --></A><H2> +<B>T</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/Table.html"><B>Table</B></A> - class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Table.html">Table</A>.<DD>Saxon extensions supporting Tables<DT><A HREF="com/nwalsh/saxon6/Table.html#Table()"><B>Table()</B></A> - +Constructor for class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Table.html">Table</A> +<DD>Constructor for Verbatim +<DT><A HREF="com/nwalsh/saxon6/Text.html"><B>Text</B></A> - class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Text.html">Text</A>.<DD>Saxon extension element for inserting text + + <DT><A HREF="com/nwalsh/saxon6/Text.html#Text()"><B>Text()</B></A> - +Constructor for class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Text.html">Text</A> +<DD>Constructor for Text +<DT><A HREF="com/nwalsh/saxon6/TextFactory.html"><B>TextFactory</B></A> - class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/TextFactory.html">TextFactory</A>.<DD>Saxon extension element factory + + <DT><A HREF="com/nwalsh/saxon6/TextFactory.html#TextFactory()"><B>TextFactory()</B></A> - +Constructor for class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/TextFactory.html">TextFactory</A> +<DD>Constructor for TextFactory +</DL> +<HR> +<A NAME="_V_"><!-- --></A><H2> +<B>V</B></H2> +<DL> +<DT><A HREF="com/nwalsh/saxon6/Text.html#validate()"><B>validate()</B></A> - +Method in class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Text.html">Text</A> +<DD>Validate that the element occurs in a reasonable place. +<DT><A HREF="com/nwalsh/saxon6/Verbatim.html"><B>Verbatim</B></A> - class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Verbatim.html">Verbatim</A>.<DD>Saxon extensions supporting DocBook verbatim environments<DT><A HREF="com/nwalsh/saxon6/Verbatim.html#Verbatim()"><B>Verbatim()</B></A> - +Constructor for class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Verbatim.html">Verbatim</A> +<DD>Constructor for Verbatim +</DL> +<HR> +<A HREF="#_A_">A</A> <A HREF="#_C_">C</A> <A HREF="#_E_">E</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_V_">V</A> +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon6/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/index.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/index.html new file mode 100644 index 000000000..b2e8944a1 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/index.html @@ -0,0 +1,22 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000--> +<TITLE> +Generated Documentation (Untitled) +</TITLE> +</HEAD> +<FRAMESET cols="20%,80%"> +<FRAME src="allclasses-frame.html" name="packageFrame"> +<FRAME src="com/nwalsh/saxon6/package-summary.html" name="classFrame"> +</FRAMESET> +<NOFRAMES> +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to <A HREF="com/nwalsh/saxon6/package-summary.html">Non-frame version.</A></NOFRAMES> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/overview-tree.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/overview-tree.html new file mode 100644 index 000000000..f19356603 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/overview-tree.html @@ -0,0 +1,118 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:41 EST 2000 --> +<TITLE> +: Class Hierarchy +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="overview-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<CENTER> +<H2> +Hierarchy For All Packages</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies: </B><DD><A HREF="com/nwalsh/saxon6/package-tree.html">com.nwalsh.saxon6</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">class java.lang.Object<UL> +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CopyEmitter.html"><B>CopyEmitter</B></A> (implements com.icl.saxon.output.Emitter) +<UL> +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CalloutEmitter.html"><B>CalloutEmitter</B></A><LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/NumberLinesEmitter.html"><B>NumberLinesEmitter</B></A></UL> +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/CVS.html"><B>CVS</B></A><LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/LineCountEmitter.html"><B>LineCountEmitter</B></A> (implements com.icl.saxon.output.Emitter) +<LI TYPE="circle">class com.icl.saxon.tree.NodeImpl (implements com.icl.saxon.om.NodeInfo) +<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ParentNodeImpl<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ElementImpl (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +<UL> +<LI TYPE="circle">class com.icl.saxon.tree.ElementWithAttributes (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +<UL> +<LI TYPE="circle">class com.icl.saxon.style.StyleElement (implements org.xml.sax.Locator) +<UL> +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Text.html"><B>Text</B></A></UL> +</UL> +</UL> +</UL> +</UL> +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Table.html"><B>Table</B></A><LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/TextFactory.html"><B>TextFactory</B></A> (implements com.icl.saxon.style.ExtensionElementFactory) +<LI TYPE="circle">class com.nwalsh.saxon6.<A HREF="com/nwalsh/saxon6/Verbatim.html"><B>Verbatim</B></A></UL> +</UL> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="overview-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/package-list b/lib/docbook/docbook-xsl/extensions/doc/saxon6/package-list new file mode 100644 index 000000000..682860858 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/package-list @@ -0,0 +1 @@ +com.nwalsh.saxon6
diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/packages.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/packages.html new file mode 100644 index 000000000..5b501d971 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/packages.html @@ -0,0 +1,26 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:42 EST 2000 --> +<TITLE> + +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<BR> + +<BR> + +<BR> +<CENTER> +The front page has been relocated.Please see: +<BR> + <A HREF="index.html">Frame version</A> +<BR> + <A HREF="com/nwalsh/saxon6/package-summary.html">Non-frame version.</A></CENTER> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/serialized-form.html b/lib/docbook/docbook-xsl/extensions/doc/saxon6/serialized-form.html new file mode 100644 index 000000000..5968841d4 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/serialized-form.html @@ -0,0 +1,89 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Tue Dec 05 11:41:43 EST 2000 --> +<TITLE> +Serialized Form +</TITLE> +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> +</HEAD> +<BODY BGCOLOR="white"> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_top"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon6/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="serialized-form.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> +<CENTER> +<H1> +Serialized Form</H1> +</CENTER> +<HR> + +<!-- ========== START OF NAVBAR ========== --> +<A NAME="navbar_bottom"><!-- --></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="com/nwalsh/saxon6/package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> + <A HREF="serialized-form.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD> +</TR> +</TABLE> +<!-- =========== END OF NAVBAR =========== --> + +<HR> + +</BODY> +</HTML> diff --git a/lib/docbook/docbook-xsl/extensions/doc/saxon6/stylesheet.css b/lib/docbook/docbook-xsl/extensions/doc/saxon6/stylesheet.css new file mode 100644 index 000000000..07dc9eaf3 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/doc/saxon6/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Table colors */
+.TableHeadingColor { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */
+.TableRowColor { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont { font-size: normal; font-family: normal }
+.FrameHeadingFont { font-size: normal; font-family: normal }
+.FrameItemFont { font-size: normal; font-family: normal }
+
+/* Example of smaller, sans-serif font in frames */
+/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
+
+/* Navigation bar fonts and colors */
+.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
+.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+
diff --git a/lib/docbook/docbook-xsl/extensions/prj.el b/lib/docbook/docbook-xsl/extensions/prj.el new file mode 100644 index 000000000..702b58b2a --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/prj.el @@ -0,0 +1,216 @@ +
+
+
+
+
+
+
+
+(jde-set-project-name "xalan")
+(jde-set-variables
+ '(jde-gen-session-bean-template (quote ("(jde-import-insert-imports-into-buffer (list \"javax.ejb.*\"
+\"java.rmi.RemoteException\"))" "(jde-wiz-update-implements-clause \"SessionBean\")" "'> \"public void ejbActivate() throws RemoteException {\"'>'n \"}\"'>'n
+'>'n" "'> \"public void ejbPassivate() throws RemoteException {\"'>'n \"}\"'>'n
+'>'n" "'> \"public void ejbRemove() throws RemoteException {\"'>'n \"}\"'>'n '>'n" "'> \"public void setSessionContext(SessionContext ctx) throws
+RemoteException {\"" "'>'n \"}\"'>'n '>'n" "'> \"public void unsetSessionContext() throws RemoteException {\"'>'n
+\"}\"'>'n '>'n'>")))
+ '(jde-gen-beep (quote ("(end-of-line) '&" "\"Toolkit.getDefaultToolkit().beep();\"'>'n'>")))
+ '(jde-which-method-format (quote ("[" jde-which-method-current "]")))
+ '(jde-run-classic-mode-vm nil)
+ '(jde-javadoc-gen-nodeprecatedlist nil)
+ '(jde-which-method-max-length 20)
+ '(jde-imenu-include-classdef t)
+ '(jde-javadoc-gen-link-online nil)
+ '(jde-gen-code-templates (quote (("Get Set Pair" . jde-gen-get-set) ("toString method" . jde-gen-to-string-method) ("Action Listener" . jde-gen-action-listener) ("Window Listener" . jde-gen-window-listener) ("Mouse Listener" . jde-gen-mouse-listener) ("Mouse Motion Listener" . jde-gen-mouse-motion-listener) ("Inner Class" . jde-gen-inner-class) ("println" . jde-gen-println) ("beep" . jde-gen-beep) ("property change support" . jde-gen-property-change-support) ("EJB Entity Bean" . jde-gen-entity-bean) ("EJB Session Bean" . jde-gen-session-bean))))
+ '(jde-gen-cflow-else (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"else\")" "'(l '> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of else\"'>'n'>)" ")")))
+ '(jde-make-args "")
+ '(jde-javadoc-gen-destination-directory "JavaDoc")
+ '(jde-mode-line-format (quote ("-" mode-line-mule-info mode-line-modified mode-line-frame-identification mode-line-buffer-identification " " global-mode-string " %[(" mode-name mode-line-process minor-mode-alist "%n" ")%]--" (line-number-mode "L%l--") (column-number-mode "C%c--") (-3 . "%p") (jde-which-method-mode ("--" jde-which-method-format "--")) "-%-")))
+ '(jde-mode-abbreviations (quote (("ab" . "abstract") ("bo" . "boolean") ("br" . "break") ("by" . "byte") ("byv" . "byvalue") ("cas" . "cast") ("ca" . "catch") ("ch" . "char") ("cl" . "class") ("co" . "const") ("con" . "continue") ("de" . "default") ("dou" . "double") ("el" . "else") ("ex" . "extends") ("fa" . "false") ("fi" . "final") ("fin" . "finally") ("fl" . "float") ("fo" . "for") ("fu" . "future") ("ge" . "generic") ("go" . "goto") ("impl" . "implements") ("impo" . "import") ("ins" . "instanceof") ("in" . "int") ("inte" . "interface") ("lo" . "long") ("na" . "native") ("ne" . "new") ("nu" . "null") ("pa" . "package") ("pri" . "private") ("pro" . "protected") ("pu" . "public") ("re" . "return") ("sh" . "short") ("st" . "static") ("su" . "super") ("sw" . "switch") ("sy" . "synchronized") ("th" . "this") ("thr" . "throw") ("throw" . "throws") ("tra" . "transient") ("tr" . "true") ("vo" . "void") ("vol" . "volatile") ("wh" . "while"))))
+ '(jde-imenu-enable t)
+ '(jde-compile-option-verbose nil)
+ '(jde-db-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes"))))
+ '(jde-bug-debugger-host-address "localhost" t)
+ '(jde-make-working-directory "")
+ '(jde-bug-breakpoint-marker-colors (quote ("red" . "yellow")))
+ '(jde-javadoc-gen-use nil)
+ '(jde-gen-buffer-boilerplate nil)
+ '(jde-bug-raise-frame-p t)
+ '(jde-db-option-application-args (quote ("-IN" "/share/xsl/docbook/test/exttest.xml" "-XSL " "/share/xsl/docbook/test/exttest.xsl")) t)
+ '(jde-javadoc-gen-nonavbar nil)
+ '(jde-javadoc-gen-nohelp nil)
+ '(jde-bug-vm-includes-jpda-p nil)
+ '(jde-gen-jfc-app-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"import java.awt.Dimension;\" '>'n" "\"import java.awt.Graphics;\" '>'n" "\"import java.awt.Graphics2D;\" '>'n" "\"import java.awt.Color;\" '>'n" "\"import java.awt.geom.Ellipse2D;\" '>'n" "\"import java.awt.event.WindowAdapter;\" '>'n" "\"import java.awt.event.WindowEvent;\" '>'n" "\"import javax.swing.JFrame;\" '>'n" "\"import javax.swing.JPanel;\" '>'n" "\"import javax.swing.JScrollPane;\" '>'n" "\"import javax.swing.JMenuBar;\" '>'n" "\"import javax.swing.JMenu;\" '>'n" "\"import java.awt.event.ActionEvent;\" '>'n" "\"import javax.swing.AbstractAction;\" '>'n '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author <a href=\\\"mailto: \\\"\" (user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" extends JFrame\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"class Canvas extends JPanel\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public Canvas () \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"setSize(getPreferredSize());\" '>'n" "\"Canvas.this.setBackground(Color.white);\" '>'n" "\"}\"'>'n '>'n" "\"public Dimension getPreferredSize() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"return new Dimension(600, 600);\" '>'n" "\"}\"'>'n '>'n" "\"public void paintComponent(Graphics g) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super.paintComponent(g);\" '>'n" "\"Graphics2D g2d = (Graphics2D) g;\" '>'n" "\"Ellipse2D circle = new Ellipse2D.Double(0d, 0d, 100d, 100d);\" '>'n" "\"g2d.setColor(Color.red);\" '>'n" "\"g2d.translate(10, 10);\" '>'n" "\"g2d.draw(circle);\" '>'n" "\"g2d.fill(circle);\" '>'n" "\"}\"'>'n " "\"}\"'>'n '>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super(\\\"\" (P \"Enter app title: \") \"\\\");\" '>'n" "\"setSize(300, 300);\" '>'n" "\"addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void windowClosing(WindowEvent e) {System.exit(0);}\" '>'n" "\"public void windowOpened(WindowEvent e) {}\" '>'n" "\"});\"'>'n" "\"setJMenuBar(createMenu());\" '>'n" "\"getContentPane().add(new JScrollPane(new Canvas()));\" '>'n" "\"}\"'>'n" "'>'n" "\"public static void main(String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" f = new \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"();\" '>'n" "\"f.show();\" '>'n" "\"}\"'>'n '>'n" "\"protected JMenuBar createMenu() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"JMenuBar mb = new JMenuBar();\" '>'n" "\"JMenu menu = new JMenu(\\\"File\\\");\" '>'n" "\"menu.add(new AbstractAction(\\\"Exit\\\") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"System.exit(0);\" '>'n" "\"}\" '>'n" "\"});\" '>'n" "\"mb.add(menu);\" '>'n" "\"return mb;\" '>'n" "\"}\"'>'n " "\"} // \"'>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n")))
+ '(jde-bug-key-bindings (quote (("[? ? ?]" . jde-bug-step-over) ("[? ? ?]" . jde-bug-step-into) ("[? ? ?]" . jde-bug-step-into-all) ("[? ? ?]" . jde-bug-step-out) ("[? ? ?]" . jde-bug-continue) ("[? ? ?]" . jde-bug-toggle-breakpoint))))
+ '(jde-compile-finish-hook (quote (jde-compile-finish-refresh-speedbar jde-compile-finish-flush-completion-cache)))
+ '(jde-compile-option-nowarn nil)
+ '(jde-setnu-mode-threshold 20000)
+ '(jde-run-java-vm-w "javaw")
+ '(jde-compile-option-encoding nil)
+ '(jde-run-option-java-profile (quote (nil . "./java.prof")))
+ '(jde-bug-jpda-directory "/usr/local/jdk1.2.2" t)
+ '(jde-read-compile-args nil)
+ '(jde-run-java-vm "java")
+ '(jde-db-option-verbose (quote (nil nil nil)))
+ '(jde-which-method-class-min-length 4)
+ '(jde-db-read-app-args nil)
+ '(jde-javadoc-gen-nodeprecated nil)
+ '(jde-run-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects")))
+ '(jde-gen-println (quote ("(end-of-line) '&" "\"System.out.println(\" (P \"Print out: \") \");\" '>'n'>")))
+ '(jde-enable-abbrev-mode nil)
+ '(jde-auto-parse-max-buffer-size 50000)
+ '(jde-gen-cflow-main (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"main\")" "'(l '> \"public static void main (String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of main ()\"'>'n'>)" ")")))
+ '(jde-javadoc-exception-tag-template "\"* @exception \" type \" if an error occurs\"")
+ '(jde-global-classpath nil t)
+ '(jde-gen-window-listener-template (quote ("(end-of-line) '& (P \"Window name: \")" "\".addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"public void windowActivated(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"" "'>'n \"public void windowClosed(WindowEvent e)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowClosing(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"System.exit(0);\" '>'n \"}\"" "'>'n \"public void windowDeactivated(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowDeiconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowIconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowOpened(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"});\" '>'n'>")))
+ '(jde-run-working-directory "/share/xsl/docbook/extensions" t)
+ '(jde-gen-property-change-support (quote ("(end-of-line) '&" "\"protected PropertyChangeSupport pcs = new PropertyChangeSupport(this);\" '>'n '>'n" "\"/**\" '>'n" "\"* Adds a PropertyChangeListener to the listener list.\" '>'n" "\"* The listener is registered for all properties.\" '>'n" "\"*\" '>'n" "\"* @param listener The PropertyChangeListener to be added\" '>'n" "\"*/\" '>'n" "\"public void addPropertyChangeListener(PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"pcs.addPropertyChangeListener(listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n" "\"* Removes a PropertyChangeListener from the listener list.\" '>'n" "\"* This removes a PropertyChangeListener that was registered for all properties.\" '>'n" "\"*\" '>'n " "\"* @param listener The PropertyChangeListener to be removed\" '>'n" "\"*/\" '>'n" "\"public void removePropertyChangeListener(PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>\"pcs.removePropertyChangeListener(listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Adds a PropertyChangeListener for a specific property.\" '>'n" "\"* The listener will be invoked only when a call on firePropertyChange\" '>'n" "\"* names that specific property.\" '>'n" "\"*\" '>'n \"* @param propertyName The name of the property to listen on\" '>'n" "\"* @param listener The PropertyChangeListener to be added\" '>'n \"*/\" '>'n" "\"public void addPropertyChangeListener(String propertyName,\" '>'n" "\"PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.addPropertyChangeListener(propertyName, listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Removes a PropertyChangeListener for a specific property.\" '>'n" "\"*\" '>'n \"* @param propertyName The name of the property that was listened on\" '>'n" "\"* @param listener The PropertyChangeListener to be removed\" '>'n \"*/\" '>'n" "\"public void removePropertyChangeListener(String propertyName,\" '>'n" "\"PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.removePropertyChangeListener(propertyName, listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, Object oldValue, Object newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"* This is merely a convenience wrapper around the more general\" '>'n" "\"* firePropertyChange method that takes Object values.\" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, int oldValue, int newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"* This is merely a convenience wrapper around the more general\" '>'n" "\"* firePropertyChange method that takes Object values.\" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Fires an existing PropertyChangeEvent to any registered listeners.\" '>'n" "\"* No event is fired if the given event's old and new values are equal and non-null. \" '>'n" "\"*\" '>'n \"* @param evt The PropertyChangeEvent object.\" '>'n\"*/\" '>'n" "\"public void firePropertyChange(PropertyChangeEvent evt) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(evt);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Checks if there are any listeners for a specific property.\" '>'n" "\"*\" '>'n \"* @param evt The PropertyChangeEvent object.\" '>'n" "\"* @return <code>true</code>if there are one or more listeners for the given property\" '>'n" "\"*/\" '>'n" "\"public boolean hasListeners(String propertyName) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"return pcs.hasListeners(propertyName);\" '>'n \"}\" '>'n '>'n'>")))
+ '(jde-javadoc-describe-interface-template "\"* Describe interface \" (jde-javadoc-code name) \" here.\"")
+ '(jde-imenu-include-signature t)
+ '(jde-db-marker-regexp "^.*: thread=.*, \\(\\(.*[.]\\)*\\)\\([^$]*\\)\\($.*\\)*[.].+(), line=\\([0-9]*\\),")
+ '(jde-gen-mouse-motion-listener-template (quote ("(end-of-line) '& (P \"Component name: \")" "\".addMouseMotionListener(new MouseMotionAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>" "'>'n \"public void mouseDragged(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void mouseMoved(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>")))
+ '(jde-key-bindings (quote (("[? ? ?]" . jde-run-menu-run-applet) ("[? ? ?]" . jde-build) ("[? ? ?]" . jde-compile) ("[? ? ?]" . jde-debug) ("[? ? ?]" . jde-wiz-implement-interface) ("[? ? ?j]" . jde-javadoc-generate-javadoc-template) ("[? ? ?]" . bsh) ("[? ? ?]" . jde-gen-println) ("[? ? ?]" . jde-browse-jdk-doc) ("[? ? ?]" . jde-save-project) ("[? ? ?]" . jde-wiz-update-class-list) ("[? ? ?]" . jde-run) ("[? ? ?]" . speedbar-frame-mode) ("[? ? ?]" . jde-db-menu-debug-applet) ("[? ? ?]" . jde-help-symbol) ("[? ? ?]" . jde-show-class-source) ("[? ? ?]" . jde-import-find-and-import) ("[(control c) (control v) (control ?.)]" . jde-complete-at-point-menu) ("[(control c) (control v) ?.]" . jde-complete-at-point))))
+ '(jde-gen-cflow-for-i (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"fori\")" "'(l '> \"for (int \" (p \"variable: \" var) \" = 0; \"" "(s var)" "\" < \"(p \"upper bound: \" ub)\"; \" (s var) \"++) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (int \" (s var) \" = 0; \"" "(s var) \" < \" (s ub) \"; \" (s var) \"++)\"'>'n'>)" ")")))
+ '(jde-run-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t)
+ '(jde-javadoc-gen-detail-switch (quote ("-protected")))
+ '(jde-bug-sio-connect-delay 1)
+ '(jde-javadoc-param-tag-template "\"* @param \" name \" \" (jde-javadoc-a type)
+ \" \" (jde-javadoc-code type) \" value\"")
+ '(jde-compile-option-verbose-path nil)
+ '(jde-javadoc-display-doc t)
+ '(jde-imenu-modifier-abbrev-alist (quote (("public" . 43) ("protected" . 177) ("private" . 172) ("static" . 2215) ("transient" . 35) ("volatile" . 126) ("abstract" . 170) ("final" . 182) ("native" . 36) ("synchronized" . 64) ("strictfp" . 37))))
+ '(jde-db-debugger (quote ("JDEbug" "/usr/local/jdk1.2.2/lib/i386" . "Executable")) t)
+ '(jde-jdk-doc-url "http://www.javasoft.com/products/jdk/1.1/docs/index.html")
+ '(jde-gen-cflow-enable t)
+ '(jde-compiler "javac")
+ '(jde-javadoc-gen-verbose nil)
+ '(jde-javadoc-describe-method-template "\"* Describe \" (jde-javadoc-code name) \" method here.\"")
+ '(jde-gen-class-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author <a href=\\\"mailto: \\\"\" (user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n'" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" \" (jde-gen-get-super-class)" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\">" "'>'n" "\"}\">" "\"// \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n")))
+ '(jde-javadoc-checker-level (quote protected))
+ '(jde-appletviewer-option-vm-args nil)
+ '(jde-run-executable-args nil)
+ '(jde-db-option-garbage-collection (quote (t t)))
+ '(jde-javadoc-gen-stylesheetfile "")
+ '(jde-use-font-lock t)
+ '(jde-compile-option-bootclasspath nil)
+ '(jde-make-program "make")
+ '(jde-javadoc-gen-group nil)
+ '(jde-javadoc-gen-link-offline nil)
+ '(jde-entering-java-buffer-hook (quote (jde-reload-project-file jde-which-method-update-on-entering-buffer)))
+ '(jde-javadoc-gen-doc-title "")
+ '(jde-javadoc-gen-header "")
+ '(jde-run-option-vm-args nil)
+ '(jde-javadoc-gen-window-title "")
+ '(jde-compile-option-directory "" t)
+ '(jde-imenu-create-index-function (quote semantic-create-imenu-index))
+ '(jde-gen-console-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author <a href=\\\"mailto: \\\"\" (user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "\"}\"'>'n" "'>'n" "\"public static void main(String[] args)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\"'>'n" "\"} // \"'>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n")))
+ '(jde-read-make-args nil)
+ '(jde-javadoc-gen-noindex nil)
+ '(jde-gen-mouse-listener-template (quote ("(end-of-line) '& (P \"Component name: \")" "\".addMouseListener(new MouseAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'> " "'>'n \"public void mouseClicked(MouseEvent e) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseEntered(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseExited(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void mousePressed(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseReleased(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>")))
+ '(jde-run-option-application-args (quote ("-IN" "test.xml" "-XSL" "test.xsl")) t)
+ '(jde-bug-vm-executable (quote ("java")))
+ '(jde-db-set-initial-breakpoint t)
+ '(jde-bug-debugger-command-timeout 10)
+ '(jde-db-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes"))))
+ '(jde-db-option-properties nil t)
+ '(jde-db-source-directories (quote ("/share/xsl/docbook/extensions/xalan2/" "/projects/apache/xml-xalan/java/src/" "/projects/apache/xml-xerces/java/build/src/" "/projects/sun/resolver/" "/home/ndw/java/")) t)
+ '(jde-run-read-app-args nil)
+ '(jde-gen-to-string-method-template (quote ("(end-of-line) '&" "\"public String toString() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n'>")))
+ '(jde-quote-classpath t)
+ '(jde-bug-window-message nil)
+ '(jde-build-use-make nil)
+ '(jde-javadoc-author-tag-template "\"* @author <a href=\\\"mailto:\" user-mail-address
+ \"\\\">\" user-full-name \"</a>\"")
+ '(jde-javadoc-describe-field-template "\"* Describe \" (jde-javadoc-field-type modifiers)
+ \" \" (jde-javadoc-code name) \" here.\"")
+ '(jde-javadoc-gen-link-URL nil)
+ '(jde-compile-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t)
+ '(jde-bug-jdk-directory "/usr/local/jdk1.2.2" t)
+ '(jde-gen-boilerplate-function (quote jde-gen-create-buffer-boilerplate))
+ '(jde-gen-entity-bean-template (quote ("(jde-import-insert-imports-into-buffer (list \"javax.ejb.*\"
+\"java.rmi.RemoteException\"))" "'> \"public void ejbActivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbPassivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbLoad() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbStore() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbRemove() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void setEntityContext(EntityContext ctx) throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void unsetEntityContext() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n'>")))
+ '(jde-javadoc-describe-constructor-template "\"* Creates a new \" (jde-javadoc-code name) \" instance.\"")
+ '(jde-bug-server-shmem-name (quote (t . "JDEbug")))
+ '(jde-db-startup-commands nil)
+ '(jde-javadoc-gen-docletpath nil)
+ '(jde-javadoc-gen-split-index nil)
+ '(jde-compile-option-deprecation nil t)
+ '(jde-import-group-of-rules (quote (("^javax?\\."))))
+ '(jde-which-method-mode t)
+ '(jde-gen-k&r t)
+ '(jde-javadoc-gen-bottom "")
+ '(jde-javadoc-gen-footer "")
+ '(jde-db-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t)
+ '(jde-gen-cflow-for (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"for\")" "'(l '> \"for (\" (p \"for-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-run-mode-hook nil)
+ '(jde-db-option-verify (quote (nil t)))
+ '(jde-compile-option-extdirs nil)
+ '(jde-imenu-sort nil)
+ '(jde-gen-get-set-var-template (quote ("(end-of-line) '&" "(P \"Variable type: \" type) \" \"" "(P \"Variable name: \" name) \";\" '>'n '>'n" "\"/**\" '>'n" "\"* Get the value of \" (s name) \".\" '>'n" "\"* @return value of \" (s name) \".\" '>'n" "\"*/\" '>'n" "'>'\"public \" (s type)" "(if (string= \"boolean\" (jde-gen-lookup-named 'type) ) " "\" is\" " "\" get\" ) " "(jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "\"return \" (s name) \";\" '>'n \"}\"" "'>'n '>'n" "\"/**\" '>'n" "\"* Set the value of \" (s name) \".\" '>'n" "\"* @param v Value to assign to \" (s name) \".\" '>'n" "\"*/\" '>'n" "'>'\"public void set\" (jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"(\" (s type) \" v) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "'>'\"this.\" (s name) \" = v;\" '>'n \"}\" '>'n'>")))
+ '(jde-bug-saved-breakpoints nil)
+ '(jde-compile-option-sourcepath (quote ("/share/xsl/docbook/extensions/xalan2" "/projects/apache/xml-xalan/java/build/src" "/projects/apache/xml-xerces/java/build/src" "/projects/sun/resolver")) t)
+ '(jde-gen-cflow-if (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"if\")" "'(l '> \"if (\" (p \"if-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-db-option-java-profile (quote (nil . "./java.prof")))
+ '(jde-javadoc-gen-author t)
+ '(jde-compile-option-depend-switch (quote ("-Xdepend")))
+ '(jde-setnu-mode-enable nil)
+ '(jde-run-applet-doc "")
+ '(jde-compile-option-vm-args nil)
+ '(jde-javadoc-gen-overview "")
+ '(jde-javadoc-gen-notree nil)
+ '(jde-run-option-garbage-collection (quote (t t)))
+ '(jde-db-mode-hook nil)
+ '(jde-javadoc-command-path "javadoc")
+ '(jde-db-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects")))
+ '(jde-import-group-function (quote jde-import-group-of))
+ '(jde-db-read-vm-args nil)
+ '(jde-bug-debug nil)
+ '(jde-javadoc-end-block-template nil)
+ '(jde-javadoc-gen-packages nil)
+ '(jde-gen-cflow-if-else (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"ife\")" "'(l '> \"if (\" (p \"if-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'> n" "'> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")else\"'>'n'>)" ")")))
+ '(jde-gen-cflow-while (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"while\")" "'(l '> \"while (\" (p \"while-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of while (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-bug-server-socket (quote (t . "2112")))
+ '(jde-imenu-include-modifiers nil)
+ '(jde-appletviewer-option-encoding "")
+ '(jde-bug-breakpoint-cursor-colors (quote ("cyan" . "brown")))
+ '(jde-compile-option-target (quote ("1.1")))
+ '(jde-run-executable "")
+ '(jde-run-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes"))))
+ '(jde-gen-cflow-switch (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"switch\")" "'(l '> \"switch (\" (p \"switch-condition: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'" "\"case \" (p \"first value: \") \":\"'>'n'>'p'n" "\"break;\"'>'n'>'p'n" "\"default:\"'>'n'>'p'n" "\"break;\"'>'n" "\"} // end of switch (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-which-method-abbrev-symbol "~")
+ '(jde-db-option-vm-args nil)
+ '(jde-run-application-class "org.apache.xalan.xslt.Process" t)
+ '(jde-javadoc-gen-doclet "")
+ '(jde-import-auto-sort nil)
+ '(jde-run-option-verbose (quote (nil nil nil)))
+ '(jde-project-file-name "prj.el")
+ '(jde-compile-option-debug (quote ("selected" (t nil nil))) t)
+ '(jde-bug-jre-home "")
+ '(jde-import-sorted-groups nil)
+ '(jde-run-applet-viewer "")
+ '(jde-javadoc-return-tag-template "\"* @return \" (jde-javadoc-a type)
+ \" \" (jde-javadoc-code type) \" value\"")
+ '(jde-javadoc-gen-version t)
+ '(jde-javadoc-gen-helpfile "")
+ '(jde-import-excluded-packages (quote ("bsh.*")))
+ '(jde-run-read-vm-args nil)
+ '(jde-help-docsets nil)
+ '(jde-gen-inner-class-template (quote ("(end-of-line) '& \"class \" (P \"Class name: \" class)" "(P \"Superclass: \" super t)" "(let ((parent (jde-gen-lookup-named 'super)))" "(if (not (string= parent \"\"))" "(concat \" extends \" parent ))) " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "\"public \" (s class) \"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n" "\"}\" '>'n'>")))
+ '(jde-auto-parse-buffer-interval 180)
+ '(jde-run-option-verify (quote (nil t)))
+ '(jde-import-reverse-sort-group nil)
+ '(jde-compile-option-optimize nil)
+ '(jde-gen-cflow-case (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"case\")" "'(l 'n \"case \" (p \"value: \") \":\"'>'n'>'p'n" "\"break;\"'>'n'>'p)" ")")))
+ '(jde-compile-option-depend nil)
+ '(jde-javadoc-describe-class-template "\"* Describe class \" (jde-javadoc-code name) \" here.\"")
+ '(jde-javadoc-gen-serialwarn nil)
+ '(jde-gen-action-listener-template (quote ("'& (P \"Component name: \")" "\".addActionListener(new ActionListener() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n \"});\"'>'n'>")))
+ '(jde-auto-parse-enable t)
+ '(jde-compile-option-command-line-args "")
+ '(jde-gen-buffer-templates (quote (("Class" . jde-gen-class) ("Console" . jde-gen-console) ("Swing App" . jde-gen-jfc-app))))
+ '(jde-project-context-switching-enabled-p t)
+ '(jde-javadoc-gen-args nil)
+ '(jde-run-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes"))))
+ '(jde-run-option-properties nil t))
+
+
diff --git a/lib/docbook/docbook-xsl/extensions/saxon642.jar b/lib/docbook/docbook-xsl/extensions/saxon642.jar Binary files differnew file mode 100644 index 000000000..dcc16590a --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642.jar diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/ChangeLog b/lib/docbook/docbook-xsl/extensions/saxon642/ChangeLog new file mode 100644 index 000000000..ba21554bc --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/ChangeLog @@ -0,0 +1,4 @@ +2001-07-16 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, prj.el: New file.
+
diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/CVS.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/CVS.java new file mode 100644 index 000000000..7d316a285 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/CVS.java @@ -0,0 +1,90 @@ +package com.nwalsh.saxon; + +import java.io.*; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; +import java.text.DateFormat; +import java.text.ParseException; + +/** + * <p>Saxon extension to convert CVS date strings into local time</p> + * + * <p>$Id: CVS.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * extension to turn the CVS date strings, which are UTC:</p> + * + * <pre>$Date: 2000/11/09 02:34:20 $</pre> + * + * <p>into legibly formatted local time:</p> + * + * <pre>Wed Nov 08 18:34:20 PST 2000</pre> + * + * <p>(I happened to be in California when I wrote this documentation.)</p> + + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: CVS.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + */ +public class CVS { + /** + * <p>Constructor for CVS</p> + * + * <p>All of the methods are static, so the constructor does nothing.</p> + */ + public CVS() { + } + + /** + * <p>Convert a CVS date string into local time.</p> + * + * @param cvsDate The CVS date string. + * + * @return The date, converted to local time and reformatted. + */ + public static String localTime (String cvsDate) { + // A cvsDate has the following form "$Date: 2002/05/15 17:22:27 $" + if (!cvsDate.startsWith("$Date: ")) { + return cvsDate; + } + + String yrS = cvsDate.substring(7,11); + String moS = cvsDate.substring(12,14); + String daS = cvsDate.substring(15,17); + String hrS = cvsDate.substring(18,20); + String miS = cvsDate.substring(21,23); + String seS = cvsDate.substring(24,26); + + TimeZone tz = TimeZone.getTimeZone("GMT+0"); + GregorianCalendar gmtCal = new GregorianCalendar(tz); + + try { + gmtCal.set(Integer.parseInt(yrS), + Integer.parseInt(moS)-1, + Integer.parseInt(daS), + Integer.parseInt(hrS), + Integer.parseInt(miS), + Integer.parseInt(seS)); + } catch (NumberFormatException e) { + // nop + } + + Date d = gmtCal.getTime(); + + return d.toString(); + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Callout.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Callout.java new file mode 100644 index 000000000..cffa054fe --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Callout.java @@ -0,0 +1,90 @@ +package com.nwalsh.saxon; + +import org.w3c.dom.*; + +/** + * <p>A class for maintaining information about callouts.</p> + * + * <p>To make processing callouts easier, they are parsed out of the + * input structure and stored in a sorted array. (The array is sorted + * according to the order in which the callouts occur.)</p> + * + * <p>This class is just the little record + * that we store in the array for each callout.</p> + */ +public class Callout implements Comparable { + /** The callout number. */ + private int callout = 0; + /** The area Element item that generated this callout. */ + private Element area = null; + /** The line on which this callout occurs. */ + private int line = 0; + /** The column in which this callout appears. */ + private int col = 0; + + /** The constructor; initialize the private data structures. */ + public Callout(int callout, Element area, int line, int col) { + this.callout = callout; + this.area = area; + this.line = line; + this.col = col; + } + + /** + * <p>The compareTo method compares this Callout with another.</p> + * + * <p>Given two Callouts, A and B, A < B if:</p> + * + * <ol> + * <li>A.line < B.line, or</li> + * <li>A.line = B.line && A.col < B.col, or</li> + * <li>A.line = B.line && A.col = B.col && A.callout < B.callout</li> + * <li>Otherwise, they're equal.</li> + * </ol> + */ + public int compareTo (Object o) { + Callout c = (Callout) o; + + if (line == c.getLine()) { + if (col > c.getColumn()) { + return 1; + } else if (col < c.getColumn()) { + return -1; + } else { + if (callout < c.getCallout()) { + return -1; + } else if (callout > c.getCallout()) { + return 1; + } else { + return 0; + } + } + } else { + if (line > c.getLine()) { + return 1; + } else { + return -1; + } + } + } + + /** Access the Callout's area. */ + public Element getArea() { + return area; + } + + /** Access the Callout's line. */ + public int getLine() { + return line; + } + + /** Access the Callout's column. */ + public int getColumn() { + return col; + } + + /** Access the Callout's callout number. */ + public int getCallout() { + return callout; + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/CalloutEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/CalloutEmitter.java new file mode 100644 index 000000000..c1b04e1f5 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/CalloutEmitter.java @@ -0,0 +1,524 @@ +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +/** + * <p>Saxon extension to decorate a result tree fragment with callouts.</p> + * + * <p>$Id: CalloutEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides the guts of a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation of callouts for verbatim environments. (It is used + * by the Verbatim class.)</p> + * + * <p>The general design is this: the stylesheets construct a result tree + * fragment for some verbatim environment. The Verbatim class initializes + * a CalloutEmitter with information about the callouts that should be applied + * to the verbatim environment in question. Then the result tree fragment + * is "replayed" through the CalloutEmitter; the CalloutEmitter builds a + * new result tree fragment from this event stream, decorated with callouts, + * and that is returned.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @see Verbatim + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: CalloutEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + */ +public class CalloutEmitter extends CopyEmitter { + /** A stack for the preserving information about open elements. */ + protected Stack elementStack = null; + + /** A stack for holding information about temporarily closed elements. */ + protected Stack tempStack = null; + + /** Is the next element absolutely the first element in the fragment? */ + protected boolean firstElement = false; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** The default column for callouts that specify only a line. */ + protected int defaultColumn = 60; + + /** Is the stylesheet currently running an FO stylesheet? */ + protected boolean foStylesheet = false; + + /** The current line number. */ + private static int lineNumber = 0; + + /** The current column number. */ + private static int colNumber = 0; + + /** The (sorted) array of callouts obtained from the areaspec. */ + private static Callout callout[] = null; + + /** The number of callouts in the callout array. */ + private static int calloutCount = 0; + + /** A pointer used to keep track of our position in the callout array. */ + private static int calloutPos = 0; + + /** The FormatCallout object to use for formatting callouts. */ + private static FormatCallout fCallout = null; + + /** <p>Constructor for the CalloutEmitter.</p> + * + * @param namePool The name pool to use for constructing elements and attributes. + * @param graphicsPath The path to callout number graphics. + * @param graphicsExt The extension for callout number graphics. + * @param graphicsMax The largest callout number that can be represented as a graphic. + * @param defaultColumn The default column for callouts. + * @param foStylesheet Is this an FO stylesheet? + */ + public CalloutEmitter(NamePool namePool, + int defaultColumn, + boolean foStylesheet, + FormatCallout fCallout) { + super(namePool); + elementStack = new Stack(); + firstElement = true; + + this.defaultColumn = defaultColumn; + this.foStylesheet = foStylesheet; + this.fCallout = fCallout; + } + + /** + * <p>Examine the areaspec and determine the number and position of + * callouts.</p> + * + * <p>The <code><a href="http://docbook.org/tdg/html/areaspec.html">areaspecNodeSet</a></code> + * is examined and a sorted list of the callouts is constructed.</p> + * + * <p>This data structure is used to augment the result tree fragment + * with callout bullets.</p> + * + * @param areaspecNodeSet The source document <areaspec> element. + * + */ + public void setupCallouts (NodeList areaspecNodeList) { + callout = new Callout[10]; + calloutCount = 0; + calloutPos = 0; + lineNumber = 1; + colNumber = 1; + + // First we walk through the areaspec to calculate the position + // of the callouts + // <areaspec> + // <areaset id="ex.plco.const" coords=""> + // <area id="ex.plco.c1" coords="4"/> + // <area id="ex.plco.c2" coords="8"/> + // </areaset> + // <area id="ex.plco.ret" coords="12"/> + // <area id="ex.plco.dest" coords="12"/> + // </areaspec> + int pos = 0; + int coNum = 0; + boolean inAreaSet = false; + Node areaspec = areaspecNodeList.item(0); + NodeList children = areaspec.getChildNodes(); + + for (int count = 0; count < children.getLength(); count++) { + Node node = children.item(count); + if (node.getNodeType() == Node.ELEMENT_NODE) { + if (node.getNodeName().equalsIgnoreCase("areaset")) { + coNum++; + NodeList areas = node.getChildNodes(); + for (int acount = 0; acount < areas.getLength(); acount++) { + Node area = areas.item(acount); + if (area.getNodeType() == Node.ELEMENT_NODE) { + if (area.getNodeName().equalsIgnoreCase("area")) { + addCallout(coNum, area, defaultColumn); + } else { + System.out.println("Unexpected element in areaset: " + + area.getNodeName()); + } + } + } + } else if (node.getNodeName().equalsIgnoreCase("area")) { + coNum++; + addCallout(coNum, node, defaultColumn); + } else { + System.out.println("Unexpected element in areaspec: " + + node.getNodeName()); + } + } + } + + // Now sort them + java.util.Arrays.sort(callout, 0, calloutCount); + } + + /** Process characters. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + + // If we hit characters, then there's no first element... + firstElement = false; + + if (lineNumber == 0) { + // if there are any text nodes, there's at least one line + lineNumber++; + colNumber = 1; + } + + // Walk through the text node looking for callout positions + char[] newChars = new char[len]; + int pos = 0; + for (int count = start; count < start+len; count++) { + if (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + + closeOpenElements(rtfEmitter); + + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + fCallout.formatCallout(rtfEmitter, callout[calloutPos]); + calloutPos++; + } + + openClosedElements(rtfEmitter); + } + + if (chars[count] == '\n') { + // What if we need to pad this line? + if (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() > colNumber) { + + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + + closeOpenElements(rtfEmitter); + + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() > colNumber) { + formatPad(callout[calloutPos].getColumn() - colNumber); + colNumber = callout[calloutPos].getColumn(); + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + fCallout.formatCallout(rtfEmitter, callout[calloutPos]); + calloutPos++; + } + } + + openClosedElements(rtfEmitter); + } + + lineNumber++; + colNumber = 1; + } else { + colNumber++; + } + newChars[pos++] = chars[count]; + } + + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + } + } + + /** + * <p>Add blanks to the result tree fragment.</p> + * + * <p>This method adds <tt>numBlanks</tt> to the result tree fragment. + * It's used to pad lines when callouts occur after the last existing + * characater in a line.</p> + * + * @param numBlanks The number of blanks to add. + */ + protected void formatPad(int numBlanks) { + char chars[] = new char[numBlanks]; + for (int count = 0; count < numBlanks; count++) { + chars[count] = ' '; + } + + try { + rtfEmitter.characters(chars, 0, numBlanks); + } catch (TransformerException e) { + System.out.println("Transformer Exception in formatPad"); + } + } + + /** + * <p>Add a callout to the global callout array</p> + * + * <p>This method examines a callout <tt>area</tt> and adds it to + * the global callout array if it can be interpreted.</p> + * + * <p>Only the <tt>linecolumn</tt> and <tt>linerange</tt> units are + * supported. If no unit is specifed, <tt>linecolumn</tt> is assumed. + * If only a line is specified, the callout decoration appears in + * the <tt>defaultColumn</tt>.</p> + * + * @param coNum The callout number. + * @param node The <tt>area</tt>. + * @param defaultColumn The default column for callouts. + */ + protected void addCallout (int coNum, + Node node, + int defaultColumn) { + + Element area = (Element) node; + String units = null; + String coords = null; + + if (area.hasAttribute("units")) { + units = area.getAttribute("units"); + } + + if (area.hasAttribute("coords")) { + coords = area.getAttribute("coords"); + } + + if (units != null + && !units.equalsIgnoreCase("linecolumn") + && !units.equalsIgnoreCase("linerange")) { + System.out.println("Only linecolumn and linerange units are supported"); + return; + } + + if (coords == null) { + System.out.println("Coords must be specified"); + return; + } + + // Now let's see if we can interpret the coordinates... + StringTokenizer st = new StringTokenizer(coords); + int tokenCount = 0; + int c1 = 0; + int c2 = 0; + while (st.hasMoreTokens()) { + tokenCount++; + if (tokenCount > 2) { + System.out.println("Unparseable coordinates"); + return; + } + try { + String token = st.nextToken(); + int coord = Integer.parseInt(token); + c2 = coord; + if (tokenCount == 1) { + c1 = coord; + } + } catch (NumberFormatException e) { + System.out.println("Unparseable coordinate"); + return; + } + } + + // Make sure we aren't going to blow past the end of our array + if (calloutCount == callout.length) { + Callout bigger[] = new Callout[calloutCount+10]; + for (int count = 0; count < callout.length; count++) { + bigger[count] = callout[count]; + } + callout = bigger; + } + + // Ok, add the callout + if (tokenCount == 2) { + if (units != null && units.equalsIgnoreCase("linerange")) { + for (int count = c1; count <= c2; count++) { + callout[calloutCount++] = new Callout(coNum, area, + count, defaultColumn); + } + } else { + // assume linecolumn + callout[calloutCount++] = new Callout(coNum, area, c1, c2); + } + } else { + // if there's only one number, assume it's the line + callout[calloutCount++] = new Callout(coNum, area, c1, defaultColumn); + } + } + + /** Process end element events. */ + public void endElement(int nameCode) + throws TransformerException { + + if (!elementStack.empty()) { + // if we didn't push the very first element (an fo:block or + // pre or div surrounding the whole block), then the stack will + // be empty when we get to the end of the first element... + elementStack.pop(); + } + rtfEmitter.endElement(nameCode); + } + + /** Process start element events. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws TransformerException { + + if (!skipThisElement(nameCode)) { + StartElementInfo sei = new StartElementInfo(nameCode, attributes, + namespaces, nscount); + elementStack.push(sei); + } + + firstElement = false; + + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } + + /** + * <p>Protect the outer-most block wrapper.</p> + * + * <p>Open elements in the result tree fragment are closed and reopened + * around callouts (so that callouts don't appear inside links or other + * environments). But if the result tree fragment is a single block + * (a div or pre in HTML, an fo:block in FO), that outer-most block is + * treated specially.</p> + * + * <p>This method returns true if the element in question is that + * outermost block.</p> + * + * @param nameCode The name code for the element + * + * @return True if the element is the outer-most block, false otherwise. + */ + protected boolean skipThisElement(int nameCode) { + if (firstElement) { + int thisFingerprint = namePool.getFingerprint(nameCode); + int foBlockFingerprint = namePool.getFingerprint(foURI, "block"); + int htmlPreFingerprint = namePool.getFingerprint("", "pre"); + int htmlDivFingerprint = namePool.getFingerprint("", "div"); + + if ((foStylesheet && thisFingerprint == foBlockFingerprint) + || (!foStylesheet && (thisFingerprint == htmlPreFingerprint + || thisFingerprint == htmlDivFingerprint))) { + // Don't push the outer-most wrapping div, pre, or fo:block + return true; + } + } + + return false; + } + + private void closeOpenElements(Emitter rtfEmitter) + throws TransformerException { + // Close all the open elements... + tempStack = new Stack(); + while (!elementStack.empty()) { + StartElementInfo elem = (StartElementInfo) elementStack.pop(); + rtfEmitter.endElement(elem.getNameCode()); + tempStack.push(elem); + } + } + + private void openClosedElements(Emitter rtfEmitter) + throws TransformerException { + // Now "reopen" the elements that we closed... + while (!tempStack.empty()) { + StartElementInfo elem = (StartElementInfo) tempStack.pop(); + AttributeCollection attr = (AttributeCollection) elem.getAttributes(); + AttributeCollection newAttr = new AttributeCollection(namePool); + + for (int acount = 0; acount < attr.getLength(); acount++) { + String localName = attr.getLocalName(acount); + int nameCode = attr.getNameCode(acount); + String type = attr.getType(acount); + String value = attr.getValue(acount); + String uri = attr.getURI(acount); + String prefix = ""; + + if (localName.indexOf(':') > 0) { + prefix = localName.substring(0, localName.indexOf(':')); + localName = localName.substring(localName.indexOf(':')+1); + } + + if (uri.equals("") + && ((foStylesheet + && localName.equals("id")) + || (!foStylesheet + && (localName.equals("id") + || localName.equals("name"))))) { + // skip this attribute + } else { + newAttr.addAttribute(prefix, uri, localName, type, value); + } + } + + rtfEmitter.startElement(elem.getNameCode(), + newAttr, + elem.getNamespaces(), + elem.getNSCount()); + + elementStack.push(elem); + } + } + + /** + * <p>A private class for maintaining the information required to call + * the startElement method.</p> + * + * <p>In order to close and reopen elements, information about those + * elements has to be maintained. This class is just the little record + * that we push on the stack to keep track of that info.</p> + */ + private class StartElementInfo { + private int _nameCode; + org.xml.sax.Attributes _attributes; + int[] _namespaces; + int _nscount; + + public StartElementInfo(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) { + _nameCode = nameCode; + _attributes = attributes; + _namespaces = namespaces; + _nscount = nscount; + } + + public int getNameCode() { + return _nameCode; + } + + public org.xml.sax.Attributes getAttributes() { + return _attributes; + } + + public int[] getNamespaces() { + return _namespaces; + } + + public int getNSCount() { + return _nscount; + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/ChangeLog b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/ChangeLog new file mode 100644 index 000000000..75a9acdd5 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/ChangeLog @@ -0,0 +1,14 @@ +2001-08-05 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * FormatDingbatCallout.java, FormatUnicodeCallout.java, Verbatim.java:
+ Removed the FormatDingbatCallout classes, they were the same as the FormatUnicodeCallout classes but with a font wrapper. Added a callout.unicode.font parameter to wrap Unicode callouts
+
+2001-07-31 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * FormatCallout.java: Fix attribute test
+
+2001-07-16 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * CVS.java, Callout.java, CalloutEmitter.java, ColumnScanEmitter.java, ColumnUpdateEmitter.java, CopyEmitter.java, FormatCallout.java, FormatDingbatCallout.java, FormatGraphicCallout.java, FormatTextCallout.java, FormatUnicodeCallout.java, LineCountEmitter.java, NumberLinesEmitter.java, Table.java, Text.java, TextFactory.java, Verbatim.java, package.html:
+ New file.
+
diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/ColumnScanEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/ColumnScanEmitter.java new file mode 100644 index 000000000..bd0eb1290 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/ColumnScanEmitter.java @@ -0,0 +1,165 @@ +package com.nwalsh.saxon; + +import org.xml.sax.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.output.*; +import com.icl.saxon.om.*; +import com.icl.saxon.expr.FragmentValue; + +/** + * <p>Saxon extension to scan the column widthsin a result tree fragment.</p> + * + * <p>$Id: ColumnScanEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation to scan the column widths in a result tree + * fragment.</p> + * + * <p>The general design is this: the stylesheets construct a result tree + * fragment for some colgroup environment. That result tree fragment + * is "replayed" through the ColumnScanEmitter; the ColumnScanEmitter watches + * the cols go by and extracts the column widths that it sees. These + * widths are then made available.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: ColumnScanEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + */ +public class ColumnScanEmitter extends com.icl.saxon.output.Emitter { + /** The number of columns seen. */ + protected int numColumns = 0; + protected String width[] = new String[5]; + protected NamePool namePool = null; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** Construct a new ColumnScanEmitter. */ + public ColumnScanEmitter(NamePool namePool) { + numColumns = 0; + this.namePool = namePool; + } + + /** Return the number of columns. */ + public int columnCount() { + return numColumns; + } + + /** Return the number of columns. */ + public String[] columnWidths() { + return width; + } + + /** Discarded. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void comment(char[] chars, int start, int length) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void endDocument() + throws TransformerException { + // nop + } + + /** Discarded. */ + public void endElement(int nameCode) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void processingInstruction(java.lang.String name, + java.lang.String data) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void setDocumentLocator(org.xml.sax.Locator locator) { + // nop + } + + /** Discarded. */ + public void setEscaping(boolean escaping) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void setNamePool(NamePool namePool) { + // nop + } + + /** Discarded. */ + public void setUnparsedEntity(java.lang.String name, java.lang.String uri) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void setWriter(java.io.Writer writer) { + // nop + } + + /** Discarded. */ + public void startDocument() + throws TransformerException { + // nop + } + + /** Examine for column info. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, int nscount) + throws TransformerException { + + int thisFingerprint = namePool.getFingerprint(nameCode); + int colFingerprint = namePool.getFingerprint("", "col"); + int foColFingerprint = namePool.getFingerprint(foURI, "table-column"); + + if (thisFingerprint == colFingerprint + || thisFingerprint == foColFingerprint) { + if (numColumns >= width.length) { + String newWidth[] = new String[width.length+10]; + for (int count = 0; count < width.length; count++) { + newWidth[count] = width[count]; + } + width = newWidth; + } + + if (thisFingerprint == colFingerprint) { + if (attributes.getValue("width") == null) { + width[numColumns++] = "1*"; + } else { + width[numColumns++] = attributes.getValue("width"); + } + } else { + if (attributes.getValue("column-width") == null) { + width[numColumns++] = "1*"; + } else { + width[numColumns++] = attributes.getValue("column-width"); + } + } + } + } +} + + diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/ColumnUpdateEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/ColumnUpdateEmitter.java new file mode 100644 index 000000000..2521f86a1 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/ColumnUpdateEmitter.java @@ -0,0 +1,94 @@ +package com.nwalsh.saxon; + +import org.xml.sax.*; +import com.icl.saxon.output.*; +import com.icl.saxon.om.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.expr.FragmentValue; +import com.icl.saxon.tree.AttributeCollection; + +/** + * <p>Saxon extension to scan the column widthsin a result tree fragment.</p> + * + * <p>$Id: ColumnUpdateEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation to scan the column widths in a result tree + * fragment.</p> + * + * <p>The general design is this: the stylesheets construct a result tree + * fragment for some colgroup environment. That result tree fragment + * is "replayed" through the ColumnUpdateEmitter; the ColumnUpdateEmitter watches + * the cols go by and extracts the column widths that it sees. These + * widths are then made available.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: ColumnUpdateEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + */ +public class ColumnUpdateEmitter extends CopyEmitter { + /** The number of columns seen. */ + protected int numColumns = 0; + protected String width[] = null; + protected NamePool namePool = null; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** Construct a new ColumnUpdateEmitter. */ + public ColumnUpdateEmitter(NamePool namePool, + String width[]) { + super(namePool); + numColumns = 0; + this.width = width; + this.namePool = namePool; + } + + /** Examine for column info. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, int nscount) + throws TransformerException { + + int thisFingerprint = namePool.getFingerprint(nameCode); + int colFingerprint = namePool.getFingerprint("", "col"); + int foColFingerprint = namePool.getFingerprint(foURI, "table-column"); + + if (thisFingerprint == colFingerprint) { + AttributeCollection attr = new AttributeCollection(namePool, attributes); + int widthFingerprint = namePool.getFingerprint("", "width"); + + if (attr.getValueByFingerprint(widthFingerprint) == null) { + attr.addAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } else { + attr.setAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } + attributes = attr; + } else if (thisFingerprint == foColFingerprint) { + AttributeCollection attr = new AttributeCollection(namePool, attributes); + int widthFingerprint = namePool.getFingerprint("", "column-width"); + + if (attr.getValueByFingerprint(widthFingerprint) == null) { + attr.addAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } else { + attr.setAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } + attributes = attr; + } + + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } +} + + diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/CopyEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/CopyEmitter.java new file mode 100644 index 000000000..2c72b0971 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/CopyEmitter.java @@ -0,0 +1,148 @@ +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.Context; +import com.icl.saxon.expr.*; +import com.icl.saxon.functions.Extensions; +import com.icl.saxon.om.*; +import com.icl.saxon.output.*; +import com.icl.saxon.pattern.*; +import com.icl.saxon.tree.*; + +/** + * <p>A Saxon 6.0 Emitter that clones its input.</p> + * + * <p>$Id: CopyEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation of an emitter that manufactures a cloned result + * tree fragment.</p> + * + * <p>The purpose of this emitter is to provide something for + * CalloutEmitter and NumberLinesEmitter to extend. + * This emitter simply copies all input to a new result tree fragment.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @see CalloutEmitter + * @see NumberLinesEmitter + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: CopyEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + */ +public class CopyEmitter extends com.icl.saxon.output.Emitter { + /** The result tree fragment containing the copied fragment. */ + protected FragmentValue rtf = null; + protected Emitter rtfEmitter = null; + + /** <p>The namePool.</p> + * + * <p>Copied from the caller, it should be the runtime name pool.</p> + */ + protected NamePool namePool = null; + + /** <p>Constructor for the CopyEmitter.</p> + * + * @param namePool The name pool to use for constructing elements and attributes. + */ + public CopyEmitter(NamePool namePool) { + rtf = new FragmentValue(); + rtfEmitter = rtf.getEmitter(); + this.namePool = namePool; + } + + /** + * <p>Return the result tree fragment constructed by replaying events + * through this emitter.</p> + */ + public FragmentValue getResultTreeFragment() { + return rtf; + } + + /** Copy characters. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + rtfEmitter.characters(chars, start, len); + } + + /** Copy comments. */ + public void comment(char[] chars, int start, int length) + throws TransformerException { + rtfEmitter.comment(chars, start, length); + } + + /** Copy end document events. */ + public void endDocument() + throws TransformerException { + rtfEmitter.endDocument(); + } + + /** Copy end element events. */ + public void endElement(int nameCode) + throws TransformerException { + rtfEmitter.endElement(nameCode); + } + + /** Copy processing instructions. */ + public void processingInstruction(java.lang.String name, + java.lang.String data) + throws TransformerException { + rtfEmitter.processingInstruction(name, data); + } + + /** Copy set document locator events. */ + public void setDocumentLocator(org.xml.sax.Locator locator) { + rtfEmitter.setDocumentLocator(locator); + } + + /** Copy set escaping events. */ + public void setEscaping(boolean escaping) + throws TransformerException { + rtfEmitter.setEscaping(escaping); + } + + /** Copy set name pool events. */ + public void setNamePool(NamePool namePool) { + rtfEmitter.setNamePool(namePool); + } + + /** Copy set unparsed entity events. */ + public void setUnparsedEntity(java.lang.String name, java.lang.String uri) + throws TransformerException { + rtfEmitter.setUnparsedEntity(name, uri); + } + + /** Copy set writer events. */ + public void setWriter(java.io.Writer writer) { + rtfEmitter.setWriter(writer); + } + + /** Copy start document events. */ + public void startDocument() + throws TransformerException { + rtfEmitter.startDocument(); + } + + /** Copy start element events. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws TransformerException { + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatCallout.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatCallout.java new file mode 100644 index 000000000..bc71e9cbf --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatCallout.java @@ -0,0 +1,111 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +import com.nwalsh.saxon.Callout; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatCallout.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatCallout.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + **/ + +public abstract class FormatCallout { + protected static final String foURI = "http://www.w3.org/1999/XSL/Format"; + protected static final String xhURI = "http://www.w3.org/1999/xhtml"; + protected boolean foStylesheet = false; + protected NamePool namePool = null; + + public FormatCallout(NamePool nPool, boolean fo) { + namePool = nPool; + foStylesheet = fo; + } + + public String areaLabel(Element area) { + String label = null; + + if (area.hasAttribute("label")) { + // If this area has a label, use it + label = area.getAttribute("label"); + } else { + // Otherwise, if its parent is an areaset and it has a label, use that + Element parent = (Element) area.getParentNode(); + if (parent != null + && parent.getLocalName().equalsIgnoreCase("areaset") + && parent.hasAttribute("label")) { + label = parent.getAttribute("label"); + } + } + + return label; + } + + public void startSpan(Emitter rtf) + throws TransformerException { + // no point in doing this for FO, right? + if (!foStylesheet && namePool != null) { + int spanName = namePool.allocate("", "", "span"); + AttributeCollection spanAttr = new AttributeCollection(namePool); + int namespaces[] = new int[1]; + spanAttr.addAttribute("", "", "class", "CDATA", "co"); + rtf.startElement(spanName, spanAttr, namespaces, 0); + } + } + + public void endSpan(Emitter rtf) + throws TransformerException { + // no point in doing this for FO, right? + if (!foStylesheet && namePool != null) { + int spanName = namePool.allocate("", "", "span"); + rtf.endElement(spanName); + } + } + + public void formatTextCallout(Emitter rtfEmitter, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = "(" + num + ")"; + + if (userLabel != null) { + label = userLabel; + } + + char chars[] = label.toCharArray(); + + try { + startSpan(rtfEmitter); + rtfEmitter.characters(chars, 0, label.length()); + endSpan(rtfEmitter); + } catch (TransformerException e) { + System.out.println("Transformer Exception in formatTextCallout"); + } + } + + public abstract void formatCallout(Emitter rtfEmitter, + Callout callout); +} + diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatGraphicCallout.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatGraphicCallout.java new file mode 100644 index 000000000..34bfc47a1 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatGraphicCallout.java @@ -0,0 +1,88 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +import com.nwalsh.saxon.Callout; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatGraphicCallout.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatGraphicCallout.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + **/ + +public class FormatGraphicCallout extends FormatCallout { + String graphicsPath = ""; + String graphicsExt = ""; + int graphicsMax = 0; + + public FormatGraphicCallout(NamePool nPool, String path, String ext, int max, boolean fo) { + super(nPool, fo); + graphicsPath = path; + graphicsExt = ext; + graphicsMax = max; + } + + public void formatCallout(Emitter rtfEmitter, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = "(" + num + ")"; + + if (userLabel != null) { + label = userLabel; + } + + try { + if (userLabel == null && num <= graphicsMax) { + int imgName = 0; + AttributeCollection imgAttr = null; + int namespaces[] = new int[1]; + + if (foStylesheet) { + imgName = namePool.allocate("fo", foURI, "external-graphic"); + imgAttr = new AttributeCollection(namePool); + imgAttr.addAttribute("", "", "src", "CDATA", + graphicsPath + num + graphicsExt); + } else { + imgName = namePool.allocate("", "", "img"); + imgAttr = new AttributeCollection(namePool); + imgAttr.addAttribute("", "", "src", "CDATA", + graphicsPath + num + graphicsExt); + imgAttr.addAttribute("", "", "alt", "CDATA", label); + } + + startSpan(rtfEmitter); + rtfEmitter.startElement(imgName, imgAttr, namespaces, 0); + rtfEmitter.endElement(imgName); + endSpan(rtfEmitter); + } else { + formatTextCallout(rtfEmitter, callout); + } + } catch (TransformerException e) { + System.out.println("Transformer Exception in graphic formatCallout"); + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatTextCallout.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatTextCallout.java new file mode 100644 index 000000000..ff4cef0c1 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatTextCallout.java @@ -0,0 +1,43 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; + +import com.nwalsh.saxon.Callout; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatTextCallout.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatTextCallout.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + **/ + +public class FormatTextCallout extends FormatCallout { + public FormatTextCallout(NamePool nPool, boolean fo) { + super(nPool, fo); + } + + public void formatCallout(Emitter rtfEmitter, + Callout callout) { + formatTextCallout(rtfEmitter, callout); + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatUnicodeCallout.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatUnicodeCallout.java new file mode 100644 index 000000000..0c97e1ac2 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/FormatUnicodeCallout.java @@ -0,0 +1,98 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +import com.nwalsh.saxon.Callout; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatUnicodeCallout.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatUnicodeCallout.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + **/ + +public class FormatUnicodeCallout extends FormatCallout { + int unicodeMax = 0; + int unicodeStart = 0; + String unicodeFont = ""; + + public FormatUnicodeCallout(NamePool nPool, + String font, + int start, + int max, + boolean fo) { + super(nPool, fo); + unicodeFont = font; + unicodeMax = max; + unicodeStart = start; + } + + public void formatCallout(Emitter rtfEmitter, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = ""; + + if (userLabel != null) { + label = userLabel; + } + + try { + if (userLabel == null && num <= unicodeMax) { + int inName = 0; + AttributeCollection inAttr = null; + int namespaces[] = new int[1]; + + if (!unicodeFont.equals("")) { + if (foStylesheet) { + inName = namePool.allocate("fo", foURI, "inline"); + inAttr = new AttributeCollection(namePool); + inAttr.addAttribute("", "", "font-family", "CDATA", unicodeFont); + } else { + inName = namePool.allocate("", "", "font"); + inAttr = new AttributeCollection(namePool); + inAttr.addAttribute("", "", "face", "CDATA", unicodeFont); + } + + startSpan(rtfEmitter); + rtfEmitter.startElement(inName, inAttr, namespaces, 0); + } + + char chars[] = new char[1]; + chars[0] = (char) (unicodeStart + num - 1); + rtfEmitter.characters(chars, 0, 1); + + if (!unicodeFont.equals("")) { + rtfEmitter.endElement(inName); + endSpan(rtfEmitter); + } + } else { + formatTextCallout(rtfEmitter, callout); + } + } catch (TransformerException e) { + System.out.println("Transformer Exception in graphic formatCallout"); + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/LineCountEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/LineCountEmitter.java new file mode 100644 index 000000000..2200a4d9a --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/LineCountEmitter.java @@ -0,0 +1,141 @@ +package com.nwalsh.saxon; + +import org.xml.sax.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.output.*; +import com.icl.saxon.om.*; +import com.icl.saxon.expr.FragmentValue; + +/** + * <p>Saxon extension to count the lines in a result tree fragment.</p> + * + * <p>$Id: LineCountEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation to count the number of lines in a result tree + * fragment.</p> + * + * <p>The general design is this: the stylesheets construct a result tree + * fragment for some verbatim environment. That result tree fragment + * is "replayed" through the LineCountEmitter; the LineCountEmitter watches + * characters go by and counts the number of line feeds that it sees. + * That number is then returned.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @see Verbatim + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: LineCountEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + */ +public class LineCountEmitter extends com.icl.saxon.output.Emitter { + /** The number of lines seen. */ + protected int numLines = 0; + + /** Construct a new LineCountEmitter. */ + public LineCountEmitter() { + numLines = 0; + } + + /** Reset the number of lines. */ + public void reset() { + numLines = 0; + } + + /** Return the number of lines. */ + public int lineCount() { + return numLines; + } + + /** Process characters. */ + public void characters(char[] chars, int start, int len) + throws javax.xml.transform.TransformerException { + + if (numLines == 0) { + // If there are any characters at all, there's at least one line + numLines++; + } + + for (int count = start; count < start+len; count++) { + if (chars[count] == '\n') { + numLines++; + } + } + } + + /** Discarded. */ + public void comment(char[] chars, int start, int length) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void endDocument() + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void endElement(int nameCode) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void processingInstruction(java.lang.String name, + java.lang.String data) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void setDocumentLocator(org.xml.sax.Locator locator) { + // nop + } + + /** Discarded. */ + public void setEscaping(boolean escaping) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void setNamePool(NamePool namePool) { + // nop + } + + /** Discarded. */ + public void setUnparsedEntity(java.lang.String name, java.lang.String uri) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void setWriter(java.io.Writer writer) { + // nop + } + + /** Discarded. */ + public void startDocument() + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, int nscount) + throws javax.xml.transform.TransformerException { + // nop + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/NumberLinesEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/NumberLinesEmitter.java new file mode 100644 index 000000000..8e31bf9f6 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/NumberLinesEmitter.java @@ -0,0 +1,322 @@ +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.output.*; +import com.icl.saxon.om.*; +import com.icl.saxon.tree.AttributeCollection; +import com.icl.saxon.expr.FragmentValue; + +/** + * <p>Saxon extension to decorate a result tree fragment with line numbers.</p> + * + * <p>$Id: NumberLinesEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides the guts of a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation of line numbering for verbatim environments. (It is used + * by the Verbatim class.)</p> + * + * <p>The general design is this: the stylesheets construct a result tree + * fragment for some verbatim environment. The Verbatim class initializes + * a NumberLinesEmitter with information about what lines should be + * numbered and how. Then the result tree fragment + * is "replayed" through the NumberLinesEmitter; the NumberLinesEmitter + * builds a + * new result tree fragment from this event stream, decorated with line + * numbers, + * and that is returned.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @see Verbatim + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: NumberLinesEmitter.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + */ +public class NumberLinesEmitter extends CopyEmitter { + /** A stack for the preserving information about open elements. */ + protected Stack elementStack = null; + + /** The current line number. */ + protected int lineNumber = 0; + + /** Is the next element absolutely the first element in the fragment? */ + protected boolean firstElement = false; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** Every <code>modulus</code> line will be numbered. */ + protected int modulus = 5; + + /** Line numbers are <code>width</code> characters wide. */ + protected int width = 3; + + /** Line numbers are separated from the listing by <code>separator</code>. */ + protected String separator = " "; + + /** Is the stylesheet currently running an FO stylesheet? */ + protected boolean foStylesheet = false; + + /** <p>Constructor for the NumberLinesEmitter.</p> + * + * @param namePool The name pool to use for constructing elements and attributes. + * @param modulus The modulus to use for this listing. + * @param width The width to use for line numbers in this listing. + * @param separator The separator to use for this listing. + * @param foStylesheet Is this an FO stylesheet? + */ + public NumberLinesEmitter(NamePool namePool, + int modulus, + int width, + String separator, + boolean foStylesheet) { + super(namePool); + elementStack = new Stack(); + firstElement = true; + + this.modulus = modulus; + this.width = width; + this.separator = separator; + this.foStylesheet = foStylesheet; + } + + /** Process characters. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + + // If we hit characters, then there's no first element... + firstElement = false; + + if (lineNumber == 0) { + // The first line is always numbered + formatLineNumber(++lineNumber); + } + + // Walk through the text node looking for newlines + char[] newChars = new char[len]; + int pos = 0; + for (int count = start; count < start+len; count++) { + if (chars[count] == '\n') { + // This is the tricky bit; if we find a newline, make sure + // it doesn't occur inside any markup. + + if (pos > 0) { + // Output any characters that preceded this newline + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + + // Close all the open elements... + Stack tempStack = new Stack(); + while (!elementStack.empty()) { + StartElementInfo elem = (StartElementInfo) elementStack.pop(); + rtfEmitter.endElement(elem.getNameCode()); + tempStack.push(elem); + } + + // Copy the newline to the output + newChars[pos++] = chars[count]; + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + + // Add the line number + formatLineNumber(++lineNumber); + + // Now "reopen" the elements that we closed... + while (!tempStack.empty()) { + StartElementInfo elem = (StartElementInfo) tempStack.pop(); + AttributeCollection attr = (AttributeCollection)elem.getAttributes(); + AttributeCollection newAttr = new AttributeCollection(namePool); + + for (int acount = 0; acount < attr.getLength(); acount++) { + String localName = attr.getLocalName(acount); + int nameCode = attr.getNameCode(acount); + String type = attr.getType(acount); + String value = attr.getValue(acount); + String uri = attr.getURI(acount); + String prefix = ""; + + if (localName.indexOf(':') > 0) { + prefix = localName.substring(0, localName.indexOf(':')); + localName = localName.substring(localName.indexOf(':')+1); + } + + if (uri.equals("") + && ((foStylesheet + && localName.equals("id")) + || (!foStylesheet + && (localName.equals("id") + || localName.equals("name"))))) { + // skip this attribute + } else { + newAttr.addAttribute(prefix, uri, localName, type, value); + } + } + + rtfEmitter.startElement(elem.getNameCode(), + newAttr, + elem.getNamespaces(), + elem.getNSCount()); + + elementStack.push(elem); + } + } else { + newChars[pos++] = chars[count]; + } + } + + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + } + + /** + * <p>Add a formatted line number to the result tree fragment.</p> + * + * @param lineNumber The number of the current line. + */ + protected void formatLineNumber(int lineNumber) + throws TransformerException { + + char ch = 160; // + + String lno = ""; + if (lineNumber == 1 + || (modulus >= 1 && (lineNumber % modulus == 0))) { + lno = "" + lineNumber; + } + + while (lno.length() < width) { + lno = ch + lno; + } + + lno += separator; + + char chars[] = new char[lno.length()]; + for (int count = 0; count < lno.length(); count++) { + chars[count] = lno.charAt(count); + } + + characters(chars, 0, lno.length()); + } + + /** Process end element events. */ + public void endElement(int nameCode) + throws TransformerException { + if (!elementStack.empty()) { + // if we didn't push the very first element (an fo:block or + // pre or div surrounding the whole block), then the stack will + // be empty when we get to the end of the first element... + elementStack.pop(); + } + rtfEmitter.endElement(nameCode); + } + + /** Process start element events. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws TransformerException { + + if (!skipThisElement(nameCode)) { + StartElementInfo sei = new StartElementInfo(nameCode, attributes, + namespaces, nscount); + elementStack.push(sei); + } + + firstElement = false; + + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } + + /** + * <p>Protect the outer-most block wrapper.</p> + * + * <p>Open elements in the result tree fragment are closed and reopened + * around callouts (so that callouts don't appear inside links or other + * environments). But if the result tree fragment is a single block + * (a div or pre in HTML, an fo:block in FO), that outer-most block is + * treated specially.</p> + * + * <p>This method returns true if the element in question is that + * outermost block.</p> + * + * @param nameCode The name code for the element + * + * @return True if the element is the outer-most block, false otherwise. + */ + protected boolean skipThisElement(int nameCode) { + if (firstElement) { + int thisFingerprint = namePool.getFingerprint(nameCode); + int foBlockFingerprint = namePool.getFingerprint(foURI, "block"); + int htmlPreFingerprint = namePool.getFingerprint("", "pre"); + int htmlDivFingerprint = namePool.getFingerprint("", "div"); + + if ((foStylesheet && thisFingerprint == foBlockFingerprint) + || (!foStylesheet && (thisFingerprint == htmlPreFingerprint + || thisFingerprint == htmlDivFingerprint))) { + // Don't push the outer-most wrapping div, pre, or fo:block + return true; + } + } + + return false; + } + + /** + * <p>A private class for maintaining the information required to call + * the startElement method.</p> + * + * <p>In order to close and reopen elements, information about those + * elements has to be maintained. This class is just the little record + * that we push on the stack to keep track of that info.</p> + */ + private class StartElementInfo { + private int _nameCode; + org.xml.sax.Attributes _attributes; + int[] _namespaces; + int _nscount; + + public StartElementInfo(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) { + _nameCode = nameCode; + _attributes = attributes; + _namespaces = namespaces; + _nscount = nscount; + } + + public int getNameCode() { + return _nameCode; + } + + public org.xml.sax.Attributes getAttributes() { + return _attributes; + } + + public int[] getNamespaces() { + return _namespaces; + } + + public int getNSCount() { + return _nscount; + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Table.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Table.java new file mode 100644 index 000000000..084abf11e --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Table.java @@ -0,0 +1,431 @@ +// Verbatim.java - Saxon extensions supporting DocBook verbatim environments + +package com.nwalsh.saxon; + +import java.util.Hashtable; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.expr.*; +import com.icl.saxon.om.*; +import com.icl.saxon.pattern.*; +import com.icl.saxon.Context; +import com.icl.saxon.tree.*; +import com.icl.saxon.functions.Extensions; + +/** + * <p>Saxon extensions supporting Tables</p> + * + * <p>$Id: Table.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * implementation of some code to adjust CALS Tables to HTML + * Tables.</p> + * + * <p><b>Column Widths</b></p> + * <p>The <tt>adjustColumnWidths</tt> method takes a result tree + * fragment (assumed to contain the colgroup of an HTML Table) + * and returns the result tree fragment with the column widths + * adjusted to HTML terms.</p> + * + * <p><b>Convert Lengths</b></p> + * <p>The <tt>convertLength</tt> method takes a length specification + * of the form 9999.99xx (where "xx" is a unit) and returns that length + * as an integral number of pixels. For convenience, percentage lengths + * are returned unchanged.</p> + * <p>The recognized units are: inches (in), centimeters (cm), + * millimeters (mm), picas (pc, 1pc=12pt), points (pt), and pixels (px). + * A number with no units is assumed to be pixels.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: Table.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + */ +public class Table { + /** The number of pixels per inch */ + private static int pixelsPerInch = 96; + + /** The nominal table width (6in by default). */ + private static int nominalWidth = 6 * pixelsPerInch; + + /** The default table width (100% by default). */ + private static String tableWidth = "100%"; + + /** Is this an FO stylesheet? */ + private static boolean foStylesheet = false; + + /** The hash used to associate units with a length in pixels. */ + protected static Hashtable unitHash = null; + + /** + * <p>Constructor for Verbatim</p> + * + * <p>All of the methods are static, so the constructor does nothing.</p> + */ + public Table() { + } + + /** Initialize the internal hash table with proper values. */ + protected static void initializeHash() { + unitHash = new Hashtable(); + unitHash.put("in", new Float(pixelsPerInch)); + unitHash.put("cm", new Float(pixelsPerInch / 2.54)); + unitHash.put("mm", new Float(pixelsPerInch / 25.4)); + unitHash.put("pc", new Float((pixelsPerInch / 72) * 12)); + unitHash.put("pt", new Float(pixelsPerInch / 72)); + unitHash.put("px", new Float(1)); + } + + /** Set the pixels-per-inch value. Only positive values are legal. */ + public static void setPixelsPerInch(int value) { + if (value > 0) { + pixelsPerInch = value; + initializeHash(); + } + } + + /** Return the current pixels-per-inch value. */ + public int getPixelsPerInch() { + return pixelsPerInch; + } + + /** + * <p>Convert a length specification to a number of pixels.</p> + * + * <p>The specified length should be of the form [+/-]999.99xx, + * where xx is a valid unit.</p> + */ + public static int convertLength(String length) { + // The format of length should be 999.999xx + int sign = 1; + String digits = ""; + String units = ""; + char lench[] = length.toCharArray(); + float flength = 0; + boolean done = false; + int pos = 0; + float factor = 1; + int pixels = 0; + + if (unitHash == null) { + initializeHash(); + } + + if (lench[pos] == '+' || lench[pos] == '-') { + if (lench[pos] == '-') { + sign = -1; + } + pos++; + } + + while (!done) { + if (pos >= lench.length) { + done = true; + } else { + if ((lench[pos] > '9' || lench[pos] < '0') && lench[pos] != '.') { + done = true; + units = length.substring(pos); + } else { + digits += lench[pos++]; + } + } + } + + try { + flength = Float.parseFloat(digits); + } catch (NumberFormatException e) { + System.out.println(digits + " is not a number; 1 used instead."); + flength = 1; + } + + Float f = null; + + if (!units.equals("")) { + f = (Float) unitHash.get(units); + if (f == null) { + System.out.println(units + " is not a known unit; 1 used instead."); + factor = 1; + } else { + factor = f.floatValue(); + } + } else { + factor = 1; + } + + f = new Float(flength * factor); + + pixels = f.intValue() * sign; + + return pixels; + } + + /** + * <p>Find the string value of a stylesheet variable or parameter</p> + * + * <p>Returns the string value of <code>varName</code> in the current + * <code>context</code>. Returns the empty string if the variable is + * not defined.</p> + * + * @param context The current stylesheet context + * @param varName The name of the variable (without the dollar sign) + * + * @return The string value of the variable + */ + protected static String getVariable(Context context, String varName) + throws TransformerException { + Value variable = null; + String varString = null; + + try { + variable = Extensions.evaluate(context, "$" + varName); + varString = variable.asString(); + return varString; + } catch (IllegalArgumentException e) { + System.out.println("Undefined variable: " + varName); + return ""; + } + } + + /** + * <p>Setup the parameters associated with column width calculations</p> + * + * <p>This method queries the stylesheet for the variables + * associated with table column widths. It is called automatically before + * column widths are adjusted. The context is used to retrieve the values, + * this allows templates to redefine these variables.</p> + * + * <p>The following variables are queried. If the variables do not + * exist, builtin defaults will be used (but you may also get a bunch + * of messages from the Java interpreter).</p> + * + * <dl> + * <dt><code>nominal.table.width</code></dt> + * <dd>The "normal" width for tables. This must be an absolute length.</dd> + * <dt><code>table.width</code></dt> + * <dd>The width for tables. This may be either an absolute + * length or a percentage.</dd> + * </dl> + * + * @param context The current stylesheet context + * + */ + private static void setupColumnWidths(Context context) { + // Hardcoded defaults + nominalWidth = 6 * pixelsPerInch; + tableWidth = "100%"; + + String varString = null; + + try { + // Get the stylesheet type + varString = getVariable(context, "stylesheet.result.type"); + foStylesheet = varString.equals("fo"); + + // Get the nominal table width + varString = getVariable(context, "nominal.table.width"); + nominalWidth = convertLength(varString); + + // Get the table width + varString = getVariable(context, "table.width"); + tableWidth = varString; + } catch (TransformerException e) { + //nop, can't happen + } + } + + /** + * <p>Adjust column widths in an HTML table.</p> + * + * <p>The specification of column widths in CALS (a relative width + * plus an optional absolute width) are incompatible with HTML column + * widths. This method adjusts CALS column width specifiers in an + * attempt to produce equivalent HTML specifiers.</p> + * + * <p>In order for this method to work, the CALS width specifications + * should be placed in the "width" attribute of the <col>s within + * a <colgroup>. Then the colgroup result tree fragment is passed + * to this method.</p> + * + * <p>This method makes use of two parameters from the XSL stylesheet + * that calls it: <code>nominal.table.width</code> and + * <code>table.width</code>. The value of <code>nominal.table.width</code> + * must be an absolute distance. The value of <code>table.width</code> + * can be either absolute or relative.</p> + * + * <p>Presented with a mixture of relative and + * absolute lengths, the table width is used to calculate + * appropriate values. If the <code>table.width</code> is relative, + * the nominal width is used for this calculation.</p> + * + * <p>There are three possible combinations of values:</p> + * + * <ol> + * <li>There are no relative widths; in this case the absolute widths + * are used in the HTML table.</li> + * <li>There are no absolute widths; in this case the relative widths + * are used in the HTML table.</li> + * <li>There are a mixture of absolute and relative widths: + * <ol> + * <li>If the table width is absolute, all widths become absolute.</li> + * <li>If the table width is relative, make all the widths absolute + * relative to the nominal table width then turn them all + * back into relative widths.</li> + * </ol> + * </li> + * </ol> + * + * @param context The stylesheet context; supplied automatically by Saxon + * @param rtf The result tree fragment containing the colgroup. + * + * @return The result tree fragment containing the adjusted colgroup. + * + */ + public static NodeSetValue adjustColumnWidths (Context context, + NodeSetValue rtf_ns) { + + FragmentValue rtf = (FragmentValue) rtf_ns; + + setupColumnWidths(context); + + try { + NamePool namePool = context.getController().getNamePool(); + + ColumnScanEmitter csEmitter = new ColumnScanEmitter(namePool); + rtf.replay(csEmitter); + + int numColumns = csEmitter.columnCount(); + String widths[] = csEmitter.columnWidths(); + + float relTotal = 0; + float relParts[] = new float[numColumns]; + + float absTotal = 0; + float absParts[] = new float[numColumns]; + + for (int count = 0; count < numColumns; count++) { + String width = widths[count]; + + int pos = width.indexOf("*"); + if (pos >= 0) { + String relPart = width.substring(0, pos); + String absPart = width.substring(pos+1); + + try { + float rel = Float.parseFloat(relPart); + relTotal += rel; + relParts[count] = rel; + } catch (NumberFormatException e) { + System.out.println(relPart + " is not a valid relative unit."); + } + + int pixels = 0; + if (absPart != null && !absPart.equals("")) { + pixels = convertLength(absPart); + } + + absTotal += pixels; + absParts[count] = pixels; + } else { + relParts[count] = 0; + + int pixels = 0; + if (width != null && !width.equals("")) { + pixels = convertLength(width); + } + + absTotal += pixels; + absParts[count] = pixels; + } + } + + // Ok, now we have the relative widths and absolute widths in + // two parallel arrays. + // + // - If there are no relative widths, output the absolute widths + // - If there are no absolute widths, output the relative widths + // - If there are a mixture of relative and absolute widths, + // - If the table width is absolute, turn these all into absolute + // widths. + // - If the table width is relative, turn these all into absolute + // widths in the nominalWidth and then turn them back into + // percentages. + + if (relTotal == 0) { + for (int count = 0; count < numColumns; count++) { + Float f = new Float(absParts[count]); + if (foStylesheet) { + int pixels = f.intValue(); + float inches = (float) pixels / pixelsPerInch; + widths[count] = inches + "in"; + } else { + widths[count] = Integer.toString(f.intValue()); + } + } + } else if (absTotal == 0) { + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / relTotal * 100; + Float f = new Float(rel); + widths[count] = Integer.toString(f.intValue()) + "%"; + } + } else { + int pixelWidth = nominalWidth; + + if (tableWidth.indexOf("%") <= 0) { + pixelWidth = convertLength(tableWidth); + } + + if (pixelWidth <= absTotal) { + System.out.println("Table is wider than table width."); + } else { + pixelWidth -= absTotal; + } + + absTotal = 0; + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / relTotal * pixelWidth; + relParts[count] = rel + absParts[count]; + absTotal += rel + absParts[count]; + } + + if (tableWidth.indexOf("%") <= 0) { + for (int count = 0; count < numColumns; count++) { + Float f = new Float(relParts[count]); + if (foStylesheet) { + int pixels = f.intValue(); + float inches = (float) pixels / pixelsPerInch; + widths[count] = inches + "in"; + } else { + widths[count] = Integer.toString(f.intValue()); + } + } + } else { + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / absTotal * 100; + Float f = new Float(rel); + widths[count] = Integer.toString(f.intValue()) + "%"; + } + } + } + + ColumnUpdateEmitter cuEmitter = new ColumnUpdateEmitter(namePool, + widths); + rtf.replay(cuEmitter); + return cuEmitter.getResultTreeFragment(); + } catch (TransformerException e) { + // This "can't" happen. + System.out.println("Transformer Exception in adjustColumnWidths"); + return rtf; + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Text.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Text.java new file mode 100644 index 000000000..2afdfbb5d --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Text.java @@ -0,0 +1,132 @@ +// Text - Saxon extension element for inserting text + +package com.nwalsh.saxon; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.InputStream; +import java.io.IOException; +import java.io.FileNotFoundException; +import java.net.URL; +import java.net.MalformedURLException; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerConfigurationException; +import com.icl.saxon.*; +import com.icl.saxon.style.*; +import com.icl.saxon.expr.*; +import com.icl.saxon.output.*; +import org.xml.sax.AttributeList; + +/** + * <p>Saxon extension element for inserting text + * + * <p>$Id: Text.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * extension element for inserting text into a result tree.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: Text.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + */ +public class Text extends StyleElement { + /** + * <p>Constructor for Text</p> + * + * <p>Does nothing.</p> + */ + public Text() { + } + + /** + * <p>Is this element an instruction?</p> + * + * <p>Yes, it is.</p> + * + * @return true + */ + public boolean isInstruction() { + return true; + } + + /** + * <p>Can this element contain a template-body?</p> + * + * <p>Yes, it can, but only so that it can contain xsl:fallback.</p> + * + * @return true + */ + public boolean mayContainTemplateBody() { + return true; + } + + /** + * <p>Validate the arguments</p> + * + * <p>The element must have an href attribute.</p> + */ + public void prepareAttributes() throws TransformerConfigurationException { + // Get mandatory href attribute + String fnAtt = getAttribute("href"); + if (fnAtt == null) { + reportAbsence("href"); + } + } + + /** Validate that the element occurs in a reasonable place. */ + public void validate() throws TransformerConfigurationException { + checkWithinTemplate(); + } + + /** + * <p>Insert the text of the file into the result tree</p> + * + * <p>Processing this element inserts the contents of the URL named + * by the href attribute into the result tree as plain text.</p> + * + */ + public void process( Context context ) throws TransformerException { + Outputter out = context.getOutputter(); + + String hrefAtt = getAttribute("href"); + Expression hrefExpr = makeAttributeValueTemplate(hrefAtt); + String href = hrefExpr.evaluateAsString(context); + URL fileURL = null; + + try { + try { + fileURL = new URL(href); + } catch (MalformedURLException e1) { + try { + fileURL = new URL("file:" + href); + } catch (MalformedURLException e2) { + System.out.println("Cannot open " + href); + return; + } + } + + InputStreamReader isr = new InputStreamReader(fileURL.openStream()); + BufferedReader is = new BufferedReader(isr); + + char chars[] = new char[4096]; + int len = 0; + while ((len = is.read(chars)) > 0) { + out.writeContent(chars, 0, len); + } + is.close(); + } catch (Exception e) { + System.out.println("Cannot read " + href); + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/TextFactory.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/TextFactory.java new file mode 100644 index 000000000..8f8fa0932 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/TextFactory.java @@ -0,0 +1,67 @@ +// TextFactory - Saxon extension element factory + +package com.nwalsh.saxon; + +import com.icl.saxon.style.ExtensionElementFactory; +import org.xml.sax.SAXException; + +/** + * <p>Saxon extension element factory + * + * <p>$Id: TextFactory.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * extension element factory for the Text extension element + * family.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: TextFactory.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + * @see Text + * + */ +public class TextFactory implements ExtensionElementFactory { + /** + * <p>Constructor for TextFactory</p> + * + * <p>Does nothing.</p> + */ + public TextFactory() { + } + + /** + * <p>Return the class that implements a particular extension element.</p> + * + * @param localname The local name of the extension element. + * + * @return The class that handles that extension element. + * + * @exception SAXException("Unknown Text extension element") + */ + public Class getExtensionClass(String localname) { + if (localname.equals("insertfile")) { + try { + return Class.forName("com.nwalsh.saxon.Text"); + } catch (ClassNotFoundException e) { + return null; + } + } + return null; + } +} + + + + + diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Verbatim.java b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Verbatim.java new file mode 100644 index 000000000..8c25756e4 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/Verbatim.java @@ -0,0 +1,471 @@ +// Verbatim.java - Saxon extensions supporting DocBook verbatim environments + +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.expr.*; +import com.icl.saxon.om.*; +import com.icl.saxon.pattern.*; +import com.icl.saxon.Context; +import com.icl.saxon.tree.*; +import com.icl.saxon.functions.Extensions; +import com.nwalsh.saxon.NumberLinesEmitter; +import com.nwalsh.saxon.CalloutEmitter; + +/** + * <p>Saxon extensions supporting DocBook verbatim environments</p> + * + * <p>$Id: Verbatim.java,v 1.1 2002/05/15 17:22:27 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * implementation of two features that would be impractical to + * implement directly in XSLT: line numbering and callouts.</p> + * + * <p><b>Line Numbering</b></p> + * <p>The <tt>numberLines</tt> method takes a result tree + * fragment (assumed to contain the contents of a formatted verbatim + * element in DocBook: programlisting, screen, address, literallayout, + * or synopsis) and returns a result tree fragment decorated with + * line numbers.</p> + * + * <p><b>Callouts</b></p> + * <p>The <tt>insertCallouts</tt> method takes an + * <tt>areaspec</tt> and a result tree fragment + * (assumed to contain the contents of a formatted verbatim + * element in DocBook: programlisting, screen, address, literallayout, + * or synopsis) and returns a result tree fragment decorated with + * callouts.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: Verbatim.java,v 1.1 2002/05/15 17:22:27 isberg Exp $ + * + */ +public class Verbatim { + /** True if the stylesheet is producing formatting objects */ + private static boolean foStylesheet = false; + /** The modulus for line numbering (every 'modulus' line is numbered). */ + private static int modulus = 0; + /** The width (in characters) of line numbers (for padding). */ + private static int width = 0; + /** The separator between the line number and the verbatim text. */ + private static String separator = ""; + + /** True if callouts have been setup */ + private static boolean calloutsSetup = false; + /** The default column for callouts that have only a line or line range */ + private static int defaultColumn = 60; + /** The path to use for graphical callout decorations. */ + private static String graphicsPath = null; + /** The extension to use for graphical callout decorations. */ + private static String graphicsExt = null; + /** The largest callout number that can be represented graphically. */ + private static int graphicsMax = 10; + + /** The FormatCallout object to use for formatting callouts. */ + private static FormatCallout fCallout = null; + + /** + * <p>Constructor for Verbatim</p> + * + * <p>All of the methods are static, so the constructor does nothing.</p> + */ + public Verbatim() { + } + + /** + * <p>Find the string value of a stylesheet variable or parameter</p> + * + * <p>Returns the string value of <code>varName</code> in the current + * <code>context</code>. Returns the empty string if the variable is + * not defined.</p> + * + * @param context The current stylesheet context + * @param varName The name of the variable (without the dollar sign) + * + * @return The string value of the variable + */ + protected static String getVariable(Context context, String varName) { + Value variable = null; + String varString = null; + + try { + variable = Extensions.evaluate(context, "$" + varName); + varString = variable.asString(); + return varString; + } catch (TransformerException te) { + System.out.println("Undefined variable: " + varName); + return ""; + } catch (IllegalArgumentException iae) { + System.out.println("Undefined variable: " + varName); + return ""; + } + } + + /** + * <p>Setup the parameters associated with line numbering</p> + * + * <p>This method queries the stylesheet for the variables + * associated with line numbering. It is called automatically before + * lines are numbered. The context is used to retrieve the values, + * this allows templates to redefine these variables.</p> + * + * <p>The following variables are queried. If the variables do not + * exist, builtin defaults will be used (but you may also get a bunch + * of messages from the Java interpreter).</p> + * + * <dl> + * <dt><code>linenumbering.everyNth</code></dt> + * <dd>Specifies the lines that will be numbered. The first line is + * always numbered. (builtin default: 5).</dd> + * <dt><code>linenumbering.width</code></dt> + * <dd>Specifies the width of the numbers. If the specified width is too + * narrow for the largest number needed, it will automatically be made + * wider. (builtin default: 3).</dd> + * <dt><code>linenumbering.separator</code></dt> + * <dd>Specifies the string that separates line numbers from lines + * in the program listing. (builtin default: " ").</dd> + * <dt><code>stylesheet.result.type</code></dt> + * <dd>Specifies the stylesheet result type. The value is either 'fo' + * (for XSL Formatting Objects) or it isn't. (builtin default: html).</dd> + * </dl> + * + * @param context The current stylesheet context + * + */ + private static void setupLineNumbering(Context context) { + // Hardcoded defaults + modulus = 5; + width = 3; + separator = " "; + foStylesheet = false; + + String varString = null; + + // Get the modulus + varString = getVariable(context, "linenumbering.everyNth"); + try { + modulus = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$linenumbering.everyNth is not a number: " + varString); + } + + // Get the width + varString = getVariable(context, "linenumbering.width"); + try { + width = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$linenumbering.width is not a number: " + varString); + } + + // Get the separator + varString = getVariable(context, "linenumbering.separator"); + separator = varString; + + // Get the stylesheet type + varString = getVariable(context, "stylesheet.result.type"); + foStylesheet = (varString.equals("fo")); + } + + /** + * <p>Number lines in a verbatim environment</p> + * + * <p>The extension function expects the following variables to be + * available in the calling context: $linenumbering.everyNth, + * $linenumbering.width, $linenumbering.separator, and + * $stylesheet.result.type.</p> + * + * <p>This method adds line numbers to a result tree fragment. Each + * newline that occurs in a text node is assumed to start a new line. + * The first line is always numbered, every subsequent 'everyNth' line + * is numbered (so if everyNth=5, lines 1, 5, 10, 15, etc. will be + * numbered. If there are fewer than everyNth lines in the environment, + * every line is numbered.</p> + * + * <p>Every line number will be right justified in a string 'width' + * characters long. If the line number of the last line in the + * environment is too long to fit in the specified width, the width + * is automatically increased to the smallest value that can hold the + * number of the last line. (In other words, if you specify the value 2 + * and attempt to enumerate the lines of an environment that is 100 lines + * long, the value 3 will automatically be used for every line in the + * environment.)</p> + * + * <p>The 'separator' string is inserted between the line + * number and the original program listing. Lines that aren't numbered + * are preceded by a 'width' blank string and the separator.</p> + * + * <p>If inline markup extends across line breaks, markup changes are + * required. All the open elements are closed before the line break and + * "reopened" afterwards. The reopened elements will have the same + * attributes as the originals, except that 'name' and 'id' attributes + * are not duplicated if the stylesheet.result.type is "html" and + * 'id' attributes will not be duplicated if the result type is "fo".</p> + * + * @param rtf The result tree fragment of the verbatim environment. + * + * @return The modified result tree fragment. + */ + public static NodeSetValue numberLines (Context context, + NodeSetValue rtf_ns) { + + FragmentValue rtf = (FragmentValue) rtf_ns; + + setupLineNumbering(context); + + try { + LineCountEmitter lcEmitter = new LineCountEmitter(); + rtf.replay(lcEmitter); + int numLines = lcEmitter.lineCount(); + + int listingModulus = numLines < modulus ? 1 : modulus; + + double log10numLines = Math.log(numLines) / Math.log(10); + + int listingWidth = width < log10numLines+1 + ? (int) Math.floor(log10numLines + 1) + : width; + + NamePool namePool = context.getController().getNamePool(); + NumberLinesEmitter nlEmitter = new NumberLinesEmitter(namePool, + listingModulus, + listingWidth, + separator, + foStylesheet); + rtf.replay(nlEmitter); + return nlEmitter.getResultTreeFragment(); + } catch (TransformerException e) { + // This "can't" happen. + System.out.println("Transformer Exception in numberLines"); + return rtf; + } + } + + /** + * <p>Setup the parameters associated with callouts</p> + * + * <p>This method queries the stylesheet for the variables + * associated with line numbering. It is called automatically before + * callouts are processed. The context is used to retrieve the values, + * this allows templates to redefine these variables.</p> + * + * <p>The following variables are queried. If the variables do not + * exist, builtin defaults will be used (but you may also get a bunch + * of messages from the Java interpreter).</p> + * + * <dl> + * <dt><code>callout.graphics</code></dt> + * <dd>Are we using callout graphics? A value of 0 or "" is false, + * any other value is true. If callout graphics are not used, the + * parameters related to graphis are not queried.</dd> + * <dt><code>callout.graphics.path</code></dt> + * <dd>Specifies the path to callout graphics.</dd> + * <dt><code>callout.graphics.extension</code></dt> + * <dd>Specifies the extension ot use for callout graphics.</dd> + * <dt><code>callout.graphics.number.limit</code></dt> + * <dd>Identifies the largest number that can be represented as a + * graphic. Larger callout numbers will be represented using text.</dd> + * <dt><code>callout.defaultcolumn</code></dt> + * <dd>Specifies the default column for callout bullets that do not + * specify a column.</dd> + * <dt><code>stylesheet.result.type</code></dt> + * <dd>Specifies the stylesheet result type. The value is either 'fo' + * (for XSL Formatting Objects) or it isn't. (builtin default: html).</dd> + * </dl> + * + * @param context The current stylesheet context + * + */ + private static void setupCallouts(Context context) { + NamePool namePool = context.getController().getNamePool(); + + boolean useGraphics = false; + boolean useUnicode = false; + + int unicodeStart = 49; + int unicodeMax = 0; + + String unicodeFont = ""; + + // Hardcoded defaults + defaultColumn = 60; + graphicsPath = null; + graphicsExt = null; + graphicsMax = 0; + foStylesheet = false; + calloutsSetup = true; + + Value variable = null; + String varString = null; + + // Get the stylesheet type + varString = getVariable(context, "stylesheet.result.type"); + foStylesheet = (varString.equals("fo")); + + // Get the default column + varString = getVariable(context, "callout.defaultcolumn"); + try { + defaultColumn = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.defaultcolumn is not a number: " + + varString); + } + + // Use graphics at all? + varString = getVariable(context, "callout.graphics"); + useGraphics = !(varString.equals("0") || varString.equals("")); + + // Use unicode at all? + varString = getVariable(context, "callout.unicode"); + useUnicode = !(varString.equals("0") || varString.equals("")); + + if (useGraphics) { + // Get the graphics path + varString = getVariable(context, "callout.graphics.path"); + graphicsPath = varString; + + // Get the graphics extension + varString = getVariable(context, "callout.graphics.extension"); + graphicsExt = varString; + + // Get the number limit + varString = getVariable(context, "callout.graphics.number.limit"); + try { + graphicsMax = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.graphics.number.limit is not a number: " + + varString); + graphicsMax = 0; + } + + fCallout = new FormatGraphicCallout(namePool, + graphicsPath, + graphicsExt, + graphicsMax, + foStylesheet); + } else if (useUnicode) { + // Get the starting character + varString = getVariable(context, "callout.unicode.start.character"); + try { + unicodeStart = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.unicode.start.character is not a number: " + + varString); + unicodeStart = 48; + } + + // Get the number limit + varString = getVariable(context, "callout.unicode.number.limit"); + try { + unicodeMax = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.unicode.number.limit is not a number: " + + varString); + unicodeStart = 0; + } + + // Get the font + unicodeFont = getVariable(context, "callout.unicode.font"); + if (unicodeFont == null) { + unicodeFont = ""; + } + + fCallout = new FormatUnicodeCallout(namePool, + unicodeFont, + unicodeStart, + unicodeMax, + foStylesheet); + } else { + fCallout = new FormatTextCallout(namePool, foStylesheet); + } + } + + /** + * <p>Insert text callouts into a verbatim environment.</p> + * + * <p>This method examines the <tt>areaset</tt> and <tt>area</tt> elements + * in the supplied <tt>areaspec</tt> and decorates the supplied + * result tree fragment with appropriate callout markers.</p> + * + * <p>If a <tt>label</tt> attribute is supplied on an <tt>area</tt>, + * its content will be used for the label, otherwise the callout + * number will be used, surrounded by parenthesis. Callout numbers may + * also be represented as graphics. Callouts are + * numbered in document order. All of the <tt>area</tt>s in an + * <tt>areaset</tt> get the same number.</p> + * + * <p>Only the <tt>linecolumn</tt> and <tt>linerange</tt> units are + * supported. If no unit is specifed, <tt>linecolumn</tt> is assumed. + * If only a line is specified, the callout decoration appears in + * the defaultColumn. Lines will be padded with blanks to reach the + * necessary column, but callouts that are located beyond the last + * line of the verbatim environment will be ignored.</p> + * + * <p>Callouts are inserted before the character at the line/column + * where they are to occur.</p> + * + * <p>If graphical callouts are used, and the callout number is less + * than or equal to the $callout.graphics.number.limit, the following image + * will be generated for HTML: + * + * <pre> + * <img src="$callout.graphics.path/999$callout.graphics.ext" + * alt="conumber"> + * </pre> + * + * If the $stylesheet.result.type is 'fo', the following image will + * be generated: + * + * <pre> + * <fo:external-graphic src="$callout.graphics.path/999$callout.graphics.ext"/> + * </pre> + * + * <p>If the callout number exceeds $callout.graphics.number.limit, + * the callout will be the callout number surrounded by + * parenthesis.</p> + * + * @param context The stylesheet context. + * @param areaspecNodeSet The source node set that contains the areaspec. + * @param rtf The result tree fragment of the verbatim environment. + * + * @return The modified result tree fragment. + */ + + public static NodeSetValue insertCallouts (Context context, + NodeList areaspecNodeList, + NodeSetValue rtf_ns) { + + FragmentValue rtf = (FragmentValue) rtf_ns; + + setupCallouts(context); + + try { + NamePool namePool = context.getController().getNamePool(); + CalloutEmitter cEmitter = new CalloutEmitter(namePool, + defaultColumn, + foStylesheet, + fCallout); + cEmitter.setupCallouts(areaspecNodeList); + rtf.replay(cEmitter); + return cEmitter.getResultTreeFragment(); + } catch (TransformerException e) { + // This "can't" happen. + System.out.println("Transformer Exception in insertCallouts"); + return rtf; + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/package.html b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/package.html new file mode 100644 index 000000000..b05a46709 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/com/nwalsh/saxon/package.html @@ -0,0 +1,48 @@ +<html> +<head> +<title>Norman Walsh's Saxon Extensions Package</title> +</head> +<body> +<p>Norman Walsh's Saxon Extensions Package for Saxon 6.*</p> + +<p>This package implements Saxon extensions for XSLT.</p> + +<p><b>Copyright (C) 2000 Norman Walsh</b></p> +<p>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:</p> + +<p>The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software.</p> + +<p>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.</p> + +<p>Anything 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.</p> +</blockquote> + +<blockquote> +<p><b>Warranty</b></p> +<p>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.</p> +</blockquote> + +</body> +</html> diff --git a/lib/docbook/docbook-xsl/extensions/saxon642/prj.el b/lib/docbook/docbook-xsl/extensions/saxon642/prj.el new file mode 100644 index 000000000..6a5356f5c --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon642/prj.el @@ -0,0 +1,218 @@ +
+
+
+
+
+
+
+
+
+
+(jde-set-project-name "saxon")
+(jde-set-variables
+ '(jde-gen-session-bean-template (quote ("(jde-import-insert-imports-into-buffer (list \"javax.ejb.*\"
+\"java.rmi.RemoteException\"))" "(jde-wiz-update-implements-clause \"SessionBean\")" "'> \"public void ejbActivate() throws RemoteException {\"'>'n \"}\"'>'n
+'>'n" "'> \"public void ejbPassivate() throws RemoteException {\"'>'n \"}\"'>'n
+'>'n" "'> \"public void ejbRemove() throws RemoteException {\"'>'n \"}\"'>'n '>'n" "'> \"public void setSessionContext(SessionContext ctx) throws
+RemoteException {\"" "'>'n \"}\"'>'n '>'n" "'> \"public void unsetSessionContext() throws RemoteException {\"'>'n
+\"}\"'>'n '>'n'>")))
+ '(jde-gen-beep (quote ("(end-of-line) '&" "\"Toolkit.getDefaultToolkit().beep();\"'>'n'>")))
+ '(jde-which-method-format (quote ("[" jde-which-method-current "]")))
+ '(jde-run-classic-mode-vm nil)
+ '(jde-javadoc-gen-nodeprecatedlist nil)
+ '(jde-which-method-max-length 20)
+ '(jde-imenu-include-classdef t)
+ '(jde-javadoc-gen-link-online nil)
+ '(jde-gen-code-templates (quote (("Get Set Pair" . jde-gen-get-set) ("toString method" . jde-gen-to-string-method) ("Action Listener" . jde-gen-action-listener) ("Window Listener" . jde-gen-window-listener) ("Mouse Listener" . jde-gen-mouse-listener) ("Mouse Motion Listener" . jde-gen-mouse-motion-listener) ("Inner Class" . jde-gen-inner-class) ("println" . jde-gen-println) ("beep" . jde-gen-beep) ("property change support" . jde-gen-property-change-support) ("EJB Entity Bean" . jde-gen-entity-bean) ("EJB Session Bean" . jde-gen-session-bean))))
+ '(jde-gen-cflow-else (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"else\")" "'(l '> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of else\"'>'n'>)" ")")))
+ '(jde-make-args "")
+ '(jde-javadoc-gen-destination-directory "JavaDoc")
+ '(jde-mode-line-format (quote ("-" mode-line-mule-info mode-line-modified mode-line-frame-identification mode-line-buffer-identification " " global-mode-string " %[(" mode-name mode-line-process minor-mode-alist "%n" ")%]--" (line-number-mode "L%l--") (column-number-mode "C%c--") (-3 . "%p") (jde-which-method-mode ("--" jde-which-method-format "--")) "-%-")))
+ '(jde-mode-abbreviations (quote (("ab" . "abstract") ("bo" . "boolean") ("br" . "break") ("by" . "byte") ("byv" . "byvalue") ("cas" . "cast") ("ca" . "catch") ("ch" . "char") ("cl" . "class") ("co" . "const") ("con" . "continue") ("de" . "default") ("dou" . "double") ("el" . "else") ("ex" . "extends") ("fa" . "false") ("fi" . "final") ("fin" . "finally") ("fl" . "float") ("fo" . "for") ("fu" . "future") ("ge" . "generic") ("go" . "goto") ("impl" . "implements") ("impo" . "import") ("ins" . "instanceof") ("in" . "int") ("inte" . "interface") ("lo" . "long") ("na" . "native") ("ne" . "new") ("nu" . "null") ("pa" . "package") ("pri" . "private") ("pro" . "protected") ("pu" . "public") ("re" . "return") ("sh" . "short") ("st" . "static") ("su" . "super") ("sw" . "switch") ("sy" . "synchronized") ("th" . "this") ("thr" . "throw") ("throw" . "throws") ("tra" . "transient") ("tr" . "true") ("vo" . "void") ("vol" . "volatile") ("wh" . "while"))))
+ '(jde-imenu-enable t)
+ '(jde-compile-option-verbose nil)
+ '(jde-db-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes"))))
+ '(jde-bug-debugger-host-address "localhost" t)
+ '(jde-make-working-directory "")
+ '(jde-bug-breakpoint-marker-colors (quote ("red" . "yellow")))
+ '(jde-javadoc-gen-use nil)
+ '(jde-gen-buffer-boilerplate nil)
+ '(jde-bug-raise-frame-p t)
+ '(jde-db-option-application-args (quote ("-IN" "/share/xsl/docbook/test/exttest.xml" "-XSL " "/share/xsl/docbook/test/exttest.xsl")) t)
+ '(jde-javadoc-gen-nonavbar nil)
+ '(jde-javadoc-gen-nohelp nil)
+ '(jde-bug-vm-includes-jpda-p nil)
+ '(jde-gen-jfc-app-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"import java.awt.Dimension;\" '>'n" "\"import java.awt.Graphics;\" '>'n" "\"import java.awt.Graphics2D;\" '>'n" "\"import java.awt.Color;\" '>'n" "\"import java.awt.geom.Ellipse2D;\" '>'n" "\"import java.awt.event.WindowAdapter;\" '>'n" "\"import java.awt.event.WindowEvent;\" '>'n" "\"import javax.swing.JFrame;\" '>'n" "\"import javax.swing.JPanel;\" '>'n" "\"import javax.swing.JScrollPane;\" '>'n" "\"import javax.swing.JMenuBar;\" '>'n" "\"import javax.swing.JMenu;\" '>'n" "\"import java.awt.event.ActionEvent;\" '>'n" "\"import javax.swing.AbstractAction;\" '>'n '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author <a href=\\\"mailto: \\\"\" (user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" extends JFrame\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"class Canvas extends JPanel\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public Canvas () \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"setSize(getPreferredSize());\" '>'n" "\"Canvas.this.setBackground(Color.white);\" '>'n" "\"}\"'>'n '>'n" "\"public Dimension getPreferredSize() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"return new Dimension(600, 600);\" '>'n" "\"}\"'>'n '>'n" "\"public void paintComponent(Graphics g) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super.paintComponent(g);\" '>'n" "\"Graphics2D g2d = (Graphics2D) g;\" '>'n" "\"Ellipse2D circle = new Ellipse2D.Double(0d, 0d, 100d, 100d);\" '>'n" "\"g2d.setColor(Color.red);\" '>'n" "\"g2d.translate(10, 10);\" '>'n" "\"g2d.draw(circle);\" '>'n" "\"g2d.fill(circle);\" '>'n" "\"}\"'>'n " "\"}\"'>'n '>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super(\\\"\" (P \"Enter app title: \") \"\\\");\" '>'n" "\"setSize(300, 300);\" '>'n" "\"addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void windowClosing(WindowEvent e) {System.exit(0);}\" '>'n" "\"public void windowOpened(WindowEvent e) {}\" '>'n" "\"});\"'>'n" "\"setJMenuBar(createMenu());\" '>'n" "\"getContentPane().add(new JScrollPane(new Canvas()));\" '>'n" "\"}\"'>'n" "'>'n" "\"public static void main(String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" f = new \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"();\" '>'n" "\"f.show();\" '>'n" "\"}\"'>'n '>'n" "\"protected JMenuBar createMenu() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"JMenuBar mb = new JMenuBar();\" '>'n" "\"JMenu menu = new JMenu(\\\"File\\\");\" '>'n" "\"menu.add(new AbstractAction(\\\"Exit\\\") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"System.exit(0);\" '>'n" "\"}\" '>'n" "\"});\" '>'n" "\"mb.add(menu);\" '>'n" "\"return mb;\" '>'n" "\"}\"'>'n " "\"} // \"'>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n")))
+ '(jde-bug-key-bindings (quote (("[? ? ?]" . jde-bug-step-over) ("[? ? ?]" . jde-bug-step-into) ("[? ? ?]" . jde-bug-step-into-all) ("[? ? ?]" . jde-bug-step-out) ("[? ? ?]" . jde-bug-continue) ("[? ? ?]" . jde-bug-toggle-breakpoint))))
+ '(jde-compile-finish-hook (quote (jde-compile-finish-refresh-speedbar jde-compile-finish-flush-completion-cache)))
+ '(jde-compile-option-nowarn nil)
+ '(jde-setnu-mode-threshold 20000)
+ '(jde-run-java-vm-w "javaw")
+ '(jde-compile-option-encoding nil)
+ '(jde-run-option-java-profile (quote (nil . "./java.prof")))
+ '(jde-bug-jpda-directory "/usr/local/jdk1.2.2" t)
+ '(jde-read-compile-args nil)
+ '(jde-run-java-vm "java")
+ '(jde-db-option-verbose (quote (nil nil nil)))
+ '(jde-which-method-class-min-length 4)
+ '(jde-db-read-app-args nil)
+ '(jde-javadoc-gen-nodeprecated nil)
+ '(jde-run-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects")))
+ '(jde-gen-println (quote ("(end-of-line) '&" "\"System.out.println(\" (P \"Print out: \") \");\" '>'n'>")))
+ '(jde-enable-abbrev-mode nil)
+ '(jde-auto-parse-max-buffer-size 50000)
+ '(jde-gen-cflow-main (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"main\")" "'(l '> \"public static void main (String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of main ()\"'>'n'>)" ")")))
+ '(jde-javadoc-exception-tag-template "\"* @exception \" type \" if an error occurs\"")
+ '(jde-global-classpath nil t)
+ '(jde-gen-window-listener-template (quote ("(end-of-line) '& (P \"Window name: \")" "\".addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"public void windowActivated(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"" "'>'n \"public void windowClosed(WindowEvent e)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowClosing(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"System.exit(0);\" '>'n \"}\"" "'>'n \"public void windowDeactivated(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowDeiconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowIconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowOpened(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"});\" '>'n'>")))
+ '(jde-run-working-directory "/share/xsl/docbook/extensions" t)
+ '(jde-gen-property-change-support (quote ("(end-of-line) '&" "\"protected PropertyChangeSupport pcs = new PropertyChangeSupport(this);\" '>'n '>'n" "\"/**\" '>'n" "\"* Adds a PropertyChangeListener to the listener list.\" '>'n" "\"* The listener is registered for all properties.\" '>'n" "\"*\" '>'n" "\"* @param listener The PropertyChangeListener to be added\" '>'n" "\"*/\" '>'n" "\"public void addPropertyChangeListener(PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"pcs.addPropertyChangeListener(listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n" "\"* Removes a PropertyChangeListener from the listener list.\" '>'n" "\"* This removes a PropertyChangeListener that was registered for all properties.\" '>'n" "\"*\" '>'n " "\"* @param listener The PropertyChangeListener to be removed\" '>'n" "\"*/\" '>'n" "\"public void removePropertyChangeListener(PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>\"pcs.removePropertyChangeListener(listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Adds a PropertyChangeListener for a specific property.\" '>'n" "\"* The listener will be invoked only when a call on firePropertyChange\" '>'n" "\"* names that specific property.\" '>'n" "\"*\" '>'n \"* @param propertyName The name of the property to listen on\" '>'n" "\"* @param listener The PropertyChangeListener to be added\" '>'n \"*/\" '>'n" "\"public void addPropertyChangeListener(String propertyName,\" '>'n" "\"PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.addPropertyChangeListener(propertyName, listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Removes a PropertyChangeListener for a specific property.\" '>'n" "\"*\" '>'n \"* @param propertyName The name of the property that was listened on\" '>'n" "\"* @param listener The PropertyChangeListener to be removed\" '>'n \"*/\" '>'n" "\"public void removePropertyChangeListener(String propertyName,\" '>'n" "\"PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.removePropertyChangeListener(propertyName, listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, Object oldValue, Object newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"* This is merely a convenience wrapper around the more general\" '>'n" "\"* firePropertyChange method that takes Object values.\" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, int oldValue, int newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"* This is merely a convenience wrapper around the more general\" '>'n" "\"* firePropertyChange method that takes Object values.\" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Fires an existing PropertyChangeEvent to any registered listeners.\" '>'n" "\"* No event is fired if the given event's old and new values are equal and non-null. \" '>'n" "\"*\" '>'n \"* @param evt The PropertyChangeEvent object.\" '>'n\"*/\" '>'n" "\"public void firePropertyChange(PropertyChangeEvent evt) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(evt);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Checks if there are any listeners for a specific property.\" '>'n" "\"*\" '>'n \"* @param evt The PropertyChangeEvent object.\" '>'n" "\"* @return <code>true</code>if there are one or more listeners for the given property\" '>'n" "\"*/\" '>'n" "\"public boolean hasListeners(String propertyName) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"return pcs.hasListeners(propertyName);\" '>'n \"}\" '>'n '>'n'>")))
+ '(jde-javadoc-describe-interface-template "\"* Describe interface \" (jde-javadoc-code name) \" here.\"")
+ '(jde-imenu-include-signature t)
+ '(jde-db-marker-regexp "^.*: thread=.*, \\(\\(.*[.]\\)*\\)\\([^$]*\\)\\($.*\\)*[.].+(), line=\\([0-9]*\\),")
+ '(jde-gen-mouse-motion-listener-template (quote ("(end-of-line) '& (P \"Component name: \")" "\".addMouseMotionListener(new MouseMotionAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>" "'>'n \"public void mouseDragged(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void mouseMoved(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>")))
+ '(jde-key-bindings (quote (("[? ? ?]" . jde-run-menu-run-applet) ("[? ? ?]" . jde-build) ("[? ? ?]" . jde-compile) ("[? ? ?]" . jde-debug) ("[? ? ?]" . jde-wiz-implement-interface) ("[? ? ?j]" . jde-javadoc-generate-javadoc-template) ("[? ? ?]" . bsh) ("[? ? ?]" . jde-gen-println) ("[? ? ?]" . jde-browse-jdk-doc) ("[? ? ?]" . jde-save-project) ("[? ? ?]" . jde-wiz-update-class-list) ("[? ? ?]" . jde-run) ("[? ? ?]" . speedbar-frame-mode) ("[? ? ?]" . jde-db-menu-debug-applet) ("[? ? ?]" . jde-help-symbol) ("[? ? ?]" . jde-show-class-source) ("[? ? ?]" . jde-import-find-and-import) ("[(control c) (control v) (control ?.)]" . jde-complete-at-point-menu) ("[(control c) (control v) ?.]" . jde-complete-at-point))))
+ '(jde-gen-cflow-for-i (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"fori\")" "'(l '> \"for (int \" (p \"variable: \" var) \" = 0; \"" "(s var)" "\" < \"(p \"upper bound: \" ub)\"; \" (s var) \"++) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (int \" (s var) \" = 0; \"" "(s var) \" < \" (s ub) \"; \" (s var) \"++)\"'>'n'>)" ")")))
+ '(jde-run-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t)
+ '(jde-javadoc-gen-detail-switch (quote ("-protected")))
+ '(jde-bug-sio-connect-delay 1)
+ '(jde-javadoc-param-tag-template "\"* @param \" name \" \" (jde-javadoc-a type)
+ \" \" (jde-javadoc-code type) \" value\"")
+ '(jde-compile-option-verbose-path nil)
+ '(jde-javadoc-display-doc t)
+ '(jde-imenu-modifier-abbrev-alist (quote (("public" . 43) ("protected" . 177) ("private" . 172) ("static" . 2215) ("transient" . 35) ("volatile" . 126) ("abstract" . 170) ("final" . 182) ("native" . 36) ("synchronized" . 64) ("strictfp" . 37))))
+ '(jde-db-debugger (quote ("JDEbug" "/usr/local/jdk1.2.2/lib/i386" . "Executable")) t)
+ '(jde-jdk-doc-url "http://www.javasoft.com/products/jdk/1.1/docs/index.html")
+ '(jde-gen-cflow-enable t)
+ '(jde-compiler "javac")
+ '(jde-javadoc-gen-verbose nil)
+ '(jde-javadoc-describe-method-template "\"* Describe \" (jde-javadoc-code name) \" method here.\"")
+ '(jde-gen-class-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author <a href=\\\"mailto: \\\"\" (user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n'" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" \" (jde-gen-get-super-class)" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\">" "'>'n" "\"}\">" "\"// \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n")))
+ '(jde-javadoc-checker-level (quote protected))
+ '(jde-appletviewer-option-vm-args nil)
+ '(jde-run-executable-args nil)
+ '(jde-db-option-garbage-collection (quote (t t)))
+ '(jde-javadoc-gen-stylesheetfile "")
+ '(jde-use-font-lock t)
+ '(jde-compile-option-bootclasspath nil)
+ '(jde-make-program "make")
+ '(jde-javadoc-gen-group nil)
+ '(jde-javadoc-gen-link-offline nil)
+ '(jde-entering-java-buffer-hook (quote (jde-reload-project-file jde-which-method-update-on-entering-buffer)))
+ '(jde-javadoc-gen-doc-title "")
+ '(jde-javadoc-gen-header "")
+ '(jde-run-option-vm-args nil)
+ '(jde-javadoc-gen-window-title "")
+ '(jde-compile-option-directory "/sourceforge/docbook/xsl/extensions/saxon64/.classes" t)
+ '(jde-imenu-create-index-function (quote semantic-create-imenu-index))
+ '(jde-gen-console-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author <a href=\\\"mailto: \\\"\" (user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "\"}\"'>'n" "'>'n" "\"public static void main(String[] args)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\"'>'n" "\"} // \"'>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n")))
+ '(jde-read-make-args nil)
+ '(jde-javadoc-gen-noindex nil)
+ '(jde-gen-mouse-listener-template (quote ("(end-of-line) '& (P \"Component name: \")" "\".addMouseListener(new MouseAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'> " "'>'n \"public void mouseClicked(MouseEvent e) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseEntered(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseExited(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void mousePressed(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseReleased(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>")))
+ '(jde-run-option-application-args (quote ("-IN" "test.xml" "-XSL" "test.xsl")) t)
+ '(jde-bug-vm-executable (quote ("java")))
+ '(jde-db-set-initial-breakpoint t)
+ '(jde-bug-debugger-command-timeout 10)
+ '(jde-db-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes"))))
+ '(jde-db-option-properties nil t)
+ '(jde-db-source-directories (quote ("/share/xsl/docbook/extensions/xalan2/" "/projects/apache/xml-xalan/java/src/" "/projects/apache/xml-xerces/java/build/src/" "/projects/sun/resolver/" "/home/ndw/java/")) t)
+ '(jde-run-read-app-args nil)
+ '(jde-gen-to-string-method-template (quote ("(end-of-line) '&" "\"public String toString() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n'>")))
+ '(jde-quote-classpath t)
+ '(jde-bug-window-message nil)
+ '(jde-build-use-make nil)
+ '(jde-javadoc-author-tag-template "\"* @author <a href=\\\"mailto:\" user-mail-address
+ \"\\\">\" user-full-name \"</a>\"")
+ '(jde-javadoc-describe-field-template "\"* Describe \" (jde-javadoc-field-type modifiers)
+ \" \" (jde-javadoc-code name) \" here.\"")
+ '(jde-javadoc-gen-link-URL nil)
+ '(jde-compile-option-classpath (quote ("/sourceforge/docbook/xsl/extensions/saxon64/.classes" "/usr/local/java/saxon-6.4.2/saxon.jar" "/usr/local/jaxp-1.1/jaxp.jar" "/usr/local/jaxp-1.1/crimson.jar")) t)
+ '(jde-bug-jdk-directory "/usr/local/jdk1.2.2" t)
+ '(jde-gen-boilerplate-function (quote jde-gen-create-buffer-boilerplate))
+ '(jde-gen-entity-bean-template (quote ("(jde-import-insert-imports-into-buffer (list \"javax.ejb.*\"
+\"java.rmi.RemoteException\"))" "'> \"public void ejbActivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbPassivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbLoad() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbStore() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbRemove() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void setEntityContext(EntityContext ctx) throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void unsetEntityContext() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n'>")))
+ '(jde-javadoc-describe-constructor-template "\"* Creates a new \" (jde-javadoc-code name) \" instance.\"")
+ '(jde-bug-server-shmem-name (quote (t . "JDEbug")))
+ '(jde-db-startup-commands nil)
+ '(jde-javadoc-gen-docletpath nil)
+ '(jde-javadoc-gen-split-index nil)
+ '(jde-compile-option-deprecation nil t)
+ '(jde-import-group-of-rules (quote (("^javax?\\."))))
+ '(jde-which-method-mode t)
+ '(jde-gen-k&r t)
+ '(jde-javadoc-gen-bottom "")
+ '(jde-javadoc-gen-footer "")
+ '(jde-db-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t)
+ '(jde-gen-cflow-for (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"for\")" "'(l '> \"for (\" (p \"for-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-run-mode-hook nil)
+ '(jde-db-option-verify (quote (nil t)))
+ '(jde-compile-option-extdirs nil)
+ '(jde-imenu-sort nil)
+ '(jde-gen-get-set-var-template (quote ("(end-of-line) '&" "(P \"Variable type: \" type) \" \"" "(P \"Variable name: \" name) \";\" '>'n '>'n" "\"/**\" '>'n" "\"* Get the value of \" (s name) \".\" '>'n" "\"* @return value of \" (s name) \".\" '>'n" "\"*/\" '>'n" "'>'\"public \" (s type)" "(if (string= \"boolean\" (jde-gen-lookup-named 'type) ) " "\" is\" " "\" get\" ) " "(jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "\"return \" (s name) \";\" '>'n \"}\"" "'>'n '>'n" "\"/**\" '>'n" "\"* Set the value of \" (s name) \".\" '>'n" "\"* @param v Value to assign to \" (s name) \".\" '>'n" "\"*/\" '>'n" "'>'\"public void set\" (jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"(\" (s type) \" v) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "'>'\"this.\" (s name) \" = v;\" '>'n \"}\" '>'n'>")))
+ '(jde-bug-saved-breakpoints nil)
+ '(jde-compile-option-sourcepath (quote ("/share/xsl/docbook/extensions/xalan2" "/projects/apache/xml-xalan/java/build/src" "/projects/apache/xml-xerces/java/build/src" "/projects/sun/resolver")) t)
+ '(jde-gen-cflow-if (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"if\")" "'(l '> \"if (\" (p \"if-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-db-option-java-profile (quote (nil . "./java.prof")))
+ '(jde-javadoc-gen-author t)
+ '(jde-compile-option-depend-switch (quote ("-Xdepend")))
+ '(jde-setnu-mode-enable nil)
+ '(jde-run-applet-doc "")
+ '(jde-compile-option-vm-args nil)
+ '(jde-javadoc-gen-overview "")
+ '(jde-javadoc-gen-notree nil)
+ '(jde-run-option-garbage-collection (quote (t t)))
+ '(jde-db-mode-hook nil)
+ '(jde-javadoc-command-path "javadoc")
+ '(jde-db-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects")))
+ '(jde-import-group-function (quote jde-import-group-of))
+ '(jde-db-read-vm-args nil)
+ '(jde-bug-debug nil)
+ '(jde-javadoc-end-block-template nil)
+ '(jde-javadoc-gen-packages nil)
+ '(jde-gen-cflow-if-else (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"ife\")" "'(l '> \"if (\" (p \"if-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'> n" "'> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")else\"'>'n'>)" ")")))
+ '(jde-gen-cflow-while (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"while\")" "'(l '> \"while (\" (p \"while-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of while (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-bug-server-socket (quote (t . "2112")))
+ '(jde-imenu-include-modifiers nil)
+ '(jde-appletviewer-option-encoding "")
+ '(jde-bug-breakpoint-cursor-colors (quote ("cyan" . "brown")))
+ '(jde-compile-option-target (quote ("1.1")))
+ '(jde-run-executable "")
+ '(jde-run-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes"))))
+ '(jde-gen-cflow-switch (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"switch\")" "'(l '> \"switch (\" (p \"switch-condition: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'" "\"case \" (p \"first value: \") \":\"'>'n'>'p'n" "\"break;\"'>'n'>'p'n" "\"default:\"'>'n'>'p'n" "\"break;\"'>'n" "\"} // end of switch (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-which-method-abbrev-symbol "~")
+ '(jde-db-option-vm-args nil)
+ '(jde-run-application-class "org.apache.xalan.xslt.Process" t)
+ '(jde-javadoc-gen-doclet "")
+ '(jde-import-auto-sort nil)
+ '(jde-run-option-verbose (quote (nil nil nil)))
+ '(jde-project-file-name "prj.el")
+ '(jde-compile-option-debug (quote ("selected" (t nil nil))) t)
+ '(jde-bug-jre-home "")
+ '(jde-import-sorted-groups nil)
+ '(jde-run-applet-viewer "")
+ '(jde-javadoc-return-tag-template "\"* @return \" (jde-javadoc-a type)
+ \" \" (jde-javadoc-code type) \" value\"")
+ '(jde-javadoc-gen-version t)
+ '(jde-javadoc-gen-helpfile "")
+ '(jde-import-excluded-packages (quote ("bsh.*")))
+ '(jde-run-read-vm-args nil)
+ '(jde-help-docsets nil)
+ '(jde-gen-inner-class-template (quote ("(end-of-line) '& \"class \" (P \"Class name: \" class)" "(P \"Superclass: \" super t)" "(let ((parent (jde-gen-lookup-named 'super)))" "(if (not (string= parent \"\"))" "(concat \" extends \" parent ))) " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "\"public \" (s class) \"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n" "\"}\" '>'n'>")))
+ '(jde-auto-parse-buffer-interval 180)
+ '(jde-run-option-verify (quote (nil t)))
+ '(jde-import-reverse-sort-group nil)
+ '(jde-compile-option-optimize nil)
+ '(jde-gen-cflow-case (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"case\")" "'(l 'n \"case \" (p \"value: \") \":\"'>'n'>'p'n" "\"break;\"'>'n'>'p)" ")")))
+ '(jde-compile-option-depend nil)
+ '(jde-javadoc-describe-class-template "\"* Describe class \" (jde-javadoc-code name) \" here.\"")
+ '(jde-javadoc-gen-serialwarn nil)
+ '(jde-gen-action-listener-template (quote ("'& (P \"Component name: \")" "\".addActionListener(new ActionListener() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n \"});\"'>'n'>")))
+ '(jde-auto-parse-enable t)
+ '(jde-compile-option-command-line-args "")
+ '(jde-gen-buffer-templates (quote (("Class" . jde-gen-class) ("Console" . jde-gen-console) ("Swing App" . jde-gen-jfc-app))))
+ '(jde-project-context-switching-enabled-p t)
+ '(jde-javadoc-gen-args nil)
+ '(jde-run-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes"))))
+ '(jde-run-option-properties nil t))
+
+
diff --git a/lib/docbook/docbook-xsl/extensions/saxon643.jar b/lib/docbook/docbook-xsl/extensions/saxon643.jar Binary files differnew file mode 100644 index 000000000..af048bcfc --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643.jar diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/ChangeLog b/lib/docbook/docbook-xsl/extensions/saxon643/ChangeLog new file mode 100644 index 000000000..ba21554bc --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/ChangeLog @@ -0,0 +1,4 @@ +2001-07-16 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, prj.el: New file.
+
diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/CVS.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/CVS.java new file mode 100644 index 000000000..db1d5a53c --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/CVS.java @@ -0,0 +1,90 @@ +package com.nwalsh.saxon; + +import java.io.*; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; +import java.text.DateFormat; +import java.text.ParseException; + +/** + * <p>Saxon extension to convert CVS date strings into local time</p> + * + * <p>$Id: CVS.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * extension to turn the CVS date strings, which are UTC:</p> + * + * <pre>$Date: 2000/11/09 02:34:20 $</pre> + * + * <p>into legibly formatted local time:</p> + * + * <pre>Wed Nov 08 18:34:20 PST 2000</pre> + * + * <p>(I happened to be in California when I wrote this documentation.)</p> + + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: CVS.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class CVS { + /** + * <p>Constructor for CVS</p> + * + * <p>All of the methods are static, so the constructor does nothing.</p> + */ + public CVS() { + } + + /** + * <p>Convert a CVS date string into local time.</p> + * + * @param cvsDate The CVS date string. + * + * @return The date, converted to local time and reformatted. + */ + public static String localTime (String cvsDate) { + // A cvsDate has the following form "$Date: 2002/05/15 17:22:28 $" + if (!cvsDate.startsWith("$Date: ")) { + return cvsDate; + } + + String yrS = cvsDate.substring(7,11); + String moS = cvsDate.substring(12,14); + String daS = cvsDate.substring(15,17); + String hrS = cvsDate.substring(18,20); + String miS = cvsDate.substring(21,23); + String seS = cvsDate.substring(24,26); + + TimeZone tz = TimeZone.getTimeZone("GMT+0"); + GregorianCalendar gmtCal = new GregorianCalendar(tz); + + try { + gmtCal.set(Integer.parseInt(yrS), + Integer.parseInt(moS)-1, + Integer.parseInt(daS), + Integer.parseInt(hrS), + Integer.parseInt(miS), + Integer.parseInt(seS)); + } catch (NumberFormatException e) { + // nop + } + + Date d = gmtCal.getTime(); + + return d.toString(); + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Callout.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Callout.java new file mode 100644 index 000000000..cffa054fe --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Callout.java @@ -0,0 +1,90 @@ +package com.nwalsh.saxon; + +import org.w3c.dom.*; + +/** + * <p>A class for maintaining information about callouts.</p> + * + * <p>To make processing callouts easier, they are parsed out of the + * input structure and stored in a sorted array. (The array is sorted + * according to the order in which the callouts occur.)</p> + * + * <p>This class is just the little record + * that we store in the array for each callout.</p> + */ +public class Callout implements Comparable { + /** The callout number. */ + private int callout = 0; + /** The area Element item that generated this callout. */ + private Element area = null; + /** The line on which this callout occurs. */ + private int line = 0; + /** The column in which this callout appears. */ + private int col = 0; + + /** The constructor; initialize the private data structures. */ + public Callout(int callout, Element area, int line, int col) { + this.callout = callout; + this.area = area; + this.line = line; + this.col = col; + } + + /** + * <p>The compareTo method compares this Callout with another.</p> + * + * <p>Given two Callouts, A and B, A < B if:</p> + * + * <ol> + * <li>A.line < B.line, or</li> + * <li>A.line = B.line && A.col < B.col, or</li> + * <li>A.line = B.line && A.col = B.col && A.callout < B.callout</li> + * <li>Otherwise, they're equal.</li> + * </ol> + */ + public int compareTo (Object o) { + Callout c = (Callout) o; + + if (line == c.getLine()) { + if (col > c.getColumn()) { + return 1; + } else if (col < c.getColumn()) { + return -1; + } else { + if (callout < c.getCallout()) { + return -1; + } else if (callout > c.getCallout()) { + return 1; + } else { + return 0; + } + } + } else { + if (line > c.getLine()) { + return 1; + } else { + return -1; + } + } + } + + /** Access the Callout's area. */ + public Element getArea() { + return area; + } + + /** Access the Callout's line. */ + public int getLine() { + return line; + } + + /** Access the Callout's column. */ + public int getColumn() { + return col; + } + + /** Access the Callout's callout number. */ + public int getCallout() { + return callout; + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/CalloutEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/CalloutEmitter.java new file mode 100644 index 000000000..3c06a84c5 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/CalloutEmitter.java @@ -0,0 +1,526 @@ +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.Controller; +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +/** + * <p>Saxon extension to decorate a result tree fragment with callouts.</p> + * + * <p>$Id: CalloutEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides the guts of a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation of callouts for verbatim environments. (It is used + * by the Verbatim class.)</p> + * + * <p>The general design is this: the stylesheets construct a result tree + * fragment for some verbatim environment. The Verbatim class initializes + * a CalloutEmitter with information about the callouts that should be applied + * to the verbatim environment in question. Then the result tree fragment + * is "replayed" through the CalloutEmitter; the CalloutEmitter builds a + * new result tree fragment from this event stream, decorated with callouts, + * and that is returned.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @see Verbatim + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: CalloutEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class CalloutEmitter extends CopyEmitter { + /** A stack for the preserving information about open elements. */ + protected Stack elementStack = null; + + /** A stack for holding information about temporarily closed elements. */ + protected Stack tempStack = null; + + /** Is the next element absolutely the first element in the fragment? */ + protected boolean firstElement = false; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** The default column for callouts that specify only a line. */ + protected int defaultColumn = 60; + + /** Is the stylesheet currently running an FO stylesheet? */ + protected boolean foStylesheet = false; + + /** The current line number. */ + private static int lineNumber = 0; + + /** The current column number. */ + private static int colNumber = 0; + + /** The (sorted) array of callouts obtained from the areaspec. */ + private static Callout callout[] = null; + + /** The number of callouts in the callout array. */ + private static int calloutCount = 0; + + /** A pointer used to keep track of our position in the callout array. */ + private static int calloutPos = 0; + + /** The FormatCallout object to use for formatting callouts. */ + private static FormatCallout fCallout = null; + + /** <p>Constructor for the CalloutEmitter.</p> + * + * @param namePool The name pool to use for constructing elements and attributes. + * @param graphicsPath The path to callout number graphics. + * @param graphicsExt The extension for callout number graphics. + * @param graphicsMax The largest callout number that can be represented as a graphic. + * @param defaultColumn The default column for callouts. + * @param foStylesheet Is this an FO stylesheet? + */ + public CalloutEmitter(Controller controller, + NamePool namePool, + int defaultColumn, + boolean foStylesheet, + FormatCallout fCallout) { + super(controller, namePool); + elementStack = new Stack(); + firstElement = true; + + this.defaultColumn = defaultColumn; + this.foStylesheet = foStylesheet; + this.fCallout = fCallout; + } + + /** + * <p>Examine the areaspec and determine the number and position of + * callouts.</p> + * + * <p>The <code><a href="http://docbook.org/tdg/html/areaspec.html">areaspecNodeSet</a></code> + * is examined and a sorted list of the callouts is constructed.</p> + * + * <p>This data structure is used to augment the result tree fragment + * with callout bullets.</p> + * + * @param areaspecNodeSet The source document <areaspec> element. + * + */ + public void setupCallouts (NodeList areaspecNodeList) { + callout = new Callout[10]; + calloutCount = 0; + calloutPos = 0; + lineNumber = 1; + colNumber = 1; + + // First we walk through the areaspec to calculate the position + // of the callouts + // <areaspec> + // <areaset id="ex.plco.const" coords=""> + // <area id="ex.plco.c1" coords="4"/> + // <area id="ex.plco.c2" coords="8"/> + // </areaset> + // <area id="ex.plco.ret" coords="12"/> + // <area id="ex.plco.dest" coords="12"/> + // </areaspec> + int pos = 0; + int coNum = 0; + boolean inAreaSet = false; + Node areaspec = areaspecNodeList.item(0); + NodeList children = areaspec.getChildNodes(); + + for (int count = 0; count < children.getLength(); count++) { + Node node = children.item(count); + if (node.getNodeType() == Node.ELEMENT_NODE) { + if (node.getNodeName().equalsIgnoreCase("areaset")) { + coNum++; + NodeList areas = node.getChildNodes(); + for (int acount = 0; acount < areas.getLength(); acount++) { + Node area = areas.item(acount); + if (area.getNodeType() == Node.ELEMENT_NODE) { + if (area.getNodeName().equalsIgnoreCase("area")) { + addCallout(coNum, area, defaultColumn); + } else { + System.out.println("Unexpected element in areaset: " + + area.getNodeName()); + } + } + } + } else if (node.getNodeName().equalsIgnoreCase("area")) { + coNum++; + addCallout(coNum, node, defaultColumn); + } else { + System.out.println("Unexpected element in areaspec: " + + node.getNodeName()); + } + } + } + + // Now sort them + java.util.Arrays.sort(callout, 0, calloutCount); + } + + /** Process characters. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + + // If we hit characters, then there's no first element... + firstElement = false; + + if (lineNumber == 0) { + // if there are any text nodes, there's at least one line + lineNumber++; + colNumber = 1; + } + + // Walk through the text node looking for callout positions + char[] newChars = new char[len]; + int pos = 0; + for (int count = start; count < start+len; count++) { + if (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + + closeOpenElements(rtfEmitter); + + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + fCallout.formatCallout(rtfEmitter, callout[calloutPos]); + calloutPos++; + } + + openClosedElements(rtfEmitter); + } + + if (chars[count] == '\n') { + // What if we need to pad this line? + if (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() > colNumber) { + + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + + closeOpenElements(rtfEmitter); + + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() > colNumber) { + formatPad(callout[calloutPos].getColumn() - colNumber); + colNumber = callout[calloutPos].getColumn(); + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + fCallout.formatCallout(rtfEmitter, callout[calloutPos]); + calloutPos++; + } + } + + openClosedElements(rtfEmitter); + } + + lineNumber++; + colNumber = 1; + } else { + colNumber++; + } + newChars[pos++] = chars[count]; + } + + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + } + } + + /** + * <p>Add blanks to the result tree fragment.</p> + * + * <p>This method adds <tt>numBlanks</tt> to the result tree fragment. + * It's used to pad lines when callouts occur after the last existing + * characater in a line.</p> + * + * @param numBlanks The number of blanks to add. + */ + protected void formatPad(int numBlanks) { + char chars[] = new char[numBlanks]; + for (int count = 0; count < numBlanks; count++) { + chars[count] = ' '; + } + + try { + rtfEmitter.characters(chars, 0, numBlanks); + } catch (TransformerException e) { + System.out.println("Transformer Exception in formatPad"); + } + } + + /** + * <p>Add a callout to the global callout array</p> + * + * <p>This method examines a callout <tt>area</tt> and adds it to + * the global callout array if it can be interpreted.</p> + * + * <p>Only the <tt>linecolumn</tt> and <tt>linerange</tt> units are + * supported. If no unit is specifed, <tt>linecolumn</tt> is assumed. + * If only a line is specified, the callout decoration appears in + * the <tt>defaultColumn</tt>.</p> + * + * @param coNum The callout number. + * @param node The <tt>area</tt>. + * @param defaultColumn The default column for callouts. + */ + protected void addCallout (int coNum, + Node node, + int defaultColumn) { + + Element area = (Element) node; + String units = null; + String coords = null; + + if (area.hasAttribute("units")) { + units = area.getAttribute("units"); + } + + if (area.hasAttribute("coords")) { + coords = area.getAttribute("coords"); + } + + if (units != null + && !units.equalsIgnoreCase("linecolumn") + && !units.equalsIgnoreCase("linerange")) { + System.out.println("Only linecolumn and linerange units are supported"); + return; + } + + if (coords == null) { + System.out.println("Coords must be specified"); + return; + } + + // Now let's see if we can interpret the coordinates... + StringTokenizer st = new StringTokenizer(coords); + int tokenCount = 0; + int c1 = 0; + int c2 = 0; + while (st.hasMoreTokens()) { + tokenCount++; + if (tokenCount > 2) { + System.out.println("Unparseable coordinates"); + return; + } + try { + String token = st.nextToken(); + int coord = Integer.parseInt(token); + c2 = coord; + if (tokenCount == 1) { + c1 = coord; + } + } catch (NumberFormatException e) { + System.out.println("Unparseable coordinate"); + return; + } + } + + // Make sure we aren't going to blow past the end of our array + if (calloutCount == callout.length) { + Callout bigger[] = new Callout[calloutCount+10]; + for (int count = 0; count < callout.length; count++) { + bigger[count] = callout[count]; + } + callout = bigger; + } + + // Ok, add the callout + if (tokenCount == 2) { + if (units != null && units.equalsIgnoreCase("linerange")) { + for (int count = c1; count <= c2; count++) { + callout[calloutCount++] = new Callout(coNum, area, + count, defaultColumn); + } + } else { + // assume linecolumn + callout[calloutCount++] = new Callout(coNum, area, c1, c2); + } + } else { + // if there's only one number, assume it's the line + callout[calloutCount++] = new Callout(coNum, area, c1, defaultColumn); + } + } + + /** Process end element events. */ + public void endElement(int nameCode) + throws TransformerException { + + if (!elementStack.empty()) { + // if we didn't push the very first element (an fo:block or + // pre or div surrounding the whole block), then the stack will + // be empty when we get to the end of the first element... + elementStack.pop(); + } + rtfEmitter.endElement(nameCode); + } + + /** Process start element events. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws TransformerException { + + if (!skipThisElement(nameCode)) { + StartElementInfo sei = new StartElementInfo(nameCode, attributes, + namespaces, nscount); + elementStack.push(sei); + } + + firstElement = false; + + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } + + /** + * <p>Protect the outer-most block wrapper.</p> + * + * <p>Open elements in the result tree fragment are closed and reopened + * around callouts (so that callouts don't appear inside links or other + * environments). But if the result tree fragment is a single block + * (a div or pre in HTML, an fo:block in FO), that outer-most block is + * treated specially.</p> + * + * <p>This method returns true if the element in question is that + * outermost block.</p> + * + * @param nameCode The name code for the element + * + * @return True if the element is the outer-most block, false otherwise. + */ + protected boolean skipThisElement(int nameCode) { + if (firstElement) { + int thisFingerprint = namePool.getFingerprint(nameCode); + int foBlockFingerprint = namePool.getFingerprint(foURI, "block"); + int htmlPreFingerprint = namePool.getFingerprint("", "pre"); + int htmlDivFingerprint = namePool.getFingerprint("", "div"); + + if ((foStylesheet && thisFingerprint == foBlockFingerprint) + || (!foStylesheet && (thisFingerprint == htmlPreFingerprint + || thisFingerprint == htmlDivFingerprint))) { + // Don't push the outer-most wrapping div, pre, or fo:block + return true; + } + } + + return false; + } + + private void closeOpenElements(Emitter rtfEmitter) + throws TransformerException { + // Close all the open elements... + tempStack = new Stack(); + while (!elementStack.empty()) { + StartElementInfo elem = (StartElementInfo) elementStack.pop(); + rtfEmitter.endElement(elem.getNameCode()); + tempStack.push(elem); + } + } + + private void openClosedElements(Emitter rtfEmitter) + throws TransformerException { + // Now "reopen" the elements that we closed... + while (!tempStack.empty()) { + StartElementInfo elem = (StartElementInfo) tempStack.pop(); + AttributeCollection attr = (AttributeCollection) elem.getAttributes(); + AttributeCollection newAttr = new AttributeCollection(namePool); + + for (int acount = 0; acount < attr.getLength(); acount++) { + String localName = attr.getLocalName(acount); + int nameCode = attr.getNameCode(acount); + String type = attr.getType(acount); + String value = attr.getValue(acount); + String uri = attr.getURI(acount); + String prefix = ""; + + if (localName.indexOf(':') > 0) { + prefix = localName.substring(0, localName.indexOf(':')); + localName = localName.substring(localName.indexOf(':')+1); + } + + if (uri.equals("") + && ((foStylesheet + && localName.equals("id")) + || (!foStylesheet + && (localName.equals("id") + || localName.equals("name"))))) { + // skip this attribute + } else { + newAttr.addAttribute(prefix, uri, localName, type, value); + } + } + + rtfEmitter.startElement(elem.getNameCode(), + newAttr, + elem.getNamespaces(), + elem.getNSCount()); + + elementStack.push(elem); + } + } + + /** + * <p>A private class for maintaining the information required to call + * the startElement method.</p> + * + * <p>In order to close and reopen elements, information about those + * elements has to be maintained. This class is just the little record + * that we push on the stack to keep track of that info.</p> + */ + private class StartElementInfo { + private int _nameCode; + org.xml.sax.Attributes _attributes; + int[] _namespaces; + int _nscount; + + public StartElementInfo(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) { + _nameCode = nameCode; + _attributes = attributes; + _namespaces = namespaces; + _nscount = nscount; + } + + public int getNameCode() { + return _nameCode; + } + + public org.xml.sax.Attributes getAttributes() { + return _attributes; + } + + public int[] getNamespaces() { + return _namespaces; + } + + public int getNSCount() { + return _nscount; + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/ChangeLog b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/ChangeLog new file mode 100644 index 000000000..75a9acdd5 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/ChangeLog @@ -0,0 +1,14 @@ +2001-08-05 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * FormatDingbatCallout.java, FormatUnicodeCallout.java, Verbatim.java:
+ Removed the FormatDingbatCallout classes, they were the same as the FormatUnicodeCallout classes but with a font wrapper. Added a callout.unicode.font parameter to wrap Unicode callouts
+
+2001-07-31 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * FormatCallout.java: Fix attribute test
+
+2001-07-16 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * CVS.java, Callout.java, CalloutEmitter.java, ColumnScanEmitter.java, ColumnUpdateEmitter.java, CopyEmitter.java, FormatCallout.java, FormatDingbatCallout.java, FormatGraphicCallout.java, FormatTextCallout.java, FormatUnicodeCallout.java, LineCountEmitter.java, NumberLinesEmitter.java, Table.java, Text.java, TextFactory.java, Verbatim.java, package.html:
+ New file.
+
diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/ColumnScanEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/ColumnScanEmitter.java new file mode 100644 index 000000000..bc3954d5c --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/ColumnScanEmitter.java @@ -0,0 +1,165 @@ +package com.nwalsh.saxon; + +import org.xml.sax.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.output.*; +import com.icl.saxon.om.*; +import com.icl.saxon.expr.FragmentValue; + +/** + * <p>Saxon extension to scan the column widthsin a result tree fragment.</p> + * + * <p>$Id: ColumnScanEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation to scan the column widths in a result tree + * fragment.</p> + * + * <p>The general design is this: the stylesheets construct a result tree + * fragment for some colgroup environment. That result tree fragment + * is "replayed" through the ColumnScanEmitter; the ColumnScanEmitter watches + * the cols go by and extracts the column widths that it sees. These + * widths are then made available.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: ColumnScanEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class ColumnScanEmitter extends com.icl.saxon.output.Emitter { + /** The number of columns seen. */ + protected int numColumns = 0; + protected String width[] = new String[5]; + protected NamePool namePool = null; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** Construct a new ColumnScanEmitter. */ + public ColumnScanEmitter(NamePool namePool) { + numColumns = 0; + this.namePool = namePool; + } + + /** Return the number of columns. */ + public int columnCount() { + return numColumns; + } + + /** Return the number of columns. */ + public String[] columnWidths() { + return width; + } + + /** Discarded. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void comment(char[] chars, int start, int length) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void endDocument() + throws TransformerException { + // nop + } + + /** Discarded. */ + public void endElement(int nameCode) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void processingInstruction(java.lang.String name, + java.lang.String data) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void setDocumentLocator(org.xml.sax.Locator locator) { + // nop + } + + /** Discarded. */ + public void setEscaping(boolean escaping) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void setNamePool(NamePool namePool) { + // nop + } + + /** Discarded. */ + public void setUnparsedEntity(java.lang.String name, java.lang.String uri) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void setWriter(java.io.Writer writer) { + // nop + } + + /** Discarded. */ + public void startDocument() + throws TransformerException { + // nop + } + + /** Examine for column info. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, int nscount) + throws TransformerException { + + int thisFingerprint = namePool.getFingerprint(nameCode); + int colFingerprint = namePool.getFingerprint("", "col"); + int foColFingerprint = namePool.getFingerprint(foURI, "table-column"); + + if (thisFingerprint == colFingerprint + || thisFingerprint == foColFingerprint) { + if (numColumns >= width.length) { + String newWidth[] = new String[width.length+10]; + for (int count = 0; count < width.length; count++) { + newWidth[count] = width[count]; + } + width = newWidth; + } + + if (thisFingerprint == colFingerprint) { + if (attributes.getValue("width") == null) { + width[numColumns++] = "1*"; + } else { + width[numColumns++] = attributes.getValue("width"); + } + } else { + if (attributes.getValue("column-width") == null) { + width[numColumns++] = "1*"; + } else { + width[numColumns++] = attributes.getValue("column-width"); + } + } + } + } +} + + diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/ColumnUpdateEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/ColumnUpdateEmitter.java new file mode 100644 index 000000000..a2a1b7cf0 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/ColumnUpdateEmitter.java @@ -0,0 +1,96 @@ +package com.nwalsh.saxon; + +import org.xml.sax.*; +import com.icl.saxon.output.*; +import com.icl.saxon.Controller; +import com.icl.saxon.om.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.expr.FragmentValue; +import com.icl.saxon.tree.AttributeCollection; + +/** + * <p>Saxon extension to scan the column widthsin a result tree fragment.</p> + * + * <p>$Id: ColumnUpdateEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation to scan the column widths in a result tree + * fragment.</p> + * + * <p>The general design is this: the stylesheets construct a result tree + * fragment for some colgroup environment. That result tree fragment + * is "replayed" through the ColumnUpdateEmitter; the ColumnUpdateEmitter watches + * the cols go by and extracts the column widths that it sees. These + * widths are then made available.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: ColumnUpdateEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class ColumnUpdateEmitter extends CopyEmitter { + /** The number of columns seen. */ + protected int numColumns = 0; + protected String width[] = null; + protected NamePool namePool = null; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** Construct a new ColumnUpdateEmitter. */ + public ColumnUpdateEmitter(Controller controller, + NamePool namePool, + String width[]) { + super(controller, namePool); + numColumns = 0; + this.width = width; + this.namePool = namePool; + } + + /** Examine for column info. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, int nscount) + throws TransformerException { + + int thisFingerprint = namePool.getFingerprint(nameCode); + int colFingerprint = namePool.getFingerprint("", "col"); + int foColFingerprint = namePool.getFingerprint(foURI, "table-column"); + + if (thisFingerprint == colFingerprint) { + AttributeCollection attr = new AttributeCollection(namePool, attributes); + int widthFingerprint = namePool.getFingerprint("", "width"); + + if (attr.getValueByFingerprint(widthFingerprint) == null) { + attr.addAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } else { + attr.setAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } + attributes = attr; + } else if (thisFingerprint == foColFingerprint) { + AttributeCollection attr = new AttributeCollection(namePool, attributes); + int widthFingerprint = namePool.getFingerprint("", "column-width"); + + if (attr.getValueByFingerprint(widthFingerprint) == null) { + attr.addAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } else { + attr.setAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } + attributes = attr; + } + + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } +} + + diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/CopyEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/CopyEmitter.java new file mode 100644 index 000000000..6e6ac6490 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/CopyEmitter.java @@ -0,0 +1,150 @@ +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.Context; +import com.icl.saxon.expr.*; +import com.icl.saxon.expr.FragmentValue; +import com.icl.saxon.Controller; +import com.icl.saxon.functions.Extensions; +import com.icl.saxon.om.*; +import com.icl.saxon.output.*; +import com.icl.saxon.pattern.*; +import com.icl.saxon.tree.*; + +/** + * <p>A Saxon 6.0 Emitter that clones its input.</p> + * + * <p>$Id: CopyEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation of an emitter that manufactures a cloned result + * tree fragment.</p> + * + * <p>The purpose of this emitter is to provide something for + * CalloutEmitter and NumberLinesEmitter to extend. + * This emitter simply copies all input to a new result tree fragment.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @see CalloutEmitter + * @see NumberLinesEmitter + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: CopyEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class CopyEmitter extends com.icl.saxon.output.Emitter { + /** The result tree fragment containing the copied fragment. */ + protected FragmentValue rtf = null; + protected Emitter rtfEmitter = null; + + /** <p>The namePool.</p> + * + * <p>Copied from the caller, it should be the runtime name pool.</p> + */ + protected NamePool namePool = null; + + /** <p>Constructor for the CopyEmitter.</p> + * + * @param namePool The name pool to use for constructing elements and attributes. + */ + public CopyEmitter(Controller controller, NamePool namePool) { + rtf = new FragmentValue(controller); + rtfEmitter = rtf.getEmitter(); + this.namePool = namePool; + } + + /** + * <p>Return the result tree fragment constructed by replaying events + * through this emitter.</p> + */ + public FragmentValue getResultTreeFragment() { + return rtf; + } + + /** Copy characters. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + rtfEmitter.characters(chars, start, len); + } + + /** Copy comments. */ + public void comment(char[] chars, int start, int length) + throws TransformerException { + rtfEmitter.comment(chars, start, length); + } + + /** Copy end document events. */ + public void endDocument() + throws TransformerException { + rtfEmitter.endDocument(); + } + + /** Copy end element events. */ + public void endElement(int nameCode) + throws TransformerException { + rtfEmitter.endElement(nameCode); + } + + /** Copy processing instructions. */ + public void processingInstruction(java.lang.String name, + java.lang.String data) + throws TransformerException { + rtfEmitter.processingInstruction(name, data); + } + + /** Copy set document locator events. */ + public void setDocumentLocator(org.xml.sax.Locator locator) { + rtfEmitter.setDocumentLocator(locator); + } + + /** Copy set escaping events. */ + public void setEscaping(boolean escaping) + throws TransformerException { + rtfEmitter.setEscaping(escaping); + } + + /** Copy set name pool events. */ + public void setNamePool(NamePool namePool) { + rtfEmitter.setNamePool(namePool); + } + + /** Copy set unparsed entity events. */ + public void setUnparsedEntity(java.lang.String name, java.lang.String uri) + throws TransformerException { + rtfEmitter.setUnparsedEntity(name, uri); + } + + /** Copy set writer events. */ + public void setWriter(java.io.Writer writer) { + rtfEmitter.setWriter(writer); + } + + /** Copy start document events. */ + public void startDocument() + throws TransformerException { + rtfEmitter.startDocument(); + } + + /** Copy start element events. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws TransformerException { + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatCallout.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatCallout.java new file mode 100644 index 000000000..202253a20 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatCallout.java @@ -0,0 +1,111 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +import com.nwalsh.saxon.Callout; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + **/ + +public abstract class FormatCallout { + protected static final String foURI = "http://www.w3.org/1999/XSL/Format"; + protected static final String xhURI = "http://www.w3.org/1999/xhtml"; + protected boolean foStylesheet = false; + protected NamePool namePool = null; + + public FormatCallout(NamePool nPool, boolean fo) { + namePool = nPool; + foStylesheet = fo; + } + + public String areaLabel(Element area) { + String label = null; + + if (area.hasAttribute("label")) { + // If this area has a label, use it + label = area.getAttribute("label"); + } else { + // Otherwise, if its parent is an areaset and it has a label, use that + Element parent = (Element) area.getParentNode(); + if (parent != null + && parent.getLocalName().equalsIgnoreCase("areaset") + && parent.hasAttribute("label")) { + label = parent.getAttribute("label"); + } + } + + return label; + } + + public void startSpan(Emitter rtf) + throws TransformerException { + // no point in doing this for FO, right? + if (!foStylesheet && namePool != null) { + int spanName = namePool.allocate("", "", "span"); + AttributeCollection spanAttr = new AttributeCollection(namePool); + int namespaces[] = new int[1]; + spanAttr.addAttribute("", "", "class", "CDATA", "co"); + rtf.startElement(spanName, spanAttr, namespaces, 0); + } + } + + public void endSpan(Emitter rtf) + throws TransformerException { + // no point in doing this for FO, right? + if (!foStylesheet && namePool != null) { + int spanName = namePool.allocate("", "", "span"); + rtf.endElement(spanName); + } + } + + public void formatTextCallout(Emitter rtfEmitter, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = "(" + num + ")"; + + if (userLabel != null) { + label = userLabel; + } + + char chars[] = label.toCharArray(); + + try { + startSpan(rtfEmitter); + rtfEmitter.characters(chars, 0, label.length()); + endSpan(rtfEmitter); + } catch (TransformerException e) { + System.out.println("Transformer Exception in formatTextCallout"); + } + } + + public abstract void formatCallout(Emitter rtfEmitter, + Callout callout); +} + diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatGraphicCallout.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatGraphicCallout.java new file mode 100644 index 000000000..d2fbf6ebb --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatGraphicCallout.java @@ -0,0 +1,88 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +import com.nwalsh.saxon.Callout; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatGraphicCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatGraphicCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + **/ + +public class FormatGraphicCallout extends FormatCallout { + String graphicsPath = ""; + String graphicsExt = ""; + int graphicsMax = 0; + + public FormatGraphicCallout(NamePool nPool, String path, String ext, int max, boolean fo) { + super(nPool, fo); + graphicsPath = path; + graphicsExt = ext; + graphicsMax = max; + } + + public void formatCallout(Emitter rtfEmitter, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = "(" + num + ")"; + + if (userLabel != null) { + label = userLabel; + } + + try { + if (userLabel == null && num <= graphicsMax) { + int imgName = 0; + AttributeCollection imgAttr = null; + int namespaces[] = new int[1]; + + if (foStylesheet) { + imgName = namePool.allocate("fo", foURI, "external-graphic"); + imgAttr = new AttributeCollection(namePool); + imgAttr.addAttribute("", "", "src", "CDATA", + graphicsPath + num + graphicsExt); + } else { + imgName = namePool.allocate("", "", "img"); + imgAttr = new AttributeCollection(namePool); + imgAttr.addAttribute("", "", "src", "CDATA", + graphicsPath + num + graphicsExt); + imgAttr.addAttribute("", "", "alt", "CDATA", label); + } + + startSpan(rtfEmitter); + rtfEmitter.startElement(imgName, imgAttr, namespaces, 0); + rtfEmitter.endElement(imgName); + endSpan(rtfEmitter); + } else { + formatTextCallout(rtfEmitter, callout); + } + } catch (TransformerException e) { + System.out.println("Transformer Exception in graphic formatCallout"); + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatTextCallout.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatTextCallout.java new file mode 100644 index 000000000..d12ec79e6 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatTextCallout.java @@ -0,0 +1,43 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; + +import com.nwalsh.saxon.Callout; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatTextCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatTextCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + **/ + +public class FormatTextCallout extends FormatCallout { + public FormatTextCallout(NamePool nPool, boolean fo) { + super(nPool, fo); + } + + public void formatCallout(Emitter rtfEmitter, + Callout callout) { + formatTextCallout(rtfEmitter, callout); + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatUnicodeCallout.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatUnicodeCallout.java new file mode 100644 index 000000000..760e6b8a6 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/FormatUnicodeCallout.java @@ -0,0 +1,98 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +import com.nwalsh.saxon.Callout; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatUnicodeCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatUnicodeCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + **/ + +public class FormatUnicodeCallout extends FormatCallout { + int unicodeMax = 0; + int unicodeStart = 0; + String unicodeFont = ""; + + public FormatUnicodeCallout(NamePool nPool, + String font, + int start, + int max, + boolean fo) { + super(nPool, fo); + unicodeFont = font; + unicodeMax = max; + unicodeStart = start; + } + + public void formatCallout(Emitter rtfEmitter, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = ""; + + if (userLabel != null) { + label = userLabel; + } + + try { + if (userLabel == null && num <= unicodeMax) { + int inName = 0; + AttributeCollection inAttr = null; + int namespaces[] = new int[1]; + + if (!unicodeFont.equals("")) { + if (foStylesheet) { + inName = namePool.allocate("fo", foURI, "inline"); + inAttr = new AttributeCollection(namePool); + inAttr.addAttribute("", "", "font-family", "CDATA", unicodeFont); + } else { + inName = namePool.allocate("", "", "font"); + inAttr = new AttributeCollection(namePool); + inAttr.addAttribute("", "", "face", "CDATA", unicodeFont); + } + + startSpan(rtfEmitter); + rtfEmitter.startElement(inName, inAttr, namespaces, 0); + } + + char chars[] = new char[1]; + chars[0] = (char) (unicodeStart + num - 1); + rtfEmitter.characters(chars, 0, 1); + + if (!unicodeFont.equals("")) { + rtfEmitter.endElement(inName); + endSpan(rtfEmitter); + } + } else { + formatTextCallout(rtfEmitter, callout); + } + } catch (TransformerException e) { + System.out.println("Transformer Exception in graphic formatCallout"); + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/LineCountEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/LineCountEmitter.java new file mode 100644 index 000000000..64b2d6752 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/LineCountEmitter.java @@ -0,0 +1,141 @@ +package com.nwalsh.saxon; + +import org.xml.sax.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.output.*; +import com.icl.saxon.om.*; +import com.icl.saxon.expr.FragmentValue; + +/** + * <p>Saxon extension to count the lines in a result tree fragment.</p> + * + * <p>$Id: LineCountEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation to count the number of lines in a result tree + * fragment.</p> + * + * <p>The general design is this: the stylesheets construct a result tree + * fragment for some verbatim environment. That result tree fragment + * is "replayed" through the LineCountEmitter; the LineCountEmitter watches + * characters go by and counts the number of line feeds that it sees. + * That number is then returned.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @see Verbatim + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: LineCountEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class LineCountEmitter extends com.icl.saxon.output.Emitter { + /** The number of lines seen. */ + protected int numLines = 0; + + /** Construct a new LineCountEmitter. */ + public LineCountEmitter() { + numLines = 0; + } + + /** Reset the number of lines. */ + public void reset() { + numLines = 0; + } + + /** Return the number of lines. */ + public int lineCount() { + return numLines; + } + + /** Process characters. */ + public void characters(char[] chars, int start, int len) + throws javax.xml.transform.TransformerException { + + if (numLines == 0) { + // If there are any characters at all, there's at least one line + numLines++; + } + + for (int count = start; count < start+len; count++) { + if (chars[count] == '\n') { + numLines++; + } + } + } + + /** Discarded. */ + public void comment(char[] chars, int start, int length) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void endDocument() + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void endElement(int nameCode) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void processingInstruction(java.lang.String name, + java.lang.String data) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void setDocumentLocator(org.xml.sax.Locator locator) { + // nop + } + + /** Discarded. */ + public void setEscaping(boolean escaping) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void setNamePool(NamePool namePool) { + // nop + } + + /** Discarded. */ + public void setUnparsedEntity(java.lang.String name, java.lang.String uri) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void setWriter(java.io.Writer writer) { + // nop + } + + /** Discarded. */ + public void startDocument() + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, int nscount) + throws javax.xml.transform.TransformerException { + // nop + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/NumberLinesEmitter.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/NumberLinesEmitter.java new file mode 100644 index 000000000..2dd811668 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/NumberLinesEmitter.java @@ -0,0 +1,324 @@ +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.output.*; +import com.icl.saxon.om.*; +import com.icl.saxon.Controller; +import com.icl.saxon.tree.AttributeCollection; +import com.icl.saxon.expr.FragmentValue; + +/** + * <p>Saxon extension to decorate a result tree fragment with line numbers.</p> + * + * <p>$Id: NumberLinesEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides the guts of a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a> + * implementation of line numbering for verbatim environments. (It is used + * by the Verbatim class.)</p> + * + * <p>The general design is this: the stylesheets construct a result tree + * fragment for some verbatim environment. The Verbatim class initializes + * a NumberLinesEmitter with information about what lines should be + * numbered and how. Then the result tree fragment + * is "replayed" through the NumberLinesEmitter; the NumberLinesEmitter + * builds a + * new result tree fragment from this event stream, decorated with line + * numbers, + * and that is returned.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @see Verbatim + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: NumberLinesEmitter.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class NumberLinesEmitter extends CopyEmitter { + /** A stack for the preserving information about open elements. */ + protected Stack elementStack = null; + + /** The current line number. */ + protected int lineNumber = 0; + + /** Is the next element absolutely the first element in the fragment? */ + protected boolean firstElement = false; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** Every <code>modulus</code> line will be numbered. */ + protected int modulus = 5; + + /** Line numbers are <code>width</code> characters wide. */ + protected int width = 3; + + /** Line numbers are separated from the listing by <code>separator</code>. */ + protected String separator = " "; + + /** Is the stylesheet currently running an FO stylesheet? */ + protected boolean foStylesheet = false; + + /** <p>Constructor for the NumberLinesEmitter.</p> + * + * @param namePool The name pool to use for constructing elements and attributes. + * @param modulus The modulus to use for this listing. + * @param width The width to use for line numbers in this listing. + * @param separator The separator to use for this listing. + * @param foStylesheet Is this an FO stylesheet? + */ + public NumberLinesEmitter(Controller controller, + NamePool namePool, + int modulus, + int width, + String separator, + boolean foStylesheet) { + super(controller,namePool); + elementStack = new Stack(); + firstElement = true; + + this.modulus = modulus; + this.width = width; + this.separator = separator; + this.foStylesheet = foStylesheet; + } + + /** Process characters. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + + // If we hit characters, then there's no first element... + firstElement = false; + + if (lineNumber == 0) { + // The first line is always numbered + formatLineNumber(++lineNumber); + } + + // Walk through the text node looking for newlines + char[] newChars = new char[len]; + int pos = 0; + for (int count = start; count < start+len; count++) { + if (chars[count] == '\n') { + // This is the tricky bit; if we find a newline, make sure + // it doesn't occur inside any markup. + + if (pos > 0) { + // Output any characters that preceded this newline + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + + // Close all the open elements... + Stack tempStack = new Stack(); + while (!elementStack.empty()) { + StartElementInfo elem = (StartElementInfo) elementStack.pop(); + rtfEmitter.endElement(elem.getNameCode()); + tempStack.push(elem); + } + + // Copy the newline to the output + newChars[pos++] = chars[count]; + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + + // Add the line number + formatLineNumber(++lineNumber); + + // Now "reopen" the elements that we closed... + while (!tempStack.empty()) { + StartElementInfo elem = (StartElementInfo) tempStack.pop(); + AttributeCollection attr = (AttributeCollection)elem.getAttributes(); + AttributeCollection newAttr = new AttributeCollection(namePool); + + for (int acount = 0; acount < attr.getLength(); acount++) { + String localName = attr.getLocalName(acount); + int nameCode = attr.getNameCode(acount); + String type = attr.getType(acount); + String value = attr.getValue(acount); + String uri = attr.getURI(acount); + String prefix = ""; + + if (localName.indexOf(':') > 0) { + prefix = localName.substring(0, localName.indexOf(':')); + localName = localName.substring(localName.indexOf(':')+1); + } + + if (uri.equals("") + && ((foStylesheet + && localName.equals("id")) + || (!foStylesheet + && (localName.equals("id") + || localName.equals("name"))))) { + // skip this attribute + } else { + newAttr.addAttribute(prefix, uri, localName, type, value); + } + } + + rtfEmitter.startElement(elem.getNameCode(), + newAttr, + elem.getNamespaces(), + elem.getNSCount()); + + elementStack.push(elem); + } + } else { + newChars[pos++] = chars[count]; + } + } + + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + } + + /** + * <p>Add a formatted line number to the result tree fragment.</p> + * + * @param lineNumber The number of the current line. + */ + protected void formatLineNumber(int lineNumber) + throws TransformerException { + + char ch = 160; // + + String lno = ""; + if (lineNumber == 1 + || (modulus >= 1 && (lineNumber % modulus == 0))) { + lno = "" + lineNumber; + } + + while (lno.length() < width) { + lno = ch + lno; + } + + lno += separator; + + char chars[] = new char[lno.length()]; + for (int count = 0; count < lno.length(); count++) { + chars[count] = lno.charAt(count); + } + + characters(chars, 0, lno.length()); + } + + /** Process end element events. */ + public void endElement(int nameCode) + throws TransformerException { + if (!elementStack.empty()) { + // if we didn't push the very first element (an fo:block or + // pre or div surrounding the whole block), then the stack will + // be empty when we get to the end of the first element... + elementStack.pop(); + } + rtfEmitter.endElement(nameCode); + } + + /** Process start element events. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws TransformerException { + + if (!skipThisElement(nameCode)) { + StartElementInfo sei = new StartElementInfo(nameCode, attributes, + namespaces, nscount); + elementStack.push(sei); + } + + firstElement = false; + + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } + + /** + * <p>Protect the outer-most block wrapper.</p> + * + * <p>Open elements in the result tree fragment are closed and reopened + * around callouts (so that callouts don't appear inside links or other + * environments). But if the result tree fragment is a single block + * (a div or pre in HTML, an fo:block in FO), that outer-most block is + * treated specially.</p> + * + * <p>This method returns true if the element in question is that + * outermost block.</p> + * + * @param nameCode The name code for the element + * + * @return True if the element is the outer-most block, false otherwise. + */ + protected boolean skipThisElement(int nameCode) { + if (firstElement) { + int thisFingerprint = namePool.getFingerprint(nameCode); + int foBlockFingerprint = namePool.getFingerprint(foURI, "block"); + int htmlPreFingerprint = namePool.getFingerprint("", "pre"); + int htmlDivFingerprint = namePool.getFingerprint("", "div"); + + if ((foStylesheet && thisFingerprint == foBlockFingerprint) + || (!foStylesheet && (thisFingerprint == htmlPreFingerprint + || thisFingerprint == htmlDivFingerprint))) { + // Don't push the outer-most wrapping div, pre, or fo:block + return true; + } + } + + return false; + } + + /** + * <p>A private class for maintaining the information required to call + * the startElement method.</p> + * + * <p>In order to close and reopen elements, information about those + * elements has to be maintained. This class is just the little record + * that we push on the stack to keep track of that info.</p> + */ + private class StartElementInfo { + private int _nameCode; + org.xml.sax.Attributes _attributes; + int[] _namespaces; + int _nscount; + + public StartElementInfo(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) { + _nameCode = nameCode; + _attributes = attributes; + _namespaces = namespaces; + _nscount = nscount; + } + + public int getNameCode() { + return _nameCode; + } + + public org.xml.sax.Attributes getAttributes() { + return _attributes; + } + + public int[] getNamespaces() { + return _namespaces; + } + + public int getNSCount() { + return _nscount; + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Table.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Table.java new file mode 100644 index 000000000..38d679335 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Table.java @@ -0,0 +1,435 @@ +// Verbatim.java - Saxon extensions supporting DocBook verbatim environments + +package com.nwalsh.saxon; + +import java.util.Hashtable; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.Controller; +import com.icl.saxon.expr.*; +import com.icl.saxon.om.*; +import com.icl.saxon.pattern.*; +import com.icl.saxon.Context; +import com.icl.saxon.tree.*; +import com.icl.saxon.functions.Extensions; + +/** + * <p>Saxon extensions supporting Tables</p> + * + * <p>$Id: Table.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * implementation of some code to adjust CALS Tables to HTML + * Tables.</p> + * + * <p><b>Column Widths</b></p> + * <p>The <tt>adjustColumnWidths</tt> method takes a result tree + * fragment (assumed to contain the colgroup of an HTML Table) + * and returns the result tree fragment with the column widths + * adjusted to HTML terms.</p> + * + * <p><b>Convert Lengths</b></p> + * <p>The <tt>convertLength</tt> method takes a length specification + * of the form 9999.99xx (where "xx" is a unit) and returns that length + * as an integral number of pixels. For convenience, percentage lengths + * are returned unchanged.</p> + * <p>The recognized units are: inches (in), centimeters (cm), + * millimeters (mm), picas (pc, 1pc=12pt), points (pt), and pixels (px). + * A number with no units is assumed to be pixels.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: Table.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class Table { + /** The number of pixels per inch */ + private static int pixelsPerInch = 96; + + /** The nominal table width (6in by default). */ + private static int nominalWidth = 6 * pixelsPerInch; + + /** The default table width (100% by default). */ + private static String tableWidth = "100%"; + + /** Is this an FO stylesheet? */ + private static boolean foStylesheet = false; + + /** The hash used to associate units with a length in pixels. */ + protected static Hashtable unitHash = null; + + /** + * <p>Constructor for Verbatim</p> + * + * <p>All of the methods are static, so the constructor does nothing.</p> + */ + public Table() { + } + + /** Initialize the internal hash table with proper values. */ + protected static void initializeHash() { + unitHash = new Hashtable(); + unitHash.put("in", new Float(pixelsPerInch)); + unitHash.put("cm", new Float(pixelsPerInch / 2.54)); + unitHash.put("mm", new Float(pixelsPerInch / 25.4)); + unitHash.put("pc", new Float((pixelsPerInch / 72) * 12)); + unitHash.put("pt", new Float(pixelsPerInch / 72)); + unitHash.put("px", new Float(1)); + } + + /** Set the pixels-per-inch value. Only positive values are legal. */ + public static void setPixelsPerInch(int value) { + if (value > 0) { + pixelsPerInch = value; + initializeHash(); + } + } + + /** Return the current pixels-per-inch value. */ + public int getPixelsPerInch() { + return pixelsPerInch; + } + + /** + * <p>Convert a length specification to a number of pixels.</p> + * + * <p>The specified length should be of the form [+/-]999.99xx, + * where xx is a valid unit.</p> + */ + public static int convertLength(String length) { + // The format of length should be 999.999xx + int sign = 1; + String digits = ""; + String units = ""; + char lench[] = length.toCharArray(); + float flength = 0; + boolean done = false; + int pos = 0; + float factor = 1; + int pixels = 0; + + if (unitHash == null) { + initializeHash(); + } + + if (lench[pos] == '+' || lench[pos] == '-') { + if (lench[pos] == '-') { + sign = -1; + } + pos++; + } + + while (!done) { + if (pos >= lench.length) { + done = true; + } else { + if ((lench[pos] > '9' || lench[pos] < '0') && lench[pos] != '.') { + done = true; + units = length.substring(pos); + } else { + digits += lench[pos++]; + } + } + } + + try { + flength = Float.parseFloat(digits); + } catch (NumberFormatException e) { + System.out.println(digits + " is not a number; 1 used instead."); + flength = 1; + } + + Float f = null; + + if (!units.equals("")) { + f = (Float) unitHash.get(units); + if (f == null) { + System.out.println(units + " is not a known unit; 1 used instead."); + factor = 1; + } else { + factor = f.floatValue(); + } + } else { + factor = 1; + } + + f = new Float(flength * factor); + + pixels = f.intValue() * sign; + + return pixels; + } + + /** + * <p>Find the string value of a stylesheet variable or parameter</p> + * + * <p>Returns the string value of <code>varName</code> in the current + * <code>context</code>. Returns the empty string if the variable is + * not defined.</p> + * + * @param context The current stylesheet context + * @param varName The name of the variable (without the dollar sign) + * + * @return The string value of the variable + */ + protected static String getVariable(Context context, String varName) + throws TransformerException { + Value variable = null; + String varString = null; + + try { + variable = Extensions.evaluate(context, "$" + varName); + varString = variable.asString(); + return varString; + } catch (IllegalArgumentException e) { + System.out.println("Undefined variable: " + varName); + return ""; + } + } + + /** + * <p>Setup the parameters associated with column width calculations</p> + * + * <p>This method queries the stylesheet for the variables + * associated with table column widths. It is called automatically before + * column widths are adjusted. The context is used to retrieve the values, + * this allows templates to redefine these variables.</p> + * + * <p>The following variables are queried. If the variables do not + * exist, builtin defaults will be used (but you may also get a bunch + * of messages from the Java interpreter).</p> + * + * <dl> + * <dt><code>nominal.table.width</code></dt> + * <dd>The "normal" width for tables. This must be an absolute length.</dd> + * <dt><code>table.width</code></dt> + * <dd>The width for tables. This may be either an absolute + * length or a percentage.</dd> + * </dl> + * + * @param context The current stylesheet context + * + */ + private static void setupColumnWidths(Context context) { + // Hardcoded defaults + nominalWidth = 6 * pixelsPerInch; + tableWidth = "100%"; + + String varString = null; + + try { + // Get the stylesheet type + varString = getVariable(context, "stylesheet.result.type"); + foStylesheet = varString.equals("fo"); + + // Get the nominal table width + varString = getVariable(context, "nominal.table.width"); + nominalWidth = convertLength(varString); + + // Get the table width + varString = getVariable(context, "table.width"); + tableWidth = varString; + } catch (TransformerException e) { + //nop, can't happen + } + } + + /** + * <p>Adjust column widths in an HTML table.</p> + * + * <p>The specification of column widths in CALS (a relative width + * plus an optional absolute width) are incompatible with HTML column + * widths. This method adjusts CALS column width specifiers in an + * attempt to produce equivalent HTML specifiers.</p> + * + * <p>In order for this method to work, the CALS width specifications + * should be placed in the "width" attribute of the <col>s within + * a <colgroup>. Then the colgroup result tree fragment is passed + * to this method.</p> + * + * <p>This method makes use of two parameters from the XSL stylesheet + * that calls it: <code>nominal.table.width</code> and + * <code>table.width</code>. The value of <code>nominal.table.width</code> + * must be an absolute distance. The value of <code>table.width</code> + * can be either absolute or relative.</p> + * + * <p>Presented with a mixture of relative and + * absolute lengths, the table width is used to calculate + * appropriate values. If the <code>table.width</code> is relative, + * the nominal width is used for this calculation.</p> + * + * <p>There are three possible combinations of values:</p> + * + * <ol> + * <li>There are no relative widths; in this case the absolute widths + * are used in the HTML table.</li> + * <li>There are no absolute widths; in this case the relative widths + * are used in the HTML table.</li> + * <li>There are a mixture of absolute and relative widths: + * <ol> + * <li>If the table width is absolute, all widths become absolute.</li> + * <li>If the table width is relative, make all the widths absolute + * relative to the nominal table width then turn them all + * back into relative widths.</li> + * </ol> + * </li> + * </ol> + * + * @param context The stylesheet context; supplied automatically by Saxon + * @param rtf The result tree fragment containing the colgroup. + * + * @return The result tree fragment containing the adjusted colgroup. + * + */ + public static NodeSetValue adjustColumnWidths (Context context, + NodeSetValue rtf_ns) { + + FragmentValue rtf = (FragmentValue) rtf_ns; + + setupColumnWidths(context); + + try { + Controller controller = context.getController(); + NamePool namePool = controller.getNamePool(); + + ColumnScanEmitter csEmitter = new ColumnScanEmitter(namePool); + rtf.replay(csEmitter); + + int numColumns = csEmitter.columnCount(); + String widths[] = csEmitter.columnWidths(); + + float relTotal = 0; + float relParts[] = new float[numColumns]; + + float absTotal = 0; + float absParts[] = new float[numColumns]; + + for (int count = 0; count < numColumns; count++) { + String width = widths[count]; + + int pos = width.indexOf("*"); + if (pos >= 0) { + String relPart = width.substring(0, pos); + String absPart = width.substring(pos+1); + + try { + float rel = Float.parseFloat(relPart); + relTotal += rel; + relParts[count] = rel; + } catch (NumberFormatException e) { + System.out.println(relPart + " is not a valid relative unit."); + } + + int pixels = 0; + if (absPart != null && !absPart.equals("")) { + pixels = convertLength(absPart); + } + + absTotal += pixels; + absParts[count] = pixels; + } else { + relParts[count] = 0; + + int pixels = 0; + if (width != null && !width.equals("")) { + pixels = convertLength(width); + } + + absTotal += pixels; + absParts[count] = pixels; + } + } + + // Ok, now we have the relative widths and absolute widths in + // two parallel arrays. + // + // - If there are no relative widths, output the absolute widths + // - If there are no absolute widths, output the relative widths + // - If there are a mixture of relative and absolute widths, + // - If the table width is absolute, turn these all into absolute + // widths. + // - If the table width is relative, turn these all into absolute + // widths in the nominalWidth and then turn them back into + // percentages. + + if (relTotal == 0) { + for (int count = 0; count < numColumns; count++) { + Float f = new Float(absParts[count]); + if (foStylesheet) { + int pixels = f.intValue(); + float inches = (float) pixels / pixelsPerInch; + widths[count] = inches + "in"; + } else { + widths[count] = Integer.toString(f.intValue()); + } + } + } else if (absTotal == 0) { + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / relTotal * 100; + Float f = new Float(rel); + widths[count] = Integer.toString(f.intValue()) + "%"; + } + } else { + int pixelWidth = nominalWidth; + + if (tableWidth.indexOf("%") <= 0) { + pixelWidth = convertLength(tableWidth); + } + + if (pixelWidth <= absTotal) { + System.out.println("Table is wider than table width."); + } else { + pixelWidth -= absTotal; + } + + absTotal = 0; + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / relTotal * pixelWidth; + relParts[count] = rel + absParts[count]; + absTotal += rel + absParts[count]; + } + + if (tableWidth.indexOf("%") <= 0) { + for (int count = 0; count < numColumns; count++) { + Float f = new Float(relParts[count]); + if (foStylesheet) { + int pixels = f.intValue(); + float inches = (float) pixels / pixelsPerInch; + widths[count] = inches + "in"; + } else { + widths[count] = Integer.toString(f.intValue()); + } + } + } else { + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / absTotal * 100; + Float f = new Float(rel); + widths[count] = Integer.toString(f.intValue()) + "%"; + } + } + } + + ColumnUpdateEmitter cuEmitter = new ColumnUpdateEmitter(controller, + namePool, + widths); + + rtf.replay(cuEmitter); + return cuEmitter.getResultTreeFragment(); + } catch (TransformerException e) { + // This "can't" happen. + System.out.println("Transformer Exception in adjustColumnWidths"); + return rtf; + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Text.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Text.java new file mode 100644 index 000000000..3213474c7 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Text.java @@ -0,0 +1,132 @@ +// Text - Saxon extension element for inserting text + +package com.nwalsh.saxon; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.InputStream; +import java.io.IOException; +import java.io.FileNotFoundException; +import java.net.URL; +import java.net.MalformedURLException; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerConfigurationException; +import com.icl.saxon.*; +import com.icl.saxon.style.*; +import com.icl.saxon.expr.*; +import com.icl.saxon.output.*; +import org.xml.sax.AttributeList; + +/** + * <p>Saxon extension element for inserting text + * + * <p>$Id: Text.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * extension element for inserting text into a result tree.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: Text.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class Text extends StyleElement { + /** + * <p>Constructor for Text</p> + * + * <p>Does nothing.</p> + */ + public Text() { + } + + /** + * <p>Is this element an instruction?</p> + * + * <p>Yes, it is.</p> + * + * @return true + */ + public boolean isInstruction() { + return true; + } + + /** + * <p>Can this element contain a template-body?</p> + * + * <p>Yes, it can, but only so that it can contain xsl:fallback.</p> + * + * @return true + */ + public boolean mayContainTemplateBody() { + return true; + } + + /** + * <p>Validate the arguments</p> + * + * <p>The element must have an href attribute.</p> + */ + public void prepareAttributes() throws TransformerConfigurationException { + // Get mandatory href attribute + String fnAtt = getAttribute("href"); + if (fnAtt == null) { + reportAbsence("href"); + } + } + + /** Validate that the element occurs in a reasonable place. */ + public void validate() throws TransformerConfigurationException { + checkWithinTemplate(); + } + + /** + * <p>Insert the text of the file into the result tree</p> + * + * <p>Processing this element inserts the contents of the URL named + * by the href attribute into the result tree as plain text.</p> + * + */ + public void process( Context context ) throws TransformerException { + Outputter out = context.getOutputter(); + + String hrefAtt = getAttribute("href"); + Expression hrefExpr = makeAttributeValueTemplate(hrefAtt); + String href = hrefExpr.evaluateAsString(context); + URL fileURL = null; + + try { + try { + fileURL = new URL(href); + } catch (MalformedURLException e1) { + try { + fileURL = new URL("file:" + href); + } catch (MalformedURLException e2) { + System.out.println("Cannot open " + href); + return; + } + } + + InputStreamReader isr = new InputStreamReader(fileURL.openStream()); + BufferedReader is = new BufferedReader(isr); + + char chars[] = new char[4096]; + int len = 0; + while ((len = is.read(chars)) > 0) { + out.writeContent(chars, 0, len); + } + is.close(); + } catch (Exception e) { + System.out.println("Cannot read " + href); + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/TextFactory.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/TextFactory.java new file mode 100644 index 000000000..82a63362b --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/TextFactory.java @@ -0,0 +1,67 @@ +// TextFactory - Saxon extension element factory + +package com.nwalsh.saxon; + +import com.icl.saxon.style.ExtensionElementFactory; +import org.xml.sax.SAXException; + +/** + * <p>Saxon extension element factory + * + * <p>$Id: TextFactory.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * extension element factory for the Text extension element + * family.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: TextFactory.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + * @see Text + * + */ +public class TextFactory implements ExtensionElementFactory { + /** + * <p>Constructor for TextFactory</p> + * + * <p>Does nothing.</p> + */ + public TextFactory() { + } + + /** + * <p>Return the class that implements a particular extension element.</p> + * + * @param localname The local name of the extension element. + * + * @return The class that handles that extension element. + * + * @exception SAXException("Unknown Text extension element") + */ + public Class getExtensionClass(String localname) { + if (localname.equals("insertfile")) { + try { + return Class.forName("com.nwalsh.saxon.Text"); + } catch (ClassNotFoundException e) { + return null; + } + } + return null; + } +} + + + + + diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Verbatim.java b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Verbatim.java new file mode 100644 index 000000000..faebe7bd2 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/Verbatim.java @@ -0,0 +1,476 @@ +// Verbatim.java - Saxon extensions supporting DocBook verbatim environments + +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.Controller; +import com.icl.saxon.expr.*; +import com.icl.saxon.om.*; +import com.icl.saxon.pattern.*; +import com.icl.saxon.Context; +import com.icl.saxon.tree.*; +import com.icl.saxon.functions.Extensions; +import com.nwalsh.saxon.NumberLinesEmitter; +import com.nwalsh.saxon.CalloutEmitter; + +/** + * <p>Saxon extensions supporting DocBook verbatim environments</p> + * + * <p>$Id: Verbatim.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * implementation of two features that would be impractical to + * implement directly in XSLT: line numbering and callouts.</p> + * + * <p><b>Line Numbering</b></p> + * <p>The <tt>numberLines</tt> method takes a result tree + * fragment (assumed to contain the contents of a formatted verbatim + * element in DocBook: programlisting, screen, address, literallayout, + * or synopsis) and returns a result tree fragment decorated with + * line numbers.</p> + * + * <p><b>Callouts</b></p> + * <p>The <tt>insertCallouts</tt> method takes an + * <tt>areaspec</tt> and a result tree fragment + * (assumed to contain the contents of a formatted verbatim + * element in DocBook: programlisting, screen, address, literallayout, + * or synopsis) and returns a result tree fragment decorated with + * callouts.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: Verbatim.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class Verbatim { + /** True if the stylesheet is producing formatting objects */ + private static boolean foStylesheet = false; + /** The modulus for line numbering (every 'modulus' line is numbered). */ + private static int modulus = 0; + /** The width (in characters) of line numbers (for padding). */ + private static int width = 0; + /** The separator between the line number and the verbatim text. */ + private static String separator = ""; + + /** True if callouts have been setup */ + private static boolean calloutsSetup = false; + /** The default column for callouts that have only a line or line range */ + private static int defaultColumn = 60; + /** The path to use for graphical callout decorations. */ + private static String graphicsPath = null; + /** The extension to use for graphical callout decorations. */ + private static String graphicsExt = null; + /** The largest callout number that can be represented graphically. */ + private static int graphicsMax = 10; + + /** The FormatCallout object to use for formatting callouts. */ + private static FormatCallout fCallout = null; + + /** + * <p>Constructor for Verbatim</p> + * + * <p>All of the methods are static, so the constructor does nothing.</p> + */ + public Verbatim() { + } + + /** + * <p>Find the string value of a stylesheet variable or parameter</p> + * + * <p>Returns the string value of <code>varName</code> in the current + * <code>context</code>. Returns the empty string if the variable is + * not defined.</p> + * + * @param context The current stylesheet context + * @param varName The name of the variable (without the dollar sign) + * + * @return The string value of the variable + */ + protected static String getVariable(Context context, String varName) { + Value variable = null; + String varString = null; + + try { + variable = Extensions.evaluate(context, "$" + varName); + varString = variable.asString(); + return varString; + } catch (TransformerException te) { + System.out.println("Undefined variable: " + varName); + return ""; + } catch (IllegalArgumentException iae) { + System.out.println("Undefined variable: " + varName); + return ""; + } + } + + /** + * <p>Setup the parameters associated with line numbering</p> + * + * <p>This method queries the stylesheet for the variables + * associated with line numbering. It is called automatically before + * lines are numbered. The context is used to retrieve the values, + * this allows templates to redefine these variables.</p> + * + * <p>The following variables are queried. If the variables do not + * exist, builtin defaults will be used (but you may also get a bunch + * of messages from the Java interpreter).</p> + * + * <dl> + * <dt><code>linenumbering.everyNth</code></dt> + * <dd>Specifies the lines that will be numbered. The first line is + * always numbered. (builtin default: 5).</dd> + * <dt><code>linenumbering.width</code></dt> + * <dd>Specifies the width of the numbers. If the specified width is too + * narrow for the largest number needed, it will automatically be made + * wider. (builtin default: 3).</dd> + * <dt><code>linenumbering.separator</code></dt> + * <dd>Specifies the string that separates line numbers from lines + * in the program listing. (builtin default: " ").</dd> + * <dt><code>stylesheet.result.type</code></dt> + * <dd>Specifies the stylesheet result type. The value is either 'fo' + * (for XSL Formatting Objects) or it isn't. (builtin default: html).</dd> + * </dl> + * + * @param context The current stylesheet context + * + */ + private static void setupLineNumbering(Context context) { + // Hardcoded defaults + modulus = 5; + width = 3; + separator = " "; + foStylesheet = false; + + String varString = null; + + // Get the modulus + varString = getVariable(context, "linenumbering.everyNth"); + try { + modulus = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$linenumbering.everyNth is not a number: " + varString); + } + + // Get the width + varString = getVariable(context, "linenumbering.width"); + try { + width = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$linenumbering.width is not a number: " + varString); + } + + // Get the separator + varString = getVariable(context, "linenumbering.separator"); + separator = varString; + + // Get the stylesheet type + varString = getVariable(context, "stylesheet.result.type"); + foStylesheet = (varString.equals("fo")); + } + + /** + * <p>Number lines in a verbatim environment</p> + * + * <p>The extension function expects the following variables to be + * available in the calling context: $linenumbering.everyNth, + * $linenumbering.width, $linenumbering.separator, and + * $stylesheet.result.type.</p> + * + * <p>This method adds line numbers to a result tree fragment. Each + * newline that occurs in a text node is assumed to start a new line. + * The first line is always numbered, every subsequent 'everyNth' line + * is numbered (so if everyNth=5, lines 1, 5, 10, 15, etc. will be + * numbered. If there are fewer than everyNth lines in the environment, + * every line is numbered.</p> + * + * <p>Every line number will be right justified in a string 'width' + * characters long. If the line number of the last line in the + * environment is too long to fit in the specified width, the width + * is automatically increased to the smallest value that can hold the + * number of the last line. (In other words, if you specify the value 2 + * and attempt to enumerate the lines of an environment that is 100 lines + * long, the value 3 will automatically be used for every line in the + * environment.)</p> + * + * <p>The 'separator' string is inserted between the line + * number and the original program listing. Lines that aren't numbered + * are preceded by a 'width' blank string and the separator.</p> + * + * <p>If inline markup extends across line breaks, markup changes are + * required. All the open elements are closed before the line break and + * "reopened" afterwards. The reopened elements will have the same + * attributes as the originals, except that 'name' and 'id' attributes + * are not duplicated if the stylesheet.result.type is "html" and + * 'id' attributes will not be duplicated if the result type is "fo".</p> + * + * @param rtf The result tree fragment of the verbatim environment. + * + * @return The modified result tree fragment. + */ + public static NodeSetValue numberLines (Context context, + NodeSetValue rtf_ns) { + + FragmentValue rtf = (FragmentValue) rtf_ns; + + setupLineNumbering(context); + + try { + LineCountEmitter lcEmitter = new LineCountEmitter(); + rtf.replay(lcEmitter); + int numLines = lcEmitter.lineCount(); + + int listingModulus = numLines < modulus ? 1 : modulus; + + double log10numLines = Math.log(numLines) / Math.log(10); + + int listingWidth = width < log10numLines+1 + ? (int) Math.floor(log10numLines + 1) + : width; + + Controller controller = context.getController(); + NamePool namePool = controller.getNamePool(); + NumberLinesEmitter nlEmitter = new NumberLinesEmitter(controller, + namePool, + listingModulus, + listingWidth, + separator, + foStylesheet); + rtf.replay(nlEmitter); + return nlEmitter.getResultTreeFragment(); + } catch (TransformerException e) { + // This "can't" happen. + System.out.println("Transformer Exception in numberLines"); + return rtf; + } + } + + /** + * <p>Setup the parameters associated with callouts</p> + * + * <p>This method queries the stylesheet for the variables + * associated with line numbering. It is called automatically before + * callouts are processed. The context is used to retrieve the values, + * this allows templates to redefine these variables.</p> + * + * <p>The following variables are queried. If the variables do not + * exist, builtin defaults will be used (but you may also get a bunch + * of messages from the Java interpreter).</p> + * + * <dl> + * <dt><code>callout.graphics</code></dt> + * <dd>Are we using callout graphics? A value of 0 or "" is false, + * any other value is true. If callout graphics are not used, the + * parameters related to graphis are not queried.</dd> + * <dt><code>callout.graphics.path</code></dt> + * <dd>Specifies the path to callout graphics.</dd> + * <dt><code>callout.graphics.extension</code></dt> + * <dd>Specifies the extension ot use for callout graphics.</dd> + * <dt><code>callout.graphics.number.limit</code></dt> + * <dd>Identifies the largest number that can be represented as a + * graphic. Larger callout numbers will be represented using text.</dd> + * <dt><code>callout.defaultcolumn</code></dt> + * <dd>Specifies the default column for callout bullets that do not + * specify a column.</dd> + * <dt><code>stylesheet.result.type</code></dt> + * <dd>Specifies the stylesheet result type. The value is either 'fo' + * (for XSL Formatting Objects) or it isn't. (builtin default: html).</dd> + * </dl> + * + * @param context The current stylesheet context + * + */ + private static void setupCallouts(Context context) { + NamePool namePool = context.getController().getNamePool(); + + boolean useGraphics = false; + boolean useUnicode = false; + + int unicodeStart = 49; + int unicodeMax = 0; + + String unicodeFont = ""; + + // Hardcoded defaults + defaultColumn = 60; + graphicsPath = null; + graphicsExt = null; + graphicsMax = 0; + foStylesheet = false; + calloutsSetup = true; + + Value variable = null; + String varString = null; + + // Get the stylesheet type + varString = getVariable(context, "stylesheet.result.type"); + foStylesheet = (varString.equals("fo")); + + // Get the default column + varString = getVariable(context, "callout.defaultcolumn"); + try { + defaultColumn = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.defaultcolumn is not a number: " + + varString); + } + + // Use graphics at all? + varString = getVariable(context, "callout.graphics"); + useGraphics = !(varString.equals("0") || varString.equals("")); + + // Use unicode at all? + varString = getVariable(context, "callout.unicode"); + useUnicode = !(varString.equals("0") || varString.equals("")); + + if (useGraphics) { + // Get the graphics path + varString = getVariable(context, "callout.graphics.path"); + graphicsPath = varString; + + // Get the graphics extension + varString = getVariable(context, "callout.graphics.extension"); + graphicsExt = varString; + + // Get the number limit + varString = getVariable(context, "callout.graphics.number.limit"); + try { + graphicsMax = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.graphics.number.limit is not a number: " + + varString); + graphicsMax = 0; + } + + fCallout = new FormatGraphicCallout(namePool, + graphicsPath, + graphicsExt, + graphicsMax, + foStylesheet); + } else if (useUnicode) { + // Get the starting character + varString = getVariable(context, "callout.unicode.start.character"); + try { + unicodeStart = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.unicode.start.character is not a number: " + + varString); + unicodeStart = 48; + } + + // Get the number limit + varString = getVariable(context, "callout.unicode.number.limit"); + try { + unicodeMax = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.unicode.number.limit is not a number: " + + varString); + unicodeStart = 0; + } + + // Get the font + unicodeFont = getVariable(context, "callout.unicode.font"); + if (unicodeFont == null) { + unicodeFont = ""; + } + + fCallout = new FormatUnicodeCallout(namePool, + unicodeFont, + unicodeStart, + unicodeMax, + foStylesheet); + } else { + fCallout = new FormatTextCallout(namePool, foStylesheet); + } + } + + /** + * <p>Insert text callouts into a verbatim environment.</p> + * + * <p>This method examines the <tt>areaset</tt> and <tt>area</tt> elements + * in the supplied <tt>areaspec</tt> and decorates the supplied + * result tree fragment with appropriate callout markers.</p> + * + * <p>If a <tt>label</tt> attribute is supplied on an <tt>area</tt>, + * its content will be used for the label, otherwise the callout + * number will be used, surrounded by parenthesis. Callout numbers may + * also be represented as graphics. Callouts are + * numbered in document order. All of the <tt>area</tt>s in an + * <tt>areaset</tt> get the same number.</p> + * + * <p>Only the <tt>linecolumn</tt> and <tt>linerange</tt> units are + * supported. If no unit is specifed, <tt>linecolumn</tt> is assumed. + * If only a line is specified, the callout decoration appears in + * the defaultColumn. Lines will be padded with blanks to reach the + * necessary column, but callouts that are located beyond the last + * line of the verbatim environment will be ignored.</p> + * + * <p>Callouts are inserted before the character at the line/column + * where they are to occur.</p> + * + * <p>If graphical callouts are used, and the callout number is less + * than or equal to the $callout.graphics.number.limit, the following image + * will be generated for HTML: + * + * <pre> + * <img src="$callout.graphics.path/999$callout.graphics.ext" + * alt="conumber"> + * </pre> + * + * If the $stylesheet.result.type is 'fo', the following image will + * be generated: + * + * <pre> + * <fo:external-graphic src="$callout.graphics.path/999$callout.graphics.ext"/> + * </pre> + * + * <p>If the callout number exceeds $callout.graphics.number.limit, + * the callout will be the callout number surrounded by + * parenthesis.</p> + * + * @param context The stylesheet context. + * @param areaspecNodeSet The source node set that contains the areaspec. + * @param rtf The result tree fragment of the verbatim environment. + * + * @return The modified result tree fragment. + */ + + public static NodeSetValue insertCallouts (Context context, + NodeList areaspecNodeList, + NodeSetValue rtf_ns) { + + FragmentValue rtf = (FragmentValue) rtf_ns; + + setupCallouts(context); + + try { + Controller controller = context.getController(); + NamePool namePool = controller.getNamePool(); + CalloutEmitter cEmitter = new CalloutEmitter(controller, + namePool, + defaultColumn, + foStylesheet, + fCallout); + cEmitter.setupCallouts(areaspecNodeList); + rtf.replay(cEmitter); + return cEmitter.getResultTreeFragment(); + } catch (TransformerException e) { + // This "can't" happen. + System.out.println("Transformer Exception in insertCallouts"); + return rtf; + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/package.html b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/package.html new file mode 100644 index 000000000..b05a46709 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/com/nwalsh/saxon/package.html @@ -0,0 +1,48 @@ +<html> +<head> +<title>Norman Walsh's Saxon Extensions Package</title> +</head> +<body> +<p>Norman Walsh's Saxon Extensions Package for Saxon 6.*</p> + +<p>This package implements Saxon extensions for XSLT.</p> + +<p><b>Copyright (C) 2000 Norman Walsh</b></p> +<p>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:</p> + +<p>The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software.</p> + +<p>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.</p> + +<p>Anything 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.</p> +</blockquote> + +<blockquote> +<p><b>Warranty</b></p> +<p>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.</p> +</blockquote> + +</body> +</html> diff --git a/lib/docbook/docbook-xsl/extensions/saxon643/prj.el b/lib/docbook/docbook-xsl/extensions/saxon643/prj.el new file mode 100644 index 000000000..86c41d80f --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/saxon643/prj.el @@ -0,0 +1,218 @@ +
+
+
+
+
+
+
+
+
+
+(jde-set-project-name "saxon")
+(jde-set-variables
+ '(jde-gen-session-bean-template (quote ("(jde-import-insert-imports-into-buffer (list \"javax.ejb.*\"
+\"java.rmi.RemoteException\"))" "(jde-wiz-update-implements-clause \"SessionBean\")" "'> \"public void ejbActivate() throws RemoteException {\"'>'n \"}\"'>'n
+'>'n" "'> \"public void ejbPassivate() throws RemoteException {\"'>'n \"}\"'>'n
+'>'n" "'> \"public void ejbRemove() throws RemoteException {\"'>'n \"}\"'>'n '>'n" "'> \"public void setSessionContext(SessionContext ctx) throws
+RemoteException {\"" "'>'n \"}\"'>'n '>'n" "'> \"public void unsetSessionContext() throws RemoteException {\"'>'n
+\"}\"'>'n '>'n'>")))
+ '(jde-gen-beep (quote ("(end-of-line) '&" "\"Toolkit.getDefaultToolkit().beep();\"'>'n'>")))
+ '(jde-which-method-format (quote ("[" jde-which-method-current "]")))
+ '(jde-run-classic-mode-vm nil)
+ '(jde-javadoc-gen-nodeprecatedlist nil)
+ '(jde-which-method-max-length 20)
+ '(jde-imenu-include-classdef t)
+ '(jde-javadoc-gen-link-online nil)
+ '(jde-gen-code-templates (quote (("Get Set Pair" . jde-gen-get-set) ("toString method" . jde-gen-to-string-method) ("Action Listener" . jde-gen-action-listener) ("Window Listener" . jde-gen-window-listener) ("Mouse Listener" . jde-gen-mouse-listener) ("Mouse Motion Listener" . jde-gen-mouse-motion-listener) ("Inner Class" . jde-gen-inner-class) ("println" . jde-gen-println) ("beep" . jde-gen-beep) ("property change support" . jde-gen-property-change-support) ("EJB Entity Bean" . jde-gen-entity-bean) ("EJB Session Bean" . jde-gen-session-bean))))
+ '(jde-gen-cflow-else (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"else\")" "'(l '> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of else\"'>'n'>)" ")")))
+ '(jde-make-args "")
+ '(jde-javadoc-gen-destination-directory "JavaDoc")
+ '(jde-mode-line-format (quote ("-" mode-line-mule-info mode-line-modified mode-line-frame-identification mode-line-buffer-identification " " global-mode-string " %[(" mode-name mode-line-process minor-mode-alist "%n" ")%]--" (line-number-mode "L%l--") (column-number-mode "C%c--") (-3 . "%p") (jde-which-method-mode ("--" jde-which-method-format "--")) "-%-")))
+ '(jde-mode-abbreviations (quote (("ab" . "abstract") ("bo" . "boolean") ("br" . "break") ("by" . "byte") ("byv" . "byvalue") ("cas" . "cast") ("ca" . "catch") ("ch" . "char") ("cl" . "class") ("co" . "const") ("con" . "continue") ("de" . "default") ("dou" . "double") ("el" . "else") ("ex" . "extends") ("fa" . "false") ("fi" . "final") ("fin" . "finally") ("fl" . "float") ("fo" . "for") ("fu" . "future") ("ge" . "generic") ("go" . "goto") ("impl" . "implements") ("impo" . "import") ("ins" . "instanceof") ("in" . "int") ("inte" . "interface") ("lo" . "long") ("na" . "native") ("ne" . "new") ("nu" . "null") ("pa" . "package") ("pri" . "private") ("pro" . "protected") ("pu" . "public") ("re" . "return") ("sh" . "short") ("st" . "static") ("su" . "super") ("sw" . "switch") ("sy" . "synchronized") ("th" . "this") ("thr" . "throw") ("throw" . "throws") ("tra" . "transient") ("tr" . "true") ("vo" . "void") ("vol" . "volatile") ("wh" . "while"))))
+ '(jde-imenu-enable t)
+ '(jde-compile-option-verbose nil)
+ '(jde-db-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes"))))
+ '(jde-bug-debugger-host-address "localhost" t)
+ '(jde-make-working-directory "")
+ '(jde-bug-breakpoint-marker-colors (quote ("red" . "yellow")))
+ '(jde-javadoc-gen-use nil)
+ '(jde-gen-buffer-boilerplate nil)
+ '(jde-bug-raise-frame-p t)
+ '(jde-db-option-application-args (quote ("-IN" "/share/xsl/docbook/test/exttest.xml" "-XSL " "/share/xsl/docbook/test/exttest.xsl")) t)
+ '(jde-javadoc-gen-nonavbar nil)
+ '(jde-javadoc-gen-nohelp nil)
+ '(jde-bug-vm-includes-jpda-p nil)
+ '(jde-gen-jfc-app-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"import java.awt.Dimension;\" '>'n" "\"import java.awt.Graphics;\" '>'n" "\"import java.awt.Graphics2D;\" '>'n" "\"import java.awt.Color;\" '>'n" "\"import java.awt.geom.Ellipse2D;\" '>'n" "\"import java.awt.event.WindowAdapter;\" '>'n" "\"import java.awt.event.WindowEvent;\" '>'n" "\"import javax.swing.JFrame;\" '>'n" "\"import javax.swing.JPanel;\" '>'n" "\"import javax.swing.JScrollPane;\" '>'n" "\"import javax.swing.JMenuBar;\" '>'n" "\"import javax.swing.JMenu;\" '>'n" "\"import java.awt.event.ActionEvent;\" '>'n" "\"import javax.swing.AbstractAction;\" '>'n '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author <a href=\\\"mailto: \\\"\" (user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" extends JFrame\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"class Canvas extends JPanel\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public Canvas () \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"setSize(getPreferredSize());\" '>'n" "\"Canvas.this.setBackground(Color.white);\" '>'n" "\"}\"'>'n '>'n" "\"public Dimension getPreferredSize() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"return new Dimension(600, 600);\" '>'n" "\"}\"'>'n '>'n" "\"public void paintComponent(Graphics g) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super.paintComponent(g);\" '>'n" "\"Graphics2D g2d = (Graphics2D) g;\" '>'n" "\"Ellipse2D circle = new Ellipse2D.Double(0d, 0d, 100d, 100d);\" '>'n" "\"g2d.setColor(Color.red);\" '>'n" "\"g2d.translate(10, 10);\" '>'n" "\"g2d.draw(circle);\" '>'n" "\"g2d.fill(circle);\" '>'n" "\"}\"'>'n " "\"}\"'>'n '>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super(\\\"\" (P \"Enter app title: \") \"\\\");\" '>'n" "\"setSize(300, 300);\" '>'n" "\"addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void windowClosing(WindowEvent e) {System.exit(0);}\" '>'n" "\"public void windowOpened(WindowEvent e) {}\" '>'n" "\"});\"'>'n" "\"setJMenuBar(createMenu());\" '>'n" "\"getContentPane().add(new JScrollPane(new Canvas()));\" '>'n" "\"}\"'>'n" "'>'n" "\"public static void main(String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" f = new \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"();\" '>'n" "\"f.show();\" '>'n" "\"}\"'>'n '>'n" "\"protected JMenuBar createMenu() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"JMenuBar mb = new JMenuBar();\" '>'n" "\"JMenu menu = new JMenu(\\\"File\\\");\" '>'n" "\"menu.add(new AbstractAction(\\\"Exit\\\") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"System.exit(0);\" '>'n" "\"}\" '>'n" "\"});\" '>'n" "\"mb.add(menu);\" '>'n" "\"return mb;\" '>'n" "\"}\"'>'n " "\"} // \"'>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n")))
+ '(jde-bug-key-bindings (quote (("[? ? ?]" . jde-bug-step-over) ("[? ? ?]" . jde-bug-step-into) ("[? ? ?]" . jde-bug-step-into-all) ("[? ? ?]" . jde-bug-step-out) ("[? ? ?]" . jde-bug-continue) ("[? ? ?]" . jde-bug-toggle-breakpoint))))
+ '(jde-compile-finish-hook (quote (jde-compile-finish-refresh-speedbar jde-compile-finish-flush-completion-cache)))
+ '(jde-compile-option-nowarn nil)
+ '(jde-setnu-mode-threshold 20000)
+ '(jde-run-java-vm-w "javaw")
+ '(jde-compile-option-encoding nil)
+ '(jde-run-option-java-profile (quote (nil . "./java.prof")))
+ '(jde-bug-jpda-directory "/usr/local/jdk1.2.2" t)
+ '(jde-read-compile-args nil)
+ '(jde-run-java-vm "java")
+ '(jde-db-option-verbose (quote (nil nil nil)))
+ '(jde-which-method-class-min-length 4)
+ '(jde-db-read-app-args nil)
+ '(jde-javadoc-gen-nodeprecated nil)
+ '(jde-run-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects")))
+ '(jde-gen-println (quote ("(end-of-line) '&" "\"System.out.println(\" (P \"Print out: \") \");\" '>'n'>")))
+ '(jde-enable-abbrev-mode nil)
+ '(jde-auto-parse-max-buffer-size 50000)
+ '(jde-gen-cflow-main (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"main\")" "'(l '> \"public static void main (String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of main ()\"'>'n'>)" ")")))
+ '(jde-javadoc-exception-tag-template "\"* @exception \" type \" if an error occurs\"")
+ '(jde-global-classpath nil t)
+ '(jde-gen-window-listener-template (quote ("(end-of-line) '& (P \"Window name: \")" "\".addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"public void windowActivated(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"" "'>'n \"public void windowClosed(WindowEvent e)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowClosing(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"System.exit(0);\" '>'n \"}\"" "'>'n \"public void windowDeactivated(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowDeiconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowIconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowOpened(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"});\" '>'n'>")))
+ '(jde-run-working-directory "/share/xsl/docbook/extensions" t)
+ '(jde-gen-property-change-support (quote ("(end-of-line) '&" "\"protected PropertyChangeSupport pcs = new PropertyChangeSupport(this);\" '>'n '>'n" "\"/**\" '>'n" "\"* Adds a PropertyChangeListener to the listener list.\" '>'n" "\"* The listener is registered for all properties.\" '>'n" "\"*\" '>'n" "\"* @param listener The PropertyChangeListener to be added\" '>'n" "\"*/\" '>'n" "\"public void addPropertyChangeListener(PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"pcs.addPropertyChangeListener(listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n" "\"* Removes a PropertyChangeListener from the listener list.\" '>'n" "\"* This removes a PropertyChangeListener that was registered for all properties.\" '>'n" "\"*\" '>'n " "\"* @param listener The PropertyChangeListener to be removed\" '>'n" "\"*/\" '>'n" "\"public void removePropertyChangeListener(PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>\"pcs.removePropertyChangeListener(listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Adds a PropertyChangeListener for a specific property.\" '>'n" "\"* The listener will be invoked only when a call on firePropertyChange\" '>'n" "\"* names that specific property.\" '>'n" "\"*\" '>'n \"* @param propertyName The name of the property to listen on\" '>'n" "\"* @param listener The PropertyChangeListener to be added\" '>'n \"*/\" '>'n" "\"public void addPropertyChangeListener(String propertyName,\" '>'n" "\"PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.addPropertyChangeListener(propertyName, listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Removes a PropertyChangeListener for a specific property.\" '>'n" "\"*\" '>'n \"* @param propertyName The name of the property that was listened on\" '>'n" "\"* @param listener The PropertyChangeListener to be removed\" '>'n \"*/\" '>'n" "\"public void removePropertyChangeListener(String propertyName,\" '>'n" "\"PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.removePropertyChangeListener(propertyName, listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, Object oldValue, Object newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"* This is merely a convenience wrapper around the more general\" '>'n" "\"* firePropertyChange method that takes Object values.\" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, int oldValue, int newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"* This is merely a convenience wrapper around the more general\" '>'n" "\"* firePropertyChange method that takes Object values.\" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Fires an existing PropertyChangeEvent to any registered listeners.\" '>'n" "\"* No event is fired if the given event's old and new values are equal and non-null. \" '>'n" "\"*\" '>'n \"* @param evt The PropertyChangeEvent object.\" '>'n\"*/\" '>'n" "\"public void firePropertyChange(PropertyChangeEvent evt) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(evt);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Checks if there are any listeners for a specific property.\" '>'n" "\"*\" '>'n \"* @param evt The PropertyChangeEvent object.\" '>'n" "\"* @return <code>true</code>if there are one or more listeners for the given property\" '>'n" "\"*/\" '>'n" "\"public boolean hasListeners(String propertyName) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"return pcs.hasListeners(propertyName);\" '>'n \"}\" '>'n '>'n'>")))
+ '(jde-javadoc-describe-interface-template "\"* Describe interface \" (jde-javadoc-code name) \" here.\"")
+ '(jde-imenu-include-signature t)
+ '(jde-db-marker-regexp "^.*: thread=.*, \\(\\(.*[.]\\)*\\)\\([^$]*\\)\\($.*\\)*[.].+(), line=\\([0-9]*\\),")
+ '(jde-gen-mouse-motion-listener-template (quote ("(end-of-line) '& (P \"Component name: \")" "\".addMouseMotionListener(new MouseMotionAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>" "'>'n \"public void mouseDragged(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void mouseMoved(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>")))
+ '(jde-key-bindings (quote (("[? ? ?]" . jde-run-menu-run-applet) ("[? ? ?]" . jde-build) ("[? ? ?]" . jde-compile) ("[? ? ?]" . jde-debug) ("[? ? ?]" . jde-wiz-implement-interface) ("[? ? ?j]" . jde-javadoc-generate-javadoc-template) ("[? ? ?]" . bsh) ("[? ? ?]" . jde-gen-println) ("[? ? ?]" . jde-browse-jdk-doc) ("[? ? ?]" . jde-save-project) ("[? ? ?]" . jde-wiz-update-class-list) ("[? ? ?]" . jde-run) ("[? ? ?]" . speedbar-frame-mode) ("[? ? ?]" . jde-db-menu-debug-applet) ("[? ? ?]" . jde-help-symbol) ("[? ? ?]" . jde-show-class-source) ("[? ? ?]" . jde-import-find-and-import) ("[(control c) (control v) (control ?.)]" . jde-complete-at-point-menu) ("[(control c) (control v) ?.]" . jde-complete-at-point))))
+ '(jde-gen-cflow-for-i (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"fori\")" "'(l '> \"for (int \" (p \"variable: \" var) \" = 0; \"" "(s var)" "\" < \"(p \"upper bound: \" ub)\"; \" (s var) \"++) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (int \" (s var) \" = 0; \"" "(s var) \" < \" (s ub) \"; \" (s var) \"++)\"'>'n'>)" ")")))
+ '(jde-run-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t)
+ '(jde-javadoc-gen-detail-switch (quote ("-protected")))
+ '(jde-bug-sio-connect-delay 1)
+ '(jde-javadoc-param-tag-template "\"* @param \" name \" \" (jde-javadoc-a type)
+ \" \" (jde-javadoc-code type) \" value\"")
+ '(jde-compile-option-verbose-path nil)
+ '(jde-javadoc-display-doc t)
+ '(jde-imenu-modifier-abbrev-alist (quote (("public" . 43) ("protected" . 177) ("private" . 172) ("static" . 2215) ("transient" . 35) ("volatile" . 126) ("abstract" . 170) ("final" . 182) ("native" . 36) ("synchronized" . 64) ("strictfp" . 37))))
+ '(jde-db-debugger (quote ("JDEbug" "/usr/local/jdk1.2.2/lib/i386" . "Executable")) t)
+ '(jde-jdk-doc-url "http://www.javasoft.com/products/jdk/1.1/docs/index.html")
+ '(jde-gen-cflow-enable t)
+ '(jde-compiler "javac")
+ '(jde-javadoc-gen-verbose nil)
+ '(jde-javadoc-describe-method-template "\"* Describe \" (jde-javadoc-code name) \" method here.\"")
+ '(jde-gen-class-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author <a href=\\\"mailto: \\\"\" (user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n'" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" \" (jde-gen-get-super-class)" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\">" "'>'n" "\"}\">" "\"// \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n")))
+ '(jde-javadoc-checker-level (quote protected))
+ '(jde-appletviewer-option-vm-args nil)
+ '(jde-run-executable-args nil)
+ '(jde-db-option-garbage-collection (quote (t t)))
+ '(jde-javadoc-gen-stylesheetfile "")
+ '(jde-use-font-lock t)
+ '(jde-compile-option-bootclasspath nil)
+ '(jde-make-program "make")
+ '(jde-javadoc-gen-group nil)
+ '(jde-javadoc-gen-link-offline nil)
+ '(jde-entering-java-buffer-hook (quote (jde-reload-project-file jde-which-method-update-on-entering-buffer)))
+ '(jde-javadoc-gen-doc-title "")
+ '(jde-javadoc-gen-header "")
+ '(jde-run-option-vm-args nil)
+ '(jde-javadoc-gen-window-title "")
+ '(jde-compile-option-directory "/sourceforge/docbook/xsl/extensions/saxon64/.classes" t)
+ '(jde-imenu-create-index-function (quote semantic-create-imenu-index))
+ '(jde-gen-console-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author <a href=\\\"mailto: \\\"\" (user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "\"}\"'>'n" "'>'n" "\"public static void main(String[] args)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\"'>'n" "\"} // \"'>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n")))
+ '(jde-read-make-args nil)
+ '(jde-javadoc-gen-noindex nil)
+ '(jde-gen-mouse-listener-template (quote ("(end-of-line) '& (P \"Component name: \")" "\".addMouseListener(new MouseAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'> " "'>'n \"public void mouseClicked(MouseEvent e) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseEntered(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseExited(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void mousePressed(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseReleased(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>")))
+ '(jde-run-option-application-args (quote ("-IN" "test.xml" "-XSL" "test.xsl")) t)
+ '(jde-bug-vm-executable (quote ("java")))
+ '(jde-db-set-initial-breakpoint t)
+ '(jde-bug-debugger-command-timeout 10)
+ '(jde-db-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes"))))
+ '(jde-db-option-properties nil t)
+ '(jde-db-source-directories (quote ("/share/xsl/docbook/extensions/xalan2/" "/projects/apache/xml-xalan/java/src/" "/projects/apache/xml-xerces/java/build/src/" "/projects/sun/resolver/" "/home/ndw/java/")) t)
+ '(jde-run-read-app-args nil)
+ '(jde-gen-to-string-method-template (quote ("(end-of-line) '&" "\"public String toString() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n'>")))
+ '(jde-quote-classpath t)
+ '(jde-bug-window-message nil)
+ '(jde-build-use-make nil)
+ '(jde-javadoc-author-tag-template "\"* @author <a href=\\\"mailto:\" user-mail-address
+ \"\\\">\" user-full-name \"</a>\"")
+ '(jde-javadoc-describe-field-template "\"* Describe \" (jde-javadoc-field-type modifiers)
+ \" \" (jde-javadoc-code name) \" here.\"")
+ '(jde-javadoc-gen-link-URL nil)
+ '(jde-compile-option-classpath (quote ("/sourceforge/docbook/xsl/extensions/saxon64/.classes" "/usr/local/java/saxon-6.4.3/saxon.jar" "/usr/local/jaxp-1.1/jaxp.jar" "/usr/local/jaxp-1.1/crimson.jar")) t)
+ '(jde-bug-jdk-directory "/usr/local/jdk1.2.2" t)
+ '(jde-gen-boilerplate-function (quote jde-gen-create-buffer-boilerplate))
+ '(jde-gen-entity-bean-template (quote ("(jde-import-insert-imports-into-buffer (list \"javax.ejb.*\"
+\"java.rmi.RemoteException\"))" "'> \"public void ejbActivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbPassivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbLoad() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbStore() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbRemove() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void setEntityContext(EntityContext ctx) throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void unsetEntityContext() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n'>")))
+ '(jde-javadoc-describe-constructor-template "\"* Creates a new \" (jde-javadoc-code name) \" instance.\"")
+ '(jde-bug-server-shmem-name (quote (t . "JDEbug")))
+ '(jde-db-startup-commands nil)
+ '(jde-javadoc-gen-docletpath nil)
+ '(jde-javadoc-gen-split-index nil)
+ '(jde-compile-option-deprecation nil t)
+ '(jde-import-group-of-rules (quote (("^javax?\\."))))
+ '(jde-which-method-mode t)
+ '(jde-gen-k&r t)
+ '(jde-javadoc-gen-bottom "")
+ '(jde-javadoc-gen-footer "")
+ '(jde-db-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t)
+ '(jde-gen-cflow-for (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"for\")" "'(l '> \"for (\" (p \"for-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-run-mode-hook nil)
+ '(jde-db-option-verify (quote (nil t)))
+ '(jde-compile-option-extdirs nil)
+ '(jde-imenu-sort nil)
+ '(jde-gen-get-set-var-template (quote ("(end-of-line) '&" "(P \"Variable type: \" type) \" \"" "(P \"Variable name: \" name) \";\" '>'n '>'n" "\"/**\" '>'n" "\"* Get the value of \" (s name) \".\" '>'n" "\"* @return value of \" (s name) \".\" '>'n" "\"*/\" '>'n" "'>'\"public \" (s type)" "(if (string= \"boolean\" (jde-gen-lookup-named 'type) ) " "\" is\" " "\" get\" ) " "(jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "\"return \" (s name) \";\" '>'n \"}\"" "'>'n '>'n" "\"/**\" '>'n" "\"* Set the value of \" (s name) \".\" '>'n" "\"* @param v Value to assign to \" (s name) \".\" '>'n" "\"*/\" '>'n" "'>'\"public void set\" (jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"(\" (s type) \" v) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "'>'\"this.\" (s name) \" = v;\" '>'n \"}\" '>'n'>")))
+ '(jde-bug-saved-breakpoints nil)
+ '(jde-compile-option-sourcepath (quote ("/share/xsl/docbook/extensions/xalan2" "/projects/apache/xml-xalan/java/build/src" "/projects/apache/xml-xerces/java/build/src" "/projects/sun/resolver")) t)
+ '(jde-gen-cflow-if (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"if\")" "'(l '> \"if (\" (p \"if-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-db-option-java-profile (quote (nil . "./java.prof")))
+ '(jde-javadoc-gen-author t)
+ '(jde-compile-option-depend-switch (quote ("-Xdepend")))
+ '(jde-setnu-mode-enable nil)
+ '(jde-run-applet-doc "")
+ '(jde-compile-option-vm-args nil)
+ '(jde-javadoc-gen-overview "")
+ '(jde-javadoc-gen-notree nil)
+ '(jde-run-option-garbage-collection (quote (t t)))
+ '(jde-db-mode-hook nil)
+ '(jde-javadoc-command-path "javadoc")
+ '(jde-db-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects")))
+ '(jde-import-group-function (quote jde-import-group-of))
+ '(jde-db-read-vm-args nil)
+ '(jde-bug-debug nil)
+ '(jde-javadoc-end-block-template nil)
+ '(jde-javadoc-gen-packages nil)
+ '(jde-gen-cflow-if-else (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"ife\")" "'(l '> \"if (\" (p \"if-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'> n" "'> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")else\"'>'n'>)" ")")))
+ '(jde-gen-cflow-while (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"while\")" "'(l '> \"while (\" (p \"while-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of while (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-bug-server-socket (quote (t . "2112")))
+ '(jde-imenu-include-modifiers nil)
+ '(jde-appletviewer-option-encoding "")
+ '(jde-bug-breakpoint-cursor-colors (quote ("cyan" . "brown")))
+ '(jde-compile-option-target (quote ("1.1")))
+ '(jde-run-executable "")
+ '(jde-run-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes"))))
+ '(jde-gen-cflow-switch (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"switch\")" "'(l '> \"switch (\" (p \"switch-condition: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'" "\"case \" (p \"first value: \") \":\"'>'n'>'p'n" "\"break;\"'>'n'>'p'n" "\"default:\"'>'n'>'p'n" "\"break;\"'>'n" "\"} // end of switch (\" (s clause) \")\"'>'n'>)" ")")))
+ '(jde-which-method-abbrev-symbol "~")
+ '(jde-db-option-vm-args nil)
+ '(jde-run-application-class "org.apache.xalan.xslt.Process" t)
+ '(jde-javadoc-gen-doclet "")
+ '(jde-import-auto-sort nil)
+ '(jde-run-option-verbose (quote (nil nil nil)))
+ '(jde-project-file-name "prj.el")
+ '(jde-compile-option-debug (quote ("selected" (t nil nil))) t)
+ '(jde-bug-jre-home "")
+ '(jde-import-sorted-groups nil)
+ '(jde-run-applet-viewer "")
+ '(jde-javadoc-return-tag-template "\"* @return \" (jde-javadoc-a type)
+ \" \" (jde-javadoc-code type) \" value\"")
+ '(jde-javadoc-gen-version t)
+ '(jde-javadoc-gen-helpfile "")
+ '(jde-import-excluded-packages (quote ("bsh.*")))
+ '(jde-run-read-vm-args nil)
+ '(jde-help-docsets nil)
+ '(jde-gen-inner-class-template (quote ("(end-of-line) '& \"class \" (P \"Class name: \" class)" "(P \"Superclass: \" super t)" "(let ((parent (jde-gen-lookup-named 'super)))" "(if (not (string= parent \"\"))" "(concat \" extends \" parent ))) " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "\"public \" (s class) \"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n" "\"}\" '>'n'>")))
+ '(jde-auto-parse-buffer-interval 180)
+ '(jde-run-option-verify (quote (nil t)))
+ '(jde-import-reverse-sort-group nil)
+ '(jde-compile-option-optimize nil)
+ '(jde-gen-cflow-case (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"case\")" "'(l 'n \"case \" (p \"value: \") \":\"'>'n'>'p'n" "\"break;\"'>'n'>'p)" ")")))
+ '(jde-compile-option-depend nil)
+ '(jde-javadoc-describe-class-template "\"* Describe class \" (jde-javadoc-code name) \" here.\"")
+ '(jde-javadoc-gen-serialwarn nil)
+ '(jde-gen-action-listener-template (quote ("'& (P \"Component name: \")" "\".addActionListener(new ActionListener() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n \"});\"'>'n'>")))
+ '(jde-auto-parse-enable t)
+ '(jde-compile-option-command-line-args "")
+ '(jde-gen-buffer-templates (quote (("Class" . jde-gen-class) ("Console" . jde-gen-console) ("Swing App" . jde-gen-jfc-app))))
+ '(jde-project-context-switching-enabled-p t)
+ '(jde-javadoc-gen-args nil)
+ '(jde-run-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes"))))
+ '(jde-run-option-properties nil t))
+
+
diff --git a/lib/docbook/docbook-xsl/extensions/xalan2.jar b/lib/docbook/docbook-xsl/extensions/xalan2.jar Binary files differnew file mode 100644 index 000000000..b7c093f41 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2.jar diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/ChangeLog b/lib/docbook/docbook-xsl/extensions/xalan2/ChangeLog new file mode 100644 index 000000000..e1baf04f0 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/ChangeLog @@ -0,0 +1,4 @@ +2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore: New file.
+
diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/CVS.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/CVS.java new file mode 100644 index 000000000..6a68fa177 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/CVS.java @@ -0,0 +1,90 @@ +package com.nwalsh.xalan; + +import java.io.*; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; +import java.text.DateFormat; +import java.text.ParseException; + +/** + * <p>Saxon extension to convert CVS date strings into local time</p> + * + * <p>$Id: CVS.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon</a> + * extension to turn the CVS date strings, which are UTC:</p> + * + * <pre>$Date: 2000/11/09 02:34:20 $</pre> + * + * <p>into legibly formatted local time:</p> + * + * <pre>Wed Nov 08 18:34:20 PST 2000</pre> + * + * <p>(I happened to be in California when I wrote this documentation.)</p> + + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: CVS.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class CVS { + /** + * <p>Constructor for CVS</p> + * + * <p>All of the methods are static, so the constructor does nothing.</p> + */ + public CVS() { + } + + /** + * <p>Convert a CVS date string into local time.</p> + * + * @param cvsDate The CVS date string. + * + * @return The date, converted to local time and reformatted. + */ + public String localTime (String cvsDate) { + // A cvsDate has the following form "$Date: 2002/05/15 17:22:28 $" + if (!cvsDate.startsWith("$Date: ")) { + return cvsDate; + } + + String yrS = cvsDate.substring(7,11); + String moS = cvsDate.substring(12,14); + String daS = cvsDate.substring(15,17); + String hrS = cvsDate.substring(18,20); + String miS = cvsDate.substring(21,23); + String seS = cvsDate.substring(24,26); + + TimeZone tz = TimeZone.getTimeZone("GMT+0"); + GregorianCalendar gmtCal = new GregorianCalendar(tz); + + try { + gmtCal.set(Integer.parseInt(yrS), + Integer.parseInt(moS)-1, + Integer.parseInt(daS), + Integer.parseInt(hrS), + Integer.parseInt(miS), + Integer.parseInt(seS)); + } catch (NumberFormatException e) { + // nop + } + + Date d = gmtCal.getTime(); + + return d.toString(); + } +} diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Callout.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Callout.java new file mode 100644 index 000000000..c99b7c102 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Callout.java @@ -0,0 +1,143 @@ +package com.nwalsh.xalan; + +import org.w3c.dom.*; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: Callout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class is just for book keeping in the Verbatim class. + * It stores information about the location of callouts.</p> + * + * <p>Only line/column based callouts are supported. This class + * implements the Comparable interface so that callouts can be sorted. + * Callouts are sorted so that they occur in left-to-right, + * top-to-bottom order based on line/column.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: Callout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * */ +public class Callout implements Comparable { + /** The callout number. */ + private int callout = 0; + /** The area Element item that generated this callout. */ + private Element area = null; + /** The line on which this callout occurs. */ + private int line = 0; + /** The column in which this callout appears. */ + private int col = 0; + /** The type of callout. */ + private int type = 0; + /** The other type of callout. */ + private String otherType = null; + + public static final int CALS_PAIR = 1; + public static final int LINE_COLUMN = 2; + public static final int LINE_COLUMN_PAIR = 3; + public static final int LINE_RANGE = 4; + public static final int OTHER = 5; + + /** The constructor; initialize the private data structures. */ + public Callout(int callout, Element area, int line, int col, int type) { + this.callout = callout; + this.area = area; + this.line = line; + this.col = col; + this.type = type; + this.otherType = null; + } + + /** The constructor; initialize the private data structures. */ + public Callout(int callout, Element area, int line, int col, String otherType) { + this.callout = callout; + this.area = area; + this.line = line; + this.col = col; + this.type = Callout.OTHER; + this.otherType = otherType; + } + + /** + * <p>The compareTo method compares this Callout with another.</p> + * + * <p>Given two Callouts, A and B, A < B if:</p> + * + * <ol> + * <li>A.line < B.line, or</li> + * <li>A.line = B.line && A.col < B.col, or</li> + * <li>A.line = B.line && A.col = B.col && A.callout < B.callout</li> + * <li>Otherwise, they're equal.</li> + * </ol> + */ + public int compareTo (Object o) { + Callout c = (Callout) o; + + if (line == c.getLine()) { + if (col > c.getColumn()) { + return 1; + } else if (col < c.getColumn()) { + return -1; + } else { + if (callout < c.getCallout()) { + return -1; + } else if (callout > c.getCallout()) { + return 1; + } else { + return 0; + } + } + } else { + if (line > c.getLine()) { + return 1; + } else { + return -1; + } + } + } + + /** Access the Callout's area. */ + public Element getArea() { + return area; + } + + /** Access the Callout's line. */ + public int getLine() { + return line; + } + + /** Access the Callout's column. */ + public int getColumn() { + return col; + } + + /** Access the Callout's callout number. */ + public int getCallout() { + return callout; + } + + /** Access the Callout's type. */ + public int getType() { + return type; + } + + /** Access the Callout's otherType. */ + public String getOtherType() { + return otherType; + } + + +} + diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/ChangeLog b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/ChangeLog new file mode 100644 index 000000000..665adbc50 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/ChangeLog @@ -0,0 +1,24 @@ +2001-07-15 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Verbatim.java: New Xalan code sometimes (always?) returns DOCUMENT_NODE where DOCUMENT_FRAGMENT_NODE used to be returned: handle it
+
+2001-07-10 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * Params.java: Use new getVariableOrParam method
+
+ * Table.java: Remove redundant get... methods (now centralized in Param)
+
+2001-07-07 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * FormatDingbatCallout.java, Table.java, Verbatim.java:
+ Working towards Xalan 2.2 support (this code is BROKEN)
+
+2001-05-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * FormatCallout.java, Table.java, Verbatim.java: Updates for Xalan 2.0.x API as released by Apache
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * CVS.java, Callout.java, FormatCallout.java, FormatGraphicCallout.java, FormatTextCallout.java, FormatUnicodeCallout.java, Func.java, Params.java, Table.java, Text.java, Verbatim.java, package.html:
+ New file.
+
diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatCallout.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatCallout.java new file mode 100644 index 000000000..939cd70aa --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatCallout.java @@ -0,0 +1,108 @@ +package com.nwalsh.xalan; + +import org.xml.sax.SAXException; +import org.xml.sax.helpers.AttributesImpl; +import org.w3c.dom.*; +import org.apache.xpath.DOMHelper; +import org.apache.xml.utils.DOMBuilder; +import org.apache.xml.utils.AttList; +import com.nwalsh.xalan.Callout; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + **/ + +public abstract class FormatCallout { + protected static final String foURI = "http://www.w3.org/1999/XSL/Format"; + protected static final String xhURI = "http://www.w3.org/1999/xhtml"; + protected boolean stylesheetFO = false; + protected DOMHelper dh = null; + + public FormatCallout() { + //nop; + } + + public String areaLabel(Element area) { + NamedNodeMap domAttr = area.getAttributes(); + AttList attr = new AttList(domAttr, dh); + String label = null; + + if (attr.getValue("label") != null) { + // If this area has a label, use it + label = attr.getValue("label"); + } else { + // Otherwise, if its parent is an areaset and it has a label, use that + Element parent = (Element) area.getParentNode(); + NamedNodeMap pdomAttr = parent.getAttributes(); + AttList pAttr = new AttList(pdomAttr, dh); + if (parent != null + && parent.getNodeName().equals("areaset") + && pAttr.getValue("label") != null) { + label = pAttr.getValue("label"); + } + } + + return label; + } + + public void startSpan(DOMBuilder rtf) + throws SAXException { + // no point in doing this for FO, right? + if (!stylesheetFO) { + AttributesImpl spanAttr = new AttributesImpl(); + spanAttr.addAttribute("", "class", "class", "CDATA", "co"); + rtf.startElement("", "span", "span", spanAttr); + } + } + + public void endSpan(DOMBuilder rtf) + throws SAXException { + // no point in doing this for FO, right? + if (!stylesheetFO) { + rtf.endElement("", "span", "span"); + } + } + + public void formatTextCallout(DOMBuilder rtf, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = "(" + num + ")"; + + if (userLabel != null) { + label = userLabel; + } + + char chars[] = label.toCharArray(); + + try { + startSpan(rtf); + rtf.characters(chars, 0, label.length()); + endSpan(rtf); + } catch (SAXException e) { + System.out.println("SAX Exception in text formatCallout"); + } + } + + public abstract void formatCallout(DOMBuilder rtf, + Callout callout); +} + diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatDingbatCallout.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatDingbatCallout.java new file mode 100644 index 000000000..949ddf535 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatDingbatCallout.java @@ -0,0 +1,82 @@ +package com.nwalsh.xalan; + +import org.xml.sax.helpers.AttributesImpl; +import org.xml.sax.SAXException; +import org.w3c.dom.*; +import org.apache.xml.utils.DOMBuilder; +import com.nwalsh.xalan.Callout; +import org.apache.xml.utils.AttList; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatDingbatCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatDingbatCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + **/ + +public class FormatDingbatCallout extends FormatCallout { + int graphicsMax = 0; + + public FormatDingbatCallout(int max, boolean fo) { + graphicsMax = max; + stylesheetFO = fo; + } + + public void formatCallout(DOMBuilder rtf, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String label = areaLabel(area); + + try { + if (label == null && num <= graphicsMax) { + AttributesImpl imgAttr = new AttributesImpl(); + String ns = ""; + String prefix = ""; + String imgName = ""; + + if (stylesheetFO) { + ns = foURI; + prefix = "fo:"; // FIXME: this could be a problem... + imgName = "inline"; + imgAttr.addAttribute("", "font-family", "font-family", "CDATA", + "ZapfDingbats"); + } else { + ns = ""; + prefix = ""; + imgName = "font"; + imgAttr.addAttribute("", "face", "face", "CDATA", + "ZapfDingbats"); + } + + startSpan(rtf); + rtf.startElement(ns, imgName, prefix+imgName, imgAttr); + + char chars[] = new char[1]; + chars[0] = (char) (0x2775 + num); + rtf.characters(chars, 0, 1); + + rtf.endElement(ns, imgName, prefix+imgName); + endSpan(rtf); + } else { + formatTextCallout(rtf, callout); + } + } catch (SAXException e) { + System.out.println("SAX Exception in graphics formatCallout"); + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatGraphicCallout.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatGraphicCallout.java new file mode 100644 index 000000000..04c7b6be4 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatGraphicCallout.java @@ -0,0 +1,83 @@ +package com.nwalsh.xalan; + +import org.xml.sax.helpers.AttributesImpl; +import org.xml.sax.SAXException; +import org.w3c.dom.*; +import org.apache.xml.utils.DOMBuilder; +import com.nwalsh.xalan.Callout; +import org.apache.xml.utils.AttList; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatGraphicCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatGraphicCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + **/ + +public class FormatGraphicCallout extends FormatCallout { + String graphicsPath = ""; + String graphicsExt = ""; + int graphicsMax = 0; + + public FormatGraphicCallout(String path, String ext, int max, boolean fo) { + graphicsPath = path; + graphicsExt = ext; + graphicsMax = max; + stylesheetFO = fo; + } + + public void formatCallout(DOMBuilder rtf, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String label = areaLabel(area); + + try { + if (label == null && num <= graphicsMax) { + AttributesImpl imgAttr = new AttributesImpl(); + String ns = ""; + String prefix = ""; + String imgName = ""; + + if (stylesheetFO) { + ns = foURI; + prefix = "fo:"; // FIXME: this could be a problem... + imgName = "external-graphic"; + imgAttr.addAttribute("", "src", "src", "CDATA", + graphicsPath + num + graphicsExt); + imgAttr.addAttribute("", "alt", "alt", "CDATA", label); + } else { + ns = ""; + prefix = ""; + imgName = "img"; + imgAttr.addAttribute("", "src", "src", "CDATA", + graphicsPath + num + graphicsExt); + imgAttr.addAttribute("", "alt", "alt", "CDATA", label); + } + + startSpan(rtf); + rtf.startElement(ns, imgName, prefix+imgName, imgAttr); + rtf.endElement(ns, imgName, prefix+imgName); + endSpan(rtf); + } else { + formatTextCallout(rtf, callout); + } + } catch (SAXException e) { + System.out.println("SAX Exception in graphics formatCallout"); + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatTextCallout.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatTextCallout.java new file mode 100644 index 000000000..92fd4b2a0 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatTextCallout.java @@ -0,0 +1,38 @@ +package com.nwalsh.xalan; + +import org.w3c.dom.*; +import org.apache.xml.utils.DOMBuilder; +import com.nwalsh.xalan.Callout; +import org.apache.xml.utils.AttList; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatTextCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatTextCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + **/ + +public class FormatTextCallout extends FormatCallout { + public FormatTextCallout(boolean fo) { + stylesheetFO = fo; + } + + public void formatCallout(DOMBuilder rtf, + Callout callout) { + formatTextCallout(rtf, callout); + } +} diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatUnicodeCallout.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatUnicodeCallout.java new file mode 100644 index 000000000..e7ac5dc11 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/FormatUnicodeCallout.java @@ -0,0 +1,61 @@ +package com.nwalsh.xalan; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; +import org.apache.xml.utils.DOMBuilder; +import com.nwalsh.xalan.Callout; +import org.apache.xml.utils.AttList; + +/** + * <p>Utility class for the Verbatim extension (ignore this).</p> + * + * <p>$Id: FormatUnicodeCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000, 2001 Norman Walsh.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @see Verbatim + * + * @version $Id: FormatUnicodeCallout.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + **/ + +public class FormatUnicodeCallout extends FormatCallout { + int unicodeMax = 0; + int unicodeStart = 0; + + public FormatUnicodeCallout(int start, int max, boolean fo) { + unicodeMax = max; + unicodeStart = start; + stylesheetFO = fo; + } + + public void formatCallout(DOMBuilder rtf, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String label = areaLabel(area); + + try { + if (label == null && num <= unicodeMax) { + char chars[] = new char[1]; + chars[0] = (char) (unicodeStart + num - 1); + + startSpan(rtf); + rtf.characters(chars, 0, 1); + endSpan(rtf); + } else { + formatTextCallout(rtf, callout); + } + } catch (SAXException e) { + System.out.println("SAX Exception in unicode formatCallout"); + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Func.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Func.java new file mode 100644 index 000000000..e03ae6bd2 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Func.java @@ -0,0 +1,59 @@ +// Func - Xalann extension function test + +package com.nwalsh.xalan; + +import org.xml.sax.SAXException; +import org.xml.sax.AttributeList; +import org.xml.sax.ContentHandler; + +import org.w3c.dom.*; +import org.w3c.dom.traversal.NodeIterator; +import org.apache.xerces.dom.*; + +import org.apache.xpath.objects.XObject; +import org.apache.xpath.objects.XRTreeFrag; +import org.apache.xpath.XPath; +import org.apache.xpath.NodeSet; +import org.apache.xalan.extensions.XSLProcessorContext; +import org.apache.xalan.extensions.ExpressionContext; +import org.apache.xalan.transformer.TransformerImpl; +import org.apache.xalan.templates.StylesheetRoot; +import org.apache.xalan.templates.ElemExtensionCall; +import org.apache.xalan.templates.OutputProperties; +import org.apache.xalan.res.XSLTErrorResources; + +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.TransformerException; + +public class Func { + public Func() { + } + + public DocumentFragment doSomething(NodeIterator rtf) { + System.out.println("Got here 2: " + rtf); + + DocumentFragment df = (DocumentFragment) rtf.nextNode(); + Element node = (Element) df.getFirstChild(); + + System.out.println("node=" + node); + System.out.println("namesp uri: " + node.getNamespaceURI()); + System.out.println("local name: " + node.getLocalName()); + + return df; + } + + public DocumentFragment doSomething(DocumentFragment rtf) { + System.out.println("Got here: " + rtf); + + return rtf; + /* + Element node = (Element) rtf.getFirstChild(); + + System.out.println("node=" + node); + System.out.println("namesp uri: " + node.getNamespaceURI()); + System.out.println("local name: " + node.getLocalName()); + + return rtf; + */ + } +} diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Params.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Params.java new file mode 100644 index 000000000..fd6c97a3c --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Params.java @@ -0,0 +1,57 @@ +// Params.java - Read stylesheet parameters in Xalan + +package com.nwalsh.xalan; + +import org.apache.xpath.objects.XObject; +import org.apache.xpath.XPathContext; +import org.apache.xalan.extensions.ExpressionContext; +import org.apache.xml.utils.QName; + +import javax.xml.transform.TransformerException; + +public class Params { + + public static String getString(ExpressionContext context, + String varName) { + try { + XObject var = context.getVariableOrParam(new QName(varName)); + if (var != null) { + return var.toString(); + } else { + System.out.println("$" + varName + " is not a defined parameter."); + return ""; + } + } catch (TransformerException te) { + System.out.println("Transformer exception getting value of $" + varName); + return ""; + } + } + + public static int getInt(ExpressionContext context, + String varName) { + String stringValue = getString(context, varName); + if (stringValue != null) { + try { + int value = Integer.parseInt(stringValue); + return value; + } catch (NumberFormatException e) { + System.out.println("$" + varName + " is not an integer."); + } + } + return 0; + } + + public static boolean getBoolean(ExpressionContext context, + String varName) { + String stringValue = getString(context, varName); + if (stringValue != null) { + if (stringValue.equals("0") || stringValue.equals("")) { + return false; + } else { + return true; + } + } else { + return false; + } + } +} diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Table.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Table.java new file mode 100644 index 000000000..10b5b7fbc --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Table.java @@ -0,0 +1,489 @@ +// Verbatim.java - Xalan extensions supporting DocBook verbatim environments + +package com.nwalsh.xalan; + +import java.util.Hashtable; +import org.xml.sax.*; +import org.xml.sax.helpers.AttributesImpl; +import org.w3c.dom.*; +import org.w3c.dom.traversal.NodeIterator; + +import javax.xml.transform.TransformerException; + +import org.apache.xpath.objects.XObject; +import org.apache.xpath.XPathContext; +import org.apache.xalan.extensions.ExpressionContext; +import org.apache.xml.utils.DOMBuilder; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import org.apache.xml.utils.QName; +import org.apache.xpath.DOMHelper; +import org.apache.xml.utils.AttList; + +/** + * <p>Xalan extensions supporting Tables</p> + * + * <p>$Id: Table.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2000 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://xml.apache.org/xalan/">Xalan</a> + * implementation of some code to adjust CALS Tables to HTML + * Tables.</p> + * + * <p><b>Column Widths</b></p> + * <p>The <tt>adjustColumnWidths</tt> method takes a result tree + * fragment (assumed to contain the colgroup of an HTML Table) + * and returns the result tree fragment with the column widths + * adjusted to HTML terms.</p> + * + * <p><b>Convert Lengths</b></p> + * <p>The <tt>convertLength</tt> method takes a length specification + * of the form 9999.99xx (where "xx" is a unit) and returns that length + * as an integral number of pixels. For convenience, percentage lengths + * are returned unchanged.</p> + * <p>The recognized units are: inches (in), centimeters (cm), + * millimeters (mm), picas (pc, 1pc=12pt), points (pt), and pixels (px). + * A number with no units is assumed to be pixels.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: Table.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class Table { + /** The number of pixels per inch */ + private static int pixelsPerInch = 96; + + /** The hash used to associate units with a length in pixels. */ + protected static Hashtable unitHash = null; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** + * <p>Constructor for Verbatim</p> + * + * <p>All of the methods are static, so the constructor does nothing.</p> + */ + public Table() { + } + + /** Initialize the internal hash table with proper values. */ + protected static void initializeHash() { + unitHash = new Hashtable(); + unitHash.put("in", new Float(pixelsPerInch)); + unitHash.put("cm", new Float(pixelsPerInch / 2.54)); + unitHash.put("mm", new Float(pixelsPerInch / 25.4)); + unitHash.put("pc", new Float((pixelsPerInch / 72) * 12)); + unitHash.put("pt", new Float(pixelsPerInch / 72)); + unitHash.put("px", new Float(1)); + } + + /** Set the pixels-per-inch value. Only positive values are legal. */ + public static void setPixelsPerInch(int value) { + if (value > 0) { + pixelsPerInch = value; + initializeHash(); + } + } + + /** Return the current pixels-per-inch value. */ + public int getPixelsPerInch() { + return pixelsPerInch; + } + + /** + * <p>Convert a length specification to a number of pixels.</p> + * + * <p>The specified length should be of the form [+/-]999.99xx, + * where xx is a valid unit.</p> + */ + public static int convertLength(String length) { + // The format of length should be 999.999xx + int sign = 1; + String digits = ""; + String units = ""; + char lench[] = length.toCharArray(); + float flength = 0; + boolean done = false; + int pos = 0; + float factor = 1; + int pixels = 0; + + if (unitHash == null) { + initializeHash(); + } + + if (lench[pos] == '+' || lench[pos] == '-') { + if (lench[pos] == '-') { + sign = -1; + } + pos++; + } + + while (!done) { + if (pos >= lench.length) { + done = true; + } else { + if ((lench[pos] > '9' || lench[pos] < '0') && lench[pos] != '.') { + done = true; + units = length.substring(pos); + } else { + digits += lench[pos++]; + } + } + } + + try { + flength = Float.parseFloat(digits); + } catch (NumberFormatException e) { + System.out.println(digits + " is not a number; 1 used instead."); + flength = 1; + } + + Float f = null; + + if (!units.equals("")) { + f = (Float) unitHash.get(units); + if (f == null) { + System.out.println(units + " is not a known unit; 1 used instead."); + factor = 1; + } else { + factor = f.floatValue(); + } + } else { + factor = 1; + } + + f = new Float(flength * factor); + + pixels = f.intValue() * sign; + + return pixels; + } + + /** + * <p>Adjust column widths in an HTML table.</p> + * + * <p>The specification of column widths in CALS (a relative width + * plus an optional absolute width) are incompatible with HTML column + * widths. This method adjusts CALS column width specifiers in an + * attempt to produce equivalent HTML specifiers.</p> + * + * <p>In order for this method to work, the CALS width specifications + * should be placed in the "width" attribute of the <col>s within + * a <colgroup>. Then the colgroup result tree fragment is passed + * to this method.</p> + * + * <p>This method makes use of two parameters from the XSL stylesheet + * that calls it: <code>nominal.table.width</code> and + * <code>table.width</code>. The value of <code>nominal.table.width</code> + * must be an absolute distance. The value of <code>table.width</code> + * can be either absolute or relative.</p> + * + * <p>Presented with a mixture of relative and + * absolute lengths, the table width is used to calculate + * appropriate values. If the <code>table.width</code> is relative, + * the nominal width is used for this calculation.</p> + * + * <p>There are three possible combinations of values:</p> + * + * <ol> + * <li>There are no relative widths; in this case the absolute widths + * are used in the HTML table.</li> + * <li>There are no absolute widths; in this case the relative widths + * are used in the HTML table.</li> + * <li>There are a mixture of absolute and relative widths: + * <ol> + * <li>If the table width is absolute, all widths become absolute.</li> + * <li>If the table width is relative, make all the widths absolute + * relative to the nominal table width then turn them all + * back into relative widths.</li> + * </ol> + * </li> + * </ol> + * + * @param context The stylesheet context; supplied automatically by Xalan + * @param rtf The result tree fragment containing the colgroup. + * + * @return The result tree fragment containing the adjusted colgroup. + * + */ + + public DocumentFragment adjustColumnWidths (ExpressionContext context, + NodeIterator xalanNI) { + + int nominalWidth = convertLength(Params.getString(context, + "nominal.table.width")); + String tableWidth = Params.getString(context, "table.width"); + String styleType = Params.getString(context, "stylesheet.result.type"); + boolean foStylesheet = styleType.equals("fo"); + + DocumentFragment xalanRTF = (DocumentFragment) xalanNI.nextNode(); + Element colgroup = (Element) xalanRTF.getFirstChild(); + + // N.B. ...stree.ElementImpl doesn't implement getElementsByTagName() + + Node firstCol = null; + // If this is an FO tree, there might be no colgroup... + if (colgroup.getLocalName().equals("colgroup")) { + firstCol = colgroup.getFirstChild(); + } else { + firstCol = colgroup; + } + + // Count the number of columns... + Node child = firstCol; + int numColumns = 0; + while (child != null) { + if (child.getNodeType() == Node.ELEMENT_NODE + && (child.getNodeName().equals("col") + || (child.getNamespaceURI().equals(foURI) + && child.getLocalName().equals("table-column")))) { + numColumns++; + } + + child = child.getNextSibling(); + } + + String widths[] = new String[numColumns]; + Element columns[] = new Element[numColumns]; + int colnum = 0; + + child = firstCol; + while (child != null) { + if (child.getNodeType() == Node.ELEMENT_NODE + && (child.getNodeName().equals("col") + || (child.getNamespaceURI().equals(foURI) + && child.getLocalName().equals("table-column")))) { + Element col = (Element) child; + + columns[colnum] = col; + + if (foStylesheet) { + if (col.getAttribute("column-width") == null) { + widths[colnum] = "1*"; + } else { + widths[colnum] = col.getAttribute("column-width"); + } + } else { + if (col.getAttribute("width") == null) { + widths[colnum] = "1*"; + } else { + widths[colnum] = col.getAttribute("width"); + } + } + + colnum++; + } + child = child.getNextSibling(); + } + + float relTotal = 0; + float relParts[] = new float[numColumns]; + + float absTotal = 0; + float absParts[] = new float[numColumns]; + + for (int count = 0; count < numColumns; count++) { + String width = widths[count]; + int pos = width.indexOf("*"); + if (pos >= 0) { + String relPart = width.substring(0, pos); + String absPart = width.substring(pos+1); + + try { + float rel = Float.parseFloat(relPart); + relTotal += rel; + relParts[count] = rel; + } catch (NumberFormatException e) { + System.out.println(relPart + " is not a valid relative unit."); + } + + int pixels = 0; + if (absPart != null && !absPart.equals("")) { + pixels = convertLength(absPart); + } + + absTotal += pixels; + absParts[count] = pixels; + } else { + relParts[count] = 0; + + int pixels = 0; + if (width != null && !width.equals("")) { + pixels = convertLength(width); + } + + absTotal += pixels; + absParts[count] = pixels; + } + } + + // Ok, now we have the relative widths and absolute widths in + // two parallel arrays. + // + // - If there are no relative widths, output the absolute widths + // - If there are no absolute widths, output the relative widths + // - If there are a mixture of relative and absolute widths, + // - If the table width is absolute, turn these all into absolute + // widths. + // - If the table width is relative, turn these all into absolute + // widths in the nominalWidth and then turn them back into + // percentages. + + if (relTotal == 0) { + for (int count = 0; count < numColumns; count++) { + Float f = new Float(absParts[count]); + if (foStylesheet) { + int pixels = f.intValue(); + float inches = (float) pixels / pixelsPerInch; + widths[count] = inches + "in"; + } else { + widths[count] = Integer.toString(f.intValue()); + } + } + } else if (absTotal == 0) { + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / relTotal * 100; + Float f = new Float(rel); + widths[count] = Integer.toString(f.intValue()) + "%"; + } + } else { + int pixelWidth = nominalWidth; + + if (tableWidth.indexOf("%") <= 0) { + pixelWidth = convertLength(tableWidth); + } + + if (pixelWidth <= absTotal) { + System.out.println("Table is wider than table width."); + } else { + pixelWidth -= absTotal; + } + + absTotal = 0; + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / relTotal * pixelWidth; + relParts[count] = rel + absParts[count]; + absTotal += rel + absParts[count]; + } + + if (tableWidth.indexOf("%") <= 0) { + for (int count = 0; count < numColumns; count++) { + Float f = new Float(relParts[count]); + if (foStylesheet) { + int pixels = f.intValue(); + float inches = (float) pixels / pixelsPerInch; + widths[count] = inches + "in"; + } else { + widths[count] = Integer.toString(f.intValue()); + } + } + } else { + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / absTotal * 100; + Float f = new Float(rel); + widths[count] = Integer.toString(f.intValue()) + "%"; + } + } + } + + // Now rebuild the colgroup with the right widths + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = null; + + try { + docBuilder = docFactory.newDocumentBuilder(); + } catch (ParserConfigurationException e) { + System.out.println("PCE!"); + return xalanRTF; + } + Document doc = docBuilder.newDocument(); + DocumentFragment df = doc.createDocumentFragment(); + DOMBuilder rtf = new DOMBuilder(doc, df); + + try { + String ns = colgroup.getNamespaceURI(); + String localName = colgroup.getLocalName(); + String name = colgroup.getTagName(); + + if (colgroup.getLocalName().equals("colgroup")) { + rtf.startElement(ns, localName, name, + copyAttributes(colgroup)); + } + + for (colnum = 0; colnum < numColumns; colnum++) { + Element col = columns[colnum]; + + NamedNodeMap domAttr = col.getAttributes(); + + AttributesImpl attr = new AttributesImpl(); + for (int acount = 0; acount < domAttr.getLength(); acount++) { + Node a = domAttr.item(acount); + String a_ns = a.getNamespaceURI(); + String a_localName = a.getLocalName(); + + if ((foStylesheet && !a_localName.equals("column-width")) + || !a_localName.equalsIgnoreCase("width")) { + attr.addAttribute(a.getNamespaceURI(), + a.getLocalName(), + a.getNodeName(), + "CDATA", + a.getNodeValue()); + } + } + + if (foStylesheet) { + attr.addAttribute("", "column-width", "column-width", "CDATA", widths[colnum]); + } else { + attr.addAttribute("", "width", "width", "CDATA", widths[colnum]); + } + + rtf.startElement(col.getNamespaceURI(), + col.getLocalName(), + col.getTagName(), + attr); + rtf.endElement(col.getNamespaceURI(), + col.getLocalName(), + col.getTagName()); + } + + if (colgroup.getLocalName().equals("colgroup")) { + rtf.endElement(ns, localName, name); + } + } catch (SAXException se) { + System.out.println("SE!"); + return xalanRTF; + } + + return df; + } + + private Attributes copyAttributes(Element node) { + AttributesImpl attrs = new AttributesImpl(); + NamedNodeMap nnm = node.getAttributes(); + for (int count = 0; count < nnm.getLength(); count++) { + Attr attr = (Attr) nnm.item(count); + String name = attr.getName(); + if (name.startsWith("xmlns:") || name.equals("xmlns")) { + // Skip it; (don't ya just love it!!) + } else { + attrs.addAttribute(attr.getNamespaceURI(), attr.getName(), + attr.getName(), "CDATA", attr.getValue()); + } + } + return attrs; + } +} diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Text.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Text.java new file mode 100644 index 000000000..2beb93951 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Text.java @@ -0,0 +1,128 @@ +// Text - Xalan extension element for inserting text + +package com.nwalsh.xalan; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.InputStream; +import java.io.IOException; +import java.io.FileNotFoundException; +import java.net.URL; +import java.net.MalformedURLException; + +import org.xml.sax.SAXException; +import org.xml.sax.AttributeList; +import org.xml.sax.ContentHandler; + +import org.w3c.dom.*; +import org.apache.xerces.dom.*; + +import org.apache.xpath.objects.XObject; +import org.apache.xpath.XPath; +import org.apache.xpath.NodeSet; +import org.apache.xalan.extensions.XSLProcessorContext; +import org.apache.xalan.transformer.TransformerImpl; +import org.apache.xalan.templates.StylesheetRoot; +import org.apache.xalan.templates.ElemExtensionCall; +import org.apache.xalan.templates.OutputProperties; +import org.apache.xalan.res.XSLTErrorResources; + +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.TransformerException; + +/** + * <p>Xalan extension element for inserting text + * + * <p>$Id: Text.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2001 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://xml.apache.org/xalan/">Xalan</a> + * extension element for inserting text into a result tree.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: Text.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class Text { + /** + * <p>Constructor for Text</p> + * + * <p>Does nothing.</p> + */ + public Text() { + } + + public NodeList insertfile(XSLProcessorContext context, + ElemExtensionCall elem) + throws MalformedURLException, + FileNotFoundException, + IOException, + TransformerException { + String href = getFilename(context, elem); + + NodeSet textNodes = new NodeSet(); + Document textDoc = DOMImplementationImpl.getDOMImplementation().createDocument(null, "tmpDoc", null); + + URL fileURL = null; + + try { + try { + fileURL = new URL(href); + } catch (MalformedURLException e1) { + try { + fileURL = new URL("file:" + href); + } catch (MalformedURLException e2) { + System.out.println("Cannot open " + href); + return null; + } + } + + InputStreamReader isr = new InputStreamReader(fileURL.openStream()); + BufferedReader is = new BufferedReader(isr); + + char chars[] = new char[4096]; + int len = 0; + while ((len = is.read(chars)) > 0) { + String s = new String(chars, 0, len); + // Does it matter that this produces multiple, adjacent text + // nodes? I don't think so... + textNodes.addNode(textDoc.createTextNode(s)); + } + is.close(); + } catch (Exception e) { + System.out.println("Cannot read " + href); + } + + return textNodes; + } + + private String getFilename(XSLProcessorContext context, ElemExtensionCall elem) + throws java.net.MalformedURLException, + java.io.FileNotFoundException, + java.io.IOException, + javax.xml.transform.TransformerException { + + String fileName; + + fileName = ((ElemExtensionCall)elem).getAttribute ("href", + context.getContextNode(), + context.getTransformer()); + + if(fileName == null) { + context.getTransformer().getMsgMgr().error(elem, + "No 'href' on text, or not a filename"); + } + + return fileName; + } +} diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Verbatim.java b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Verbatim.java new file mode 100644 index 000000000..dc95dbd4b --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/Verbatim.java @@ -0,0 +1,929 @@ +// Verbatim.java - Xalan extensions supporting DocBook verbatim environments + +package com.nwalsh.xalan; + +import java.util.Stack; +import java.util.StringTokenizer; + +import org.xml.sax.*; +import org.xml.sax.helpers.AttributesImpl; +import org.w3c.dom.*; +import org.w3c.dom.traversal.NodeIterator; +import org.apache.xerces.dom.*; + +import org.apache.xpath.objects.XObject; +import org.apache.xpath.XPath; +import org.apache.xpath.XPathContext; +import org.apache.xpath.NodeSet; +import org.apache.xpath.DOMHelper; +import org.apache.xalan.extensions.XSLProcessorContext; +import org.apache.xalan.extensions.ExpressionContext; +import org.apache.xalan.transformer.TransformerImpl; +import org.apache.xalan.templates.StylesheetRoot; +import org.apache.xalan.templates.ElemExtensionCall; +import org.apache.xalan.templates.OutputProperties; +import org.apache.xalan.res.XSLTErrorResources; +import org.apache.xml.utils.DOMBuilder; +import org.apache.xml.utils.AttList; +import org.apache.xml.utils.QName; + +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.TransformerException; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import com.nwalsh.xalan.Callout; +import com.nwalsh.xalan.Params; + +/** + * <p>Xalan extensions supporting DocBook verbatim environments</p> + * + * <p>$Id: Verbatim.java,v 1.1 2002/05/15 17:22:28 isberg Exp $</p> + * + * <p>Copyright (C) 2001 Norman Walsh.</p> + * + * <p>This class provides a + * <a href="http://xml.apache.org/xalan">Xalan</a> + * implementation of two features that would be impractical to + * implement directly in XSLT: line numbering and callouts.</p> + * + * <p><b>Line Numbering</b></p> + * <p>The <tt>numberLines</tt> family of functions takes a result tree + * fragment (assumed to contain the contents of a formatted verbatim + * element in DocBook: programlisting, screen, address, literallayout, + * or synopsis) and returns a result tree fragment decorated with + * line numbers.</p> + * + * <p><b>Callouts</b></p> + * <p>The <tt>insertCallouts</tt> family of functions takes an + * <tt>areaspec</tt> and a result tree fragment + * (assumed to contain the contents of a formatted verbatim + * element in DocBook: programlisting, screen, address, literallayout, + * or synopsis) and returns a result tree fragment decorated with + * callouts.</p> + * + * <p><b>Change Log:</b></p> + * <dl> + * <dt>1.0</dt> + * <dd><p>Initial release.</p></dd> + * </dl> + * + * @author Norman Walsh + * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> + * + * @version $Id: Verbatim.java,v 1.1 2002/05/15 17:22:28 isberg Exp $ + * + */ +public class Verbatim { + /** A stack to hold the open elements while walking through a RTF. */ + private Stack elementStack = null; + /** A stack to hold the temporarily closed elements. */ + private Stack tempStack = null; + /** The current line number. */ + private int lineNumber = 0; + /** The current column number. */ + private int colNumber = 0; + /** The modulus for line numbering (every 'modulus' line is numbered). */ + private int modulus = 0; + /** The width (in characters) of line numbers (for padding). */ + private int width = 0; + /** The separator between the line number and the verbatim text. */ + private String separator = ""; + /** The (sorted) array of callouts obtained from the areaspec. */ + private Callout callout[] = null; + /** The number of callouts in the callout array. */ + private int calloutCount = 0; + /** A pointer used to keep track of our position in the callout array. */ + private int calloutPos = 0; + /** The path to use for graphical callout decorations. */ + private String graphicsPath = null; + /** The extension to use for graphical callout decorations. */ + private String graphicsExt = null; + /** The largest callout number that can be represented graphically. */ + private int graphicsMax = 10; + /** Should graphic callouts use fo:external-graphics or imgs. */ + private boolean graphicsFO = false; + + private static final String foURI = "http://www.w3.org/1999/XSL/Format"; + private static final String xhURI = "http://www.w3.org/1999/xhtml"; + + /** + * <p>Constructor for Verbatim</p> + * + * <p>All of the methods are static, so the constructor does nothing.</p> + */ + public Verbatim() { + } + + /** + * <p>Number lines in a verbatim environment.</p> + * + * <p>This method adds line numbers to a result tree fragment. Each + * newline that occurs in a text node is assumed to start a new line. + * The first line is always numbered, every subsequent xalanMod line + * is numbered (so if xalanMod=5, lines 1, 5, 10, 15, etc. will be + * numbered. If there are fewer than xalanMod lines in the environment, + * every line is numbered.</p> + * + * <p>xalanMod is taken from the $linenumbering.everyNth parameter.</p> + * + * <p>Every line number will be right justified in a string xalanWidth + * characters long. If the line number of the last line in the + * environment is too long to fit in the specified width, the width + * is automatically increased to the smallest value that can hold the + * number of the last line. (In other words, if you specify the value 2 + * and attempt to enumerate the lines of an environment that is 100 lines + * long, the value 3 will automatically be used for every line in the + * environment.)</p> + * + * <p>xalanWidth is taken from the $linenumbering.width parameter.</p> + * + * <p>The xalanSep string is inserted between the line + * number and the original program listing. Lines that aren't numbered + * are preceded by a xalanWidth blank string and the separator.</p> + * + * <p>xalanSep is taken from the $linenumbering.separator parameter.</p> + * + * <p>If inline markup extends across line breaks, markup changes are + * required. All the open elements are closed before the line break and + * "reopened" afterwards. The reopened elements will have the same + * attributes as the originals, except that 'name' and 'id' attributes + * are not duplicated.</p> + * + * @param xalanRTF The result tree fragment of the verbatim environment. + * + * @return The modified result tree fragment. + */ + public DocumentFragment numberLines (ExpressionContext context, + NodeIterator xalanNI) { + + int xalanMod = Params.getInt(context, "linenumbering.everyNth"); + int xalanWidth = Params.getInt(context, "linenumbering.width"); + String xalanSep = Params.getString(context, "linenumbering.separator"); + + DocumentFragment xalanRTF = (DocumentFragment) xalanNI.nextNode(); + int numLines = countLineBreaks(xalanRTF) + 1; + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = null; + + try { + docBuilder = docFactory.newDocumentBuilder(); + } catch (ParserConfigurationException e) { + System.out.println("PCE!"); + return xalanRTF; + } + Document doc = docBuilder.newDocument(); + DocumentFragment df = doc.createDocumentFragment(); + DOMBuilder db = new DOMBuilder(doc, df); + + elementStack = new Stack(); + lineNumber = 0; + modulus = numLines < xalanMod ? 1 : xalanMod; + width = xalanWidth; + separator = xalanSep; + + double log10numLines = Math.log(numLines) / Math.log(10); + + if (width < log10numLines + 1) { + width = (int) Math.floor(log10numLines + 1); + } + + lineNumberFragment(db, xalanRTF); + return df; + } + + /** + * <p>Count the number of lines in a verbatim environment.</p> + * + * <p>This method walks over the nodes of a DocumentFragment and + * returns the number of lines breaks that it contains.</p> + * + * @param node The root of the tree walk over. + */ + private int countLineBreaks(Node node) { + int numLines = 0; + + if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE + || node.getNodeType() == Node.DOCUMENT_NODE + || node.getNodeType() == Node.ELEMENT_NODE) { + Node child = node.getFirstChild(); + while (child != null) { + numLines += countLineBreaks(child); + child = child.getNextSibling(); + } + } else if (node.getNodeType() == Node.TEXT_NODE) { + String text = node.getNodeValue(); + + // Walk through the text node looking for newlines + int pos = 0; + for (int count = 0; count < text.length(); count++) { + if (text.charAt(count) == '\n') { + numLines++; + } + } + } else { + // nop + } + + return numLines; + } + + /** + * <p>Build a DocumentFragment with numbered lines.</p> + * + * <p>This is the method that actually does the work of numbering + * lines in a verbatim environment. It recursively walks through a + * tree of nodes, copying the structure into the rtf. Text nodes + * are examined for new lines and modified as requested by the + * global line numbering parameters.</p> + * + * <p>When called, rtf should be an empty DocumentFragment and node + * should be the first child of the result tree fragment that contains + * the existing, formatted verbatim text.</p> + * + * @param rtf The resulting verbatim environment with numbered lines. + * @param node The root of the tree to copy. + */ + private void lineNumberFragment(DOMBuilder rtf, + Node node) { + try { + if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE + || node.getNodeType() == Node.DOCUMENT_NODE) { + Node child = node.getFirstChild(); + while (child != null) { + lineNumberFragment(rtf, child); + child = child.getNextSibling(); + } + } else if (node.getNodeType() == Node.ELEMENT_NODE) { + String ns = node.getNamespaceURI(); + String localName = node.getLocalName(); + String name = ((Element) node).getTagName(); + + rtf.startElement(ns, localName, name, + copyAttributes((Element) node)); + + elementStack.push(node); + + Node child = node.getFirstChild(); + while (child != null) { + lineNumberFragment(rtf, child); + child = child.getNextSibling(); + } + } else if (node.getNodeType() == Node.TEXT_NODE) { + String text = node.getNodeValue(); + + if (lineNumber == 0) { + // The first line is always numbered + formatLineNumber(rtf, ++lineNumber); + } + + // Walk through the text node looking for newlines + char chars[] = text.toCharArray(); + int pos = 0; + for (int count = 0; count < text.length(); count++) { + if (text.charAt(count) == '\n') { + // This is the tricky bit; if we find a newline, make sure + // it doesn't occur inside any markup. + + if (pos > 0) { + rtf.characters(chars, 0, pos); + pos = 0; + } + + closeOpenElements(rtf); + + // Copy the newline to the output + chars[pos++] = text.charAt(count); + rtf.characters(chars, 0, pos); + pos = 0; + + // Add the line number + formatLineNumber(rtf, ++lineNumber); + + openClosedElements(rtf); + } else { + chars[pos++] = text.charAt(count); + } + } + + if (pos > 0) { + rtf.characters(chars, 0, pos); + } + } else if (node.getNodeType() == Node.COMMENT_NODE) { + String text = node.getNodeValue(); + char chars[] = text.toCharArray(); + rtf.comment(chars, 0, text.length()); + } else if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) { + rtf.processingInstruction(node.getNodeName(), node.getNodeValue()); + } else { + System.out.println("Warning: unexpected node type in lineNumberFragment"); + } + + if (node.getNodeType() == Node.ELEMENT_NODE) { + String ns = node.getNamespaceURI(); + String localName = node.getLocalName(); + String name = ((Element) node).getTagName(); + rtf.endElement(ns, localName, name); + elementStack.pop(); + } + } catch (SAXException e) { + System.out.println("SAX Exception in lineNumberFragment"); + } + } + + /** + * <p>Add a formatted line number to the result tree fragment.</p> + * + * <p>This method examines the global parameters that control line + * number presentation (modulus, width, and separator) and adds + * the appropriate text to the result tree fragment.</p> + * + * @param rtf The resulting verbatim environment with numbered lines. + * @param lineNumber The number of the current line. + */ + private void formatLineNumber(DOMBuilder rtf, + int lineNumber) { + char ch = 160; + String lno = ""; + if (lineNumber == 1 + || (modulus >= 1 && (lineNumber % modulus == 0))) { + lno = "" + lineNumber; + } + + while (lno.length() < width) { + lno = ch + lno; + } + + lno += separator; + + char chars[] = lno.toCharArray(); + try { + rtf.characters(chars, 0, lno.length()); + } catch (SAXException e) { + System.out.println("SAX Exception in formatLineNumber"); + } + } + + /** + * <p>Insert text callouts into a verbatim environment.</p> + * + * <p>This method examines the <tt>areaset</tt> and <tt>area</tt> elements + * in the supplied <tt>areaspec</tt> and decorates the supplied + * result tree fragment with appropriate callout markers.</p> + * + * <p>If a <tt>label</tt> attribute is supplied on an <tt>area</tt>, + * its content will be used for the label, otherwise the callout + * number will be used, surrounded by parenthesis. Callouts are + * numbered in document order. All of the <tt>area</tt>s in an + * <tt>areaset</tt> get the same number.</p> + * + * <p>Only the <tt>linecolumn</tt> and <tt>linerange</tt> units are + * supported. If no unit is specifed, <tt>linecolumn</tt> is assumed. + * If only a line is specified, the callout decoration appears in + * the defaultColumn. Lines will be padded with blanks to reach the + * necessary column, but callouts that are located beyond the last + * line of the verbatim environment will be ignored.</p> + * + * <p>Callouts are inserted before the character at the line/column + * where they are to occur.</p> + * + * @param areaspecNodeSet The source node set that contains the areaspec. + * @param xalanRTF The result tree fragment of the verbatim environment. + * @param defaultColumn The column for callouts that specify only a line. + * + * @return The modified result tree fragment. */ + + /** + * <p>Insert graphical callouts into a verbatim environment.</p> + * + * <p>This method examines the <tt>areaset</tt> and <tt>area</tt> elements + * in the supplied <tt>areaspec</tt> and decorates the supplied + * result tree fragment with appropriate callout markers.</p> + * + * <p>If a <tt>label</tt> attribute is supplied on an <tt>area</tt>, + * its content will be used for the label, otherwise the callout + * number will be used. Callouts are + * numbered in document order. All of the <tt>area</tt>s in an + * <tt>areaset</tt> get the same number.</p> + * + * <p>If the callout number is not greater than <tt>gMax</tt>, the + * callout generated will be:</p> + * + * <pre> + * <img src="$gPath/conumber$gExt" alt="conumber"> + * </pre> + * + * <p>Otherwise, it will be the callout number surrounded by + * parenthesis.</p> + * + * <p>Only the <tt>linecolumn</tt> and <tt>linerange</tt> units are + * supported. If no unit is specifed, <tt>linecolumn</tt> is assumed. + * If only a line is specified, the callout decoration appears in + * the defaultColumn. Lines will be padded with blanks to reach the + * necessary column, but callouts that are located beyond the last + * line of the verbatim environment will be ignored.</p> + * + * <p>Callouts are inserted before the character at the line/column + * where they are to occur.</p> + * + * @param areaspecNodeSet The source node set that contains the areaspec. + * @param xalanRTF The result tree fragment of the verbatim environment. + * @param defaultColumn The column for callouts that specify only a line. + * @param gPath The path to use for callout graphics. + * @param gExt The extension to use for callout graphics. + * @param gMax The largest number that can be represented as a graphic. + * @param useFO Should fo:external-graphics be produced, as opposed to + * HTML imgs. This is bogus, the extension should figure it out, but I + * haven't figured out how to do that yet. + * + * @return The modified result tree fragment. + */ + + public DocumentFragment insertCallouts (ExpressionContext context, + NodeIterator areaspecNodeSet, + NodeIterator xalanNI) { + String type = Params.getString(context, "stylesheet.result.type"); + boolean useFO = type.equals("fo"); + int defaultColumn = Params.getInt(context, "callout.defaultcolumn"); + + if (Params.getBoolean(context, "callout.graphics")) { + String gPath = Params.getString(context, "callout.graphics.path"); + String gExt = Params.getString(context, "callout.graphics.extension"); + int gMax = Params.getInt(context, "callout.graphics.number.limit"); + return insertGraphicCallouts(areaspecNodeSet, xalanNI, defaultColumn, + gPath, gExt, gMax, useFO); + } else if (Params.getBoolean(context, "callout.unicode")) { + int uStart = Params.getInt(context, "callout.unicode.start.character"); + int uMax = Params.getInt(context, "callout.unicode.number.limit"); + return insertUnicodeCallouts(areaspecNodeSet, xalanNI, defaultColumn, + uStart, uMax, useFO); + } else if (Params.getBoolean(context, "callout.dingbats")) { + int dMax = 10; + return insertDingbatCallouts(areaspecNodeSet, xalanNI, defaultColumn, + dMax, useFO); + } else { + return insertTextCallouts(areaspecNodeSet, xalanNI, defaultColumn, useFO); + } + } + + public DocumentFragment insertGraphicCallouts (NodeIterator areaspecNodeSet, + NodeIterator xalanNI, + int defaultColumn, + String gPath, + String gExt, + int gMax, + boolean useFO) { + FormatGraphicCallout fgc = new FormatGraphicCallout(gPath,gExt,gMax,useFO); + return insertCallouts(areaspecNodeSet, xalanNI, defaultColumn, fgc); + } + + public DocumentFragment insertUnicodeCallouts (NodeIterator areaspecNodeSet, + NodeIterator xalanNI, + int defaultColumn, + int uStart, + int uMax, + boolean useFO) { + FormatUnicodeCallout fuc = new FormatUnicodeCallout(uStart, uMax, useFO); + return insertCallouts(areaspecNodeSet, xalanNI, defaultColumn, fuc); + } + + public DocumentFragment insertDingbatCallouts (NodeIterator areaspecNodeSet, + NodeIterator xalanNI, + int defaultColumn, + int gMax, + boolean useFO) { + FormatDingbatCallout fdc = new FormatDingbatCallout(gMax,useFO); + return insertCallouts(areaspecNodeSet, xalanNI, defaultColumn, fdc); + } + + public DocumentFragment insertTextCallouts (NodeIterator areaspecNodeSet, + NodeIterator xalanNI, + int defaultColumn, + boolean useFO) { + FormatTextCallout ftc = new FormatTextCallout(useFO); + return insertCallouts(areaspecNodeSet, xalanNI, defaultColumn, ftc); + } + + public DocumentFragment insertCallouts (NodeIterator areaspecNodeSet, + NodeIterator xalanNI, + int defaultColumn, + FormatCallout fCallout) { + + DocumentFragment xalanRTF = (DocumentFragment) xalanNI.nextNode(); + + callout = new Callout[10]; + calloutCount = 0; + calloutPos = 0; + lineNumber = 1; + colNumber = 1; + + // First we walk through the areaspec to calculate the position + // of the callouts + // <areaspec> + // <areaset id="ex.plco.const" coords=""> + // <area id="ex.plco.c1" coords="4"/> + // <area id="ex.plco.c2" coords="8"/> + // </areaset> + // <area id="ex.plco.ret" coords="12"/> + // <area id="ex.plco.dest" coords="12"/> + // </areaspec> + int pos = 0; + int coNum = 0; + boolean inAreaSet = false; + Node node = areaspecNodeSet.nextNode(); + node = node.getFirstChild(); + while (node != null) { + if (node.getNodeType() == Node.ELEMENT_NODE) { + if (node.getNodeName().equals("areaset")) { + coNum++; + Node area = node.getFirstChild(); + while (area != null) { + if (area.getNodeType() == Node.ELEMENT_NODE) { + if (area.getNodeName().equals("area")) { + addCallout(coNum, area, defaultColumn); + } else { + System.out.println("Unexpected element in areaset: " + + area.getNodeName()); + } + } + area = area.getNextSibling(); + } + } else if (node.getNodeName().equalsIgnoreCase("area")) { + coNum++; + addCallout(coNum, node, defaultColumn); + } else { + System.out.println("Unexpected element in areaspec: " + + node.getNodeName()); + } + } + + node = node.getNextSibling(); + } + + // Now sort them + java.util.Arrays.sort(callout, 0, calloutCount); + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = null; + + try { + docBuilder = docFactory.newDocumentBuilder(); + } catch (ParserConfigurationException e) { + System.out.println("PCE 2!"); + return xalanRTF; + } + Document doc = docBuilder.newDocument(); + DocumentFragment df = doc.createDocumentFragment(); + DOMBuilder db = new DOMBuilder(doc, df); + + elementStack = new Stack(); + calloutFragment(db, xalanRTF, fCallout); + return df; + } + + /** + * <p>Build a FragmentValue with callout decorations.</p> + * + * <p>This is the method that actually does the work of adding + * callouts to a verbatim environment. It recursively walks through a + * tree of nodes, copying the structure into the rtf. Text nodes + * are examined for the position of callouts as described by the + * global callout parameters.</p> + * + * <p>When called, rtf should be an empty FragmentValue and node + * should be the first child of the result tree fragment that contains + * the existing, formatted verbatim text.</p> + * + * @param rtf The resulting verbatim environment with numbered lines. + * @param node The root of the tree to copy. + */ + private void calloutFragment(DOMBuilder rtf, + Node node, + FormatCallout fCallout) { + try { + if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE + || node.getNodeType() == Node.DOCUMENT_NODE) { + Node child = node.getFirstChild(); + while (child != null) { + calloutFragment(rtf, child, fCallout); + child = child.getNextSibling(); + } + } else if (node.getNodeType() == Node.ELEMENT_NODE) { + String ns = node.getNamespaceURI(); + String localName = node.getLocalName(); + String name = ((Element) node).getTagName(); + + rtf.startElement(ns, localName, name, + copyAttributes((Element) node)); + + elementStack.push(node); + + Node child = node.getFirstChild(); + while (child != null) { + calloutFragment(rtf, child, fCallout); + child = child.getNextSibling(); + } + } else if (node.getNodeType() == Node.TEXT_NODE) { + String text = node.getNodeValue(); + + char chars[] = text.toCharArray(); + int pos = 0; + for (int count = 0; count < text.length(); count++) { + if (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + if (pos > 0) { + rtf.characters(chars, 0, pos); + pos = 0; + } + + closeOpenElements(rtf); + + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + fCallout.formatCallout(rtf, callout[calloutPos]); + calloutPos++; + } + + openClosedElements(rtf); + } + + if (text.charAt(count) == '\n') { + // What if we need to pad this line? + if (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() > colNumber) { + + if (pos > 0) { + rtf.characters(chars, 0, pos); + pos = 0; + } + + closeOpenElements(rtf); + + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() > colNumber) { + formatPad(rtf, callout[calloutPos].getColumn() - colNumber); + colNumber = callout[calloutPos].getColumn(); + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + fCallout.formatCallout(rtf, callout[calloutPos]); + calloutPos++; + } + } + + openClosedElements(rtf); + } + + lineNumber++; + colNumber = 1; + } else { + colNumber++; + } + chars[pos++] = text.charAt(count); + } + + if (pos > 0) { + rtf.characters(chars, 0, pos); + } + } else if (node.getNodeType() == Node.COMMENT_NODE) { + String text = node.getNodeValue(); + char chars[] = text.toCharArray(); + rtf.comment(chars, 0, text.length()); + } else if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) { + rtf.processingInstruction(node.getNodeName(), node.getNodeValue()); + } else { + System.out.println("Warning: unexpected node type in calloutFragment: " + node.getNodeType() + ": " + node.getNodeName()); + } + + if (node.getNodeType() == Node.ELEMENT_NODE) { + String ns = node.getNamespaceURI(); + String localName = node.getLocalName(); + String name = ((Element) node).getTagName(); + rtf.endElement(ns, localName, name); + elementStack.pop(); + } else { + // nop + } + } catch (SAXException e) { + System.out.println("SAX Exception in calloutFragment"); + } + } + + /** + * <p>Add a callout to the global callout array</p> + * + * <p>This method examines a callout <tt>area</tt> and adds it to + * the global callout array if it can be interpreted.</p> + * + * <p>Only the <tt>linecolumn</tt> and <tt>linerange</tt> units are + * supported. If no unit is specifed, <tt>linecolumn</tt> is assumed. + * If only a line is specified, the callout decoration appears in + * the <tt>defaultColumn</tt>.</p> + * + * @param coNum The callout number. + * @param node The <tt>area</tt>. + * @param defaultColumn The default column for callouts. + */ + private void addCallout (int coNum, + Node node, + int defaultColumn) { + Element area = (Element) node; + + String units = area.getAttribute("units"); + String otherUnits = area.getAttribute("otherunits"); + String coords = area.getAttribute("coords"); + int type = 0; + String otherType = null; + + if (units == null || units.equals("linecolumn")) { + type = Callout.LINE_COLUMN; // the default + } else if (units.equals("linerange")) { + type = Callout.LINE_RANGE; + } else if (units.equals("linecolumnpair")) { + type = Callout.LINE_COLUMN_PAIR; + } else if (units.equals("calspair")) { + type = Callout.CALS_PAIR; + } else { + type = Callout.OTHER; + otherType = otherUnits; + } + + if (type != Callout.LINE_COLUMN + && type != Callout.LINE_RANGE) { + System.out.println("Only linecolumn and linerange units are supported"); + return; + } + + if (coords == null) { + System.out.println("Coords must be specified"); + return; + } + + // Now let's see if we can interpret the coordinates... + StringTokenizer st = new StringTokenizer(coords); + int tokenCount = 0; + int c1 = 0; + int c2 = 0; + while (st.hasMoreTokens()) { + tokenCount++; + if (tokenCount > 2) { + System.out.println("Unparseable coordinates"); + return; + } + try { + String token = st.nextToken(); + int coord = Integer.parseInt(token); + c2 = coord; + if (tokenCount == 1) { + c1 = coord; + } + } catch (NumberFormatException e) { + System.out.println("Unparseable coordinate"); + return; + } + } + + // Make sure we aren't going to blow past the end of our array + if (calloutCount == callout.length) { + Callout bigger[] = new Callout[calloutCount+10]; + for (int count = 0; count < callout.length; count++) { + bigger[count] = callout[count]; + } + callout = bigger; + } + + // Ok, add the callout + if (tokenCount == 2) { + if (type == Callout.LINE_RANGE) { + for (int count = c1; count <= c2; count++) { + callout[calloutCount++] = new Callout(coNum, area, + count, defaultColumn, + type); + } + } else { + // assume linecolumn + callout[calloutCount++] = new Callout(coNum, area, c1, c2, type); + } + } else { + // if there's only one number, assume it's the line + callout[calloutCount++] = new Callout(coNum, area, c1, defaultColumn, type); + } + } + + /** + * <p>Add blanks to the result tree fragment.</p> + * + * <p>This method adds <tt>numBlanks</tt> to the result tree fragment. + * It's used to pad lines when callouts occur after the last existing + * characater in a line.</p> + * + * @param rtf The resulting verbatim environment with numbered lines. + * @param numBlanks The number of blanks to add. + */ + private void formatPad(DOMBuilder rtf, + int numBlanks) { + char chars[] = new char[numBlanks]; + for (int count = 0; count < numBlanks; count++) { + chars[count] = ' '; + } + + try { + rtf.characters(chars, 0, numBlanks); + } catch (SAXException e) { + System.out.println("SAX Exception in formatCallout"); + } + } + + private void closeOpenElements(DOMBuilder rtf) + throws SAXException { + // Close all the open elements... + tempStack = new Stack(); + while (!elementStack.empty()) { + Node elem = (Node) elementStack.pop(); + + String ns = elem.getNamespaceURI(); + String localName = elem.getLocalName(); + String name = ((Element) elem).getTagName(); + + // If this is the bottom of the stack and it's an fo:block + // or an HTML pre or div, don't duplicate it... + if (elementStack.empty() + && (((ns != null) + && ns.equals(foURI) + && localName.equals("block")) + || (((ns == null) + && localName.equalsIgnoreCase("pre")) + || ((ns != null) + && ns.equals(xhURI) + && localName.equals("pre"))) + || (((ns == null) + && localName.equalsIgnoreCase("div")) + || ((ns != null) + && ns.equals(xhURI) + && localName.equals("div"))))) { + elementStack.push(elem); + break; + } else { + rtf.endElement(ns, localName, name); + tempStack.push(elem); + } + } + } + + private void openClosedElements(DOMBuilder rtf) + throws SAXException { + // Now "reopen" the elements that we closed... + while (!tempStack.empty()) { + Node elem = (Node) tempStack.pop(); + + String ns = elem.getNamespaceURI(); + String localName = elem.getLocalName(); + String name = ((Element) elem).getTagName(); + NamedNodeMap domAttr = elem.getAttributes(); + + AttributesImpl attr = new AttributesImpl(); + for (int acount = 0; acount < domAttr.getLength(); acount++) { + Node a = domAttr.item(acount); + + if (((ns == null || ns == "http://www.w3.org/1999/xhtml") + && localName.equalsIgnoreCase("a")) + || (a.getLocalName().equalsIgnoreCase("id"))) { + // skip this attribute + } else { + attr.addAttribute(a.getNamespaceURI(), + a.getLocalName(), + a.getNodeName(), + "CDATA", + a.getNodeValue()); + } + } + + rtf.startElement(ns, localName, name, attr); + elementStack.push(elem); + } + + tempStack = null; + } + + private Attributes copyAttributes(Element node) { + AttributesImpl attrs = new AttributesImpl(); + NamedNodeMap nnm = node.getAttributes(); + for (int count = 0; count < nnm.getLength(); count++) { + Attr attr = (Attr) nnm.item(count); + String name = attr.getName(); + if (name.startsWith("xmlns:") || name.equals("xmlns")) { + // Skip it; (don't ya just love it!!) + } else { + attrs.addAttribute(attr.getNamespaceURI(), attr.getName(), + attr.getName(), "CDATA", attr.getValue()); + } + } + return attrs; + } +} diff --git a/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/package.html b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/package.html new file mode 100644 index 000000000..92224fa85 --- /dev/null +++ b/lib/docbook/docbook-xsl/extensions/xalan2/com/nwalsh/xalan/package.html @@ -0,0 +1,48 @@ +<html> +<head> +<title>Norman Walsh's Xalan Extensions Package</title> +</head> +<body> +<p>Norman Walsh's Xalan Extensions Package for Xalan2</p> + +<p>This package implements Xalan extensions for XSLT.</p> + +<p><b>Copyright (C) 2000 Norman Walsh</b></p> +<p>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:</p> + +<p>The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software.</p> + +<p>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.</p> + +<p>Anything 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.</p> +</blockquote> + +<blockquote> +<p><b>Warranty</b></p> +<p>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.</p> +</blockquote> + +</body> +</html> diff --git a/lib/docbook/docbook-xsl/fo/ChangeLog b/lib/docbook/docbook-xsl/fo/ChangeLog new file mode 100644 index 000000000..21c4d0738 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/ChangeLog @@ -0,0 +1,240 @@ +2001-08-09 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * component.xsl, titlepage.templates.xml, titlepage.xsl:
+ Support colophon
+
+ * graphics.xsl: Forgot curly braces in AVT for height/width
+
+ * inline.xsl: Remark|comment must be formatted as a block in case it appears at the paragraph-level in a component
+
+2001-08-05 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * callout.xsl, param.xsl: Removed the FormatDingbatCallout classes, they were the same as the FormatUnicodeCallout classes but with a font wrapper. Added a callout.unicode.font parameter to wrap Unicode callouts
+
+2001-08-02 Robert Stayton <bobstayton@users.sourceforge.net>
+
+ * xref.xsl: Changed <xref> with endterm to process the children nodes
+ and not just the text by calling a new mode="endterm" template.
+
+ Also changed <link> to process its endterm if the element content
+ is empty.
+
+ Also changed the first use of name() to local-name() to
+ match the others in the file and in html/xref.xsl.
+
+2001-08-01 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * graphics.xsl: Use mediaobject.filename to calculate graphic reference
+
+ * inline.xsl: Changed vertical-align to baseline-shift; vertical-align is a shortcut
+
+ * sections.xsl: Added templates to suppress titleabbrev
+
+ * table.xsl: Support table widths
+
+ * titlepage.templates.xml, titlepage.xsl: Present othercredit on titlepages
+
+2001-07-31 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * fop.xsl, xep.xsl: Fixes for PDF bookmarks by Pavel Zampach
+
+2001-07-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * block.xsl, param.xsl: Fix title-end punctuation problems on formalparas
+
+2001-07-16 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * table.xsl: Process thead/tbody/tfoot in the right order (thead/tfoot/tbody)
+
+ * table.xsl: Add template for tfoot
+
+2001-07-15 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * graphics.xsl: Fixed graphic height/width calculations
+
+ * table.xsl: Output column number when namest is used
+
+ * titlepage.xsl: Fix duplicate template bug
+
+2001-07-08 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * qandaset.xsl: Improve QandA formatting; make question bold if defaultlabel=none (FR #419315)
+
+ * sections.xsl, xref.xsl: Support xref to bridgehead
+
+2001-07-05 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * lists.xsl, param.xsl: Added format.variablelist.as.list parameter
+
+2001-07-04 <uid48421@users.sourceforge.net>
+
+ * biblio.xsl, param.xsl, xref.xsl: Support an external bibliography collection
+
+ * docbook.xsl: Turn of indentation
+
+ * fo.xsl, param.xsl: Added dingbat.font.family
+
+ * qandaset.xsl: Bug #426166, fix duplicate id on qandaentry formatting
+
+ * qandaset.xsl, xref.xsl: Bug #429011, fix xref to qandset elements
+
+ * sections.xsl: Removed debugging messages; added prio for section title template
+
+ * titlepage.templates.xml, titlepage.xsl: Remove internal references to *.titlepage.recto.mode and *.titlepage.verso.mode
+
+2001-06-22 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * docbook.xsl, ebnf.xsl: Support EBNF
+
+ * docbook.xsl, xep.xsl: Fix XEP support for pdf bookmarks
+
+ * inline.xsl: Support linkend to glossentry on glossterm
+
+ * param.xsl, xep.xsl: Initial cut at bookmark and info support for RenderX's XEP--doesn't work yet
+
+ * synop.xsl: Support SBR
+
+ * xref.xsl: Support anchor
+
+2001-06-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * lists.xsl, param.xsl, xref.xsl: Use common code to calculate step numbers; support xref to procedures and steps; added formal.procedures parameter
+
+2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * refentry.xsl: Bug 434102: fix refentry inside of chapter and fix refsynopsisdiv formatting in both FO and HTML
+
+ * titlepage.xsl, xref.xsl: Use person.name.list to generate author lists; put IDs on authors and author groups if appropriate; support xref to authorgroup
+
+2001-06-19 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * formal.xsl, param.xsl: Fix formatting of formal object titles.
+
+2001-06-15 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * graphics.xsl: Remove file:; why was I doing this?
+
+2001-06-14 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * sections.xsl: Bug fix: section autolabelling wasn't working in division bodies
+
+ * titlepage.templates.xml: Changed text-alignment on centered titles to be 'center' rather than 'justify'
+
+ * xref.xsl: Added anchor template
+
+2001-06-13 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * graphics.xsl, param.xsl: Support Arbortext extensions--at the moment, just to turn off the url() stuff in external graphic references
+
+ * titlepage.xsl: Bug fix: make a single author in an authorgroup work correctly
+
+2001-06-08 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * callout.xsl, inline.xsl, synop.xsl: Fixed some unparameterized references to specific font families
+
+2001-06-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * block.xsl: Made blockquote indent more reasonable
+
+ * graphics.xsl: Omit the url() wrapper around external-graphic srcs for FOP and PT
+
+2001-05-23 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * graphics.xsl: Fix dup. template bug with is.graphic.*
+
+ * titlepage.xsl: Add template for publisher
+
+2001-05-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * callout.xsl, verbatim.xsl: Move calculation of linenumber.* parameters into the number.rtf.lines template
+
+ * titlepage.templates.xml: Reworked titlepage template processing to support use of more interesting
+ predicates.
+
+ Note: in previous versions, at most one title, subtitle, or titleabbrev
+ element would be processed for each title page. In the new design, if you
+ have multiple title, subtitle, or titleabbrev elements inside an info
+ wrapper (you shouldn't!), they will all be processed.
+
+2001-05-18 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * sections.xsl: Fix subtitle bug
+
+2001-05-12 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * sections.xsl: Calculate the heading level for bridgeheads
+
+2001-05-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * docbook.xsl: Replace hardcoded values on fo:root with parameters
+
+2001-05-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * biblio.xsl: Render author names correctly in bibliomixed mode
+
+ * graphics.xsl: Tweak available graphics formats
+
+ * inline.xsl: Added support for class="xmlpi" and "emptytag".
+ Rendering of attributes is in sync with HTML stylesheet (monospace instead of normal).
+
+ * param.xsl, verbatim.xsl: Created verbatim and monospace.verbatim property sets
+
+ * table.xsl: Process head/body/foot in the right order
+
+2001-04-26 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * lists.xsl: Improve procedure step/substep enumeration
+
+2001-04-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * qandaset.xsl: My first crude attempts at support for qandaset
+
+2001-04-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * autoidx.xsl: Remove variable references from key functions; use entities instead.
+
+2001-04-19 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * inline.xsl: Add template for constant
+
+2001-04-17 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * component.xsl, division.xsl: Add templates for partinfo, chapterinfo, and appendixinfo
+
+ * component.xsl, pagesetup.xsl: Use the new gentext scheme for component titles and running headers
+
+ * docbook.xsl: Print warning message when an unhandled tag is encountered
+
+ * docbook.xsl, param.xsl: Move label.from.part parameter into param.xsl; default it to 0 so that chapters and appendixes are numbered monotonically throughout a book by default. Moved param.xsl up in the include list, just for good measure
+
+2001-04-16 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * glossary.xsl: Improve formatting of glossseealso
+
+ * table.xsl: Fix typo: used xsl:param where xsl:variable was required
+
+2001-04-15 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * division.xsl: Use new toc/lot parameters
+
+ * docbook.xsl: Removed unused variable declaration
+
+ * formal.xsl: Fixed typo
+
+ * param.xsl: Added some new parameters
+
+ * toc.xsl: Support DocBook toc markup
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * callout.xsl: Fix bug 412487, make XSL-generated callout marks honor callout mark parameters
+
+ * param.xsl: Documentation fixes
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile, admon.xsl, autoidx.xsl, autotoc.xsl, biblio.xsl, block.xsl, callout.xsl, component.xsl, division.xsl, docbook.xsl, fo.xsl, footnote.xsl, fop.xsl, formal.xsl, glossary.xsl, graphics.xsl, index.xsl, info.xsl, inline.xsl, keywords.xsl, lists.xsl, math.xsl, pagesetup.xsl, param.xsl, pi.xsl, qandaset.xsl, refentry.xsl, sections.xsl, synop.xsl, table.xsl, titlepage.templates.xml, titlepage.xsl, toc.xsl, verbatim.xsl, xref.xsl:
+ New file.
+
+ * Makefile: Use the cvstools version of saxon
+
diff --git a/lib/docbook/docbook-xsl/fo/admon.xsl b/lib/docbook/docbook-xsl/fo/admon.xsl new file mode 100644 index 000000000..d05ce16fb --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/admon.xsl @@ -0,0 +1,116 @@ +<?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: admon.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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 name="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:value-of select="$admon.graphics.path"/>
+ <xsl:choose>
+ <xsl:when test="name($node)='note'">note</xsl:when>
+ <xsl:when test="name($node)='warning'">warning</xsl:when>
+ <xsl:when test="name($node)='caution'">caution</xsl:when>
+ <xsl:when test="name($node)='tip'">tip</xsl:when>
+ <xsl:when test="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="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}">
+ <fo:table>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell number-rows-spanned="2">
+ <fo:block>
+ <fo:external-graphic width="auto" height="auto">
+ <xsl:attribute name="src">
+ <xsl:call-template name="admon.graphic"/>
+ </xsl:attribute>
+ <xsl:attribute name="content-width">
+ <xsl:call-template name="admon.graphic.width"/>
+ </xsl:attribute>
+ </fo:external-graphic>
+ </fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell number-columns-spanned="2">
+ <fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </fo:block>
+</xsl:template>
+
+<xsl:template name="nongraphical.admonition">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block space-before.minimum="0.8em"
+ space-before.optimum="1em"
+ space-before.maximum="1.2em"
+ start-indent="0.25in"
+ end-indent="0.25in"
+ id="{$id}">
+ <fo:block font-size="14pt" font-weight="bold" keep-with-next='always'>
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </fo:block>
+
+ <xsl:apply-templates/>
+ </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:template match="title" mode="admonition.title.mode">
+ <fo:block font-size="14pt" font-weight="bold" keep-with-next='always'>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/autoidx.xsl b/lib/docbook/docbook-xsl/fo/autoidx.xsl new file mode 100644 index 000000000..c1098ae31 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/autoidx.xsl @@ -0,0 +1,332 @@ +<?xml version="1.0"?>
+<!DOCTYPE xsl:stylesheet [
+
+<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
+<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
+
+<!ENTITY primary 'concat(primary/@sortas, primary[not(@sortas)])'>
+<!ENTITY secondary 'concat(secondary/@sortas, secondary[not(@sortas)])'>
+<!ENTITY tertiary 'concat(tertiary/@sortas, tertiary[not(@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::section
+ |ancestor-or-self::sect1
+ |ancestor-or-self::sect2
+ |ancestor-or-self::sect3
+ |ancestor-or-self::sect4
+ |ancestor-or-self::sect5
+ |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)[last()]'>
+
+<!ENTITY section.id 'generate-id(§ion;)'>
+<!ENTITY sep '" "'>
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+
+<xsl:import href="docbook.xsl"/>
+
+<!-- ==================================================================== -->
+<!-- Derived from Jeni Tennison's work in the HTML case -->
+
+<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="primary-section"
+ match="indexterm[not(secondary) and not(see)]"
+ use="concat(&primary;, &sep;, §ion.id;)"/>
+
+<xsl:key name="secondary-section"
+ match="indexterm[not(tertiary) and not(see)]"
+ use="concat(&primary;, &sep;, &secondary;, &sep;, §ion.id;)"/>
+
+<xsl:key name="tertiary-section"
+ match="indexterm[not(see)]"
+ use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, §ion.id;)"/>
+
+<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:key name="sections" match="*[@id]" use="@id"/>
+
+<xsl:template name="generate-index">
+ <xsl:variable name="terms" select="//indexterm[count(.|key('letter',
+ translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;))[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)))]"/>
+ <fo:block>
+ <xsl:if test="$others">
+ <fo:block font-size="16pt"
+ font-weight="bold"
+ keep-with-next.within-column="always"
+ space-before="1em">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="'index symbols'"/>
+ </xsl:call-template>
+ </fo:block>
+ <fo:block>
+ <xsl:apply-templates select="$others[count(.|key('primary',
+ &primary;)[1]) = 1]"
+ mode="index-primary">
+ <xsl:sort select="&primary;"/>
+ </xsl:apply-templates>
+ </fo:block>
+ </xsl:if>
+ <xsl:apply-templates select="$alphabetical[count(.|key('letter',
+ translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;))[1]) = 1]"
+ mode="index-div">
+ <xsl:sort select="&primary;"/>
+ </xsl:apply-templates>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-div">
+ <xsl:variable name="key" select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
+ <fo:block>
+ <!-- this isn't quite exactly right. ideally all the symbols would -->
+ <!-- be grouped together. as it stands, they all get separate divs -->
+ <!-- but at least this test makes sure that they don't all get -->
+ <!-- separate titles as well. -->
+ <xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
+ <fo:block font-size="16pt"
+ font-weight="bold"
+ keep-with-next.within-column="always"
+ space-before="1em">
+ <xsl:value-of select="translate($key, &lowercase;, &uppercase;)"/>
+ </fo:block>
+ </xsl:if>
+ <fo:block>
+ <xsl:apply-templates select="key('letter', $key)[count(.|key('primary', &primary;)[1]) = 1]"
+ mode="index-primary">
+ <xsl:sort select="&primary;"/>
+ </xsl:apply-templates>
+ </fo:block>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-primary">
+ <xsl:variable name="key" select="&primary;"/>
+ <xsl:variable name="refs" select="key('primary', $key)"/>
+ <fo:block>
+ <xsl:value-of select="primary"/>
+
+ <xsl:variable name="page-number-citations">
+ <xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section', concat($key, &sep;, §ion.id;))[1])]">
+ <xsl:apply-templates select="." mode="reference"/>
+ </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>
+ </fo:block>
+ <xsl:if test="$refs/secondary or $refs[not(secondary)]/*[self::see or self::seealso]">
+ <fo:block start-indent="1pc">
+ <fo:block>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &sep;, &sep;, see))[1])]"
+ mode="index-see">
+ <xsl:sort select="see"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &sep;, &sep;, seealso))[1])]"
+ mode="index-seealso">
+ <xsl:sort select="seealso"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$refs[secondary and count(.|key('secondary', concat($key, &sep;, &secondary;))[1]) = 1]"
+ mode="index-secondary">
+ <xsl:sort select="&secondary;"/>
+ </xsl:apply-templates>
+ </fo:block>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-secondary">
+ <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/>
+ <xsl:variable name="refs" select="key('secondary', $key)"/>
+ <fo:block>
+ <xsl:value-of select="secondary"/>
+
+ <xsl:variable name="page-number-citations">
+ <xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section', concat($key, &sep;, §ion.id;))[1])]">
+ <xsl:apply-templates select="." mode="reference"/>
+ </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>
+ </fo:block>
+ <xsl:if test="$refs/tertiary or $refs[not(tertiary)]/*[self::see or self::seealso]">
+ <fo:block start-indent="2pc">
+ <fo:block>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, see))[1])]"
+ mode="index-see">
+ <xsl:sort select="see"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, seealso))[1])]"
+ mode="index-seealso">
+ <xsl:sort select="seealso"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$refs[tertiary and count(.|key('tertiary', concat($key, &sep;, &tertiary;))[1]) = 1]"
+ mode="index-tertiary">
+ <xsl:sort select="&tertiary;"/>
+ </xsl:apply-templates>
+ </fo:block>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-tertiary">
+ <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;)"/>
+ <xsl:variable name="refs" select="key('tertiary', $key)"/>
+ <fo:block>
+ <xsl:value-of select="tertiary"/>
+
+ <xsl:variable name="page-number-citations">
+ <xsl:for-each select="$refs[generate-id() = generate-id(key('tertiary-section', concat($key, &sep;, §ion.id;))[1])]">
+ <xsl:apply-templates select="." mode="reference"/>
+ </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>
+ </fo:block>
+ <xsl:variable name="see" select="$refs/see | $refs/seealso"/>
+ <xsl:if test="$see">
+ <fo:block>
+ <fo:block>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, see))[1])]"
+ mode="index-see">
+ <xsl:sort select="see"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, seealso))[1])]"
+ mode="index-seealso">
+ <xsl:sort select="seealso"/>
+ </xsl:apply-templates>
+ </fo:block>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="reference">
+ <xsl:if test="$passivetex.extensions = '0'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="@zone and string(@zone)">
+ <xsl:call-template name="reference">
+ <xsl:with-param name="zones" select="normalize-space(@zone)"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <fo:page-number-citation ref-id="{$id}"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="reference">
+ <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)"/>
+
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="$target[1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <fo:page-number-citation ref-id="{$id}"/>
+
+ <xsl:if test="$passivetex.extensions = '0'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <xsl:call-template name="reference">
+ <xsl:with-param name="zones" select="substring-after($zones, ' ')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="zone" select="$zones"/>
+ <xsl:variable name="target" select="key('sections', $zone)"/>
+
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="$target[1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <fo:page-number-citation ref-id="{$id}"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-see">
+ <fo:block><xsl:value-of select="see"/></fo:block>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-seealso">
+ <fo:block><xsl:value-of select="seealso"/></fo:block>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/autotoc.xsl b/lib/docbook/docbook-xsl/fo/autotoc.xsl new file mode 100644 index 000000000..290877fa8 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/autotoc.xsl @@ -0,0 +1,182 @@ +<?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: autotoc.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template name="division.toc">
+ <xsl:variable name="nodes"
+ select="part|reference|preface
+ |chapter|appendix
+ |article
+ |bibliography|glossary|index"/>
+ <xsl:if test="$nodes">
+ <fo:block xsl:use-attribute-sets="toc.margin.properties">
+ <xsl:call-template name="table.of.contents.titlepage"/>
+ <xsl:apply-templates select="$nodes" mode="toc"/>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="component.toc">
+ <xsl:variable name="nodes" select="section|sect1|refentry
+ |article|bibliography|glossary
+ |appendix"/>
+ <xsl:if test="$nodes">
+ <fo:block xsl:use-attribute-sets="toc.margin.properties">
+ <fo:block>
+ <fo:inline font-weight="bold">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">TableofContents</xsl:with-param>
+ </xsl:call-template>
+ </fo:inline>
+ </fo:block>
+ <xsl:apply-templates select="$nodes" mode="toc"/>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="toc.line">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block text-align-last="justify"
+ end-indent="2pc"
+ last-line-end-indent="-2pc">
+ <fo:inline keep-with-next.within-line="always">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </fo:inline>
+ <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="{$id}">
+<!-- xsl:use-attribute-sets="xref.properties">-->
+ <fo:page-number-citation ref-id="{$id}"/>
+ </fo:basic-link>
+ </fo:inline>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="part" mode="toc">
+ <xsl:call-template name="toc.line"/>
+
+ <xsl:if test="chapter|appendix|preface|reference">
+ <fo:block start-indent="{count(ancestor::*)*2}pc">
+ <xsl:apply-templates select="chapter|appendix|preface|reference"
+ mode="toc"/>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="reference" mode="toc">
+ <xsl:call-template name="toc.line"/>
+
+ <xsl:if test="refentry">
+ <fo:block start-indent="{count(ancestor::*)*2}pc">
+ <xsl:apply-templates select="refentry" mode="toc"/>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="refentry" mode="toc">
+ <xsl:call-template name="toc.line"/>
+</xsl:template>
+
+<xsl:template match="preface|chapter|appendix|article"
+ mode="toc">
+ <xsl:call-template name="toc.line"/>
+
+ <xsl:if test="section|sect1">
+ <fo:block start-indent="{count(ancestor::*)*2}pc">
+ <xsl:apply-templates select="section|sect1"
+ mode="toc"/>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="section|sect1|sect2|sect3|sect4|sect5"
+ mode="toc">
+ <xsl:call-template name="toc.line"/>
+
+ <xsl:if test="section|sect2|sect3|sect4|sect5">
+ <fo:block start-indent="{count(ancestor::*)*2}pc">
+ <xsl:apply-templates select="section|sect2|sect3|sect4|sect5"
+ mode="toc"/>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="bibliography|glossary"
+ mode="toc">
+ <xsl:call-template name="toc.line"/>
+</xsl:template>
+
+<xsl:template match="index"
+ mode="toc">
+ <xsl:if test="* or $generate.index">
+ <xsl:call-template name="toc.line"/>
+ </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:if test="$nodes">
+ <fo:block>
+ <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:otherwise>
+ <xsl:call-template name="list.of.unknowns.titlepage"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:apply-templates select="$nodes" mode="toc"/>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="figure|table|example|equation" mode="toc">
+ <xsl:call-template name="toc.line"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/fo/biblio.xsl b/lib/docbook/docbook-xsl/fo/biblio.xsl new file mode 100644 index 000000000..806ad94c5 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/biblio.xsl @@ -0,0 +1,1023 @@ +<?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: biblio.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="bibliography">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:call-template name="component.separator"/>
+ <xsl:call-template name="bibliography.titlepage"/>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="book/bibliography">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="master-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="bibliography.titlepage"/>
+ <xsl:apply-templates/>
+ </fo:flow>
+ </fo:page-sequence>
+</xsl:template>
+
+<xsl:template match="bibliography/bibliographyinfo"></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="bibliography/title" mode="component.title.mode">
+ <fo:block xsl:use-attribute-sets="component.title.properties">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="bibliography/subtitle" mode="component.title.mode">
+ <fo:block font-size="18pt" font-weight="bold" font-style="italic">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="bibliodiv">
+ <fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="bibliodiv/title">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <fo:block font-size="16pt" font-weight="bold">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="biblioentry">
+ <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][1]"/>
+ <xsl:choose>
+ <xsl:when test="$entry">
+ <xsl:apply-templates select="$entry"/>
+ </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="normal.para.spacing">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ </fo:block>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="bibliomixed">
+ <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][1]"/>
+ <xsl:choose>
+ <xsl:when test="$entry">
+ <xsl:apply-templates select="$entry"/>
+ </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="normal.para.spacing">
+ <xsl:choose>
+ <xsl:when test="local-name(*[1]) = 'abbrev'">
+ <xsl:apply-templates select="*[position()>1]|text()"
+ mode="bibliomixed.mode"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </fo:block>
+ </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">
+ <fo:inline>
+ <xsl:text>[</xsl:text>
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:text>] </xsl:text>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template match="abstract" 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="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" 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" 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'">
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">ldquo</xsl:with-param>
+ </xsl:call-template>
+ <xsl:apply-templates/>
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">rdquo</xsl:with-param>
+ </xsl:call-template>
+ </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>
+ <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="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="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">
+ <fo:inline>
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </fo:inline>
+</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:inline>
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </fo:inline>
+</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="*" mode="bibliomixed.mode">
+ <xsl:apply-templates select="."/><!-- try the default mode -->
+</xsl:template>
+
+<xsl:template match="abbrev" mode="bibliomixed.mode">
+ <fo:inline>
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template match="abstract" mode="bibliomixed.mode">
+ <fo:inline>
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </fo:inline>
+</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" 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'">
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">ldquo</xsl:with-param>
+ </xsl:call-template>
+ <xsl:apply-templates/>
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">rdquo</xsl:with-param>
+ </xsl:call-template>
+ </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">
+ <fo:inline>
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </fo:inline>
+</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="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">
+ <fo:inline>
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </fo:inline>
+</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:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/block.xsl b/lib/docbook/docbook-xsl/fo/block.xsl new file mode 100644 index 000000000..7257b53f7 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/block.xsl @@ -0,0 +1,225 @@ +<?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: block.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template name="block.object">
+ <fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="para">
+ <fo:block xsl:use-attribute-sets="normal.para.spacing">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="simpara">
+ <fo:block xsl:use-attribute-sets="normal.para.spacing">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="formalpara">
+ <fo:block xsl:use-attribute-sets="normal.para.spacing">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="formalpara/title">
+ <xsl:variable name="titleStr" select="."/>
+ <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:apply-templates/>
+ <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> </xsl:text>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template match="formalpara/para">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="blockquote">
+ <fo:block start-indent="0.5in" end-indent="0.5in">
+ <xsl:call-template name="semiformal.object"/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="epigraph">
+ <fo:block>
+ <xsl:apply-templates select="para"/>
+ <fo:inline>
+ <xsl:text>--</xsl:text>
+ <xsl:apply-templates select="attribution"/>
+ </fo:inline>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="attribution">
+ <fo:inline><xsl:apply-templates/></fo:inline>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="sidebar">
+ <fo:block>
+ <xsl:if test="./title">
+ <fo:block font-weight="bold"
+ keep-with-next.within-column="always"
+ hyphenate="false">
+ <xsl:apply-templates select="./title" mode="sidebar.title.mode"/>
+ </fo:block>
+ </xsl:if>
+
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="sidebar/title">
+</xsl:template>
+
+<xsl:template match="sidebar/title" mode="sidebar.title.mode">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="abstract">
+ <fo:block>
+ <xsl:if test="@id">
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ </xsl:if>
+ <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/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="abstract/title">
+</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="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>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="highlights">
+ <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/callout.xsl b/lib/docbook/docbook-xsl/fo/callout.xsl new file mode 100644 index 000000000..4de1e9062 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/callout.xsl @@ -0,0 +1,181 @@ +<?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: callout.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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 id="{@id}">
+ <xsl:apply-templates select="." mode="callout-bug"/>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template match="co" mode="callout-bug">
+ <xsl:call-template name="callout-bug">
+ <xsl:with-param name="conum">
+ <xsl:number count="co" 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 <= $callout.graphics.number.limit">
+ <fo:external-graphic
+ src="{$callout.graphics.path}{$conum}{$callout.graphics.extension}"/>
+ </xsl:when>
+
+ <xsl:when test="$callout.unicode != 0
+ and $conum <= $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">❶</xsl:when>
+ <xsl:when test="$conum = 2">❷</xsl:when>
+ <xsl:when test="$conum = 3">❸</xsl:when>
+ <xsl:when test="$conum = 4">❹</xsl:when>
+ <xsl:when test="$conum = 5">❺</xsl:when>
+ <xsl:when test="$conum = 6">❻</xsl:when>
+ <xsl:when test="$conum = 7">❼</xsl:when>
+ <xsl:when test="$conum = 8">❽</xsl:when>
+ <xsl:when test="$conum = 9">❾</xsl:when>
+ <xsl:when test="$conum = 10">❿</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.font.family}"
+ 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.font.family}"
+ font-weight="bold"
+ font-size="75%">
+ <xsl:value-of select="$conum"/>
+ </fo:inline>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/component.xsl b/lib/docbook/docbook-xsl/fo/component.xsl new file mode 100644 index 000000000..ad97930c1 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/component.xsl @@ -0,0 +1,400 @@ +<?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: component.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template name="component.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="2"
+ fotex-bookmark-label="{$id}">
+ <xsl:value-of select="$title"/>
+ </fotex:bookmark>
+ </xsl:if>
+
+ <fo:block keep-with-next.within-column="always"
+ hyphenate="false">
+ <xsl:copy-of select="$title"/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template name="component.subtitle">
+ <xsl:param name="node" select="."/>
+ <xsl:variable name="subtitle">
+ <xsl:apply-templates select="$node" mode="subtitle.markup"/>
+ </xsl:variable>
+
+ <xsl:if test="$subtitle != ''">
+ <fo:block font-size="16pt"
+ font-weight="bold"
+ font-style="italic"
+ keep-with-next.within-column="always"
+ hyphenate="false">
+ <xsl:copy-of select="$subtitle"/>
+ </fo:block>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="component.separator">
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="dedication" mode="dedication">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="master-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ format="i"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="dedication.titlepage"/>
+ <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-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ format="i"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="colophon.titlepage"/>
+ <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-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ format="i"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="component.separator"/>
+ <xsl:call-template name="preface.titlepage"/>
+ <xsl:if test="$generate.component.toc">
+ <xsl:call-template name="component.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </fo:flow>
+ </fo:page-sequence>
+</xsl:template>
+
+<xsl:template match="preface/docinfo"></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-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="not(preceding::chapter)">
+ <xsl:attribute name="initial-page-number">1</xsl:attribute>
+ </xsl:if>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="component.separator"/>
+ <xsl:call-template name="chapter.titlepage"/>
+ <xsl:if test="$generate.component.toc">
+ <xsl:call-template name="component.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </fo:flow>
+ </fo:page-sequence>
+</xsl:template>
+
+<xsl:template match="chapter/docinfo|chapterinfo"></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-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="component.separator"/>
+ <xsl:call-template name="appendix.titlepage"/>
+ <xsl:if test="$generate.component.toc">
+ <xsl:call-template name="component.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </fo:flow>
+ </fo:page-sequence>
+</xsl:template>
+
+<xsl:template match="appendix/docinfo|appendixinfo"></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="dedication" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<xsl:template match="preface" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<xsl:template match="chapter" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+ <xsl:choose>
+ <xsl:when test="@label">
+ <xsl:value-of select="@label"/>
+ <xsl:text>.</xsl:text>
+ <xsl:if test="$add.space">
+ <xsl:call-template name="gentext.space"/>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$chapter.autolabel">
+ <xsl:number from="book" count="chapter" format="1."/>
+ <xsl:if test="$add.space">
+ <xsl:call-template name="gentext.space"/>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="appendix" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+ <xsl:choose>
+ <xsl:when test="@label">
+ <xsl:value-of select="@label"/>
+ <xsl:text>.</xsl:text>
+ <xsl:if test="$add.space">
+ <xsl:call-template name="gentext.space"/>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$chapter.autolabel">
+ <xsl:number from="book" count="appendix" format="A."/>
+ <xsl:if test="$add.space">
+ <xsl:call-template name="gentext.space"/>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="article" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<xsl:template match="bibliography" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<xsl:template match="glossary" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<xsl:template match="index" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="article">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="master-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="article.titlepage"/>
+ <xsl:if test="$generate.component.toc">
+ <xsl:call-template name="component.toc"/>
+ </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/title"></xsl:template>
+<xsl:template match="article/subtitle"></xsl:template>
+
+<xsl:template match="article/appendix">
+ <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="2"/>
+ <xsl:with-param name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:with-param>
+ </xsl:call-template>
+
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/fo/division.xsl b/lib/docbook/docbook-xsl/fo/division.xsl new file mode 100644 index 000000000..623740720 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/division.xsl @@ -0,0 +1,359 @@ +<?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: division.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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="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:copy-of select="$title"/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="set">
+ <xsl:variable name="preamble"
+ select="*[not(self::book or self::setindex)]"/>
+ <xsl:variable name="content" select="book|setindex"/>
+
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="master-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <xsl:if test="$preamble">
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="set.titlepage"/>
+ </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="book">
+ <xsl:variable name="preamble"
+ select="title|subtitle|titleabbrev|bookinfo"/>
+ <xsl:variable name="content"
+ select="*[not(self::title or self::subtitle
+ or self::titleabbrev
+ or self::bookinfo)]"/>
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="master-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <xsl:if test="$preamble">
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="book.titlepage"/>
+ </fo:flow>
+ </fo:page-sequence>
+ </xsl:if>
+
+ <xsl:if test="$generate.book.toc != '0'">
+ <fo:page-sequence hyphenate="{$hyphenate}"
+ format="i"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="division.toc"/>
+ </fo:flow>
+ </fo:page-sequence>
+ </xsl:if>
+
+ <xsl:if test="$generate.book.figure.lot != '0' and .//figure">
+ <fo:page-sequence hyphenate="{$hyphenate}"
+ format="i"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="list.of.titles">
+ <xsl:with-param name="titles" select="'figure'"/>
+ <xsl:with-param name="nodes" select=".//figure"/>
+ </xsl:call-template>
+ </fo:flow>
+ </fo:page-sequence>
+ </xsl:if>
+
+ <xsl:if test="$generate.book.table.lot != '0' and .//table">
+ <fo:page-sequence hyphenate="{$hyphenate}"
+ format="i"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="list.of.titles">
+ <xsl:with-param name="titles" select="'table'"/>
+ <xsl:with-param name="nodes" select=".//table"/>
+ </xsl:call-template>
+ </fo:flow>
+ </fo:page-sequence>
+ </xsl:if>
+
+ <xsl:if test="$generate.book.example.lot != '0' and .//example">
+ <fo:page-sequence hyphenate="{$hyphenate}"
+ format="i"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="list.of.titles">
+ <xsl:with-param name="titles" select="'example'"/>
+ <xsl:with-param name="nodes" select=".//example"/>
+ </xsl:call-template>
+ </fo:flow>
+ </fo:page-sequence>
+ </xsl:if>
+
+ <xsl:if test="$generate.book.equation.lot != '0' and .//equation">
+ <fo:page-sequence hyphenate="{$hyphenate}"
+ format="i"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="list.of.titles">
+ <xsl:with-param name="titles" select="'equation'"/>
+ <xsl:with-param name="nodes" select=".//equation"/>
+ </xsl:call-template>
+ </fo:flow>
+ </fo:page-sequence>
+ </xsl:if>
+
+ <xsl:apply-templates select="dedication" mode="dedication"/>
+
+ <xsl:apply-templates select="$content"/>
+</xsl:template>
+
+<xsl:template match="book/bookinfo"></xsl:template>
+<xsl:template match="book/title"></xsl:template>
+<xsl:template match="book/subtitle"></xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="part">
+ <xsl:if test="not(partintro)">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="master-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="part.titlepage"/>
+ </fo:flow>
+ </fo:page-sequence>
+ </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:call-template name="part.titlepage"/>
+</xsl:template>
+
+<xsl:template match="part/docinfo|partinfo"></xsl:template>
+<xsl:template match="part/title"></xsl:template>
+<xsl:template match="part/subtitle"></xsl:template>
+
+<xsl:template match="part/partintro">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="ancestor::part"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="master-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:apply-templates select=".." mode="part.titlepage.mode"/>
+ <xsl:if test="title">
+ <xsl:call-template name="partintro.titlepage"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </fo:flow>
+ </fo:page-sequence>
+</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>
+
diff --git a/lib/docbook/docbook-xsl/fo/docbook.xsl b/lib/docbook/docbook-xsl/fo/docbook.xsl new file mode 100644 index 000000000..01796a9cb --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/docbook.xsl @@ -0,0 +1,162 @@ +<?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'>
+
+<!-- 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: docbook.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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/labels.xsl"/>
+<xsl:include href="../common/titles.xsl"/>
+<xsl:include href="../common/subtitles.xsl"/>
+<xsl:include href="../common/gentext.xsl"/>
+<xsl:include href="autotoc.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="sections.xsl"/>
+<xsl:include href="inline.xsl"/>
+<xsl:include href="footnote.xsl"/>
+<xsl:include href="fo.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="glossary.xsl"/>
+<xsl:include href="block.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="ebnf.xsl"/>
+
+<xsl:include href="fop.xsl"/>
+<xsl:include href="xep.xsl"/>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="*">
+ <xsl:message>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text> encountered, but no template matches.</xsl:text>
+ </xsl:message>
+ <fo:block color="red">
+ <xsl:text><</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text>></xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text></</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text>></xsl:text>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="text()">
+ <xsl:value-of select="."/>
+</xsl:template>
+
+<xsl:template match="/">
+ <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:variable name="document.element" select="*[1]"/>
+ <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>
+
+ <fo:root font-family="{$body.font.family}"
+ font-size="{$body.font.size}"
+ text-align="{$alignment}">
+ <xsl:if test="$xep.extensions != 0">
+ <xsl:call-template name="xep-document-information"/>
+ </xsl:if>
+ <xsl:call-template name="setup.pagemasters"/>
+ <xsl:choose>
+ <xsl:when test="$rootid != ''">
+ <xsl:choose>
+ <xsl:when test="count(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="$fop.extensions != 0">
+ <xsl:apply-templates select="id($rootid)" mode="outline"/>
+ </xsl:if>
+ <xsl:if test="$xep.extensions != 0">
+ <rx:outline xmlns:rx="http://www.renderx.com/XSL/Extensions">
+ <xsl:apply-templates select="id($rootid)" mode="xep.outline"/>
+ </rx:outline>
+ </xsl:if>
+ <xsl:apply-templates select="id($rootid)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="$fop.extensions != 0">
+ <xsl:apply-templates mode="outline"/>
+ </xsl:if>
+ <xsl:if test="$xep.extensions != 0">
+ <rx:outline xmlns:rx="http://www.renderx.com/XSL/Extensions">
+ <xsl:apply-templates mode="xep.outline"/>
+ </rx:outline>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </fo:root>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/ebnf.xsl b/lib/docbook/docbook-xsl/fo/ebnf.xsl new file mode 100644 index 000000000..b39113c68 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/ebnf.xsl @@ -0,0 +1,318 @@ +<?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: ebnf.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<doc:reference xmlns="">
+<referenceinfo>
+<releaseinfo role="meta">
+$Id: ebnf.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+</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:table-and-caption id="{$id}"
+ xsl:use-attribute-sets="formal.object.properties">
+ <fo:table-caption>
+ <fo:block xsl:use-attribute-sets="formal.title.properties">
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </fo:block>
+ </fo:table-caption>
+ <fo:table table-layout="fixed" width="100%">
+ <fo:table-body>
+ <xsl:apply-templates select="production|productionrecap"/>
+ </fo:table-body>
+ </fo:table>
+ </fo:table-and-caption>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:table table-layout="fixed" width="100%">
+ <fo:table-body>
+ <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 width="3%">
+ <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 width="10%">
+ <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 width="5%">
+ <fo:block text-align="center">
+ <fo:inline font-family="{$monospace.font.family}">
+ <xsl:text>::=</xsl:text>
+ </fo:inline>
+ </fo:block>
+ </fo:table-cell>
+ <fo:table-cell width="52%">
+ <fo:block>
+ <xsl:apply-templates select="rhs"/>
+ </fo:block>
+ </fo:table-cell>
+ <fo:table-cell width="30%" 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> </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="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="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="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>/* </xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text> */</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="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">
</fo:inline>
+ </xsl:if>
+ <xsl:text>[ </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="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="id(@linkend)"/>
+ <xsl:variable name="target" select="$targets[1]"/>
+ <xsl:apply-templates select="$target" mode="title.markup"/>
+ </fo:basic-link>
+ <xsl:text> ]</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>
diff --git a/lib/docbook/docbook-xsl/fo/fo.xsl b/lib/docbook/docbook-xsl/fo/fo.xsl new file mode 100644 index 000000000..2b13a1328 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/fo.xsl @@ -0,0 +1,49 @@ +<?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: fo.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<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'">©</xsl:when>
+ <xsl:when test="$dingbat='trademark'">™</xsl:when>
+ <xsl:when test="$dingbat='trade'">™</xsl:when>
+ <xsl:when test="$dingbat='registered'">®</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'">--</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:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/fo/footnote.xsl b/lib/docbook/docbook-xsl/fo/footnote.xsl new file mode 100644 index 000000000..05c561d8b --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/footnote.xsl @@ -0,0 +1,58 @@ +<?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: footnote.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template match="footnote">
+ <fo:footnote>
+ <fo:inline>
+ <xsl:text>[</xsl:text>
+ <xsl:apply-templates select="." mode="footnote.number"/>
+ <xsl:text>]</xsl:text>
+ </fo:inline>
+ <fo:footnote-body font-size="{$footnote.font.size}">
+ <xsl:apply-templates/>
+ </fo:footnote-body>
+ </fo:footnote>
+</xsl:template>
+
+<xsl:template match="footnoteref">
+ <xsl:variable name="footnote" select="id(@linkend)"/>
+ <fo:inline>
+ <xsl:text>[</xsl:text>
+ <xsl:apply-templates select="$footnote" mode="footnote.number"/>
+ <xsl:text>]</xsl:text>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template match="footnote" mode="footnote.number">
+ <xsl:number level="any" format="1"/>
+</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:text>[</xsl:text>
+ <xsl:apply-templates select="ancestor::footnote" mode="footnote.number"/>
+ <xsl:text>] </xsl:text>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/fop.xsl b/lib/docbook/docbook-xsl/fo/fop.xsl new file mode 100644 index 000000000..ed1939322 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/fop.xsl @@ -0,0 +1,186 @@ +<?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: fop.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+ (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=
+"'āăąćĉċčďđēĕėęěœĝğġģĥħĩīĭįıĵķĺļľŀłńņňŋōŏőŕŗřśŝşšţťŧũūŭůűųŵŷźżžĀĂĄĆĈĊČĎĐĒĔĖĘĚŒĜĞĠĢĤĦĨĪĬĮİĴĶĹĻĽĿŁŃŅŇŊŌŎŐŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽ'"/>
+<xsl:variable name="a-asc" select=
+"'aaaccccddeeeeeegggghhiiiiijklllllnnnnooorrrsssstttuuuuuuwyzzzAAACCCCDDEEEEEEGGGGHHIIIIIJKLLLLLNNNNOOORRRSSSSTTTUUUUUUWYYZZZ'"/>
+
+
+<xsl:template match="set" mode="outline">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="bookmark-label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <fox:outline internal-destination="{$id}">
+ <fox:label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </fox:label>
+ <xsl:if test="book">
+ <xsl:apply-templates select="book"
+ mode="outline"/>
+ </xsl:if>
+ </fox:outline>
+</xsl:template>
+
+<xsl:template match="book" mode="outline">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="bookmark-label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <fox:outline internal-destination="{$id}">
+ <fox:label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </fox:label>
+
+ <xsl:if test="part|preface|chapter|appendix">
+ <xsl:apply-templates select="part|preface|chapter|appendix"
+ mode="outline"/>
+ </xsl:if>
+ </fox:outline>
+</xsl:template>
+
+
+<xsl:template match="part" mode="outline">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="bookmark-label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <fox:outline internal-destination="{$id}">
+ <fox:label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </fox:label>
+
+ <xsl:if test="chapter|appendix|preface|reference">
+ <xsl:apply-templates select="chapter|appendix|preface|reference"
+ mode="outline"/>
+ </xsl:if>
+ </fox:outline>
+</xsl:template>
+
+<xsl:template match="preface|chapter|appendix"
+ mode="outline">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="bookmark-label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <fox:outline internal-destination="{$id}">
+ <fox:label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </fox:label>
+
+ <xsl:if test="section|sect1">
+ <xsl:apply-templates select="section|sect1"
+ mode="outline"/>
+ </xsl:if>
+ </fox:outline>
+</xsl:template>
+
+<xsl:template match="section|sect1|sect2|sect3|sect4|sect5"
+ mode="outline">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="bookmark-label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <fox:outline internal-destination="{$id}">
+ <fox:label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </fox:label>
+
+ <xsl:if test="section|sect2|sect3|sect4|sect5">
+ <xsl:apply-templates select="section|sect2|sect3|sect4|sect5"
+ mode="outline"/>
+ </xsl:if>
+ </fox:outline>
+</xsl:template>
+
+<!-- Added missing template for "article" -->
+<xsl:template match="article"
+ mode="outline">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="bookmark-label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <fox:outline internal-destination="{$id}">
+ <fox:label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </fox:label>
+
+ <xsl:if test="section|sect1|appendix|bibliography|glossary|index">
+ <xsl:apply-templates select="section|sect1|appendix|bibliography|glossary|index"
+ mode="outline"/>
+ </xsl:if>
+ </fox:outline>
+</xsl:template>
+
+
+<xsl:template match="bibliography|glossary|index"
+ mode="outline">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="bookmark-label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <fox:outline internal-destination="{$id}">
+ <fox:label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </fox:label>
+ </fox:outline>
+</xsl:template>
+
+<xsl:template match="title" mode="outline">
+ <xsl:apply-templates/>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/fo/formal.xsl b/lib/docbook/docbook-xsl/fo/formal.xsl new file mode 100644 index 000000000..268d7f15d --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/formal.xsl @@ -0,0 +1,112 @@ +<?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: formal.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template name="formal.object">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}"
+ xsl:use-attribute-sets="formal.object.properties">
+ <xsl:call-template name="formal.object.heading"/>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template name="formal.object.heading">
+ <xsl:param name="title"></xsl:param>
+ <fo:block xsl:use-attribute-sets="formal.title.properties">
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template name="informal.object">
+ <fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template name="semiformal.object">
+ <xsl:choose>
+ <xsl:when test="./title">
+ <xsl:call-template name="formal.object"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="informal.object"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="figure|example">
+ <xsl:call-template name="formal.object"/>
+</xsl:template>
+
+<xsl:template match="table">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="prop-columns"
+ select=".//colspec[contains(@colwidth, '*')]"/>
+
+ <fo:table-and-caption id="{$id}"
+ xsl:use-attribute-sets="formal.object.properties">
+ <fo:table-caption>
+ <fo:block xsl:use-attribute-sets="formal.title.properties">
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </fo:block>
+ </fo:table-caption>
+ <fo:table>
+ <xsl:if test="count($prop-columns) != 0">
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </fo:table>
+ </fo:table-and-caption>
+</xsl:template>
+
+<xsl:template match="equation">
+ <xsl:call-template name="semiformal.object"/>
+</xsl:template>
+
+<xsl:template match="figure/title"></xsl:template>
+<xsl:template match="table/title"></xsl:template>
+<xsl:template match="example/title"></xsl:template>
+<xsl:template match="equation/title"></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">
+ <xsl:variable name="prop-columns"
+ select=".//colspec[contains(@colwidth, '*')]"/>
+
+ <fo:table>
+ <xsl:if test="count($prop-columns) != 0">
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </fo:table>
+</xsl:template>
+
+<xsl:template match="informalequation">
+ <xsl:call-template name="informal.object"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/glossary.xsl b/lib/docbook/docbook-xsl/fo/glossary.xsl new file mode 100644 index 000000000..eef602237 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/glossary.xsl @@ -0,0 +1,304 @@ +<?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: glossary.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:variable name="glossterm-width">2in</xsl:variable>
+<xsl:variable name="glossterm-sep">0.25in</xsl:variable>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="glossary">
+ <xsl:variable name="divs" select="glossdiv"/>
+ <xsl:variable name="entries" select="glossentry"/>
+ <xsl:variable name="preamble"
+ select="*[not(self::title
+ or self::subtitle
+ or self::glossdiv
+ or self::glossentry)]"/>
+
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:call-template name="component.separator"/>
+
+ <xsl:call-template name="glossary.titlepage"/>
+
+ <xsl:if test="$preamble">
+ <xsl:apply-templates select="$preamble"/>
+ </xsl:if>
+
+ <xsl:if test="$divs">
+ <xsl:apply-templates select="$divs"/>
+ </xsl:if>
+
+ <xsl:if test="$entries">
+ <fo:list-block provisional-distance-between-starts="{$glossterm-width}"
+ provisional-label-separation="{$glossterm-sep}"
+ xsl:use-attribute-sets="normal.para.spacing">
+ <xsl:apply-templates select="$entries"/>
+ </fo:list-block>
+ </xsl:if>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="book/glossary">
+ <xsl:variable name="divs" select="glossdiv"/>
+ <xsl:variable name="entries" select="glossentry"/>
+ <xsl:variable name="preamble"
+ select="*[not(self::title
+ or self::subtitle
+ or self::glossdiv
+ or self::glossentry)]"/>
+
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="master-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="glossary.titlepage"/>
+
+ <xsl:if test="$preamble">
+ <xsl:apply-templates select="$preamble"/>
+ </xsl:if>
+
+ <xsl:if test="$divs">
+ <xsl:apply-templates select="$divs"/>
+ </xsl:if>
+
+ <xsl:if test="$entries">
+ <fo:list-block provisional-distance-between-starts="{$glossterm-width}"
+ provisional-label-separation="{$glossterm-sep}"
+ xsl:use-attribute-sets="normal.para.spacing">
+ <xsl:apply-templates select="$entries"/>
+ </fo:list-block>
+ </xsl:if>
+ </fo:flow>
+ </fo:page-sequence>
+</xsl:template>
+
+<xsl:template match="glossary/glossaryinfo"></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="glossary/title" mode="component.title.mode">
+ <fo:block font-size="18pt"
+ font-weight="bold"
+ keep-with-next.within-column="always"
+ hyphenate="false">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="glossary/subtitle" mode="component.title.mode">
+ <fo:block font-size="16pt"
+ font-weight="bold"
+ font-style="italic"
+ keep-with-next.within-column="always"
+ hyphenate="false">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="glosslist">
+ <fo:list-block provisional-distance-between-starts="{$glossterm-width}"
+ provisional-label-separation="{$glossterm-sep}"
+ xsl:use-attribute-sets="normal.para.spacing">
+ <xsl:apply-templates/>
+ </fo:list-block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="glossdiv">
+ <xsl:variable name="entries" select="glossentry"/>
+ <xsl:variable name="preamble"
+ select="*[not(self::title
+ or self::subtitle
+ or self::glossentry)]"/>
+
+ <xsl:apply-templates select="title|subtitle"/>
+ <xsl:apply-templates select="$preamble"/>
+ <fo:list-block provisional-distance-between-starts="{$glossterm-width}"
+ provisional-label-separation="{$glossterm-sep}"
+ xsl:use-attribute-sets="normal.para.spacing">
+ <xsl:apply-templates select="$entries"/>
+ </fo:list-block>
+</xsl:template>
+
+<xsl:template match="glossdiv/title">
+ <fo:block font-size="16pt" font-weight="bold">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<!--
+GlossEntry ::=
+ GlossTerm, Acronym?, Abbrev?,
+ (IndexTerm)*,
+ RevHistory?,
+ (GlossSee | GlossDef+)
+-->
+
+<xsl:template match="glossentry">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:list-item id="{$id}"
+ xsl:use-attribute-sets="normal.para.spacing">
+ <xsl:apply-templates/>
+ </fo:list-item>
+</xsl:template>
+
+<xsl:template match="glossentry/glossterm">
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+ </fo:list-item-label>
+</xsl:template>
+
+<xsl:template match="glossentry/acronym">
+</xsl:template>
+
+<xsl:template match="glossentry/abbrev">
+</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="//node()[@id=$otherterm]"/>
+ <xsl:variable name="target" select="$targets[1]"/>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="'glossary'"/>
+ <xsl:with-param name="name" select="'see'"/>
+ </xsl:call-template>
+ <xsl:choose>
+ <xsl:when test="@otherterm">
+ <xsl:apply-templates select="$target" mode="xref"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>.</xsl:text>
+ </fo:block>
+ </fo:list-item-body>
+</xsl:template>
+
+<xsl:template match="glossentry/glossdef">
+ <fo:list-item-body start-indent="body-start()">
+ <xsl:apply-templates select="*[local-name(.) != 'glossseealso']"/>
+ <xsl:if test="glossseealso">
+ <fo:block>
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="'glossary'"/>
+ <xsl:with-param name="name" select="'seealso'"/>
+ </xsl:call-template>
+ <xsl:apply-templates select="glossseealso"/>
+ </fo:block>
+ </xsl:if>
+ </fo:list-item-body>
+</xsl:template>
+
+<xsl:template match="glossentry/glossdef/para[1]">
+ <fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="glossseealso">
+ <xsl:variable name="otherterm" select="@otherterm"/>
+ <xsl:variable name="targets" select="//node()[@id=$otherterm]"/>
+ <xsl:variable name="target" select="$targets[1]"/>
+
+ <xsl:choose>
+ <xsl:when test="@otherterm">
+ <xsl:apply-templates select="$target" mode="xref"/>
+ </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>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="glossentry" mode="xref">
+ <xsl:apply-templates select="./glossterm[1]" mode="xref"/>
+</xsl:template>
+
+<xsl:template match="glossterm" mode="xref">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="parent::glossentry"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <fo:basic-link internal-destination="{$id}"
+ xsl:use-attribute-sets="xref.properties">
+ <xsl:apply-templates/>
+ <xsl:call-template name="insert.page.citation">
+ <xsl:with-param name="id" select="$id"/>
+ </xsl:call-template>
+ </fo:basic-link>
+</xsl:template>
+
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/graphics.xsl b/lib/docbook/docbook-xsl/fo/graphics.xsl new file mode 100644 index 000000000..577c12343 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/graphics.xsl @@ -0,0 +1,341 @@ +<?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: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: graphics.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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 -->
+
+<!--
+FIXME: make is.graphic.* work correctly depending on the backend!
+<xsl:param name="passivetex.extensions" select="0" doc:type='boolean'/>
+<xsl:param name="fop.extensions" select="0" doc:type='boolean'/>
+-->
+
+<xsl:template name="is.graphic.format">
+ <xsl:param name="format"></xsl:param>
+ <xsl:if test="$format = 'PNG'
+ or $format = 'PDF'
+ 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:param>
+ <xsl:if test="$ext = 'png'
+ or $ext = 'pdf'
+ or $ext = 'jpeg'
+ or $ext = 'jpg'
+ or $ext = 'gif'
+ or $ext = 'bmp'">1</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="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="scale">
+ <xsl:choose>
+ <xsl:when test="@scale"><xsl:value-of select="@scale"/>%</xsl:when>
+ <xsl:otherwise>auto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="width">
+ <xsl:choose>
+ <xsl:when test="@width">
+ <xsl:call-template name="length-spec">
+ <xsl:with-param name="length" select="@width"/>
+ <xsl:with-param name="default.units" select="$default.units"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>auto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="height">
+ <xsl:choose>
+ <xsl:when test="@depth">
+ <xsl:call-template name="length-spec">
+ <xsl:with-param name="length" select="@depth"/>
+ <xsl:with-param name="default.units" select="$default.units"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>auto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- DocBook has four attributes related to image size: width, depth,
+ scalefit, and scale. Width and depth identify the desired dimensions
+ of the image (what CALS calls the repro area dimensions). Scale
+ indicates the percentage by which the image should be scaled, and
+ scalefit indicates whether or not the actual image should be scaled
+ to fit the specified width and/or depth. It is illogical to specify
+ both scale and scalefit: scale wins. My thanks to Paul Grosso for
+ analyzing this situation with me. -->
+
+ <xsl:variable name="scalefit">
+ <xsl:choose>
+ <xsl:when test="@scalefit">
+ <xsl:value-of select="@scalefit"/>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- if scalefit != 0, set both content-height and content-width to
+ scale-to-fit elseif scale != auto, set both content-height and
+ content-width to it else set both content-height and
+ content-width to auto. -->
+
+ <xsl:variable name="content-width">
+ <xsl:choose>
+ <xsl:when test="$scale != 'auto'">
+ <xsl:value-of select="$scale"/>
+ </xsl:when>
+ <xsl:when test="$scalefit != '0'">scale-to-fit</xsl:when>
+ <xsl:otherwise>auto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="content-height">
+ <xsl:choose>
+ <xsl:when test="$scale != 'auto'">
+ <xsl:value-of select="$scale"/>
+ </xsl:when>
+ <xsl:when test="$scalefit != '0'">scale-to-fit</xsl:when>
+ <xsl:otherwise>auto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$passivetex.extensions != 0
+ or $fop.extensions != 0
+ or $arbortext.extensions != 0">
+ <fo:external-graphic src="{$filename}"
+ width="{$width}"
+ height="{$height}"
+ content-width="{$content-width}"
+ content-height="{$content-height}"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:external-graphic src="url({$filename})"
+ width="{$width}"
+ height="{$height}"
+ content-width="{$content-width}"
+ content-height="{$content-height}"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="graphic">
+ <fo:block>
+ <xsl:call-template name="process.image"/>
+ </fo:block>
+</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:value-of 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}"/>
+ </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>
+ <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">
+ <fo:block>
+ <xsl:call-template name="select.mediaobject"/>
+ <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:apply-templates select="imagedata"/>
+</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}"/>
+ </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>
+ <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="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="caption">
+ <fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/index.xsl b/lib/docbook/docbook-xsl/fo/index.xsl new file mode 100644 index 000000000..e2d5ed8dd --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/index.xsl @@ -0,0 +1,119 @@ +<?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: index.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="index">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:call-template name="component.separator"/>
+ <xsl:call-template name="index.titlepage"/>
+ <xsl:apply-templates/>
+ <xsl:if test="count(indexentry) = 0 and count(indexdiv) = 0">
+ <xsl:call-template name="generate-index"/>
+ </xsl:if>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="book/index">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="master-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="index.titlepage"/>
+ <xsl:apply-templates/>
+ <xsl:if test="count(indexentry) = 0 and count(indexdiv) = 0">
+ <xsl:call-template name="generate-index"/>
+ </xsl:if>
+ </fo:flow>
+ </fo:page-sequence>
+</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 match="indexdiv">
+ <fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="indexdiv/title">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <fo:block font-size="16pt" font-weight="bold">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="indexterm">
+ <fo:wrapper>
+ <xsl:attribute name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ <xsl:comment>
+ <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:comment>
+ </fo:wrapper>
+</xsl:template>
+
+<xsl:template match="indexentry">
+</xsl:template>
+
+<xsl:template name="generate-index">
+ <!-- nop: use autoidx.xsl to get automatic indexing -->
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/info.xsl b/lib/docbook/docbook-xsl/fo/info.xsl new file mode 100644 index 000000000..b47b20169 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/info.xsl @@ -0,0 +1,34 @@ +<?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: info.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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>
diff --git a/lib/docbook/docbook-xsl/fo/inline.xsl b/lib/docbook/docbook-xsl/fo/inline.xsl new file mode 100644 index 000000000..b110b945e --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/inline.xsl @@ -0,0 +1,608 @@ +<?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: inline.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template name="inline.charseq">
+ <xsl:param name="content">
+ <xsl:apply-templates/>
+ </xsl:param>
+ <xsl:copy-of select="$content"/>
+</xsl:template>
+
+<xsl:template name="inline.monoseq">
+ <xsl:param name="content">
+ <xsl:apply-templates/>
+ </xsl:param>
+ <fo:inline font-family="{$monospace.font.family}">
+ <xsl:copy-of select="$content"/>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template name="inline.boldseq">
+ <xsl:param name="content">
+ <xsl:apply-templates/>
+ </xsl:param>
+ <fo:inline font-weight="bold">
+ <xsl:copy-of select="$content"/>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template name="inline.italicseq">
+ <xsl:param name="content">
+ <xsl:apply-templates/>
+ </xsl:param>
+ <fo:inline font-style="italic">
+ <xsl:copy-of select="$content"/>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template name="inline.boldmonoseq">
+ <xsl:param name="content">
+ <xsl:apply-templates/>
+ </xsl:param>
+ <fo:inline font-weight="bold" font-family="{$monospace.font.family}">
+ <xsl:copy-of select="$content"/>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template name="inline.italicmonoseq">
+ <xsl:param name="content">
+ <xsl:apply-templates/>
+ </xsl:param>
+ <fo:inline font-style="italic" font-family="{$monospace.font.family}">
+ <xsl:copy-of select="$content"/>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template name="inline.superscriptseq">
+ <xsl:param name="content">
+ <xsl:apply-templates/>
+ </xsl:param>
+ <fo:inline baseline-shift="super">
+ <xsl:copy-of select="$content"/>
+ </fo:inline>
+</xsl:template>
+
+<xsl:template name="inline.subscriptseq">
+ <xsl:param name="content">
+ <xsl:apply-templates/>
+ </xsl:param>
+ <fo:inline baseline-shift="sub">
+ <xsl:copy-of select="$content"/>
+ </fo:inline>
+</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="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="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:call-template name="inline.monoseq"/>
+</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="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="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.charseq"/>
+</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:call-template name="inline.italicseq"/>
+</xsl:template>
+
+<xsl:template match="emphasis">
+ <xsl:call-template name="inline.italicseq"/>
+</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">
+ <xsl:call-template name="inline.charseq"/>
+</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: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="firstterm">
+ <xsl:call-template name="inline.italicseq"/>
+</xsl:template>
+
+<xsl:template match="glossterm">
+ <xsl:choose>
+ <xsl:when test="@linkend">
+ <fo:basic-link internal-destination="{@linkend}"
+ xsl:use-attribute-sets="xref.properties">
+ <xsl:call-template name="inline.charseq"/>
+ </fo:basic-link>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="inline.charseq"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="sgmltag">
+ <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></</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>></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>&</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>&#</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><?</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>></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><?</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>?></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><</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>></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><</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>/></xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$class='sgmlcomment'">
+ <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: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">
+ <xsl:text><</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>></xsl:text>
+ </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/>
+ </xsl:for-each>
+</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>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="name($node)='guimenuitem'
+ or name($node)='guisubmenu'">
+ <xsl:text>-></xsl:text>
+ </xsl:when>
+ <xsl:otherwise>+</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: biblio-citation-check -->
+ <xsl:text>[</xsl:text>
+ <xsl:call-template name="inline.charseq"/>
+ <xsl:text>]</xsl:text>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="comment|remark">
+ <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="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:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/fo/keywords.xsl b/lib/docbook/docbook-xsl/fo/keywords.xsl new file mode 100644 index 000000000..1eb578506 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/keywords.xsl @@ -0,0 +1,21 @@ +<?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: keywords.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template match="keywordset"></xsl:template>
+<xsl:template match="subjectset"></xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/lists.xsl b/lib/docbook/docbook-xsl/fo/lists.xsl new file mode 100644 index 000000000..7a88adcd6 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/lists.xsl @@ -0,0 +1,589 @@ +<?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: lists.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="itemizedlist">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <xsl:if test="title">
+ <xsl:apply-templates select="title" mode="list.title.mode"/>
+ </xsl:if>
+
+ <fo:list-block id="{$id}" xsl:use-attribute-sets="list.block.spacing"
+ provisional-distance-between-starts="1.5em"
+ provisional-label-separation="0.2em">
+ <xsl:apply-templates/>
+ </fo:list-block>
+</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/listitem">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>
+ <xsl:text>•</xsl:text>
+ </fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <xsl:apply-templates/>
+ </fo:list-item-body>
+ </fo:list-item>
+</xsl:template>
+
+<xsl:template match="orderedlist">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <xsl:if test="title">
+ <xsl:apply-templates select="title" mode="list.title.mode"/>
+ </xsl:if>
+
+ <fo:list-block id="{$id}" 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="orderedlist/listitem">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>
+ <xsl:number count="listitem" format="1."/>
+ </fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <xsl:apply-templates/>
+ </fo:list-item-body>
+ </fo:list-item>
+</xsl:template>
+
+<xsl:template match="listitem/para[1]
+ |listitem/simpara[1]
+ |listitem/formalpara[1]
+ |callout/para[1]
+ |callout/simpara[1]
+ |callout/formalpara[1]"
+ priority="2">
+ <fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="variablelist">
+ <xsl:choose>
+ <xsl:when test="$format.variablelist.as.list = 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="termlength">
+ <xsl:choose>
+ <!-- FIXME: handle @termlength="1in" -->
+ <xsl:when test="@termlength">
+ <xsl:value-of select="@termlength"/>
+ <xsl:text>em</xsl:text>
+ </xsl:when>
+ <!-- FIXME: calculate some reasonable width -->
+ <xsl:otherwise>
+ <xsl:text>1in</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:if test="title">
+ <xsl:apply-templates select="title" mode="list.title.mode"/>
+ </xsl:if>
+
+ <fo:list-block id="{$id}"
+ provisional-distance-between-starts="{$termlength}"
+ provisional-label-separation="0.25in"
+ xsl:use-attribute-sets="list.block.spacing">
+ <xsl:apply-templates mode="vl.as.list"/>
+ </fo:list-block>
+</xsl:template>
+
+<xsl:template match="varlistentry" mode="vl.as.list">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>
+ <xsl:apply-templates select="term"/>
+ </fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <xsl:apply-templates select="listitem"/>
+ </fo:list-item-body>
+ </fo:list-item>
+</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>
+
+ <fo:block id="{$id}" xsl:use-attribute-sets="list.block.spacing">
+ <xsl:apply-templates mode="vl.as.blocks"/>
+ </fo:block>
+</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">
+ <xsl:apply-templates select="term"/>
+ </fo:block>
+
+ <fo:block margin-start="0.25in">
+ <xsl:apply-templates select="listitem"/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="varlistentry/term">
+ <fo:inline><xsl:apply-templates/>, </fo:inline>
+</xsl:template>
+
+<xsl:template match="varlistentry/term[position()=last()]" priority="2">
+ <fo:inline><xsl:apply-templates/></fo:inline>
+</xsl:template>
+
+<xsl:template match="varlistentry/listitem">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="title" mode="list.title.mode">
+ <fo:block font-size="12pt" font-weight="bold"
+ xsl:use-attribute-sets="list.block.spacing">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="simplelist">
+ <!-- with no type specified, the default is 'vert' -->
+ <fo:table>
+ <fo:table-body>
+ <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']">
+ <fo:inline><xsl:apply-templates/></fo:inline>
+</xsl:template>
+
+<xsl:template match="simplelist[@type='horiz']">
+ <fo:table>
+ <fo:table-body>
+ <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 match="simplelist[@type='vert']">
+ <fo:table>
+ <fo:table-body>
+ <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 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 <= 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 <= $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 <= $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 <= $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:apply-templates/>
+</xsl:template>
+
+<xsl:template match="simplelist[@type='inline']/member">
+ <xsl:apply-templates/>
+ <xsl:text>, </xsl:text>
+</xsl:template>
+
+<xsl:template match="simplelist[@type='inline']/member[position()=last()]"
+ priority="2">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="procedure">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <xsl:variable name="title" select="title"/>
+ <xsl:variable name="preamble"
+ select="*[not(self::step or self::title)]"/>
+ <xsl:variable name="steps" select="step"/>
+
+ <fo:block id="{$id}"
+ space-before.optimum="1em"
+ space-before.minimum="0.8em"
+ space-before.maximum="1.2em">
+ <xsl:if test="./title">
+ <fo:block font-weight="bold">
+ <xsl:apply-templates select="./title" mode="procedure.title.mode"/>
+ </fo:block>
+ </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>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="procedure/title">
+</xsl:template>
+
+<xsl:template match="procedure/title" mode="procedure.title.mode">
+ <xsl:apply-templates/>
+</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="step">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block id="{$id}">
+ <xsl:apply-templates select="." mode="number">
+ <xsl:with-param name="recursive" select="0"/>
+ </xsl:apply-templates>
+ </fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <xsl:apply-templates/>
+ </fo:list-item-body>
+ </fo:list-item>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="segmentedlist">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="segmentedlist/title">
+ <fo:block font-weight="bold">
+ <xsl:apply-templates/>
+ </fo:block>
+</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:apply-templates/>
+</xsl:template>
+
+<xsl:template match="seg">
+ <xsl:variable name="segnum" select="position()"/>
+ <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="calloutlist">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:if test="./title">
+ <fo:block font-weight="bold">
+ <xsl:apply-templates select="./title" mode="calloutlist.title.mode"/>
+ </fo:block>
+ </xsl:if>
+
+ <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/>
+ </fo:list-block>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="calloutlist/title">
+</xsl:template>
+
+<xsl:template match="calloutlist/title" mode="calloutlist.title.mode">
+ <xsl:apply-templates/>
+</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()">
+ <xsl:apply-templates/>
+ </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="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:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/fo/math.xsl b/lib/docbook/docbook-xsl/fo/math.xsl new file mode 100644 index 000000000..2ea3fdc04 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/math.xsl @@ -0,0 +1,32 @@ +<?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"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: math.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template match="inlineequation">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="alt">
+</xsl:template>
+
+<!-- just send the MathML all the way through... -->
+<xsl:template match="mml:*">
+ <xsl:element name="{name(.)}">
+ <xsl:copy-of select="@*"/>
+ <xsl:apply-templates select="node()"/>
+ </xsl:element>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/pagesetup.xsl b/lib/docbook/docbook-xsl/fo/pagesetup.xsl new file mode 100644 index 000000000..4b9663424 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/pagesetup.xsl @@ -0,0 +1,431 @@ +<?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 name="setup.pagemasters">
+ <fo:layout-master-set>
+ <!-- one sided, single column -->
+ <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="{$page.margin.outer}"
+ margin-right="{$page.margin.inner}">
+ <fo:region-body
+ margin-bottom="{$body.margin.bottom}"
+ margin-top="{$body.margin.top}"/>
+ <fo:region-before region-name="xsl-region-before-blank"
+ extent="{$region.before.extent}"/>
+ <fo:region-after region-name="xsl-region-after-blank"
+ extent="{$region.after.extent}"/>
+ </fo:simple-page-master>
+
+ <!-- one sided, single column -->
+ <fo:simple-page-master master-name="simple1"
+ 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}">
+ <fo:region-body
+ margin-bottom="{$body.margin.bottom}"
+ margin-top="{$body.margin.top}"/>
+ <fo:region-before extent="{$region.before.extent}"/>
+ <fo:region-after extent="{$region.after.extent}"/>
+ </fo:simple-page-master>
+
+ <!-- for left-hand/even pages in twosided mode, single column -->
+ <fo:simple-page-master master-name="left1"
+ 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}">
+ <fo:region-body
+ margin-bottom="{$body.margin.bottom}"
+ margin-top="{$body.margin.top}"/>
+ <fo:region-before region-name="xsl-region-before-left"
+ extent="{$region.before.extent}"/>
+ <fo:region-after region-name="xsl-region-after-left"
+ extent="{$region.after.extent}"/>
+ </fo:simple-page-master>
+
+ <!-- for right-hand/odd pages in twosided mode, single column -->
+ <fo:simple-page-master master-name="right1"
+ 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}">
+ <fo:region-body
+ margin-bottom="{$body.margin.bottom}"
+ margin-top="{$body.margin.top}"/>
+ <fo:region-before region-name="xsl-region-before-right"
+ extent="{$region.before.extent}"/>
+ <fo:region-after region-name="xsl-region-after-right"
+ extent="{$region.after.extent}"/>
+ </fo:simple-page-master>
+
+ <!-- special case of first page in either mode, single column -->
+ <fo:simple-page-master master-name="first1"
+ 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.inner}">
+ <fo:region-body
+ margin-bottom="{$body.margin.bottom}"
+ margin-top="{$body.margin.top}"/>
+ <fo:region-before region-name="xsl-region-before-first"
+ extent="{$region.before.extent}"/>
+ <fo:region-after region-name="xsl-region-after-first"
+ extent="{$region.after.extent}"/>
+ </fo:simple-page-master>
+
+ <!-- for pages in one-side mode, 2 column -->
+ <fo:simple-page-master master-name="simple2"
+ 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}">
+ <fo:region-body
+ column-count="{$column.count}"
+ margin-bottom="{$body.margin.bottom}"
+ margin-top="{$body.margin.top}"/>
+ <fo:region-before extent="{$region.before.extent}"/>
+ <fo:region-after extent="{$region.after.extent}"/>
+ </fo:simple-page-master>
+
+ <!-- for left-hand/even pages in twosided mode, 2 column -->
+ <fo:simple-page-master master-name="left2"
+ 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}">
+ <fo:region-body
+ column-count="{$column.count}"
+ margin-bottom="{$body.margin.bottom}"
+ margin-top="{$body.margin.top}"/>
+ <fo:region-before region-name="xsl-region-before-left"
+ extent="{$region.before.extent}"/>
+ <fo:region-after region-name="xsl-region-after-left"
+ extent="{$region.after.extent}"/>
+ </fo:simple-page-master>
+
+ <!-- for right-hand/odd pages in twosided mode, 2 column -->
+ <fo:simple-page-master master-name="right2"
+ 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}">
+ <fo:region-body
+ column-count="{$column.count}"
+ margin-bottom="{$body.margin.bottom}"
+ margin-top="{$body.margin.top}"/>
+ <fo:region-before region-name="xsl-region-before-right"
+ extent="{$region.before.extent}"/>
+ <fo:region-after region-name="xsl-region-after-right"
+ extent="{$region.after.extent}"/>
+ </fo:simple-page-master>
+
+ <!-- special case of first page in either mode -->
+ <fo:simple-page-master master-name="first2"
+ 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.inner}">
+ <fo:region-body
+ column-count="1"
+ margin-bottom="{$body.margin.bottom}"
+ margin-top="{$body.margin.top}"/>
+ <fo:region-before region-name="xsl-region-before-first"
+ extent="{$region.before.extent}"/>
+ <fo:region-after region-name="xsl-region-after-first"
+ extent="{$region.after.extent}"/>
+ </fo:simple-page-master>
+
+ <!-- setup for title-page, 1 column -->
+ <fo:page-sequence-master master-name="titlepage1">
+ <fo:repeatable-page-master-alternatives>
+ <fo:conditional-page-master-reference master-name="first1"/>
+ </fo:repeatable-page-master-alternatives>
+ </fo:page-sequence-master>
+
+ <!-- setup for single-sided, 1 column -->
+ <fo:page-sequence-master master-name="oneside1">
+ <fo:repeatable-page-master-alternatives>
+ <fo:conditional-page-master-reference master-name="simple1"/>
+ </fo:repeatable-page-master-alternatives>
+ </fo:page-sequence-master>
+
+ <!-- setup for double-sided, 1 column -->
+ <fo:page-sequence-master master-name="twoside1">
+ <fo:repeatable-page-master-alternatives>
+ <fo:conditional-page-master-reference master-name="blank"
+ blank-or-not-blank="blank"/>
+ <fo:conditional-page-master-reference master-name="right1"
+ odd-or-even="odd"/>
+ <fo:conditional-page-master-reference master-name="left1"
+ odd-or-even="even"/>
+ </fo:repeatable-page-master-alternatives>
+ </fo:page-sequence-master>
+
+ <!-- setup for title-page, 2 column -->
+ <fo:page-sequence-master master-name="titlepage2">
+ <fo:repeatable-page-master-alternatives>
+ <fo:conditional-page-master-reference master-name="first2"/>
+ </fo:repeatable-page-master-alternatives>
+ </fo:page-sequence-master>
+
+ <!-- setup for single-sided, 2 column -->
+ <fo:page-sequence-master master-name="oneside2">
+ <fo:repeatable-page-master-alternatives>
+ <fo:conditional-page-master-reference master-name="simple2"/>
+ </fo:repeatable-page-master-alternatives>
+ </fo:page-sequence-master>
+
+ <!-- setup for double-sided, 2 column -->
+ <fo:page-sequence-master master-name="twoside2">
+ <fo:repeatable-page-master-alternatives>
+ <fo:conditional-page-master-reference master-name="blank"
+ blank-or-not-blank="blank"/>
+ <fo:conditional-page-master-reference master-name="right2"
+ odd-or-even="odd"/>
+ <fo:conditional-page-master-reference master-name="left2"
+ odd-or-even="even"/>
+ </fo:repeatable-page-master-alternatives>
+ </fo:page-sequence-master>
+
+ <xsl:call-template name="user.pagemasters"/>
+
+ </fo:layout-master-set>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="user.pagemasters"/> <!-- intentionally empty -->
+
+<!-- ==================================================================== -->
+
+<!-- $double.sided, $column.count, and context -->
+
+<xsl:template name="select.pagemaster">
+ <xsl:param name="element" select="local-name(.)"/>
+ <xsl:choose>
+ <xsl:when test="$double.sided != 0">
+ <xsl:choose>
+ <xsl:when test="$column.count > 1">
+ <xsl:call-template name="select.doublesided.multicolumn.pagemaster">
+ <xsl:with-param name="element" select="$element"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="select.doublesided.pagemaster">
+ <xsl:with-param name="element" select="$element"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$column.count > 1">
+ <xsl:call-template name="select.singlesided.multicolumn.pagemaster">
+ <xsl:with-param name="element" select="$element"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="select.singlesided.pagemaster">
+ <xsl:with-param name="element" select="$element"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="select.doublesided.multicolumn.pagemaster">
+ <xsl:param name="element" select="local-name(.)"/>
+ <xsl:choose>
+ <xsl:when test="$element='set' or $element='book' or $element='part'">
+ <xsl:text>titlepage2</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>twoside2</xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="select.doublesided.pagemaster">
+ <xsl:param name="element" select="local-name(.)"/>
+ <xsl:choose>
+ <xsl:when test="$element='set' or $element='book' or $element='part'">
+ <xsl:text>titlepage1</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>twoside1</xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="select.singlesided.multicolumn.pagemaster">
+ <xsl:param name="element" select="local-name(.)"/>
+ <xsl:choose>
+ <xsl:when test="$element='set' or $element='book' or $element='part'">
+ <xsl:text>titlepage2</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>oneside2</xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="select.singlesided.pagemaster">
+ <xsl:param name="element" select="local-name(.)"/>
+ <xsl:choose>
+ <xsl:when test="$element='set' or $element='book' or $element='part'">
+ <xsl:text>titlepage1</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>oneside1</xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="*" mode="running.head.mode">
+ <xsl:param name="master-name" select="'unknown'"/>
+ <!-- by default, nothing -->
+ <xsl:choose>
+ <xsl:when test="$master-name='titlepage1'">
+ </xsl:when>
+ <xsl:when test="$master-name='oneside1'">
+ </xsl:when>
+ <xsl:when test="$master-name='twoside1'">
+ </xsl:when>
+ <xsl:when test="$master-name='titlepage2'">
+ </xsl:when>
+ <xsl:when test="$master-name='oneside2'">
+ </xsl:when>
+ <xsl:when test="$master-name='twoside2'">
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="chapter|appendix" mode="running.head.mode">
+ <xsl:param name="master-name" select="'unknown'"/>
+ <xsl:variable name="head">
+ <fo:block font-size="{$body.font.size}">
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </fo:block>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$master-name='titlepage1'"></xsl:when>
+ <xsl:when test="$master-name='oneside1'">
+ <fo:static-content flow-name="xsl-region-before">
+ <fo:block text-align="center">
+ <xsl:copy-of select="$head"/>
+ </fo:block>
+ </fo:static-content>
+ </xsl:when>
+ <xsl:when test="$master-name='twoside1'">
+ <fo:static-content flow-name="xsl-region-before-left">
+ <fo:block text-align="right">
+ <xsl:copy-of select="$head"/>
+ </fo:block>
+ </fo:static-content>
+ <fo:static-content flow-name="xsl-region-before-right">
+ <fo:block text-align="left">
+ <xsl:copy-of select="$head"/>
+ </fo:block>
+ </fo:static-content>
+ </xsl:when>
+ <xsl:when test="$master-name='titlepage2'"></xsl:when>
+ <xsl:when test="$master-name='oneside2'">
+ <fo:static-content flow-name="xsl-region-before">
+ <fo:block text-align="center">
+ <xsl:copy-of select="$head"/>
+ </fo:block>
+ </fo:static-content>
+ </xsl:when>
+ <xsl:when test="$master-name='twoside2'">
+ <fo:static-content flow-name="xsl-region-before-left">
+ <fo:block text-align="right">
+ <xsl:copy-of select="$head"/>
+ </fo:block>
+ </fo:static-content>
+ <fo:static-content flow-name="xsl-region-before-right">
+ <fo:block text-align="left">
+ <xsl:copy-of select="$head"/>
+ </fo:block>
+ </fo:static-content>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="*" mode="running.foot.mode">
+ <xsl:param name="master-name" select="'unknown'"/>
+ <xsl:variable name="foot">
+ <fo:page-number/>
+ </xsl:variable>
+ <!-- by default, the page number -->
+ <xsl:choose>
+ <xsl:when test="$master-name='titlepage1'"></xsl:when>
+ <xsl:when test="$master-name='oneside1'">
+ <fo:static-content flow-name="xsl-region-after">
+ <fo:block text-align="center" font-size="{$body.font.size}">
+ <xsl:copy-of select="$foot"/>
+ </fo:block>
+ </fo:static-content>
+ </xsl:when>
+ <xsl:when test="$master-name='twoside1'">
+ <fo:static-content flow-name="xsl-region-after-left">
+ <fo:block text-align="left" font-size="{$body.font.size}">
+ <xsl:copy-of select="$foot"/>
+ </fo:block>
+ </fo:static-content>
+ <fo:static-content flow-name="xsl-region-after-right">
+ <fo:block text-align="right" font-size="{$body.font.size}">
+ <xsl:copy-of select="$foot"/>
+ </fo:block>
+ </fo:static-content>
+ </xsl:when>
+ <xsl:when test="$master-name='titlepage2'"></xsl:when>
+ <xsl:when test="$master-name='oneside2'">
+ <fo:static-content flow-name="xsl-after-before">
+ <fo:block text-align="center" font-size="{$body.font.size}">
+ <xsl:copy-of select="$foot"/>
+ </fo:block>
+ </fo:static-content>
+ </xsl:when>
+ <xsl:when test="$master-name='twoside2'">
+ <fo:static-content flow-name="xsl-region-after-left">
+ <fo:block text-align="left" font-size="{$body.font.size}">
+ <xsl:copy-of select="$foot"/>
+ </fo:block>
+ </fo:static-content>
+ <fo:static-content flow-name="xsl-region-after-right">
+ <fo:block text-align="right" font-size="{$body.font.size}">
+ <xsl:copy-of select="$foot"/>
+ </fo:block>
+ </fo:static-content>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="set|book|part|reference" mode="running.foot.mode">
+ <!-- nothing -->
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/param.xsl b/lib/docbook/docbook-xsl/fo/param.xsl new file mode 100644 index 000000000..bdf3b485d --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/param.xsl @@ -0,0 +1,1268 @@ +<?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: param.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<doc:reference xmlns="">
+<referenceinfo>
+<releaseinfo role="meta">
+$Id: param.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+</releaseinfo>
+<author><surname>Walsh</surname>
+<firstname>Norman</firstname></author>
+<copyright><year>1999</year><year>2000</year>
+<holder>Norman Walsh</holder>
+</copyright>
+</referenceinfo>
+<title>Formatting Object Parameter 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 each of the Formatting Object
+Stylesheet parameters. These are the <quote>easily
+customizable</quote> parts of the stylesheet. If you want to specify
+an alternate value for one or more of these parameters, you can do so
+in a <quote>driver</quote> stylesheet.</para>
+
+<para>For example, if you want to turn on automatic section numbering,
+you might create a driver stylesheet like this:</para>
+
+<programlisting><![CDATA[<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+ <xsl:import href="/path/to/fo/docbook.xsl"/>
+
+ <xsl:param name="section.autolabel" select="1"/>
+
+</xsl:stylesheet>]]></programlisting>
+
+<para>Naturally, you have to change the
+<sgmltag class='attribute'>href</sgmltag> attribute on
+<literal><xsl:import></literal>
+to point to <filename>docbook.xsl</filename>
+on your system.</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:param name="author.othername.in.middle" select="1"/>
+<xsl:param name="html.stylesheet">docbook.css</xsl:param>
+<xsl:param name="html.stylesheet.type">text/css</xsl:param>
+<xsl:param name="refentry.xref.manvolnum" select="1"/>
+<xsl:param name="show.comments" select="1"/>
+<xsl:param name="funcsynopsis.style">kr</xsl:param>
+<xsl:param name="funcsynopsis.decoration" select="1"/>
+<xsl:param name="refentry.generate.name" select="1"/>
+
+<xsl:param name="admon.graphics" select="0"/>
+<xsl:param name="admon.graphics.path">../images/</xsl:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="admon.graphics.extension" select="'.png'" doc:type='string'/>
+
+<doc:param name="admon.graphics.extension" xmlns="">
+<refpurpose>Extension for admonition graphics</refpurpose>
+<refdescription>
+<para>Sets the extension to use on admonition graphics.</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="section.autolabel" select="0"/>
+<xsl:param name="section.label.includes.component.label" select="0"/>
+<xsl:param name="chapter.autolabel" select="1"/>
+<xsl:param name="appendix.autolabel" select="1"/>
+<xsl:param name="part.autolabel" select="1"/>
+<xsl:param name="preface.autolabel" select="0"/>
+
+<xsl:param name="biblioentry.item.separator">. </xsl:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="qandadiv.autolabel" select="1"/>
+
+<doc:variable name="qandadiv.autolabel" xmlns="">
+<refpurpose>Are divisions in QAndASets enumerated?</refpurpose>
+<refdescription>
+<para>If true (non-zero), unlabeled qandadivs will be enumerated.
+</para>
+</refdescription>
+</doc:variable>
+
+<!-- ==================================================================== -->
+<xsl:param name="qanda.inherit.numeration" select="0"/>
+
+<doc:variable name="qanda.inherit.numeration" xmlns="">
+<refpurpose>Does enumeration of QandASet components inherit the numeration of parent elements?</refpurpose>
+<refdescription>
+<para>If true (non-zero), numbered QandADiv elements and Questions and Answers inherit
+the numeration of the ancestors of the QandASet.
+</para>
+</refdescription>
+</doc:variable>
+
+<!-- ==================================================================== -->
+
+<xsl:param name="graphic.default.extension"></xsl:param>
+
+<doc:variable name="graphic.default.extension" xmlns="">
+<refpurpose>Default extension for graphic filenames</refpurpose>
+<refdescription>
+<para>If a <sgmltag>graphic</sgmltag> or <sgmltag>mediaobject</sgmltag>
+includes a reference to a filename that does not include an extension,
+and the <sgmltag class="attribute">format</sgmltag> attribute is
+<emphasis>unspecified</emphasis>, the default extension will be used.
+</para>
+</refdescription>
+</doc:variable>
+
+<!-- ==================================================================== -->
+<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-with-previous.within-column">always</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ==================================================================== -->
+<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">12pt</xsl:attribute>
+ <xsl:attribute name="hyphenate">false</xsl:attribute>
+ <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
+</xsl:attribute-set>
+
+<doc:attribute-set name="formal.title.properties" xmlns="">
+<refpurpose>Properties of formal object titles</refpurpose>
+<refdescription>
+<para>This attribute set is used to specify the properties of formal
+object titles.
+</para>
+</refdescription>
+</doc:attribute-set>
+
+<!-- ==================================================================== -->
+<xsl:attribute-set name="component.title.properties">
+ <xsl:attribute name="space-before.optimum">2em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">1.8em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">2.2em</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="font-size">18pt</xsl:attribute>
+ <xsl:attribute name="space-after.optimum">1.5em</xsl:attribute>
+ <xsl:attribute name="space-after.minimum">1.3em</xsl:attribute>
+ <xsl:attribute name="space-after.maximum">1.8em</xsl:attribute>
+ <xsl:attribute name="hyphenate">false</xsl:attribute>
+ <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
+</xsl:attribute-set>
+
+<doc:attribute-set name="component.title.properties" xmlns="">
+<refpurpose>Properties of component titles</refpurpose>
+<refdescription>
+<para>This attribute set is used to specify the properties of component
+titles.
+</para>
+</refdescription>
+</doc:attribute-set>
+
+<!-- ==================================================================== -->
+<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>
+
+<doc:attribute-set name="admonition.title.properties" xmlns="">
+<refpurpose>Properties of admonition titles</refpurpose>
+<refdescription>
+<para>This attribute set is used to specify the properties of admonition
+titles.
+</para>
+</refdescription>
+</doc: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: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-set>
+
+<!-- ==================================================================== -->
+<xsl:attribute-set name="monospace.verbatim.properties"
+ use-attribute-sets="verbatim.properties">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$monospace.font.family"/>
+ </xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 0.9"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ==================================================================== -->
+<xsl:attribute-set name="xref.properties">
+<!--
+ <xsl:attribute name="background-color">#F0F0F0</xsl:attribute>
+ <xsl:attribute name="padding-start">1pt</xsl:attribute>
+ <xsl:attribute name="padding-end">1pt</xsl:attribute>
+-->
+</xsl:attribute-set>
+
+<doc:attribute-set name="xref.properties" xmlns="">
+<refpurpose>Visual properties of hotlinks</refpurpose>
+<refdescription>
+<para>This attribute set is used to specify properties of xrefs
+</para>
+</refdescription>
+</doc:attribute-set>
+
+<!-- ==================================================================== -->
+<xsl:param name="insert.xref.page.number" select="0" doc:type='boolean'/>
+<doc:param name="insert.xref.page.number" xmlns="">
+<refpurpose>Turns page numbers in xrefs on and off</refpurpose>
+<refdescription>
+<para>When equal to 1, this parameter triggers generation of page
+number citations after xrefs.
+</para>
+</refdescription>
+</doc: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>
+
+<doc:attribute-set name="normal.para.spacing" xmlns="">
+<refpurpose>Spacing properties of normal paragraphs</refpurpose>
+<refdescription>
+<para>This attribute set is used to specify the spacing properties
+of normal paragraphs.
+</para>
+</refdescription>
+</doc: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-set>
+
+<doc:attribute-set name="list.block.spacing" xmlns="">
+<refpurpose>Spacing properties of list blocks</refpurpose>
+<refdescription>
+<para>This attribute set is used to specify the spacing properties
+of list blocks.
+</para>
+</refdescription>
+</doc: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>
+
+<doc:attribute-set name="list.item.spacing" xmlns="">
+<refpurpose>Spacing properties of list items</refpurpose>
+<refdescription>
+<para>This attribute set is used to specify the spacing properties
+of list items.
+</para>
+</refdescription>
+</doc:attribute-set>
+
+<!-- ==================================================================== -->
+<xsl:param name="rootid" select="''"/>
+
+<doc:param name="rootid" xmlns="">
+<refpurpose>Specify the root element to format</refpurpose>
+<refdescription>
+<para>If <parameter>rootid</parameter> is specified, it must be the
+value of an ID that occurs in the document being formatted. The entire
+document will be loaded and parsed, but formatting will begin at the
+element identified, rather than at the root. For example, this allows
+you to process only chapter 4 of a book.</para>
+<para>Because the entire document is available to the processor, automatic
+numbering, cross references, and other dependencies are correctly
+resolved.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.graphics" select="'0'"/>
+
+<doc:param name="callout.graphics" xmlns="">
+<refpurpose>Use graphics for callouts?</refpurpose>
+<refdescription>
+<para>If non-zero, callouts are presented with graphics (e.g., reverse-video
+circled numbers instead of "(1)", "(2)", etc.).
+Default graphics are provided in the distribution.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.unicode" select="1"/>
+
+<doc:param name="callout.unicode" xmlns="">
+<refpurpose>First character to use for Unicode callouts</refpurpose>
+<refdescription>
+<para>If non-zero, callouts are presented with Unicode characters
+starting with the character specified. Zero indicates that Unicode
+callouts should not be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.unicode.font" select="'ZapfDingbats'"/>
+
+<doc:param name="callout.unicode.font" xmlns="">
+<refpurpose>Font to use for Unicode dingbats</refpurpose>
+<refdescription>
+<para>The name of the font to specify around Unicode callout glyphs.
+If set to the empty string, no font change will occur.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.unicode.start.character" select="10102"
+ doc:type='integer'/>
+
+<doc:param name="callout.unicode.start.character" xmlns="">
+<refpurpose>Number of the largest callout graphic</refpurpose>
+<refdescription>
+<para>If <parameter>callout.graphics</parameter>
+is non-zero, graphics are used to represent
+callout numbers. The value of
+<parameter>callout.graphics.number.limit</parameter>
+is
+the largest number for which a graphic exists. If the callout number
+exceeds this limit, the default presentation "(nnn)" will always
+be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.unicode.number.limit" select="'10'"
+ doc:type='integer'/>
+
+<doc:param name="callout.unicode.number.limit" xmlns="">
+<refpurpose>Number of the largest callout graphic</refpurpose>
+<refdescription>
+<para>If <parameter>callout.graphics</parameter>
+is non-zero, graphics are used to represent
+callout numbers. The value of
+<parameter>callout.graphics.number.limit</parameter>
+is
+the largest number for which a graphic exists. If the callout number
+exceeds this limit, the default presentation "(nnn)" will always
+be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.graphics.extension" select="'.png'"/>
+
+<doc:param name="callout.graphics.extension" xmlns="">
+<refpurpose>Extension for callout graphics</refpurpose>
+<refdescription>
+<para>Sets the extension to use on callout graphics.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.graphics.path" select="'../images/callouts/'"/>
+
+<doc:param name="callout.graphics.path" xmlns="">
+<refpurpose>Path to callout graphics</refpurpose>
+<refdescription>
+<para>Sets the path, probably relative to the directory where the HTML
+files are created, to the callout graphics.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.graphics.number.limit" select="'10'"/>
+
+<doc:param name="callout.graphics.number.limit" xmlns="">
+<refpurpose>Number of the largest callout graphic</refpurpose>
+<refdescription>
+<para>If <parameter>callout.graphics</parameter>
+is non-zero, graphics are used to represent
+callout numbers. The value of
+<parameter>callout.graphics.number.limit</parameter>
+is
+the largest number for which a graphic exists. If the callout number
+exceeds this limit, the default presentation "(nnn)" will always
+be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="use.extensions" select="'0'"/>
+
+<doc:param name="use.extensions" xmlns="">
+<refpurpose>Enable extensions</refpurpose>
+<refdescription>
+<para>If non-zero, extensions may be used. Each extension is
+further controlled by its own parameter. But if
+<parameter>use.extensions</parameter> is zero, no extensions will
+be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="textinsert.extension" select="'1'"/>
+
+<doc:param name="textinsert.extension" xmlns="">
+<refpurpose>Enable the textinsert extension element</refpurpose>
+<refdescription>
+<para>The textinsert extension element inserts the contents of a
+a file into the result tree (as text).
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="linenumbering.extension" select="'1'"/>
+
+<doc:param name="linenumbering.extension" xmlns="">
+<refpurpose>Enable the line numbering extension</refpurpose>
+<refdescription>
+<para>If true, verbatim environments (elements that have the
+format='linespecific' notation attribute: address, literallayout,
+programlisting, screen, synopsis) that specify line numbering will
+have, surprise, line numbers.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="linenumbering.everyNth" select="'5'"/>
+
+<doc:param name="linenumbering.everyNth" xmlns="">
+<refpurpose>Indicate which lines should be numbered</refpurpose>
+<refdescription>
+<para>If line numbering is enabled, everyNth line will be numbered.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="linenumbering.width" select="'3'"/>
+
+<doc:param name="linenumbering.width" xmlns="">
+<refpurpose>Indicates the width of line numbers</refpurpose>
+<refdescription>
+<para>If line numbering is enabled, line numbers will appear right
+justified in a field "width" characters wide.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="linenumbering.separator" select="' '"/>
+
+<doc:param name="linenumbering.separator" xmlns="">
+<refpurpose>Specify a separator between line numbers and lines</refpurpose>
+<refdescription>
+<para>The separator is inserted between line numbers and lines in
+the verbatim environment.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callouts.extension" select="'1'"/>
+
+<doc:param name="callouts.extension" xmlns="">
+<refpurpose>Enable the callout extension</refpurpose>
+<refdescription>
+<para>The callouts extension processes <sgmltag>areaset</sgmltag>
+elements in <sgmltag>ProgramListingCO</sgmltag> and other text-based
+callout elements.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.defaultcolumn" select="'60'"/>
+
+<doc:param name="callout.defaultcolumn" xmlns="">
+<refpurpose>Indicates what column callouts appear in by default</refpurpose>
+<refdescription>
+<para>If a callout does not identify a column (for example, if it uses
+the <literal>linerange</literal> <sgmltag class="attribute">unit</sgmltag>),
+it will appear in the default column.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="tablecolumns.extension" select="'1'" doc:type='boolean'/>
+
+<doc:param name="tablecolumns.extension" xmlns="">
+<refpurpose>Enable the table columns extension function</refpurpose>
+<refdescription>
+<para>The table columns extension function adjusts the widths of table
+columns in the HTML result to more accurately reflect the specifications
+in the CALS table.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="nominal.table.width" select="'6in'" doc:type='length'/>
+
+<doc:param name="nominal.table.width" xmlns="">
+<refpurpose>The (absolute) nominal width of tables</refpurpose>
+<refdescription>
+<para>In order to convert CALS column widths into FO column widths, it
+is sometimes necessary to have an absolute table width to use for conversion
+of mixed absolute and relative widths. This value must be an absolute
+length (not a percentage).</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="default.table.width" select="''" doc:type='length'/>
+
+<doc:param name="default.table.width" xmlns="">
+<refpurpose>The default width of tables</refpurpose>
+<refdescription>
+<para>If specified, this value will be used for the WIDTH attribute on
+tables that do not specify an alternate width (with the dbhtml processing
+instruction).</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="paper.type" select="'USletter'"/>
+<doc:param name="paper.type" xmlns="">
+<refpurpose>Select the paper type</refpurpose>
+<refdescription>
+<para>The paper type is a convenient way to specify the paper size.
+The list of known paper sizes includes USletter and most of the A,
+B, and C sizes. See <literal>page.width.portrait</literal>, for example.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="page.orientation" select="'portrait'"/>
+<doc:param name="page.orientation" xmlns="">
+<refpurpose>Select the page orientation</refpurpose>
+<refdescription>
+<para>In portrait orientation, the short edge is horizontal; in
+landscape orientation, it is vertical.
+</para>
+</refdescription>
+</doc: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>
+
+<doc:param name="page.width.portrait" xmlns="">
+<refpurpose>Specify the physical size of the short edge of the page</refpurpose>
+<refdescription>
+<para>The portrait page width is the length of the short
+edge of the physical page.
+</para>
+</refdescription>
+</doc: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>
+
+<doc:param name="page.height.portrait" xmlns="">
+<refpurpose>Specify the physical size of the long edge of the page</refpurpose>
+<refdescription>
+<para>The portrait page height is the length of the long
+edge of the physical page.
+</para>
+</refdescription>
+</doc: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>
+
+<doc:param name="page.width" xmlns="">
+<refpurpose>The width of the physical page</refpurpose>
+<refdescription>
+<para>The page width is generally calculated from the
+<literal>paper.type</literal> and
+<literal>page.orientation</literal>.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<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>
+
+<doc:param name="page.height" xmlns="">
+<refpurpose>The height of the physical page</refpurpose>
+<refdescription>
+<para>The page height is generally calculated from the
+<literal>paper.type</literal> and
+<literal>page.orientation</literal>.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="double.sided" select="'0'"/>
+
+<doc:param name="double.sided" xmlns="">
+<refpurpose>Is the document to be printed double sided?</refpurpose>
+<refdescription>
+<para>Double-sided documents are printed with a slightly wider margin
+on the binding edge of the page.
+</para>
+<para>FIXME: The current set of parameters does not take writing direction
+into account.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="column.count" select="'1'"/>
+
+<doc:param name="column.count" xmlns="">
+<refpurpose>Specifies the number of columns of text on the page</refpurpose>
+<refdescription>
+<para>The specified number of columns of text will appear on each page.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="region.after.extent" select="'12pt'"/>
+
+<doc:param name="region.after.extent" xmlns="">
+<refpurpose>Specifies the height of the footer.</refpurpose>
+<refdescription>
+<para>The region after extent is the height of the area where footers
+are printed.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="region.before.extent" select="'12pt'"/>
+
+<doc:param name="region.before.extent" xmlns="">
+<refpurpose>Specifies the height of the header</refpurpose>
+<refdescription>
+<para>The region before extent is the height of the area where headers
+are printed.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="page.margin.top">1in</xsl:param>
+
+<doc:param name="page.margin.top" xmlns="">
+<refpurpose>The top margin of the page</refpurpose>
+<refdescription>
+<para>The top page margin is the distance from the physical top of the
+page to the first line of text (body or header).
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="page.margin.bottom">1in</xsl:param>
+
+<doc:param name="page.margin.bottom" xmlns="">
+<refpurpose>The bottom margin of the page</refpurpose>
+<refdescription>
+<para>The bottom page margin is the distance from the physical bottom of
+the page to the last line of text (body or footer).
+</para>
+</refdescription>
+</doc: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>
+
+<doc:param name="page.margin.inner" xmlns="">
+<refpurpose>The inner page margin</refpurpose>
+<refdescription>
+<para>The inner page margin is the distance from binding edge of the
+page to the first column of text. In the left-to-right, top-to-bottom writing
+direction, this is the left margin of recto pages.</para>
+<para>The inner and outer margins are usually the same unless the output
+is double-sided.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="page.margin.outer">
+ <xsl:choose>
+ <xsl:when test="$double.sided != 0">0.75in</xsl:when>
+ <xsl:otherwise>10pc</xsl:otherwise>
+ </xsl:choose>
+</xsl:param>
+
+<doc:param name="page.margin.outer" xmlns="">
+<refpurpose>The outer page margin</refpurpose>
+<refdescription>
+<para>The outer page margin is the distance from non-binding edge of the
+page to the last column of text. In the left-to-right, top-to-bottom writing
+direction, this is the right margin of recto pages.</para>
+<para>The inner and outer margins are usually the same unless the output
+is double-sided.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="body.margin.bottom">24pt</xsl:param>
+
+<doc:param name="body.margin.bottom" xmlns="">
+<refpurpose>The bottom margin of the body text</refpurpose>
+<refdescription>
+<para>The body bottom margin is the distance from the last line of text
+in the page body to the bottom page margin. Note that the page footer, if
+any, appears in the space between the body bottom margin and the page
+bottom margin.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="body.margin.top">24pt</xsl:param>
+
+<doc:param name="body.margin.top" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>The body top margin is the distance from the page top margin to
+the first line of text
+in the page body. Note that the page header, if
+any, appears in the space between the page top margin and the body
+top margin.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="body.font.family">Times Roman</xsl:param>
+
+<doc:param name="body.font.family" xmlns="">
+<refpurpose>The default font family for body text</refpurpose>
+<refdescription>
+<para>The body font family is the default font used for text in the page body.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="title.font.family">Helvetica</xsl:param>
+
+<doc:param name="title.font.family" xmlns="">
+<refpurpose>The default font family for titles</refpurpose>
+<refdescription>
+<para>The title font family is used for titles (chapter, section, figure,
+etc.)
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="monospace.font.family">Courier</xsl:param>
+
+<doc:param name="monospace.font.family" xmlns="">
+<refpurpose>The default font family for monospace environments</refpurpose>
+<refdescription>
+<para>The monospace font family is used for verbatim environments
+(program listings, screens, etc.).
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="sans.font.family">Helvetica</xsl:param>
+
+<doc:param name="sans.font.family" xmlns="">
+<refpurpose>The default sans-serif font family</refpurpose>
+<refdescription>
+<para>The default sans-serif font family. At the present, this isn't
+actually used by the stylesheets.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="dingbat.font.family">Times Roman</xsl:param>
+
+<doc:param name="dingbat.font.family" xmlns="">
+<refpurpose>The font family for copyright, quotes, and other symbols</refpurpose>
+<refdescription>
+<para>The dingbat font family is used for dingbats. If it is defined
+as the empty string, no font change is effected around dingbats.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="body.font.master">10</xsl:param>
+
+<doc:param name="body.font.master" xmlns="">
+<refpurpose>Specifies the default point size for body text</refpurpose>
+<refdescription>
+<para>The body font size is specified in two parameters
+(<varname>body.font.master</varname> and <varname>body.font.size</varname>)
+so that math can be performed on the font size by XSLT.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="body.font.size">
+ <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text>
+</xsl:param>
+
+<doc:param name="body.font.size" xmlns="">
+<refpurpose>Specifies the default font size for body text</refpurpose>
+<refdescription>
+<para>The body font size is specified in two parameters
+(<varname>body.font.master</varname> and <varname>body.font.size</varname>)
+so that math can be performed on the font size by XSLT.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="footnote.font.size">
+ <xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text>
+</xsl:param>
+
+<doc:param name="footnote.font.size" xmlns="">
+<refpurpose>The font size for footnotes</refpurpose>
+<refdescription>
+<para>The footnote font size is used for...footnotes!
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<!-- general H&J setup -->
+<xsl:param name="hyphenate">true</xsl:param>
+
+<doc:param name="hyphenate" xmlns="">
+<refpurpose>Specify hyphenation behavior</refpurpose>
+<refdescription>
+<para>If true, words may be hyphenated. Otherwise, they may not.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="alignment">justify</xsl:param>
+
+<doc:param name="alignment" xmlns="">
+<refpurpose>Specify the default text alignment</refpurpose>
+<refdescription>
+<para>The default text alignment is used for most body text.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="stylesheet.result.type" select="'fo'"/>
+
+<doc:param name="stylesheet.result.type" xmlns="">
+<refpurpose>Identifies the output format of this stylesheet</refpurpose>
+<refdescription>
+<para>The extension functions need to know if the output format
+is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers
+that question. Valid settings are 'html' or 'fo'.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.component.toc" select="0" doc:type='boolean'/>
+
+<doc:param name="generate.component.toc" xmlns="">
+<refpurpose>Generate a table of contents for components?</refpurpose>
+<refdescription>
+<para>If non-zero, a table of contents is generated at the beginning
+of each component (chapters, appendixes, etc.)
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.division.toc" select="1" doc:type='boolean'/>
+
+<doc:param name="generate.division.toc" xmlns="">
+<refpurpose>Generate a table of contents for divisions?</refpurpose>
+<refdescription>
+<para>If non-zero, a table of contents is generated at the beginning
+of each division (sets, books, etc.)
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+
+<xsl:param name="generate.book.toc" select="'1'" doc:type='boolean'/>
+<xsl:param name="process.source.toc" select='0' doc:type='boolean'/>
+<xsl:param name="process.empty.source.toc" select='0' doc:type='boolean'/>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.division.figure.lot" select="1" doc:type='boolean'/>
+
+<doc:param name="generate.division.figure.lot" xmlns="">
+<refpurpose>Generate a list of titles for Figures?</refpurpose>
+<refdescription>
+<para>If non-zero, a list of titles is generated for Figures.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.division.example.lot" select="1" doc:type='boolean'/>
+
+<doc:param name="generate.division.example.lot" xmlns="">
+<refpurpose>Generate a list of titles for Examples?</refpurpose>
+<refdescription>
+<para>If non-zero, a list of titles is generated for Examples.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.division.equation.lot" select="1" doc:type='boolean'/>
+
+<doc:param name="generate.division.equation.lot" xmlns="">
+<refpurpose>Generate a list of titles for Equations?</refpurpose>
+<refdescription>
+<para>If non-zero, a list of titles is generated for Equations.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.division.table.lot" select="1" doc:type='boolean'/>
+
+<doc:param name="generate.division.table.lot" xmlns="">
+<refpurpose>Generate a list of titles for Tables?</refpurpose>
+<refdescription>
+<para>If non-zero, a list of titles is generated for Tables.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.book.figure.lot" select="1" doc:type='boolean'/>
+<xsl:param name="generate.book.example.lot" select="1" doc:type='boolean'/>
+<xsl:param name="generate.book.equation.lot" select="1" doc:type='boolean'/>
+<xsl:param name="generate.book.table.lot" select="1" doc:type='boolean'/>
+
+<!-- ==================================================================== -->
+<xsl:param name="passivetex.extensions" select="0" doc:type='boolean'/>
+
+<doc:param name="passivetex.extensions" xmlns="">
+<refpurpose>Enable PassiveTeX extensions?</refpurpose>
+<refdescription>
+<para>If non-zero,
+<ulink url="http://users.ox.ac.uk/~rahtz/passivetex/">PassiveTeX</ulink>
+extensions will be used. At present, this consists of PDF bookmarks
+and sorted index terms.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="arbortext.extensions" select="0" doc:type='boolean'/>
+
+<doc:param name="arbortext.extensions" xmlns="">
+<refpurpose>Enable Arbortext extensions?</refpurpose>
+<refdescription>
+<para>If non-zero,
+<ulink url="http://www.arbortext.com/">Arbortext</ulink>
+extensions will be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="fop.extensions" select="0" doc:type='boolean'/>
+
+<doc:param name="fop.extensions" xmlns="">
+<refpurpose>Enable FOP extensions?</refpurpose>
+<refdescription>
+<para>If non-zero,
+<ulink url="http://xml.apache.org/fop/">FOP</ulink>
+extensions will be used. At present, this consists of PDF bookmarks.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="xep.extensions" select="0" doc:type='boolean'/>
+
+<doc:param name="xep.extensions" xmlns="">
+<refpurpose>Enable XEP extensions?</refpurpose>
+<refdescription>
+<para>If non-zero,
+<ulink url="http://www.renderx.com/">XEP</ulink>
+extensions will be used. XEP extensions consists of PDF bookmarks and document information.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="default.units" select="'pt'" doc:type='list'
+ doc:list='cm mm in pt pc px em'/>
+
+<doc:param name="default.units" xmlns="">
+<refpurpose>Default units for an unqualified dimension</refpurpose>
+<refdescription>
+<para>If an unqualified dimension is encountered (for example, in a
+graphic width), the <parameter>default-units</parameter> will be used for the
+units. Unqualified dimensions are not allowed in XSL Formatting Objects.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+
+<xsl:param name="generate.index" select="1" doc:type='boolean'/>
+
+<!-- ==================================================================== -->
+<xsl:param name="label.from.part" select="'0'" doc:type='boolean'/>
+
+<doc:param name="label.from.part" xmlns="">
+<refpurpose>Renumber chapters in each part?</refpurpose>
+<refdescription>
+<para>If <parameter>label.from.part</parameter> is non-zero, components
+(<sgmltag>chapter</sgmltag>s, <sgmltag>appendixe</sgmltag>s, etc.)
+will be numbered from 1 in each <sgmltag>part</sgmltag>. Otherwise,
+they will be numbered monotonically throughout each
+<sgmltag>book</sgmltag>.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="formal.procedures" select="1" doc:type='boolean'/>
+
+<doc:param name="formal.procedures" xmlns="">
+<refpurpose>Selects formal or informal procedures</refpurpose>
+<refdescription>
+<para>Formal procedures are numbered and always hav a title.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="bibliography.collection" doc:type='string'
+ select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/>
+
+<doc:param name="bibliography.collection" xmlns="">
+<refpurpose>Name of the bibliography collection file</refpurpose>
+<refdescription>
+<para>Tired of copying bibliography entries from one document to another?
+Now you can maintain a central bibliography and let the stylesheets do
+the copying for you. This parameter identifies the file (by URI reference)
+that contains your complete bibliography collection.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="format.variablelist.as.list" select="1"
+ doc:type='boolean'/>
+
+<doc:param name="format.variablelist.as.list" xmlns="">
+<refpurpose>Use an fo:list to format VariableLists?</refpurpose>
+<refdescription>
+<para>If non-zero, an fo:list will be used to format VariableLists.
+Otherwise, nested fo:blocks will be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="runinhead.title.end.punct" select="'.!?:'" doc:type='string'/>
+
+<doc:param name="runinhead.title.end.punct" xmlns="">
+<refpurpose>Characters that count as punctuation on a run-in-head</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="runinhead.default.title.end.punct" select="'.'" doc:type='string'/>
+
+<doc:param name="runinhead.default.title.end.punct" xmlns="">
+<refpurpose>Default punctuation character on a run-in-head</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/fo/pi.xsl b/lib/docbook/docbook-xsl/fo/pi.xsl new file mode 100644 index 000000000..32f75608a --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/pi.xsl @@ -0,0 +1,183 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: pi.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template match="processing-instruction()">
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="dbfo-attribute">
+ <xsl:param name="pis" select="processing-instruction('dbfo')"/>
+ <xsl:param name="attribute">filename</xsl:param>
+ <xsl:param name="count">1</xsl:param>
+
+ <xsl:choose>
+ <xsl:when test="$count>count($pis)">
+ <!-- not found -->
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="pi">
+ <xsl:value-of select="$pis[$count]"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="contains($pi,concat($attribute, '='))">
+ <xsl:variable name="rest" select="substring-after($pi,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="dbfo-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="dbfo-filename">
+ <xsl:param name="pis" select="./processing-instruction('dbfo')"/>
+ <xsl:call-template name="dbfo-attribute">
+ <xsl:with-param name="pis" select="$pis"/>
+ <xsl:with-param name="attribute">filename</xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="dbfo-dir">
+ <xsl:param name="pis" select="./processing-instruction('dbfo')"/>
+ <xsl:call-template name="dbfo-attribute">
+ <xsl:with-param name="pis" select="$pis"/>
+ <xsl:with-param name="attribute">dir</xsl:with-param>
+ </xsl:call-template>
+</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>count($cmdsynopses)"></xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="cmdsyn" select="$cmdsynopses[$count]"/>
+
+ <dt>
+ <a>
+ <xsl:attribute name="href">
+ <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('dbcmdlist')">
+ <xsl:variable name="cmdsynopses" select="..//cmdsynopsis"/>
+
+ <xsl:if test="count($cmdsynopses)<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>
+
+<!-- ==================================================================== -->
+
+<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>count($funcsynopses)"></xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="cmdsyn" select="$funcsynopses[$count]"/>
+
+ <dt>
+ <a>
+ <xsl:attribute name="href">
+ <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('dbfunclist')">
+ <xsl:variable name="funcsynopses" select="..//funcsynopsis"/>
+
+ <xsl:if test="count($funcsynopses)<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>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/qandaset.xsl b/lib/docbook/docbook-xsl/fo/qandaset.xsl new file mode 100644 index 000000000..6208febae --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/qandaset.xsl @@ -0,0 +1,222 @@ +<?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: qandaset.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:variable name="qanda.defaultlabel">number</xsl:variable>
+<xsl:variable name="generate.qandaset.toc" select="true()"/>
+<xsl:variable name="generate.qandadiv.toc" select="false()"/>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="qandaset">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:if test="title">
+ <xsl:apply-templates select="title"/>
+ </xsl:if>
+
+ <xsl:apply-templates select="*[name(.) != 'title'
+ and name(.) != 'qandadiv'
+ and name(.) != 'qandaentry']"/>
+ <xsl:apply-templates select="qandadiv"/>
+
+ <xsl:if test="qandaentry">
+ <fo:list-block xsl:use-attribute-sets="list.block.spacing"
+ provisional-distance-between-starts="2.5em"
+ provisional-label-separation="0.2em">
+ <xsl:apply-templates select="qandaentry"/>
+ </fo:list-block>
+ </xsl:if>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="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="section.heading">
+ <xsl:with-param name="level" select="$sectlvl"/>
+ <xsl:with-param name="title">
+ <xsl:apply-templates/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="qandadiv">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:apply-templates select="title"/>
+ <xsl:apply-templates select="*[name(.) != 'title'
+ and name(.) != 'qandadiv'
+ and name(.) != 'qandaentry']"/>
+ <fo:block start-indent="{count(ancestor::qandadiv)*2}pc">
+ <xsl:apply-templates select="qandadiv"/>
+
+ <xsl:if test="qandaentry">
+ <fo:list-block xsl:use-attribute-sets="list.block.spacing"
+ provisional-distance-between-starts="2.5em"
+ provisional-label-separation="0.2em">
+ <xsl:apply-templates select="qandaentry"/>
+ </fo:list-block>
+ </xsl:if>
+ </fo:block>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="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="section.heading">
+ <xsl:with-param name="level"
+ select="$sectlvl + count(ancestor::qandadiv)"/>
+ <xsl:with-param name="title">
+ <xsl:apply-templates/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="qandaentry">
+ <xsl:apply-templates/>
+<!--
+ <fo:block>
+ <xsl:if test="@id">
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </fo:block>
+-->
+</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>
+
+ <fo:list-item id="{$entry.id}" xsl:use-attribute-sets="list.item.spacing">
+ <fo:list-item-label id="{$id}" end-indent="label-end()">
+ <xsl:choose>
+ <xsl:when test="$deflabel = 'none'">
+ <fo:block/>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:block>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ </fo:block>
+ </xsl:otherwise>
+ </xsl:choose>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <xsl:choose>
+ <xsl:when test="$deflabel = 'none'">
+ <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>
+ </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>
+
+ <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="$deflabel = 'none'">
+ <fo:block/>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:block>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ </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']"/>
+ </fo:list-item-body>
+ </fo:list-item>
+</xsl:template>
+
+<xsl:template match="label">
+ <xsl:apply-templates/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/refentry.xsl b/lib/docbook/docbook-xsl/fo/refentry.xsl new file mode 100644 index 000000000..2dd5efb7c --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/refentry.xsl @@ -0,0 +1,266 @@ +<?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: refentry.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="reference.titlepage"/>
+ </fo:flow>
+ </fo:page-sequence>
+ </xsl:if>
+ <xsl:apply-templates select="partintro|refentry"/>
+</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-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:apply-templates select=".." mode="reference.titlepage.mode"/>
+ <xsl:if test="title">
+ <xsl:call-template name="partintro.titlepage"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </fo:flow>
+ </fo:page-sequence>
+</xsl:template>
+
+<xsl:template match="reference/docinfo"></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-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <xsl:variable name="refentry.content">
+<!-- FIXME: what should this be?
+ <fo:block font-size="20pt" font-weight="bold">
+ <xsl:choose>
+ <xsl:when test="refmeta/refentrytitle">
+ <xsl:apply-templates select="refmeta/refentrytitle" mode="title"/>
+ </xsl:when>
+ <xsl:when test="refnamediv/refname">
+ <xsl:apply-templates select="refnamediv/refname" mode="title"/>
+ </xsl:when>
+ </xsl:choose>
+ </fo:block>
+-->
+ <fo:block id="{$id}">
+ <xsl:apply-templates/>
+ </fo:block>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="not(parent::*) or parent::reference">
+ <!-- make a page sequence -->
+ <fo:page-sequence hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:copy-of select="$refentry.content"/>
+ </fo:flow>
+ </fo:page-sequence>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:block break-before="page">
+ <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:call-template name="block.object"/>
+</xsl:template>
+
+<xsl:template match="refname">
+ <xsl:if test="$refentry.generate.name != 0">
+ <fo:block font-size="18pt" font-weight="bold">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="'RefName'"/>
+ </xsl:call-template>
+ </fo:block>
+ </xsl:if>
+ <xsl:apply-templates/>
+ <xsl:if test="following-sibling::refname">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="refpurpose">
+ <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:template>
+
+<xsl:template match="refdescriptor">
+ <!-- todo: finish this -->
+</xsl:template>
+
+<xsl:template match="refclass">
+ <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:template>
+
+<xsl:template match="refsynopsisdiv">
+ <fo:block>
+ <xsl:attribute name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ <fo:block font-size="18pt" font-weight="bold">
+ <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>
+ </fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="refsynopsisdiv/title">
+</xsl:template>
+
+<xsl:template match="refsect1|refsect2|refsect3">
+ <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<xsl:template match="refsect1/title">
+ <fo:block font-size="18pt" font-weight="bold">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="refsect2/title">
+ <fo:block font-size="16pt" font-weight="bold">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="refsect3/title">
+ <fo:block font-size="14pt" font-weight="bold">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/sections.xsl b/lib/docbook/docbook-xsl/fo/sections.xsl new file mode 100644 index 000000000..5449f410d --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/sections.xsl @@ -0,0 +1,352 @@ +<?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: sections.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="section">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:call-template name="section.titlepage"/>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="/section">
+ <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-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="section.titlepage"/>
+ <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"
+ mode="titlepage.mode"
+ priority="2">
+ <xsl:variable name="section" select="parent::*"/>
+ <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">
+ <xsl:apply-templates select="$section" mode="object.title.markup"/>
+ </xsl:variable>
+
+ <xsl:if test="$passivetex.extensions != 0">
+ <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex"
+ fotex-bookmark-level="{$level + 1}"
+ fotex-bookmark-label="{$id}">
+ <xsl:value-of select="$title"/>
+ </fotex:bookmark>
+ </xsl:if>
+
+ <xsl:call-template name="section.heading">
+ <xsl:with-param name="level" select="$level"/>
+ <xsl:with-param name="title" select="$title"/>
+ </xsl:call-template>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="sect1">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:call-template name="sect1.titlepage"/>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="/sect1">
+ <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-name">
+ <xsl:call-template name="select.pagemaster"/>
+ </xsl:variable>
+
+ <fo:page-sequence id="{$id}"
+ hyphenate="{$hyphenate}"
+ master-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <xsl:call-template name="sect1.titlepage"/>
+ <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>
+
+ <fo:block id="{$id}">
+ <xsl:call-template name="sect2.titlepage"/>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="sect3">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:call-template name="sect3.titlepage"/>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="sect4">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:call-template name="sect4.titlepage"/>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="sect5">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:call-template name="sect5.titlepage"/>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="simplesect">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <fo:block id="{$id}">
+ <xsl:call-template name="simplesect.titlepage"/>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="sectioninfo"></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/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/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/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/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/title"></xsl:template>
+<xsl:template match="sect5/titleabbrev"></xsl:template>
+<xsl:template match="sect5/subtitle"></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">1</xsl:param>
+ <xsl:param name="title"></xsl:param>
+ <xsl:variable name="fsize">
+ <xsl:choose>
+ <xsl:when test="$level=1">18</xsl:when>
+ <xsl:when test="$level=2">16</xsl:when>
+ <xsl:when test="$level=3">14</xsl:when>
+ <xsl:when test="$level=4">12</xsl:when>
+ <xsl:when test="$level=5">12</xsl:when>
+ <xsl:otherwise>10</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <fo:block font-size="{$fsize}pt"
+ font-weight="bold"
+ font-family="{$title.font.family}"
+ space-before.minimum="1em"
+ space-before.optimum="1.5em"
+ space-before.maximum="2em">
+ <xsl:copy-of select="$title"/>
+ </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'">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"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </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:call-template>
+ </fo:block>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/fo/synop.xsl b/lib/docbook/docbook-xsl/fo/synop.xsl new file mode 100644 index 000000000..667b503ac --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/synop.xsl @@ -0,0 +1,241 @@ +<?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: synop.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="synopsis">
+ <fo:block>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="cmdsynopsis">
+ <fo:block>
+ <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">
+ <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="position()>1"><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="position()>1"><xsl:value-of select="$arg.or.sep"/></xsl:if>
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="sbr">
+ <fo:inline linefeed-treatment="preserve">
</fo:inline>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="synopfragmentref">
+ <xsl:variable name="target" select="id(@linkend)"/>
+ <xsl:variable name="snum">
+ <xsl:apply-templates select="$target" mode="synopfragment.number"/>
+ </xsl:variable>
+ <fo:inline font-style="italic">
+ <xsl:text>(</xsl:text>
+ <xsl:value-of select="$snum"/>
+ <xsl:text>)</xsl:text>
+ </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>
+ <fo:block>
+ <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><xsl:apply-templates/></fo:block>
+</xsl:template>
+
+<xsl:template match="funcprototype">
+ <fo:block font-family="{$monospace.font.family}">
+ <xsl:apply-templates/>
+ <xsl:if test="$funcsynopsis.style='kr'">
+ <xsl:apply-templates select="./paramdef" mode="kr-funcsynopsis-mode"/>
+ </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:apply-templates/>
+ </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">
+ <xsl:apply-templates/>
+ <xsl:text>;</xsl:text>
+</xsl:template>
+
+<xsl:template match="funcparams">
+ <xsl:text>(</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>)</xsl:text>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/table.xsl b/lib/docbook/docbook-xsl/fo/table.xsl new file mode 100644 index 000000000..13f27fc0a --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/table.xsl @@ -0,0 +1,746 @@ +<?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:stbl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Table"
+ xmlns:xtbl="com.nwalsh.xalan.Table"
+ xmlns:lxslt="http://xml.apache.org/xslt"
+ exclude-result-prefixes="doc stbl xtbl lxslt"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: table.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<doc:reference xmlns="">
+<referenceinfo>
+<releaseinfo role="meta">
+$Id: table.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+</releaseinfo>
+<author><surname>Walsh</surname>
+<firstname>Norman</firstname></author>
+<copyright><year>1999</year><year>2000</year>
+<holder>Norman Walsh</holder>
+</copyright>
+</referenceinfo>
+<title>Formatting Object Table 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 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>
+
+<!-- ==================================================================== -->
+
+<lxslt:component prefix="xtbl"
+ functions="adjustColumnWidths"/>
+
+<!-- ==================================================================== -->
+
+<xsl:param name="table-border-thickness" select="'0.5pt'"/>
+<xsl:param name="table-border-padding" select="'2pt'"/>
+<xsl:param name="table-border-style" select="'solid'"/>
+<xsl:param name="table-border-color" select="'black'"/>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="border">
+ <xsl:param name="side" select="'left'"/>
+ <xsl:param name="padding" select="0"/>
+
+ <xsl:attribute name="border-{$side}">
+ <xsl:value-of select="$table-border-thickness"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$table-border-style"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$table-border-color"/>
+ <xsl:text> </xsl:text>
+ </xsl:attribute>
+ <xsl:if test="$padding != 0">
+ <xsl:attribute name="padding-{$side}">
+ <xsl:value-of select="$table-border-padding"/>
+ </xsl:attribute>
+ </xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="tgroup">
+ <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
+
+ <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="'table-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>
+
+ <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: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="contains($vendor, 'SAXON 6')">
+ <xsl:copy-of select="stbl:adjustColumnWidths($colspecs)"/>
+ </xsl:when>
+ <xsl:when test="contains($vendor, 'SAXON 5')">
+ <!-- the saxon5 extension doesn't support this (yet) -->
+ <xsl:call-template name="generate.colgroup">
+ <xsl:with-param name="cols" select="@cols"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="contains($vendor, 'Apache Software Foundation')">
+ <xsl:copy-of select="xtbl:adjustColumnWidths($colspecs)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>Don't know how to do adjust column widths with </xsl:text>
+ <xsl:value-of select="$vendor"/>
+ </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 match="spanspec"></xsl:template>
+
+<xsl:template match="thead">
+ <xsl:variable name="tgroup" select="parent::*"/>
+ <xsl:variable name="frame" select="$tgroup/parent::*/@frame"/>
+
+ <fo:table-header>
+ <xsl:choose>
+ <xsl:when test="$frame='topbot' or $frame='top'">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'top'"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$frame='sides'">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'left'"/>
+ </xsl:call-template>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'right'"/>
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:apply-templates/>
+ </fo:table-header>
+</xsl:template>
+
+<xsl:template match="tfoot">
+ <xsl:variable name="tgroup" select="parent::*"/>
+ <xsl:variable name="frame" select="$tgroup/parent::*/@frame"/>
+
+ <fo:table-footer>
+ <xsl:choose>
+ <xsl:when test="$frame='topbot' or $frame='top'">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'top'"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$frame='sides'">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'left'"/>
+ </xsl:call-template>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'right'"/>
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:apply-templates/>
+ </fo:table-footer>
+</xsl:template>
+
+<xsl:template match="tbody">
+ <xsl:variable name="tgroup" select="parent::*"/>
+ <xsl:variable name="frame" select="$tgroup/parent::*/@frame"/>
+ <fo:table-body>
+ <xsl:choose>
+ <xsl:when test="$frame='top'">
+ <xsl:choose>
+ <xsl:when test="preceding-sibling::thead">
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'top'"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$frame='bottom'">
+ <xsl:choose>
+ <xsl:when test="preceding-sibling::tfoot">
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'bottom'"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$frame='topbot'">
+ <xsl:choose>
+ <xsl:when test="preceding-sibling::thead">
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'top'"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="preceding-sibling::tfoot">
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'bottom'"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$frame='sides'">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'left'"/>
+ </xsl:call-template>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'right'"/>
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:apply-templates/>
+ </fo:table-body>
+</xsl:template>
+
+<xsl:template match="row">
+ <fo:table-row>
+ <xsl:if test="@rowsep='1'">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'bottom'"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </fo:table-row>
+</xsl:template>
+
+<xsl:template match="thead/row/entry">
+ <xsl:call-template name="process.cell"/>
+</xsl:template>
+
+<xsl:template match="tbody/row/entry">
+ <xsl:call-template name="process.cell"/>
+</xsl:template>
+
+<xsl:template match="tfoot/row/entry">
+ <xsl:call-template name="process.cell"/>
+</xsl:template>
+
+<xsl:template name="process.cell">
+ <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="content">
+ <xsl:apply-templates/>
+ </xsl:variable>
+
+ <fo:table-cell>
+ <xsl:choose>
+ <xsl:when test="$frame='all'">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'left'"/>
+ <xsl:with-param name="padding" select="1"/>
+ </xsl:call-template>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'right'"/>
+ <xsl:with-param name="padding" select="1"/>
+ </xsl:call-template>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'top'"/>
+ <xsl:with-param name="padding" select="1"/>
+ </xsl:call-template>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'bottom'"/>
+ <xsl:with-param name="padding" select="1"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="@colsep='1'">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'right'"/>
+ <xsl:with-param name="padding" select="1"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="@rowsep='1'">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'bottom'"/>
+ <xsl:with-param name="padding" select="1"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:if test="@morerows">
+ <xsl:attribute name="number-rows-spanned">
+ <xsl:value-of select="@morerows+1"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@namest">
+ <xsl:attribute name="column-number">
+ <xsl:call-template name="colspec.colnum">
+ <xsl:with-param name="colname" select="@namest"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="number-columns-spanned">
+ <xsl:call-template name="calculate.colspan"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <fo:block>
+ <xsl:copy-of select="$content"/>
+ </fo:block>
+ </fo:table-cell>
+</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 -->
+ <!-- 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:value-of select="substring-before($colwidth, '*')"/>
+ <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:template name="colspec.colnum">
+ <!-- when this macro is called, the current context must be an entry -->
+ <xsl:param name="colname"></xsl:param>
+ <!-- .. = row, ../.. = thead|tbody, ../../.. = tgroup -->
+ <xsl:param name="colspecs" select="../../../../tgroup/colspec"/>
+ <xsl:param name="count">1</xsl:param>
+ <xsl:param name="colnum">1</xsl:param>
+ <xsl:choose>
+ <xsl:when test="$count>count($colspecs)"></xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="colspec" select="$colspecs[$count=position()]"/>
+<!--
+ <xsl:value-of select="$count"/>:
+ <xsl:value-of select="$colspec/@colname"/>=
+ <xsl:value-of select="$colnum"/>
+-->
+ <xsl:choose>
+ <xsl:when test="$colspec/@colname=$colname">
+ <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:when>
+ <xsl:otherwise>
+ <xsl:call-template name="colspec.colnum">
+ <xsl:with-param name="colname" select="$colname"/>
+ <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="calculate.colspan">
+ <xsl:variable name="scol">
+ <xsl:call-template name="colspec.colnum">
+ <xsl:with-param name="colname" select="@namest"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="ecol">
+ <xsl:call-template name="colspec.colnum">
+ <xsl:with-param name="colname" select="@nameend"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:value-of select="$ecol - $scol + 1"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/titlepage.templates.xml b/lib/docbook/docbook-xsl/fo/titlepage.templates.xml new file mode 100644 index 000000000..1655e3305 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/titlepage.templates.xml @@ -0,0 +1,934 @@ +<!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"> + +<!-- ==================================================================== --> + +<t:titlepage element="article" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="component.title" + param:node="ancestor-or-self::article[1]" + fo:text-align="center" + fo:margin-left="-4pc" + fo:keep-with-next="always" + fo:font-size="&hsize5;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}" + fo:text-align="center"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="set" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="division.title" + param:node="ancestor-or-self::set[1]" + fo:text-align="center" + fo:font-size="&hsize5;" + fo:space-before="&hsize5space;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}" + fo:text-align="center"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="book" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="division.title" + param:node="ancestor-or-self::book[1]" + fo:text-align="center" + fo:font-size="&hsize5;" + fo:space-before="&hsize5space;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:text-align="center" + fo:font-size="&hsize4;" + fo:space-before="&hsize4space;" + fo:font-family="{$title.font.family}"/> + <corpauthor fo:font-size="&hsize3;" + fo:keep-with-next="always" + fo:space-before="2in"/> + <authorgroup fo:space-before="2in"/> + <author fo:font-size="&hsize3;" + fo:space-before="&hsize2space;" + fo:keep-with-next="always"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + <title + named-template="book.verso.title" + fo:font-size="&hsize2;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <pubdate fo:space-before="1em"/> + <copyright/> + <abstract/> + <legalnotice fo:font-size="8pt"/> + </t:titlepage-content> + + <t:titlepage-separator> + <fo:block break-after="page"/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + <fo:block break-after="page"/> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="part" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="division.title" + param:node="ancestor-or-self::part[1]" + fo:text-align="center" + fo:font-size="&hsize5;" + fo:space-before="&hsize5space;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:text-align="center" + fo:font-size="&hsize4;" + fo:space-before="&hsize4space;" + fo:font-weight='bold' + fo:font-style='italic' + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="partintro" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:text-align="center" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:margin-left="-4pc" + fo:space-before="1em" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:text-align="center" + fo:font-size="&hsize2;" + fo:font-weight="bold" + fo:font-style="italic" + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="reference" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="division.title" + param:node="ancestor-or-self::reference[1]" + fo:text-align="center" + fo:font-size="&hsize5;" + fo:space-before="&hsize5space;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}" + fo:text-align="center"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="dedication" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::dedication[1]" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="preface" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::preface[1]" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="chapter" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="component.title" + param:node="ancestor-or-self::chapter[1]" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:space-before="0.5em" + fo:margin-left="-4pc" + fo:font-style="italic" + fo:font-size="&hsize2;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="appendix" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="component.title" + param:node="ancestor-or-self::appendix[1]" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="section" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="-4pc" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect1" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="-4pc" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect2" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="-4pc" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect3" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="-4pc" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect4" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="-4pc" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect5" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="-4pc" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="simplesect" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="-4pc" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="bibliography" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::bibliography[1]" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="glossary" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::glossary[1]" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="index" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::index[1]" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="colophon" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::colophon[1]" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="table.of.contents" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'TableofContents'" + fo:space-after="1em" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage element="list.of.tables" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'ListofTables'" + fo:space-after="1em" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage element="list.of.figures" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'ListofFigures'" + fo:space-after="1em" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage element="list.of.examples" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'ListofExamples'" + fo:space-after="1em" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage element="list.of.equations" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'ListofEquations'" + fo:space-after="1em" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage element="list.of.unknowns" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'ListofUnknown'" + fo:space-after="1em" + fo:margin-left="-4pc" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + +</t:templates> diff --git a/lib/docbook/docbook-xsl/fo/titlepage.templates.xsl b/lib/docbook/docbook-xsl/fo/titlepage.templates.xsl new file mode 100644 index 000000000..843b5b007 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/titlepage.templates.xsl @@ -0,0 +1,2914 @@ +<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<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="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="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="articleinfo/authorgroup"/>
+ <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/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="articleinfo/othercredit"/>
+ <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/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="articleinfo/copyright"/>
+ <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/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="articleinfo/pubdate"/>
+ <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/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="articleinfo/revhistory"/>
+ <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/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: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">
+ <xsl:call-template name="article.titlepage.before.recto"/>
+ <xsl:call-template name="article.titlepage.recto"/>
+ <xsl:call-template name="article.titlepage.before.verso"/>
+ <xsl:call-template name="article.titlepage.verso"/>
+ <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" text-align="center" margin-left="-4pc" keep-with-next="always" font-size="24.8832pt" font-weight="bold" font-family="{$title.font.family}">
+<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" font-family="{$title.font.family}" text-align="center">
+<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">
+<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">
+<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">
+<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">
+<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">
+<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">
+<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">
+<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">
+<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">
+<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">
+<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">
+<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="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="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="setinfo/authorgroup"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/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:call-template name="set.titlepage.before.recto"/>
+ <xsl:call-template name="set.titlepage.recto"/>
+ <xsl:call-template name="set.titlepage.before.verso"/>
+ <xsl:call-template name="set.titlepage.verso"/>
+ <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.font.family}">
+<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.font.family}" 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="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="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="bookinfo/authorgroup"/>
+ <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/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="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="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/pubdate"/>
+ <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/>
+ <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/>
+ <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/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:call-template name="book.titlepage.before.recto"/>
+ <xsl:call-template name="book.titlepage.recto"/>
+ <xsl:call-template name="book.titlepage.before.verso"/>
+ <xsl:call-template name="book.titlepage.verso"/>
+ <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.font.family}">
+<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.font.family}">
+<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="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="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.font.family}">
+<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:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</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="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="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="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:call-template name="part.titlepage.before.recto"/>
+ <xsl:call-template name="part.titlepage.recto"/>
+ <xsl:call-template name="part.titlepage.before.verso"/>
+ <xsl:call-template name="part.titlepage.verso"/>
+ <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.font.family}">
+<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.font.family}">
+<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="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="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="partintroinfo/authorgroup"/>
+ <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/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="partintroinfo/othercredit"/>
+ <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/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="partintroinfo/copyright"/>
+ <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/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="partintroinfo/pubdate"/>
+ <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/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="partintroinfo/revhistory"/>
+ <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="partintro.titlepage.before.recto"/>
+ <xsl:call-template name="partintro.titlepage.recto"/>
+ <xsl:call-template name="partintro.titlepage.before.verso"/>
+ <xsl:call-template name="partintro.titlepage.verso"/>
+ <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="17.28pt" font-weight="bold" margin-left="-4pc" space-before="1em" font-family="{$title.font.family}">
+<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.font.family}">
+<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="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="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="referenceinfo/authorgroup"/>
+ <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/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="referenceinfo/othercredit"/>
+ <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/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="referenceinfo/copyright"/>
+ <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/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="referenceinfo/pubdate"/>
+ <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/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="referenceinfo/revhistory"/>
+ <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="reference.titlepage.before.recto"/>
+ <xsl:call-template name="reference.titlepage.recto"/>
+ <xsl:call-template name="reference.titlepage.before.verso"/>
+ <xsl:call-template name="reference.titlepage.verso"/>
+ <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.font.family}">
+<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.font.family}" 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="dedication.titlepage.recto">
+ <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" margin-left="-4pc" font-size="17.28pt" font-family="{$title.font.family}" 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="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:call-template name="dedication.titlepage.before.recto"/>
+ <xsl:call-template name="dedication.titlepage.recto"/>
+ <xsl:call-template name="dedication.titlepage.before.verso"/>
+ <xsl:call-template name="dedication.titlepage.verso"/>
+ <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.font.family}">
+<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="-4pc" font-size="17.28pt" font-family="{$title.font.family}" 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="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="prefaceinfo/authorgroup"/>
+ <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/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="prefaceinfo/othercredit"/>
+ <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/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="prefaceinfo/copyright"/>
+ <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/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="prefaceinfo/pubdate"/>
+ <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/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="prefaceinfo/revhistory"/>
+ <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="preface.titlepage.before.recto"/>
+ <xsl:call-template name="preface.titlepage.recto"/>
+ <xsl:call-template name="preface.titlepage.before.verso"/>
+ <xsl:call-template name="preface.titlepage.verso"/>
+ <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.font.family}">
+<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="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="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="chapterinfo/authorgroup"/>
+ <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/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="chapterinfo/othercredit"/>
+ <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/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="chapterinfo/copyright"/>
+ <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/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="chapterinfo/pubdate"/>
+ <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/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="chapterinfo/revhistory"/>
+ <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/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: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">
+ <xsl:call-template name="chapter.titlepage.before.recto"/>
+ <xsl:call-template name="chapter.titlepage.recto"/>
+ <xsl:call-template name="chapter.titlepage.before.verso"/>
+ <xsl:call-template name="chapter.titlepage.verso"/>
+ <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" margin-left="-4pc" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}">
+<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" margin-left="-4pc" font-style="italic" font-size="14.4pt" font-weight="bold" font-family="{$title.font.family}">
+<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">
+<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">
+<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">
+<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="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="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="appendixinfo/authorgroup"/>
+ <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/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="appendixinfo/othercredit"/>
+ <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/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="appendixinfo/copyright"/>
+ <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/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="appendixinfo/pubdate"/>
+ <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/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="appendixinfo/revhistory"/>
+ <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="appendix.titlepage.before.recto"/>
+ <xsl:call-template name="appendix.titlepage.recto"/>
+ <xsl:call-template name="appendix.titlepage.before.verso"/>
+ <xsl:call-template name="appendix.titlepage.verso"/>
+ <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="-4pc" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}">
+<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.font.family}">
+<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="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="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="sectioninfo/authorgroup"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/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:call-template name="section.titlepage.before.recto"/>
+ <xsl:call-template name="section.titlepage.recto"/>
+ <xsl:call-template name="section.titlepage.before.verso"/>
+ <xsl:call-template name="section.titlepage.verso"/>
+ <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="-4pc" font-family="{$title.font.family}">
+<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.font.family}">
+<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="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="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="sect1info/authorgroup"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/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:call-template name="sect1.titlepage.before.recto"/>
+ <xsl:call-template name="sect1.titlepage.recto"/>
+ <xsl:call-template name="sect1.titlepage.before.verso"/>
+ <xsl:call-template name="sect1.titlepage.verso"/>
+ <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="-4pc" font-family="{$title.font.family}">
+<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.font.family}">
+<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="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="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="sect2info/authorgroup"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/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:call-template name="sect2.titlepage.before.recto"/>
+ <xsl:call-template name="sect2.titlepage.recto"/>
+ <xsl:call-template name="sect2.titlepage.before.verso"/>
+ <xsl:call-template name="sect2.titlepage.verso"/>
+ <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="-4pc" font-family="{$title.font.family}">
+<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.font.family}">
+<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="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="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="sect3info/authorgroup"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/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:call-template name="sect3.titlepage.before.recto"/>
+ <xsl:call-template name="sect3.titlepage.recto"/>
+ <xsl:call-template name="sect3.titlepage.before.verso"/>
+ <xsl:call-template name="sect3.titlepage.verso"/>
+ <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="-4pc" font-family="{$title.font.family}">
+<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.font.family}">
+<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="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="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="sect4info/authorgroup"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/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:call-template name="sect4.titlepage.before.recto"/>
+ <xsl:call-template name="sect4.titlepage.recto"/>
+ <xsl:call-template name="sect4.titlepage.before.verso"/>
+ <xsl:call-template name="sect4.titlepage.verso"/>
+ <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="-4pc" font-family="{$title.font.family}">
+<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.font.family}">
+<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="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="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="sect5info/authorgroup"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/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:call-template name="sect5.titlepage.before.recto"/>
+ <xsl:call-template name="sect5.titlepage.recto"/>
+ <xsl:call-template name="sect5.titlepage.before.verso"/>
+ <xsl:call-template name="sect5.titlepage.verso"/>
+ <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="-4pc" font-family="{$title.font.family}">
+<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.font.family}">
+<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="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="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="simplesectinfo/authorgroup"/>
+ <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/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="simplesectinfo/othercredit"/>
+ <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/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="simplesectinfo/copyright"/>
+ <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/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="simplesectinfo/pubdate"/>
+ <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/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="simplesectinfo/revhistory"/>
+ <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="simplesect.titlepage.before.recto"/>
+ <xsl:call-template name="simplesect.titlepage.recto"/>
+ <xsl:call-template name="simplesect.titlepage.before.verso"/>
+ <xsl:call-template name="simplesect.titlepage.verso"/>
+ <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="-4pc" font-family="{$title.font.family}">
+<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.font.family}">
+<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="-4pc" font-size="17.28pt" font-family="{$title.font.family}" 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="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:call-template name="bibliography.titlepage.before.recto"/>
+ <xsl:call-template name="bibliography.titlepage.recto"/>
+ <xsl:call-template name="bibliography.titlepage.before.verso"/>
+ <xsl:call-template name="bibliography.titlepage.verso"/>
+ <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.font.family}">
+<xsl:apply-templates select="." mode="bibliography.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="-4pc" font-size="17.28pt" font-family="{$title.font.family}" 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="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:call-template name="glossary.titlepage.before.recto"/>
+ <xsl:call-template name="glossary.titlepage.recto"/>
+ <xsl:call-template name="glossary.titlepage.before.verso"/>
+ <xsl:call-template name="glossary.titlepage.verso"/>
+ <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.font.family}">
+<xsl:apply-templates select="." mode="glossary.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="-4pc" font-size="17.28pt" font-family="{$title.font.family}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[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="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:call-template name="index.titlepage.before.recto"/>
+ <xsl:call-template name="index.titlepage.recto"/>
+ <xsl:call-template name="index.titlepage.before.verso"/>
+ <xsl:call-template name="index.titlepage.verso"/>
+ <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.font.family}">
+<xsl:apply-templates select="." mode="index.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="-4pc" font-size="17.28pt" font-family="{$title.font.family}" 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="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:call-template name="colophon.titlepage.before.recto"/>
+ <xsl:call-template name="colophon.titlepage.recto"/>
+ <xsl:call-template name="colophon.titlepage.before.verso"/>
+ <xsl:call-template name="colophon.titlepage.verso"/>
+ <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.font.family}">
+<xsl:apply-templates select="." mode="colophon.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-after="1em" margin-left="-4pc" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}">
+<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:call-template name="table.of.contents.titlepage.before.recto"/>
+ <xsl:call-template name="table.of.contents.titlepage.recto"/>
+ <xsl:call-template name="table.of.contents.titlepage.before.verso"/>
+ <xsl:call-template name="table.of.contents.titlepage.verso"/>
+ <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-after="1em" margin-left="-4pc" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}">
+<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:call-template name="list.of.tables.titlepage.before.recto"/>
+ <xsl:call-template name="list.of.tables.titlepage.recto"/>
+ <xsl:call-template name="list.of.tables.titlepage.before.verso"/>
+ <xsl:call-template name="list.of.tables.titlepage.verso"/>
+ <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-after="1em" margin-left="-4pc" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}">
+<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:call-template name="list.of.figures.titlepage.before.recto"/>
+ <xsl:call-template name="list.of.figures.titlepage.recto"/>
+ <xsl:call-template name="list.of.figures.titlepage.before.verso"/>
+ <xsl:call-template name="list.of.figures.titlepage.verso"/>
+ <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-after="1em" margin-left="-4pc" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}">
+<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:call-template name="list.of.examples.titlepage.before.recto"/>
+ <xsl:call-template name="list.of.examples.titlepage.recto"/>
+ <xsl:call-template name="list.of.examples.titlepage.before.verso"/>
+ <xsl:call-template name="list.of.examples.titlepage.verso"/>
+ <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-after="1em" margin-left="-4pc" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}">
+<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:call-template name="list.of.equations.titlepage.before.recto"/>
+ <xsl:call-template name="list.of.equations.titlepage.recto"/>
+ <xsl:call-template name="list.of.equations.titlepage.before.verso"/>
+ <xsl:call-template name="list.of.equations.titlepage.verso"/>
+ <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.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-after="1em" margin-left="-4pc" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}">
+<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:call-template name="list.of.unknowns.titlepage.before.recto"/>
+ <xsl:call-template name="list.of.unknowns.titlepage.recto"/>
+ <xsl:call-template name="list.of.unknowns.titlepage.before.verso"/>
+ <xsl:call-template name="list.of.unknowns.titlepage.verso"/>
+ <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>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/fo/titlepage.xsl b/lib/docbook/docbook-xsl/fo/titlepage.xsl new file mode 100644 index 000000000..870fee5b1 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/titlepage.xsl @@ -0,0 +1,637 @@ +<?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: titlepage.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:attribute-set name="book.titlepage.recto.style">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$title.font.family"/>
+ </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="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="colophon.titlepage.recto.style"/>
+<xsl:attribute-set name="colophon.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">
+ <xsl:apply-templates mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="abstract" mode="titlepage.mode">
+ <fo:block>
+ <xsl:if test="title"> <!-- FIXME: add param for using default title? -->
+ <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"/>
+ </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:wrapper>
+ <xsl:if test="@id">
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ </xsl:if>
+ <xsl:call-template name="person.name"/>
+ <xsl:apply-templates select="affiliation" mode="titlepage.mode"/>
+ </fo:wrapper>
+</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:if test="@id">
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ </xsl:if>
+ <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:variable name="years" select="year"/>
+ <xsl:variable name="holders" select="holder"/>
+
+ <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="$years" mode="titlepage.mode"/>
+ <xsl:if test="holder">
+ <xsl:call-template name="gentext.space"/>
+ <xsl:apply-templates select="$holders" mode="titlepage.mode"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="year" mode="titlepage.mode">
+ <xsl:apply-templates/><xsl:text>, </xsl:text>
+</xsl:template>
+
+<xsl:template match="year[position()=last()]" 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="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">
+ <xsl:call-template name="person.name"/>
+</xsl:template>
+
+<xsl:template match="editor[position()=1]" priority="2" mode="titlepage.mode">
+ <xsl:call-template name="gentext.edited.by"/>
+ <xsl:call-template name="person.name"/>
+</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="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">
+ <fo:block>
+ <xsl:if test="title"> <!-- FIXME: add param for using default title? -->
+ <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"/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice/title" mode="titlepage.mode">
+</xsl:template>
+
+<xsl:template match="legalnotice/title" mode="titlepage.legalnotice.title.mode">
+ <xsl:apply-templates 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:apply-templates mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="orgname" mode="titlepage.mode">
+ <fo:block>
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </fo:block>
+</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">
+ <fo:table table-layout="fixed">
+ <fo:table-column column-number="1" column-width="33%"/>
+ <fo:table-column column-number="2" column-width="33%"/>
+ <fo:table-column column-number="3" column-width="33%"/>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell number-columns-spanned="3">
+ <fo:block>
+ <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"/>
+ <xsl:variable name="revremark" select=".//revremark"/>
+ <fo:table-row>
+ <fo:table-cell>
+ <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>
+ <fo:block>
+ <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/>
+ </fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>
+ <xsl:apply-templates select="$revauthor[1]" mode="titlepage.mode"/>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <xsl:if test="$revremark">
+ <fo:table-row>
+ <fo:table-cell number-columns-spanned="3">
+ <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/revremark" 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" mode="titlepage.mode" priority="2">
+ <fo:block>
+ <xsl:if test="@id">
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ </xsl:if>
+ <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"/>
+ </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::bookinfo/subtitle">
+ <xsl:text>: </xsl:text>
+
+ <xsl:apply-templates select="(following-sibling::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 match="bookinfo/author" mode="titlepage.mode" priority="2">
+ <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"/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="bookinfo/corpauthor" mode="titlepage.mode" priority="2">
+ <fo:block>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="'by'"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<xsl:template match="bookinfo/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>
diff --git a/lib/docbook/docbook-xsl/fo/toc.xsl b/lib/docbook/docbook-xsl/fo/toc.xsl new file mode 100644 index 000000000..68ff937d3 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/toc.xsl @@ -0,0 +1,211 @@ +<?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: toc.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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-name">
+ <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-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+
+ <fo:flow flow-name="xsl-region-body">
+ <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-name="{$master-name}">
+ <xsl:attribute name="language">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:attribute>
+ <xsl:if test="$double.sided != 0">
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="." mode="running.head.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="." mode="running.foot.mode">
+ <xsl:with-param name="master-name" select="$master-name"/>
+ </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>
diff --git a/lib/docbook/docbook-xsl/fo/verbatim.xsl b/lib/docbook/docbook-xsl/fo/verbatim.xsl new file mode 100644 index 000000000..b8ffeca17 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/verbatim.xsl @@ -0,0 +1,246 @@ +<?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: verbatim.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<lxslt:component prefix="xverb"
+ functions="numberLines"/>
+
+<xsl:template match="programlisting|screen">
+ <xsl:param name="suppress-numbers" select="'0'"/>
+ <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$suppress-numbers = '0'
+ and @linenumbering = 'numbered'
+ and $use.extensions != '0'
+ and $linenumbering.extension != '0'">
+ <xsl:variable name="rtf">
+ <xsl:apply-templates/>
+ </xsl:variable>
+ <fo:block wrap-option='no-wrap'
+ text-align='start'
+ white-space-collapse='false'
+ linefeed-treatment="preserve"
+ xsl:use-attribute-sets="monospace.verbatim.properties">
+ <xsl:call-template name="number.rtf.lines">
+ <xsl:with-param name="rtf" select="$rtf"/>
+ </xsl:call-template>
+ </fo:block>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:block wrap-option='no-wrap'
+ text-align='start'
+ white-space-collapse='false'
+ linefeed-treatment="preserve"
+ xsl:use-attribute-sets="monospace.verbatim.properties">
+ <xsl:apply-templates/>
+ </fo:block>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="literallayout">
+ <xsl:param name="suppress-numbers" select="'0'"/>
+ <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
+
+ <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'">
+ <xsl:choose>
+ <xsl:when test="@class='monospaced'">
+ <fo:block wrap-option='no-wrap'
+ text-align='start'
+ linefeed-treatment="preserve"
+ white-space-collapse='false'
+ xsl:use-attribute-sets="monospace.verbatim.properties">
+ <xsl:call-template name="number.rtf.lines">
+ <xsl:with-param name="rtf" select="$rtf"/>
+ </xsl:call-template>
+ </fo:block>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:block wrap-option='no-wrap'
+ text-align='start'
+ linefeed-treatment="preserve"
+ white-space-collapse='false'
+ xsl:use-attribute-sets="verbatim.properties">
+ <xsl:call-template name="number.rtf.lines">
+ <xsl:with-param name="rtf" select="$rtf"/>
+ </xsl:call-template>
+ </fo:block>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="@class='monospaced'">
+ <fo:block wrap-option='no-wrap'
+ text-align='start'
+ linefeed-treatment="preserve"
+ white-space-collapse='false'
+ xsl:use-attribute-sets="monospace.verbatim.properties">
+ <xsl:copy-of select="$rtf"/>
+ </fo:block>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:block wrap-option='no-wrap'
+ text-align='start'
+ linefeed-treatment="preserve"
+ white-space-collapse='false'
+ xsl:use-attribute-sets="verbatim.properties">
+ <xsl:copy-of select="$rtf"/>
+ </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="vendor" select="system-property('xsl:vendor')"/>
+
+ <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'">
+ <fo:block wrap-option='no-wrap'
+ white-space-collapse='false'
+ linefeed-treatment="preserve"
+ xsl:use-attribute-sets="verbatim.properties">
+ <xsl:call-template name="number.rtf.lines">
+ <xsl:with-param name="rtf" select="$rtf"/>
+ </xsl:call-template>
+ </fo:block>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:block wrap-option='no-wrap'
+ text-align='start'
+ linefeed-treatment="preserve"
+ white-space-collapse='false'
+ xsl:use-attribute-sets="verbatim.properties">
+ <xsl:apply-templates/>
+ </fo:block>
+ </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 <?dbfo linenumbering.*?> PI values -->
+ <xsl:variable name="pi.linenumbering.everyNth">
+ <xsl:call-template name="dbfo-attribute">
+ <xsl:with-param name="pis"
+ select="$pi.context/processing-instruction('dbfo')"/>
+ <xsl:with-param name="attribute" select="'linenumbering.everyNth'"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="pi.linenumbering.separator">
+ <xsl:call-template name="dbfo-attribute">
+ <xsl:with-param name="pis"
+ select="$pi.context/processing-instruction('dbfo')"/>
+ <xsl:with-param name="attribute" select="'linenumbering.separator'"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="pi.linenumbering.width">
+ <xsl:call-template name="dbfo-attribute">
+ <xsl:with-param name="pis"
+ select="$pi.context/processing-instruction('dbfo')"/>
+ <xsl:with-param name="attribute" select="'linenumbering.width'"/>
+ </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="vendor" select="system-property('xsl:vendor')"/>
+
+ <xsl:choose>
+ <xsl:when test="contains($vendor, 'SAXON ')">
+ <xsl:copy-of select="sverb:numberLines($rtf)"/>
+ </xsl:when>
+ <xsl:when test="contains($vendor, 'Apache Software Foundation')">
+ <xsl:copy-of select="xverb:numberLines($rtf)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>Don't know how to do line numbering with </xsl:text>
+ <xsl:value-of select="$vendor"/>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/xep.xsl b/lib/docbook/docbook-xsl/fo/xep.xsl new file mode 100644 index 000000000..8f9a86763 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/xep.xsl @@ -0,0 +1,207 @@ +<?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: xep.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+ (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)
+ ******************************************************************** -->
+
+<!-- ********************************************************************
+ Document information
+ 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:template name="xep-document-information">
+ <rx:meta-info>
+ <xsl:if test="//author[1]">
+ <xsl:element name="rx:meta-field">
+ <xsl:attribute name="name">author</xsl:attribute>
+ <xsl:attribute name="value">
+ <xsl:call-template name="person.name">
+ <xsl:with-param name="node" select="//author[1]"/>
+ </xsl:call-template>
+ </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">title</xsl:attribute>
+ <xsl:attribute name="value">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ </xsl:element>
+ </rx:meta-info>
+</xsl:template>
+
+<!-- ********************************************************************
+ Pdf bookmarks
+ ******************************************************************** -->
+<xsl:template match="set" 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="label.content"/>
+ <xsl:apply-templates select="." mode="title.content"/>
+ </xsl:variable>
+ <rx:bookmark internal-destination="{$id}">
+ <rx:bookmark-label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </rx:bookmark-label>
+
+ <xsl:if test="book">
+ <xsl:apply-templates select="book"
+ mode="xep.outline"/>
+ </xsl:if>
+ </rx:bookmark>
+</xsl:template>
+
+<xsl:template match="book" 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="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <rx:bookmark internal-destination="{$id}">
+ <rx:bookmark-label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </rx:bookmark-label>
+
+ <xsl:if test="part|preface|chapter|appendix">
+ <xsl:apply-templates select="part|preface|chapter|appendix"
+ mode="xep.outline"/>
+ </xsl:if>
+ </rx:bookmark>
+</xsl:template>
+
+
+<xsl:template match="part" 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="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <rx:bookmark internal-destination="{$id}">
+ <rx:bookmark-label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </rx:bookmark-label>
+
+ <xsl:if test="chapter|appendix|preface|reference">
+ <xsl:apply-templates select="chapter|appendix|preface|reference"
+ mode="xep.outline"/>
+ </xsl:if>
+ </rx:bookmark>
+</xsl:template>
+
+<xsl:template match="preface|chapter|appendix"
+ 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="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <rx:bookmark internal-destination="{$id}">
+ <rx:bookmark-label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </rx:bookmark-label>
+
+ <xsl:if test="section|sect1">
+ <xsl:apply-templates select="section|sect1"
+ mode="xep.outline"/>
+ </xsl:if>
+ </rx:bookmark>
+</xsl:template>
+
+<xsl:template match="section|sect1|sect2|sect3|sect4|sect5"
+ 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="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <rx:bookmark internal-destination="{$id}">
+ <rx:bookmark-label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </rx:bookmark-label>
+
+ <xsl:if test="section|sect2|sect3|sect4|sect5">
+ <xsl:apply-templates select="section|sect2|sect3|sect4|sect5"
+ mode="xep.outline"/>
+ </xsl:if>
+ </rx:bookmark>
+</xsl:template>
+
+<xsl:template match="bibliography|glossary|index"
+ 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="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <rx:bookmark internal-destination="{$id}">
+ <rx:bookmark-label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </rx:bookmark-label>
+ </rx:bookmark>
+</xsl:template>
+<!-- Added missing template for "article" -->
+<xsl:template match="article"
+ 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="label.markup"/>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <rx:bookmark internal-destination="{$id}">
+ <rx:bookmark-label>
+ <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/>
+ </rx:bookmark-label>
+
+ <xsl:if test="section|sect1|appendix|bibliography|glossary|index">
+ <xsl:apply-templates select="section|sect1|appendix|bibliography|glossary|index"
+ mode="xep.outline"/>
+ </xsl:if>
+ </rx:bookmark>
+</xsl:template>
+
+
+
+<xsl:template match="title" mode="xep.outline">
+ <xsl:apply-templates/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/fo/xref.xsl b/lib/docbook/docbook-xsl/fo/xref.xsl new file mode 100644 index 000000000..82885c5f7 --- /dev/null +++ b/lib/docbook/docbook-xsl/fo/xref.xsl @@ -0,0 +1,415 @@ +<?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: xref.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="anchor">
+ <fo:wrapper id="{@id}"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="xref">
+ <xsl:variable name="targets" select="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="$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:choose>
+ <xsl:when test="@endterm">
+ <xsl:variable name="etargets" select="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:otherwise>
+ <xsl:apply-templates select="$target" mode="xref-to"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </fo:basic-link>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="*" mode="endterm">
+ <!-- Process the children of the endterm element -->
+ <xsl:apply-templates select="child::node()"/>
+</xsl:template>
+
+<!--- ==================================================================== -->
+
+<xsl:template match="*" mode="xref-to">
+ <xsl:param name="target" select="."/>
+ <xsl:param name="refelem" select="local-name($target)"/>
+
+ <xsl:message>
+ <xsl:text>Don't know what gentext to create for xref to: "</xsl:text>
+ <xsl:value-of select="$refelem"/>
+ <xsl:text>"</xsl:text>
+ </xsl:message>
+ <xsl:text>???</xsl:text>
+</xsl:template>
+
+<xsl:template match="author" mode="xref-to">
+ <xsl:call-template name="person.name"/>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="xref-to">
+ <xsl:call-template name="person.name.list"/>
+</xsl:template>
+
+<xsl:template match="figure" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="example" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="table" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="equation" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="procedure" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</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" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="preface" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="chapter" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="appendix" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="bibliography" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="biblioentry|bibliomixed" mode="xref-to">
+ <!-- handles both biblioentry and bibliomixed -->
+ <xsl:text>[</xsl:text>
+ <xsl:choose>
+ <xsl:when test="string(.) = ''">
+ <xsl:variable name="bib" select="document($bibliography.collection)"/>
+ <xsl:variable name="id" select="@id"/>
+ <xsl:variable name="entry" select="$bib/bibliography/*[@id=$id][1]"/>
+ <xsl:choose>
+ <xsl:when test="$entry">
+ <xsl:choose>
+ <xsl:when test="local-name($entry/*[1]) = 'abbrev'">
+ <xsl:apply-templates select="$entry/*[1]"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@id"/>
+ </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"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="local-name(*[1]) = 'abbrev'">
+ <xsl:apply-templates select="*[1]"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@id"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>]</xsl:text>
+</xsl:template>
+
+<xsl:template match="glossary" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="index" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="section|simplesect
+ |sect1|sect2|sect3|sect4|sect5
+ |refsect1|refsect2|refsect3" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+ <!-- What about "in Chapter X"? -->
+</xsl:template>
+
+<xsl:template match="bridgehead" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+ <!-- What about "in Chapter X"? -->
+</xsl:template>
+
+<xsl:template match="qandaset" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="qandadiv" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="qandaentry" mode="xref-to">
+ <xsl:apply-templates select="question[1]" mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="question" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="answer" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="part" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="reference" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="step" mode="xref-to">
+ <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-to">
+ <xsl:apply-templates select="." mode="callout-bug"/>
+</xsl:template>
+
+<xsl:template match="book" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="link">
+ <xsl:variable name="targets" select="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>
+
+ <fo:basic-link internal-destination="{@linkend}"
+ xsl:use-attribute-sets="xref.properties">
+ <xsl:choose>
+ <xsl:when test="count(child::node()) > 0">
+ <!-- If it has content, use it -->
+ <xsl:apply-templates/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- else look for an endterm -->
+ <xsl:choose>
+ <xsl:when test="@endterm">
+ <xsl:variable name="etargets" select="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: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>
+ </xsl:otherwise>
+ </xsl:choose>
+ </fo:basic-link>
+</xsl:template>
+
+<xsl:template match="ulink">
+ <fo:basic-link external-destination="{@url}"
+ xsl:use-attribute-sets="xref.properties">
+ <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>
+ </fo:basic-link>
+ <xsl:if test="count(child::node()) != 0">
+ <fo:inline hyphenate="false">
+ <xsl:text> [</xsl:text>
+ <xsl:value-of select="@url"/>
+ <xsl:text>]</xsl:text>
+ </fo:inline>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="olink">
+ <xsl:apply-templates/>
+</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 name="insert.page.citation">
+ <xsl:param name="id" select="'???'"/>
+ <xsl:if test="$insert.xref.page.number">
+ <xsl:text> </xsl:text>
+ <fo:inline keep-together.within-line="always">
+ <xsl:text>[</xsl:text>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="'page.citation'"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <fo:page-number-citation ref-id="{$id}"/>
+ <xsl:text>]</xsl:text>
+ </fo:inline>
+ </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/ChangeLog b/lib/docbook/docbook-xsl/html/ChangeLog new file mode 100644 index 000000000..760813b6b --- /dev/null +++ b/lib/docbook/docbook-xsl/html/ChangeLog @@ -0,0 +1,355 @@ +2001-08-14 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * xref.xsl: Display the ID when gentext cannot be created
+
+2001-08-11 Robert Stayton <bobstayton@users.sourceforge.net>
+
+ * param.xsl: Removed the '?' from olink resolver parameter because
+ the olink template will add that (or not, depending on
+ how that template is customized).
+
+2001-08-08 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * param.xsl, verbatim.xsl: Support shade.verbatim parameter
+
+2001-08-05 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * param.xsl: Removed the FormatDingbatCallout classes, they were the same as the FormatUnicodeCallout classes but with a font wrapper. Added a callout.unicode.font parameter to wrap Unicode callouts
+
+2001-08-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * autotoc.xsl: Add '.' to the autotoc.label.separator; suppress the separator if there is no label
+
+ * chunker.xsl: Added a quiet parameter to suppress the Writing... message
+
+ * refentry.xsl: Don't output anchor for refsect*, the anchor is output as part of the title processing
+
+2001-08-02 Robert Stayton <bobstayton@users.sourceforge.net>
+
+ * sections.xsl: Allow anchors in section titles
+
+ * xref.xsl: Changed <link> to process its endterm if the element content
+ is empty.
+
+2001-08-01 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * component.xsl: Don't calculate ids where they aren't used; don't put ids on divs because anchors will be output in the component title
+
+ * footnote.xsl: Process simpara in footnote; warn if something unexpected turns up in a footnote
+
+ * formal.xsl: Allow anchors in formal object titles
+
+ * graphics.xsl: Output anchors for images that have IDs
+
+ * lists.xsl: Output anchors for list elements with IDs
+
+ * param.xsl: Leave ../ out of graphics paths by default; that doesn't make sense anymore
+
+ * param.xsl, xref.xsl: First crude beginnings of olink support
+
+ * qandaset.xsl: Remove unnecessary spaces
+
+ * titlepage.templates.xml: Don't suppress othercredit on titlepages
+
+ * titlepage.xsl: Handle othercredits on title pages
+
+2001-07-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * block.xsl, param.xsl: Fix title-end punctuation problems on formalparas
+
+2001-07-17 Robert Stayton <bobstayton@users.sourceforge.net>
+
+ * graphics.xsl: Fixed bug #442160. Parameter graphic.default.extension is now used also for <graphic> and <inlinegraphic> not only for <imagedata>.
+
+ * xref.xsl: xref element with endterm attribute now uses normal templates
+ to process the children of the element pointed to by the endterm
+ ID. Formerly it just used the built-in template and rendered
+ just the text nodes.
+
+2001-07-16 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * inline.xsl, param.xsl: Added phrase.propagates.style and emphasis.propagates.style: if true, wrap a span around phrase and emphasis elements with the role attribute propagated to the class attribute
+
+ * sections.xsl: added null templates for section titleabbrev in normal mode
+
+ * table.xsl: Wrap tbody around table footnotes (so that the HTML table model is not broken)
+
+2001-07-15 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * param.xsl: Make generate.section.toc.level 0 by default
+
+2001-07-10 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * chunk.xsl: Remove extension namespace declarations; they aren't actually used in this module
+
+ * chunker.xsl: Make exsl:document the first choice
+
+ * chunker.xsl: Fix EXSLT namespace name for exsl:document element
+
+ * chunker.xsl, oldchunker.xsl, param.xsl: Move declaration for default.encoding and saxon.character.representation from param.xsl to (old)chunker.xsl so that chunker.xsl can be used by any stylesheet (indepedent of docbook.xsl). Maybe this should get moved to lib...
+
+ * pi.xsl: Irrelevant encoding change
+
+2001-07-09 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * autotoc.xsl: Fixed typo in reference to annotate.toc variable
+
+2001-07-08 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * calc-chunks.xsl, chunk-experimental.xsl: Break chunk calculation and chunking into two tasks; *requires* every chunk to have an ID
+
+ * chunker.xsl: Use element-available function not vendor to find chunking elements
+
+ * exsltchunk.xsl, exsltchunker.xsl: These have been integrated into the regular chunker now that it's based on extension-available()
+
+ * keywords.xsl: Tweaked handling of keywords to avoid multiple templates
+
+ * oldchunker.xsl: New file.
+
+ * qandaset.xsl: Improve QandA formatting; make question bold if defaultlabel=none (FR #419315)
+
+ * xref.xsl: Support xref to bridgehead
+
+2001-07-07 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * param.xsl: Added callout.dingbats parameter (for extension support; not really used in HTML)
+
+2001-07-06 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * chunk-experimental.xsl, expchunk.xsl: New file.
+
+2001-07-05 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * block.xsl: Whitespace
+
+ * block.xsl, lists.xsl: FR #422097, make a listitem containing a single simpara output an li with only inline content
+
+ * chunk-common.xsl: Patch #418401, add accesskey attributes to HTML navigation
+
+ * chunk-common.xsl: Patch #428987, use the id of the root element if use.id.as.filename is non-zero; also chunk a /section properly
+
+ * param.xsl, sections.xsl: SR #431040, added generate.section.toc.level parameter to control depth of sections which get a TOC
+
+ * param.xsl, sections.xsl: Change semantics of generate.section.toc.level; 0 no longer means ignored it now means less than 1 :-)
+
+ * titlepage.xsl: Patch #415865, output contrib for authors and othercontribs
+
+2001-07-04 <uid48421@users.sourceforge.net>
+
+ * autotoc.xsl: Support annotated TOCs
+
+ * biblio.xsl, param.xsl, xref.xsl: Support an external bibliography collection
+
+ * chunk-common.xsl, docbook.xsl, param.xsl: Bug #418968: replaced body.attrs attribute-set with body.attributes template
+
+ * component.xsl, sections.xsl: Remove internal references to *.titlepage.recto.mode and *.titlepage.verso.mode
+
+ * ebnf.xsl: Minor presentation bug fixes
+
+ * xref.xsl: Bug #429011, fix xref to qandset elements
+
+2001-06-22 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * docbook.xsl, ebnf.xsl: Support EBNF
+
+ * param.xsl: Remove unused parameter: check.idref
+
+2001-06-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * lists.xsl, param.xsl, xref.xsl: Use common code to calculate step numbers; support xref to procedures and steps; added formal.procedures parameter
+
+2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * formal.xsl: Generate formal titles correctly
+
+ * graphics.xsl: Don't put span around inlinemediaobject in programlistings or screens (causes problems with line numbering and callouts)
+
+ * refentry.xsl: Bug 434102: fix refentry inside of chapter and fix refsynopsisdiv formatting in both FO and HTML
+
+ * xref.xsl: Support xref to authorgroup
+
+2001-06-18 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * chunk-common.xsl: Reordered erroneous test: only link to top-level sections, even if the first one is a chunk
+
+2001-06-17 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * exsltchunk.xsl, exsltchunker.xsl: New file.
+
+2001-06-15 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * component.xsl: Handle subtitle in articleinfo
+
+2001-06-13 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * chunk-common.xsl: Make sure the root element gets processed correctly so that it generates the right titlepage
+
+ * component.xsl: Don't output ID attributes on DIVs with required titles since they conflict with the NAME attributes on the subsequently output A tags.
+
+ * docbook.xsl: Pass the current node to user.head.content
+
+ * index.xsl: Updated comment
+
+2001-06-07 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * lists.xsl: Things preceding steps in procedure are placed before OL list.
+
+2001-06-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * lists.xsl: Fixed typo in compact list support; backed out procedure step changes
+
+ * sections.xsl: Fixed CSS typo; clear: all should be clear: both
+
+2001-06-02 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * lists.xsl: Fixed bug #424926. Things preceding steps in procedure are not placed inside OL list.
+
+2001-05-23 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * component.xsl: Reorganized templates for clarity
+
+ * graphics.xsl: Fix dup. template bug with is.graphic.*
+
+ * titlepage.xsl: Added template for publisher
+
+2001-05-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * autotoc.xsl: Make the TOC label/title separator a parameter
+
+ * callout.xsl, verbatim.xsl: Move calculation of linenumber.* parameters into the number.rtf.lines template
+
+ * changebars.xsl: Add link and member as inlines
+
+ * sections.xsl: Refactor the section title code
+
+ * titlepage.templates.xml: Reworked titlepage template processing to support use of more interesting
+ predicates.
+
+ Note: in previous versions, at most one title, subtitle, or titleabbrev
+ element would be processed for each title page. In the new design, if you
+ have multiple title, subtitle, or titleabbrev elements inside an info
+ wrapper (you shouldn't!), they will all be processed.
+
+2001-05-13 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * param.xsl: Fixed ID typo
+
+ * synop.xsl: Fixed synopfragmentref link (suggested by Philippe Martin)
+
+2001-05-12 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * autotoc.xsl, param.xsl: Mostly failed attempt to add bridgeheads to the automatic TOC; this option is turned off by default and you should leave it that way.
+
+ * sections.xsl: Calculate the heading level for bridgeheads
+
+2001-05-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * lists.xsl: Output anchors for procedures and steps
+
+ * table.xsl: Process head/body/foot in the right order
+
+2001-04-29 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * chunk-common.xsl, chunk.xsl, xtchunk.xsl: Automatically make an index when chunking with a processor other than XT
+
+2001-04-26 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * changebars.xsl: Support a few more elements
+
+ * inline.xsl: Make glossterms hot if they're links. And make them italic.
+
+ * lists.xsl: Improve procedure step/substep enumeration
+
+2001-04-24 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * chunk-common.xsl: Feature request 416507: added chunk.sections and chunk.first.sections to provide greater chunking flexibility
+
+ * chunk-common.xsl: Fix chunking bug
+
+ * chunker.xsl: Output ID in message
+
+ * glossary.xsl: Fix bug that caused duplicated glossary entries
+
+ * qandaset.xsl: Bug #418100: fix qandaentry anchors; also fixed formatting bug in questions with indexterms
+
+2001-04-21 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * chunker.xsl, param.xsl: Added parameters for changing output encoding in chunked HTML
+
+ * inline.xsl: Improve processing of trademarks
+
+2001-04-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * inline.xsl: Restoring accidentally deleted citetitle template
+
+2001-04-18 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * autoidx.xsl: Fix bug: lowercase and uppercase need to be strings (not element names :-)
+
+ * inline.xsl, param.xsl: Bug #413982, easy support for man page CGI links on citerefentry
+
+2001-04-17 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * docbook.xsl, param.xsl: Move label.from.part parameter into param.xsl; default it to 0 so that chapters and appendixes are numbered monotonically throughout a book by default. Moved param.xsl up in the include list, just for good measure
+
+2001-04-16 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * component.xsl: Fix bug in processing of subtitle content on components
+
+ * glossary.xsl, titlepage.templates.xml: Fix formatting of glossarys--things were really broken
+
+ * xref.xsl: Patches Tracker #415439: support title attribute on HTML anchors associated with xrefs
+
+2001-04-15 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * chunk-common.xsl: Process footnotes correctly when chunking; add summary attribute to navigation tables
+
+ * docbook.xsl: Support inheriting of *info keywords
+
+ * footnote.xsl, sections.xsl: Process footnotes correctly when chunking
+
+ * formal.xsl: Use gentext templates for formal object titles
+
+ * param.xsl: Added new parameters: inherit.keywords, process.source.toc, and process.empty.source.toc; changed the default for spacing.paras to 0
+
+ * table.xsl: Improve support for align attribute on tgroup
+
+ * toc.xsl: Support DocBook toc markup
+
+ * xref.xsl: Make a title attribute on HTML anchors for links to things with titles
+
+2001-04-05 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * table.xsl: Don't translate tgroup align into HTML table align--they don't mean the same thing
+
+ * titlepage.xsl: Suppress titleabbrev on the title page
+
+2001-04-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * chunk-common.xsl: Move xsl:message about chunks into the chunker modules
+
+ * chunker.xsl: Support indent and doctype public/system on chunks (for Saxon, anyway, Xalan's multiple-document extension doesn't seem to support this)
+
+ * xtchunker.xsl: Use xsl:choose to support xml, html, and text output methods
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * callout.xsl: Fix bug 412487, make XSL-generated callout marks honor callout mark parameters
+
+ * chunk-common.xsl: Remove unnecessary xmlns declarations
+
+ * chunker.xsl: Patch to make saxon not produce xml version=1.1 documents
+
+ * param.xsl: Documentation fixes
+
+ * qandaset.xsl: Apply patch 412510 by Jon Willeke, make xref to Question work correctly
+
+ * xref.xsl: Remove unnecessary parameter assignment
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * .cvsignore, Makefile, admon.xsl, autoidx.xsl, autotoc.xsl, biblio.xsl, block.xsl, callout.xsl, changebars.xsl, chunk-common.xsl, chunk.xsl, chunker.xsl, component.xsl, division.xsl, docbook.xsl, ebnf.xsl, footnote.xsl, formal.xsl, glossary.xsl, graphics.xsl, html.xsl, index.xsl, info.xsl, inline.xsl, keywords.xsl, lists.xsl, math.xsl, param.xsl, pi.xsl, qandaset.xsl, refentry.xsl, sections.xsl, synop.xsl, table.xsl, titlepage.templates.xml, titlepage.xsl, toc.xsl, verbatim.xsl, xref.xsl, xtchunk.xsl, xtchunker.xsl:
+ New file.
+
+ * Makefile: Use the cvstools version of saxon
+
diff --git a/lib/docbook/docbook-xsl/html/admon.xsl b/lib/docbook/docbook-xsl/html/admon.xsl new file mode 100644 index 000000000..2c8b99e15 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/admon.xsl @@ -0,0 +1,135 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: admon.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template name="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="name($node)='note'">note</xsl:when>
+ <xsl:when test="name($node)='warning'">warning</xsl:when>
+ <xsl:when test="name($node)='caution'">caution</xsl:when>
+ <xsl:when test="name($node)='tip'">tip</xsl:when>
+ <xsl:when test="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">
+ <div class="{name(.)}">
+ <xsl:if test="$admon.style != ''">
+ <xsl:attribute name="style">
+ <xsl:value-of select="$admon.style"/>
+ </xsl:attribute>
+ </xsl:if>
+ <table border="0">
+ <tr>
+ <td rowspan="2" align="center" valign="top">
+ <xsl:attribute name="width">
+ <xsl:call-template name="admon.graphic.width"/>
+ </xsl:attribute>
+ <img>
+ <xsl:attribute name="src">
+ <xsl:call-template name="admon.graphic"/>
+ </xsl:attribute>
+ </img>
+ </td>
+ <th>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </th>
+ </tr>
+ <tr>
+ <td colspan="2" align="left" valign="top">
+ <xsl:apply-templates/>
+ </td>
+ </tr>
+ </table>
+ </div>
+</xsl:template>
+
+<xsl:template name="nongraphical.admonition">
+ <div class="{name(.)}">
+ <xsl:if test="$admon.style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="$admon.style"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <h3 class="title">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </h3>
+
+ <xsl:apply-templates/>
+ </div>
+</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:template match="title" mode="admonition.title.mode">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <h3 class="title">
+ <a name="{$id}">
+ <xsl:apply-templates/>
+ </a>
+ </h3>
+</xsl:template>
+
+<xsl:template match="title" mode="graphic.admonition.title.mode">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <b class="title">
+ <a name="{$id}">
+ <xsl:apply-templates/>
+ </a>
+ </b>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/autoidx.xsl b/lib/docbook/docbook-xsl/html/autoidx.xsl new file mode 100644 index 000000000..e686cd975 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/autoidx.xsl @@ -0,0 +1,296 @@ +<?xml version="1.0"?>
+<!DOCTYPE xsl:stylesheet [
+
+<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
+<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
+
+<!ENTITY primary 'concat(primary/@sortas, primary[not(@sortas)])'>
+<!ENTITY secondary 'concat(secondary/@sortas, secondary[not(@sortas)])'>
+<!ENTITY tertiary 'concat(tertiary/@sortas, tertiary[not(@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::section
+ |ancestor-or-self::sect1
+ |ancestor-or-self::sect2
+ |ancestor-or-self::sect3
+ |ancestor-or-self::sect4
+ |ancestor-or-self::sect5
+ |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)[last()]'>
+
+<!ENTITY section.id 'generate-id(§ion;)'>
+<!ENTITY sep '" "'>
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<xsl:import href="docbook.xsl"/>
+
+<!-- ==================================================================== -->
+<!-- Jeni Tennison gets all the credit for what follows.
+ I think I understand it :-) Anyway, I've hacked it a bit, so the
+ bugs are mine. -->
+
+<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="primary-section"
+ match="indexterm[not(secondary) and not(see)]"
+ use="concat(&primary;, &sep;, §ion.id;)"/>
+
+<xsl:key name="secondary-section"
+ match="indexterm[not(tertiary) and not(see)]"
+ use="concat(&primary;, &sep;, &secondary;, &sep;, §ion.id;)"/>
+
+<xsl:key name="tertiary-section"
+ match="indexterm[not(see)]"
+ use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, §ion.id;)"/>
+
+<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:key name="sections" match="*[@id]" use="@id"/>
+
+<xsl:template name="generate-index">
+ <xsl:variable name="terms" select="//indexterm[count(.|key('letter',
+ translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;))[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)))]"/>
+ <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',
+ &primary;)[1]) = 1]"
+ mode="index-primary">
+ <xsl:sort select="&primary;"/>
+ </xsl:apply-templates>
+ </dl>
+ </div>
+ </xsl:if>
+ <xsl:apply-templates select="$alphabetical[count(.|key('letter',
+ translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;))[1]) = 1]"
+ mode="index-div">
+ <xsl:sort select="&primary;"/>
+ </xsl:apply-templates>
+ </div>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-div">
+ <xsl:variable name="key" select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
+ <div class="indexdiv">
+ <h3>
+ <xsl:value-of select="translate($key, &lowercase;, &uppercase;)"/>
+ </h3>
+ <dl>
+ <xsl:apply-templates select="key('letter', $key)[count(.|key('primary', &primary;)[1]) = 1]"
+ mode="index-primary">
+ <xsl:sort select="&primary;"/>
+ </xsl:apply-templates>
+ </dl>
+ </div>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-primary">
+ <xsl:variable name="key" select="&primary;"/>
+ <xsl:variable name="refs" select="key('primary', $key)"/>
+ <dt>
+ <xsl:value-of select="primary"/>
+ <xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section', concat($key, &sep;, §ion.id;))[1])]">
+ <xsl:apply-templates select="." mode="reference"/>
+ </xsl:for-each>
+ </dt>
+ <xsl:if test="$refs/secondary or $refs[not(secondary)]/*[self::see or self::seealso]">
+ <dd>
+ <dl>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &sep;, &sep;, see))[1])]"
+ mode="index-see">
+ <xsl:sort select="see"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &sep;, &sep;, seealso))[1])]"
+ mode="index-seealso">
+ <xsl:sort select="seealso"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$refs[secondary and count(.|key('secondary', concat($key, &sep;, &secondary;))[1]) = 1]"
+ mode="index-secondary">
+ <xsl:sort select="&secondary;"/>
+ </xsl:apply-templates>
+ </dl>
+ </dd>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-secondary">
+ <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/>
+ <xsl:variable name="refs" select="key('secondary', $key)"/>
+ <dt>
+ <xsl:value-of select="secondary"/>
+ <xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section', concat($key, &sep;, §ion.id;))[1])]">
+ <xsl:apply-templates select="." mode="reference"/>
+ </xsl:for-each>
+ </dt>
+ <xsl:if test="$refs/tertiary or $refs[not(tertiary)]/*[self::see or self::seealso]">
+ <dd>
+ <dl>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, see))[1])]"
+ mode="index-see">
+ <xsl:sort select="see"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, seealso))[1])]"
+ mode="index-seealso">
+ <xsl:sort select="seealso"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$refs[tertiary and count(.|key('tertiary', concat($key, &sep;, &tertiary;))[1]) = 1]"
+ mode="index-tertiary">
+ <xsl:sort select="&tertiary;"/>
+ </xsl:apply-templates>
+ </dl>
+ </dd>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-tertiary">
+ <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;)"/>
+ <xsl:variable name="refs" select="key('tertiary', $key)"/>
+ <dt>
+ <xsl:value-of select="tertiary"/>
+ <xsl:for-each select="$refs[generate-id() = generate-id(key('tertiary-section', concat($key, &sep;, §ion.id;))[1])]">
+ <xsl:apply-templates select="." mode="reference"/>
+ </xsl:for-each>
+ </dt>
+ <xsl:variable name="see" select="$refs/see | $refs/seealso"/>
+ <xsl:if test="$see">
+ <dd>
+ <dl>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, see))[1])]"
+ mode="index-see">
+ <xsl:sort select="see"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, seealso))[1])]"
+ mode="index-seealso">
+ <xsl:sort select="seealso"/>
+ </xsl:apply-templates>
+ </dl>
+ </dd>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="reference">
+ <xsl:text>, </xsl:text>
+ <xsl:choose>
+ <xsl:when test="@zone and string(@zone)">
+ <xsl:call-template name="reference">
+ <xsl:with-param name="zones" select="normalize-space(@zone)"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <a>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="§ion;" mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="§ion;"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:value-of select="$title"/> <!-- text only -->
+ </a>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="reference">
+ <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)"/>
+
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <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>
+ <xsl:call-template name="reference">
+ <xsl:with-param name="zones" select="substring-after($zones, ' ')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="zone" select="$zones"/>
+ <xsl:variable name="target" select="key('sections', $zone)"/>
+
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <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:template match="indexterm" mode="index-see">
+ <dt><xsl:value-of select="see"/></dt>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="index-seealso">
+ <dt><xsl:value-of select="seealso"/></dt>
+</xsl:template>
+
+<xsl:template match="*" mode="index-title-content">
+ <xsl:variable name="title">
+ <xsl:apply-templates select="§ion;" mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:value-of select="$title"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/autotoc.xsl b/lib/docbook/docbook-xsl/html/autotoc.xsl new file mode 100644 index 000000000..807dac407 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/autotoc.xsl @@ -0,0 +1,620 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: autotoc.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:param name="autotoc.label.separator" select="'. '"/>
+
+<xsl:template name="href.target">
+ <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: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:otherwise>
+ </xsl:choose>
+</xsl:variable>
+
+<xsl:template name="set.toc">
+ <xsl:variable name="nodes" select="book|setindex"/>
+ <xsl:if test="$nodes">
+ <div class="toc">
+ <p>
+ <b>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">TableofContents</xsl:with-param>
+ </xsl:call-template>
+ </b>
+ </p>
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="$nodes" mode="toc"/>
+ </xsl:element>
+ </div>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="division.toc">
+ <xsl:if test="$generate.division.toc != 0">
+ <xsl:variable name="nodes" select="part|reference
+ |preface|chapter|appendix
+ |article
+ |bibliography|glossary|index
+ |refentry
+ |bridgehead"/>
+ <xsl:if test="$nodes">
+ <div class="toc">
+ <p>
+ <b>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">TableofContents</xsl:with-param>
+ </xsl:call-template>
+ </b>
+ </p>
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="$nodes" mode="toc"/>
+ </xsl:element>
+ </div>
+ </xsl:if>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="component.toc">
+ <xsl:if test="$generate.component.toc != 0">
+ <xsl:variable name="nodes" select="section|sect1|refentry
+ |article|bibliography|glossary
+ |appendix|bridgehead[not(@renderas)]
+ |.//bridgehead[@renderas='sect1']"/>
+ <xsl:if test="$nodes">
+ <div class="toc">
+ <p>
+ <b>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">TableofContents</xsl:with-param>
+ </xsl:call-template>
+ </b>
+ </p>
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="$nodes" mode="toc"/>
+ </xsl:element>
+ </div>
+ </xsl:if>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="section.toc">
+ <xsl:variable name="nodes"
+ select="section|sect1|sect2|sect3|sect4|sect5|refentry
+ |bridgehead"/>
+ <xsl:if test="$nodes">
+ <div class="toc">
+ <p>
+ <b>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">TableofContents</xsl:with-param>
+ </xsl:call-template>
+ </b>
+ </p>
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="$nodes" mode="toc"/>
+ </xsl:element>
+ </div>
+ </xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="book|setindex" mode="toc">
+ <xsl:variable name="nodes" select="part|reference
+ |preface|chapter|appendix
+ |article
+ |bibliography|glossary|index
+ |refentry
+ |bridgehead"/>
+
+ <xsl:variable name="subtoc">
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates mode="toc" select="$nodes"/>
+ </xsl:element>
+ </xsl:variable>
+
+ <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}">
+ <xsl:copy-of select="$subtoc"/>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$toc.listitem.type}">
+ <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:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ <xsl:if test="$toc.listitem.type = 'li'
+ and $toc.section.depth>0 and count($nodes)>0">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+ </xsl:element>
+ <xsl:if test="$toc.listitem.type != 'li'
+ and $toc.section.depth>0 and count($nodes)>0">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="part|reference" mode="toc">
+ <xsl:variable name="nodes" select="appendix|chapter|article
+ |index|glossary|bibliography
+ |preface|reference|refentry
+ |bridgehead"/>
+
+ <xsl:variable name="subtoc">
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="$nodes" mode="toc"/>
+ </xsl:element>
+ </xsl:variable>
+
+ <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}">
+ <xsl:copy-of select="$subtoc"/>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$toc.listitem.type}">
+ <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:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ <xsl:if test="$toc.listitem.type = 'li'
+ and $toc.section.depth>0 and count($nodes) > 0">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+ </xsl:element>
+ <xsl:if test="$toc.listitem.type != 'li'
+ and $toc.section.depth>0 and count($nodes) > 0">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="preface|chapter|appendix|article" mode="toc">
+ <xsl:variable name="subtoc">
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="section|sect1|bridgehead" mode="toc"/>
+ </xsl:element>
+ </xsl:variable>
+
+ <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}">
+ <xsl:copy-of select="$subtoc"/>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$toc.listitem.type}">
+ <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:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ <xsl:if test="$toc.listitem.type = 'li'
+ and $toc.section.depth>0 and section|sect1">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+ </xsl:element>
+ <xsl:if test="$toc.listitem.type != 'li'
+ and $toc.section.depth>0 and section|sect1">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="sect1" mode="toc">
+ <xsl:variable name="subtoc">
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="sect2|bridgehead" mode="toc"/>
+ </xsl:element>
+ </xsl:variable>
+
+ <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}">
+ <xsl:copy-of select="$subtoc"/>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$toc.listitem.type}">
+ <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:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ <xsl:if test="$toc.listitem.type = 'li'
+ and $toc.section.depth>1 and sect2">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+ </xsl:element>
+ <xsl:if test="$toc.listitem.type != 'li'
+ and $toc.section.depth>1 and sect2">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="sect2" mode="toc">
+ <xsl:variable name="subtoc">
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="sect3|bridgehead" mode="toc"/>
+ </xsl:element>
+ </xsl:variable>
+
+ <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}">
+ <xsl:copy-of select="$subtoc"/>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$toc.listitem.type}">
+ <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:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ <xsl:if test="$toc.listitem.type = 'li'
+ and $toc.section.depth>2 and sect3">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+ </xsl:element>
+ <xsl:if test="$toc.listitem.type != 'li'
+ and $toc.section.depth>2 and sect3">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="sect3" mode="toc">
+ <xsl:variable name="subtoc">
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="sect4|bridgehead" mode="toc"/>
+ </xsl:element>
+ </xsl:variable>
+
+ <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}">
+ <xsl:copy-of select="$subtoc"/>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$toc.listitem.type}">
+ <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:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ <xsl:if test="$toc.listitem.type = 'li'
+ and $toc.section.depth>3 and sect4">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+ </xsl:element>
+ <xsl:if test="$toc.listitem.type != 'li'
+ and $toc.section.depth>3 and sect4">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="sect4" mode="toc">
+ <xsl:variable name="subtoc">
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="sect5|bridgehead" mode="toc"/>
+ </xsl:element>
+ </xsl:variable>
+
+ <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}">
+ <xsl:copy-of select="$subtoc"/>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$toc.listitem.type}">
+ <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:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ <xsl:if test="$toc.listitem.type = 'li'
+ and $toc.section.depth>4 and sect5">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+ </xsl:element>
+ <xsl:if test="$toc.listitem.type != 'li'
+ and $toc.section.depth>4 and sect5">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="sect5" mode="toc">
+ <xsl:element name="{$toc.listitem.type}">
+ <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:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="section" mode="toc">
+ <xsl:variable name="subtoc">
+ <xsl:element name="{$toc.list.type}">
+ <xsl:apply-templates select="section|bridgehead" mode="toc"/>
+ </xsl:element>
+ </xsl:variable>
+
+ <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}">
+ <xsl:copy-of select="$subtoc"/>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="toodeep">
+ <xsl:choose>
+ <!-- if the depth is less than 2, we're already deep enough -->
+ <xsl:when test="$toc.section.depth < 2">yes</xsl:when>
+ <!-- if the current section has n-1 section ancestors -->
+ <!-- then we've already reached depth n -->
+ <xsl:when test="ancestor::section[position()=$toc.section.depth - 1]">
+ <xsl:text>yes</xsl:text>
+ </xsl:when>
+ <!-- otherwise, keep going -->
+ <xsl:otherwise>no</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$toc.listitem.type}">
+ <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:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ <xsl:if test="$toc.listitem.type = 'li'
+ and $toodeep='no' and section">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+ </xsl:element>
+ <xsl:if test="$toc.listitem.type != 'li'
+ and $toodeep='no' and section">
+ <xsl:copy-of select="$subtoc.list"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="bridgehead" mode="toc">
+ <xsl:if test="$bridgehead.in.toc != 0">
+ <xsl:element name="{$toc.listitem.type}">
+ <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:attribute>
+ <xsl:apply-templates/>
+ </a>
+ </xsl:element>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="bibliography|glossary" mode="toc">
+ <xsl:element name="{$toc.listitem.type}">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="index" mode="toc">
+ <!-- If the index tag is empty, don't point at it from the TOC -->
+ <xsl:if test="* or $generate.index">
+ <xsl:element name="{$toc.listitem.type}">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </a>
+ </xsl:element>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="refentry" mode="toc">
+ <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="title">
+ <xsl:choose>
+ <xsl:when test="$refentrytitle">
+ <xsl:apply-templates select="$refentrytitle[1]" mode="title"/>
+ </xsl:when>
+ <xsl:when test="$refname">
+ <xsl:apply-templates select="$refname[1]" mode="title"/>
+ </xsl:when>
+ <xsl:otherwise></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$toc.listitem.type}">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target"/>
+ </xsl:attribute>
+ <xsl:copy-of select="$title"/>
+ </a>
+ <xsl:if test="$annotate.toc != 0">
+ <xsl:text> - </xsl:text>
+ <xsl:value-of select="refnamediv/refpurpose"/>
+ </xsl:if>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="title" mode="toc">
+ <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/>
+ </a>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/html/biblio.xsl b/lib/docbook/docbook-xsl/html/biblio.xsl new file mode 100644 index 000000000..1926149f6 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/biblio.xsl @@ -0,0 +1,992 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: biblio.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="bibliography">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <div id="{$id}" class="{name(.)}">
+ <xsl:call-template name="bibliography.titlepage"/>
+ <xsl:apply-templates/>
+ <xsl:call-template name="process.footnotes"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="bibliography/bibliographyinfo"></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="bibliography/title" mode="component.title.mode">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <h2 class="title">
+ <a name="{$id}">
+ <xsl:apply-templates/>
+ </a>
+ </h2>
+</xsl:template>
+
+<xsl:template match="bibliography/subtitle" mode="component.title.mode">
+ <h3>
+ <i><xsl:apply-templates/></i>
+ </h3>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="bibliodiv">
+ <div class="{name(.)}">
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="bibliodiv/title">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <h3 class="{name(.)}">
+ <a name="{$id}">
+ <xsl:apply-templates/>
+ </a>
+ </h3>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="biblioentry">
+ <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][1]"/>
+ <xsl:choose>
+ <xsl:when test="$entry">
+ <xsl:apply-templates select="$entry"/>
+ </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 id="{$id}" class="{name(.)}">
+ <a name="{$id}"/>
+ <p>
+ <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 id="{$id}" class="{name(.)}">
+ <a name="{$id}"/>
+ <p>
+ <xsl:apply-templates mode="bibliography.mode"/>
+ </p>
+ </div>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="bibliomixed">
+ <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][1]"/>
+ <xsl:choose>
+ <xsl:when test="$entry">
+ <xsl:apply-templates select="$entry"/>
+ </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 id="{$id}" class="{name(.)}">
+ <a name="{$id}"/>
+ <p>
+ <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 id="{$id}" class="{name(.)}">
+ <a name="{$id}"/>
+ <p>
+ <xsl:choose>
+ <xsl:when test="local-name(*[1]) = 'abbrev'">
+ <xsl:apply-templates select="*[position()>1]|text()"
+ mode="bibliomixed.mode"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </p>
+ </div>
+ </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">
+ <span class="{name(.)}">
+ <xsl:text>[</xsl:text>
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:text>] </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="abstract" mode="bibliography.mode">
+ <!-- suppressed -->
+</xsl:template>
+
+<xsl:template match="address" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="affiliation" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="shortaffil" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="jobtitle" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="artheader|articleinfo" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="artpagenums" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="author" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:call-template name="person.name"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="authorblurb" mode="bibliography.mode">
+ <!-- suppressed -->
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:call-template name="person.name.list"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="authorinitials" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="bibliomisc" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="bibliomset" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<!-- ================================================== -->
+
+<xsl:template match="biblioset" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <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'">
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">ldquo</xsl:with-param>
+ </xsl:call-template>
+ <xsl:apply-templates/>
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">rdquo</xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <I><xsl:apply-templates/></I>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+</xsl:template>
+
+<!-- ================================================== -->
+
+<xsl:template match="bookbiblio" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="citetitle" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <i><xsl:apply-templates mode="bibliography.mode"/></i>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="collab" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="collabname" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="confgroup" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="confdates" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="conftitle" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="confnum" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="confsponsor" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="contractnum" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="contractsponsor" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="contrib" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<!-- ================================================== -->
+
+<xsl:template match="copyright" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <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"/>
+ </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 class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="corpname" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="date" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="edition" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="editor" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:call-template name="person.name"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="firstname" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="honorific" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="invpartnumber" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="isbn" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="issn" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="issuenum" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="lineage" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="orgname" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="orgdiv" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="othername" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="pagenums" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-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 class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="productnumber" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="publisher" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="publishername" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="pubsnumber" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="seriesinfo" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="seriesvolnums" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="surname" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="title" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <I><xsl:apply-templates mode="bibliography.mode"/></I>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="titleabbrev" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-of select="$biblioentry.item.separator"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="volumenum" mode="bibliography.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliography.mode"/>
+ <xsl:value-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">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="abstract" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="address" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="affiliation" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="shortaffil" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="jobtitle" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="artpagenums" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="author" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="authorblurb" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="authorinitials" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="bibliomisc" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<!-- ================================================== -->
+
+<xsl:template match="bibliomset" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <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'">
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">ldquo</xsl:with-param>
+ </xsl:call-template>
+ <xsl:apply-templates/>
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">rdquo</xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <I><xsl:apply-templates/></I>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ================================================== -->
+
+<xsl:template match="biblioset" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="citetitle" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <i><xsl:apply-templates mode="bibliomixed.mode"/></i>
+ </span>
+</xsl:template>
+
+<xsl:template match="collab" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="confgroup" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="contractnum" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="contractsponsor" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="contrib" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="copyright" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="corpname" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="date" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="edition" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="editor" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="firstname" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="honorific" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="invpartnumber" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="isbn" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="issn" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="issuenum" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="lineage" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="orgname" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="othername" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="pagenums" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="printhistory" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="productname" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="productnumber" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="publisher" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="publishername" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="pubsnumber" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="seriesvolnums" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="surname" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="title" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="titleabbrev" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="volumenum" mode="bibliomixed.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="bibliomixed.mode"/>
+ </span>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/block.xsl b/lib/docbook/docbook-xsl/html/block.xsl new file mode 100644 index 000000000..bf93b1ca7 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/block.xsl @@ -0,0 +1,371 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: block.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template name="block.object">
+ <div class="{name(.)}">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="para">
+ <p>
+ <xsl:if test="position() = 1 and parent::listitem">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="parent::listitem"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </a>
+ </xsl:if>
+
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </p>
+</xsl:template>
+
+<xsl:template match="simpara">
+ <!-- see also listitem/simpara in lists.xsl -->
+ <p>
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </p>
+</xsl:template>
+
+<xsl:template match="formalpara">
+ <p>
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </p>
+</xsl:template>
+
+<xsl:template match="formalpara/title">
+ <xsl:variable name="titleStr" select="."/>
+ <xsl:variable name="lastChar">
+ <xsl:if test="$titleStr != ''">
+ <xsl:value-of select="substring($titleStr,string-length($titleStr),1)"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <b>
+ <xsl:apply-templates/>
+ <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> </xsl:text>
+ </b>
+</xsl:template>
+
+<xsl:template match="formalpara/para">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="blockquote">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <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"> </td>
+ <td width="80%" valign="top">
+ <xsl:apply-templates
+ select="child::*[local-name(.)!='attribution']"/>
+ </td>
+ <td width="10%" valign="top"> </td>
+ </tr>
+ <tr>
+ <td colspan="2" align="right" valign="top">
+ <xsl:text>--</xsl:text>
+ <xsl:apply-templates select="attribution"/>
+ </td>
+ <td width="10%" valign="top"> </td>
+ </tr>
+ </table>
+ </xsl:when>
+ <xsl:otherwise>
+ <blockquote class="blockquote">
+ <xsl:apply-templates/>
+ </blockquote>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="epigraph">
+ <div class="{name(.)}">
+ <xsl:apply-templates select="para"/>
+ <span>--<xsl:apply-templates select="attribution"/></span>
+ </div>
+</xsl:template>
+
+<xsl:template match="attribution">
+ <span class="{name(.)}"><xsl:apply-templates/></span>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="sidebar">
+ <div class="{name(.)}">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="sidebar/title">
+ <p class="title">
+ <b><xsl:apply-templates/></b>
+ </p>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="abstract">
+ <div class="{name(.)}">
+ <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">
+</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="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 class="{name(.)}">
+ <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"/>
+ <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:apply-templates select="$revauthor"/>
+ </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 class="{name(.)}">
+ <xsl:apply-templates/>
+ </p>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="highlights">
+ <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/calc-chunks.xsl b/lib/docbook/docbook-xsl/html/calc-chunks.xsl new file mode 100644 index 000000000..d832e3726 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/calc-chunks.xsl @@ -0,0 +1,486 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ version="1.0"
+ exclude-result-prefixes="doc">
+
+<xsl:import href="docbook.xsl"/>
+<xsl:include href="chunker.xsl"/>
+
+<xsl:output method="xml" indent="yes"/>
+
+<xsl:param name="html.ext" select="'.html'"/>
+<doc:param name="html.ext" xmlns="">
+<refpurpose>Extension for chunked files</refpurpose>
+<refdescription>
+<para>The extension identified by <parameter>html.ext</parameter> will
+be used as the filename extension for chunks created by this stylesheet.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="root.filename" select="'index'"/>
+<doc:param name="root.filename" xmlns="">
+<refpurpose>Filename for the root chunk</refpurpose>
+<refdescription>
+<para>The <parameter>root.filename</parameter> is the base filename for
+the chunk created for the root of each document processed.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="base.dir" select="''"/>
+<doc:param name="base.dir" xmlns="">
+<refpurpose>Output directory for chunks</refpurpose>
+<refdescription>
+<para>If specified, the <literal>base.dir</literal> identifies
+the output directory for chunks. (If not specified, the output directory
+is system dependent.)</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="chunk.sections" select="'1'"/>
+<doc:param name="chunk.sections" xmlns="">
+<refpurpose>Create chunks for top-level sections in components?</refpurpose>
+<refdescription>
+<para>If non-zero, chunks will be created for top-level
+<sgmltag>sect1</sgmltag> and <sgmltag>section</sgmltag> elements in
+each component.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="chunk.first.sections" select="'0'"/>
+<doc:param name="chunk.first.sections" xmlns="">
+<refpurpose>Create a chunk for the first top-level section in each component?</refpurpose>
+<refdescription>
+<para>If non-zero, a chunk will be created for the first top-level
+<sgmltag>sect1</sgmltag> or <sgmltag>section</sgmltag> elements in
+each component. Otherwise, that section will be part of the chunk for
+its parent.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="chunk.datafile" select="'.chunks'"/>
+<doc:param name="chunk.datafile" xmlns="">
+<refpurpose>Name of the temporary file used to hold chunking data</refpurpose>
+<refdescription>
+<para>Chunking is now a two-step process. The
+<parameter>chunk.datafile</parameter> is the name of the file used to
+hold the chunking data.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<!-- What's a chunk?
+
+ appendix
+ article
+ bibliography in article or book
+ book
+ chapter
+ colophon
+ glossary in article or book
+ index in article or book
+ part
+ preface
+ refentry
+ reference
+ sect1 if position()>1
+ section if position()>1 && parent != section
+ set
+ setindex
+ -->
+<!-- ==================================================================== -->
+
+<xsl:template name="chunk.info">
+ <xsl:param name="node" select="."/>
+ <xsl:variable name="id">
+ <xsl:choose>
+ <xsl:when test="$node/@id">
+ <xsl:value-of select="$node/@id"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text>Chunk for </xsl:text>
+ <xsl:value-of select="local-name($node)"/>
+ <xsl:text> has no id</xsl:text>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <chunk name="{local-name($node)}" id="{$id}">
+ <xsl:attribute name="filename">
+ <xsl:apply-templates select="." mode="chunk-filename-calc"/>
+ </xsl:attribute>
+ </chunk>
+</xsl:template>
+
+<xsl:template match="set" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+ <xsl:apply-templates select="book" mode="calculate.chunks"/>
+</xsl:template>
+
+<xsl:template match="setindex" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+</xsl:template>
+
+<xsl:template match="book" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+ <xsl:apply-templates select="*" mode="calculate.chunks"/>
+</xsl:template>
+
+<xsl:template match="book/appendix" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+ <xsl:apply-templates select="*" mode="calculate.chunks"/>
+</xsl:template>
+
+<xsl:template match="book/glossary" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+</xsl:template>
+
+<xsl:template match="book/bibliography" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+</xsl:template>
+
+<xsl:template match="book/index" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+</xsl:template>
+
+<xsl:template match="preface|chapter" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+ <xsl:apply-templates select="*" mode="calculate.chunks"/>
+</xsl:template>
+
+<xsl:template match="part|reference" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+ <xsl:apply-templates select="*" mode="calculate.chunks"/>
+</xsl:template>
+
+<xsl:template match="refentry" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+</xsl:template>
+
+<xsl:template match="colophon" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+</xsl:template>
+
+<xsl:template match="article" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+ <xsl:apply-templates select="*" mode="calculate.chunks"/>
+</xsl:template>
+
+<xsl:template match="article/appendix" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+ <xsl:apply-templates select="*" mode="calculate.chunks"/>
+</xsl:template>
+
+<xsl:template match="article/glossary" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+</xsl:template>
+
+<xsl:template match="article/bibliography" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+</xsl:template>
+
+<xsl:template match="article/index" mode="calculate.chunks">
+ <xsl:call-template name="chunk.info"/>
+</xsl:template>
+
+<xsl:template match="sect1
+ |/section
+ |section[local-name(parent::*) != 'section']"
+ mode="calculate.chunks">
+ <xsl:choose>
+ <xsl:when test=". = /section">
+ <xsl:call-template name="chunk.info"/>
+ </xsl:when>
+ <xsl:when test="$chunk.sections = 0">
+ <!-- nop -->
+ </xsl:when>
+ <xsl:when test="ancestor::partintro">
+ <!-- nop -->
+ </xsl:when>
+ <xsl:when test="$chunk.first.sections = 0">
+ <xsl:if test="count(preceding-sibling::section) > 0
+ or count(preceding-sibling::sect1) > 0">
+ <xsl:call-template name="chunk.info"/>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="chunk.info"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:apply-templates select="*" mode="calculate.chunks"/>
+</xsl:template>
+
+<xsl:template match="*" mode="calculate.chunks">
+ <xsl:apply-templates select="*" mode="calculate.chunks"/>
+</xsl:template>
+
+<xsl:template match="text()" mode="calculate.chunks">
+ <!-- nop -->
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="*" mode="chunk-filename-calc">
+ <xsl:param name="recursive" select="false()"/>
+ <!-- returns the filename of a chunk -->
+
+ <xsl:variable name="dbhtml-filename">
+ <xsl:call-template name="dbhtml-filename"/>
+ </xsl:variable>
+
+ <xsl:variable name="filename">
+ <xsl:choose>
+ <xsl:when test="$dbhtml-filename != ''">
+ <xsl:value-of select="$dbhtml-filename"/>
+ </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 and $use.id.as.filename != 0">
+ <xsl:value-of select="@id"/>
+ <xsl:value-of select="$html.ext"/>
+ </xsl:when>
+ <!-- if this is the root element, use the root.filename -->
+ <xsl:when test="not(parent::*)">
+ <xsl:value-of select="$root.filename"/>
+ <xsl:value-of select="$html.ext"/>
+ </xsl:when>
+ <xsl:otherwise></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="dir">
+ <xsl:call-template name="dbhtml-dir"/>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="not($recursive) and $filename != ''">
+ <!-- if this chunk has an explicit name, use it -->
+ <xsl:if test="$dir != ''">
+ <xsl:value-of select="$dir"/>
+ <xsl:text>/</xsl:text>
+ </xsl:if>
+ <xsl:value-of select="$filename"/>
+ </xsl:when>
+
+ <xsl:when test="name(.)='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="name(.)='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="name(.)='article'">
+ <xsl:if test="/set">
+ <!-- in a set, make sure we inherit the right book info... -->
+ <xsl:apply-templates mode="chunk-filename-calc" 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="name(.)='preface'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename-calc" 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="name(.)='chapter'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename-calc" 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="name(.)='appendix'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename-calc" 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="name(.)='part'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename-calc" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='reference'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename-calc" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='refentry'">
+ <xsl:if test="parent::reference">
+ <xsl:apply-templates mode="chunk-filename-calc" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='colophon'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename-calc" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='sect1' or name(.)='section'">
+ <xsl:apply-templates mode="chunk-filename-calc" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ <xsl:text>s</xsl:text>
+ <xsl:number level="any" format="01" from="preface|chapter|appendix"/>
+ <xsl:if test="not($recursive)">
+ <xsl:value-of select="$html.ext"/>
+ </xsl:if>
+ </xsl:when>
+
+ <xsl:when test="name(.)='bibliography'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename-calc" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='glossary'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename-calc" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='index'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename-calc" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='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-calc-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="/" priority="-1">
+ <xsl:call-template name="write.chunk">
+ <xsl:with-param name="filename" select="$chunk.datafile"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="encoding" select="'utf-8'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="content">
+ <!-- HACK! -->
+ <xsl:text disable-output-escaping="yes">
+<!DOCTYPE chunks [
+<!ELEMENT chunks (chunk+)>
+<!ELEMENT chunk EMPTY>
+<!ATTLIST chunk
+ id ID #REQUIRED
+ name CDATA #REQUIRED
+>
+]>
+ </xsl:text>
+ <chunks>
+ <xsl:apply-templates mode="calculate.chunks"/>
+ </chunks>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/callout.xsl b/lib/docbook/docbook-xsl/html/callout.xsl new file mode 100644 index 000000000..edd831767 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/callout.xsl @@ -0,0 +1,150 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ 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: callout.xsl,v 1.1 2002/05/15 17:22:29 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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'">
+ <div class="{name(.)}">
+ <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 class="{name(.)}">
+ <xsl:copy-of select="$rtf-with-callouts"/>
+ <xsl:apply-templates select="calloutlist"/>
+ </div>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <div class="{name(.)}">
+ <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">
+ <a name="{@id}"/>
+ <xsl:apply-templates select="." mode="callout-bug"/>
+</xsl:template>
+
+<xsl:template match="co" mode="callout-bug">
+ <xsl:call-template name="callout-bug">
+ <xsl:with-param name="conum">
+ <xsl:number count="co" 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 <= $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 <= $callout.unicode.number.limit">
+ <xsl:choose>
+ <xsl:when test="$callout.unicode.start.character = 10102">
+ <xsl:choose>
+ <xsl:when test="$conum = 1">❶</xsl:when>
+ <xsl:when test="$conum = 2">❷</xsl:when>
+ <xsl:when test="$conum = 3">❸</xsl:when>
+ <xsl:when test="$conum = 4">❹</xsl:when>
+ <xsl:when test="$conum = 5">❺</xsl:when>
+ <xsl:when test="$conum = 6">❻</xsl:when>
+ <xsl:when test="$conum = 7">❼</xsl:when>
+ <xsl:when test="$conum = 8">❽</xsl:when>
+ <xsl:when test="$conum = 9">❾</xsl:when>
+ <xsl:when test="$conum = 10">❿</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>
diff --git a/lib/docbook/docbook-xsl/html/changebars.xsl b/lib/docbook/docbook-xsl/html/changebars.xsl new file mode 100644 index 000000000..37d1704cf --- /dev/null +++ b/lib/docbook/docbook-xsl/html/changebars.xsl @@ -0,0 +1,81 @@ +<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<xsl:import href="docbook.xsl"/>
+
+<xsl:param name="show.revisionflag" select="'1'"/>
+
+<xsl:template name="user.head.content">
+<style type="text/css">
+<xsl:text>
+div.added { background-color: yellow; }
+div.deleted { text-decoration: line-through;
+ background-color: #FF7F7F; }
+div.changed { background-color: lime; }
+div.off { }
+
+span.added { background-color: yellow; }
+span.deleted { text-decoration: line-through;
+ background-color: #FF7F7F; }
+span.changed { background-color: lime; }
+span.off { }
+</xsl:text>
+</style>
+</xsl:template>
+
+<xsl:template match="*[@revisionflag]">
+ <xsl:choose>
+ <xsl:when test="local-name(.) = 'para'
+ 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(.) = '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(.) = '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>
diff --git a/lib/docbook/docbook-xsl/html/chunk-common.xsl b/lib/docbook/docbook-xsl/html/chunk-common.xsl new file mode 100644 index 000000000..c1fdae8dd --- /dev/null +++ b/lib/docbook/docbook-xsl/html/chunk-common.xsl @@ -0,0 +1,1185 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ version="1.0"
+ exclude-result-prefixes="doc">
+
+<xsl:output method="html"
+ encoding="ISO-8859-1"
+ indent="no"/>
+
+<xsl:param name="html.ext" select="'.html'"/>
+<doc:param name="html.ext" xmlns="">
+<refpurpose>Extension for chunked files</refpurpose>
+<refdescription>
+<para>The extension identified by <parameter>html.ext</parameter> will
+be used as the filename extension for chunks created by this stylesheet.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="root.filename" select="'index'"/>
+<doc:param name="root.filename" xmlns="">
+<refpurpose>Filename for the root chunk</refpurpose>
+<refdescription>
+<para>The <parameter>root.filename</parameter> is the base filename for
+the chunk created for the root of each document processed.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="base.dir" select="''"/>
+<doc:param name="base.dir" xmlns="">
+<refpurpose>Output directory for chunks</refpurpose>
+<refdescription>
+<para>If specified, the <literal>base.dir</literal> identifies
+the output directory for chunks. (If not specified, the output directory
+is system dependent.)</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="chunk.sections" select="'1'"/>
+<doc:param name="chunk.sections" xmlns="">
+<refpurpose>Create chunks for top-level sections in components?</refpurpose>
+<refdescription>
+<para>If non-zero, chunks will be created for top-level
+<sgmltag>sect1</sgmltag> and <sgmltag>section</sgmltag> elements in
+each component.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="chunk.first.sections" select="'0'"/>
+<doc:param name="chunk.first.sections" xmlns="">
+<refpurpose>Create a chunk for the first top-level section in each component?</refpurpose>
+<refdescription>
+<para>If non-zero, a chunk will be created for the first top-level
+<sgmltag>sect1</sgmltag> or <sgmltag>section</sgmltag> elements in
+each component. Otherwise, that section will be part of the chunk for
+its parent.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<!-- What's a chunk?
+
+ The root element
+ appendix
+ article
+ bibliography in article or book
+ book
+ chapter
+ colophon
+ glossary in article or book
+ index in article or book
+ part
+ preface
+ refentry
+ reference
+ sect1 if position()>1
+ section if position()>1 && parent != section
+ set
+ setindex
+ -->
+<!-- ==================================================================== -->
+
+<xsl:template name="chunk">
+ <xsl:param name="node" select="."/>
+ <!-- returns 1 if $node is a chunk -->
+
+<!--
+ <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> cs: </xsl:text>
+ <xsl:value-of select="$chunk.sections"/>
+ <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="$chunk.sections != 0
+ and name($node)='sect1'
+ and ($chunk.first.sections != 0
+ or count($node/preceding-sibling::sect1) > 0)">
+ <xsl:text>1</xsl:text>
+ </xsl:when>
+ <xsl:when test="$chunk.sections != 0
+ and name($node)='section'
+ and count($node/parent::section) = 0
+ and ($chunk.first.sections != 0
+ or count($node/preceding-sibling::section))>0">
+ <xsl:text>1</xsl:text>
+ </xsl:when>
+ <xsl:when test="name($node)='preface'">1</xsl:when>
+ <xsl:when test="name($node)='chapter'">1</xsl:when>
+ <xsl:when test="name($node)='appendix'">1</xsl:when>
+ <xsl:when test="name($node)='article'">1</xsl:when>
+ <xsl:when test="name($node)='part'">1</xsl:when>
+ <xsl:when test="name($node)='reference'">1</xsl:when>
+ <xsl:when test="name($node)='refentry'">1</xsl:when>
+ <xsl:when test="name($node)='index'
+ and (name($node/parent::*) = 'article'
+ or name($node/parent::*) = 'book')">1</xsl:when>
+ <xsl:when test="name($node)='bibliography'
+ and (name($node/parent::*) = 'article'
+ or name($node/parent::*) = 'book')">1</xsl:when>
+ <xsl:when test="name($node)='glossary'
+ and (name($node/parent::*) = 'article'
+ or name($node/parent::*) = 'book')">1</xsl:when>
+ <xsl:when test="name($node)='colophon'">1</xsl:when>
+ <xsl:when test="name($node)='book'">1</xsl:when>
+ <xsl:when test="name($node)='set'">1</xsl:when>
+ <xsl:when test="name($node)='setindex'">1</xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="*" mode="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="dbhtml-filename"/>
+ </xsl:variable>
+
+ <xsl:variable name="filename">
+ <xsl:choose>
+ <xsl:when test="$dbhtml-filename != ''">
+ <xsl:value-of select="$dbhtml-filename"/>
+ </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 and $use.id.as.filename != 0">
+ <xsl:value-of select="@id"/>
+ <xsl:value-of select="$html.ext"/>
+ </xsl:when>
+ <!-- if this is the root element, use the root.filename -->
+ <xsl:when test="not(parent::*)">
+ <xsl:value-of select="$root.filename"/>
+ <xsl:value-of select="$html.ext"/>
+ </xsl:when>
+ <xsl:otherwise></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="dir">
+ <xsl:call-template name="dbhtml-dir"/>
+ </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::*)>0">
+ <xsl:apply-templates mode="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:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <xsl:when test="not($recursive) and $filename != ''">
+ <!-- if this chunk has an explicit name, use it -->
+ <xsl:if test="$dir != ''">
+ <xsl:value-of select="$dir"/>
+ <xsl:text>/</xsl:text>
+ </xsl:if>
+ <xsl:value-of select="$filename"/>
+ </xsl:when>
+
+ <xsl:when test="name(.)='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="name(.)='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="name(.)='article'">
+ <xsl:if test="/set">
+ <!-- in a set, make sure we inherit the right book info... -->
+ <xsl:apply-templates mode="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="name(.)='preface'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="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="name(.)='chapter'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="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="name(.)='appendix'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="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="name(.)='part'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='reference'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='refentry'">
+ <xsl:if test="parent::reference">
+ <xsl:apply-templates mode="chunk-filename" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='colophon'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='sect1' or name(.)='section'">
+ <xsl:apply-templates mode="chunk-filename" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ <xsl:text>s</xsl:text>
+ <xsl:number level="any" format="01" from="preface|chapter|appendix"/>
+ <xsl:if test="not($recursive)">
+ <xsl:value-of select="$html.ext"/>
+ </xsl:if>
+ </xsl:when>
+
+ <xsl:when test="name(.)='bibliography'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='glossary'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='index'">
+ <xsl:if test="/set">
+ <xsl:apply-templates mode="chunk-filename" select="parent::*">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <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="name(.)='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 name="href.target">
+ <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="html.head">
+ <xsl:param name="prev" select="/foo"/>
+ <xsl:param name="next" select="/foo"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <xsl:variable name="up" select="parent::*"/>
+
+ <head>
+ <xsl:call-template name="head.content"/>
+ <xsl:call-template name="user.head.content"/>
+
+ <xsl:if test="$home">
+ <link rel="home">
+ <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="previous">
+ <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>
+ </head>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="header.navigation">
+ <xsl:param name="prev" select="/foo"/>
+ <xsl:param name="next" select="/foo"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <xsl:variable name="up" select="parent::*"/>
+
+ <xsl:if test="$suppress.navigation = '0'">
+ <div class="navheader">
+ <table width="100%" summary="Navigation header">
+ <tr>
+ <th colspan="3" align="center">
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </th>
+ </tr>
+ <tr>
+ <td width="20%" align="left">
+ <xsl:if test="count($prev)>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="gentext">
+ <xsl:with-param name="key">nav-prev</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ <xsl:text> </xsl:text>
+ </td>
+ <th width="60%" align="center">
+ <xsl:choose>
+ <xsl:when test="count($up) > 0 and $up != $home">
+ <xsl:apply-templates select="$up" mode="object.title.markup"/>
+ </xsl:when>
+ <xsl:otherwise> </xsl:otherwise>
+ </xsl:choose>
+ </th>
+ <td width="20%" align="right">
+ <xsl:text> </xsl:text>
+ <xsl:if test="count($next)>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="gentext">
+ <xsl:with-param name="key">nav-next</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ </td>
+ </tr>
+ </table>
+ <hr/>
+ </div>
+ </xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="footer.navigation">
+ <xsl:param name="prev" select="/foo"/>
+ <xsl:param name="next" select="/foo"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <xsl:variable name="up" select="parent::*"/>
+
+ <xsl:if test="$suppress.navigation = '0'">
+ <div class="navfooter">
+ <hr/>
+ <table width="100%" summary="Navigation footer">
+ <tr>
+ <td width="40%" align="left">
+ <xsl:if test="count($prev)>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="gentext">
+ <xsl:with-param name="key">nav-prev</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ <xsl:text> </xsl:text>
+ </td>
+ <td width="20%" align="center">
+ <xsl:choose>
+ <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:call-template name="gentext">
+ <xsl:with-param name="key">nav-home</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:when>
+ <xsl:otherwise> </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td width="40%" align="right">
+ <xsl:text> </xsl:text>
+ <xsl:if test="count($next)>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="gentext">
+ <xsl:with-param name="key">nav-next</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ </td>
+ </tr>
+
+ <tr>
+ <td width="40%" align="left">
+ <xsl:apply-templates select="$prev" mode="object.title.markup"/>
+ <xsl:text> </xsl:text>
+ </td>
+ <td width="20%" align="center">
+ <xsl:choose>
+ <xsl:when test="count($up)>0">
+ <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="gentext">
+ <xsl:with-param name="key">nav-up</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:when>
+ <xsl:otherwise> </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td width="40%" align="right">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="$next" mode="object.title.markup"/>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="processing-instruction('dbhtml')">
+ <!-- nop -->
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="process-chunk-element">
+ <xsl:choose>
+ <xsl:when test="$chunk.sections = 0">
+ <xsl:call-template name="chunk-no-sections"/>
+ </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-top-level-sections"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="process-chunk">
+ <xsl:param name="prev" select="."/>
+ <xsl:param name="next" select="."/>
+
+ <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:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="chunk-first-section-with-parent">
+ <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::sect1[name(preceding-sibling::*[1]) = 'sect1'][1]
+ |preceding::section[name(preceding-sibling::*[1]) = 'section'
+ and name(parent::*) != 'section'][1]
+ |preceding::article[1]
+ |preceding::bibliography[1]
+ |preceding::glossary[1]
+ |preceding::index[1]
+ |preceding::setindex[1]
+ |ancestor::set
+ |ancestor::book[1]
+ |ancestor::preface[1]
+ |ancestor::chapter[1]
+ |ancestor::appendix[1]
+ |ancestor::part[1]
+ |ancestor::reference[1]
+ |ancestor::article[1])[last()]"/>
+
+ <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::sect1[1]
+ |following::section[name(parent::*) != 'section'][1]
+ |following::bibliography[1]
+ |following::glossary[1]
+ |following::index[1]
+ |following::article[1]
+ |following::setindex[1]
+ |descendant::book[1]
+ |descendant::preface[1]
+ |descendant::chapter[1]
+ |descendant::appendix[1]
+ |descendant::article[1]
+ |descendant::bibliography[1]
+ |descendant::glossary[1]
+ |descendant::index[1]
+ |descendant::colophon[1]
+ |descendant::setindex[1]
+ |descendant::part[1]
+ |descendant::reference[1]
+ |descendant::refentry[1]
+ |descendant::sect1[2]
+ |descendant::section[name(parent::*) != 'section'][2])[1]"/>
+
+ <xsl:call-template name="process-chunk">
+ <xsl:with-param name="prev" select="$prev"/>
+ <xsl:with-param name="next" select="$next"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="chunk-all-top-level-sections">
+ <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::sect1[1]
+ |preceding::section[name(parent::*) != 'section'][1]
+ |preceding::article[1]
+ |preceding::bibliography[1]
+ |preceding::glossary[1]
+ |preceding::index[1]
+ |preceding::setindex[1]
+ |ancestor::set
+ |ancestor::book[1]
+ |ancestor::preface[1]
+ |ancestor::chapter[1]
+ |ancestor::appendix[1]
+ |ancestor::part[1]
+ |ancestor::reference[1]
+ |ancestor::article[1])[last()]"/>
+
+ <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::sect1[1]
+ |following::section[name(parent::*) != 'section'][1]
+ |following::bibliography[1]
+ |following::glossary[1]
+ |following::index[1]
+ |following::article[1]
+ |following::setindex[1]
+ |descendant::book[1]
+ |descendant::preface[1]
+ |descendant::chapter[1]
+ |descendant::appendix[1]
+ |descendant::article[1]
+ |descendant::bibliography[1]
+ |descendant::glossary[1]
+ |descendant::index[1]
+ |descendant::colophon[1]
+ |descendant::setindex[1]
+ |descendant::part[1]
+ |descendant::reference[1]
+ |descendant::refentry[1]
+ |descendant::sect1[1]
+ |descendant::section[name(parent::*) != 'section'][1])[1]"/>
+
+ <xsl:call-template name="process-chunk">
+ <xsl:with-param name="prev" select="$prev"/>
+ <xsl:with-param name="next" select="$next"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="chunk-no-sections">
+ <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[1]
+ |preceding::glossary[1]
+ |preceding::index[1]
+ |preceding::setindex[1]
+ |ancestor::set
+ |ancestor::book[1]
+ |ancestor::preface[1]
+ |ancestor::chapter[1]
+ |ancestor::appendix[1]
+ |ancestor::part[1]
+ |ancestor::reference[1]
+ |ancestor::article[1])[last()]"/>
+
+ <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[1]
+ |following::glossary[1]
+ |following::index[1]
+ |following::article[1]
+ |following::setindex[1]
+ |descendant::book[1]
+ |descendant::preface[1]
+ |descendant::chapter[1]
+ |descendant::appendix[1]
+ |descendant::article[1]
+ |descendant::bibliography[1]
+ |descendant::glossary[1]
+ |descendant::index[1]
+ |descendant::colophon[1]
+ |descendant::setindex[1]
+ |descendant::part[1]
+ |descendant::reference[1]
+ |descendant::refentry[1])[1]"/>
+
+ <xsl:call-template name="process-chunk">
+ <xsl:with-param name="prev" select="$prev"/>
+ <xsl:with-param name="next" select="$next"/>
+ </xsl:call-template>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="chunk-element-content">
+ <xsl:param name="prev"></xsl:param>
+ <xsl:param name="next"></xsl:param>
+
+ <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:call-template>
+
+ <xsl:call-template name="user.header.content"/>
+
+ <xsl:apply-imports/>
+
+ <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:call-template>
+
+ <xsl:call-template name="user.footer.navigation"/>
+ </body>
+ </html>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="/">
+ <xsl:choose>
+ <xsl:when test="$rootid != ''">
+ <xsl:choose>
+ <xsl:when test="count(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="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 match="set|book|part|preface|chapter|appendix
+ |article
+ |reference|refentry
+ |book/glossary|article/glossary
+ |book/bibliography|article/bibliography
+ |colophon">
+ <xsl:call-template name="process-chunk-element"/>
+</xsl:template>
+
+<xsl:template match="sect1
+ |/section
+ |section[local-name(parent::*) != 'section']">
+ <xsl:choose>
+ <xsl:when test=". = /section">
+ <xsl:call-template name="process-chunk-element"/>
+ </xsl:when>
+ <xsl:when test="$chunk.sections = 0">
+ <xsl:apply-imports/>
+ </xsl:when>
+ <xsl:when test="$chunk.first.sections = 0">
+ <xsl:choose>
+ <xsl:when test="count(preceding-sibling::section) > 0
+ or count(preceding-sibling::sect1) > 0">
+ <xsl:call-template name="process-chunk-element"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-imports/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </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">
+ <!-- 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(*)>0 or $generate.index != '0'">
+ <xsl:call-template name="process-chunk-element"/>
+ </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() > 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() > 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() > 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() > 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() > 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() > 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 > 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>
+</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:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/chunk-experimental.xsl b/lib/docbook/docbook-xsl/html/chunk-experimental.xsl new file mode 100644 index 000000000..e7f4c0903 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/chunk-experimental.xsl @@ -0,0 +1,796 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ version="1.0"
+ exclude-result-prefixes="doc">
+
+<xsl:param name="html.ext" select="'.html'"/>
+<doc:param name="html.ext" xmlns="">
+<refpurpose>Extension for chunked files</refpurpose>
+<refdescription>
+<para>The extension identified by <parameter>html.ext</parameter> will
+be used as the filename extension for chunks created by this stylesheet.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="root.filename" select="'index'"/>
+<doc:param name="root.filename" xmlns="">
+<refpurpose>Filename for the root chunk</refpurpose>
+<refdescription>
+<para>The <parameter>root.filename</parameter> is the base filename for
+the chunk created for the root of each document processed.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="base.dir" select="''"/>
+<doc:param name="base.dir" xmlns="">
+<refpurpose>Output directory for chunks</refpurpose>
+<refdescription>
+<para>If specified, the <literal>base.dir</literal> identifies
+the output directory for chunks. (If not specified, the output directory
+is system dependent.)</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="chunk.sections" select="'1'"/>
+<doc:param name="chunk.sections" xmlns="">
+<refpurpose>Create chunks for top-level sections in components?</refpurpose>
+<refdescription>
+<para>If non-zero, chunks will be created for top-level
+<sgmltag>sect1</sgmltag> and <sgmltag>section</sgmltag> elements in
+each component.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="chunk.first.sections" select="'0'"/>
+<doc:param name="chunk.first.sections" xmlns="">
+<refpurpose>Create a chunk for the first top-level section in each component?</refpurpose>
+<refdescription>
+<para>If non-zero, a chunk will be created for the first top-level
+<sgmltag>sect1</sgmltag> or <sgmltag>section</sgmltag> elements in
+each component. Otherwise, that section will be part of the chunk for
+its parent.
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="chunk.datafile" select="'.chunks'"/>
+<doc:param name="chunk.datafile" xmlns="">
+<refpurpose>Name of the temporary file used to hold chunking data</refpurpose>
+<refdescription>
+<para>Chunking is now a two-step process. The
+<parameter>chunk.datafile</parameter> is the name of the file used to
+hold the chunking data.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<!-- What's a chunk?
+
+ appendix
+ article
+ bibliography in article or book
+ book
+ chapter
+ colophon
+ glossary in article or book
+ index in article or book
+ part
+ preface
+ refentry
+ reference
+ sect1 if position()>1
+ section if position()>1 && parent != section
+ set
+ setindex
+ -->
+<!-- ==================================================================== -->
+
+<xsl:template name="chunk">
+ <xsl:param name="node" select="."/>
+ <!-- returns 1 if $node is a chunk -->
+
+ <xsl:variable name="id">
+ <xsl:choose>
+ <xsl:when test="$node/@id">
+ <xsl:value-of select="$node/@id"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="generate-id($node)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="chunks" select="document($chunk.datafile,.)"/>
+
+ <xsl:choose>
+ <xsl:when test="$chunks/chunks/chunk[@id=$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:choose>
+ <xsl:when test="@id">
+ <xsl:value-of select="@id"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="generate-id(.)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="chunks" select="document($chunk.datafile,.)"/>
+ <xsl:variable name="chunk" select="$chunks/chunks/chunk[@id=$id]"/>
+
+ <xsl:choose>
+ <xsl:when test="$chunk">
+ <xsl:value-of select="$chunk/@filename"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="parent::*" mode="chunk-filename"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="href.target">
+ <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="html.head">
+ <xsl:param name="prev" select="/foo"/>
+ <xsl:param name="next" select="/foo"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <xsl:variable name="up" select="parent::*"/>
+
+ <head>
+ <xsl:call-template name="head.content"/>
+ <xsl:call-template name="user.head.content"/>
+
+ <xsl:if test="$home">
+ <link rel="home">
+ <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="previous">
+ <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>
+ </head>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="header.navigation">
+ <xsl:param name="prev" select="/foo"/>
+ <xsl:param name="next" select="/foo"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <xsl:variable name="up" select="parent::*"/>
+
+ <xsl:if test="$suppress.navigation = '0'">
+ <div class="navheader">
+ <table width="100%" summary="Navigation header">
+ <tr>
+ <th colspan="3" align="center">
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </th>
+ </tr>
+ <tr>
+ <td width="20%" align="left">
+ <xsl:if test="count($prev)>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="gentext">
+ <xsl:with-param name="key">nav-prev</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ <xsl:text> </xsl:text>
+ </td>
+ <th width="60%" align="center">
+ <xsl:choose>
+ <xsl:when test="count($up) > 0 and $up != $home">
+ <xsl:apply-templates select="$up" mode="object.title.markup"/>
+ </xsl:when>
+ <xsl:otherwise> </xsl:otherwise>
+ </xsl:choose>
+ </th>
+ <td width="20%" align="right">
+ <xsl:text> </xsl:text>
+ <xsl:if test="count($next)>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="gentext">
+ <xsl:with-param name="key">nav-next</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ </td>
+ </tr>
+ </table>
+ <hr/>
+ </div>
+ </xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="footer.navigation">
+ <xsl:param name="prev" select="/foo"/>
+ <xsl:param name="next" select="/foo"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <xsl:variable name="up" select="parent::*"/>
+
+ <xsl:if test="$suppress.navigation = '0'">
+ <div class="navfooter">
+ <hr/>
+ <table width="100%" summary="Navigation footer">
+ <tr>
+ <td width="40%" align="left">
+ <xsl:if test="count($prev)>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="gentext">
+ <xsl:with-param name="key">nav-prev</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ <xsl:text> </xsl:text>
+ </td>
+ <td width="20%" align="center">
+ <xsl:choose>
+ <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:call-template name="gentext">
+ <xsl:with-param name="key">nav-home</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:when>
+ <xsl:otherwise> </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td width="40%" align="right">
+ <xsl:text> </xsl:text>
+ <xsl:if test="count($next)>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="gentext">
+ <xsl:with-param name="key">nav-next</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ </td>
+ </tr>
+
+ <tr>
+ <td width="40%" align="left">
+ <xsl:apply-templates select="$prev" mode="object.title.markup"/>
+ <xsl:text> </xsl:text>
+ </td>
+ <td width="20%" align="center">
+ <xsl:choose>
+ <xsl:when test="count($up)>0">
+ <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="gentext">
+ <xsl:with-param name="key">nav-up</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:when>
+ <xsl:otherwise> </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td width="40%" align="right">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="$next" mode="object.title.markup"/>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="processing-instruction('dbhtml')">
+ <!-- nop -->
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="process-chunk">
+ <xsl:variable name="id">
+ <xsl:choose>
+ <xsl:when test="@id">
+ <xsl:value-of select="@id"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="generate-id(.)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="chunks" select="document($chunk.datafile,.)"/>
+
+ <xsl:variable name="chunk" select="$chunks/chunks/chunk[@id=$id]"/>
+ <xsl:variable name="prev-id"
+ select="$chunk/preceding-sibling::chunk[1]/@id"/>
+ <xsl:variable name="next-id"
+ select="$chunk/following-sibling::chunk[1]/@id"/>
+
+ <xsl:variable name="prev" select="id($prev-id)"/>
+ <xsl:variable name="next" select="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: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:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="chunk-element-content">
+ <xsl:param name="prev"></xsl:param>
+ <xsl:param name="next"></xsl:param>
+
+ <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:call-template>
+
+ <xsl:call-template name="user.header.content"/>
+
+ <xsl:apply-imports/>
+
+ <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:call-template>
+
+ <xsl:call-template name="user.footer.navigation"/>
+ </body>
+ </html>
+</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="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
+ |/section
+ |section[local-name(parent::*) != 'section']">
+ <xsl:choose>
+ <xsl:when test=". = /section">
+ <xsl:call-template name="process-chunk"/>
+ </xsl:when>
+ <xsl:when test="$chunk.sections = 0">
+ <xsl:apply-imports/>
+ </xsl:when>
+ <xsl:when test="ancestor::partintro">
+ <xsl:apply-imports/>
+ </xsl:when>
+ <xsl:when test="$chunk.first.sections = 0">
+ <xsl:choose>
+ <xsl:when test="count(preceding-sibling::section) > 0
+ or count(preceding-sibling::sect1) > 0">
+ <xsl:call-template name="process-chunk"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-imports/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="process-chunk"/>
+ </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(*)>0 or $generate.index != '0'">
+ <xsl:call-template name="process-chunk"/>
+ </xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="/">
+ <xsl:choose>
+ <xsl:when test="$rootid != ''">
+ <xsl:choose>
+ <xsl:when test="count(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="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="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() > 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() > 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() > 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() > 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() > 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() > 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 > 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>
+</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:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/chunk.xsl b/lib/docbook/docbook-xsl/html/chunk.xsl new file mode 100644 index 000000000..3033a4e43 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/chunk.xsl @@ -0,0 +1,14 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ version="1.1"
+ exclude-result-prefixes="doc">
+
+<!-- This stylesheet works with Saxon and Xalan; for XT use xtchunk.xsl -->
+<!-- This stylesheet should also work for any processor that supports -->
+<!-- exslt:document() (see http://www.exslt.org/) -->
+
+<xsl:import href="autoidx.xsl"/>
+<xsl:include href="chunk-common.xsl"/>
+<xsl:include href="chunker.xsl"/>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/chunker.xsl b/lib/docbook/docbook-xsl/html/chunker.xsl new file mode 100644 index 000000000..8530956bd --- /dev/null +++ b/lib/docbook/docbook-xsl/html/chunker.xsl @@ -0,0 +1,196 @@ +<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:xalanredirect="org.apache.xalan.xslt.extensions.Redirect"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ version="1.1"
+ exclude-result-prefixes="doc"
+ extension-element-prefixes="saxon xalanredirect lxslt exsl">
+
+<!-- This stylesheet works with Saxon and Xalan; for XT use xtchunker.xsl -->
+<!-- Note: Only Saxon 6.4.2 or later is supported. -->
+
+<!-- Note: I don't think the exsl namespace name is right! -->
+
+<!-- ==================================================================== -->
+
+<xsl:param name="default.encoding" select="'ISO-8859-1'" doc:type='string'/>
+
+<doc:param name="default.encoding" xmlns="">
+<refpurpose>Encoding used in generated HTML pages</refpurpose>
+<refdescription>
+<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 name="saxon.character.representation" xmlns="">
+<refpurpose>Saxon character representation used in generated HTML pages</refpurpose>
+<refdescription>
+<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:choose>
+ <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('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('xalanredirect: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="method" select="'html'"/>
+ <xsl:param name="encoding" select="$default.encoding"/>
+ <xsl:param name="indent" select="'no'"/>
+ <xsl:param name="content" select="''"/>
+ <xsl:param name="quiet" select="0"/>
+
+ <xsl:if test="$quiet = 0">
+ <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:if>
+
+ <xsl:choose>
+ <xsl:when test="element-available('exsl:document')">
+ <exsl:document href="{$filename}"
+ method="{$method}"
+ encoding="{$encoding}"
+ indent="{$indent}">
+ <xsl:copy-of select="$content"/>
+ </exsl:document>
+ </xsl:when>
+ <xsl:when test="element-available('saxon:output')">
+ <saxon:output 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="element-available('xalanredirect:write')">
+ <!-- Xalan uses xalanredirect -->
+ <xalanredirect:write file="{$filename}">
+ <xsl:copy-of select="$content"/>
+ </xalanredirect: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="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:choose>
+ <xsl:when test="element-available('exsl:document')">
+ <exsl:document href="{$filename}"
+ method="{$method}"
+ encoding="{$encoding}"
+ indent="{$indent}"
+ doctype-public="{$doctype-public}"
+ doctype-system="{$doctype-system}">
+ <xsl:copy-of select="$content"/>
+ </exsl:document>
+ </xsl:when>
+ <xsl:when test="element-available('saxon:output')">
+ <!-- Saxon uses saxon:output -->
+ <saxon:output 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="element-available('xalanredirect:write')">
+ <!-- Xalan uses xalanredirect -->
+ <xalanredirect:write file="{$filename}">
+ <xsl:copy-of select="$content"/>
+ </xalanredirect: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:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/component.xsl b/lib/docbook/docbook-xsl/html/component.xsl new file mode 100644 index 000000000..97b7dd1ef --- /dev/null +++ b/lib/docbook/docbook-xsl/html/component.xsl @@ -0,0 +1,320 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: component.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template name="component.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>
+
+ <h2 class="title">
+ <a name="{$id}"/>
+ <xsl:apply-templates select="$node" mode="object.title.markup"/>
+ </h2>
+</xsl:template>
+
+<xsl:template name="component.subtitle">
+ <xsl:param name="node" select="."/>
+ <xsl:variable name="subtitle"
+ select="($node/docinfo/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:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <div id="{$id}" class="{name(.)}">
+ <xsl:call-template name="dedication.titlepage"/>
+ <xsl:apply-templates/>
+ <xsl:call-template name="process.footnotes"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="dedication/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" 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"></xsl:template> <!-- see mode="dedication" -->
+<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">
+ <div class="{name(.)}">
+ <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>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="preface">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div id="{$id}" class="{name(.)}">
+ <xsl:call-template name="component.separator"/>
+ <xsl:call-template name="preface.titlepage"/>
+ <xsl:if test="$generate.preface.toc != '0'">
+ <xsl:call-template name="component.toc"/>
+ </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/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>
+<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">
+ <div class="{name(.)}">
+ <xsl:call-template name="component.separator"/>
+ <xsl:call-template name="chapter.titlepage"/>
+ <xsl:if test="$generate.chapter.toc != '0'">
+ <xsl:call-template name="component.toc"/>
+ </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/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>
+<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">
+ <div class="{name(.)}">
+ <xsl:call-template name="component.separator"/>
+ <xsl:call-template name="appendix.titlepage"/>
+ <xsl:if test="$generate.appendix.toc != '0'">
+ <xsl:call-template name="component.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ <xsl:call-template name="process.footnotes"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="article/appendix">
+ <div class="{name(.)}">
+ <xsl:call-template name="section.heading">
+ <xsl:with-param name="level" select="2"/>
+ <xsl:with-param name="title">
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </xsl:with-param>
+ </xsl:call-template>
+
+ <xsl:apply-templates/>
+ </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/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>
+<xsl:template match="appendix/title"></xsl:template>
+<xsl:template match="appendix/titleabbrev"></xsl:template>
+<xsl:template match="appendix/subtitle"></xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="dedication" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<xsl:template match="preface" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<xsl:template match="chapter" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+
+ <xsl:choose>
+ <xsl:when test="@label">
+ <xsl:value-of select="@label"/>
+ <xsl:text>.</xsl:text>
+ <xsl:if test="$add.space">
+ <xsl:call-template name="gentext.space"/>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$chapter.autolabel">
+ <xsl:number from="book" count="chapter" format="1."/>
+ <xsl:if test="$add.space">
+ <xsl:call-template name="gentext.space"/>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="appendix" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+
+ <xsl:choose>
+ <xsl:when test="@label">
+ <xsl:value-of select="@label"/>
+ <xsl:text>.</xsl:text>
+ <xsl:if test="$add.space">
+ <xsl:call-template name="gentext.space"/>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$chapter.autolabel">
+ <xsl:number from="book" count="appendix" format="A."/>
+ <xsl:if test="$add.space">
+ <xsl:call-template name="gentext.space"/>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="article" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<xsl:template match="bibliography" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<xsl:template match="glossary" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<xsl:template match="index" mode="component.number">
+ <xsl:param name="add.space" select="false()"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="article">
+ <div class="{name(.)}">
+ <xsl:call-template name="article.titlepage"/>
+ <xsl:if test="$generate.article.toc != '0'">
+ <xsl:call-template name="component.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ <xsl:call-template name="process.footnotes"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="article/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/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>
+<xsl:template match="article/title"></xsl:template>
+<xsl:template match="article/titleabbrev"></xsl:template>
+<xsl:template match="article/subtitle"></xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/html/division.xsl b/lib/docbook/docbook-xsl/html/division.xsl new file mode 100644 index 000000000..9281df34a --- /dev/null +++ b/lib/docbook/docbook-xsl/html/division.xsl @@ -0,0 +1,134 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: division.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="set">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}" id="{$id}">
+ <xsl:call-template name="set.titlepage"/>
+ <xsl:if test="$generate.set.toc != '0'">
+ <xsl:call-template name="set.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="set/setinfo"></xsl:template>
+<xsl:template match="set/title"></xsl:template>
+<xsl:template match="set/titleabbrev"></xsl:template>
+<xsl:template match="set/subtitle"></xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="book">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}" id="{$id}">
+ <xsl:call-template name="book.titlepage"/>
+ <xsl:apply-templates select="dedication" mode="dedication"/>
+ <xsl:if test="$generate.book.toc != '0'">
+ <xsl:call-template name="division.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="book/bookinfo"></xsl:template>
+<xsl:template match="book/title"></xsl:template>
+<xsl:template match="book/titleabbrev"></xsl:template>
+<xsl:template match="book/subtitle"></xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="part">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}" id="{$id}">
+ <xsl:call-template name="part.titlepage"/>
+ <xsl:if test="not(partintro) and $generate.part.toc != '0'">
+ <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>
+<xsl:template match="part/partinfo"></xsl:template>
+<xsl:template match="part/title"></xsl:template>
+<xsl:template match="part/titleabbrev"></xsl:template>
+<xsl:template match="part/subtitle"></xsl:template>
+
+<xsl:template match="partintro">
+ <div class="{name(.)}">
+ <xsl:call-template name="partintro.titlepage"/>
+ <xsl:apply-templates/>
+ <xsl:if test="$generate.part.toc != '0'">
+ <!-- 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>
+<xsl:template match="partintro/titleabbrev"></xsl:template>
+<xsl:template match="partintro/subtitle"></xsl:template>
+
+<xsl:template match="partintro/title" mode="partintro.title.mode">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <h2>
+ <a name="{$id}">
+ <xsl:apply-templates/>
+ </a>
+ </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:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/html/docbook.xsl b/lib/docbook/docbook-xsl/html/docbook.xsl new file mode 100644 index 000000000..967507723 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/docbook.xsl @@ -0,0 +1,224 @@ +<?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'>
+
+<xsl:output method="html"
+ encoding="ISO-8859-1"
+ indent="no"/>
+
+<!-- ********************************************************************
+ $Id: docbook.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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/labels.xsl"/>
+<xsl:include href="../common/titles.xsl"/>
+<xsl:include href="../common/subtitles.xsl"/>
+<xsl:include href="../common/gentext.xsl"/>
+<xsl:include href="autotoc.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="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="glossary.xsl"/>
+<xsl:include href="block.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:template match="*">
+ <xsl:message>
+ <xsl:text>No template matches </xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text>.</xsl:text>
+ </xsl:message>
+
+ <font color="red">
+ <xsl:text><</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text>></xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text></</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text>></xsl:text>
+ </font>
+</xsl:template>
+
+<xsl:template match="text()">
+ <xsl:value-of select="."/>
+</xsl:template>
+
+<xsl:template name="body.attributes">
+ <xsl:attribute name="bgcolor">white</xsl:attribute>
+ <xsl:attribute name="text">black</xsl:attribute>
+ <xsl:attribute name="link">#0000FF</xsl:attribute>
+ <xsl:attribute name="vlink">#840084</xsl:attribute>
+ <xsl:attribute name="alink">#0000FF</xsl:attribute>
+</xsl:template>
+
+<xsl:template name="head.content">
+ <xsl:param name="node" select="."/>
+
+ <title>
+ <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/>
+ </title>
+
+ <xsl:if test="$html.stylesheet">
+ <link rel="stylesheet"
+ href="{$html.stylesheet}"
+ type="{$html.stylesheet.type}"/>
+ </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 XSL Stylesheets V{$VERSION}"/>
+
+ <xsl:apply-templates select="." mode="head.keywords.content"/>
+</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="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:if test="$inherit.keywords != 0
+ and parent::*">
+ <xsl:apply-templates select="parent::*" mode="head.keywords.content"/>
+ </xsl:if>
+</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="/">
+ <xsl:choose>
+ <xsl:when test="$rootid != ''">
+ <xsl:choose>
+ <xsl:when test="count(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="id($rootid)" mode="process.root"/>
+ </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:variable name="doc" select="self::*"/>
+ <html>
+ <head>
+ <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:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/ebnf.xsl b/lib/docbook/docbook-xsl/html/ebnf.xsl new file mode 100644 index 000000000..04320c813 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/ebnf.xsl @@ -0,0 +1,350 @@ +<?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: ebnf.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<doc:reference xmlns="">
+<referenceinfo>
+<releaseinfo role="meta">
+$Id: ebnf.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+</releaseinfo>
+<author><surname>Walsh</surname>
+<firstname>Norman</firstname></author>
+<copyright><year>1999</year><year>2000</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:param name="ebnf.table.bgcolor">#F5DCB3</xsl:param>
+
+<doc:param name="ebnf.table.bgcolor" xmlns="">
+<refpurpose>Background color for EBNF tables</refpurpose>
+<refdescription>
+<para>Sets the background color for EBNF tables. No <sgmltag>bgcolor</sgmltag>
+attribute is output if <varname>ebnf.table.bgcolor</varname> is set to
+the null string. The default value matches the value used in recent
+online versions of the W3C's XML Spec productions.</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="ebnf.table.border">1</xsl:param>
+
+<doc:param name="ebnf.table.border" xmlns="">
+<refpurpose>Selects border on EBNF tables</refpurpose>
+<refdescription>
+<para>Selects the border on EBNF tables. If non-zero, the tables have
+borders, otherwise they don't.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+
+<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="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" class="{name(.)}">
+ <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="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()"/>
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <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>
+ <a name="{$id}"/>
+ <xsl:apply-templates select="lhs"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td valign="top" width="5%" align="center"><tt>::=</tt></td>
+ <td valign="top" width="52%">
+ <xsl:apply-templates select="rhs"/>
+ </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> </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </tr>
+</xsl:template>
+
+<xsl:template match="productionrecap">
+ <xsl:variable name="targets" select="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: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="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="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>/* </xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text> */</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="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>[ </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="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="id(@linkend)"/>
+ <xsl:variable name="target" select="$targets[1]"/>
+ <xsl:apply-templates select="$target" mode="title.markup"/>
+ </a>
+ <xsl:text> ]</xsl:text>
+ <xsl:if test="following-sibling::constraint">
+ <br/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="constraintdef">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <div class="{name(.)}">
+ <a name="{$id}"/>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="constraintdef/title">
+ <p><b><xsl:apply-templates/></b></p>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/expchunk.xsl b/lib/docbook/docbook-xsl/html/expchunk.xsl new file mode 100644 index 000000000..22b05120a --- /dev/null +++ b/lib/docbook/docbook-xsl/html/expchunk.xsl @@ -0,0 +1,16 @@ +<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:xalanredirect="org.apache.xalan.xslt.extensions.Redirect"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ version="1.1"
+ exclude-result-prefixes="doc"
+ extension-element-prefixes="saxon xalanredirect lxslt">
+
+<!-- This stylesheet works with Saxon and Xalan; for XT use xtchunk.xsl -->
+
+<xsl:import href="autoidx.xsl"/>
+<xsl:include href="chunk-experimental.xsl"/>
+<xsl:include href="chunker.xsl"/>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/footnote.xsl b/lib/docbook/docbook-xsl/html/footnote.xsl new file mode 100644 index 000000000..1ea26a39c --- /dev/null +++ b/lib/docbook/docbook-xsl/html/footnote.xsl @@ -0,0 +1,160 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: footnote.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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::table|ancestor::informaltable">
+ <sup>
+ <xsl:text>[</xsl:text>
+ <a name="{$name}" href="{$href}">
+ <xsl:apply-templates select="." mode="footnote.number"/>
+ </a>
+ <xsl:text>]</xsl:text>
+ </sup>
+ </xsl:when>
+ <xsl:otherwise>
+ <sup>
+ <xsl:text>[</xsl:text>
+ <a name="{$name}" href="{$href}">
+ <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="id(@linkend)"/>
+ <xsl:variable name="footnote" select="$targets[1]"/>
+ <xsl:variable name="href">
+ <xsl:text>#ftn.</xsl:text>
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="$footnote"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <sup>
+ <xsl:text>[</xsl:text>
+ <a href="{$href}">
+ <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="ancestor::table or ancestor::informaltable">
+ <xsl:number level="any" from="table|informaltable" format="a"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:number level="any" format="1"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="footnote/para[1]|footnote/simpara[1]">
+ <!-- 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>
+ <sup>
+ <xsl:text>[</xsl:text>
+ <a name="{$name}" href="{$href}">
+ <xsl:apply-templates select="ancestor::footnote"
+ mode="footnote.number"/>
+ </a>
+ <xsl:text>] </xsl:text>
+ </sup>
+ <xsl:apply-templates/>
+ </p>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="process.footnotes">
+ <xsl:variable name="footnotes" select=".//footnote"/>
+ <xsl:variable name="table.footnotes"
+ select=".//table//footnote|.//informaltable//footnote"/>
+
+ <!-- Only bother to do this if there's at least one non-table footnote -->
+ <xsl:if test="count($footnotes)>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:template>
+
+<xsl:template name="process.chunk.footnotes">
+ <!-- nop -->
+</xsl:template>
+
+<xsl:template match="footnote" mode="process.footnote.mode">
+ <xsl:if test="local-name(*[1]) != 'para'
+ and local-name(*[1]) != 'simpara'">
+ <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>
+ </xsl:if>
+ <div class="{name(.)}">
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="informaltable//footnote|table//footnote"
+ mode="process.footnote.mode">
+</xsl:template>
+
+<xsl:template match="footnote" mode="table.footnote.mode">
+ <xsl:if test="local-name(*[1]) != 'para'
+ and local-name(*[1]) != 'simpara'">
+ <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>
+ </xsl:if>
+ <div class="{name(.)}">
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/formal.xsl b/lib/docbook/docbook-xsl/html/formal.xsl new file mode 100644 index 000000000..df5e99361 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/formal.xsl @@ -0,0 +1,88 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: formal.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template name="formal.object">
+ <div class="{name(.)}">
+ <xsl:call-template name="formal.object.heading"/>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template name="formal.object.heading">
+ <p>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <b>
+ <xsl:apply-templates select="." mode="object.title.markup">
+ <xsl:with-param name="allow-anchors" select="1"/>
+ </xsl:apply-templates>
+ </b>
+ </p>
+</xsl:template>
+
+<xsl:template name="informal.object">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <div class="{name(.)}" id="{$id}">
+ <xsl:if test="$spacing.paras != 0"><p/></xsl:if>
+ <a name="{$id}"/>
+ <xsl:apply-templates/>
+ <xsl:if test="$spacing.paras != 0"><p/></xsl:if>
+ </div>
+</xsl:template>
+
+<xsl:template name="semiformal.object">
+ <xsl:choose>
+ <xsl:when test="title">
+ <xsl:call-template name="formal.object"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="informal.object"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="figure|table|example">
+ <xsl:call-template name="formal.object"/>
+</xsl:template>
+
+<xsl:template match="equation">
+ <xsl:call-template name="semiformal.object"/>
+</xsl:template>
+
+<xsl:template match="figure/title"></xsl:template>
+<xsl:template match="table/title"></xsl:template>
+<xsl:template match="example/title"></xsl:template>
+<xsl:template match="equation/title"></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">
+ <xsl:call-template name="informal.object"/>
+</xsl:template>
+
+<xsl:template match="informalequation">
+ <xsl:call-template name="informal.object"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/glossary.xsl b/lib/docbook/docbook-xsl/html/glossary.xsl new file mode 100644 index 000000000..b4cb67e54 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/glossary.xsl @@ -0,0 +1,219 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: glossary.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="glossary">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <div id="{$id}" class="{name(.)}">
+ <xsl:call-template name="glossary.titlepage"/>
+
+ <xsl:choose>
+ <xsl:when test="glossdiv">
+ <xsl:apply-templates select="(glossdiv[1]/preceding-sibling::*)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="glossdiv">
+ <xsl:apply-templates select="glossdiv"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <dl>
+ <xsl:apply-templates select="glossentry"/>
+ </dl>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:call-template name="process.footnotes"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="glossary/glossaryinfo"></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="glossary/title" mode="component.title.mode">
+ <h2>
+ <xsl:apply-templates/>
+ </h2>
+</xsl:template>
+
+<xsl:template match="glossary/subtitle" mode="component.title.mode">
+ <h3>
+ <i><xsl:apply-templates/></i>
+ </h3>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="glosslist">
+ <div class="{name(.)}">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+
+ <dl>
+ <xsl:apply-templates/>
+ </dl>
+ </div>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="glossdiv">
+ <div class="{name(.)}">
+ <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
+
+ <dl>
+ <xsl:apply-templates select="glossentry"/>
+ </dl>
+ </div>
+</xsl:template>
+
+<xsl:template match="glossdiv/title">
+ <h3 class="{name(.)}">
+ <xsl:apply-templates/>
+ </h3>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<!--
+GlossEntry ::=
+ GlossTerm, Acronym?, Abbrev?,
+ (IndexTerm)*,
+ RevHistory?,
+ (GlossSee | GlossDef+)
+-->
+
+<xsl:template match="glossentry">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="glossentry/glossterm">
+ <dt>
+ <xsl:apply-templates/>
+ </dt>
+</xsl:template>
+
+<xsl:template match="glossentry/glossterm[1]" priority="2">
+ <dt>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:apply-templates/>
+ </a>
+ </dt>
+</xsl:template>
+
+<xsl:template match="glossentry/acronym">
+</xsl:template>
+
+<xsl:template match="glossentry/abbrev">
+</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="//node()[@id=$otherterm]"/>
+ <xsl:variable name="target" select="$targets[1]"/>
+ <dd>
+ <p>
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="'glossary'"/>
+ <xsl:with-param name="name" select="'see'"/>
+ </xsl:call-template>
+ <xsl:choose>
+ <xsl:when test="@otherterm">
+ <a href="#{@otherterm}">
+ <xsl:apply-templates select="$target" mode="xref"/>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <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:call-template name="gentext.template">
+ <xsl:with-param name="context" select="'glossary'"/>
+ <xsl:with-param name="name" select="'seealso'"/>
+ </xsl:call-template>
+ <xsl:apply-templates select="glossseealso"/>
+ </p>
+ </xsl:if>
+ </dd>
+</xsl:template>
+
+<xsl:template match="glossseealso">
+ <xsl:variable name="otherterm" select="@otherterm"/>
+ <xsl:variable name="targets" select="//node()[@id=$otherterm]"/>
+ <xsl:variable name="target" select="$targets[1]"/>
+
+ <xsl:choose>
+ <xsl:when test="@otherterm">
+ <a href="#{@otherterm}">
+ <xsl:apply-templates select="$target" mode="xref"/>
+ </a>
+ </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>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="glossentry" mode="xref">
+ <xsl:apply-templates select="./glossterm[1]" mode="xref"/>
+</xsl:template>
+
+<xsl:template match="glossterm" mode="xref">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/graphics.xsl b/lib/docbook/docbook-xsl/html/graphics.xsl new file mode 100644 index 000000000..e759773c4 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/graphics.xsl @@ -0,0 +1,331 @@ +<?xml version='1.0'?>
+<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: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: graphics.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ Contributors:
+ Colin Paul Adams, <colin@colina.demon.co.uk>
+
+ ******************************************************************** -->
+
+<lxslt:component prefix="xtext"
+ elements="insertfile"/>
+
+<!-- ==================================================================== -->
+<!-- Graphic format tests for the HTML backend -->
+
+<xsl:template name="is.graphic.format">
+ <xsl:param name="format"></xsl:param>
+ <xsl:if test="$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:param>
+ <xsl:if test="$ext = 'png'
+ or $ext = 'jpeg'
+ or $ext = 'jpg'
+ or $ext = 'avi'
+ or $ext = 'mpg'
+ or $ext = 'mpeg'
+ or $ext = 'qt'
+ or $ext = 'gif'
+ or $ext = 'bmp'">1</xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="screenshot">
+ <div class="{name(.)}">
+ <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: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="width">
+ <xsl:choose>
+ <xsl:when test="@scale"><xsl:value-of select="@scale"/>%</xsl:when>
+ <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
+ <xsl:otherwise></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="height">
+ <xsl:choose>
+ <xsl:when test="@scale"></xsl:when>
+ <xsl:when test="@depth"><xsl:value-of select="@depth"/></xsl:when>
+ <xsl:otherwise></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="align">
+ <xsl:value-of select="@align"/>
+ </xsl:variable>
+
+ <xsl:element name="{$tag}">
+ <xsl:attribute name="src">
+ <xsl:value-of select="$filename"/>
+ </xsl:attribute>
+
+ <xsl:if test="$align != ''">
+ <xsl:attribute name="align">
+ <xsl:value-of select="$align"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="$height != ''">
+ <xsl:attribute name="height">
+ <xsl:value-of select="$height"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="$width != ''">
+ <xsl:attribute name="width">
+ <xsl:value-of select="$width"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="$alt != ''">
+ <xsl:attribute name="alt">
+ <xsl:value-of select="$alt"/>
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:element>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="graphic">
+ <p>
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:call-template name="process.image"/>
+ </p>
+</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:value-of select="@fileref"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+
+ <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}"/>
+ </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>
+ <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">
+ <div class="{name(.)}">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:call-template name="select.mediaobject"/>
+ <xsl:apply-templates select="caption"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="inlinemediaobject">
+ <span class="{name(.)}">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <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:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <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="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}"/>
+ </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>
+ <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:with-param name="alt">
+ <xsl:apply-templates select="(../../textobject/phrase)[1]"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </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: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="caption">
+ <div class="{name(.)}">
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/html.xsl b/lib/docbook/docbook-xsl/html/html.xsl new file mode 100644 index 000000000..4bad9a0a4 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/html.xsl @@ -0,0 +1,56 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: html.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template name="dingbat">
+ <xsl:param name="dingbat">bullet</xsl:param>
+ <xsl:choose>
+ <xsl:when test="false() and $using.chunker != 0">
+ <dingbat name="{$dingbat}"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="dingbat.characters">
+ <xsl:with-param name="dingbat" select="$dingbat"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</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'">•</xsl:when>
+ <xsl:when test="$dingbat='copyright'">©</xsl:when>
+ <xsl:when test="$dingbat='trademark'">™</xsl:when>
+ <xsl:when test="$dingbat='trade'">™</xsl:when>
+ <xsl:when test="$dingbat='registered'">®</xsl:when>
+ <xsl:when test="$dingbat='service'">(SM)</xsl:when>
+ <xsl:when test="$dingbat='nbsp'"> </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'">—</xsl:when>
+ <xsl:when test="$dingbat='mdash'">—</xsl:when>
+ <xsl:when test="$dingbat='en-dash'">–</xsl:when>
+ <xsl:when test="$dingbat='ndash'">–</xsl:when>
+ <xsl:otherwise>
+ <xsl:text>•</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/html/index.xsl b/lib/docbook/docbook-xsl/html/index.xsl new file mode 100644 index 000000000..22e67aac7 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/index.xsl @@ -0,0 +1,185 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: index.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="index|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:if test="count(*)>0 or $generate.index != '0'">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div id="{$id}" class="{name(.)}">
+ <xsl:call-template name="index.titlepage"/>
+ <xsl:apply-templates/>
+
+ <xsl:if test="count(indexentry) = 0 and count(indexdiv) = 0">
+ <xsl:call-template name="generate-index"/>
+ </xsl:if>
+
+ <xsl:call-template name="process.footnotes"/>
+ </div>
+ </xsl:if>
+</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 match="index/title" mode="component.title.mode">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <h2 class="title">
+ <a name="{$id}">
+ <xsl:apply-templates/>
+ </a>
+ </h2>
+</xsl:template>
+
+<xsl:template match="index/subtitle" mode="component.title.mode">
+ <h3>
+ <i><xsl:apply-templates/></i>
+ </h3>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="indexdiv">
+ <div class="{name(.)}">
+ <xsl:apply-templates mode="not-indexentrys"/>
+ <dl>
+ <xsl:apply-templates select="indexentry"/>
+ </dl>
+ </div>
+</xsl:template>
+
+<xsl:template match="indexentry" mode="not-indexentrys">
+ <!-- suppress -->
+</xsl:template>
+
+<xsl:template match="indexdiv/title">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <h3 class="{name(.)}">
+ <a name="{$id}">
+ <xsl:apply-templates/>
+ </a>
+ </h3>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="indexterm">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <a class="indexterm" name="{$id}"/>
+</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:template name="generate-index">
+ <!-- nop: use autoidx.xsl to get automatic indexing -->
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/info.xsl b/lib/docbook/docbook-xsl/html/info.xsl new file mode 100644 index 000000000..9ee34f728 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/info.xsl @@ -0,0 +1,53 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: info.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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 class="{name(.)}">
+ <xsl:apply-templates/>
+ </span>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="jobtitle">
+ <span class="{name(.)}">
+ <xsl:apply-templates/>
+ </span>
+</xsl:template>
+
+<xsl:template match="orgname">
+ <span class="{name(.)}">
+ <xsl:apply-templates/>
+ </span>
+</xsl:template>
+
+<xsl:template match="orgdiv">
+ <span class="{name(.)}">
+ <xsl:apply-templates/>
+ </span>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/inline.xsl b/lib/docbook/docbook-xsl/html/inline.xsl new file mode 100644 index 000000000..80a949282 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/inline.xsl @@ -0,0 +1,795 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: inline.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template name="inline.charseq">
+ <xsl:param name="content">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:param>
+ <xsl:copy-of select="$content"/>
+</xsl:template>
+
+<xsl:template name="inline.monoseq">
+ <xsl:param name="content">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:param>
+ <tt><xsl:copy-of select="$content"/></tt>
+</xsl:template>
+
+<xsl:template name="inline.boldseq">
+ <xsl:param name="content">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:param>
+ <!-- don't put <b> 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>
+ <b><xsl:copy-of select="$content"/></b>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="inline.italicseq">
+ <xsl:param name="content">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:param>
+ <i><xsl:copy-of select="$content"/></i>
+</xsl:template>
+
+<xsl:template name="inline.boldmonoseq">
+ <xsl:param name="content">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:param>
+ <!-- don't put <b> inside figure, example, or table titles -->
+ <!-- or other titles that may already be represented with <b>'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><xsl:copy-of select="$content"/></tt>
+ </xsl:when>
+ <xsl:otherwise>
+ <b><tt><xsl:copy-of select="$content"/></tt></b>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="inline.italicmonoseq">
+ <xsl:param name="content">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:param>
+ <i><tt><xsl:copy-of select="$content"/></tt></i>
+</xsl:template>
+
+<xsl:template name="inline.superscriptseq">
+ <xsl:param name="content">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:param>
+ <sup><xsl:copy-of select="$content"/></sup>
+</xsl:template>
+
+<xsl:template name="inline.subscriptseq">
+ <xsl:param name="content">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:param>
+ <sub><xsl:copy-of select="$content"/></sub>
+</xsl:template>
+
+<!-- ==================================================================== -->
+<!-- some special cases -->
+
+<xsl:template match="author">
+ <span class="{name(.)}"><xsl:call-template name="person.name"/></span>
+</xsl:template>
+
+<xsl:template match="editor">
+ <span class="{name(.)}"><xsl:call-template name="person.name"/></span>
+</xsl:template>
+
+<xsl:template match="othercredit">
+ <span class="{name(.)}"><xsl:call-template name="person.name"/></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="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="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:apply-templates select="$nodes[1]"/>
+ </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="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="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:template>
+
+<xsl:template match="acronym">
+ <xsl:call-template name="inline.charseq"/>
+</xsl:template>
+
+<xsl:template match="citerefentry">
+ <xsl:choose>
+ <xsl:when test="$citerefentry.link != '0'">
+ <a>
+ <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:call-template name="inline.italicseq"/>
+</xsl:template>
+
+<xsl:template match="emphasis">
+ <span>
+ <xsl:choose>
+ <xsl:when test="@role and $emphasis.propagates.style != 0">
+ <xsl:attribute name="class">
+ <xsl:value-of select="@role"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="class">
+ <xsl:text>emphasis</xsl:text>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="@role = 'bold'">
+ <!-- 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>
+ <b><xsl:apply-templates/></b>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <i><xsl:apply-templates/></i>
+ </xsl:otherwise>
+ </xsl:choose>
+ </span>
+</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">
+ <span>
+ <xsl:if test="@role and $phrase.propagates.style != 0">
+ <xsl:attribute name="class">
+ <xsl:value-of select="@role"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </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">
+ <xsl:call-template name="inline.charseq"/>
+</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="inline.italicseq"/>
+</xsl:template>
+
+<xsl:template match="glossterm">
+ <xsl:choose>
+ <xsl:when test="@linkend">
+ <xsl:variable name="targets" select="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:if test="@id">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@id"/>
+ </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"/>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="inline.italicseq"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="sgmltag">
+ <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: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></</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>></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>&</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>&#</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><?</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>></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><?</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>?></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><</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>></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><</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>/></xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$class='sgmlcomment'">
+ <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: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">
+ <xsl:text><</xsl:text>
+ <a>
+ <xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute>
+ <xsl:apply-templates/>
+ </a>
+ <xsl:text>></xsl:text>
+ </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/>
+ </xsl:for-each>
+</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>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="name($node)='guimenuitem'
+ or name($node)='guisubmenu'">
+ <xsl:text>-></xsl:text>
+ </xsl:when>
+ <xsl:otherwise>+</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: biblio-citation-check -->
+ <xsl:text>[</xsl:text>
+ <xsl:call-template name="inline.charseq"/>
+ <xsl:text>]</xsl:text>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="comment|remark">
+ <xsl:if test="$show.comments != 0">
+ <i><xsl:call-template name="inline.charseq"/></i>
+ </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:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/html/keywords.xsl b/lib/docbook/docbook-xsl/html/keywords.xsl new file mode 100644 index 000000000..2aea1da07 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/keywords.xsl @@ -0,0 +1,35 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: keywords.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template match="keywordset"></xsl:template>
+<xsl:template match="subjectset"></xsl:template>
+
+<!-- ==================================================================== -->
+
+<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>
diff --git a/lib/docbook/docbook-xsl/html/lists.xsl b/lib/docbook/docbook-xsl/html/lists.xsl new file mode 100644 index 000000000..83ac5bfc4 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/lists.xsl @@ -0,0 +1,711 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: lists.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="itemizedlist">
+ <div class="{name(.)}">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:if test="title">
+ <xsl:apply-templates select="title"/>
+ </xsl:if>
+ <ul>
+ <xsl:if test="@spacing='compact'">
+ <xsl:attribute name="compact">
+ <xsl:value-of select="@spacing"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates select="listitem"/>
+ </ul>
+ </div>
+</xsl:template>
+
+<xsl:template match="itemizedlist/title">
+ <p><b><xsl:apply-templates/></b></p>
+</xsl:template>
+
+<xsl:template name="orderedlist-starting-number">
+ <xsl:param name="list" select="."/>
+ <xsl:choose>
+ <xsl:when test="$list/@continuation != 'continues'">1</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 match="orderedlist">
+ <xsl:variable name="start">
+ <xsl:choose>
+ <xsl:when test="@continuation='continues'">
+ <xsl:call-template name="orderedlist-starting-number"/>
+ </xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="numeration">
+ <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>
+ <xsl:otherwise>
+ <!-- alternate the numeration based on depth -->
+ <xsl:variable name="depth" select="count(ancestor::orderedlist)"/>
+ <xsl:variable name="type" select="$depth mod 5"/>
+ <xsl:choose>
+ <xsl:when test="$type = 0">1</xsl:when>
+ <xsl:when test="$type = 1">a</xsl:when>
+ <xsl:when test="$type = 2">i</xsl:when>
+ <xsl:when test="$type = 3">A</xsl:when>
+ <xsl:when test="$type = 4">I</xsl:when>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <div class="{name(.)}">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:if test="title">
+ <xsl:apply-templates select="title"/>
+ </xsl:if>
+ <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="$numeration"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@spacing='compact'">
+ <xsl:attribute name="compact">
+ <xsl:value-of select="compact"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates select="listitem"/>
+ </ol>
+ </div>
+</xsl:template>
+
+<xsl:template match="orderedlist/title">
+ <p><b><xsl:apply-templates/></b></p>
+</xsl:template>
+
+<xsl:template match="variablelist">
+ <div class="{name(.)}">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:if test="title">
+ <xsl:apply-templates select="title"/>
+ </xsl:if>
+ <dl>
+ <xsl:apply-templates select="varlistentry"/>
+ </dl>
+ </div>
+</xsl:template>
+
+<xsl:template match="variablelist/title">
+ <p><b><xsl:apply-templates/></b></p>
+</xsl:template>
+
+<xsl:template match="listitem">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="mark" select="ancestor-or-self::*/@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 = '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'">
+ <a name="{$id}"/>
+ </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="$show.revisionflag 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="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:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:when>
+ <xsl:otherwise>
+ <p>
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </p>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="varlistentry">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <dt><a name="{$id}"/><xsl:apply-templates select="term"/></dt>
+ <dd><xsl:apply-templates select="listitem"/></dd>
+</xsl:template>
+
+<xsl:template match="varlistentry/term">
+ <span class="term">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ <xsl:text>, </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="varlistentry/term[position()=last()]" priority="2">
+ <span class="term">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </span>
+</xsl:template>
+
+<xsl:template match="varlistentry/listitem">
+ <xsl:choose>
+ <xsl:when test="$show.revisionflag 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:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <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 class="{name(.)}">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </span>
+</xsl:template>
+
+<xsl:template match="simplelist[@type='horiz']">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <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:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <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 <= count($members)">
+ <tr>
+ <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 <= $cols">
+ <td>
+ <xsl:choose>
+ <xsl:when test="$members[position()=$cell]">
+ <xsl:apply-templates select="$members[position()=$cell]"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$using.chunker != 0">
+ <xsl:text> </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </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 <= $rows">
+ <tr>
+ <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 <= $cols">
+ <td>
+ <xsl:choose>
+ <xsl:when test="$members[position()=$cell]">
+ <xsl:apply-templates select="$members[position()=$cell]"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$using.chunker != 0">
+ <xsl:text> </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </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:apply-templates/>
+</xsl:template>
+
+<xsl:template match="simplelist[@type='inline']/member">
+ <xsl:apply-templates/>
+ <xsl:text>, </xsl:text>
+</xsl:template>
+
+<xsl:template match="simplelist[@type='inline']/member[position()=last()]"
+ priority="2">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="procedure">
+ <div class="{name(.)}">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:if test="title or $formal.procedures != 0">
+ <xsl:call-template name="formal.object.heading"/>
+ </xsl:if>
+ <xsl:apply-templates select="*[local-name()!='step']"/>
+ <ol>
+ <xsl:attribute name="type">
+ <xsl:value-of select="substring($procedure.step.numeration.formats,1,1)"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="step"/>
+ </ol>
+ </div>
+</xsl:template>
+
+<xsl:template match="procedure/title">
+</xsl:template>
+
+<xsl:template match="title" mode="procedure.title.mode">
+ <p>
+ <b>
+ <xsl:apply-templates/>
+ </b>
+ </p>
+</xsl:template>
+
+<xsl:template match="substeps">
+ <xsl:variable name="numeration">
+ <xsl:call-template name="procedure.step.numeration"/>
+ </xsl:variable>
+
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+
+ <ol type="{$numeration}">
+ <xsl:apply-templates/>
+ </ol>
+</xsl:template>
+
+<xsl:template match="step">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <li>
+ <a name="{$id}"/>
+ <xsl:apply-templates/>
+ </li>
+</xsl:template>
+
+<xsl:template match="step/title">
+ <xsl:apply-templates select="." mode="procedure.title.mode"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="segmentedlist">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="segmentedlist/title">
+ <p><b><xsl:apply-templates/></b></p>
+</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:apply-templates/>
+</xsl:template>
+
+<xsl:template match="seg">
+ <xsl:variable name="segnum" select="position()"/>
+ <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
+ -->
+
+ <p>
+ <b>
+ <xsl:apply-templates select="$segtitles[$segnum=position()]"
+ mode="segtitle-in-seg"/>
+ <xsl:text>: </xsl:text>
+ </b>
+ <xsl:apply-templates/>
+ </p>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="calloutlist">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <div class="{name(.)}">
+ <a name="{$id}"/>
+ <xsl:if test="./title">
+ <p>
+ <b>
+ <xsl:apply-templates select="./title" mode="calloutlist.title.mode"/>
+ </b>
+ </p>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="$callout.list.table != 0">
+ <table border="0" summary="Callout list">
+ <xsl:apply-templates/>
+ </table>
+ </xsl:when>
+ <xsl:otherwise>
+ <dl compact="compact"><xsl:apply-templates/></dl>
+ </xsl:otherwise>
+ </xsl:choose>
+ </div>
+</xsl:template>
+
+<xsl:template match="calloutlist/title">
+</xsl:template>
+
+<xsl:template match="calloutlist/title" mode="calloutlist.title.mode">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="callout">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$callout.list.table != 0">
+ <tr>
+ <td width="5%" valign="top" align="left">
+ <a name="{$id}"/>
+ <xsl:call-template name="callout.arearefs">
+ <xsl:with-param name="arearefs" select="@arearefs"/>
+ </xsl:call-template>
+ </td>
+ <td valign="top" align="left">
+ <xsl:apply-templates/>
+ </td>
+ </tr>
+ </xsl:when>
+ <xsl:otherwise>
+ <dt>
+ <a name="{$id}"/>
+ <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 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="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:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/html/math.xsl b/lib/docbook/docbook-xsl/html/math.xsl new file mode 100644 index 000000000..ee514e32d --- /dev/null +++ b/lib/docbook/docbook-xsl/html/math.xsl @@ -0,0 +1,22 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: math.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template match="inlineequation">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="alt">
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/oldchunker.xsl b/lib/docbook/docbook-xsl/html/oldchunker.xsl new file mode 100644 index 000000000..f32ed9ac4 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/oldchunker.xsl @@ -0,0 +1,190 @@ +<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:xalanredirect="org.apache.xalan.xslt.extensions.Redirect"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ version="1.1"
+ exclude-result-prefixes="doc"
+ extension-element-prefixes="saxon xalanredirect lxslt">
+
+<!-- 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 name="default.encoding" xmlns="">
+<refpurpose>Encoding used in generated HTML pages</refpurpose>
+<refdescription>
+<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 name="saxon.character.representation" xmlns="">
+<refpurpose>Saxon character representation used in generated HTML pages</refpurpose>
+<refdescription>
+<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 xalanredirect -->
+ <xalanredirect:write file="{$filename}">
+ <xsl:copy-of select="$content"/>
+ </xalanredirect: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 xalanredirect -->
+ <xalanredirect:write file="{$filename}">
+ <xsl:copy-of select="$content"/>
+ </xalanredirect: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>
diff --git a/lib/docbook/docbook-xsl/html/param.xsl b/lib/docbook/docbook-xsl/html/param.xsl new file mode 100644 index 000000000..4851478a7 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/param.xsl @@ -0,0 +1,1239 @@ +<?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: param.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<doc:reference xmlns="">
+<referenceinfo>
+<releaseinfo role="meta">
+$Id: param.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+</releaseinfo>
+<author><surname>Walsh</surname>
+<firstname>Norman</firstname></author>
+<copyright><year>1999</year><year>2000</year>
+<holder>Norman Walsh</holder>
+</copyright>
+</referenceinfo>
+<title>HTML Parameter 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 each of the HTML Stylesheet parameters.
+These are the <quote>easily customizable</quote> parts of the stylesheet.
+If you want to specify an alternate value for one or more of these
+parameters, you can do so in a <quote>driver</quote> stylesheet.</para>
+
+<para>For example, if you want to change the <literal>html.stylesheet</literal>
+to <filename>reference.css</filename>, you might create a driver
+stylesheet like this:</para>
+
+<programlisting><![CDATA[<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+ <xsl:import href="/path/to/html/docbook.xsl"/>
+
+ <xsl:param name="html.stylesheet">reference.css</xsl:param>
+
+</xsl:stylesheet>]]></programlisting>
+
+<para>Naturally, you have to change the
+<sgmltag class='attribute'>href</sgmltag> attribute on
+<literal><xsl:import></literal>
+to point to <filename>docbook.xsl</filename>
+on your system. (Or <filename>chunk.xsl</filename>, if you're using
+chunking.)</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:param name="author.othername.in.middle" select="1" doc:type='boolean'/>
+
+<doc:param name="author.othername.in.middle" xmlns="">
+<refpurpose>Is <sgmltag>othername</sgmltag> in <sgmltag>author</sgmltag> a
+middle name?</refpurpose>
+<refdescription>
+<para>If true (non-zero), the <sgmltag>othername</sgmltag> of an <sgmltag>author</sgmltag>
+appears between the <sgmltag>firstname</sgmltag> and
+<sgmltag>surname</sgmltag>. Otherwise, <sgmltag>othername</sgmltag>
+is suppressed.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="html.stylesheet" select="''" doc:type='string'/>
+
+<doc:param name="html.stylesheet" xmlns="">
+<refpurpose>Name of the stylesheet to use in the generated HTML</refpurpose>
+<refdescription>
+<para>The name of the stylesheet to place in the HTML <sgmltag>LINK</sgmltag>
+tag, or the empty string to suppress the stylesheet <sgmltag>LINK</sgmltag>.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="html.stylesheet.type" doc:type='string'>text/css</xsl:param>
+
+<doc:param name="html.stylesheet.type" xmlns="">
+<refpurpose>The type of the stylesheet used in the generated HTML</refpurpose>
+<refdescription>
+<para>The type of the stylesheet to place in the HTML <sgmltag>link</sgmltag> tag.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="html.base" doc:type='uri'></xsl:param>
+
+<doc:param name="html.base" xmlns="">
+<refpurpose>An HTML base URI</refpurpose>
+<refdescription>
+<para>If html.base is set, it is used for the <sgmltag>BASE</sgmltag>
+element in the <sgmltag>HEAD</sgmltag> of the HTML documents.
+This is useful for dynamically served HTML where the base URI needs
+to be shifted.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="ulink.target" select="'_top'" doc:type='string'/>
+
+<doc:param name="ulink.target" xmlns="">
+<refpurpose>The HTML anchor target for ULinks</refpurpose>
+<refdescription>
+<para>If <parameter>ulink.target</parameter> is set, its value will
+be used for the <sgmltag class='attribute'>target</sgmltag> attribute
+on anchors generated for <sgmltag>ulink</sgmltag>s.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="refentry.xref.manvolnum" select="1" doc:type='boolean'/>
+
+<doc:param name="refentry.xref.manvolnum" xmlns="">
+<refpurpose>Output <sgmltag>manvolnum</sgmltag> as part of
+<sgmltag>refentry</sgmltag> cross-reference?</refpurpose>
+<refdescription>
+<para>if true (non-zero), the <sgmltag>manvolnum</sgmltag> is used when cross-referencing
+<sgmltag>refentry</sgmltag>s, either with <sgmltag>xref</sgmltag>
+or <sgmltag>citerefentry</sgmltag>.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="show.comments" doc:type='boolean'>1</xsl:param>
+
+<doc:param name="show.comments" xmlns="">
+<refpurpose>Display <sgmltag>comment</sgmltag> elements?</refpurpose>
+<refdescription>
+<para>If true (non-zero), comments will be displayed, otherwise they are suppressed.
+Comments here refers to the <sgmltag>comment</sgmltag> element,
+which will be renamed <sgmltag>remark</sgmltag> in DocBook V4.0,
+not XML comments (<-- like this -->) which are unavailable.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="funcsynopsis.style"
+ doc:type='list'
+ doc:list='ansi kr'>kr</xsl:param>
+
+<doc:param name="funcsynopsis.style" xmlns="">
+<refpurpose>What style of 'FuncSynopsis' should be generated?</refpurpose>
+<refdescription>
+<para>If <varname>funcsynopsis.style</varname> is <literal>ansi</literal>,
+ANSI-style function synopses are generated for a
+<sgmltag>funcsynopsis</sgmltag>, otherwise K&R-style
+function synopses are generated.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="funcsynopsis.decoration" select="1" doc:type='boolean'/>
+
+<doc:param name="funcsynopsis.decoration" xmlns="">
+<refpurpose>Decorate elements of a FuncSynopsis?</refpurpose>
+<refdescription>
+<para>If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or
+italic). The decoration is controlled by functions that can be redefined
+in a customization layer.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="function.parens" doc:type='boolean'>0</xsl:param>
+
+<doc:param name="function.parens" xmlns="">
+<refpurpose>Generate parens after a function?</refpurpose>
+<refdescription>
+<para>If not 0, the formatting of
+a <sgmltag class="starttag">function</sgmltag> element will include
+generated parenthesis.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="refentry.generate.name" select="1" doc:type='boolean'/>
+
+<doc:param name="refentry.generate.name" xmlns="">
+<refpurpose>Output NAME header before 'RefName'(s)?</refpurpose>
+<refdescription>
+<para>If true (non-zero), a "NAME" section title is output before the list
+of 'RefName's.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="admon.graphics" select="0" doc:type='boolean'/>
+
+<doc:param name="admon.graphics" xmlns="">
+<refpurpose>Use graphics in admonitions?</refpurpose>
+<refdescription>
+<para>If true (non-zero), admonitions are presented in an alternate style that uses
+a graphic. Default graphics are provided in the distribution.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="admon.graphics.path" doc:type='string'>images/</xsl:param>
+
+<doc:param name="admon.graphics.path" xmlns="">
+<refpurpose>Path to admonition graphics</refpurpose>
+<refdescription>
+<para>Sets the path, probably relative to the directory where the HTML
+files are created, to the admonition graphics.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="admon.graphics.extension" select="'.png'" doc:type='string'/>
+
+<doc:param name="admon.graphics.extension" xmlns="">
+<refpurpose>Extension for admonition graphics</refpurpose>
+<refdescription>
+<para>Sets the extension to use on admonition graphics.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="admon.style" doc:type='string'>
+ <xsl:text>margin-left: 0.5in; margin-right: 0.5in;</xsl:text>
+</xsl:param>
+
+<doc:param name="admon.style" xmlns="">
+<refpurpose>CSS style attributes for admonitions</refpurpose>
+<refdescription>
+<para>Specifies the value of the <sgmltag class="attribute">STYLE</sgmltag>
+attribute that should be added to admonitions.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="section.autolabel" select="0" doc:type='boolean'/>
+
+<doc:param name="section.autolabel" xmlns="">
+<refpurpose>Are sections enumerated?</refpurpose>
+<refdescription>
+<para>If true (non-zero), unlabeled sections will be enumerated.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="section.label.includes.component.label" select="0"
+ doc:type='boolean'/>
+
+<doc:param name="section.label.includes.component.label" xmlns="">
+<refpurpose>Do section labels include the component label?</refpurpose>
+<refdescription>
+<para>If true (non-zero), section labels are prefixed with the label of the
+component that contains them.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="chapter.autolabel" select="1" doc:type='boolean'/>
+<xsl:param name="appendix.autolabel" select="1" doc:type='boolean'/>
+
+<doc:param name="chapter.autolabel" xmlns="">
+<refpurpose>Are chapters and appendixes enumerated?</refpurpose>
+<refdescription>
+<para>If true (non-zero), unlabeled chapters and appendixes will be enumerated.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="preface.autolabel" select="0" doc:type='boolean'/>
+
+<doc:param name="preface.autolabel" xmlns="">
+<refpurpose>Are prefaces enumerated?</refpurpose>
+<refdescription>
+<para>If true (non-zero), unlabeled prefaces will be enumerated.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="part.autolabel" select="1" doc:type='boolean'/>
+
+<doc:param name="part.autolabel" xmlns="">
+<refpurpose>Are parts and references enumerated?</refpurpose>
+<refdescription>
+<para>If true (non-zero), unlabeled parts and references will be enumerated.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="qandadiv.autolabel" select="1" doc:type='boolean'/>
+
+<doc:param name="qandadiv.autolabel" xmlns="">
+<refpurpose>Are divisions in QAndASets enumerated?</refpurpose>
+<refdescription>
+<para>If true (non-zero), unlabeled qandadivs will be enumerated.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="qanda.inherit.numeration" select="1" doc:type='boolean'/>
+
+<doc:param name="qanda.inherit.numeration" xmlns="">
+<refpurpose>Does enumeration of QandASet components inherit the numeration of parent elements?</refpurpose>
+<refdescription>
+<para>If true (non-zero), numbered QandADiv elements and Questions and Answers inherit
+the numeration of the ancestors of the QandASet.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="qanda.defaultlabel"
+ doc:type='boolean'
+ doc:list='qanda number none'>number</xsl:param>
+
+<doc:param name="qanda.defaultlabel" xmlns="">
+<refpurpose>Sets the default for defaultlabel on QandASet.</refpurpose>
+<refdescription>
+<para>If no defaultlabel attribute is specified on a QandASet, this
+value is used. It must be one of the legal values for the defaultlabel
+attribute.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.qandaset.toc" doc:type='boolean'>1</xsl:param>
+
+<doc:param name="generate.qandaset.toc" xmlns="">
+<refpurpose>Is a Table of Contents created for QandASets?</refpurpose>
+<refdescription>
+<para>If true (non-zero), a ToC is constructed for QandASets.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.qandadiv.toc" doc:type='boolean'>0</xsl:param>
+
+<doc:param name="generate.qandadiv.toc" xmlns="">
+<refpurpose>Is a Table of Contents created for QandADivs?</refpurpose>
+<refdescription>
+<para>If true (non-zero), a ToC is constructed for QandADivs.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="biblioentry.item.separator" doc:type='string'>. </xsl:param>
+
+<doc:param name="biblioentry.item.separator" xmlns="">
+<refpurpose>Text to separate bibliography entries</refpurpose>
+<refdescription>
+<para>Text to separate bibliography entries
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="toc.section.depth"
+ doc:type='integer'
+ doc:min='1'
+ doc:max='10'>2</xsl:param>
+
+<doc:param name="toc.section.depth" xmlns="">
+<refpurpose>How deep should recursive <sgmltag>section</sgmltag>s appear
+in the TOC?</refpurpose>
+<refdescription>
+<para>Specifies the depth to which recursive sections should appear in the
+TOC.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="using.chunker" select="0" doc:type='boolean'/>
+
+<doc:param name="using.chunker" xmlns="">
+<refpurpose>Will the output be chunked?</refpurpose>
+<refdescription>
+<para>In addition to providing chunking, the chunker can cleanup a
+number of XML to HTML issues. If the chunker is not being used, the
+stylesheets try to avoid producing results that will not appear properly
+in browsers.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.component.toc" select="1" doc:type='boolean'/>
+
+<doc:param name="generate.component.toc" xmlns="">
+<refpurpose>Should TOCs be genereated in components (Chapters, Appendixes, etc.)?</refpurpose>
+<refdescription>
+<para>If true (non-zero), they are.
+</para>
+</refdescription>
+</doc:param>
+<!-- ==================================================================== -->
+<xsl:param name="generate.division.toc" select="1" doc:type='boolean'/>
+
+<doc:param name="generate.division.toc" xmlns="">
+<refpurpose>Should TOCs be genereated in divisions (Books, Parts, etc.)?</refpurpose>
+<refdescription>
+<para>If true (non-zero), they are.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="link.mailto.url" doc:type='string'></xsl:param>
+
+<doc:param name="link.mailto.url" xmlns="">
+<refpurpose>Mailto URL for the LINK REL=made HTML HEAD element</refpurpose>
+<refdescription>
+<para>If not the empty string, this address will be used for the
+REL=made <sgmltag>LINK</sgmltag> element in the HTML <sgmltag>HEAD</sgmltag>.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="graphic.default.extension" doc:type='string'></xsl:param>
+
+<doc:param name="graphic.default.extension" xmlns="">
+<refpurpose>Default extension for graphic filenames</refpurpose>
+<refdescription>
+<para>If a <sgmltag>graphic</sgmltag> or <sgmltag>mediaobject</sgmltag>
+includes a reference to a filename that does not include an extension,
+and the <sgmltag class="attribute">format</sgmltag> attribute is
+<emphasis>unspecified</emphasis>, the default extension will be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="toc.list.type"
+ doc:type='list'
+ doc:list='dl ul ol'>dl</xsl:param>
+
+<doc:param name="toc.list.type" xmlns="">
+<refpurpose>Type of HTML list element to use for Tables of Contents</refpurpose>
+<refdescription>
+<para>When an automatically generated Table of Contents (or List of Titles)
+is produced, this HTML element will be used to make the list.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="use.id.function" doc:type='boolean' select="'1'"/>
+
+<doc:param name="use.id.function" xmlns="">
+<refpurpose>Use the XPath id() function to find link targets?</refpurpose>
+<refdescription>
+<para>If 1, the stylesheets use the <function>id()</function> function
+to find the targets of cross reference elements. This is more
+efficient, but only works if your XSLT processor implements the
+<function>id()</function> function, naturally.</para>
+<para>THIS PARAMETER IS NOT SUPPORTED. IT IS ALWAYS ASSUMED TO BE 1.
+SEE xref.xsl IF YOU NEED TO TURN IT OFF.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="spacing.paras" doc:type='boolean' select="'0'"/>
+
+<doc:param name="spacing.paras" xmlns="">
+<refpurpose>Insert additional <p> elements for spacing?</refpurpose>
+<refdescription>
+<para>When non-zero, additional, empty paragraphs are inserted in
+several contexts (for example, around informal figures), to create a
+more pleasing visual appearance in many browsers.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="css.decoration" doc:type='boolean'>1</xsl:param>
+
+<doc:param name="css.decoration" xmlns="">
+<refpurpose>Enable CSS decoration of elements</refpurpose>
+<refdescription>
+<para>
+If <literal>css.decoration</literal> is turned on, then HTML elements
+produced by the
+stylesheet may be decorated with STYLE attributes. For example, the
+LI tags produced for list items may include a fragment of CSS in the
+STYLE attribute which sets the CSS property "list-style-type".
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="show.revisionflag" doc:type='boolean'>0</xsl:param>
+
+<doc:param name="show.revisionflag" xmlns="">
+<refpurpose>Enable decoration of elements that have a revisionflag</refpurpose>
+<refdescription>
+<para>
+If <literal>show.revisionflag</literal> is turned on, then the stylesheets
+may produce additional markup designed to allow a CSS stylesheet to
+highlight elements that have specific revisionflag settings.</para>
+
+<para>The markup inserted will be usually be either a <span> or <div>
+with an appropriate <literal>class</literal> attribute. (The value of
+the class attribute will be the same as the value of the revisionflag
+attribute). In some contexts, for example tables, where extra markup
+would be structurally illegal, the class attribute will be added to the
+appropriate container element.</para>
+
+<para>In general, the stylesheets only test for revisionflag in contexts
+where an importing stylesheet would have to redefine whole templates.
+Most of the revisionflag processing is expected to be done by another
+stylesheet, for example <filename>changebars.xsl</filename>.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="suppress.navigation" doc:type='boolean'>0</xsl:param>
+
+<doc:param name="suppress.navigation" xmlns="">
+<refpurpose>Disable header and footer navigation</refpurpose>
+<refdescription>
+<para>
+If <literal>suppress.navigation</literal> is turned on, header and
+footer navigation will be suppressed.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="rootid" select="''" doc:type='string'/>
+
+<doc:param name="rootid" xmlns="">
+<refpurpose>Specify the root element to format</refpurpose>
+<refdescription>
+<para>If <parameter>rootid</parameter> is specified, it must be the
+value of an ID that occurs in the document being formatted. The entire
+document will be loaded and parsed, but formatting will begin at the
+element identified, rather than at the root. For example, this allows
+you to process only chapter 4 of a book.</para>
+<para>Because the entire document is available to the processor, automatic
+numbering, cross references, and other dependencies are correctly
+resolved.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.list.table" select="'1'" doc:type='boolean'/>
+
+<doc:param name="callout.list.table" xmlns="">
+<refpurpose>Present callout lists using a table?</refpurpose>
+<refdescription>
+<para>The default presentation of <sgmltag>CalloutList</sgmltag>s uses
+an HTML <sgmltag>DL</sgmltag>. Some browsers don't align DLs very well
+if <parameter>callout.graphics</parameter> are used. With this option
+turned on, <sgmltag>CalloutList</sgmltag>s are presented in an HTML
+<sgmltag>TABLE</sgmltag>, which usually results in better alignment
+of the callout number with the callout description.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.graphics" select="'1'" doc:type='boolean'/>
+
+<doc:param name="callout.graphics" xmlns="">
+<refpurpose>Use graphics for callouts?</refpurpose>
+<refdescription>
+<para>If non-zero, callouts are presented with graphics (e.g., reverse-video
+circled numbers instead of "(1)", "(2)", etc.).
+Default graphics are provided in the distribution.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.graphics.extension" select="'.png'" doc:type='string'/>
+
+<doc:param name="callout.graphics.extension" xmlns="">
+<refpurpose>Extension for callout graphics</refpurpose>
+<refdescription>
+<para>Sets the extension to use on callout graphics.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.graphics.path" select="'images/callouts/'" doc:type='string'/>
+
+<doc:param name="callout.graphics.path" xmlns="">
+<refpurpose>Path to callout graphics</refpurpose>
+<refdescription>
+<para>Sets the path, probably relative to the directory where the HTML
+files are created, to the callout graphics.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.graphics.number.limit" select="'10'"
+ doc:type='integer'/>
+
+<doc:param name="callout.graphics.number.limit" xmlns="">
+<refpurpose>Number of the largest callout graphic</refpurpose>
+<refdescription>
+<para>If <parameter>callout.graphics</parameter>
+is non-zero, graphics are used to represent
+callout numbers. The value of
+<parameter>callout.graphics.number.limit</parameter>
+is
+the largest number for which a graphic exists. If the callout number
+exceeds this limit, the default presentation "(nnn)" will always
+be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="use.extensions" select="'0'" doc:type='boolean'/>
+
+<doc:param name="use.extensions" xmlns="">
+<refpurpose>Enable extensions</refpurpose>
+<refdescription>
+<para>If non-zero, extensions may be used. Each extension is
+further controlled by its own parameter. But if
+<parameter>use.extensions</parameter> is zero, no extensions will
+be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="textinsert.extension" select="'1'" doc:type='boolean'/>
+
+<doc:param name="textinsert.extension" xmlns="">
+<refpurpose>Enable the textinsert extension element</refpurpose>
+<refdescription>
+<para>The textinsert extension element inserts the contents of a
+a file into the result tree (as text).
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="saxon.linenumbering" select="'1'" doc:type='boolean'/>
+
+<doc:param name="saxon.linenumbering" xmlns="">
+<refpurpose>Enable the line numbering extension</refpurpose>
+<refdescription>
+<para>If true, verbatim environments (elements that have the
+format='linespecific' notation attribute: address, literallayout,
+programlisting, screen, synopsis) that specify line numbering will
+have, surprise, line numbers.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="linenumbering.extension" select="'1'" doc:type='boolean'/>
+
+<doc:param name="linenumbering.extension" xmlns="">
+<refpurpose>Enable the line numbering extension</refpurpose>
+<refdescription>
+<para>If true, verbatim environments (elements that have the
+format='linespecific' notation attribute: address, literallayout,
+programlisting, screen, synopsis) that specify line numbering will
+have, surprise, line numbers.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="linenumbering.everyNth" select="'5'" doc:type='integer'/>
+
+<doc:param name="linenumbering.everyNth" xmlns="">
+<refpurpose>Indicate which lines should be numbered</refpurpose>
+<refdescription>
+<para>If line numbering is enabled, everyNth line will be numbered.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="linenumbering.width" select="'3'" doc:type='integer'/>
+
+<doc:param name="linenumbering.width" xmlns="">
+<refpurpose>Indicates the width of line numbers</refpurpose>
+<refdescription>
+<para>If line numbering is enabled, line numbers will appear right
+justified in a field "width" characters wide.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="linenumbering.separator" select="' '" doc:type='string'/>
+
+<doc:param name="linenumbering.separator" xmlns="">
+<refpurpose>Specify a separator between line numbers and lines</refpurpose>
+<refdescription>
+<para>The separator is inserted between line numbers and lines in
+the verbatim environment.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="saxon.callouts" select="'1'" doc:type='boolean'/>
+
+<doc:param name="saxon.callouts" xmlns="">
+<refpurpose>Enable the callout extension</refpurpose>
+<refdescription>
+<para>The callouts extension processes <sgmltag>areaset</sgmltag>
+elements in <sgmltag>ProgramListingCO</sgmltag> and other text-based
+callout elements.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callouts.extension" select="'1'" doc:type='boolean'/>
+
+<doc:param name="callouts.extension" xmlns="">
+<refpurpose>Enable the callout extension</refpurpose>
+<refdescription>
+<para>The callouts extension processes <sgmltag>areaset</sgmltag>
+elements in <sgmltag>ProgramListingCO</sgmltag> and other text-based
+callout elements.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.defaultcolumn" select="'60'" doc:type='integer'/>
+
+<doc:param name="callout.defaultcolumn" xmlns="">
+<refpurpose>Indicates what column callouts appear in by default</refpurpose>
+<refdescription>
+<para>If a callout does not identify a column (for example, if it uses
+the <literal>linerange</literal> <sgmltag class="attribute">unit</sgmltag>),
+it will appear in the default column.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="stylesheet.result.type" select="'html'"
+ doc:type='list'
+ doc:list='html fo'/>
+
+<doc:param name="stylesheet.result.type" xmlns="">
+<refpurpose>Identifies the output format of this stylesheet</refpurpose>
+<refdescription>
+<para>The Saxon extension functions need to know if the output format
+is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers
+that question. Valid settings are 'html' or 'fo'.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="nominal.table.width" select="'6in'" doc:type='length'/>
+
+<doc:param name="nominal.table.width" xmlns="">
+<refpurpose>The (absolute) nominal width of tables</refpurpose>
+<refdescription>
+<para>In order to convert CALS column widths into HTML column widths, it
+is sometimes necessary to have an absolute table width to use for conversion
+of mixed absolute and relative widths. This value must be an absolute
+length (not a percentag).</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="default.table.width" select="''" doc:type='length'/>
+
+<doc:param name="default.table.width" xmlns="">
+<refpurpose>The default width of tables</refpurpose>
+<refdescription>
+<para>If specified, this value will be used for the WIDTH attribute on
+tables that do not specify an alternate width (with the dbhtml processing
+instruction).</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="saxon.tablecolumns" select="'1'" doc:type='boolean'/>
+
+<doc:param name="saxon.tablecolumns" xmlns="">
+<refpurpose>Enable the table columns extension function</refpurpose>
+<refdescription>
+<para>The table columns extension function adjusts the widths of table
+columns in the HTML result to more accurately reflect the specifications
+in the CALS table.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="tablecolumns.extension" select="'1'" doc:type='boolean'/>
+
+<doc:param name="tablecolumns.extension" xmlns="">
+<refpurpose>Enable the table columns extension function</refpurpose>
+<refdescription>
+<para>The table columns extension function adjusts the widths of table
+columns in the HTML result to more accurately reflect the specifications
+in the CALS table.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.set.toc" select='1' doc:type='boolean'/>
+
+<doc:param name="generate.set.toc" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.book.toc" select='1' doc:type='boolean'/>
+
+<doc:param name="generate.book.toc" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.part.toc" select='1' doc:type='boolean'/>
+
+<doc:param name="generate.part.toc" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.reference.toc" select='1' doc:type='boolean'/>
+
+<doc:param name="generate.reference.toc" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.preface.toc" select='1' doc:type='boolean'/>
+
+<doc:param name="generate.preface.toc" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.chapter.toc" select='1' doc:type='boolean'/>
+
+<doc:param name="generate.chapter.toc" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.appendix.toc" select='1' doc:type='boolean'/>
+
+<doc:param name="generate.appendix.toc" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.article.toc" select='1' doc:type='boolean'/>
+
+<doc:param name="generate.article.toc" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.section.toc" select='1' doc:type='boolean'/>
+
+<doc:param name="generate.section.toc" xmlns="">
+<refpurpose>Generate TOCs inside Sections?</refpurpose>
+<refdescription>
+<para>If non-zero, a Table of Contents will be generated inside section
+elements. Note that
+<parameter>generate.section.toc.level</parameter>
+may suppress some section TOCs.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.section.toc.level" select='0' doc:type='integer'/>
+
+<doc:param name="generate.section.toc.level" xmlns="">
+<refpurpose>Control depth of TOC generation in sections</refpurpose>
+<refdescription>
+<para>The <parameter>generate.section.toc.level</parameter> parameter
+controls the depth of section in which TOCs will be generated. Note
+that this is related to, but not the same as
+<parameter>toc.section.depth</parameter>, which controls the depth to
+which TOC entries will be generated in a given TOC.</para>
+<para>If, for example, <parameter>generate.section.toc.level</parameter>
+is <literal>3</literal>, TOCs will be generated in first, second, and third
+level sections, but not in fourth level sections.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="process.source.toc" select='0' doc:type='boolean'/>
+
+<doc:param name="process.source.toc" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="process.empty.source.toc" select='0' doc:type='boolean'/>
+
+<doc:param name="process.empty.source.toc" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="bridgehead.in.toc" select='0' doc:type='boolean'/>
+
+<doc:param name="bridgehead.in.toc" xmlns="">
+<refpurpose>Should bridgehead elements appear in the TOC?</refpurpose>
+<refdescription>
+<para>If non-zero, bridgeheads appear in the TOC. Note that this option
+is not fully supported and may be removed in a future version of the
+stylesheets.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="generate.index" select='1' doc:type='boolean'/>
+
+<doc:param name="generate.index" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.unicode" select="0" doc:type='boolean'/>
+
+<doc:param name="callout.unicode" xmlns="">
+<refpurpose>FIXME:</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.unicode.start.character" select="10102"
+ doc:type='integer'/>
+
+<doc:param name="callout.unicode.start.character" xmlns="">
+<refpurpose>First Unicode character to use, decimal value.</refpurpose>
+<refdescription>
+<para>If <parameter>callout.graphics</parameter>
+is non-zero, graphics are used to represent
+callout numbers. The value of
+<parameter>callout.graphics.number.limit</parameter>
+is
+the largest number for which a graphic exists. If the callout number
+exceeds this limit, the default presentation "(nnn)" will always
+be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.unicode.number.limit" select="'10'"
+ doc:type='integer'/>
+
+<doc:param name="callout.unicode.number.limit" xmlns="">
+<refpurpose>Number of the largest callout graphic</refpurpose>
+<refdescription>
+<para>If <parameter>callout.graphics</parameter>
+is non-zero, graphics are used to represent
+callout numbers. The value of
+<parameter>callout.graphics.number.limit</parameter>
+is
+the largest number for which a graphic exists. If the callout number
+exceeds this limit, the default presentation "(nnn)" will always
+be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="callout.unicode.font" select="'ZapfDingbats'"/>
+
+<doc:param name="callout.unicode.font" xmlns="">
+<refpurpose>Font to use for Unicode dingbats</refpurpose>
+<refdescription>
+<para>The name of the font to specify around Unicode callout glyphs.
+If set to the empty string, no font change will occur.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="use.id.as.filename" select="'0'" doc:type='boolean'/>
+
+<doc:param name="use.id.as.filename" xmlns="">
+<refpurpose>Use ID value of chunk elements as the filename?</refpurpose>
+<refdescription>
+<para>If <parameter>use.id.as.filename</parameter>
+is non-zero, the filename of chunk elements that have IDs will be
+derived from the ID value.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="inherit.keywords" select="'1'" doc:type='boolean'/>
+
+<doc:param name="inherit.keywords" xmlns="">
+<refpurpose>Inherit keywords from ancestor elements?</refpurpose>
+<refdescription>
+<para>If <parameter>inherit.keywords</parameter>
+is non-zero, the keyword <sgmltag>META</sgmltag> for each HTML
+<sgmltag>HEAD</sgmltag> element will include all of the keywords from
+ancestral elements. Otherwise, only the keywords from the current section
+will be used.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="label.from.part" select="'0'" doc:type='boolean'/>
+
+<doc:param name="label.from.part" xmlns="">
+<refpurpose>Renumber chapters in each part?</refpurpose>
+<refdescription>
+<para>If <parameter>label.from.part</parameter> is non-zero, components
+(<sgmltag>chapter</sgmltag>s, <sgmltag>appendixe</sgmltag>s, etc.)
+will be numbered from 1 in each <sgmltag>part</sgmltag>. Otherwise,
+they will be numbered monotonically throughout each
+<sgmltag>book</sgmltag>.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="citerefentry.link" select="'0'" doc:type='boolean'/>
+
+<doc:param name="citerefentry.link" xmlns="">
+<refpurpose>Generate URL links when cross-referencing RefEntrys?</refpurpose>
+<refdescription>
+<para>If true, a web link will be generated, presumably
+to an online man->HTML gateway. The text of the link is
+generated by the generate.citerefentry.link template.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="formal.procedures" select="1" doc:type='boolean'/>
+
+<doc:param name="formal.procedures" xmlns="">
+<refpurpose>Selects formal or informal procedures</refpurpose>
+<refdescription>
+<para>Formal procedures are numbered and always hav a title.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="bibliography.collection" doc:type='string'
+ select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/>
+
+<doc:param name="bibliography.collection" xmlns="">
+<refpurpose>Name of the bibliography collection file</refpurpose>
+<refdescription>
+<para>Tired of copying bibliography entries from one document to another?
+Now you can maintain a central bibliography and let the stylesheets do
+the copying for you. This parameter identifies the file (by URI reference)
+that contains your complete bibliography collection.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="annotate.toc" select="1" doc:type='boolean'/>
+
+<doc:param name="annotate.toc" xmlns="">
+<refpurpose>Annotate the Table of Contents?</refpurpose>
+<refdescription>
+<para>If true, TOCs will be annotated. At present, this just means
+that the <sgmltag>RefPurpose</sgmltag> of <sgmltag>RefEntry</sgmltag>
+TOC entries will be displayed.
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="emphasis.propagates.style" select="1" doc:type='boolean'/>
+
+<doc:param name="emphasis.propagates.style" xmlns="">
+<refpurpose>Pass emphasis role attribute through to HTML?</refpurpose>
+<refdescription>
+<para>If true, the role attribute of <sgmltag>emphasis</sgmltag> elements
+will be passed through to the HTML as a class attribute on a
+<sgmltag>span</sgmltag> that surrounds the emphasis.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="phrase.propagates.style" select="1" doc:type='boolean'/>
+
+<doc:param name="phrase.propagates.style" xmlns="">
+<refpurpose>Pass phrase role attribute through to HTML?</refpurpose>
+<refdescription>
+<para>If true, the role attribute of <sgmltag>phrase</sgmltag> elements
+will be passed through to the HTML as a class attribute on a
+<sgmltag>span</sgmltag> that surrounds the phrase.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="runinhead.title.end.punct" select="'.!?:'" doc:type='string'/>
+
+<doc:param name="runinhead.title.end.punct" xmlns="">
+<refpurpose>Characters that count as punctuation on a run-in-head</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<xsl:param name="runinhead.default.title.end.punct" select="'.'" doc:type='string'/>
+
+<doc:param name="runinhead.default.title.end.punct" xmlns="">
+<refpurpose>Default punctuation character on a run-in-head</refpurpose>
+<refdescription>
+<para>FIXME:
+</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="olink.fragid" select="'fragid='" doc:type='string'/>
+<xsl:param name="olink.outline.ext" select="'.olink'" doc:type='string'/>
+<xsl:param name="olink.pubid" select="'pubid='" doc:type='string'/>
+<xsl:param name="olink.sysid" select="'sysid='" doc:type='string'/>
+<xsl:param name="olink.resolver" select="'/cgi-bin/olink'" doc:type='string'/>
+
+<xsl:param name="shade.verbatim" select="0" doc:type="boolean"/>
+
+<!--
+ ;; REFENTRY shade-verbatim
+ ;; PURP Should verbatim environments be shaded?
+ ;; DESC
+ ;; If true, a table with '($shade-verbatim-attr$)' attributes will be
+ ;; wrapped around each verbatim environment. This gives the effect
+ ;; of a shaded verbatim environment.
+ ;; /DESC
+ ;; AUTHOR N/A
+ ;; /REFENTRY
+-->
+
+<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:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/pi.xsl b/lib/docbook/docbook-xsl/html/pi.xsl new file mode 100644 index 000000000..357ca9915 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/pi.xsl @@ -0,0 +1,191 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: pi.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:template match="processing-instruction()">
+</xsl:template>
+
+<xsl:template match="processing-instruction('dbhtml')">
+ <xsl:if test="$using.chunker">
+ <xsl:processing-instruction name="dbhtml">
+ <xsl:value-of select="."/>
+ </xsl:processing-instruction>
+ </xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="dbhtml-attribute">
+ <xsl:param name="pis" select="processing-instruction('dbhtml')"/>
+ <xsl:param name="attribute">filename</xsl:param>
+ <xsl:param name="count">1</xsl:param>
+
+ <xsl:choose>
+ <xsl:when test="$count > count($pis)">
+ <!-- not found -->
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="pi">
+ <xsl:value-of select="$pis[$count]"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="contains($pi,concat($attribute, '='))">
+ <xsl:variable name="rest" select="substring-after($pi,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="dbhtml-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="dbhtml-filename">
+ <xsl:param name="pis" select="./processing-instruction('dbhtml')"/>
+ <xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis" select="$pis"/>
+ <xsl:with-param name="attribute">filename</xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="dbhtml-dir">
+ <xsl:param name="pis" select="./processing-instruction('dbhtml')"/>
+ <xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis" select="$pis"/>
+ <xsl:with-param name="attribute">dir</xsl:with-param>
+ </xsl:call-template>
+</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>count($cmdsynopses)"></xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="cmdsyn" select="$cmdsynopses[$count]"/>
+
+ <dt>
+ <a>
+ <xsl:attribute name="href">
+ <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('dbcmdlist')">
+ <xsl:variable name="cmdsynopses" select="..//cmdsynopsis"/>
+
+ <xsl:if test="count($cmdsynopses)<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>
+
+<!-- ==================================================================== -->
+
+<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>count($funcsynopses)"></xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="cmdsyn" select="$funcsynopses[$count]"/>
+
+ <dt>
+ <a>
+ <xsl:attribute name="href">
+ <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('dbfunclist')">
+ <xsl:variable name="funcsynopses" select="..//funcsynopsis"/>
+
+ <xsl:if test="count($funcsynopses)<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>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/qandaset.xsl b/lib/docbook/docbook-xsl/html/qandaset.xsl new file mode 100644 index 000000000..8bac04369 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/qandaset.xsl @@ -0,0 +1,227 @@ +<?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: qandaset.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="qandaset">
+ <xsl:variable name="title" select="title"/>
+ <xsl:variable name="rest" select="*[name(.)!='title']"/>
+
+ <div class="{name(.)}">
+ <xsl:apply-templates select="$title"/>
+ <xsl:if test="$generate.qandaset.toc != '0'">
+ <xsl:call-template name="process.qanda.toc"/>
+ </xsl:if>
+ <xsl:apply-templates select="$rest"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="qandaset/title">
+ <xsl:variable name="qalevel">
+ <xsl:call-template name="qanda.section.level"/>
+ </xsl:variable>
+ <xsl:element name="h{string(number($qalevel)+1)}">
+ <xsl:attribute name="class">
+ <xsl:value-of select="name(.)"/>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="qandadiv">
+ <xsl:variable name="title" select="title"/>
+ <xsl:variable name="rest" select="*[name(.)!='title']"/>
+
+ <div class="{name(.)}">
+ <xsl:apply-templates select="$title"/>
+ <xsl:if test="$generate.qandadiv.toc != '0'">
+ <xsl:call-template name="process.qanda.toc"/>
+ </xsl:if>
+ <xsl:apply-templates select="$rest"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="qandadiv/title">
+ <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:element name="h{string(number($qalevel)+1)}">
+ <xsl:attribute name="class">
+ <xsl:value-of select="name(.)"/>
+ </xsl:attribute>
+ <a name="{$id}"/>
+ <xsl:apply-templates select="parent::qandadiv" mode="label.markup"/>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="qandaentry">
+ <div class="{name(.)}">
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="question">
+ <xsl:variable name="firstch" select="(*[name(.)!='label'
+ and name(.)!='indexterm'])[1]"/>
+ <xsl:variable name="restch" select="(*[name(.)!='label'
+ and name(.)!='indexterm'])[position()!=1]
+ |indexterm"/>
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </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>
+
+ <div class="{name(.)}">
+ <p>
+ <xsl:if test="../@id">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="parent::*"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </a>
+ </xsl:if>
+ <a name="{$id}"/>
+
+ <xsl:choose>
+ <xsl:when test="$deflabel = 'none'">
+ <b>
+ <xsl:apply-templates select="$firstch" mode="no.wrapper.mode"/>
+ </b>
+ </xsl:when>
+ <xsl:otherwise>
+ <b>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ </b>
+ <xsl:apply-templates select="$firstch" mode="no.wrapper.mode"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </p>
+ <xsl:apply-templates select="$restch"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="answer">
+ <xsl:variable name="firstch" select="(*[name(.)!='label'])[1]"/>
+ <xsl:variable name="restch" select="(*[name(.)!='label'])[position()!=1]"/>
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <p>
+ <a name="{$id}"/>
+ <b>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ </b>
+ <xsl:apply-templates select="$firstch" mode="no.wrapper.mode"/>
+ </p>
+ <xsl:apply-templates select="$restch"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="label">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="process.qanda.toc">
+ <dl>
+ <xsl:apply-templates select="qandadiv" mode="qandatoc.mode"/>
+ <xsl:apply-templates select="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/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: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="qandaentry" mode="qandatoc.mode">
+ <xsl:apply-templates mode="qandatoc.mode"/>
+</xsl:template>
+
+<xsl:template match="question" mode="qandatoc.mode">
+ <xsl:variable name="firstch" select="(*[name(.)!='label'])[1]"/>
+
+ <dt>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:text> </xsl:text>
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target"/>
+ </xsl:attribute>
+ <xsl:value-of select="$firstch"/>
+ </a>
+ </dt>
+</xsl:template>
+
+<xsl:template match="answer|revhistory" mode="qandatoc.mode">
+ <!-- nop -->
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="*" mode="no.wrapper.mode">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/refentry.xsl b/lib/docbook/docbook-xsl/html/refentry.xsl new file mode 100644 index 000000000..ebe78f558 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/refentry.xsl @@ -0,0 +1,210 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: refentry.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="reference">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <xsl:if test="@id">
+ <a name="{$id}"/>
+ </xsl:if>
+ <xsl:call-template name="reference.titlepage"/>
+ <xsl:if test="not(partintro) and $generate.reference.toc != '0'">
+ <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>
+<xsl:template match="reference/referenceinfo"></xsl:template>
+<xsl:template match="reference/title"></xsl:template>
+<xsl:template match="reference/subtitle"></xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="refentry">
+ <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="title">
+ <xsl:choose>
+ <xsl:when test="$refentrytitle">
+ <xsl:apply-templates select="$refentrytitle[1]" mode="title"/>
+ </xsl:when>
+ <xsl:when test="$refname">
+ <xsl:apply-templates select="$refname[1]" mode="title"/>
+ </xsl:when>
+ <xsl:otherwise></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <h1 class="title">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <xsl:copy-of select="$title"/>
+ </h1>
+ <xsl:apply-templates/>
+ <xsl:call-template name="process.footnotes"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="refentry/docinfo|refentry/refentryinfo"></xsl:template>
+
+<xsl:template match="refentrytitle|refname" 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">
+ <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<xsl:template match="refname">
+ <xsl:apply-templates/>
+ <xsl:if test="following-sibling::refname">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="refname[1]">
+ <xsl:if test="$refentry.generate.name != 0">
+ <h2>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="'RefName'"/>
+ </xsl:call-template>
+ </h2>
+ </xsl:if>
+ <xsl:apply-templates/>
+ <xsl:if test="following-sibling::refname">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="refpurpose">
+ <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:template>
+
+<xsl:template match="refdescriptor">
+ <!-- todo: finish this -->
+</xsl:template>
+
+<xsl:template match="refclass">
+ <p>
+ <b>
+ <xsl:if test="@role">
+ <xsl:value-of select="@role"/>
+ <xsl:text>: </xsl:text>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </b>
+ </p>
+</xsl:template>
+
+<xsl:template match="refsynopsisdiv">
+ <div class="{name(.)}">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+ <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>
+
+<xsl:template match="refsynopsisdiv/title">
+</xsl:template>
+
+<xsl:template match="refsect1|refsect2|refsect3">
+ <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<xsl:template match="refsect1/title">
+ <!-- the ID is output in the block.object call for refsect1 -->
+ <h2>
+ <xsl:apply-templates/>
+ </h2>
+</xsl:template>
+
+<xsl:template match="refsect2/title">
+ <!-- the ID is output in the block.object call for refsect2 -->
+ <h3>
+ <xsl:apply-templates/>
+ </h3>
+</xsl:template>
+
+<xsl:template match="refsect3/title">
+ <!-- the ID is output in the block.object call for refsect3 -->
+ <h4>
+ <xsl:apply-templates/>
+ </h4>
+</xsl:template>
+
+<xsl:template match="refsect1info"></xsl:template>
+<xsl:template match="refsect2info"></xsl:template>
+<xsl:template match="refsect3info"></xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/sections.xsl b/lib/docbook/docbook-xsl/html/sections.xsl new file mode 100644 index 000000000..90fa49dc4 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/sections.xsl @@ -0,0 +1,324 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: sections.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="section">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <xsl:variable name="depth" select="count(ancestor::section)+1"/>
+
+ <div class="{name(.)}">
+ <a name="{$id}"/>
+ <xsl:call-template name="section.titlepage"/>
+ <xsl:if test="($generate.section.toc != '0'
+ and $depth <= $generate.section.toc.level)
+ or refentry">
+ <xsl:call-template name="section.toc"/>
+ </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="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="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" mode="titlepage.mode" priority="2">
+ <xsl:call-template name="section.title"/>
+</xsl:template>
+
+<xsl:template match="sect1">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <a name="{$id}"/>
+ <xsl:call-template name="sect1.titlepage"/>
+ <xsl:if test="($generate.section.toc != '0'
+ and $generate.section.toc.level >= 1)
+ or refentry">
+ <xsl:call-template name="section.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ <xsl:call-template name="process.chunk.footnotes"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="sect1/title" mode="titlepage.mode" priority="2">
+ <xsl:call-template name="section.title"/>
+</xsl:template>
+
+<xsl:template match="sect2">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <a name="{$id}"/>
+ <xsl:call-template name="sect2.titlepage"/>
+ <xsl:if test="($generate.section.toc != '0'
+ and $generate.section.toc.level >= 2)
+ or refentry">
+ <xsl:call-template name="section.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="sect2/title" mode="titlepage.mode" priority="2">
+ <xsl:call-template name="section.title"/>
+</xsl:template>
+
+<xsl:template match="sect3">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <a name="{$id}"/>
+ <xsl:call-template name="sect3.titlepage"/>
+ <xsl:if test="($generate.section.toc != '0'
+ and $generate.section.toc.level >= 3)
+ or refentry">
+ <xsl:call-template name="section.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="sect3/title" mode="titlepage.mode" priority="2">
+ <xsl:call-template name="section.title"/>
+</xsl:template>
+
+<xsl:template match="sect4">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <a name="{$id}"/>
+ <xsl:call-template name="sect4.titlepage"/>
+ <xsl:if test="($generate.section.toc != '0'
+ and $generate.section.toc.level >= 4)
+ or refentry">
+ <xsl:call-template name="section.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="sect4/title" mode="titlepage.mode" priority="2">
+ <xsl:call-template name="section.title"/>
+</xsl:template>
+
+<xsl:template match="sect5">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <a name="{$id}"/>
+ <xsl:call-template name="sect5.titlepage"/>
+ <xsl:if test="($generate.section.toc != '0'
+ and $generate.section.toc.level >= 5)
+ or refentry">
+ <xsl:call-template name="section.toc"/>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="sect5/title" mode="titlepage.mode" priority="2">
+ <xsl:call-template name="section.title"/>
+</xsl:template>
+
+<xsl:template match="simplesect">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <a name="{$id}"/>
+ <xsl:call-template name="simplesect.titlepage"/>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<xsl:template match="simplesect/title" mode="titlepage.mode" priority="2">
+ <xsl:call-template name="section.title"/>
+</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="sectioninfo"></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="sect1info"></xsl:template>
+
+<xsl:template match="sect2/title"></xsl:template>
+<xsl:template match="sect2/subtitle"></xsl:template>
+<xsl:template match="sect2/titleabbrev"></xsl:template>
+<xsl:template match="sect2info"></xsl:template>
+
+<xsl:template match="sect3/title"></xsl:template>
+<xsl:template match="sect3/subtitle"></xsl:template>
+<xsl:template match="sect3/subtitle"></xsl:template>
+<xsl:template match="sect3info"></xsl:template>
+
+<xsl:template match="sect4/title"></xsl:template>
+<xsl:template match="sect4/subtitle"></xsl:template>
+<xsl:template match="sect4/subtitle"></xsl:template>
+<xsl:template match="sect4info"></xsl:template>
+
+<xsl:template match="sect5/title"></xsl:template>
+<xsl:template match="sect5/subtitle"></xsl:template>
+<xsl:template match="sect5/subtitle"></xsl:template>
+<xsl:template match="sect5info"></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="section" select="."/>
+ <xsl:param name="level" select="'1'"/>
+ <xsl:param name="title"/>
+ <xsl:element name="h{$level}">
+ <xsl:attribute name="class">title</xsl:attribute>
+ <xsl:if test="$css.decoration != '0'">
+ <xsl:if test="$level<3">
+ <xsl:attribute name="style">clear: both</xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="$section"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </a>
+ <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'">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'">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"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="h{$level}">
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/html/synop.xsl b/lib/docbook/docbook-xsl/html/synop.xsl new file mode 100644 index 000000000..e01c71a28 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/synop.xsl @@ -0,0 +1,939 @@ +<?xml version='1.0'?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY RE " ">
+<!ENTITY nbsp " ">
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: synop.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<!-- synopsis is in verbatim -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="cmdsynopsis">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <div class="{name(.)}" id="{$id}">
+ <a name="{$id}"/>
+ <xsl:apply-templates/>
+ </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">
+ <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="position()>1"><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="position()>1"><xsl:value-of select="$arg.or.sep"/></xsl:if>
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="sbr">
+ <br/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="synopfragmentref">
+ <xsl:variable name="target" select="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>
+ </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>
+ <a name="#{@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:call-template name="informal.object"/>
+</xsl:template>
+
+<xsl:template match="funcsynopsisinfo">
+ <pre class="{name(.)}"><xsl:apply-templates/></pre>
+</xsl:template>
+
+<xsl:template match="funcprototype">
+ <p>
+ <code>
+ <xsl:apply-templates/>
+ <xsl:if test="$funcsynopsis.style='kr'">
+ <xsl:apply-templates select="./paramdef" mode="kr-funcsynopsis-mode"/>
+ </xsl:if>
+ </code>
+ </p>
+</xsl:template>
+
+<xsl:template match="funcdef">
+ <code class="{name(.)}">
+ <xsl:apply-templates/>
+ </code>
+</xsl:template>
+
+<xsl:template match="funcdef/function">
+ <xsl:choose>
+ <xsl:when test="$funcsynopsis.decoration != 0">
+ <b class="fsfunc"><xsl:apply-templates/></b>
+ </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">
+ <var class="pdparam">
+ <xsl:apply-templates/>
+ </var>
+ </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">
+ <br/>
+ <xsl:apply-templates/>
+ <xsl:text>;</xsl:text>
+</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">
+ <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'">
+ <xsl:apply-templates select="." mode="java"/>
+ </xsl:when>
+ <xsl:when test="$language='perl'">
+ <xsl:apply-templates select="." mode="perl"/>
+ </xsl:when>
+ <xsl:when test="$language='idl'">
+ <xsl:apply-templates select="." mode="idl"/>
+ </xsl:when>
+ <xsl:when test="$language='cpp'">
+ <xsl:apply-templates select="." mode="cpp"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text>Unrecognized language on classsynopsis: </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>
+
+<!-- ===== Java ======================================================== -->
+
+<xsl:template match="classsynopsis" mode="java">
+ <pre class="{name(.)}">
+ <xsl:apply-templates select="ooclass[1]" mode="java"/>
+ <xsl:if test="ooclass[position() > 1]">
+ <xsl:text> extends</xsl:text>
+ <xsl:apply-templates select="ooclass[position() > 1]" mode="java"/>
+ <xsl:if test="oointerface|ooexception">
+ <xsl:text>&RE; </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; </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> {&RE;&RE;</xsl:text>
+ <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="position() > 1">
+ <xsl:text>, </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text> </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="java"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="modifier" mode="java">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="java"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="classname" mode="java">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'classname'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="java"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="interfacename" mode="java">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'interfacename'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="java"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="exceptionname" mode="java">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'exceptionname'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="java"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="fieldsynopsis" mode="java">
+ <div class="{name(.)}">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates mode="java"/>
+ <xsl:text>;</xsl:text>
+ </div>
+</xsl:template>
+
+<xsl:template match="type" mode="java">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="java"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="varname" mode="java">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="java"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="initializer" mode="java">
+ <span class="{name(.)}">
+ <xsl:text>= </xsl:text>
+ <xsl:apply-templates mode="java"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="void" mode="java">
+ <span class="{name(.)}">
+ <xsl:text>void </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="methodname" mode="java">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="java"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="methodparam" mode="java">
+ <xsl:param name="indent">0</xsl:param>
+ <xsl:if test="position() > 1">
+ <xsl:text>,&RE;</xsl:text>
+ <xsl:if test="$indent > 0">
+ <xsl:call-template name="copy-string">
+ <xsl:with-param name="string"> </xsl:with-param>
+ <xsl:with-param name="count" select="$indent + 1"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="java"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="parameter" mode="java">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="java"/>
+ </span>
+</xsl:template>
+
+<xsl:template mode="java"
+ match="constructorsynopsis|destructorsynopsis|methodsynopsis">
+ <xsl:variable name="modifiers" select="modifier"/>
+ <xsl:variable name="notmod" select="*[name(.) != 'modifier']"/>
+ <xsl:variable name="decl">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="$modifiers" mode="java"/>
+
+ <!-- type -->
+ <xsl:if test="name($notmod[1]) != 'methodname'">
+ <xsl:apply-templates select="$notmod[1]" mode="java"/>
+ </xsl:if>
+
+ <xsl:apply-templates select="methodname" mode="java"/>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <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; throws </xsl:text>
+ <xsl:apply-templates select="exceptionname" mode="java"/>
+ </xsl:if>
+ <xsl:text>;</xsl:text>
+ </div>
+</xsl:template>
+
+<!-- ===== C++ ========================================================= -->
+
+<xsl:template match="classsynopsis" mode="cpp">
+ <pre class="{name(.)}">
+ <xsl:apply-templates select="ooclass[1]" mode="cpp"/>
+ <xsl:if test="ooclass[position() > 1]">
+ <xsl:text>: </xsl:text>
+ <xsl:apply-templates select="ooclass[position() > 1]" mode="cpp"/>
+ <xsl:if test="oointerface|ooexception">
+ <xsl:text>&RE; </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; </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> {&RE;&RE;</xsl:text>
+ <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="position() > 1">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="cpp"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="modifier" mode="cpp">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="cpp"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="classname" mode="cpp">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'classname'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="cpp"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="interfacename" mode="cpp">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'interfacename'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="cpp"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="exceptionname" mode="cpp">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'exceptionname'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="cpp"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="fieldsynopsis" mode="cpp">
+ <div class="{name(.)}">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates mode="cpp"/>
+ <xsl:text>;</xsl:text>
+ </div>
+</xsl:template>
+
+<xsl:template match="type" mode="cpp">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="cpp"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="varname" mode="cpp">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="cpp"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="initializer" mode="cpp">
+ <span class="{name(.)}">
+ <xsl:text>= </xsl:text>
+ <xsl:apply-templates mode="cpp"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="void" mode="cpp">
+ <span class="{name(.)}">
+ <xsl:text>void </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="methodname" mode="cpp">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="cpp"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="methodparam" mode="cpp">
+ <xsl:if test="position() > 1">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="cpp"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="parameter" mode="cpp">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="cpp"/>
+ </span>
+</xsl:template>
+
+<xsl:template mode="cpp"
+ match="constructorsynopsis|destructorsynopsis|methodsynopsis">
+ <xsl:variable name="modifiers" select="modifier"/>
+ <xsl:variable name="notmod" select="*[name(.) != 'modifier']"/>
+ <xsl:variable name="type">
+ </xsl:variable>
+ <div class="{name(.)}">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="$modifiers" mode="cpp"/>
+
+ <!-- type -->
+ <xsl:if test="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; throws </xsl:text>
+ <xsl:apply-templates select="exceptionname" mode="cpp"/>
+ </xsl:if>
+ <xsl:text>;</xsl:text>
+ </div>
+</xsl:template>
+
+<!-- ===== IDL ========================================================= -->
+
+<xsl:template match="classsynopsis" mode="idl">
+ <pre class="{name(.)}">
+ <xsl:text>interface </xsl:text>
+ <xsl:apply-templates select="ooclass[1]" mode="idl"/>
+ <xsl:if test="ooclass[position() > 1]">
+ <xsl:text>: </xsl:text>
+ <xsl:apply-templates select="ooclass[position() > 1]" mode="idl"/>
+ <xsl:if test="oointerface|ooexception">
+ <xsl:text>&RE; </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; </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> {&RE;&RE;</xsl:text>
+ <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="position() > 1">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="idl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="modifier" mode="idl">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="idl"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="classname" mode="idl">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'classname'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="idl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="interfacename" mode="idl">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'interfacename'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="idl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="exceptionname" mode="idl">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'exceptionname'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="idl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="fieldsynopsis" mode="idl">
+ <div class="{name(.)}">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates mode="idl"/>
+ <xsl:text>;</xsl:text>
+ </div>
+</xsl:template>
+
+<xsl:template match="type" mode="idl">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="idl"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="varname" mode="idl">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="idl"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="initializer" mode="idl">
+ <span class="{name(.)}">
+ <xsl:text>= </xsl:text>
+ <xsl:apply-templates mode="idl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="void" mode="idl">
+ <span class="{name(.)}">
+ <xsl:text>void </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="methodname" mode="idl">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="idl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="methodparam" mode="idl">
+ <xsl:if test="position() > 1">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="idl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="parameter" mode="idl">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="idl"/>
+ </span>
+</xsl:template>
+
+<xsl:template mode="idl"
+ match="constructorsynopsis|destructorsynopsis|methodsynopsis">
+ <xsl:variable name="modifiers" select="modifier"/>
+ <xsl:variable name="notmod" select="*[name(.) != 'modifier']"/>
+ <xsl:variable name="type">
+ </xsl:variable>
+ <div class="{name(.)}">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="$modifiers" mode="idl"/>
+
+ <!-- type -->
+ <xsl:if test="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; raises(</xsl:text>
+ <xsl:apply-templates select="exceptionname" mode="idl"/>
+ <xsl:text>)</xsl:text>
+ </xsl:if>
+ <xsl:text>;</xsl:text>
+ </div>
+</xsl:template>
+
+<!-- ===== Perl ======================================================== -->
+
+<xsl:template match="classsynopsis" mode="perl">
+ <pre class="{name(.)}">
+ <xsl:text>package </xsl:text>
+ <xsl:apply-templates select="ooclass[1]" mode="perl"/>
+ <xsl:text>;&RE;</xsl:text>
+
+ <xsl:if test="ooclass[position() > 1]">
+ <xsl:text>@ISA = (</xsl:text>
+ <xsl:apply-templates select="ooclass[position() > 1]" mode="perl"/>
+ <xsl:text>);&RE;</xsl:text>
+ </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="position() > 1">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="perl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="modifier" mode="perl">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="perl"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="classname" mode="perl">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'classname'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="perl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="interfacename" mode="perl">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'interfacename'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="perl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="exceptionname" mode="perl">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'exceptionname'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="perl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="fieldsynopsis" mode="perl">
+ <div class="{name(.)}">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates mode="perl"/>
+ <xsl:text>;</xsl:text>
+ </div>
+</xsl:template>
+
+<xsl:template match="type" mode="perl">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="perl"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="varname" mode="perl">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="perl"/>
+ <xsl:text> </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="initializer" mode="perl">
+ <span class="{name(.)}">
+ <xsl:text>= </xsl:text>
+ <xsl:apply-templates mode="perl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="void" mode="perl">
+ <span class="{name(.)}">
+ <xsl:text>void </xsl:text>
+ </span>
+</xsl:template>
+
+<xsl:template match="methodname" mode="perl">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="perl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="methodparam" mode="perl">
+ <xsl:if test="position() > 1">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="perl"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="parameter" mode="perl">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="perl"/>
+ </span>
+</xsl:template>
+
+<xsl:template mode="perl"
+ match="constructorsynopsis|destructorsynopsis|methodsynopsis">
+ <xsl:variable name="modifiers" select="modifier"/>
+ <xsl:variable name="notmod" select="*[name(.) != 'modifier']"/>
+ <xsl:variable name="type">
+ </xsl:variable>
+ <div class="{name(.)}">
+ <xsl:text>sub </xsl:text>
+
+ <xsl:apply-templates select="methodname" mode="perl"/>
+ <xsl:text> { ... };</xsl:text>
+ </div>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/table.xsl b/lib/docbook/docbook-xsl/html/table.xsl new file mode 100644 index 000000000..04b5c781e --- /dev/null +++ b/lib/docbook/docbook-xsl/html/table.xsl @@ -0,0 +1,640 @@ +<?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:stbl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Table"
+ xmlns:xtbl="com.nwalsh.xalan.Table"
+ xmlns:lxslt="http://xml.apache.org/xslt"
+ exclude-result-prefixes="doc stbl xtbl lxslt"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: table.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<lxslt:component prefix="xtbl"
+ functions="adjustColumnWidths"/>
+
+<xsl:template match="tgroup">
+ <table>
+ <xsl:choose>
+ <!-- If there's a <?dbhtml table-summary="foo"?> PI, use it for
+ the HTML table summary attribute -->
+ <xsl:when test="processing-instruction('dbhtml')">
+ <xsl:variable name="summary">
+ <xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis"
+ select="processing-instruction('dbhtml')[1]"/>
+ <xsl:with-param name="attribute" select="'table-summary'"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="$summary != ''">
+ <xsl:attribute name="summary">
+ <xsl:value-of select="$summary"/>
+ </xsl:attribute>
+ </xsl:if>
+ </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="../@pgwide=1">
+ <xsl:attribute name="width">100%</xsl:attribute>
+ </xsl:if>
+
+<!-- this is wrong, align on tgroup gives the default alignment for table
+ cells, not the alignment for the table itself...
+ <xsl:if test="@align">
+ <xsl:attribute name="align">
+ <xsl:value-of select="@align"/>
+ </xsl:attribute>
+ </xsl:if>
+-->
+
+ <xsl:choose>
+ <xsl:when test="../@frame='none'">
+ <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="vendor" select="system-property('xsl:vendor')"/>
+
+ <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="dbhtml-attribute">
+ <xsl:with-param name="pis"
+ select="../processing-instruction('dbhtml')[1]"/>
+ <xsl:with-param name="attribute" select="'table-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>
+
+ <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="contains($vendor, 'SAXON 6')">
+ <xsl:value-of select="stbl:convertLength($table.width)"/>
+ </xsl:when>
+ <xsl:when test="contains($vendor, 'SAXON 5')">
+ <!-- the saxon5 extension doesn't support this (yet) -->
+ <xsl:value-of select="$table.width"/>
+ </xsl:when>
+ <xsl:when test="contains($vendor, 'Apache Software Foundation')">
+ <xsl:value-of select="xtbl:convertLength($table.width)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>Don't know how to do convert lengths with </xsl:text>
+ <xsl:value-of select="$vendor"/>
+ </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="contains($vendor, 'SAXON 6')">
+ <xsl:copy-of select="stbl:adjustColumnWidths($colgroup)"/>
+ </xsl:when>
+ <xsl:when test="contains($vendor, 'SAXON 5')">
+ <!-- the saxon5 extension doesn't support this (yet) -->
+ <xsl:copy-of select="$colgroup"/>
+ </xsl:when>
+ <xsl:when test="contains($vendor, 'Apache Software Foundation')">
+ <xsl:copy-of select="xtbl:adjustColumnWidths($colgroup)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>Don't know how to do adjust column widths with </xsl:text>
+ <xsl:value-of select="$vendor"/>
+ </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="tbody"/>
+ <xsl:apply-templates select="tfoot"/>
+
+ <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="dbhtml-attribute">
+ <xsl:with-param name="pis" select="."/>
+ <xsl:with-param name="attribute" select="'table-summary'"/>
+ </xsl:call-template>
+ </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>
+
+<xsl:template match="spanspec"></xsl:template>
+
+<xsl:template match="thead|tfoot">
+ <xsl:element name="{name(.)}">
+ <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/>
+ </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/>
+ </tbody>
+</xsl:template>
+
+<xsl:template match="row">
+ <tr>
+ <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/>
+ </tr>
+</xsl:template>
+
+<xsl:template match="thead/row/entry">
+ <xsl:call-template name="process.cell">
+ <xsl:with-param name="cellgi">th</xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="tbody/row/entry">
+ <xsl:call-template name="process.cell">
+ <xsl:with-param name="cellgi">td</xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="tfoot/row/entry">
+ <xsl:call-template name="process.cell">
+ <xsl:with-param name="cellgi">th</xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="process.cell">
+ <xsl:param name="cellgi">td</xsl:param>
+ <xsl:variable name="empty.cell" select="count(node()) = 0"/>
+
+ <xsl:variable name="entry.colnum">
+ <xsl:call-template name="entry.colnum"/>
+ </xsl:variable>
+
+ <xsl:if test="$entry.colnum != ''">
+ <xsl:variable name="prev.entry" select="preceding-sibling::*[1]"/>
+ <xsl:variable name="prev.ending.colnum">
+ <xsl:choose>
+ <xsl:when test="$prev.entry">
+ <xsl:call-template name="entry.ending.colnum">
+ <xsl:with-param name="entry" select="$prev.entry"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- 1.31: removed add-empty-entries; there's no practical way for
+ XSLT to keep track of "overhang" from morerows in previous rows.
+ At least none that I can think of. -->
+ </xsl:if>
+
+ <xsl:element name="{$cellgi}">
+ <xsl:if test="@morerows">
+ <xsl:attribute name="rowspan">
+ <xsl:value-of select="@morerows+1"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@namest">
+ <xsl:attribute name="colspan">
+ <xsl:call-template name="calculate.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="@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:if test="not(preceding-sibling::*)
+ and ancestor::row/@id">
+ <a name="{ancestor::row/@id}"/>
+ </xsl:if>
+
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="$empty.cell">
+ <xsl:text> </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template name="entry.colnum">
+ <xsl:param name="entry" select="."/>
+
+ <xsl:choose>
+ <xsl:when test="$entry/@colname">
+ <xsl:variable name="colname" select="$entry/@colname"/>
+ <xsl:variable name="colspec"
+ select="$entry/ancestor::tgroup/colspec[@colname=$colname]"/>
+ <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]"/>
+ <xsl:call-template name="colspec.colnum">
+ <xsl:with-param name="colspec" select="$colspec"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="count($entry/preceding-sibling::*) = 0">1</xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="pcol">
+ <xsl:call-template name="entry.ending.colnum">
+ <xsl:with-param name="entry"
+ select="$entry/preceding-sibling::*[1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:value-of select="$pcol + 1"/>
+ </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>
+<para>If an <sgmltag>entry</sgmltag> has a
+<sgmltag class="attribute">colname</sgmltag> or
+<sgmltag class="attribute">namest</sgmltag> attribute, this template
+will determine the number of the column in which the entry should occur.
+For other <sgmltag>entry</sgmltag>s, nothing is returned.</para>
+</refdescription>
+<refparameter>
+<variablelist>
+<varlistentry><term>entry</term>
+<listitem>
+<para>The <sgmltag>entry</sgmltag>-element which is to be tested.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refparameter>
+
+<refreturn>
+<para>This template returns the column number if it can be determined,
+or nothing (the empty string)</para>
+</refreturn>
+</doc:template>
+
+<xsl:template name="entry.ending.colnum">
+ <xsl:param name="entry" select="."/>
+
+ <xsl:choose>
+ <xsl:when test="$entry/@colname">
+ <xsl:variable name="colname" select="$entry/@colname"/>
+ <xsl:variable name="colspec"
+ select="$entry/ancestor::tgroup/colspec[@colname=$colname]"/>
+ <xsl:call-template name="colspec.colnum">
+ <xsl:with-param name="colspec" select="$colspec"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$entry/@nameend">
+ <xsl:variable name="nameend" select="$entry/@nameend"/>
+ <xsl:variable name="colspec"
+ select="$entry/ancestor::tgroup/colspec[@colname=$nameend]"/>
+ <xsl:call-template name="colspec.colnum">
+ <xsl:with-param name="colspec" select="$colspec"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="count($entry/preceding-sibling::*) = 0">1</xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="pcol">
+ <xsl:call-template name="entry.ending.colnum">
+ <xsl:with-param name="entry"
+ select="$entry/preceding-sibling::*[1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:value-of select="$pcol + 1"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl: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="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">
+ <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)">
+ <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:value-of select="$colspec/@colwidth"/>
+ </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"></xsl:param>
+ <!-- .. = row, ../.. = thead|tbody, ../../.. = tgroup -->
+ <xsl:param name="colspecs" select="../../../../tgroup/colspec"/>
+ <xsl:param name="count">1</xsl:param>
+ <xsl:choose>
+ <xsl:when test="$count>count($colspecs)"></xsl:when>
+ <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="calculate.colspan">
+ <xsl:param name="entry" select="."/>
+ <xsl:variable name="namest" select="$entry/@namest"/>
+ <xsl:variable name="nameend" select="$entry/@nameend"/>
+
+ <xsl:variable name="scol">
+ <xsl:call-template name="colspec.colnum">
+ <xsl:with-param name="colspec"
+ select="$entry/ancestor::tgroup/colspec[@colname=$namest]"/>
+ </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]"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:value-of select="$ecol - $scol + 1"/>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/html/titlepage.templates.xml b/lib/docbook/docbook-xsl/html/titlepage.templates.xml new file mode 100644 index 000000000..c5b505363 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/titlepage.templates.xml @@ -0,0 +1,612 @@ +<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0" + xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<!-- ==================================================================== --> + +<t:titlepage element="article" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="set" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="book" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="part" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="partintro" wrapper="div"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="reference" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="dedication" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::dedication[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="preface" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="chapter" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="appendix" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="section" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect1" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect2" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect3" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect4" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect5" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="simplesect" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="bibliography" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::bibliography[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="glossary" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::glossary[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="index" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::index[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +</t:templates> diff --git a/lib/docbook/docbook-xsl/html/titlepage.templates.xsl b/lib/docbook/docbook-xsl/html/titlepage.templates.xsl new file mode 100644 index 000000000..2ef3d9ab4 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/titlepage.templates.xsl @@ -0,0 +1,2681 @@ +<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<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="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="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="articleinfo/authorgroup"/>
+ <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/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="articleinfo/othercredit"/>
+ <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/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="articleinfo/copyright"/>
+ <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/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="articleinfo/pubdate"/>
+ <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/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="articleinfo/revhistory"/>
+ <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/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: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:call-template name="article.titlepage.before.recto"/>
+ <xsl:call-template name="article.titlepage.recto"/>
+ <xsl:call-template name="article.titlepage.before.verso"/>
+ <xsl:call-template name="article.titlepage.verso"/>
+ <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="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="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="setinfo/authorgroup"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+ <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/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:call-template name="set.titlepage.before.recto"/>
+ <xsl:call-template name="set.titlepage.recto"/>
+ <xsl:call-template name="set.titlepage.before.verso"/>
+ <xsl:call-template name="set.titlepage.verso"/>
+ <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="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="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="bookinfo/authorgroup"/>
+ <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+ <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
+ <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+ <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
+ <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
+ <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+ <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
+ <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
+ <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/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:call-template name="book.titlepage.before.recto"/>
+ <xsl:call-template name="book.titlepage.recto"/>
+ <xsl:call-template name="book.titlepage.before.verso"/>
+ <xsl:call-template name="book.titlepage.verso"/>
+ <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">
+ <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="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="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="partinfo/authorgroup"/>
+ <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/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="partinfo/othercredit"/>
+ <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/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="partinfo/copyright"/>
+ <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/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="partinfo/pubdate"/>
+ <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/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="partinfo/revhistory"/>
+ <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="part.titlepage.before.recto"/>
+ <xsl:call-template name="part.titlepage.recto"/>
+ <xsl:call-template name="part.titlepage.before.verso"/>
+ <xsl:call-template name="part.titlepage.verso"/>
+ <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="title" 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="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="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="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="partintroinfo/authorgroup"/>
+ <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/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="partintroinfo/othercredit"/>
+ <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/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="partintroinfo/copyright"/>
+ <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/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="partintroinfo/pubdate"/>
+ <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/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="partintroinfo/revhistory"/>
+ <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="partintro.titlepage.before.recto"/>
+ <xsl:call-template name="partintro.titlepage.recto"/>
+ <xsl:call-template name="partintro.titlepage.before.verso"/>
+ <xsl:call-template name="partintro.titlepage.verso"/>
+ <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="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="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="referenceinfo/authorgroup"/>
+ <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/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="referenceinfo/othercredit"/>
+ <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/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="referenceinfo/copyright"/>
+ <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/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="referenceinfo/pubdate"/>
+ <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/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="referenceinfo/revhistory"/>
+ <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="reference.titlepage.before.recto"/>
+ <xsl:call-template name="reference.titlepage.recto"/>
+ <xsl:call-template name="reference.titlepage.before.verso"/>
+ <xsl:call-template name="reference.titlepage.verso"/>
+ <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="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="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:call-template name="dedication.titlepage.before.recto"/>
+ <xsl:call-template name="dedication.titlepage.recto"/>
+ <xsl:call-template name="dedication.titlepage.before.verso"/>
+ <xsl:call-template name="dedication.titlepage.verso"/>
+ <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="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="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="prefaceinfo/authorgroup"/>
+ <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/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="prefaceinfo/othercredit"/>
+ <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/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="prefaceinfo/copyright"/>
+ <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/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="prefaceinfo/pubdate"/>
+ <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/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="prefaceinfo/revhistory"/>
+ <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="preface.titlepage.before.recto"/>
+ <xsl:call-template name="preface.titlepage.recto"/>
+ <xsl:call-template name="preface.titlepage.before.verso"/>
+ <xsl:call-template name="preface.titlepage.verso"/>
+ <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="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="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="chapterinfo/authorgroup"/>
+ <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/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="chapterinfo/othercredit"/>
+ <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/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="chapterinfo/copyright"/>
+ <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/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="chapterinfo/pubdate"/>
+ <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/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="chapterinfo/revhistory"/>
+ <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="chapter.titlepage.before.recto"/>
+ <xsl:call-template name="chapter.titlepage.recto"/>
+ <xsl:call-template name="chapter.titlepage.before.verso"/>
+ <xsl:call-template name="chapter.titlepage.verso"/>
+ <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="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="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="appendixinfo/authorgroup"/>
+ <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/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="appendixinfo/othercredit"/>
+ <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/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="appendixinfo/copyright"/>
+ <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/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="appendixinfo/pubdate"/>
+ <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/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="appendixinfo/revhistory"/>
+ <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="appendix.titlepage.before.recto"/>
+ <xsl:call-template name="appendix.titlepage.recto"/>
+ <xsl:call-template name="appendix.titlepage.before.verso"/>
+ <xsl:call-template name="appendix.titlepage.verso"/>
+ <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="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="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="sectioninfo/authorgroup"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+ <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/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:call-template name="section.titlepage.before.recto"/>
+ <xsl:call-template name="section.titlepage.recto"/>
+ <xsl:call-template name="section.titlepage.before.verso"/>
+ <xsl:call-template name="section.titlepage.verso"/>
+ <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="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="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="sect1info/authorgroup"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+ <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/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:call-template name="sect1.titlepage.before.recto"/>
+ <xsl:call-template name="sect1.titlepage.recto"/>
+ <xsl:call-template name="sect1.titlepage.before.verso"/>
+ <xsl:call-template name="sect1.titlepage.verso"/>
+ <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="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="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="sect2info/authorgroup"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+ <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/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:call-template name="sect2.titlepage.before.recto"/>
+ <xsl:call-template name="sect2.titlepage.recto"/>
+ <xsl:call-template name="sect2.titlepage.before.verso"/>
+ <xsl:call-template name="sect2.titlepage.verso"/>
+ <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="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="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="sect3info/authorgroup"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+ <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/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:call-template name="sect3.titlepage.before.recto"/>
+ <xsl:call-template name="sect3.titlepage.recto"/>
+ <xsl:call-template name="sect3.titlepage.before.verso"/>
+ <xsl:call-template name="sect3.titlepage.verso"/>
+ <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="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="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="sect4info/authorgroup"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+ <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/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:call-template name="sect4.titlepage.before.recto"/>
+ <xsl:call-template name="sect4.titlepage.recto"/>
+ <xsl:call-template name="sect4.titlepage.before.verso"/>
+ <xsl:call-template name="sect4.titlepage.verso"/>
+ <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="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="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="sect5info/authorgroup"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+ <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/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:call-template name="sect5.titlepage.before.recto"/>
+ <xsl:call-template name="sect5.titlepage.recto"/>
+ <xsl:call-template name="sect5.titlepage.before.verso"/>
+ <xsl:call-template name="sect5.titlepage.verso"/>
+ <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="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="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="simplesectinfo/authorgroup"/>
+ <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/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="simplesectinfo/othercredit"/>
+ <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/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="simplesectinfo/copyright"/>
+ <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/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="simplesectinfo/pubdate"/>
+ <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/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="simplesectinfo/revhistory"/>
+ <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/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: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:call-template name="simplesect.titlepage.before.recto"/>
+ <xsl:call-template name="simplesect.titlepage.recto"/>
+ <xsl:call-template name="simplesect.titlepage.before.verso"/>
+ <xsl:call-template name="simplesect.titlepage.verso"/>
+ <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="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:call-template name="bibliography.titlepage.before.recto"/>
+ <xsl:call-template name="bibliography.titlepage.recto"/>
+ <xsl:call-template name="bibliography.titlepage.before.verso"/>
+ <xsl:call-template name="bibliography.titlepage.verso"/>
+ <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="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:call-template name="glossary.titlepage.before.recto"/>
+ <xsl:call-template name="glossary.titlepage.recto"/>
+ <xsl:call-template name="glossary.titlepage.before.verso"/>
+ <xsl:call-template name="glossary.titlepage.verso"/>
+ <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="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:call-template name="index.titlepage.before.recto"/>
+ <xsl:call-template name="index.titlepage.recto"/>
+ <xsl:call-template name="index.titlepage.before.verso"/>
+ <xsl:call-template name="index.titlepage.verso"/>
+ <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:stylesheet>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/html/titlepage.xsl b/lib/docbook/docbook-xsl/html/titlepage.xsl new file mode 100644 index 000000000..fe3a174f0 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/titlepage.xsl @@ -0,0 +1,655 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: titlepage.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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="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="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 class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="abstract" mode="titlepage.mode">
+ <div class="{name(.)}">
+ <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"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="abstract/title" mode="titlepage.mode">
+</xsl:template>
+
+<xsl:template match="address" mode="titlepage.mode">
+ <xsl:apply-templates select="."/>
+</xsl:template>
+
+<xsl:template match="affiliation" mode="titlepage.mode">
+ <div class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="artpagenums" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="author" mode="titlepage.mode">
+ <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3>
+ <xsl:apply-templates mode="titlepage.mode" select="./contrib"/>
+ <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
+</xsl:template>
+
+<xsl:template match="authorblurb" mode="titlepage.mode">
+ <div class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="titlepage.mode">
+ <xsl:apply-templates mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="authorinitials" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <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 class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="confgroup" mode="titlepage.mode">
+ <div class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="confdates" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="conftitle" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <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 class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="contractsponsor" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="contrib" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </span>
+</xsl:template>
+
+<xsl:template match="copyright" mode="titlepage.mode">
+ <xsl:variable name="years" select="year"/>
+ <xsl:variable name="holders" select="holder"/>
+
+ <p class="{name(.)}">
+ <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="$years" mode="titlepage.mode"/>
+ <xsl:call-template name="gentext.space"/>
+<!--
+ <xsl:call-template name="gentext.by"/>
+ <xsl:call-template name="gentext.space"/>
+-->
+ <xsl:apply-templates select="$holders" mode="titlepage.mode"/>
+ </p>
+</xsl:template>
+
+<xsl:template match="year" mode="titlepage.mode">
+ <xsl:apply-templates/><xsl:text>, </xsl:text>
+</xsl:template>
+
+<xsl:template match="year[position()=last()]" 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">
+ <h3 class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </h3>
+</xsl:template>
+
+<xsl:template match="corpname" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="date" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="edition" mode="titlepage.mode">
+ <p class="{name(.)}">
+ <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="editor" mode="titlepage.mode">
+ <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3>
+</xsl:template>
+
+<xsl:template match="editor[position()=1]" mode="titlepage.mode">
+ <h4 class="editedby"><xsl:call-template name="gentext.edited.by"/></h4>
+ <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3>
+</xsl:template>
+
+<xsl:template match="firstname" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <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 class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="isbn" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="issn" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <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 class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="issuenum" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="jobtitle" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <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">
+ <div class="{local-name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </div>
+</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 class="{name(.)}">
+ <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">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="orgname" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</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])">
+ <p class="{name(.)}">
+ <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"/>
+ </p>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <p class="{name(.)}"><xsl:call-template name="person.name"/></p>
+ <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">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="pagenums" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="printhistory" mode="titlepage.mode">
+ <div class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="productname" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="productnumber" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="titlepage.mode">
+ <p class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </p>
+</xsl:template>
+
+<xsl:template match="publisher" mode="titlepage.mode">
+ <p class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </p>
+</xsl:template>
+
+<xsl:template match="publishername" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="pubsnumber" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="titlepage.mode">
+ <p class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </p>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="titlepage.mode">
+ <xsl:variable name="numcols">
+ <xsl:choose>
+ <xsl:when test="//authorinitials">3</xsl:when>
+ <xsl:otherwise>2</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+ <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: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"/>
+ <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:apply-templates select="$revauthor[1]" mode="titlepage.mode"/>
+ </td>
+ </xsl:when>
+ <xsl:when test="$numcols > 2">
+ <td> </td>
+ </xsl:when>
+ <xsl:otherwise></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/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 class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<xsl:template match="shortaffil" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <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 class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </h2>
+</xsl:template>
+
+<xsl:template match="surname" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <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 class="{name(.)}">
+ <a name="{$id}"/>
+ <xsl:choose>
+ <xsl:when test="$show.revisionflag 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 class="{name(.)}">
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/toc.xsl b/lib/docbook/docbook-xsl/html/toc.xsl new file mode 100644 index 000000000..b601c22d5 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/toc.xsl @@ -0,0 +1,173 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: toc.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ 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}">
+ <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}">
+ <xsl:apply-templates select="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"/>
+ </xsl:element>
+ </dd>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:element name="{$toc.list.type}">
+ <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="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>
diff --git a/lib/docbook/docbook-xsl/html/verbatim.xsl b/lib/docbook/docbook-xsl/html/verbatim.xsl new file mode 100644 index 000000000..07c9ceb38 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/verbatim.xsl @@ -0,0 +1,337 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ 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: verbatim.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<lxslt:component prefix="xverb"
+ functions="numberLines"/>
+
+<xsl:template match="programlisting|screen|synopsis">
+ <xsl:param name="suppress-numbers" select="'0'"/>
+ <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <xsl:if test="@id">
+ <a href="{$id}"/>
+ </xsl:if>
+
+ <xsl:variable name="content">
+ <xsl:choose>
+ <xsl:when test="$suppress-numbers = '0'
+ and @linenumbering = 'numbered'
+ and $use.extensions != '0'
+ and $linenumbering.extension != '0'">
+ <xsl:variable name="rtf">
+ <xsl:apply-templates/>
+ </xsl:variable>
+ <pre class="{name(.)}">
+ <xsl:call-template name="number.rtf.lines">
+ <xsl:with-param name="rtf" select="$rtf"/>
+ </xsl:call-template>
+ </pre>
+ </xsl:when>
+ <xsl:otherwise>
+ <pre class="{name(.)}">
+ <xsl:apply-templates/>
+ </pre>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$shade.verbatim != 0">
+ <table xsl:use-attribute-sets="shade.verbatim.style">
+ <tr>
+ <td>
+ <xsl:copy-of select="$content"/>
+ </td>
+ </tr>
+ </table>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$content"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="literallayout">
+ <xsl:param name="suppress-numbers" select="'0'"/>
+ <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
+
+ <xsl:variable name="rtf">
+ <xsl:apply-templates/>
+ </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:choose>
+ <xsl:when test="@class='monospaced'">
+ <pre class="{name(.)}">
+ <xsl:call-template name="number.rtf.lines">
+ <xsl:with-param name="rtf" select="$rtf"/>
+ </xsl:call-template>
+ </pre>
+ </xsl:when>
+ <xsl:otherwise>
+ <div class="{name(.)}">
+ <xsl:call-template name="number.rtf.lines">
+ <xsl:with-param name="rtf" select="$rtf"/>
+ </xsl:call-template>
+ </div>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="@class='monospaced'">
+ <pre class="{name(.)}">
+ <xsl:copy-of select="$rtf"/>
+ </pre>
+ </xsl:when>
+ <xsl:otherwise>
+ <div class="{name(.)}">
+ <xsl:copy-of select="$rtf"/>
+ </div>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$shade.verbatim != 0 and @class='monospaced'">
+ <table xsl:use-attribute-sets="shade.verbatim.style">
+ <tr>
+ <td>
+ <xsl:copy-of select="$content"/>
+ </td>
+ </tr>
+ </table>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$content"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="literallayout[not(@class)
+ or @class != 'monospaced']//text()">
+ <xsl:call-template name="make-verbatim">
+ <xsl:with-param name="text" select="."/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="address">
+ <xsl:param name="suppress-numbers" select="'0'"/>
+ <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
+
+ <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 class="{name(.)}">
+ <xsl:call-template name="number.rtf.lines">
+ <xsl:with-param name="rtf" select="$rtf"/>
+ </xsl:call-template>
+ </div>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <div class="{name(.)}">
+ <xsl:apply-templates/>
+ </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="dbhtml-attribute">
+ <xsl:with-param name="pis"
+ select="$pi.context/processing-instruction('dbhtml')"/>
+ <xsl:with-param name="attribute" select="'linenumbering.everyNth'"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="pi.linenumbering.separator">
+ <xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis"
+ select="$pi.context/processing-instruction('dbhtml')"/>
+ <xsl:with-param name="attribute" select="'linenumbering.separator'"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="pi.linenumbering.width">
+ <xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis"
+ select="$pi.context/processing-instruction('dbhtml')"/>
+ <xsl:with-param name="attribute" select="'linenumbering.width'"/>
+ </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="vendor" select="system-property('xsl:vendor')"/>
+
+ <xsl:choose>
+ <xsl:when test="contains($vendor, 'SAXON ')">
+ <xsl:copy-of select="sverb:numberLines($rtf)"/>
+ </xsl:when>
+ <xsl:when test="contains($vendor, 'Apache Software Foundation')">
+ <xsl:copy-of select="xverb:numberLines($rtf)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>Don't know how to do line numbering with </xsl:text>
+ <xsl:value-of select="$vendor"/>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="address//text()">
+ <xsl:call-template name="make-verbatim">
+ <xsl:with-param name="text" select="."/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="make-verbatim">
+ <xsl:param name="text" select="''"/>
+
+ <xsl:variable name="starts-with-space"
+ select="substring($text, 1, 1) = ' '"/>
+
+ <xsl:variable name="starts-with-nl"
+ select="substring($text, 1, 1) = '
'"/>
+
+ <xsl:variable name="before-space">
+ <xsl:if test="contains($text, ' ')">
+ <xsl:value-of select="substring-before($text, ' ')"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:variable name="before-nl">
+ <xsl:if test="contains($text, '
')">
+ <xsl:value-of select="substring-before($text, '
')"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$starts-with-space">
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="make-verbatim">
+ <xsl:with-param name="text" select="substring($text,2)"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:when test="$starts-with-nl">
+ <br/><xsl:text>
</xsl:text>
+ <xsl:call-template name="make-verbatim">
+ <xsl:with-param name="text" select="substring($text,2)"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- if the string before a space is shorter than the string before
+ a newline, fix the space...-->
+ <xsl:when test="$before-space != ''
+ and ((string-length($before-space)
+ < string-length($before-nl))
+ or $before-nl = '')">
+ <xsl:value-of select="$before-space"/>
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="make-verbatim">
+ <xsl:with-param name="text" select="substring-after($text, ' ')"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- if the string before a newline is shorter than the string before
+ a space, fix the newline...-->
+ <xsl:when test="$before-nl != ''
+ and ((string-length($before-nl)
+ < string-length($before-space))
+ or $before-space = '')">
+ <xsl:value-of select="$before-nl"/>
+ <br/><xsl:text>
</xsl:text>
+ <xsl:call-template name="make-verbatim">
+ <xsl:with-param name="text" select="substring-after($text, '
')"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- the string before the newline and the string before the
+ space are the same; which means they must both be empty -->
+ <xsl:otherwise>
+ <xsl:value-of select="$text"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/xref.xsl b/lib/docbook/docbook-xsl/html/xref.xsl new file mode 100644 index 000000000..6d313a97d --- /dev/null +++ b/lib/docbook/docbook-xsl/html/xref.xsl @@ -0,0 +1,609 @@ +<?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: xref.xsl,v 1.1 2002/05/15 17:22:30 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="anchor">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </a>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="xref">
+ <xsl:variable name="targets" select="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:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+
+ <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>
+ <a>
+ <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="@endterm">
+ <xsl:variable name="etargets" select="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:otherwise>
+ <xsl:attribute name="title">
+ <xsl:apply-templates select="$target" mode="xref-title"/>
+ </xsl:attribute>
+
+ <xsl:apply-templates select="$target" mode="xref-to"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </a>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="*" mode="endterm">
+ <!-- Process the children of the endterm element -->
+ <xsl:apply-templates select="child::node()"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="*" mode="xref-to">
+ <xsl:param name="target" select="."/>
+ <xsl:param name="refelem" select="local-name($target)"/>
+
+ <xsl:message>
+ <xsl:text>Don't know what gentext to create for xref to: "</xsl:text>
+ <xsl:value-of select="$refelem"/>
+ <xsl:text>", ("</xsl:text>
+ <xsl:value-of select="@id"/>
+ <xsl:text>")</xsl:text>
+ </xsl:message>
+ <xsl:text>???</xsl:text>
+</xsl:template>
+
+<xsl:template match="author" mode="xref-to">
+ <xsl:call-template name="person.name"/>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="xref-to">
+ <xsl:call-template name="person.name.list"/>
+</xsl:template>
+
+<xsl:template match="figure" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="example" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="table" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="equation" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="procedure" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</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" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="preface" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="chapter" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="appendix" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="bibliography" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="biblioentry|bibliomixed" mode="xref-to">
+ <!-- handles both biblioentry and bibliomixed -->
+ <xsl:text>[</xsl:text>
+ <xsl:choose>
+ <xsl:when test="string(.) = ''">
+ <xsl:variable name="bib" select="document($bibliography.collection)"/>
+ <xsl:variable name="id" select="@id"/>
+ <xsl:variable name="entry" select="$bib/bibliography/*[@id=$id][1]"/>
+ <xsl:choose>
+ <xsl:when test="$entry">
+ <xsl:choose>
+ <xsl:when test="local-name($entry/*[1]) = 'abbrev'">
+ <xsl:apply-templates select="$entry/*[1]"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@id"/>
+ </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"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="local-name(*[1]) = 'abbrev'">
+ <xsl:apply-templates select="*[1]"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@id"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>]</xsl:text>
+</xsl:template>
+
+<xsl:template match="glossary" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="index" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="section|simplesect
+ |sect1|sect2|sect3|sect4|sect5
+ |refsect1|refsect2|refsect3" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+ <!-- What about "in Chapter X"? -->
+</xsl:template>
+
+<xsl:template match="bridgehead" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+ <!-- What about "in Chapter X"? -->
+</xsl:template>
+
+<xsl:template match="qandaset" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="qandadiv" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="qandaentry" mode="xref-to">
+ <xsl:apply-templates select="question[1]" mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="question" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="answer" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="part" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="reference" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</xsl:template>
+
+<xsl:template match="step" mode="xref-to">
+ <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-to">
+ <xsl:apply-templates select="." mode="callout-bug"/>
+</xsl:template>
+
+<xsl:template match="book" mode="xref-to">
+ <xsl:apply-templates select="." mode="object.xref.markup"/>
+</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"/>
+ </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="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">
+ <xsl:variable name="targets" select="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:if test="@id">
+ <xsl:attribute name="name"><xsl:value-of select="@id"/></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>
+
+ <!-- FIXME: is there a better way to tell what elements have a title? -->
+ <xsl:if test="local-name($target) = 'book'
+ or local-name($target) = 'set'
+ or local-name($target) = 'chapter'
+ or local-name($target) = 'preface'
+ or local-name($target) = 'appendix'
+ or local-name($target) = 'bibliography'
+ or local-name($target) = 'glossary'
+ or local-name($target) = 'index'
+ or local-name($target) = 'part'
+ or local-name($target) = 'refentry'
+ or local-name($target) = 'reference'
+ or local-name($target) = 'example'
+ or local-name($target) = 'equation'
+ or local-name($target) = 'table'
+ or local-name($target) = 'figure'
+ or local-name($target) = 'simplesect'
+ or starts-with(local-name($target),'sect')
+ or starts-with(local-name($target),'refsect')">
+ <xsl:attribute name="title">
+ <xsl:apply-templates select="$target"
+ mode="object.title.markup.textonly"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="count(child::node()) > 0">
+ <!-- If it has content, use it -->
+ <xsl:apply-templates/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- else look for an endterm -->
+ <xsl:choose>
+ <xsl:when test="@endterm">
+ <xsl:variable name="etargets" select="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: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>
+ </xsl:otherwise>
+ </xsl:choose>
+ </a>
+</xsl:template>
+
+<xsl:template match="ulink">
+ <a>
+ <xsl:if test="@id">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@id"/>
+ </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:template>
+
+<xsl:template match="olink">
+ <xsl:if test="@id">
+ <a name="{@id}"/>
+ </xsl:if>
+
+ <xsl:variable name="localinfo" select="@localinfo"/>
+
+ <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="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>&</xsl:text>
+ <xsl:value-of select="$olink.fragid"/>
+ <xsl:value-of select="@localinfo"/>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <a href="{$href}">
+ <xsl:choose>
+ <xsl:when test="count(node()) > 0">
+ <xsl:apply-templates/>
+ </xsl:when>
+ <xsl:otherwise>
+ <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="'xref'"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </a>
+</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]"/>
+ <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]"/>
+ <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:stylesheet>
diff --git a/lib/docbook/docbook-xsl/html/xtchunk.xsl b/lib/docbook/docbook-xsl/html/xtchunk.xsl new file mode 100644 index 000000000..0f0d49e2b --- /dev/null +++ b/lib/docbook/docbook-xsl/html/xtchunk.xsl @@ -0,0 +1,10 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt"
+ version="1.0">
+
+<xsl:import href="docbook.xsl"/>
+<xsl:include href="chunk-common.xsl"/>
+<xsl:include href="xtchunker.xsl"/>
+
+</xsl:stylesheet>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/html/xtchunker.xsl b/lib/docbook/docbook-xsl/html/xtchunker.xsl new file mode 100644 index 000000000..2bd5a6438 --- /dev/null +++ b/lib/docbook/docbook-xsl/html/xtchunker.xsl @@ -0,0 +1,70 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt"
+ version="1.0">
+
+<!-- This stylesheet works with XT; for others use chunker.xsl -->
+
+<!-- ==================================================================== -->
+
+<xsl:template name="make-relative-filename">
+ <xsl:param name="base.dir" select="'./'"/>
+ <xsl:param name="base.name" select="''"/>
+
+ <!-- XT makes chunks relative -->
+ <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:template>
+
+<xsl:template name="write.chunk">
+ <xsl:param name="filename" select="''"/>
+ <xsl:param name="method" select="'html'"/>
+ <xsl:param name="encoding" select="'ISO-8859-1'"/>
+ <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>
+ </xsl:message>
+
+ <!-- apparently XT doesn't support AVTs for method and encoding -->
+ <xsl:choose>
+ <xsl:when test="$method = 'xml'">
+ <xt:document href="{$filename}"
+ method="xml"
+ indent="{$indent}"
+ encoding="ISO-8859-1">
+ <xsl:copy-of select="$content"/>
+ </xt:document>
+ </xsl:when>
+ <xsl:when test="$method = 'text'">
+ <xt:document href="{$filename}"
+ method="text"
+ indent="{$indent}"
+ encoding="ISO-8859-1">
+ <xsl:copy-of select="$content"/>
+ </xt:document>
+ </xsl:when>
+ <xsl:otherwise>
+ <xt:document href="{$filename}"
+ method="html"
+ indent="{$indent}"
+ encoding="ISO-8859-1">
+ <xsl:copy-of select="$content"/>
+ </xt:document>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/htmlhelp/ChangeLog b/lib/docbook/docbook-xsl/htmlhelp/ChangeLog new file mode 100644 index 000000000..5be476291 --- /dev/null +++ b/lib/docbook/docbook-xsl/htmlhelp/ChangeLog @@ -0,0 +1,30 @@ +2001-08-13 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * htmlhelp-common.xsl: Fixed problems with new lines in titles for TOC
+
+2001-08-08 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * htmlhelp-common.xsl: Added new parameters for controling filenames of project and output files.
+ New parameter htmlhelp.hhp.tail for specifying user content for project file.
+
+2001-07-23 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * htmlhelp-common.xsl: Fixed bug #442162 - bibliography element is included in ToC in the left pane, index is not generated because it has own dialog also in the left pane of HTML Help viewer
+
+2001-06-25 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * htmlhelp-common.xsl: Added htmlhelp.autolabel parameter to control inclusion of component and section labels into tree-like ToC.
+
+2001-05-05 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * htmlhelp-common.xsl: Colophon is now included in toc.hhc
+
+2001-04-21 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * README: Removed obsolete file
+
+2001-04-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * README, htmlhelp-common.xsl, htmlhelp.xsl, langcodes.xml, xthtmlhelp.xsl:
+ New file.
+
diff --git a/lib/docbook/docbook-xsl/htmlhelp/doc/ChangeLog b/lib/docbook/docbook-xsl/htmlhelp/doc/ChangeLog new file mode 100644 index 000000000..89e43121f --- /dev/null +++ b/lib/docbook/docbook-xsl/htmlhelp/doc/ChangeLog @@ -0,0 +1,8 @@ +2001-04-22 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * htmlhelp.xml: Updated encoding issues for non-English languages
+
+2001-04-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * htmlhelp.xml: New file.
+
diff --git a/lib/docbook/docbook-xsl/htmlhelp/doc/htmlhelp.xml b/lib/docbook/docbook-xsl/htmlhelp/doc/htmlhelp.xml new file mode 100644 index 000000000..f9f531732 --- /dev/null +++ b/lib/docbook/docbook-xsl/htmlhelp/doc/htmlhelp.xml @@ -0,0 +1,145 @@ +<?xml version='1.0' encoding='utf-8'?> +<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN' + 'http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd'> +<chapter lang="en"> +<chapterinfo> +<author> +<firstname>Jirka</firstname> +<surname>Kosek</surname> +</author> +<copyright> +<year>2001</year> +<holder>Jiří Kosek</holder> +</copyright> +<releaseinfo>$Id: htmlhelp.xml,v 1.1 2002/05/15 17:22:31 isberg Exp $</releaseinfo> +</chapterinfo> +<title>Using XSL stylesheets to generate HTML Help</title> +<?dbhtml filename="htmlhelp.html"?> + +<para>HTML Help (HH) is help-format used in newer versions of MS +Windows and applications written for this platform. This format allows +to pack several HTML files together with images, table of contents and +index into single file. Windows contains browser for this file-format +and full-text search is also supported on HH files. If you want know +more about HH and its capabilities look at <ulink +url="http://msdn.microsoft.com/library/tools/htmlhelp/chm/HH1Start.htm">HTML +Help pages</ulink>.</para> + +<section> +<title>How to generate first HTML Help file from DocBook sources</title> + +<para>Working with HH stylesheets is same as with other XSL DocBook +stylesheets. Simply run your favorite XSLT processor on your document +with stylesheet suited for HH:</para> + +<screen format="linespecific">saxon <replaceable>yourfile</replaceable> <replaceable>/path/to/stylesheets/</replaceable>contrib/htmlhelp/htmlhelp.xsl</screen> + +<para>If you are using XT processor, you should use stylesheet +<filename moreinfo="none">xthtmlhelp.xsl</filename> instead of +<filename moreinfo="none">htmlhelp.xsl</filename>.</para> + +<para>Stylesheet imports standard chunking stylesheet, thus set of +HTML files is created in usual way. Other files are also created +– <filename>htmlhelp.hhp</filename> is project file for HTML +Help Compiler and <filename>toc.hhc</filename> holds structure of your +document.</para> + +<para>Language identifier for whole HH file is taken from the top most +element with <sgmltag class="attribute">lang</sgmltag> attribute in +your DocBook source. This is perfectly legal for documents in only one +language. If language is not specified in the document, US English is +defaulted. There is one problem – MS language codes are country +sensitive, and this information is not available in DocBook source. If +the stylesheet selects bad code for you, edit +<filename>langcodes.xml</filename>, and remove all entries which have +yours language code, but are located in inappropriate country.</para> + +<para>Title of whole HH file is taken from first title element in your +document. Fulltext searching is automatically on. If your document +contains index terms, they are automatically converted to HH ActiveX +objects, which are recognized by HTML Help compiler.</para> + +<para>Stylesheet creates couple of files which are then used as an +input for HTML Help Compiler (HHC) which is part of <ulink +url="http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/download_main.htm">HTML +Help Workshop</ulink>. If you have HHC in your path, you can start +conversion to HH format by running command:</para> + +<screen format="linespecific">hhc htmlhelp.hhp</screen> + +<para>If you can not stand without your mouse, there is alternative +way. Just double-click on <filename +moreinfo="none">htmlhelp.hhp</filename> file. HH Workshop will be +launched automaticaly. Generation of HH file can be started by selecting +<menuchoice moreinfo="none"> +<guimenu moreinfo="none">File</guimenu> <guimenuitem +moreinfo="none">Compile</guimenuitem> </menuchoice> from application's +menu.</para> + +</section> + +<section> +<title>Customizing generated files</title> + +<section> +<title>Enabling navigation links</title> + +<para>By default, HTML Help stylesheet disables navigation links at +the start and the bottom of each page. If you want to enable this +feature, start your XSLT processor with parameter <parameter +moreinfo="none">suppress.navigation</parameter> set to 0.</para> + +<screen format="linespecific">saxon <replaceable>yourfile</replaceable> <replaceable>/path/to/stylesheets/</replaceable>contrib/htmlhelp/htmlhelp.xsl "suppress.navigation=0"</screen> + +<para>Another approach is to create driver file, which overrides +default parameter value.</para> + +<programlisting><![CDATA[<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:import href="]]><replaceable>/path/to/stylesheets/</replaceable>contrib/htmlhelp/htmlhelp.xsl<![CDATA["/> + + <xsl:param name="suppress.navigation" select="0"/> + +</xsl:stylesheet> +]]></programlisting> + +</section> + +<section> +<title>Generating HTML Help for non-Western European languages</title> + +<para>If you are generating HTML Help for non-Western Europe +languages, you should change output encoding of your files, because +HTML Help compiler improperly handles UTF-8 and even character +entities in TOC file and index entries. This can be easily done by +<quote>driver</quote> file like this:</para> + +<programlisting><![CDATA[<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:import href="]]><replaceable>/path/to/stylesheets/</replaceable>contrib/htmlhelp/htmlhelp.xsl<![CDATA["/> + + <xsl:param name="htmlhelp.encoding" select="'windows-1250'"/> + <xsl:param name="default.encoding" select="'windows-1250'"/> + <xsl:param name="saxon.character.representation" select="'native'"/> + +</xsl:stylesheet> +]]></programlisting> + +<para>Default encoding is ISO-8859-1 (aka ISO Latin 1).</para> + +</section> + +</section> + +<section> +<title>Feedback</title> + +<para>If you have any comments and suggestion about HTML Help +stylesheet feel free to contact me at following address +<email>jirka@kosek.cz</email>.</para> + +</section> + +</chapter>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/htmlhelp/htmlhelp-common.xsl b/lib/docbook/docbook-xsl/htmlhelp/htmlhelp-common.xsl new file mode 100644 index 000000000..7c14ec952 --- /dev/null +++ b/lib/docbook/docbook-xsl/htmlhelp/htmlhelp-common.xsl @@ -0,0 +1,453 @@ +<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: htmlhelp-common.xsl,v 1.1 2002/05/15 17:22:31 isberg Exp $
+ ********************************************************************
+
+ This file is used by htmlhelp.xsl if you want to generate source
+ files for HTML Help. It is based on the XSL DocBook Stylesheet
+ distribution (especially on JavaHelp code) from Norman Walsh.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+<xsl:param name="htmlhelp.encoding" select="'iso-8859-1'"/>
+
+<doc:param name="htmlhelp.encoding" xmlns="">
+<refpurpose>Character encoding to use in files for HTML Help compiler.</refpurpose>
+<refdescription>
+<para>HTML Help Compiler is not UTF-8 aware, so you should always use
+apropriate single-byte encoding here.</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="htmlhelp.autolabel" select="0"/>
+
+<doc:param name="htmlhelp.autolabel" xmlns="">
+<refpurpose>Should tree-like ToC use autonumbering feature?</refpurpose>
+<refdescription>
+<para>If you want to include chapter and section numbers into ToC in
+the left panel, set this parameter to 1.</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="htmlhelp.chm" select="'htmlhelp.chm'"/>
+
+<doc:param name="htmlhelp.chm" xmlns="">
+<refpurpose>Filename of output HTML Help file.</refpurpose>
+<refdescription>
+<para>Change this parameter if you want different name of result
+CHM file than htmlhelp.chm.</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="htmlhelp.hhp" select="'htmlhelp.hhp'"/>
+
+<doc:param name="htmlhelp.hhp" xmlns="">
+<refpurpose>Filename of project file.</refpurpose>
+<refdescription>
+<para>Change this parameter if you want different name of project
+file than htmlhelp.hhp.</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="htmlhelp.hhc" select="'toc.hhc'"/>
+
+<doc:param name="htmlhelp.hhc" xmlns="">
+<refpurpose>Filename of TOC file.</refpurpose>
+<refdescription>
+<para>Change this parameter if you want different name of TOC file
+than toc.hhc.</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="htmlhelp.hhp.tail"/>
+
+<doc:param name="htmlhelp.hhp.tail" xmlns="">
+<refpurpose>Additional content for project file.</refpurpose>
+<refdescription>
+<para>If you want to include some additional parameters into project file,
+store appropriate part of project file into this parameter.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+<!-- Customizations of standard HTML stylesheet parameters -->
+
+<xsl:param name="suppress.navigation" select="1"/>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="/">
+ <xsl:apply-templates/>
+ <xsl:call-template name="hhp"/>
+ <xsl:call-template name="hhc"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="hhp">
+ <xsl:call-template name="write.text.chunk">
+ <xsl:with-param name="filename" select="$htmlhelp.hhp"/>
+ <xsl:with-param name="method" select="'text'"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="hhp-main"/>
+ </xsl:with-param>
+ <xsl:with-param name="encoding" select="$htmlhelp.encoding"/>
+ </xsl:call-template>
+</xsl:template>
+
+<!-- ==================================================================== -->
+<xsl:template name="hhp-main">
+<xsl:text>[OPTIONS]
+</xsl:text>
+<xsl:if test="//indexterm">
+<xsl:text>Auto Index=Yes
+</xsl:text></xsl:if>
+<xsl:text>Compatibility=1.1 or later
+Compiled file=</xsl:text><xsl:value-of select="$htmlhelp.chm"/><xsl:text>
+Contents file=</xsl:text><xsl:value-of select="$htmlhelp.hhc"/><xsl:text>
+Default topic=</xsl:text>
+ <xsl:call-template name="make-relative-filename">
+ <xsl:with-param name="base.dir" select="$base.dir"/>
+ <xsl:with-param name="base.name">
+ <xsl:apply-templates mode="chunk-filename" select="/"/>
+ </xsl:with-param>
+ </xsl:call-template>
+<xsl:text>
+Display compile progress=No
+Full-text search=Yes
+Language=</xsl:text>
+<xsl:if test="//@lang">
+ <xsl:variable name="lang" select="//@lang[1]"/>
+ <xsl:value-of select="document('langcodes.xml')//gentext[@lang=string($lang)]"/>
+</xsl:if>
+<xsl:if test="not(//@lang)">
+ <xsl:text>0x0409 English (United States)
+</xsl:text></xsl:if>
+<xsl:text>
+Title=</xsl:text><xsl:value-of select="normalize-space(//title[1])"/>
+<xsl:text>
+
+[FILES]
+</xsl:text>
+<xsl:apply-templates mode="enumerate-files"/>
+<xsl:value-of select="$htmlhelp.hhp.tail"/>
+</xsl:template>
+<!-- ==================================================================== -->
+
+<xsl:template match="set|book|part|preface|chapter|appendix
+ |article
+ |reference|refentry
+ |sect1[position()>1]
+ |section[position()>1 and name(parent::*) != 'section']
+ |book/glossary|article/glossary
+ |book/bibliography|article/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" select="$base.dir"/>
+ <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="text()" mode="enumerate-files">
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<!-- Following templates are not nice. It is because MS help compiler is unable
+ to process correct HTML files. We must generate following weird
+ stuff instead. -->
+
+<xsl:template name="hhc">
+ <xsl:call-template name="write.text.chunk">
+ <xsl:with-param name="filename" select="$htmlhelp.hhc"/>
+ <xsl:with-param name="method" select="'text'"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="hhc-main"/>
+ </xsl:with-param>
+ <xsl:with-param name="encoding" select="$htmlhelp.encoding"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="hhc-main">
+ <xsl:text><HTML>
+<HEAD>
+</HEAD>
+<BODY>
+<OBJECT type="text/site properties">
+ <param name="ImageType" value="Folder">
+</OBJECT>
+<UL>
+</xsl:text>
+ <xsl:apply-templates select="." mode="hhc"/>
+<xsl:text></UL>
+</BODY>
+</HTML></xsl:text>
+</xsl:template>
+
+<xsl:template match="set" mode="hhc">
+ <xsl:variable name="title">
+ <xsl:if test="$htmlhelp.autolabel=1">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="book">
+ <xsl:text><UL></xsl:text>
+ <xsl:apply-templates select="book" mode="hhc"/>
+ <xsl:text></UL></xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="book" mode="hhc">
+ <xsl:variable name="title">
+ <xsl:if test="$htmlhelp.autolabel=1">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="part|reference|preface|chapter|appendix|bibliography|article|colophon">
+ <xsl:text><UL></xsl:text>
+ <xsl:apply-templates select="part|reference|preface|chapter|bibliography|appendix|article|colophon"
+ mode="hhc"/>
+ <xsl:text></UL></xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="part|reference|preface|chapter|bibliography|appendix|article"
+ mode="hhc">
+ <xsl:variable name="title">
+ <xsl:if test="$htmlhelp.autolabel=1">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="reference|preface|chapter|appendix|refentry|section|sect1|bibliodiv">
+ <xsl:text><UL></xsl:text>
+ <xsl:apply-templates
+ select="reference|preface|chapter|appendix|refentry|section|sect1|bibliodiv"
+ mode="hhc"/>
+ <xsl:text></UL></xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="section" mode="hhc">
+ <xsl:variable name="title">
+ <xsl:if test="$htmlhelp.autolabel=1">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="section">
+ <xsl:text><UL></xsl:text>
+ <xsl:apply-templates select="section" mode="hhc"/>
+ <xsl:text></UL></xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="sect1" mode="hhc">
+ <xsl:variable name="title">
+ <xsl:if test="$htmlhelp.autolabel=1">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="sect2">
+ <xsl:text><UL></xsl:text>
+ <xsl:apply-templates select="sect2"
+ mode="hhc"/>
+ <xsl:text></UL></xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="sect2" mode="hhc">
+ <xsl:variable name="title">
+ <xsl:if test="$htmlhelp.autolabel=1">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="sect3">
+ <xsl:text><UL></xsl:text>
+ <xsl:apply-templates select="sect3"
+ mode="hhc"/>
+ <xsl:text></UL></xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="sect3" mode="hhc">
+ <xsl:variable name="title">
+ <xsl:if test="$htmlhelp.autolabel=1">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="sect4">
+ <xsl:text><UL></xsl:text>
+ <xsl:apply-templates select="sect4"
+ mode="hhc"/>
+ <xsl:text></UL></xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="sect4" mode="hhc">
+ <xsl:variable name="title">
+ <xsl:if test="$htmlhelp.autolabel=1">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="sect5">
+ <xsl:text><UL></xsl:text>
+ <xsl:apply-templates select="sect5"
+ mode="hhc"/>
+ <xsl:text></UL></xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="sect5|refentry|colophon|bibliodiv" mode="hhc">
+ <xsl:variable name="title">
+ <xsl:if test="$htmlhelp.autolabel=1">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <xsl:text><LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="</xsl:text>
+ <xsl:value-of select="normalize-space($title)"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<!-- no separate HTML page with index -->
+<xsl:template match="index"/>
+<xsl:template match="index" mode="toc"/>
+
+<xsl:template match="indexterm">
+
+ <xsl:variable name="text">
+ <xsl:value-of select="normalize-space(primary)"/>
+ <xsl:if test="secondary">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="normalize-space(secondary)"/>
+ </xsl:if>
+ <xsl:if test="tertiary">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="normalize-space(tertiary)"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <OBJECT type="application/x-oleobject"
+ classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+ <param name="Keyword" value="{$text}"/>
+ </OBJECT>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="href.target.with.base.dir">
+ <xsl:value-of select="$base.dir"/>
+ <xsl:call-template name="href.target"/>
+</xsl:template>
+
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/htmlhelp/htmlhelp.xsl b/lib/docbook/docbook-xsl/htmlhelp/htmlhelp.xsl new file mode 100644 index 000000000..192959522 --- /dev/null +++ b/lib/docbook/docbook-xsl/htmlhelp/htmlhelp.xsl @@ -0,0 +1,23 @@ +<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ version="1.0"
+ exclude-result-prefixes="doc">
+
+<xsl:import href="../html/chunk.xsl"/>
+<xsl:include href="htmlhelp-common.xsl"/>
+
+<xsl:template name="write.text.chunk">
+ <xsl:param name="filename" select="''"/>
+ <xsl:param name="method" select="'text'"/>
+ <xsl:param name="content" select="''"/>
+ <xsl:param name="encoding" select="'iso-8859-1'"/>
+ <xsl:call-template name="write.chunk">
+ <xsl:with-param name="filename" select="$filename"/>
+ <xsl:with-param name="method" select="$method"/>
+ <xsl:with-param name="content" select="$content"/>
+ <xsl:with-param name="encoding" select="$encoding"/>
+ </xsl:call-template>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/htmlhelp/langcodes.xml b/lib/docbook/docbook-xsl/htmlhelp/langcodes.xml new file mode 100644 index 000000000..0e1847cf7 --- /dev/null +++ b/lib/docbook/docbook-xsl/htmlhelp/langcodes.xml @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<localization> +<gentext lang="sq">0x041c Albanian</gentext> +<gentext lang="ar">0x1401 Arabic (ALGERIA)</gentext> +<gentext lang="es">0x2c0a Spanish (ARGENTINA)</gentext> +<gentext lang="en">0x0c09 English (AUSTRALIA)</gentext> +<gentext lang="de">0x0c07 German (AUSTRIA)</gentext> +<gentext lang="ar">0x3c01 Arabic (BAHRAIN)</gentext> +<gentext lang="be">0x0423 Byelorussian</gentext> +<gentext lang="fr">0x080c French (BELGIUM)</gentext> +<gentext lang="en">0x2809 English (BELIZE)</gentext> +<gentext lang="es">0x400a Spanish (BOLIVIA)</gentext> +<gentext lang="pt">0x0416 Portuguese (BRAZIL)</gentext> +<gentext lang="ms">0x083e Malay (BRUNEI DARUSSALAM)</gentext> +<gentext lang="bg">0x0402 Bulgarian</gentext> +<gentext lang="fr">0x0c0c French (CANADA)</gentext> +<gentext lang="es">0x340a Spanish (CHILE)</gentext> +<gentext lang="zh">0x0804 Chinese (CHINA)</gentext> +<gentext lang="es">0x240a Spanish (COLOMBIA)</gentext> +<gentext lang="es">0x140a Spanish (COSTA RICA)</gentext> +<gentext lang="hr">0x041a Croatian</gentext> +<gentext lang="cs">0x0405 Czech</gentext> +<gentext lang="da">0x0406 Danish</gentext> +<gentext lang="es">0x1c0a Spanish (DOMINICAN REPUBLIC)</gentext> +<gentext lang="es">0x300a Spanish (ECUADOR)</gentext> +<gentext lang="ar">0x0c01 Arabic (EGYPT)</gentext> +<gentext lang="es">0x440a Spanish (EL SALVADOR)</gentext> +<gentext lang="et">0x0425 Estonian</gentext> +<gentext lang="fo">0x0438 Faeroese</gentext> +<gentext lang="fi">0x040b Finnish</gentext> +<gentext lang="fr">0x040c French (FRANCE)</gentext> +<gentext lang="de">0x0407 German (GERMANY)</gentext> +<gentext lang="el">0x0408 Greek</gentext> +<gentext lang="es">0x100a Spanish (GUATEMALA)</gentext> +<gentext lang="es">0x480a Spanish (HONDURAS)</gentext> +<gentext lang="zh">0x0c04 Chinese (HONG KONG)</gentext> +<gentext lang="hu">0x040e Hungarian</gentext> +<gentext lang="is">0x040f Icelandic</gentext> +<gentext lang="hi">0x0439 Hindi</gentext> +<gentext lang="in">0x04</gentext> +<gentext lang="fa">0x0429 Farsi</gentext> +<gentext lang="ar">0x0801 Arabic (IRAQ)</gentext> +<gentext lang="en">0x1809 English (IRELAND)</gentext> +<gentext lang="iw">0x04</gentext> +<gentext lang="it">0x0410 Italian</gentext> +<gentext lang="en">0x2009 English (JAMAICA)</gentext> +<gentext lang="ja">0x0411 Japanese</gentext> +<gentext lang="ar">0x2c01 Arabic (JORDAN)</gentext> +<gentext lang="sw">0x0441 Swahili</gentext> +<gentext lang="ko">0x0412 Korean</gentext> +<gentext lang="ar">0x3401 Arabic (KUWAIT)</gentext> +<gentext lang="lv">0x0426 Latvian (Lettish)</gentext> +<gentext lang="ar">0x3001 Arabic (LEBANON)</gentext> +<gentext lang="ar">0x1001 Arabic (LIBYAN ARAB JAMAHIRIYA)</gentext> +<gentext lang="de">0x1407 German (LIECHTENSTEIN)</gentext> +<gentext lang="lt">0x0427 Lithuanian</gentext> +<gentext lang="de">0x1007 German (LUXEMBOURG)</gentext> +<gentext lang="zh">0x1404 Chinese (MACAU)</gentext> +<gentext lang="mk">0x042f Macedonian</gentext> +<gentext lang="ms">0x043e Malay (MALAYSIA)</gentext> +<gentext lang="es">0x080a Spanish (MEXICO)</gentext> +<gentext lang="fr">0x180c French (MONACO)</gentext> +<gentext lang="ar">0x1801 Arabic (MOROCCO)</gentext> +<gentext lang="nl">0x0413 Dutch</gentext> +<gentext lang="en">0x1409 English (NEW ZEALAND)</gentext> +<gentext lang="es">0x4c0a Spanish (NICARAGUA)</gentext> +<gentext lang="no">0x0414 Norwegian</gentext> +<gentext lang="ar">0x2001 Arabic (OMAN)</gentext> +<gentext lang="ur">0x0420 Urdu</gentext> +<gentext lang="es">0x180a Spanish (PANAMA)</gentext> +<gentext lang="es">0x3c0a Spanish (PARAGUAY)</gentext> +<gentext lang="es">0x280a Spanish (PERU)</gentext> +<gentext lang="en">0x3409 English (PHILIPPINES)</gentext> +<gentext lang="pl">0x0415 Polish</gentext> +<gentext lang="pt">0x0816 Portuguese (PORTUGAL)</gentext> +<gentext lang="es">0x500a Spanish (PUERTO RICO)</gentext> +<gentext lang="ar">0x4001 Arabic (QATAR)</gentext> +<gentext lang="ro">0x0418 Romanian</gentext> +<gentext lang="ru">0x0419 Russian</gentext> +<gentext lang="ar">0x0401 Arabic (SAUDI ARABIA)</gentext> +<gentext lang="zh">0x1004 Chinese (SINGAPORE)</gentext> +<gentext lang="sk">0x041b Slovak</gentext> +<gentext lang="sl">0x0424 Slovenian</gentext> +<gentext lang="af">0x0436 Afrikaans</gentext> +<gentext lang="ca">0x0403 Catalan</gentext> +<gentext lang="sv">0x041d Swedish</gentext> +<gentext lang="de">0x0807 German (SWITZERLAND)</gentext> +<gentext lang="ar">0x2801 Arabic (SYRIAN ARAB REPUBLIC)</gentext> +<gentext lang="zh">0x0404 Chinese (TAIWAN, PROVINCE OF CHINA)</gentext> +<gentext lang="th">0x041e Thai</gentext> +<gentext lang="en">0x2c09 English (TRINIDAD AND TOBAGO)</gentext> +<gentext lang="ar">0x1c01 Arabic (TUNISIA)</gentext> +<gentext lang="tr">0x041f Turkish</gentext> +<gentext lang="uk">0x0422 Ukrainian</gentext> +<gentext lang="ar">0x3801 Arabic (UNITED ARAB EMIRATES)</gentext> +<gentext lang="en">0x0809 English (UNITED KINGDOM)</gentext> +<gentext lang="en">0x0409 English (UNITED STATES)</gentext> +<gentext lang="es">0x380a Spanish (URUGUAY)</gentext> +<gentext lang="es">0x200a Spanish (VENEZUELA)</gentext> +<gentext lang="vi">0x242a Vietnamese</gentext> +<gentext lang="ar">0x2401 Arabic (YEMEN)</gentext> +<gentext lang="en">0x3009 English (ZIMBABWE)</gentext> +</localization> diff --git a/lib/docbook/docbook-xsl/htmlhelp/xthtmlhelp.xsl b/lib/docbook/docbook-xsl/htmlhelp/xthtmlhelp.xsl new file mode 100644 index 000000000..9cd5357c2 --- /dev/null +++ b/lib/docbook/docbook-xsl/htmlhelp/xthtmlhelp.xsl @@ -0,0 +1,23 @@ +<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt"
+ version="1.0">
+
+<xsl:import href="../html/xtchunk.xsl"/>
+<xsl:include href="htmlhelp-common.xsl"/>
+
+<xsl:template name="write.text.chunk">
+ <xsl:param name="filename" select="''"/>
+ <xsl:param name="method" select="'html'"/>
+ <xsl:param name="content" select="''"/>
+ <xsl:param name="encoding" select="'iso-8859-1'"/>
+
+ <!-- XT bug, if method is an AVT, it doesn't work -->
+ <!-- encoding doesn't work as an AVT either -->
+ <xt:document method="text" href="{$filename}" encoding="iso-8859-1">
+ <xsl:copy-of select="$content"/>
+ </xt:document>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/images/ChangeLog b/lib/docbook/docbook-xsl/images/ChangeLog new file mode 100644 index 000000000..8d5311914 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/ChangeLog @@ -0,0 +1,5 @@ +2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * caution.gif, caution.png, caution.tif, home.png, important.gif, important.png, important.tif, next.png, note.gif, note.png, note.tif, prev.png, tip.gif, tip.png, tip.tif, toc-blank.png, toc-minus.png, toc-plus.png, up.png, warning.gif, warning.png, warning.tif:
+ New file.
+
diff --git a/lib/docbook/docbook-xsl/images/callouts/1.png b/lib/docbook/docbook-xsl/images/callouts/1.png Binary files differnew file mode 100644 index 000000000..7d473430b --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/1.png diff --git a/lib/docbook/docbook-xsl/images/callouts/10.png b/lib/docbook/docbook-xsl/images/callouts/10.png Binary files differnew file mode 100644 index 000000000..997bbc824 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/10.png diff --git a/lib/docbook/docbook-xsl/images/callouts/2.png b/lib/docbook/docbook-xsl/images/callouts/2.png Binary files differnew file mode 100644 index 000000000..5d09341b2 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/2.png diff --git a/lib/docbook/docbook-xsl/images/callouts/3.png b/lib/docbook/docbook-xsl/images/callouts/3.png Binary files differnew file mode 100644 index 000000000..ef7b70047 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/3.png diff --git a/lib/docbook/docbook-xsl/images/callouts/4.png b/lib/docbook/docbook-xsl/images/callouts/4.png Binary files differnew file mode 100644 index 000000000..adb8364eb --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/4.png diff --git a/lib/docbook/docbook-xsl/images/callouts/5.png b/lib/docbook/docbook-xsl/images/callouts/5.png Binary files differnew file mode 100644 index 000000000..4d7eb4600 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/5.png diff --git a/lib/docbook/docbook-xsl/images/callouts/6.png b/lib/docbook/docbook-xsl/images/callouts/6.png Binary files differnew file mode 100644 index 000000000..0ba694af6 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/6.png diff --git a/lib/docbook/docbook-xsl/images/callouts/7.png b/lib/docbook/docbook-xsl/images/callouts/7.png Binary files differnew file mode 100644 index 000000000..472e96f8a --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/7.png diff --git a/lib/docbook/docbook-xsl/images/callouts/8.png b/lib/docbook/docbook-xsl/images/callouts/8.png Binary files differnew file mode 100644 index 000000000..5e60973c2 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/8.png diff --git a/lib/docbook/docbook-xsl/images/callouts/9.png b/lib/docbook/docbook-xsl/images/callouts/9.png Binary files differnew file mode 100644 index 000000000..a0676d26c --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/9.png diff --git a/lib/docbook/docbook-xsl/images/callouts/ChangeLog b/lib/docbook/docbook-xsl/images/callouts/ChangeLog new file mode 100644 index 000000000..ed5516c4c --- /dev/null +++ b/lib/docbook/docbook-xsl/images/callouts/ChangeLog @@ -0,0 +1,5 @@ +2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * 1.png, 10.png, 2.png, 3.png, 4.png, 5.png, 6.png, 7.png, 8.png, 9.png:
+ New file.
+
diff --git a/lib/docbook/docbook-xsl/images/caution.gif b/lib/docbook/docbook-xsl/images/caution.gif Binary files differnew file mode 100644 index 000000000..d9f5e5b1b --- /dev/null +++ b/lib/docbook/docbook-xsl/images/caution.gif diff --git a/lib/docbook/docbook-xsl/images/caution.png b/lib/docbook/docbook-xsl/images/caution.png Binary files differnew file mode 100644 index 000000000..5b7809ca4 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/caution.png diff --git a/lib/docbook/docbook-xsl/images/caution.tif b/lib/docbook/docbook-xsl/images/caution.tif Binary files differnew file mode 100644 index 000000000..4a282948c --- /dev/null +++ b/lib/docbook/docbook-xsl/images/caution.tif diff --git a/lib/docbook/docbook-xsl/images/home.png b/lib/docbook/docbook-xsl/images/home.png Binary files differnew file mode 100644 index 000000000..cbb711de7 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/home.png diff --git a/lib/docbook/docbook-xsl/images/important.gif b/lib/docbook/docbook-xsl/images/important.gif Binary files differnew file mode 100644 index 000000000..6795d9a81 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/important.gif diff --git a/lib/docbook/docbook-xsl/images/important.png b/lib/docbook/docbook-xsl/images/important.png Binary files differnew file mode 100644 index 000000000..12c90f607 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/important.png diff --git a/lib/docbook/docbook-xsl/images/important.tif b/lib/docbook/docbook-xsl/images/important.tif Binary files differnew file mode 100644 index 000000000..184de6371 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/important.tif diff --git a/lib/docbook/docbook-xsl/images/next.png b/lib/docbook/docbook-xsl/images/next.png Binary files differnew file mode 100644 index 000000000..45835bf89 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/next.png diff --git a/lib/docbook/docbook-xsl/images/note.gif b/lib/docbook/docbook-xsl/images/note.gif Binary files differnew file mode 100644 index 000000000..f329d359e --- /dev/null +++ b/lib/docbook/docbook-xsl/images/note.gif diff --git a/lib/docbook/docbook-xsl/images/note.png b/lib/docbook/docbook-xsl/images/note.png Binary files differnew file mode 100644 index 000000000..d0c3c645a --- /dev/null +++ b/lib/docbook/docbook-xsl/images/note.png diff --git a/lib/docbook/docbook-xsl/images/note.tif b/lib/docbook/docbook-xsl/images/note.tif Binary files differnew file mode 100644 index 000000000..08644d6b5 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/note.tif diff --git a/lib/docbook/docbook-xsl/images/prev.png b/lib/docbook/docbook-xsl/images/prev.png Binary files differnew file mode 100644 index 000000000..cf24654f8 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/prev.png diff --git a/lib/docbook/docbook-xsl/images/tip.gif b/lib/docbook/docbook-xsl/images/tip.gif Binary files differnew file mode 100644 index 000000000..823f2b417 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/tip.gif diff --git a/lib/docbook/docbook-xsl/images/tip.png b/lib/docbook/docbook-xsl/images/tip.png Binary files differnew file mode 100644 index 000000000..5c4aab3bb --- /dev/null +++ b/lib/docbook/docbook-xsl/images/tip.png diff --git a/lib/docbook/docbook-xsl/images/tip.tif b/lib/docbook/docbook-xsl/images/tip.tif Binary files differnew file mode 100644 index 000000000..4a3d8c75f --- /dev/null +++ b/lib/docbook/docbook-xsl/images/tip.tif diff --git a/lib/docbook/docbook-xsl/images/toc-blank.png b/lib/docbook/docbook-xsl/images/toc-blank.png Binary files differnew file mode 100644 index 000000000..6ffad17a0 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/toc-blank.png diff --git a/lib/docbook/docbook-xsl/images/toc-minus.png b/lib/docbook/docbook-xsl/images/toc-minus.png Binary files differnew file mode 100644 index 000000000..abbb020c8 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/toc-minus.png diff --git a/lib/docbook/docbook-xsl/images/toc-plus.png b/lib/docbook/docbook-xsl/images/toc-plus.png Binary files differnew file mode 100644 index 000000000..941312ce0 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/toc-plus.png diff --git a/lib/docbook/docbook-xsl/images/up.png b/lib/docbook/docbook-xsl/images/up.png Binary files differnew file mode 100644 index 000000000..07634de26 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/up.png diff --git a/lib/docbook/docbook-xsl/images/warning.gif b/lib/docbook/docbook-xsl/images/warning.gif Binary files differnew file mode 100644 index 000000000..3adf19129 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/warning.gif diff --git a/lib/docbook/docbook-xsl/images/warning.png b/lib/docbook/docbook-xsl/images/warning.png Binary files differnew file mode 100644 index 000000000..1c33db8f3 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/warning.png diff --git a/lib/docbook/docbook-xsl/images/warning.tif b/lib/docbook/docbook-xsl/images/warning.tif Binary files differnew file mode 100644 index 000000000..7b6611ec7 --- /dev/null +++ b/lib/docbook/docbook-xsl/images/warning.tif diff --git a/lib/docbook/docbook-xsl/javahelp/ChangeLog b/lib/docbook/docbook-xsl/javahelp/ChangeLog new file mode 100644 index 000000000..e712feef1 --- /dev/null +++ b/lib/docbook/docbook-xsl/javahelp/ChangeLog @@ -0,0 +1,8 @@ +2001-05-20 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * javahelp-common.xsl: Fixed bug #425149, colphons and articles inside book are now handled
+
+2001-04-04 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * javahelp-common.xsl, javahelp.xsl, xtjavahelp.xsl: New file.
+
diff --git a/lib/docbook/docbook-xsl/javahelp/javahelp-common.xsl b/lib/docbook/docbook-xsl/javahelp/javahelp-common.xsl new file mode 100644 index 000000000..14ca84847 --- /dev/null +++ b/lib/docbook/docbook-xsl/javahelp/javahelp-common.xsl @@ -0,0 +1,425 @@ +<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">
+
+<xsl:output method="html"/>
+
+<!-- ********************************************************************
+ $Id: javahelp-common.xsl,v 1.1 2002/05/15 17:22:31 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+<xsl:param name="javahelp.encoding" select="'ISO-8859-1'"/>
+
+<doc:param name="javahelp.encoding" xmlns="">
+<refpurpose>Character encoding to use in control files for Java Help.</refpurpose>
+<refdescription>
+<para>Java Help crashes on some characters when written as character
+references. In that case you can select appropriate encoding here.</para>
+</refdescription>
+</doc:param>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="/">
+ <xsl:apply-templates/>
+ <xsl:call-template name="helpset"/>
+ <xsl:call-template name="helptoc"/>
+ <xsl:call-template name="helpmap"/>
+ <xsl:call-template name="helpidx"/>
+</xsl:template>
+
+<xsl:template name="header.navigation">
+</xsl:template>
+
+<xsl:template name="footer.navigation">
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="helpset">
+ <xsl:call-template name="write.chunk.with.doctype">
+ <xsl:with-param name="filename" select="'jhelpset.hs'"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="doctype-public" select="'-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN'"/>
+ <xsl:with-param name="doctype-system" select="'http://java.sun.com/products/javahelp/helpset_1_0.dtd'"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="helpset.content"/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="helpset.content">
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <helpset version="1.0">
+ <title>
+ <xsl:value-of select="$title"/>
+ </title>
+
+ <!-- maps -->
+ <maps>
+ <homeID>top</homeID>
+ <mapref location="jhelpmap.jhm"/>
+ </maps>
+
+ <!-- views -->
+ <view>
+ <name>TOC</name>
+ <label>Table Of Contents</label>
+ <type>javax.help.TOCView</type>
+ <data>jhelptoc.xml</data>
+ </view>
+
+ <view>
+ <name>Index</name>
+ <label>Index</label>
+ <type>javax.help.IndexView</type>
+ <data>jhelpidx.xml</data>
+ </view>
+
+ <view>
+ <name>Search</name>
+ <label>Search</label>
+ <type>javax.help.SearchView</type>
+ <data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
+ </view>
+ </helpset>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="helptoc">
+ <xsl:call-template name="write.chunk.with.doctype">
+ <xsl:with-param name="filename" select="'jhelptoc.xml'"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="doctype-public" select="'-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 1.0//EN'"/>
+ <xsl:with-param name="doctype-system" select="'http://java.sun.com/products/javahelp/toc_1_0.dtd'"/>
+ <xsl:with-param name="encoding" select="$javahelp.encoding"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="helptoc.content"/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="helptoc.content">
+ <toc version="1.0">
+ <xsl:apply-templates select="." mode="toc"/>
+ </toc>
+</xsl:template>
+
+<xsl:template match="set" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="book" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="book" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="part|reference|preface|chapter|appendix|article|colophon"
+ mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="part|reference|preface|chapter|appendix|article"
+ mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates
+ select="preface|chapter|appendix|refentry|section|sect1"
+ mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="section" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="section" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="sect1" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="sect2" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="sect2" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="sect3" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="sect3" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="sect4" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="sect4" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="sect5" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="sect5|colophon" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ </tocitem>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="helpmap">
+ <xsl:call-template name="write.chunk.with.doctype">
+ <xsl:with-param name="filename" select="'jhelpmap.jhm'"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="doctype-public" select="'-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN'"/>
+ <xsl:with-param name="doctype-system" select="'http://java.sun.com/products/javahelp/map_1_0.dtd'"/>
+ <xsl:with-param name="encoding" select="$javahelp.encoding"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="helpmap.content"/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="helpmap.content">
+ <map version="1.0">
+ <xsl:apply-templates select="//set
+ | //book
+ | //part
+ | //reference
+ | //preface
+ | //chapter
+ | //appendix
+ | //article
+ | //colophon
+ | //refentry
+ | //section
+ | //sect1
+ | //sect2
+ | //sect3
+ | //sect4
+ | //sect5
+ | //indexterm"
+ mode="map"/>
+ </map>
+</xsl:template>
+
+<xsl:template match="set" mode="map">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="."/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <mapID target="{$id}">
+ <xsl:attribute name="url">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:attribute>
+ </mapID>
+</xsl:template>
+
+<xsl:template match="book" mode="map">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <mapID target="{$id}">
+ <xsl:attribute name="url">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:attribute>
+ </mapID>
+</xsl:template>
+
+<xsl:template match="part|reference|preface|chapter|appendix|article"
+ mode="map">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <mapID target="{$id}">
+ <xsl:attribute name="url">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:attribute>
+ </mapID>
+</xsl:template>
+
+<xsl:template match="section|sect1|sect2|sect3|sect4|sect5|colophon" mode="map">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <mapID target="{$id}">
+ <xsl:attribute name="url">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:attribute>
+ </mapID>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="map">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <mapID target="{$id}">
+ <xsl:attribute name="url">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:attribute>
+ </mapID>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="helpidx">
+ <xsl:call-template name="write.chunk.with.doctype">
+ <xsl:with-param name="filename" select="'jhelpidx.xml'"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="doctype-public" select="'-//Sun Microsystems Inc.//DTD JavaHelp Index Version 1.0//EN'"/>
+ <xsl:with-param name="doctype-system" select="'http://java.sun.com/products/javahelp/index_1_0.dtd'"/>
+ <xsl:with-param name="encoding" select="$javahelp.encoding"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="helpidx.content"/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="helpidx.content">
+ <index version="1.0">
+ <xsl:apply-templates select="//indexterm" mode="idx"/>
+ </index>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="idx">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="text">
+ <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:variable>
+
+ <xsl:choose>
+ <xsl:when test="see">
+ <xsl:variable name="see"><xsl:value-of select="see"/></xsl:variable>
+ <indexitem text="{$text} see '{$see}'"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <indexitem text="{$text}" target="{$id}"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/javahelp/javahelp.xsl b/lib/docbook/docbook-xsl/javahelp/javahelp.xsl new file mode 100644 index 000000000..159262c09 --- /dev/null +++ b/lib/docbook/docbook-xsl/javahelp/javahelp.xsl @@ -0,0 +1,10 @@ +<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ version="1.0"
+ exclude-result-prefixes="doc">
+
+<xsl:import href="../html/chunk.xsl"/>
+<xsl:include href="javahelp-common.xsl"/>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/javahelp/xtjavahelp.xsl b/lib/docbook/docbook-xsl/javahelp/xtjavahelp.xsl new file mode 100644 index 000000000..456de5c1b --- /dev/null +++ b/lib/docbook/docbook-xsl/javahelp/xtjavahelp.xsl @@ -0,0 +1,17 @@ +<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ version="1.0"
+ exclude-result-prefixes="doc">
+
+<xsl:import href="../html/xtchunk.xsl"/>
+<xsl:include href="javahelp-common.xsl"/>
+
+<xsl:template match="/">
+ <xsl:message terminate="yes">
+ <xsl:text>JavaHelp cannot work with XT; XT does not support</xsl:text>
+ <xsl:text> writing doctype public and system identifiers</xsl:text>
+ </xsl:message>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/lib/ChangeLog b/lib/docbook/docbook-xsl/lib/ChangeLog new file mode 100644 index 000000000..bc4fd8e32 --- /dev/null +++ b/lib/docbook/docbook-xsl/lib/ChangeLog @@ -0,0 +1,8 @@ +2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * lib.xsl: Documentation fixes
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * lib.xsl: New file.
+
diff --git a/lib/docbook/docbook-xsl/lib/lib.xsl b/lib/docbook/docbook-xsl/lib/lib.xsl new file mode 100644 index 000000000..9f2a2e33a --- /dev/null +++ b/lib/docbook/docbook-xsl/lib/lib.xsl @@ -0,0 +1,242 @@ +<?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: lib.xsl,v 1.1 2002/05/15 17:22:31 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ This module implements DTD-independent functions
+
+ ******************************************************************** -->
+
+<doc:reference xmlns="">
+<referenceinfo>
+<releaseinfo role="meta">
+$Id: lib.xsl,v 1.1 2002/05/15 17:22:31 isberg Exp $
+</releaseinfo>
+<author><surname>Walsh</surname>
+<firstname>Norman</firstname></author>
+<copyright><year>1999</year><year>2000</year>
+<holder>Norman Walsh</holder>
+</copyright>
+</referenceinfo>
+<title>Library Template 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 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 name="dot.count">
+ <!-- Returns the number of "." characters in a string -->
+ <xsl:param name="string"></xsl:param>
+ <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>
+ <xsl:param name="count" select="0"/>
+ <xsl:param name="result"></xsl:param>
+
+ <xsl:choose>
+ <xsl:when test="$count>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>
+
+<!-- ====================================================================== -->
+
+<doc:template name="string.subst" xmlns="">
+<refpurpose>Substitute one text string for another in a string</refpurpose>
+<refdescription>
+<para>The <function>string.subst</function> template replaces all
+occurances of <parameter>target</parameter> in <parameter>string</parameter>
+with <parameter>replacement</parameter> and returns the result.
+</para>
+</refdescription>
+</doc:template>
+
+<xsl:template name="string.subst">
+ <xsl:param name="string"></xsl:param>
+ <xsl:param name="target"></xsl:param>
+ <xsl:param name="replacement"></xsl:param>
+
+ <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>
+
+<!-- ================================================================== -->
+
+<doc:template name="xpointer.idref" xmlns="">
+<refpurpose>Extract IDREF from an XPointer</refpurpose>
+<refdescription>
+<para>The <function>xpointer.idref</function> template returns the
+ID portion of an XPointer which is a pointer to an ID within the current
+document, or the empty string if it is not.</para>
+<para>In other words, <function>xpointer.idref</function> returns
+<quote>foo</quote> when passed either <literal>#foo</literal>
+or <literal>#xpointer(id('foo'))</literal>, otherwise it returns
+the empty string.</para>
+</refdescription>
+</doc: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>
+
+<!-- ================================================================== -->
+
+<doc:template name="length-magnitude" xmlns="">
+<refpurpose>Return the unqualified dimension from a length specification</refpurpose>
+<refdescription>
+<para>The <function>length-magnitude</function> template returns the
+unqualified length ("20" for "20pt") from a dimension.
+</para>
+</refdescription>
+</doc: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>
+
+<!-- ================================================================== -->
+
+<doc:template name="length-spec" xmlns="">
+<refpurpose>Return a fully qualified length specification</refpurpose>
+<refdescription>
+<para>The <function>length-spec</function> template returns the
+qualified length from a dimension. If an unqualified length is given,
+the <parameter>default.units</parameter> will be added to it.
+</para>
+</refdescription>
+</doc:template>
+
+<xsl:template name="length-spec">
+ <xsl:param name="length" select="'0pt'"/>
+ <xsl:param name="default.units" select="'pt'"/>
+ <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:stylesheet>
diff --git a/lib/docbook/docbook-xsl/template/ChangeLog b/lib/docbook/docbook-xsl/template/ChangeLog new file mode 100644 index 000000000..ec9e3bdae --- /dev/null +++ b/lib/docbook/docbook-xsl/template/ChangeLog @@ -0,0 +1,19 @@ +2001-08-01 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * titlepage.xsl: Add t and param to the excluded result prefixes
+
+2001-05-21 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * titlepage.xsl: Reworked titlepage template processing to support use of more interesting
+ predicates.
+
+ Note: in previous versions, at most one title, subtitle, or titleabbrev
+ element would be processed for each title page. In the new design, if you
+ have multiple title, subtitle, or titleabbrev elements inside an info
+ wrapper (you shouldn't!), they will all be processed.
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * README, biblioentry.xsl, testtemplate.xml, titlepage.xsl:
+ New file.
+
diff --git a/lib/docbook/docbook-xsl/template/README b/lib/docbook/docbook-xsl/template/README new file mode 100644 index 000000000..673ca5c21 --- /dev/null +++ b/lib/docbook/docbook-xsl/template/README @@ -0,0 +1,15 @@ +This directory contains rudimentary support for the notion of
+stylesheet templates.
+
+The idea is that if you want to change the behavior of the
+stylesheets, for example, processing different bibliography
+elements, you will construct a tempate document that describes
+what you want and then process that template with the "template"
+stylesheet.
+
+The result of this processing will be a customization layer for
+the DocBook XSL Stylesheets that does what you want. This
+removes the stylesheet customizer from the burdon of figuring
+out how the stylesheets work and modifying them.
+
+In theory, anyway...
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/template/biblioentry.xsl b/lib/docbook/docbook-xsl/template/biblioentry.xsl new file mode 100644 index 000000000..955d40795 --- /dev/null +++ b/lib/docbook/docbook-xsl/template/biblioentry.xsl @@ -0,0 +1,72 @@ +<!-- THIS IS BROKEN -->
+<!-- ==================================================================== -->
+
+<xsl:template match="t:biblioentry">
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:template">
+ <xsl:attribute name="match">biblioentry</xsl:attribute>
+ <xsl:text>
</xsl:text>
+ <xsl:element name="xsl:variable">
+ <xsl:attribute name="name">id</xsl:attribute>
+ <xsl:element name="xsl:call-template">
+ <xsl:attribute name="name">object.id</xsl:attribute>
+ </xsl:element>
+ </xsl:element>
+ <xsl:text>
</xsl:text>
+ <xsl:element name="{@wrapper}">
+ <xsl:attribute name="id">{$id}</xsl:attribute>
+ <xsl:attribute name="class">{name(.)}</xsl:attribute>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="a">
+ <xsl:attribute name="name">{$id}</xsl:attribute>
+ </xsl:element>
+ <xsl:apply-templates mode="biblioentry"/>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+
+<!--
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:template">
+ <xsl:attribute name="match">biblioentry/biblioset</xsl:attribute>
+ <xsl:apply-templates mode="biblioentry"/>
+ </xsl:element>
+-->
+</xsl:template>
+
+<xsl:template match="t:if" mode="biblioentry">
+ <xsl:element name="xsl:if">
+ <xsl:attribute name="test">
+ <xsl:value-of select="@test"/>
+ </xsl:attribute>
+ <xsl:apply-templates mode="biblioentry"/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="t:text" mode="biblioentry">
+ <xsl:element name="xsl:text">
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="*" mode="biblioentry">
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="select">
+ <xsl:value-of select="name(.)"/>
+ </xsl:attribute>
+ <xsl:attribute name="mode">bibliography.mode</xsl:attribute>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="t:or" mode="biblioentry">
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="select">
+ <xsl:call-template name="element-or-list"/>
+ </xsl:attribute>
+ <xsl:attribute name="mode">bibliography.mode</xsl:attribute>
+ </xsl:element>
+</xsl:template>
+
diff --git a/lib/docbook/docbook-xsl/template/testtemplate.xml b/lib/docbook/docbook-xsl/template/testtemplate.xml new file mode 100644 index 000000000..9a9c3c857 --- /dev/null +++ b/lib/docbook/docbook-xsl/template/testtemplate.xml @@ -0,0 +1,38 @@ +<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0" + base-stylesheet="../html/docbook.xsl"> + +<t:variable name="section.autonumber" select="true()"/> +<t:variable name="html.stylesheet">docbook.css</t:variable> + +<t:titlepage element="article" side="recto"> + <title predicate="[1]"/> + <subtitle predicate="[1]"/> + <corpauthor/> + <author/> + <authorgroup> + <t:or> + <corpauthor/> + <author/> + <editor/> + </t:or> + </authorgroup> + <editor/> + <releaseinfo/> + <copyright/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> +</t:titlepage> + +<t:biblioentry> + <abbrev/> + <title/> + <t:or> + <authorgroup/> + <author/> + </t:or> + <biblioset/> +</t:biblioentry> + +</t:templates>
\ No newline at end of file diff --git a/lib/docbook/docbook-xsl/template/titlepage.xsl b/lib/docbook/docbook-xsl/template/titlepage.xsl new file mode 100644 index 000000000..f7a0d09d7 --- /dev/null +++ b/lib/docbook/docbook-xsl/template/titlepage.xsl @@ -0,0 +1,1129 @@ +<?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:t="http://nwalsh.com/docbook/xsl/template/1.0"
+ xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ exclude-result-prefixes="doc t param"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: titlepage.xsl,v 1.1 2002/05/15 17:22:31 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<doc:reference xmlns="">
+<referenceinfo>
+<releaseinfo role="meta">
+$Id: titlepage.xsl,v 1.1 2002/05/15 17:22:31 isberg Exp $
+</releaseinfo>
+<author><surname>Walsh</surname>
+<firstname>Norman</firstname></author>
+<copyright><year>1999</year><year>2000</year>
+<holder>Norman Walsh</holder>
+</copyright>
+</referenceinfo>
+<title>Template Stylesheet 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 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:preserve-space elements="*"/>
+<xsl:strip-space elements="xsl:* t:*"/>
+
+<!-- ==================================================================== -->
+
+<doc:template match="t:templates" xmlns="">
+<refpurpose>Construct a stylesheet for the templates provided</refpurpose>
+
+<refdescription>
+<para>The <literal>t:templates</literal> element is the root of a
+set of templates. This template creates an appropriate
+<literal>xsl:stylesheet</literal> for the templates.</para>
+
+<para>If the <literal>t:templates</literal> element has a
+<literal>base-stylesheet</literal> attribute, an
+<literal>xsl:import</literal> statement is constructed for it.</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="t:templates">
+ <xsl:element name="xsl:stylesheet">
+ <xsl:attribute name="version">1.0</xsl:attribute>
+
+ <xsl:text>

</xsl:text>
+ <xsl:comment>
+ <xsl:text> This stylesheet was created by </xsl:text>
+ <xsl:text>template/titlepage.xsl; </xsl:text>
+ <xsl:text>do not edit it by hand. </xsl:text>
+ </xsl:comment>
+
+ <xsl:if test="@base-stylesheet">
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:import">
+ <xsl:attribute name="href">
+ <xsl:value-of select="@base-stylesheet"/>
+ </xsl:attribute>
+ </xsl:element>
+ </xsl:if>
+
+ <xsl:apply-templates/>
+
+ <xsl:text>

</xsl:text>
+ </xsl:element>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="xsl:*" xmlns="">
+<refpurpose>Copy xsl: elements straight through</refpurpose>
+
+<refdescription>
+<para>This template simply copies the xsl: elements
+straight through into the result tree.</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="xsl:*">
+ <xsl:apply-templates select="." mode="copy"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="t:titlepage" xmlns="">
+<refpurpose>Create the templates necessary to construct a title page</refpurpose>
+
+<refdescription>
+<para>The <literal>t:titlepage</literal> element creates a set of
+templates for processing the titlepage for an element. The
+<quote>root</quote> of this template set is the template named
+<quote><literal>wrapper.titlepage</literal></quote>. That is the
+template that should be called to generate the title page.
+</para>
+
+<para>The <literal>t:titlepage</literal> element has three attributes:
+
+<variablelist>
+<varlistentry><term>element</term>
+<listitem><para>The name of the source document element for which
+these templates apply. In other words, to make a title page for the
+<sgmltag>article</sgmltag> element, set the
+<sgmltag class="attribute">element</sgmltag> attribute to
+<quote><literal>article</literal></quote>. This attribute is required.
+</para></listitem>
+</varlistentry>
+<varlistentry><term>wrapper</term>
+<listitem><para>The entire title page can be wrapped with an element.
+This attribute identifies that element.
+</para></listitem>
+</varlistentry>
+<varlistentry><term>class</term>
+<listitem><para>If the <sgmltag class="attribute">class</sgmltag> attribute
+is set, a <sgmltag class="attribute">class</sgmltag> attribute with this
+value will be added to the wrapper element that surrounds the entire
+title page.
+</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<para>Any other attributes are copied through literally to the
+wrapper element.</para>
+
+<para>The content of a <literal>t:titlepage</literal> is one or
+more <literal>t:titlepage-content</literal>,
+<literal>t:titlepage-separator</literal>, and
+<literal>t:titlepage-before</literal> elements.</para>
+
+<para>Each of these elements may be provided for the <quote>recto</quote>
+and <quote>verso</quote> sides of the title page.</para>
+
+</refdescription>
+</doc:template>
+
+<xsl:template match="t:titlepage">
+ <!-- process the children to make the templates for the content,
+ separator, and before elements -->
+ <xsl:apply-templates/>
+
+ <!-- output the title page template -->
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@element"/>
+ <xsl:text>.titlepage</xsl:text>
+ </xsl:attribute>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="{@wrapper}">
+ <xsl:apply-templates select="@*" mode="copy.literal.atts"/>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:call-template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@element"/>
+ <xsl:text>.titlepage.before.recto</xsl:text>
+ </xsl:attribute>
+ </xsl:element>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:call-template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@element"/>
+ <xsl:text>.titlepage.recto</xsl:text>
+ </xsl:attribute>
+ </xsl:element>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:call-template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@element"/>
+ <xsl:text>.titlepage.before.verso</xsl:text>
+ </xsl:attribute>
+ </xsl:element>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:call-template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@element"/>
+ <xsl:text>.titlepage.verso</xsl:text>
+ </xsl:attribute>
+ </xsl:element>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:call-template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@element"/>
+ <xsl:text>.titlepage.separator</xsl:text>
+ </xsl:attribute>
+ </xsl:element>
+ <xsl:text>
 </xsl:text>
+ </xsl:element>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+
+ <!-- If we're not importing a base stylesheet, output a default rule
+ for the recto- and verso-mode elements. (If we are importing a
+ base stylesheet, don't do this since the *-rules in the stylesheet
+ will totally override the rules that would otherwise be imported.)
+ -->
+
+ <xsl:if test="not(../@base-stylesheet)">
+ <!-- output a default rule for the recto-modes elements -->
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:template">
+ <xsl:attribute name="match">*</xsl:attribute>
+ <xsl:attribute name="mode">
+ <xsl:value-of select="@element"/>
+ <xsl:text>.titlepage.recto.mode</xsl:text>
+ </xsl:attribute>
+ <xsl:text>
 </xsl:text>
+ <xsl:comment> if an element isn't found in this mode, </xsl:comment>
+ <xsl:text>
 </xsl:text>
+ <xsl:comment> try the generic titlepage.mode </xsl:comment>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="select">.</xsl:attribute>
+ <xsl:attribute name="mode">titlepage.mode</xsl:attribute>
+ </xsl:element>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+
+ <!-- output a default rule for the verso-modes elements -->
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:template">
+ <xsl:attribute name="match">*</xsl:attribute>
+ <xsl:attribute name="mode">
+ <xsl:value-of select="@element"/>
+ <xsl:text>.titlepage.verso.mode</xsl:text>
+ </xsl:attribute>
+ <xsl:text>
 </xsl:text>
+ <xsl:comment> if an element isn't found in this mode, </xsl:comment>
+ <xsl:text>
 </xsl:text>
+ <xsl:comment> try the generic titlepage.mode </xsl:comment>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="select">.</xsl:attribute>
+ <xsl:attribute name="mode">titlepage.mode</xsl:attribute>
+ </xsl:element>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+ </xsl:if>
+
+ <!-- output default templates for each of the elements listed in -->
+ <!-- the titlepage-content. If a template is suppressed or forced -->
+ <!-- to be off, or has already been output, don't output it. -->
+ <xsl:for-each select="t:titlepage-content/*">
+ <xsl:variable name="thisnode" select="."/>
+ <xsl:if test="(not(@suppress-template) or @suppress-template='0')
+ and (not(@force) or @force='0')
+ and (not(preceding-sibling::*[name(.)=name($thisnode)]))">
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:template">
+ <xsl:attribute name="match">
+ <xsl:value-of select="name(.)"/>
+ </xsl:attribute>
+ <xsl:attribute name="mode">
+ <xsl:value-of select="../../@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="../@side"/>
+ <xsl:text>.auto.mode</xsl:text>
+ </xsl:attribute>
+ <xsl:text>
</xsl:text>
+ <xsl:element name="{../../@wrapper}">
+ <xsl:attribute name="xsl:use-attribute-sets">
+ <xsl:value-of select="../../@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="../@side"/>
+ <xsl:text>.style</xsl:text>
+ </xsl:attribute>
+ <xsl:for-each select="@*">
+ <xsl:if test="namespace-uri(.)='http://www.w3.org/1999/XSL/Format'">
+ <xsl:attribute name="{local-name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>
</xsl:text>
+
+ <xsl:choose>
+ <xsl:when test="@named-template">
+ <xsl:element name="xsl:call-template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@named-template"/>
+ </xsl:attribute>
+ <xsl:for-each select="@*">
+ <xsl:if test="namespace-uri(.)='http://nwalsh.com/docbook/xsl/template/1.0/param'">
+ <xsl:text>
</xsl:text>
+ <xsl:element name="xsl:with-param">
+ <xsl:attribute name="name">
+ <xsl:value-of select="local-name(.)"/>
+ </xsl:attribute>
+ <xsl:attribute name="select">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:element>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="select">.</xsl:attribute>
+ <xsl:attribute name="mode">
+ <xsl:value-of select="../../@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="../@side"/>
+ <xsl:text>.mode</xsl:text>
+ </xsl:attribute>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+ </xsl:if>
+ </xsl:for-each>
+</xsl:template>
+
+<doc:template match="@*" mode="copy.literal.atts" xmlns="">
+<refpurpose>Copy t:titlepage attributes</refpurpose>
+
+<refdescription>
+<para>This template copies all of the <quote>other</quote> attributes
+from a <literal>t:titlepage</literal> element onto the specified
+wrapper.</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="@*" mode="copy.literal.atts">
+ <xsl:choose>
+ <xsl:when test="name(.) = 'element'"></xsl:when>
+ <xsl:when test="name(.) = 'wrapper'"></xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="t:titlepage-content">
+<refpurpose>Create templates for the content of one side of a title page</refpurpose>
+
+<refdescription>
+<para>The title page content, that is, the elements from the source
+document that are rendered on the title page, can be controlled independently
+for the recto and verso sides of the title page.</para>
+
+<para>The <literal>t:titlepage-content</literal> element has two attributes:
+
+<variablelist>
+<varlistentry><term>side</term>
+<listitem><para>Identifies the side of the page to which this title
+page content applies. The
+<sgmltag class="attribute">side</sgmltag> attribute is required and
+must be set to either
+<quote><literal>recto</literal></quote> or
+<quote><literal>verso</literal></quote>. In addition, you must specify
+exactly one <literal>t:titlepage-content</literal> for each side
+within each <literal>t:titlepage</literal>.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term>order</term>
+<listitem><para>Indicates how the order of the elements presented on
+the title page is determined. If the
+<sgmltag class="attribute">order</sgmltag> is
+<quote><literal>document</literal></quote>, the elements are presented
+in document order. Otherwise (if the
+<sgmltag class="attribute">order</sgmltag> is
+<quote><literal>stylesheet</literal></quote>), the elements are presented
+in the order that they appear in the template (and consequently in
+the stylesheet).</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<para>The content of a <literal>t:titlepage-content</literal> element is
+a list of element names. These names should be unqualified. They identify
+the elements in the source document that should appear on the title page.
+</para>
+
+<para>Each element may have a single attribute:
+<sgmltag class="attribute">predicate</sgmltag>. The value of this
+attribute is used as a predicate for the expression that matches
+the element on which it occurs.</para>
+
+<para>In other words, to put only the first three authors on the
+recto-side of a title
+page, you could specify:
+
+<screen><![CDATA[
+ <t:titlepage-contents side="recto">
+ <!-- other titlepage elements -->
+ <author predicate="[count(previous-sibling::author)<2]"/>
+ <!-- other titlepage elements -->
+ </t:titlepage-contents>
+]]></screen>
+</para>
+
+<para>Usually, the elements so named are empty. But it is possible to
+make one level of selection within them. Suppose that you want to
+process <literal>authorgroup</literal> elements on the title page, but
+you want to select only proper authors, editors, or corporate authors,
+not collaborators or other credited authors.</para>
+
+<para>In that case, you can put a <literal>t:or</literal> group inside
+the <literal>authorgroup</literal> element:
+
+<screen><![CDATA[
+ <t:titlepage-contents side="recto">
+ <!-- other titlepage elements -->
+ <authorgroup>
+ <t:or>
+ <author/>
+ <editor/>
+ <corpauthor/>
+ </t:or>
+ </authorgroup>
+ <!-- other titlepage elements -->
+ </t:titlepage-contents>
+]]></screen>
+</para>
+
+<para>This will have the effect of automatically generating a template
+for processing <literal>authorgroup</literal>s in the title page mode,
+selecting only the specified children. If you need more complex processing,
+you'll have to construct the templates by hand.</para>
+
+</refdescription>
+</doc:template>
+
+<xsl:template match="t:titlepage-content">
+ <xsl:variable name="side">
+ <xsl:choose>
+ <xsl:when test="@side='recto' or @side='verso'">
+ <xsl:value-of select="@side"/>
+ </xsl:when>
+ <xsl:when test="@side">
+ <xsl:message terminate="yes">
+ <xsl:text>Illegal value specified for @side </xsl:text>
+ <xsl:text>on t:titlepage-content: </xsl:text>
+ <xsl:value-of select="@side"/>
+ </xsl:message>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>The @side attribute is required on </xsl:text>
+ <xsl:text>t:titlepage-content.</xsl:text>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="mode">
+ <xsl:value-of select="../@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="$side"/>
+ <xsl:text>.auto.mode</xsl:text>
+ </xsl:variable>
+
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="../@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="$side"/>
+ </xsl:attribute>
+
+ <xsl:choose>
+ <!-- if document order is selected, make a huge select statement
+ on a single xsl:apply-templates to pick out the right elements
+ for the title page. -->
+ <xsl:when test="@order='document'">
+ <xsl:if test="count(child::*)>0">
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="mode">
+ <xsl:value-of select="$mode"/>
+ </xsl:attribute>
+ <xsl:attribute name="select">
+ <xsl:apply-templates mode="document.order"/>
+ </xsl:attribute>
+ </xsl:element>
+ </xsl:if>
+ </xsl:when>
+
+ <!-- otherwise, select each of the elements in the specified order -->
+ <xsl:otherwise>
+ <xsl:apply-templates mode="stylesheet.order"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+ <xsl:apply-templates mode="titlepage.specialrules"/>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="t:titlepage-separator">
+<refpurpose>Create templates for the separator</refpurpose>
+
+<refdescription>
+<para>The title page is separated from the content which follows it by
+the markup specified in the <literal>t:titlepage-separator</literal>
+element.</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="t:titlepage-separator">
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="../@element"/>
+ <xsl:text>.titlepage.separator</xsl:text>
+ </xsl:attribute>
+
+ <xsl:apply-templates mode="copy"/>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="t:titlepage-before">
+<refpurpose>Create templates for what precedes a title page</refpurpose>
+
+<refdescription>
+<para>Each side of the title page is preceded by the markup specified
+in the <literal>t:titlepage-before</literal> element for that
+side.</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="t:titlepage-before">
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="../@element"/>
+ <xsl:text>.titlepage.before.</xsl:text>
+ <xsl:value-of select="@side"/>
+ </xsl:attribute>
+
+ <xsl:apply-templates mode="copy"/>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="*" mode="copy" xmlns="">
+<refpurpose>Copy elements</refpurpose>
+
+<refdescription>
+<para>This template simply copies the elements that it applies to
+straight through into the result tree.</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="*" mode="copy">
+ <xsl:element name="{name(.)}">
+ <xsl:apply-templates select="@*" mode="copy"/>
+ <xsl:apply-templates mode="copy"/>
+ </xsl:element>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="@*" mode="copy" xmlns="">
+<refpurpose>Copy attributes</refpurpose>
+
+<refdescription>
+<para>This template simply copies the attributes that it applies to
+straight through into the result tree.</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="@*" mode="copy">
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="*" mode="document.order" xmlns="">
+<refpurpose>Create rules to process titlepage elements in document order</refpurpose>
+
+<refdescription>
+<para>This template is called to process all of the children of the
+<literal>t:titlepage-content</literal> element. It creates the hairy
+select expression necessary to process each of those elements in
+the title page.</para>
+
+<para>Note that this template automatically handles the case where
+some DocBook elements, like title and subtitle, can occur both inside
+the *info elements where metadata is usually stored and outside.
+</para>
+
+<para>It also automatically calculates the name for the *info container
+and handles elements that have historically had containers with different
+names.</para>
+
+</refdescription>
+</doc:template>
+
+<xsl:template match="*" mode="document.order">
+ <xsl:variable name="docinfo">
+ <xsl:value-of select="ancestor::t:titlepage/@element"/>
+ <xsl:text>info</xsl:text>
+ </xsl:variable>
+
+ <xsl:variable name="altinfo">
+ <xsl:choose>
+ <xsl:when test="ancestor::t:titlepage/@element='article'">
+ <xsl:text>artheader</xsl:text>
+ </xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='section'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='sect1'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='sect2'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='sect3'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='sect4'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='sect5'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='book'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='set'"></xsl:when>
+ <xsl:otherwise>docinfo</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="side">
+ <xsl:choose>
+ <xsl:when test="ancestor::t:titlepage-content/@side">
+ <xsl:value-of select="ancestor::t:titlepage-content/@side"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>recto</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="mode">
+ <xsl:value-of select="ancestor::t:titlepage/@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="$side"/>
+ <xsl:text>.auto.mode</xsl:text>
+ </xsl:variable>
+
+ <xsl:if test="preceding-sibling::*">
+ <xsl:text>|</xsl:text>
+ </xsl:if>
+
+ <xsl:value-of select="$docinfo"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:if test="@predicate">
+ <xsl:value-of select="@predicate"/>
+ </xsl:if>
+
+ <xsl:if test="$altinfo != ''">
+ <xsl:text>|</xsl:text>
+ <xsl:value-of select="$altinfo"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:if test="@predicate">
+ <xsl:value-of select="@predicate"/>
+ </xsl:if>
+ </xsl:if>
+
+ <xsl:if test="local-name(.) = 'title'
+ or local-name(.) = 'subtitle'
+ or local-name(.) = 'titleabbrev'">
+ <xsl:text>|</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:if test="@predicate">
+ <xsl:value-of select="@predicate"/>
+ </xsl:if>
+ </xsl:if>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="*" mode="document.order" xmlns="">
+<refpurpose>Create rules to process titlepage elements in stylesheet order</refpurpose>
+
+<refdescription>
+<para>This template is called to process all of the children of the
+<literal>t:titlepage-content</literal> element. It creates the set
+of <literal>xsl:apply-templates</literal> elements necessary
+process each of those elements in the title page.</para>
+
+<para>Note that this template automatically handles the case where
+some DocBook elements, like title and subtitle, can occur both inside
+the *info elements where metadata is usually stored and outside.
+</para>
+
+<para>It also automatically calculates the name for the *info container
+and handles elements that have historically had containers with different
+names.</para>
+
+</refdescription>
+</doc:template>
+
+<xsl:template match="*" mode="stylesheet.order">
+ <xsl:variable name="docinfo">
+ <xsl:value-of select="ancestor::t:titlepage/@element"/>
+ <xsl:text>info</xsl:text>
+ </xsl:variable>
+
+ <xsl:variable name="altinfo">
+ <xsl:choose>
+ <xsl:when test="ancestor::t:titlepage/@element='article'">
+ <xsl:text>artheader</xsl:text>
+ </xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='section'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='sect1'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='sect2'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='sect3'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='sect4'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='sect5'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='book'"></xsl:when>
+ <xsl:when test="ancestor::t:titlepage/@element='set'"></xsl:when>
+ <xsl:otherwise>docinfo</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="side">
+ <xsl:choose>
+ <xsl:when test="ancestor::t:titlepage-content/@side">
+ <xsl:value-of select="ancestor::t:titlepage-content/@side"/>
+ </xsl:when>
+ <xsl:otherwise>recto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="mode">
+ <xsl:value-of select="ancestor::t:titlepage/@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="$side"/>
+ <xsl:text>.auto.mode</xsl:text>
+ </xsl:variable>
+
+ <xsl:text>
 </xsl:text>
+
+ <xsl:choose>
+ <xsl:when test="@force and @force != '0'">
+ <xsl:choose>
+ <xsl:when test="@named-template">
+ <xsl:element name="{../../@wrapper}">
+ <xsl:attribute name="xsl:use-attribute-sets">
+ <xsl:value-of select="../../@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="../@side"/>
+ <xsl:text>.style</xsl:text>
+ </xsl:attribute>
+ <xsl:for-each select="@*">
+ <xsl:if test="namespace-uri(.)='http://www.w3.org/1999/XSL/Format'">
+ <xsl:attribute name="{local-name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>
</xsl:text>
+ <xsl:element name="xsl:call-template">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@named-template"/>
+ </xsl:attribute>
+ <xsl:for-each select="@*">
+ <xsl:if test="namespace-uri(.)='http://nwalsh.com/docbook/xsl/template/1.0/param'">
+ <xsl:text>
</xsl:text>
+ <xsl:element name="xsl:with-param">
+ <xsl:attribute name="name">
+ <xsl:value-of select="local-name(.)"/>
+ </xsl:attribute>
+ <xsl:attribute name="select">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:element>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>Force can only be used with named-templates.</xsl:text>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+
+ <xsl:choose>
+ <xsl:when test="local-name(.) = 'title'
+ or local-name(.) = 'subtitle'
+ or local-name(.) = 'titleabbrev'">
+ <!-- the title, subtitle, and titleabbrev elements are special -->
+ <xsl:element name="xsl:choose">
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:when">
+ <xsl:attribute name="test">
+ <xsl:value-of select="$docinfo"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ </xsl:attribute>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="mode">
+ <xsl:value-of select="$mode"/>
+ </xsl:attribute>
+ <xsl:attribute name="select">
+ <xsl:value-of select="$docinfo"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:if test="@predicate">
+ <xsl:value-of select="@predicate"/>
+ </xsl:if>
+ </xsl:attribute>
+ </xsl:element>
+ <xsl:text>
 </xsl:text>
+ </xsl:element>
+
+ <xsl:if test="$altinfo != ''">
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:when">
+ <xsl:attribute name="test">
+ <xsl:value-of select="$altinfo"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ </xsl:attribute>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="mode">
+ <xsl:value-of select="$mode"/>
+ </xsl:attribute>
+ <xsl:attribute name="select">
+ <xsl:value-of select="$altinfo"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:if test="@predicate">
+ <xsl:value-of select="@predicate"/>
+ </xsl:if>
+ </xsl:attribute>
+ </xsl:element>
+ <xsl:text>
 </xsl:text>
+ </xsl:element>
+ </xsl:if>
+
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:when">
+ <xsl:attribute name="test">
+ <xsl:value-of select="name(.)"/>
+ </xsl:attribute>
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="mode">
+ <xsl:value-of select="$mode"/>
+ </xsl:attribute>
+ <xsl:attribute name="select">
+ <xsl:value-of select="name(.)"/>
+ <xsl:if test="@predicate">
+ <xsl:value-of select="@predicate"/>
+ </xsl:if>
+ </xsl:attribute>
+ </xsl:element>
+ <xsl:text>
 </xsl:text>
+ </xsl:element>
+ <xsl:text>
 </xsl:text>
+ </xsl:element>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+
+ <!-- first take care of the $docinfo version -->
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="mode">
+ <xsl:value-of select="$mode"/>
+ </xsl:attribute>
+ <xsl:attribute name="select">
+ <xsl:value-of select="$docinfo"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:if test="@predicate">
+ <xsl:value-of select="@predicate"/>
+ </xsl:if>
+ </xsl:attribute>
+ </xsl:element>
+
+ <!-- then take care of the $altinfo version -->
+ <xsl:if test="$altinfo != ''">
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="mode">
+ <xsl:value-of select="$mode"/>
+ </xsl:attribute>
+ <xsl:attribute name="select">
+ <xsl:value-of select="$altinfo"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:if test="@predicate">
+ <xsl:value-of select="@predicate"/>
+ </xsl:if>
+ </xsl:attribute>
+ </xsl:element>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="*" mode="titlepage.specialrules" xmlns="">
+<refpurpose>Create templates for special rules</refpurpose>
+
+<refdescription>
+<para>This template is called to process all of the descendants of the
+<literal>t:titlepage-content</literal> element that require special
+processing. At present, that's just <literal>t:or</literal> elements.
+</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="*" mode="titlepage.specialrules">
+ <xsl:variable name="side">
+ <xsl:choose>
+ <xsl:when test="ancestor::t:titlepage-content/@side">
+ <xsl:value-of select="ancestor::t:titlepage-content/@side"/>
+ </xsl:when>
+ <xsl:otherwise>recto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="mode">
+ <xsl:value-of select="ancestor::t:titlepage/@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="$side"/>
+ <xsl:text>.auto.mode</xsl:text>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="name(.)='t:or'">
+ <xsl:apply-templates select="*" mode="titlepage.specialrules"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="*"><!-- does this element have children? -->
+ <xsl:text>

</xsl:text>
+ <xsl:element name="xsl:template">
+ <xsl:attribute name="match">
+ <xsl:value-of select="name(.)"/>
+ </xsl:attribute>
+ <xsl:attribute name="mode">
+ <xsl:value-of select="$mode"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="*" mode="titlepage.subrules"/>
+ <xsl:text>
</xsl:text>
+ </xsl:element>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="*" mode="titlepage.subrules" xmlns="">
+<refpurpose>Create template for individual special rules</refpurpose>
+
+<refdescription>
+<para>This template is called to process the children of special
+template elements.
+</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="*" mode="titlepage.subrules">
+ <xsl:variable name="side">
+ <xsl:choose>
+ <xsl:when test="ancestor::t:titlepage-content/@side">
+ <xsl:value-of select="ancestor::t:titlepage-content/@side"/>
+ </xsl:when>
+ <xsl:otherwise>recto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="mode">
+ <xsl:value-of select="ancestor::t:titlepage/@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="$side"/>
+ <xsl:text>.auto.mode</xsl:text>
+ </xsl:variable>
+
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="select">
+ <xsl:value-of select="name(.)"/>
+ </xsl:attribute>
+ <xsl:attribute name="mode">
+ <xsl:value-of select="$mode"/>
+ </xsl:attribute>
+ </xsl:element>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="t:or" xmlns="">
+<refpurpose>Process the t:or special rule</refpurpose>
+
+<refdescription>
+<para>This template processes t:or.</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="t:or">
+ <xsl:variable name="side">
+ <xsl:choose>
+ <xsl:when test="ancestor::t:titlepage-content/@side">
+ <xsl:value-of select="ancestor::t:titlepage-content/@side"/>
+ </xsl:when>
+ <xsl:otherwise>recto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="mode">
+ <xsl:value-of select="ancestor::t:titlepage/@element"/>
+ <xsl:text>.titlepage.</xsl:text>
+ <xsl:value-of select="$side"/>
+ <xsl:text>.auto.mode</xsl:text>
+ </xsl:variable>
+
+ <xsl:text>
 </xsl:text>
+ <xsl:element name="xsl:apply-templates">
+ <xsl:attribute name="select">
+ <xsl:call-template name="element-or-list"/>
+ </xsl:attribute>
+ <xsl:attribute name="mode">
+ <xsl:value-of select="$mode"/>
+ </xsl:attribute>
+ </xsl:element>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template match="t:or" mode="titlepage.subrules" xmlns="">
+<refpurpose>Process the t:or special rule in
+titlepage.subrules mode</refpurpose>
+
+<refdescription>
+<para>The titlepage.subrules mode doesn't apply to t:or, so just
+reprocess this node in the normal mode.</para>
+</refdescription>
+</doc:template>
+
+<xsl:template match="t:or" mode="titlepage.subrules">
+ <xsl:apply-templates select="."/><!-- use normal mode -->
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<doc:template name="element-or-list" xmlns="">
+<refpurpose>Construct the "or-list" used in the select attribute for
+special rules.</refpurpose>
+
+<refdescription>
+<para>Walk through each of the children of t:or, producing the
+text of the select attribute.</para>
+</refdescription>
+</doc:template>
+
+<xsl:template name="element-or-list">
+ <xsl:param name="elements" select="*"/>
+ <xsl:param name="element.count" select="count($elements)"/>
+ <xsl:param name="count" select="1"/>
+ <xsl:param name="orlist"></xsl:param>
+
+ <xsl:choose>
+ <xsl:when test="$count>$element.count">
+ <xsl:value-of select="$orlist"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="element-or-list">
+ <xsl:with-param name="elements" select="$elements"/>
+ <xsl:with-param name="element.count" select="$element.count"/>
+ <xsl:with-param name="count" select="$count+1"/>
+ <xsl:with-param name="orlist">
+ <xsl:value-of select="$orlist"/>
+ <xsl:if test="not($orlist='')">|</xsl:if>
+ <xsl:value-of select="name($elements[position()=$count])"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/tools/ChangeLog b/lib/docbook/docbook-xsl/tools/ChangeLog new file mode 100644 index 000000000..709104759 --- /dev/null +++ b/lib/docbook/docbook-xsl/tools/ChangeLog @@ -0,0 +1,8 @@ +2001-08-01 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * profile.xsl: Moved profile.xsl to profile subdirectory
+
+2001-07-31 Jirka Kosek <kosek@users.sourceforge.net>
+
+ * profile.xsl: New file.
+
diff --git a/lib/docbook/docbook-xsl/tools/olink/ChangeLog b/lib/docbook/docbook-xsl/tools/olink/ChangeLog new file mode 100644 index 000000000..164385981 --- /dev/null +++ b/lib/docbook/docbook-xsl/tools/olink/ChangeLog @@ -0,0 +1,13 @@ +2001-08-11 Robert Stayton <bobstayton@users.sourceforge.net>
+
+ * olink-common.xsl: Fixed the attributes that were all being saved to the
+ same id attribute.
+ Also added lang as a supported attribute.
+
+ * olinksum.dtd: Added lang as a supported attribute.
+
+2001-08-01 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * olink-common.xsl, olink.xsl, olinkchunk.xsl, olinksum.dtd:
+ New file.
+
diff --git a/lib/docbook/docbook-xsl/tools/olink/olink-common.xsl b/lib/docbook/docbook-xsl/tools/olink/olink-common.xsl new file mode 100644 index 000000000..f8bb6d6cb --- /dev/null +++ b/lib/docbook/docbook-xsl/tools/olink/olink-common.xsl @@ -0,0 +1,193 @@ +<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<xsl:template match="/">
+ <xsl:apply-templates mode="olink.mode"/>
+</xsl:template>
+
+<xsl:template name="attrs">
+ <xsl:param name="nd" select="."/>
+
+ <xsl:attribute name="type">
+ <xsl:value-of select="local-name(.)"/>
+ </xsl:attribute>
+
+ <xsl:attribute name="href">
+ <xsl:call-template name="olink.href.target">
+ <xsl:with-param name="object" select="$nd"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="label">
+ <xsl:apply-templates select="$nd" mode="label.markup"/>
+ </xsl:attribute>
+
+ <xsl:if test="$nd/@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="$nd/@id"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="$nd/@lang">
+ <xsl:attribute name="lang">
+ <xsl:value-of select="$nd/@lang"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="$nd/@arch">
+ <xsl:attribute name="arch">
+ <xsl:value-of select="$nd/@arch"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="$nd/@conformance">
+ <xsl:attribute name="conformance">
+ <xsl:value-of select="$nd/@conformance"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="$nd/@os">
+ <xsl:attribute name="os">
+ <xsl:value-of select="$nd/@os"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="$nd/@revision">
+ <xsl:attribute name="revision">
+ <xsl:value-of select="$nd/@revision"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="$nd/@userlevel">
+ <xsl:attribute name="userlevel">
+ <xsl:value-of select="$nd/@userlevel"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="$nd/@vendor">
+ <xsl:attribute name="vendor">
+ <xsl:value-of select="$nd/@vendor"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="$nd/@condition">
+ <xsl:attribute name="condition">
+ <xsl:value-of select="$nd/@condition"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="$nd/@security">
+ <xsl:attribute name="security">
+ <xsl:value-of select="$nd/@security"/>
+ </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"/>
+ </ttl>
+ <objttl>
+ <xsl:apply-templates select="$nd" mode="object.title.markup"/>
+ </objttl>
+ <xref>
+ <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:otherwise>
+ </xsl:choose>
+ </xref>
+ <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"/>
+ </ttl>
+ <objttl>
+ <xsl:apply-templates select="$nd" mode="object.title.markup"/>
+ </objttl>
+ <xref>
+ <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:otherwise>
+ </xsl:choose>
+ </xref>
+ </obj>
+</xsl:template>
+
+<xsl:template match="text()|processing-instruction()|comment()"
+ mode="olink.mode">
+ <!-- nop -->
+</xsl:template>
+
+<xsl:template match="*" mode="olink.mode">
+ <!-- nop -->
+</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="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:template>
+
+<xsl:template match="equation[title]" mode="olink.mode">
+ <xsl:call-template name="div"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/tools/olink/olink.xsl b/lib/docbook/docbook-xsl/tools/olink/olink.xsl new file mode 100644 index 000000000..98f7e1b95 --- /dev/null +++ b/lib/docbook/docbook-xsl/tools/olink/olink.xsl @@ -0,0 +1,24 @@ +<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<xsl:import href="../html/docbook.xsl"/>
+<xsl:include href="olink-common.xsl"/>
+
+<xsl:output method="xml"
+ indent="yes"
+ doctype-public="-//Norman Walsh//DTD DocBook OLink Summary V1.2//EN"
+ doctype-system="http://docbook.sourceforge.net/???"/>
+
+<xsl:param name="base-uri" select="''"/>
+
+<xsl:template name="olink.href.target">
+ <xsl:param name="nd" select="."/>
+
+ <xsl:value-of select="$base-uri"/>
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$nd"/>
+ </xsl:call-template>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/tools/olink/olinkchunk.xsl b/lib/docbook/docbook-xsl/tools/olink/olinkchunk.xsl new file mode 100644 index 000000000..a3dc74493 --- /dev/null +++ b/lib/docbook/docbook-xsl/tools/olink/olinkchunk.xsl @@ -0,0 +1,22 @@ +<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
+
+<xsl:include href="olink-common.xsl"/>
+
+<xsl:output method="xml"
+ indent="yes"
+ doctype-public="-//Norman Walsh//DTD DocBook OLink Summary V1.2//EN"
+ doctype-system="http://docbook.sourceforge.net/release/xsl/current/tools/olink/olinksum.dtd"/>
+
+<xsl:template name="olink.href.target">
+ <xsl:param name="nd" select="."/>
+
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$nd"/>
+ </xsl:call-template>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/tools/olink/olinksum.dtd b/lib/docbook/docbook-xsl/tools/olink/olinksum.dtd new file mode 100644 index 000000000..c123adea7 --- /dev/null +++ b/lib/docbook/docbook-xsl/tools/olink/olinksum.dtd @@ -0,0 +1,60 @@ +<!-- $Id: olinksum.dtd,v 1.1 2002/05/15 17:22:34 isberg Exp $
+
+ DTD for OLINK Summary Information
+
+ Common declaration:
+
+ <!DOCTYPE div
+ PUBLIC "-//Norman Walsh//DTD DocBook OLink Summary V1.2//EN">
+-->
+
+<!ENTITY % commonatts
+" type CDATA #IMPLIED
+ name CDATA #IMPLIED
+ href CDATA #IMPLIED
+ id ID #IMPLIED
+ label CDATA #IMPLIED
+ lang CDATA #IMPLIED
+ arch CDATA #IMPLIED
+ conformance CDATA #IMPLIED
+ os CDATA #IMPLIED
+ revision CDATA #IMPLIED
+ userlevel CDATA #IMPLIED
+ vendor CDATA #IMPLIED">
+
+<!ELEMENT div (ttl, objttl, xref, obj*, div*)>
+<!ATTLIST div %commonatts;>
+
+<!ELEMENT obj (ttl, objttl, xref)>
+<!ATTLIST obj %commonatts;>
+
+<!ENTITY % inlines "tt|i|sub|sup|span">
+
+<!ELEMENT ttl (#PCDATA|%inlines;)*>
+<!ELEMENT objttl (#PCDATA|%inlines;)*>
+<!ELEMENT xref (#PCDATA|%inlines;)*>
+
+<!ELEMENT tt (#PCDATA|%inlines;)*> <!-- typewriter (courier) -->
+<!ATTLIST tt
+ class CDATA #IMPLIED
+>
+
+<!ELEMENT i (#PCDATA|%inlines;)*> <!-- italics -->
+<!ATTLIST i
+ class CDATA #IMPLIED
+>
+
+<!ELEMENT sub (#PCDATA|%inlines;)*> <!-- subscript -->
+<!ATTLIST sub
+ class CDATA #IMPLIED
+>
+
+<!ELEMENT sup (#PCDATA|%inlines;)*> <!-- superscript -->
+<!ATTLIST sup
+ class CDATA #IMPLIED
+>
+
+<!ELEMENT span (#PCDATA|%inlines;)*> <!-- span -->
+<!ATTLIST span
+ class CDATA #IMPLIED
+>
diff --git a/lib/docbook/docbook-xsl/tools/profile/ChangeLog b/lib/docbook/docbook-xsl/tools/profile/ChangeLog new file mode 100644 index 000000000..07f01140d --- /dev/null +++ b/lib/docbook/docbook-xsl/tools/profile/ChangeLog @@ -0,0 +1,4 @@ +2001-08-01 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * profile.xsl: New file.
+
diff --git a/lib/docbook/docbook-xsl/tools/profile/profile.xsl b/lib/docbook/docbook-xsl/tools/profile/profile.xsl new file mode 100644 index 000000000..b9f0aa9eb --- /dev/null +++ b/lib/docbook/docbook-xsl/tools/profile/profile.xsl @@ -0,0 +1,54 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<!-- Generate DocBook instance with correct DOCTYPE -->
+<xsl:output method="xml"
+ doctype-public="-//OASIS//DTD DocBook XML V4.1.2//EN"
+ doctype-system="http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"/>
+
+<!-- Which OSes to select -->
+<xsl:param name="os"/>
+
+<!-- Which UserLevels to select -->
+<xsl:param name="ul"/>
+
+<!-- Which Archs to select -->
+<xsl:param name="arch"/>
+
+<!-- Name of attribute with profiling information -->
+<xsl:param name="attr"/>
+
+<!-- Which $attrs to select -->
+<xsl:param name="val"/>
+
+<!-- Seperator for profiling values -->
+<xsl:param name="sep" select="';'"/>
+
+<!-- Copy all non-element nodes -->
+<xsl:template match="@*|text()|comment()|processing-instruction()">
+ <xsl:copy/>
+</xsl:template>
+
+<!-- Profile elements based on input parameters -->
+<xsl:template match="*">
+ <xsl:variable name="os.ok" select="not(@os) or not($os) or
+ contains(concat($sep, @os, $sep), concat($sep, $os, $sep)) or
+ @os = ''"/>
+ <xsl:variable name="ul.ok" select="not(@userlevel) or not($ul) or
+ contains(concat($sep, @userlevel, $sep), concat($sep, $ul, $sep)) or
+ @userlevel = ''"/>
+ <xsl:variable name="arch.ok" select="not(@arch) or not($arch) or
+ contains(concat($sep, @arch, $sep), concat($sep, $arch, $sep)) or
+ @arch = ''"/>
+ <xsl:variable name="attr.ok" select="not(@*[local-name()=$attr]) or not($val) or
+ contains(concat($sep, @*[local-name()=$attr], $sep), concat($sep, $val, $sep)) or
+ @*[local-name()=$attr] = '' or not($attr)"/>
+ <xsl:if test="$os.ok and $ul.ok and $arch.ok and $attr.ok">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/lib/docbook/docbook-xsl/xhtml/ChangeLog b/lib/docbook/docbook-xsl/xhtml/ChangeLog new file mode 100644 index 000000000..5f3380392 --- /dev/null +++ b/lib/docbook/docbook-xsl/xhtml/ChangeLog @@ -0,0 +1,16 @@ +2001-08-01 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * docbook.xsl: Bug #441079, use import instead of include so that xsl:output isn't occurring multiple times at the same level
+
+2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * docbook.xsl: Put public and system identifiers on XHTML documents to that entity references ( etc.) work
+
+2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * chunk.xsl, docbook.xsl, xtchunk.xsl: Support MathML and chunking properly
+
+2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net>
+
+ * docbook.xsl, xtchunk.xsl: New file.
+
diff --git a/lib/docbook/docbook-xsl/xhtml/chunk.xsl b/lib/docbook/docbook-xsl/xhtml/chunk.xsl new file mode 100644 index 000000000..1f6c7aedc --- /dev/null +++ b/lib/docbook/docbook-xsl/xhtml/chunk.xsl @@ -0,0 +1,20 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ version="1.0">
+
+<!-- This stylesheet works with Saxon and Xalan; for XT use xtchunk.xsl -->
+
+<xsl:import href="../html/chunk.xsl"/>
+
+<xsl:param name="html.ext" select="'.xhtm'"/>
+
+<xsl:output method="xml"/>
+
+<xsl:template match="mml:*">
+ <xsl:element name="{name(.)}">
+ <xsl:copy-of select="@*"/>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/xhtml/docbook.xsl b/lib/docbook/docbook-xsl/xhtml/docbook.xsl new file mode 100644 index 000000000..3528901aa --- /dev/null +++ b/lib/docbook/docbook-xsl/xhtml/docbook.xsl @@ -0,0 +1,30 @@ +<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ version='1.0'>
+
+<!-- ********************************************************************
+ $Id: docbook.xsl,v 1.1 2002/05/15 17:22:34 isberg Exp $
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<xsl:import href="../html/docbook.xsl"/>
+
+ <!-- this has to be last because of document order nonsense -->
+<xsl:output method="xml"
+ doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
+
+<xsl:template match="mml:*">
+ <xsl:element name="{name(.)}">
+ <xsl:copy-of select="@*"/>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/lib/docbook/docbook-xsl/xhtml/xtchunk.xsl b/lib/docbook/docbook-xsl/xhtml/xtchunk.xsl new file mode 100644 index 000000000..7695d2bc0 --- /dev/null +++ b/lib/docbook/docbook-xsl/xhtml/xtchunk.xsl @@ -0,0 +1,18 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ version="1.0">
+
+<xsl:import href="../html/xtchunk.xsl"/>
+
+<xsl:param name="html.ext" select="'.xhtm'"/>
+
+<xsl:output method="xml"/>
+
+<xsl:template match="mml:*">
+ <xsl:element name="{name(.)}">
+ <xsl:copy-of select="@*"/>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file diff --git a/lib/eclipse2.0/jdtDepends.jar b/lib/eclipse2.0/jdtDepends.jar Binary files differnew file mode 100644 index 000000000..60892a4e0 --- /dev/null +++ b/lib/eclipse2.0/jdtDepends.jar diff --git a/lib/eclipse2.0/jdtDependsSrc.zip b/lib/eclipse2.0/jdtDependsSrc.zip Binary files differnew file mode 100644 index 000000000..3f550ef8d --- /dev/null +++ b/lib/eclipse2.0/jdtDependsSrc.zip diff --git a/lib/junit/README.html b/lib/junit/README.html new file mode 100644 index 000000000..7674273f6 --- /dev/null +++ b/lib/junit/README.html @@ -0,0 +1,466 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]"> + <meta name="Author" content="Erich Gamma & Kent Beck"> + <title>JUnit 3.7</title> +</head> +<body> + +<h1> +<b><font color="#00CC00">J</font><font color="#FF0000">U</font><font color="#000000">nit +3.7 +</font><font color="#808080">@</font><font color="#000000"> </font></b><!--webbot bot="HTMLMarkup" startspan --><a href="http://sourceforge.net"><img SRC="sflogo.php" ALT="SourceForge Logo" BORDER=0 height=31 width=88></a><!--webbot +bot="HTMLMarkup" endspan --></h1> + +<hr WIDTH="100%"> +<br>05/18/2001 +<p>JUnit is a simple framework to write repeatable tests. It is an instance +of the xUnit architecture for unit testing frameworks. +<ul> +<li> +<a href="#Summary of">Summary of Changes</a></li> + +<li> +<a href="#Contents">Contents</a></li> + +<li> +<a href="#Installation">Installation</a></li> + +<li> +<a href="#Getting">Getting Started</a></li> + +<li> +<a href="#Documentation">Documentation</a></li> +</ul> + +<h2> +<a NAME="Summary of"></a>Summary of Changes between 3.6 and 3.7</h2> + +<h3> +GUI</h3> + +<ul> +<li> +Eliminated warning when re-running tests when class loading checkbox is +unchecked. There are legitimate reasons for doing this, so a warning didn't +make much sense, and it was too obtrusive.</li> + +<li> +Stopped reloading classes when running in VisualAge for Java.</li> + +<li> +Print total number of tests as well as number of tests run so far (Swing +only).</li> +</ul> + +<h3> +Framework</h3> + +<ul> +<li> +Introduced Assert.assertTrue(boolean) and assertTrue(String, boolean) deprecated +assert(boolean) and assert(String, boolean) in preparation for the assert +keyword in Java 1.4. We plan to support native assertions when they are +publicly available. You can either move to assertTrue() or wait for 1.4 +and delete parentheses as the syntax is e.g. "assert 2 == 3".</li> + +<li> +Added accessors for TestCase.fName and TestSuite.fName.</li> + +<li> +Added a no argument TestCase constructor to support serialization.</li> + +<li> +Improved warnings when constructing TestSuites.</li> +</ul> + +<h3> +Text Runner</h3> + +<ul> +<li> +Made doRun() public so clients can create a text runner with a specified +output stream and then run tests.</li> +</ul> + +<h3> +Fixed Bugs (SourceForge Bug Tracker Ids)</h3> + [420315] No trace when fail with message... +<br> [419375] reload warning lags +<br> [418849] Classloader warning too obtrusive +<br> [417978] constructor stack trace, please +<br> [415103] Reload checkbox should be ignored in VAJ +<br> [414954] error reporting when invoking suite() +<br> [407296] Make doRun() public +<br> [227578] rmi callbacks fail since TestCase has no +noArg constructor +<br> [422603] Decorated decorators bug +<h2> +Summary of Changes between 3.5 and 3.6</h2> + +<h3> +TestRunner</h3> + +<ul> +<li> +The UI test runners provide a check box to enable/disable the custom class +loader. The user is warned when running a second test with the non loading +class loader.</li> + +<li> +Renames to address file name length limitation on MacOS:</li> + +<ul> +<li> +LoadingClassPathTestCollector -> LoadingTestCollector</li> + +<li> +SimpleClassPathTestCollector -> SimpleTestCollector</li> +</ul> +</ul> + +<h3> +Framework</h3> + +<ul> +<li> +Added TestSuite.getName()</li> +</ul> + +<h3> +Builds</h3> + +<ul> +<li> +Updated the build script for Ant 1.3.</li> +</ul> + +<h3> +Fixed Bugs (SourceForge Bug Tracker Ids)</h3> + +<blockquote>[ #229753 ] assertEquals on NaN and Infinity does not work +correctly +<br>[ #229287 ] Class Name too long "SimpleClassPathTestCollector" +<br>[ #229609 ] Stack Filtering missing in textui.TesRunner +<br>[ #229870 ] Clicking on ... after tests failed gives NPE +<br>[ #229974 ] Incorrect icon shown for first element in Swing GUI +<br>[ #230581 ] swingui.TestTreeModel: results of decorated testcases... +<br>[ #230971 ] Make junit.extensions.TestDecorator.getTest() public +<br>[ #231569 ] DocBug: JUnit Test Infected: Programmers Love Writing Tests +<br>[ #232645 ] BaseTestRunner.getTest loses exception information +<br>[ #233094 ] TestSuite masks exceptions +<br>[ #410967 ] No icon provided for first test +<br>[ #230745 ] ClassPathTestCollector sometimes lists classes in duplicate</blockquote> + +<h3> +Documentation</h3> + +<ul> +<li> +Added documentation about the <a href="doc/JUnitProperties.html">properties</a> +supported by TestRunners.</li> + +<li> +Updated the FAQ</li> +</ul> + +<h2> +Summary of Changes between 3.4 and 3.5</h2> + +<h3> +Framework</h3> + +<ul> +<li> +Added TestSuite.addTestSuite(Class testClass)</li> + +<br>This method allows to create a TestSuite with a class containing test +cases directly. +<br>Instead of writing <b>suite.addTest(new TestSuite(AssertTest.class)) +</b>you +can now write <b>suite.addTestSuite(AssertTest.class)</b>; +<li> +Added assertEquals methods for all primitive types: float, boolean, byte, +char, int, short</li> + +<li> +The signature of TestListeners.addFailure(Test test, Throwable t)</li> + +<br>was changed to addFailure(Test test, AssertionFailedError t)</ul> + +<h3> +TestRunner</h3> + +<ul> +<li> +The Swing TestRunner provides an experimental feature to browse test classes. +There is an additional browse ("...") button besides the suite combo. It +shows a simple dialog to select a test class from a list. Different strategies +to locate Test classes are supported and you can plug-in your own strategy. +This allows to leverage functionality provided by an extension API of an +integrated development environment (IDE). To define a custom test collector +you 1) implement the <b>junit.runner.TestCollector </b>interface and 2) +add an entry to the <b>junit.properties</b> file with the key <b>TestCollectorClass</b> +and the name of your TestCollector implementation class as the key:</li> + +<br> TestCollectorClass=junit.swingui.LoadingClassPathTestCollector +<br>This class has to be installed on the class path. +<br>JUnit provides two different TestCollector implementations: +<ul> +<li> +simple (junit.runner.SimpleClassPathTestCollector) - considers all classes +on the class path on the file system that contain "Test" in their name. +Classes in JARs are not considered.</li> + +<li> +loading (junit.runner.LoadingClassPathTestCollector) - loads all classes +on the class path and tests whether the class is assignable from Test or +has a static <b>suite</b> method.</li> +</ul> +By default the simple the test collector is used. The loading collector +is more precise but much slower than the simple one. The loading collector +doesn't scale up when many classes are available on the class path. +<br><b><font color="#FF0000">Notice</font></b>: that both TestCollectors +assume that the class files reside are kept in the file system. This isn't +case in VA/Java and they will not work there. A custom TestCollector is +required for VA/Java. +<li> +The Swing TestRunner now provides an additional test result view that shows +all tests of the executed test suite as a tree. The view shows the success +status for each test. The view is shown as an additional tab in the TestRunner +window. In previous versions of JUnit this view was shown in a separate +window.</li> + +<li> +The failure panels in the Swing and AWT TestRunners filter the exception +stack trace so that only non-framework stack frames are shown.</li> + +<li> +There is support to plug-in a custom failure panel that provides additional +functionality like navigating from a failure to the source. To do so you +implement the <b>junit.runner.FailureDetailView</b> interface and register +the implementation class in the junit.properties file under the key <b>FailureViewClass</b>, +for example</li> + +<br> FailureViewClass=MyFailureViewClassName. +<li> +The Swing and AWT TestRunners now understand an additional command line +argument "-noloading". When this argument is set then the standard system +class loader is used to load classes. This is an alternative to setting +the <b>loading</b> property to false in the junit.properties file.</li> + +<li> +Swing TestRunner - the maximum test history length shown in the suite combo +can be defined in the junit.properties file with the key <b>maxhistory</b>.</li> + +<li> +BaseTestRunner.<b>getLoader</b>() is no longer a static method and can +now be overridden in subclasses.</li> + +<li> +BaseTestRunner removed dependency on JDK 1.2.</li> + +<li> +Swing TestRunner - fixed the problem that a suite name was sometimes duplicated +in the history combo.</li> + +<li> +Swing TestRunner - the Run button is now the default button.</li> + +<li> +Output string truncation can now be controlled by adding the <b>maxmessage</b> +key with the desired maximum length to the junit.properties file. Setting +maxmessage to -1 means no output truncation.</li> + +<li> +The Text TestRunner now shows the summary at the very end so that you don't +have to scroll back.</li> +</ul> + +<h3> +Tests</h3> + +<ul> +<li> +TextRunnerTest now only depends on a nonzero status to indicate abnormal +termination.</li> + +<li> +TextRunnerTest now also passes on JDK 1.1.*. It uses the -classpath command +line argument instead of -cp.</li> +</ul> + +<h3> +Documentation</h3> + +<ul> +<li> +Add an FAQ entry about what to do when the junit tests provided with the +distribution can't be found.</li> +</ul> + +<h2> +Older Change Notes</h2> + +<blockquote> +<li> +Changes between <a href="doc/changes34.html">2.1 and 3.4</a></li> + +<li> +Changes between <a href="doc/changes21.html">1.0 and 2.1</a></li> +</blockquote> + +<h2> +<a NAME="Contents"></a>Contents of the Release</h2> + +<table CELLSPACING=0 CELLPADDING=0 > +<tr> +<td><tt>README.html </tt></td> + +<td>this file</td> +</tr> + +<tr> +<td><tt>junit.jar</tt></td> + +<td>a jar file with the JUnit framework and tools </td> +</tr> + +<tr> +<td>src.jar</td> + +<td>a jar file with the source code of the junit framework</td> +</tr> + +<tr> +<td><tt>junit</tt></td> + +<td>the source code of the JUnit samples</td> +</tr> + +<tr> +<td><tt> samples</tt></td> + +<td>sample test cases</td> +</tr> + +<tr> +<td><tt> tests</tt></td> + +<td>test cases for JUnit itself</td> +</tr> + +<tr> +<td><tt>javadoc</tt></td> + +<td>javadoc generated documentation</td> +</tr> + +<tr> +<td><tt>doc</tt></td> + +<td>documentation and articles</td> +</tr> +</table> + +<h2> +<a NAME="Installation"></a>Installation</h2> +Below are the installation steps for installing JUnit: +<ol> +<li> +unzip the junit.zip file</li> + +<li> +add<i> </i><b>junit.jar</b> to the CLASSPATH. For example: <tt>set classpath=%classpath%;INSTALL_DIR\junit3\junit.jar</tt></li> + +<li> +test the installation by using either the batch or the graphical TestRunner +tool to run the tests that come with this release. All the tests should +pass OK.</li> + +<br><b><font color="#FF0000">Notice</font></b>: that the tests are not +contained in the junit.jar but in the installation directory directly. +Therefore make sure that the installation directory is on the class path +<ul> +<li> +for the batch TestRunner type:</li> + +<br><tt> java junit.textui.TestRunner junit.samples.AllTests</tt> +<li> +for the graphical TestRunner type:</li> + +<br><tt> java junit.awtui.TestRunner junit.samples.AllTests</tt> +<li> +for the Swing based graphical TestRunner type:</li> + +<br><tt> java junit.swingui.TestRunner junit.samples.AllTests</tt></ul> +</ol> +<b><font color="#FF0000">Important</font></b>: don't install the junit.jar +into the extension directory of your JDK installation. If you do so the +test class on the files system will not be found. +<h2> +<a NAME="Getting"></a>Getting Started</h2> +To get started with unit testing and JUnit read the Java Report article: +<a href="doc/testinfected/testing.htm">Test +Infected - Programmers Love Writing Tests</a>. +<br>This article demonstrates the development process with JUnit in the +context of multiple currency arithmetic. The corresponding source code +is in junit\samples\money. +<p>You find additional samples in the junit.samples package: +<ul> +<li> +SimpleTest.java - some simple test cases</li> + +<li> +VectorTest.java - test cases for java.util.Vector</li> +</ul> + +<h2> +<a NAME="Documentation"></a>Documentation</h2> + +<blockquote><a href="doc/cookbook/cookbook.htm">JUnit Cookbook</a> +<br> A cookbook for implementing tests with JUnit. +<br><a href="doc/testinfected/testing.htm">Test Infected - Programmers +Love Writing Tests</a> +<br> An article demonstrating the development process +with JUnit. +<br><a href="doc/cookstour/cookstour.htm">JUnit - A cooks tour</a> +<br><a href="javadoc/index.html">Javadoc</a> +<br> API documentation generated with javadoc. +<br><a href="doc/faq/faq.htm">Frequently asked questions</a> +<br> Some frequently asked questions about using JUnit. +<br><a href="doc/JUnitProperties.html">TestRunner Preference settings</a> +<br> Describes the preferences settings that can be configured +for the JUnit TestRunners.</blockquote> + +<h2> +<a NAME="Extending"></a>Extending JUnit</h2> +Examples of possible JUnit extensions can be found in the <tt>junit.extensions</tt> +package: +<ul> +<li> +<a href="javadoc/junit/extensions/TestDecorator.html">TestDecorator</a> +- A decorator for Test. You can use it as the base class for implementing +decorators to extend test cases.</li> + +<li> +<a href="javadoc/junit/extensions/ActiveTestSuite.html">ActiveTestSuite</a> +- A TestSuite which runs each test in a separate thread and waits until +they are all terminated.</li> + +<li> +<a href="javadoc/junit/extensions/TestSetup.html">TestSetup</a> - A Decorator +to set up and tear down additional fixture state. Subclass TestSetup and +insert it into your tests when you want to set up additional state once +before the tests are run.</li> + +<li> +<a href="javadoc/junit/extensions/ExceptionTestCase.html">ExceptionTestCase</a> +- A TestCase that expects a particular Exception to be thrown.</li> +</ul> + +<hr WIDTH="100%"> +</body> +</html> diff --git a/lib/junit/junit-src.zip b/lib/junit/junit-src.zip Binary files differnew file mode 100644 index 000000000..2a8c7ce03 --- /dev/null +++ b/lib/junit/junit-src.zip diff --git a/lib/junit/junit.jar b/lib/junit/junit.jar Binary files differnew file mode 100644 index 000000000..914a5cfa9 --- /dev/null +++ b/lib/junit/junit.jar diff --git a/lib/junit/src.jar b/lib/junit/src.jar Binary files differnew file mode 100644 index 000000000..2a8c7ce03 --- /dev/null +++ b/lib/junit/src.jar |