[PATCH sgml-doctools] Set stylesheet to provide XML profiling support
Gaetan Nadon
memsize at videotron.ca
Fri Nov 5 18:22:02 PDT 2010
From: Matt Dew <matt at osource.org>
Produces the same generated files when profiling is not used.
Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
---
Makefile.am | 9 +-
Xorg_profile-chunk-html.xsl | 17 ++
Xorg_profile-chunk-xhtml.xsl | 17 ++
Xorg_profile-no-chunk-html.xsl | 17 ++
Xorg_profile-no-chunk-xhtml.xsl | 17 ++
Xorg_profile-pdf.xsl | 17 ++
Xorg_profile-txt.xsl | 23 +++
xorg.xsl | 346 +++++++++++++++++++++++++++++++++++----
8 files changed, 433 insertions(+), 30 deletions(-)
create mode 100644 Xorg_profile-chunk-html.xsl
create mode 100644 Xorg_profile-chunk-xhtml.xsl
create mode 100644 Xorg_profile-no-chunk-html.xsl
create mode 100644 Xorg_profile-no-chunk-xhtml.xsl
create mode 100644 Xorg_profile-pdf.xsl
create mode 100644 Xorg_profile-txt.xsl
diff --git a/Makefile.am b/Makefile.am
index 049abac..152b440 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,7 +21,14 @@
sgmldir = $(prefix)/share/sgml/X11
-dist_sgml_DATA = defs.ent xorg.css xorg.xsl
+dist_sgml_DATA = \
+ defs.ent \
+ xorg.xsl \
+ xorg.css \
+ Xorg_profile-chunk-xhtml.xsl \
+ Xorg_profile-no-chunk-xhtml.xsl \
+ Xorg_profile-pdf.xsl \
+ Xorg_profile-txt.xsl
pkgconfigdir = $(datadir)/pkgconfig
pkgconfig_DATA = xorg-sgml-doctools.pc
diff --git a/Xorg_profile-chunk-html.xsl b/Xorg_profile-chunk-html.xsl
new file mode 100644
index 0000000..8de16d1
--- /dev/null
+++ b/Xorg_profile-chunk-html.xsl
@@ -0,0 +1,17 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!-- This file is just a placeholder.
+
+ When docbook .xsl and .dtd files are installed locally, catalog files are
+ also installed that point to them. In these catalog files are rewrite rules
+ that instruct xslt processors, xsltproc in our case, how to substitute
+ local copies of the docbook files for the online versions.
+ Setting XML_CATALOG_FILE tells xsltproc where the master catalog file is.
+
+ The preferred way to refer to the online files would be to directly pass
+ the xsl location to xsltproc. However, we use xmlto and xmlto requires
+ a local file. Therefore we use this localfile, to serve as a pointer
+ to the online version.
+
+-->
+<xsl:include href="http://docbook.sourceforge.net/release/xsl/current/html/profile-chunk.xsl"/>
+</xsl:stylesheet>
diff --git a/Xorg_profile-chunk-xhtml.xsl b/Xorg_profile-chunk-xhtml.xsl
new file mode 100644
index 0000000..856e967
--- /dev/null
+++ b/Xorg_profile-chunk-xhtml.xsl
@@ -0,0 +1,17 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!-- This file is just a placeholder.
+
+ When docbook .xsl and .dtd files are installed locally, catalog files are
+ also installed that point to them. In these catalog files are rewrite rules
+ that instruct xslt processors, xsltproc in our case, how to substitute
+ local copies of the docbook files for the online versions.
+ Setting XML_CATALOG_FILE tells xsltproc where the master catalog file is.
+
+ The preferred way to refer to the online files would be to directly pass
+ the xsl location to xsltproc. However, we use xmlto and xmlto requires
+ a local file. Therefore we use this localfile, to serve as a pointer
+ to the online version.
+
+-->
+<xsl:include href="http://docbook.sourceforge.net/release/xsl/current/xhtml/profile-chunk.xsl"/>
+</xsl:stylesheet>
diff --git a/Xorg_profile-no-chunk-html.xsl b/Xorg_profile-no-chunk-html.xsl
new file mode 100644
index 0000000..0a529d3
--- /dev/null
+++ b/Xorg_profile-no-chunk-html.xsl
@@ -0,0 +1,17 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!-- This file is just a placeholder.
+
+ When docbook .xsl and .dtd files are installed locally, catalog files are
+ also installed that point to them. In these catalog files are rewrite rules
+ that instruct xslt processors, xsltproc in our case, how to substitute
+ local copies of the docbook files for the online versions.
+ Setting XML_CATALOG_FILE tells xsltproc where the master catalog file is.
+
+ The preferred way to refer to the online files would be to directly pass
+ the xsl location to xsltproc. However, we use xmlto and xmlto requires
+ a local file. Therefore we use this localfile, to serve as a pointer
+ to the online version.
+
+-->
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/profile-docbook.xsl"/>
+</xsl:stylesheet>
diff --git a/Xorg_profile-no-chunk-xhtml.xsl b/Xorg_profile-no-chunk-xhtml.xsl
new file mode 100644
index 0000000..00e4f97
--- /dev/null
+++ b/Xorg_profile-no-chunk-xhtml.xsl
@@ -0,0 +1,17 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!-- This file is just a placeholder.
+
+ When docbook .xsl and .dtd files are installed locally, catalog files are
+ also installed that point to them. In these catalog files are rewrite rules
+ that instruct xslt processors, xsltproc in our case, how to substitute
+ local copies of the docbook files for the online versions.
+ Setting XML_CATALOG_FILE tells xsltproc where the master catalog file is.
+
+ The preferred way to refer to the online files would be to directly pass
+ the xsl location to xsltproc. However, we use xmlto and xmlto requires
+ a local file. Therefore we use this localfile, to serve as a pointer
+ to the online version.
+
+-->
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/profile-docbook.xsl"/>
+</xsl:stylesheet>
diff --git a/Xorg_profile-pdf.xsl b/Xorg_profile-pdf.xsl
new file mode 100644
index 0000000..8b4fe11
--- /dev/null
+++ b/Xorg_profile-pdf.xsl
@@ -0,0 +1,17 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!-- This file is just a placeholder.
+
+ When docbook .xsl and .dtd files are installed locally, catalog files are
+ also installed that point to them. In these catalog files are rewrite rules
+ that instruct xslt processors, xsltproc in our case, how to substitute
+ local copies of the docbook files for the online versions.
+ Setting XML_CATALOG_FILE tells xsltproc where the master catalog file is.
+
+ The preferred way to refer to the online files would be to directly pass
+ the xsl location to xsltproc. However, we use xmlto and xmlto requires
+ a local file. Therefore we use this localfile, to serve as a pointer
+ to the online version.
+
+-->
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/profile-docbook.xsl"/>
+</xsl:stylesheet>
diff --git a/Xorg_profile-txt.xsl b/Xorg_profile-txt.xsl
new file mode 100644
index 0000000..852c693
--- /dev/null
+++ b/Xorg_profile-txt.xsl
@@ -0,0 +1,23 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!-- This file is just a placeholder.
+
+ When docbook .xsl and .dtd files are installed locally, catalog files are
+ also installed that point to them. In these catalog files are rewrite rules
+ that instruct xslt processors, xsltproc in our case, how to substitute
+ local copies of the docbook files for the online versions.
+ Setting XML_CATALOG_FILE tells xsltproc where the master catalog file is.
+
+ The preferred way to refer to the online files would be to directly pass
+ the xsl location to xsltproc. However, we use xmlto and xmlto requires
+ a local file. Therefore we use this localfile, to serve as a pointer
+ to the online version.
+
+-->
+<!-- This stylesheet is used to allow profiling for text output. There is no
+ stylesheet specific to txt for profiling so we use the html one instead.
+
+ We are specifically using html/profile-docbook.xsl. This may change in the
+ future if we determine a better stylesheet to use.
+-->
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/profile-docbook.xsl"/>
+</xsl:stylesheet>
diff --git a/xorg.xsl b/xorg.xsl
index 0adcdf1..8b1896c 100644
--- a/xorg.xsl
+++ b/xorg.xsl
@@ -1,32 +1,307 @@
-<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:saxon="http://icl.com/saxon"
+ exclude-result-prefixes="saxon"
version="1.0">
- <!--
-Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
-
-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 (including the next
-paragraph) shall be included in all copies or substantial portions of the
-Software.
-
-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
-THE AUTHORS OR COPYRIGHT HOLDERS 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.
- -->
-
- <!--
- Shared stylesheet for X.Org documentation formatted in DocBook/XML
- -->
+
+
+<xsl:param name="bibliography.numbered" select="1"/>
+
+<!-- Should be base URI for imagedata and so on fixed? -->
+<xsl:param name="profile.baseuri.fixup" select="true()"/>
+
+<!-- Copy all non-element nodes -->
+<xsl:template match="@*|text()|comment()|processing-instruction()" mode="profile">
+ <xsl:copy/>
+</xsl:template>
+
+<!-- Profile elements based on input parameters -->
+<xsl:template match="*" mode="profile">
+
+
+ <xsl:variable name="firstsnap.content">
+ <xsl:if test="@firstsnap">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.firstsnap"/>
+ <xsl:with-param name="b" select="@firstsnap"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="firstsnap.ok" select="not(@firstsnap) or not($profile.firstsnap) or
+ $firstsnap.content != '' or @firstsnap = ''"/>
+
+ <xsl:variable name="latersnap.content">
+ <xsl:if test="@latersnap">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.latersnap"/>
+ <xsl:with-param name="b" select="@latersnap"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="latersnap.ok" select="not(@latersnap) or not($profile.latersnap) or
+ $latersnap.content != '' or @latersnap = ''"/>
+
+ <xsl:variable name="snapshot.content">
+ <xsl:if test="@snapshot">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.snapshot"/>
+ <xsl:with-param name="b" select="@snapshot"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="snapshot.ok" select="not(@snapshot) or not($profile.snapshot) or
+ $snapshot.content != '' or @snapshot = ''"/>
+
+ <xsl:variable name="notsnapshot.content">
+ <xsl:if test="@notsnapshot">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.notsnapshot"/>
+ <xsl:with-param name="b" select="@notsnapshot"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="notsnapshot.ok" select="not(@notsnapshot) or not($profile.notsnapshot) or
+ $notsnapshot.content != '' or @notsnapshot = ''"/>
+
+ <xsl:variable name="relcandidate.content">
+ <xsl:if test="@relcandidate">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.relcandidate"/>
+ <xsl:with-param name="b" select="@relcandidate"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="relcandidate.ok" select="not(@relcandidate) or not($profile.relcandidate) or
+ $relcandidate.content != '' or @relcandidate = ''"/>
+
+ <xsl:variable name="release.content">
+ <xsl:if test="@release">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.release"/>
+ <xsl:with-param name="b" select="@release"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="release.ok" select="not(@release) or not($profile.release) or
+ $release.content != '' or @release = ''"/>
+
+ <xsl:variable name="firstrel.content">
+ <xsl:if test="@firstrel">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.firstrel"/>
+ <xsl:with-param name="b" select="@firstrel"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="firstrel.ok" select="not(@firstrel) or not($profile.firstrel) or
+ $firstrel.content != '' or @firstrel = ''"/>
+
+ <xsl:variable name="earlyrel.content">
+ <xsl:if test="@earlyrel">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.earlyrel"/>
+ <xsl:with-param name="b" select="@earlyrel"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="earlyrel.ok" select="not(@earlyrel) or not($profile.earlyrel) or
+ $earlyrel.content != '' or @earlyrel = ''"/>
+
+ <xsl:variable name="laterrel.content">
+ <xsl:if test="@laterrel">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.laterrel"/>
+ <xsl:with-param name="b" select="@laterrel"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="laterrel.ok" select="not(@laterrel) or not($profile.laterrel) or
+ $laterrel.content != '' or @laterrel = ''"/>
+
+ <xsl:variable name="majorrel.content">
+ <xsl:if test="@majorrel">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.majorrel"/>
+ <xsl:with-param name="b" select="@majorrel"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="majorrel.ok" select="not(@majorrel) or not($profile.majorrel) or
+ $majorrel.content != '' or @majorrel = ''"/>
+
+ <xsl:variable name="minorrel.content">
+ <xsl:if test="@minorrel">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.minorrel"/>
+ <xsl:with-param name="b" select="@minorrel"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="minorrel.ok" select="not(@minorrel) or not($profile.minorrel) or
+ $minorrel.content != '' or @minorrel = ''"/>
+
+ <xsl:variable name="fullrel.content">
+ <xsl:if test="@fullrel">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.fullrel"/>
+ <xsl:with-param name="b" select="@fullrel"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="fullrel.ok" select="not(@fullrel) or not($profile.fullrel) or
+ $fullrel.content != '' or @fullrel = ''"/>
+
+ <xsl:variable name="fullbinaries.content">
+ <xsl:if test="@fullbinaries">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.fullbinaries"/>
+ <xsl:with-param name="b" select="@fullbinaries"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="fullbinaries.ok" select="not(@fullbinaries) or not($profile.fullbinaries) or
+ $fullbinaries.content != '' or @fullbinaries = ''"/>
+
+ <xsl:variable name="updaterel.content">
+ <xsl:if test="@updaterel">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.updaterel"/>
+ <xsl:with-param name="b" select="@updaterel"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="updaterel.ok" select="not(@updaterel) or not($profile.updaterel) or
+ $updaterel.content != '' or @updaterel = ''"/>
+
+ <xsl:variable name="prevrelwasupdate.content">
+ <xsl:if test="@prevrelwasupdate">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.prevrelwasupdate"/>
+ <xsl:with-param name="b" select="@prevrelwasupdate"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="prevrelwasupdate.ok" select="not(@prevrelwasupdate) or not($profile.prevrelwasupdate) or
+ $prevrelwasupdate.content != '' or @prevrelwasupdate = ''"/>
+
+ <xsl:variable name="haverelnotes.content">
+ <xsl:if test="@haverelnotes">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.haverelnotes"/>
+ <xsl:with-param name="b" select="@haverelnotes"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="haverelnotes.ok" select="not(@haverelnotes) or not($profile.haverelnotes) or
+ $haverelnotes.content != '' or @haverelnotes = ''"/>
+
+ <xsl:variable name="attribute.content">
+ <xsl:if test="@*[local-name()=$profile.attribute]">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.value"/>
+ <xsl:with-param name="b" select="@*[local-name()=$profile.attribute]"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="attribute.ok"
+ select="not(@*[local-name()=$profile.attribute]) or
+ not($profile.value) or $attribute.content != '' or
+ @*[local-name()=$profile.attribute] = '' or
+ not($profile.attribute)"/>
+
+<!-- Xorg specific tags -->
+ <xsl:variable name="os.content">
+ <xsl:if test="@os">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$profile.os"/>
+ <xsl:with-param name="b" select="@os"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="os.ok" select="not(@os) or not($profile.os) or
+ $os.content != '' or @os = ''"/>
+
+<!-- End of Xorg specific tags -->
+
+ <xsl:if test="$firstsnap.ok and
+ $latersnap.ok and
+ $snapshot.ok and
+ $notsnapshot.ok and
+ $relcandidate.ok and
+ $release.ok and
+ $firstrel.ok and
+ $earlyrel.ok and
+ $laterrel.ok and
+ $majorrel.ok and
+ $minorrel.ok and
+ $fullrel.ok and
+ $fullbinaries.ok and
+ $updaterel.ok and
+ $prevrelwasupdate.ok and
+ $os.ok and
+ $haverelnotes.ok">
+ <xsl:copy>
+ <xsl:apply-templates mode="profile" select="@*"/>
+
+ <!-- Entity references must be replaced with filereferences for temporary tree -->
+ <xsl:if test="@entityref and $profile.baseuri.fixup">
+ <xsl:attribute name="fileref">
+ <xsl:value-of select="unparsed-entity-uri(@entityref)"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <!-- xml:base is eventually added to the root element -->
+ <xsl:if test="not(../..) and $profile.baseuri.fixup">
+ <xsl:call-template name="add-xml-base"/>
+ </xsl:if>
+
+ <xsl:apply-templates select="node()" mode="profile"/>
+ </xsl:copy>
+ </xsl:if>
+</xsl:template>
+
+<!-- Returns non-empty string if list in $b contains one ore more values from list $a -->
+<xsl:template name="cross.compare">
+ <xsl:param name="a"/>
+ <xsl:param name="b"/>
+ <xsl:param name="sep" select="$profile.separator"/>
+ <xsl:variable name="head" select="substring-before(concat($a, $sep), $sep)"/>
+ <xsl:variable name="tail" select="substring-after($a, $sep)"/>
+ <xsl:if test="contains(concat($sep, $b, $sep), concat($sep, $head, $sep))">1</xsl:if>
+ <xsl:if test="$tail">
+ <xsl:call-template name="cross.compare">
+ <xsl:with-param name="a" select="$tail"/>
+ <xsl:with-param name="b" select="$b"/>
+ </xsl:call-template>
+ </xsl:if>
+</xsl:template>
+
+<!--
+<xsl:param name="bibliography.numbered" select="1"/>
+-->
+
+<!-- *********************** -->
+<!-- Profiling parameters -->
+
+<xsl:param name="profile.firstsnap" select="''"/>
+<xsl:param name="profile.latersnap" select="''"/>
+<xsl:param name="profile.snapshot" select="''"/>
+<xsl:param name="profile.notsnapshot" select="''"/>
+<xsl:param name="profile.relcandidate" select="''"/>
+<xsl:param name="profile.release" select="''"/>
+<xsl:param name="profile.firstrel" select="''"/>
+<xsl:param name="profile.earlyrel" select="''"/>
+<xsl:param name="profile.laterrel" select="''"/>
+<xsl:param name="profile.majorrel" select="''"/>
+<xsl:param name="profile.minorrel" select="''"/>
+<xsl:param name="profile.fullrel" select="''"/>
+<xsl:param name="profile.fullbinaries" select="''"/>
+<xsl:param name="profile.updaterel" select="''"/>
+<xsl:param name="profile.prevrelwasupdate" select="''"/>
+<xsl:param name="profile.haverelnotes" select="''"/>
+<xsl:param name="profile.attribute" select="''"/>
+<xsl:param name="profile.separator" select="';'"/>
+
+<!-- HTML specific styling goes under here -->
<xsl:param name="html.cleanup" select="1"/>
<xsl:param name="html.stylesheet" select="'xorg.css'"/>
<xsl:param name="chunker.output.indent">yes</xsl:param>
@@ -37,7 +312,20 @@ DEALINGS IN THE SOFTWARE.
<xsl:param name="abstract.notitle.enabled" select="1"/>
<xsl:param name="variablelist.as.table" select="1"/>
<xsl:param name="use.svg" select="1"/>
+ <xsl:param name="ulink.show" select="0"/>
+ <!-- <xsl:param name="html.stylesheet" select="'xorg.css'"/> -->
+
+ <xsl:param name="index.links.to.section" select="1"/>
+
+<!-- PDF specific styling goes under here -->
+<xsl:attribute-set name="xref.properties">
+ <xsl:attribute name="color">
+ <xsl:choose>
+ <xsl:when test="self::xref">blue</xsl:when>
+ <xsl:otherwise>inherit</xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+</xsl:attribute-set>
+
- <!-- Index links should point to indexterm location, not start of section -->
- <xsl:param name="index.links.to.section" select="0"/>
</xsl:stylesheet>
--
1.6.0.4
More information about the xorg-devel
mailing list