[PATCH sgml-doctools 1/2] DocBook/XML: add support for docbook external references

Matt Dew marcoz at osource.org
Tue Mar 22 09:16:48 PDT 2011


Gaetan,
   There's a couple trailing whitespace errors in the patch, nothing big 
though.



Applying: DocBook/XML: add support for docbook external references
/opt/xorg/test_xorg_build/doc/xorg-sgml-doctools/.git/rebase-apply/patch:60: 
trailing whitespace.
The X Window System is composed of over 200 packages. The documentation is
/opt/xorg/test_xorg_build/doc/xorg-sgml-doctools/.git/rebase-apply/patch:75: 
trailing whitespace.
the links in the documentation resolved correctly due to build order
/opt/xorg/test_xorg_build/doc/xorg-sgml-doctools/.git/rebase-apply/patch:267: 
trailing whitespace.
	Example of a computed href in an xorg-docs/specs/Xserver pointing to 
libX11:
/opt/xorg/test_xorg_build/doc/xorg-sgml-doctools/.git/rebase-apply/patch:671: 
space before tab in indent.
   			X.Org DocBook/XML customization
/opt/xorg/test_xorg_build/doc/xorg-sgml-doctools/.git/rebase-apply/patch:729: 
trailing whitespace.
        This feature is only available as of docbook-xsl-1.76.1.
warning: squelched 1 whitespace error
warning: 6 lines add whitespace errors.






On 03/22/2011 08:20 AM, Gaetan Nadon wrote:
> Documents external references
> -----------------------------
> A new feature with version 1.7 is references to documents in other
> packages. For example a protocol specifications may refer to another
> one or to a library implementing it.
>
> Due to the modular nature of the X window System and the flexibility
> it provides to O/S builders, one should not expect all links to
> be resolved all the time. A more recent version of a package may be
> installed or an older version may be retained for a long period of time.
> Not all packages are installed either.
>
> Build challenges
> ----------------
> The X Window System is composed of over 200 packages. The documentation is
> included with the package it documents so the information matches the code.
> The build is organized to satisfy C code building requirements, but this
> paradigm does not fit very well for building documentation.
>
> For a document to build a reference to another document, it needs to have
> information about this document which may or may not be there, or may be
> at an unexpected version. The document it refers to may also wish to refer
> to the former document.
>
> Local X builds
> --------------
> When building X as a sandbox on a workstation, using a simple build script
> to configure and build all packages in the right order is all you need
> to get a working system, including documentation. You will not get all
> the links in the documentation resolved correctly due to build order
> and/or bi-directional references.
>
> Unless you are updating or testing the documentation, you do not need to
> worry about this glitch. A simple workaround is to build each affected
> package using "make clean install&&  make clean install" in any order.
> This will give a chance to each package to get information about the other one
> through the installed files.
>
> O/S X builds
> ------------
> O/S builders often repackage X code and documentation, however they face the
> same challenges as described above. Users can update packages through
> the package management system or install additional packages. To use the
> earlier example, if a protocol is installed without its implementing
> library there will be a broken reference.
>
> Build assumptions
> -----------------
> Packages provide great flexibility, including the one to install each package
> documentation in a separate, totally unrelated directory using the --docdir
> configure option. For external references to work, it is assumed that
> the each package installs the documentation using the relative
> doc/${PACKAGE_TARNAME} location.
>
> The Docbook stylesheet technology will create references with paths relative
> to this location. It will navigate up to "doc" using ../ and then navigate
> down to the document it refers to.
>
> Diagnosing a broken reference
> -----------------------------
> A document reference is created at build time while the document is being
> transformed from Docbook/XML to HTML or another format. If this reference
> is missing, the document must be rebuilt.
>
> To build the reference, the docbook stylesheet consults a database stored
> in this package which is called masterdb.xml. This database supplies the
> relative directory structure of where the documents are located as well
> as including target document references in the various *.db files.
> These files are generated and installed while the documents are being build.
>
> This is what a Docbook/XML reference from docA to docB looks like (docA.xml):
> <olink targetdoc='docB' targetptr='docBfragment'>Title</olink>
>
> This is what an HTML reference from docA to docB looks like (docA.html):
> <a href="docB.html#docBfragment" class="olink">Title</a>
>
> This is what an HTML targetdoc for docB looks like (docB.html.db):
> <div element="article" href="#docBfragment" number="" targetptr="docBfragment">
>
> This is what an HTML reference from docA to docB looks like (docA.html)
> when the reference cannot be resolved:
> <span class="olink">Title</span>
>
> This can be caused by one or more of the following:
>
>     - docB may not longer contain the text (targetptr) docA is referring to.
>     - docB.html.db file may not have been installed by docB package
>     - masterdb.html.xml is missing a<document/>  entry for docB
>     - masterdb.html.xml cannot be loaded so all refs are broken.
>     - an XSLT processor which does not support xinclude is being used
>     - docB.html.db was generated without --xinclude option for the processor
>     - xsltproc is not at version 1.1.26 or later
>     - for PDF/PS formats, the fragment is ignored, always points to top of docB
>
> Some pitfalls
> -------------------------
> <book id="docA">  in docA.xml: the id must match the file basename.
> In xorg-*.xsl,<xsl:param name="current.docid" select="/*/@id"/>
> supplies docid for *.db. The document id must be unique across
> all documents.
>
> The baseuri attribute in masterdb.xml is required for pdf/ps references
> to work. It cannot be replaced with olink.base.uri in the makefile.
>
> The pdf/ps "inside the document" references only started working with
> docbook-xsl v 1.76.1 which is not yet available to your favorite O/S.
> In xorg-fo.xsl, insert.olink.pdf.frag must be set to zero which allows
> the reference to at least point to the top of the document.
>
> XSL toolchain
> -------------
> The following minimum versions are needed for external references to work:
> XSLT processor:	1.1.26
> libxml2:	2.7.6
> libxslt1.1:	1.1.26
> The exact triplet may vary by distribution, sometimes a version is skipped.
> If you are close enough, try it.
>
> References
> ----------
> http://docbook.org/tdg/en/html/docbook.html
> http://docbook.sourceforge.net/release/xsl/current/doc/html/
> http://docbook.sourceforge.net/release/xsl/current/doc/fo/
> http://www.sagehill.net/docbookxsl/OlinkPrintOutput.html
>
> Co-authored-by: Matt Dew<marcoz at osource.org>
>
> Signed-off-by: Gaetan Nadon<memsize at videotron.ca>
> ---
>   Makefile.am           |    8 +-
>   README                |  128 +++++++++++++++
>   configure.ac          |    3 +
>   masterdb/.gitignore   |    4 +
>   masterdb/Makefile.am  |   26 +++
>   masterdb/masterdb.xml |  422 +++++++++++++++++++++++++++++++++++++++++++++++++
>   xorg-fo.xsl           |   85 ++++++++++
>   xorg-xhtml.xsl        |   50 ++++++
>   xorg.xsl              |    1 -
>   9 files changed, 724 insertions(+), 3 deletions(-)
>   create mode 100644 masterdb/.gitignore
>   create mode 100644 masterdb/Makefile.am
>   create mode 100644 masterdb/masterdb.xml
>   create mode 100644 xorg-fo.xsl
>   create mode 100644 xorg-xhtml.xsl
>
> diff --git a/Makefile.am b/Makefile.am
> index e3fcca5..74fe5cb 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -19,9 +19,13 @@
>   #  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
>   #  PERFORMANCE OF THIS SOFTWARE.
>
> -sgmldir = $(sgmlrootdir)/X11
> +SUBDIRS = masterdb
>
> -dist_sgml_DATA = defs.ent xorg.css xorg.xsl
> +dist_sgmlx11_DATA =		\
> +	defs.ent xorg.css	\
> +	xorg.xsl		\
> +	xorg-xhtml.xsl		\
> +	xorg-fo.xsl
>
>   pkgconfigdir = $(datadir)/pkgconfig
>   pkgconfig_DATA = xorg-sgml-doctools.pc
> diff --git a/README b/README
> index 5d60900..4fdcbe9 100644
> --- a/README
> +++ b/README
> @@ -5,6 +5,134 @@ source who want to produce formatted documentation from their builds,
>   or those who have installed the HTML version of the documentation,
>   which refers to the included common xorg.css stylesheet.
>
> +Documents external references
> +-----------------------------
> +A new feature with version 1.7 is references to documents in other
> +packages. For example a protocol specifications may refer to another
> +one or to a library implementing it.
> +
> +Due to the modular nature of the X window System and the flexibility
> +it provides to O/S builders, one should not expect all links to
> +be resolved all the time. A more recent version of a package may be
> +installed or an older version may be retained for a long period of time.
> +Not all packages are installed either.
> +
> +Build challenges
> +----------------
> +The X Window System is composed of over 200 packages. The documentation is
> +included with the package it documents so the information matches the code.
> +The build is organized to satisfy C code building requirements, but this
> +paradigm does not fit very well for building documentation.
> +
> +For a document to build a reference to another document, it needs to have
> +information about this document which may or may not be there, or may be
> +at an unexpected version. The document it refers to may also wish to refer
> +to the former document.
> +
> +Local X builds
> +--------------
> +When building X as a sandbox on a workstation, using a simple build script
> +to configure and build all packages in the right order is all you need
> +to get a working system, including documentation. You will not get all
> +the links in the documentation resolved correctly due to build order
> +and/or bi-directional references.
> +
> +Unless you are updating or testing the documentation, you do not need to
> +worry about this glitch. A simple workaround is to build each affected
> +package using "make clean install&&  make clean install" in any order.
> +This will give a chance to each package to get information about the other one
> +through the installed files.
> +
> +O/S X builds
> +------------
> +O/S builders often repackage X code and documentation, however they face the
> +same challenges as described above. Users can update packages through
> +the package management system or install additional packages. To use the
> +earlier example, if a protocol is installed without its implementing
> +library there will be a broken reference.
> +
> +Build assumptions
> +-----------------
> +Packages provide great flexibility, including the one to install each package
> +documentation in a separate, totally unrelated directory using the --docdir
> +configure option. For external references to work, it is assumed that
> +the each package installs the documentation using the relative
> +doc/${PACKAGE_TARNAME} location.
> +
> +The Docbook stylesheet technology will create references with paths relative
> +to this location. It will navigate up to "doc" using ../ and then navigate
> +down to the document it refers to.
> +
> +Diagnosing a broken reference
> +-----------------------------
> +A document reference is created at build time while the document is being
> +transformed from Docbook/XML to HTML or another format. If this reference
> +is missing, the document must be rebuilt.
> +
> +To build the reference, the docbook stylesheet consults a database stored
> +in this package which is called masterdb.xml. This database supplies the
> +relative directory structure of where the documents are located as well
> +as including target document references in the various *.db files.
> +These files are generated and installed while the documents are being build.
> +
> +This is what a Docbook/XML reference from docA to docB looks like (docA.xml):
> +<olink targetdoc='docB' targetptr='docBfragment'>Title</olink>
> +
> +This is what an HTML reference from docA to docB looks like (docA.html):
> +<a href="docB.html#docBfragment" class="olink">Title</a>
> +
> +This is what an HTML targetdoc for docB looks like (docB.html.db):
> +<div element="article" href="#docBfragment" number="" targetptr="docBfragment">
> +
> +This is what an HTML reference from docA to docB looks like (docA.html)
> +when the reference cannot be resolved:
> +<span class="olink">Title</span>
> +
> +This can be caused by one or more of the following:
> +
> +   - docB may not longer contain the text (targetptr) docA is referring to.
> +   - docB.html.db file may not have been installed by docB package
> +   - masterdb.html.xml is missing a<document/>  entry for docB
> +   - masterdb.html.xml cannot be loaded so all refs are broken.
> +   - an XSLT processor which does not support xinclude is being used
> +   - docB.html.db was generated without --xinclude option for the processor
> +   - xsltproc is not at version 1.1.26 or later
> +   - for PDF/PS formats, the fragment is ignored, always points to top of docB
> +
> +Some pitfalls
> +-------------------------
> +<book id="docA">  in docA.xml: the id must match the file basename.
> +In xorg-*.xsl,<xsl:param name="current.docid" select="/*/@id"/>
> +supplies docid for *.db. The document id must be unique across
> +all documents.
> +
> +The baseuri attribute in masterdb.xml is required for pdf/ps references
> +to work. It cannot be replaced with olink.base.uri in the makefile.
> +
> +The pdf/ps "inside the document" references only started working with
> +docbook-xsl v 1.76.1 which is not yet available to your favorite O/S.
> +In xorg-fo.xsl, insert.olink.pdf.frag must be set to zero which allows
> +the reference to at least point to the top of the document.
> +
> +XSL toolchain
> +-------------
> +The following minimum versions are needed for external references to work:
> +XSLT processor:	1.1.26
> +libxml2:	2.7.6
> +libxslt1.1:	1.1.26
> +The exact triplet may vary by distribution, sometimes a version is skipped.
> +If you are close enough, try it.
> +
> +References
> +----------
> +http://docbook.org/tdg/en/html/docbook.html
> +http://docbook.sourceforge.net/release/xsl/current/doc/html/
> +http://docbook.sourceforge.net/release/xsl/current/doc/fo/
> +http://www.sagehill.net/docbookxsl/OlinkPrintOutput.html
> +
> +
> +-------------------------------------------------------------------------------
> +
>   All questions regarding this software should be directed at the
>   Xorg mailing list:
>
> diff --git a/configure.ac b/configure.ac
> index c4b0940..9f28636 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -35,7 +35,10 @@ XORG_MACROS_VERSION(1.8)
>   XORG_DEFAULT_OPTIONS
>
>   AC_SUBST([sgmlrootdir],['${datarootdir}/sgml'])
> +AC_SUBST([sgmlx11dir],['${sgmlrootdir}/X11'])
> +AC_SUBST([sgmldbsdir],['${sgmlx11dir}/dbs'])
>
>   AC_CONFIG_FILES([Makefile
> +		masterdb/Makefile
>   		xorg-sgml-doctools.pc])
>   AC_OUTPUT
> diff --git a/masterdb/.gitignore b/masterdb/.gitignore
> new file mode 100644
> index 0000000..f0a77b4
> --- /dev/null
> +++ b/masterdb/.gitignore
> @@ -0,0 +1,4 @@
> +masterdb.html.xml
> +masterdb.pdf.xml
> +masterdb.ps.xml
> +masterdb.txt.xml
> diff --git a/masterdb/Makefile.am b/masterdb/Makefile.am
> new file mode 100644
> index 0000000..b967d68
> --- /dev/null
> +++ b/masterdb/Makefile.am
> @@ -0,0 +1,26 @@
> +
> +master_PRE = masterdb.xml
> +sgmldbs_DATA =				\
> +	$(master_PRE:xml=html.xml)	\
> +	$(master_PRE:xml=pdf.xml)	\
> +	$(master_PRE:xml=ps.xml)	\
> +	$(master_PRE:xml=txt.xml)
> +
> +EXTRA_DIST = $(master_PRE)
> +CLEANFILES = $(sgmldbs_DATA)
> +
> +%.html.xml: %.xml
> +	$(AM_V_GEN)$(SED) -e 's|__ext__|html|g' \
> +	-e 's|__db__|html|g'<  $<  >  $@
> +
> +%.txt.xml: %.xml
> +	$(AM_V_GEN)$(SED) -e 's|__ext__|txt|g' \
> +	-e 's|__db__|html|g'<  $<  >  $@
> +
> +%.pdf.xml: %.xml
> +	$(AM_V_GEN)$(SED) -e 's|__ext__|pdf|g' \
> +	-e 's|__db__|fo|g'<  $<  >  $@
> +
> +%.ps.xml: %.xml
> +	$(AM_V_GEN)$(SED) -e 's|__ext__|ps|g' \
> +	-e 's|__db__|fo|g'<  $<  >  $@
> diff --git a/masterdb/masterdb.xml b/masterdb/masterdb.xml
> new file mode 100644
> index 0000000..b69d1d8
> --- /dev/null
> +++ b/masterdb/masterdb.xml
> @@ -0,0 +1,422 @@
> +<?xml version="1.0" encoding="utf-8"?>
> +<!DOCTYPE targetset   SYSTEM
> +"http://docbook.sourceforge.net/release/xsl/current/common/targetdatabase.dtd" [
> +<!--
> +   target database files are text files that contain references to every
> +   tag within a file that contains an 'id' attribute.  This allows external
> +   documents to link directly to those tags.  xsltproc will generate a target
> +   database for each document.
> +
> +   The master database files is a list of all
> +   target databases within a collection.  This allows the xslt processor
> +   (xsltproc) to resolve references between documents in the collection.
> +
> +    Together this creates live/clickable links between documents.   The
> +    author doesn't have to worry about managing the links.   The tool
> +    will do it.
> +-->
> +]
> +>
> +<targetset>
> +<targetsetinfo>
> +This is the X.org document collection. All documentation in X is (should be)
> +listed here. This allows crosslinking between documents.
> +</targetsetinfo>
> +<!--
> +	The sitemap represent the directory structure of the installed X docs
> +	The toplevel directory name "doc" is irrelevant, just being the root node
> +	Example of a computed href in an xorg-docs/specs/Xserver pointing to libX11:
> +	href="../../../libX11/libX11.html#libX11"
> +	The href first "climbs up" to the "doc" dir and then descends into libX11
> +
> +	The baseuri attribute cannot be replaced with stringparam olink.base.uri "$@"
> +	on the command line. It is required by the pdf msterdb for propor linking. Details:
> +	http://www.sagehill.net/docbookxsl/OlinkPrintOutput.html
> +  -->
> +<sitemap>
> +<dir name="doc">
> +<!-- Libraries -->
> +<dir name="libICE">
> +<document targetdoc="ICElib" baseuri="ICElib.__ext__">
> +<xi:include href="ICElib.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="ice" baseuri="ice.__ext__">
> +<xi:include href="ice.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="libSM">
> +<document targetdoc="SMlib" baseuri="SMlib.__ext__">
> +<xi:include href="SMlib.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="xsmp" baseuri="xsmp.__ext__">
> +<xi:include href="xsmp.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="libX11">
> +<document targetdoc="libX11" baseuri="libX11.__ext__">
> +<xi:include href="libX11.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<dir name="framework">
> +<document targetdoc="framework" baseuri="framework.__ext__">
> +<xi:include href="framework.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="localedb">
> +<document targetdoc="localedb" baseuri="localedb.__ext__">
> +<xi:include href="localedb.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="trans">
> +<document targetdoc="trans" baseuri="trans.__ext__">
> +<xi:include href="trans.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="XIM">
> +<document targetdoc="xim" baseuri="xim.__ext__">
> +<xi:include href="xim.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="XKB">
> +<document targetdoc="xkblib" baseuri="xkblib.__ext__">
> +<xi:include href="xkblib.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +</dir>
> +<dir name="libXaw">
> +<document targetdoc="libXaw" baseuri="libXaw.__ext__">
> +<xi:include href="libXaw.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="libXdmcp">
> +<document targetdoc="xdmcp" baseuri="xdmcp.__ext__">
> +<xi:include href="xdmcp.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="libXext">
> +<document targetdoc="dbelib" baseuri="dbelib.__ext__">
> +<xi:include href="dbelib.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="dpmslib" baseuri="dpmslib.__ext__">
> +<xi:include href="dpmslib.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="shapelib" baseuri="shapelib.__ext__">
> +<xi:include href="shapelib.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="synclib" baseuri="synclib.__ext__">
> +<xi:include href="synclib.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="xtest1" baseuri="xtest1.__ext__">
> +<xi:include href="xtest1.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="libXi">
> +<document targetdoc="inputlib" baseuri="inputlib.__ext__">
> +<xi:include href="inputlib.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="porting" baseuri="porting.__ext__">
> +<xi:include href="porting.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="libXmu">
> +<document targetdoc="Xmu" baseuri="Xmu.__ext__">
> +<xi:include href="Xmu.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="libXtst">
> +<document targetdoc="recordlib" baseuri="recordlib.__ext__">
> +<xi:include href="recordlib.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="xtestlib" baseuri="xtestlib.__ext__">
> +<xi:include href="xtestlib.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="xtrans">
> +<document targetdoc="xtrans" baseuri="xtrans.__ext__">
> +<xi:include href="xtrans.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<!-- Protocols -->
> +<dir name="bigreqsproto">
> +<document targetdoc="bigreq" baseuri="bigreq.__ext__">
> +<xi:include href="bigreq.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="fontsproto">
> +<document targetdoc="fsproto" baseuri="fsproto.__ext__">
> +<xi:include href="fsproto.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="kbproto">
> +<document targetdoc="xkbproto" baseuri="xkbproto.__ext__">
> +<xi:include href="xkbproto.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="recordproto">
> +<document targetdoc="record" baseuri="record.__ext__">
> +<xi:include href="record.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="scrnsaverproto">
> +<document targetdoc="saver" baseuri="saver.__ext__">
> +<xi:include href="saver.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="xcmiscproto">
> +<document targetdoc="xc-misc" baseuri="xc-misc.__ext__">
> +<xi:include href="xc-misc.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="xextproto">
> +<document targetdoc="appgrp" baseuri="appgrp.__ext__">
> +<xi:include href="appgrp.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="dbe" baseuri="dbe.__ext__">
> +<xi:include href="dbe.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="dpms" baseuri="dpms.__ext__">
> +<xi:include href="dpms.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="evi" baseuri="evi.__ext__">
> +<xi:include href="evi.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="geproto" baseuri="geproto.__ext__">
> +<xi:include href="geproto.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="lbx" baseuri="lbx.__ext__">
> +<xi:include href="lbx.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="multibuf" baseuri="multibuf.__ext__">
> +<xi:include href="multibuf.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="security" baseuri="security.__ext__">
> +<xi:include href="security.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="shape" baseuri="shape.__ext__">
> +<xi:include href="shape.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="shm" baseuri="shm.__ext__">
> +<xi:include href="shm.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="sync" baseuri="sync.__ext__">
> +<xi:include href="sync.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="tog-cup" baseuri="tog-cup.__ext__">
> +<xi:include href="tog-cup.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="xtest" baseuri="xtest.__ext__">
> +<xi:include href="xtest.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="xproto">
> +<document targetdoc="x11protocol" baseuri="x11protocol.__ext__">
> +<xi:include href="x11protocol.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<!-- X.Org System Documentation -->
> +<dir name="xorg-docs">
> +<document targetdoc="License" baseuri="License.__ext__">
> +<xi:include href="License.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="README" baseuri="README.__ext__">
> +<xi:include href="README.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="ReleaseNotes" baseuri="ReleaseNotes.__ext__">
> +<xi:include href="ReleaseNotes.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="Versions" baseuri="Versions.__ext__">
> +<xi:include href="Versions.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<dir name="fonts">
> +<document targetdoc="fonts" baseuri="fonts.__ext__">
> +<xi:include href="fonts.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="graphics">
> +<document targetdoc="dps" baseuri="dps.__ext__">
> +<xi:include href="dps.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="input">
> +<document targetdoc="XKB-Config" baseuri="XKB-Config.__ext__">
> +<xi:include href="XKB-Config.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="XKB-Enhancing" baseuri="XKB-Enhancing.__ext__">
> +<xi:include href="XKB-Enhancing.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="platforms">
> +<document targetdoc="Darwin" baseuri="Darwin.__ext__">
> +<xi:include href="Darwin.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="Solaris" baseuri="Solaris.__ext__">
> +<xi:include href="Solaris.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="ctext">
> +<document targetdoc="ctext" baseuri="ctext.__ext__">
> +<xi:include href="ctext.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="icccm">
> +<document targetdoc="icccm" baseuri="icccm.__ext__">
> +<xi:include href="icccm.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="xext">
> +<document targetdoc="lbxalg" baseuri="lbxalg.__ext__">
> +<xi:include href="lbxalg.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="xfld">
> +<document targetdoc="xlfd" baseuri="xlfd.__ext__">
> +<xi:include href="xlfd.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +<dir name="xserver">
> +<document targetdoc="appgroup" baseuri="appgroup.__ext__">
> +<xi:include href="appgroup.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="analysis" baseuri="analysis.__ext__">
> +<xi:include href="analysis.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="secint" baseuri="secint.__ext__">
> +<xi:include href="secint.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +<document targetdoc="XACE-Spec" baseuri="XACE-Spec.__ext__">
> +<xi:include href="XACE-Spec.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +</dir>
> +<!-- X Server -->
> +<dir name="xorg-server">
> +<document targetdoc="Xserver-DTrace" baseuri="Xserver-DTrace.__ext__">
> +<xi:include href="Xserver-DTrace.__db__.db" xmlns:xi="http://www.w3.org/2001/XInclude">
> +<xi:fallback></xi:fallback>
> +</xi:include>
> +</document>
> +</dir>
> +</dir>
> +</sitemap>
> +</targetset>
> diff --git a/xorg-fo.xsl b/xorg-fo.xsl
> new file mode 100644
> index 0000000..c14fc40
> --- /dev/null
> +++ b/xorg-fo.xsl
> @@ -0,0 +1,85 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +
> +<!--
> +  			X.Org DocBook/XML customization
> +
> +	DocBook XSL Stylesheets FO Parameters
> +	http://docbook.sourceforge.net/release/xsl/current/doc/fo/
> +-->
> +
> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
> +
> +			<!-- Reference Pages HTML/FO Parameters -->
> +
> +<!-- The formatting of a function element will include generated parentheses -->
> +<xsl:param name="function.parens" select="1"/>
> +
> +<!-- ANSI-style function synopses are generated for a funcsynopsis element -->
> +<xsl:param name="funcsynopsis.style" select="ansi"/>
> +
> +			<!-- Linking HTML/FO Parameters -->
> +
> +<!-- open new PDF documents in new tab, don't replace doc in current window -->
> +<xsl:attribute-set name="olink.properties">
> +<xsl:attribute name="show-destination">new</xsl:attribute>
> +</xsl:attribute-set>
> +
> +			<!-- Miscellaneous HTML/FO Parameters-->
> +
> +<!-- SVG will be considered an acceptable image format -->
> +<xsl:param name="use.svg" select="1"/>
> +
> +			<!-- Pagination and General Styles FO Parameters -->
> +<!--
> +     Speed up ps&  pdf creation by not creating pages with "draft" image,
> +     thus not needing to wait for http fetch of draft.png from docbook website.
> +    -->
> +<xsl:param name="draft.mode" select="no"/>
> +
> +			<!-- Processor Extensions FO Parameters-->
> +
> +<!-- PDF bookmarks extensions for FOP version 0.90 and later will be used. -->
> +<xsl:param name="fop.extensions" select="0"></xsl:param>
> +<xsl:param name="fop1.extensions" select="1"></xsl:param>
> +
> +			<!-- Cross Refrences FO Parameters-->
> +
> +<!-- Make links in pdf output blue so it's easier to tell they're internal
> +       links
> +   -->
> +<xsl:attribute-set name="xref.properties">
> +<xsl:attribute name="color">blue</xsl:attribute>
> +</xsl:attribute-set>
> +
> +<!-- Make links in pdf output green so it's easier to tell they're external
> +       links
> +  -->
> +<xsl:attribute-set name="olink.properties">
> +<xsl:attribute name="color">green</xsl:attribute>
> +</xsl:attribute-set>
> +
> +<!-- Linking to a target inside a pdf document.
> +       This feature is only available as of docbook-xsl-1.76.1.
> +       When set to zero, the link will point to the document -->
> +<xsl:param name="insert.olink.pdf.frag" select="0"></xsl:param>
> +
> +
> +			<!-- Font Families FO Parameters -->
> +
> +<!--
> +     Since a number of documents, especially the credits section in the
> +     ReleaseNotes, use characters not found in the fop default base-14
> +     PostScript fonts, set the fonts for the fop generated documents to
> +     use the free DejaVu and GNU Unifont fonts which cover a much wider
> +     range of characters.
> +
> +     DejaVu is available from http://dejavu-fonts.org/
> +     GNU Unifont is available from http://unifoundry.com/unifont.html
> +
> +     To set fop font paths to find them after installing, see
> +     http://xmlgraphics.apache.org/fop/1.0/fonts.html#basics
> +    -->
> +<xsl:param name="body.font.family">DejaVu Serif</xsl:param>
> +<xsl:param name="symbol.font.family">serif,Symbol,AR PL UMing CN,AR PL ShanHeiSun Uni,GNU Unifont</xsl:param>
> +
> +</xsl:stylesheet>
> diff --git a/xorg-xhtml.xsl b/xorg-xhtml.xsl
> new file mode 100644
> index 0000000..9841fb5
> --- /dev/null
> +++ b/xorg-xhtml.xsl
> @@ -0,0 +1,50 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +
> +<!--
> +  			X.Org DocBook/XML customization
> +
> +	DocBook XSL Stylesheets HTML Parameters
> +	http://docbook.sourceforge.net/release/xsl/current/doc/html/
> +-->
> +
> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
> +
> +			<!-- Reference Pages HTML/FO Parameters -->
> +
> +<!-- The formatting of a function element will include generated parentheses -->
> +<xsl:param name="function.parens" select="1"/>
> +
> +<!-- ANSI-style function synopses are generated for a funcsynopsis element -->
> +<xsl:param name="funcsynopsis.style" select="ansi"/>
> +
> +			<!-- Miscellaneous HTML/FO Parameters-->
> +
> +<!-- SVG will be considered an acceptable image format -->
> +<xsl:param name="use.svg" select="1"/>
> +
> +			<!-- Pagination and General Styles HTML/FO Parameters -->
> +<!--
> +     Speed up ps&  pdf creation by not creating pages with "draft" image,
> +     thus not needing to wait for http fetch of draft.png from docbook website.
> +    -->
> +<xsl:param name="draft.mode" select="no"/>
> +
> +			<!-- ToC/LoT/Index Generation HTML Parameters -->
> +
> +<!-- Index links should point to indexterm location, not start of section -->
> +<xsl:param name="index.links.to.section" select="0"/>
> +
> +			<!-- HTML Parameters -->
> +
> +<!-- Uses XSLT Extension to provide more valid and better formatted elements-->
> +<xsl:param name="html.cleanup" select="1"/>
> +
> +			<!-- Meta/*Info and Titlepages HTML Parameters-->
> +
> +<!-- Suppress abstract on title pages -->
> +<xsl:param name="abstract.notitle.enabled" select="1"/>
> +
> +<!-- Lists HTML Parameters-->
> +<xsl:param name="variablelist.as.table" select="1"/>
> +
> +</xsl:stylesheet>
> diff --git a/xorg.xsl b/xorg.xsl
> index 5ab03c9..0a2ff62 100644
> --- a/xorg.xsl
> +++ b/xorg.xsl
> @@ -74,5 +74,4 @@ DEALINGS IN THE SOFTWARE.
>     <xsl:param name="body.font.family">DejaVu Serif</xsl:param>
>     <xsl:param name="symbol.font.family">serif,Symbol,AR PL UMing CN,AR PL ShanHeiSun Uni,GNU Unifont</xsl:param>
>
> -
>   </xsl:stylesheet>



More information about the xorg-devel mailing list