summaryrefslogtreecommitdiffstats
path: root/packaging/bookinfo.xsl
diff options
context:
space:
mode:
authorPaul W. Frields <stickster@gmail.com>2005-12-29 22:37:32 +0000
committerPaul W. Frields <stickster@gmail.com>2005-12-29 22:37:32 +0000
commite7a55bc0fad50b29b27c5287d75d4e92f9f66798 (patch)
tree096dbccbe7a0dcedf63a2977c005db522915f97d /packaging/bookinfo.xsl
parent01d8b2b7b2df62c91f12369e9c578666438117bf (diff)
downloadfedora-doc-utils-e7a55bc0fad50b29b27c5287d75d4e92f9f66798.tar.gz
fedora-doc-utils-e7a55bc0fad50b29b27c5287d75d4e92f9f66798.tar.xz
fedora-doc-utils-e7a55bc0fad50b29b27c5287d75d4e92f9f66798.zip
Reduce redundancy, and create new, stupider pet tricks
Diffstat (limited to 'packaging/bookinfo.xsl')
-rw-r--r--packaging/bookinfo.xsl126
1 files changed, 61 insertions, 65 deletions
diff --git a/packaging/bookinfo.xsl b/packaging/bookinfo.xsl
index 178e80c..104c192 100644
--- a/packaging/bookinfo.xsl
+++ b/packaging/bookinfo.xsl
@@ -1,73 +1,69 @@
<!-- Transform rpm-info.xml into either "bookinfo" or "articleinfo" -->
<xsl:stylesheet version="1.0" xml:space="preserve" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output encoding="UTF-8" indent="yes" method="xml" omit-xml-declaration="yes" standalone="no" version="1.0"/>
- <xsl:param name="lang" select="'en'"/>
- <xsl:param name="doctype" select="'bookinfo'"/>
+ <xsl:output encoding="UTF-8" indent="yes" method="xml" omit-xml-declaration="yes" standalone="no" version="1.0"/>
- <xsl:template match="/">
- <xsl:element name="{$doctype}">
- <title>
- <xsl:call-template name="get-title"/>
- </title>
- <copyright>
- <xsl:for-each select="/rpm-info/copyright/year"><year>
- <xsl:value-of select="node()"/>
- </year></xsl:for-each>
- <xsl:for-each select="/rpm-info/copyright/holder">
- <holder>
- <xsl:value-of select="node()"/>
- </holder>
- </xsl:for-each>
- </copyright>
- <authorgroup>
- <xsl:for-each select="/rpm-info/author">
- <author>
- <xsl:call-template name="human"/>
- </author>
- </xsl:for-each>
- <xsl:for-each select="/rpm-info/translator">
- <othercredit>
- <xsl:call-template name="human"/>
- <personalblurb>Translator</personalblurb>
- </othercredit>
- </xsl:for-each>
- <xsl:for-each select="/rpm-info/editor">
- <editor>
- <xsl:call-template name="human"/>
- </editor>
- </xsl:for-each>
- </authorgroup>
- <xsl:text disable-output-escaping="yes">&amp;LEGALNOTICE;</xsl:text>
- <revhistory>
- <xsl:for-each select="/rpm-info/changelog/revision[@role != 'rpm']">
- <revision>
- <revnumber><xsl:value-of select="@version"/></revnumber>
- <date><xsl:value-of select="@date"/></date>
- <authorinitials><xsl:value-of select="author/@initials"/></authorinitials>
- <revdescription>
- <para>
- <xsl:value-of select="details"/>
- </para>
- </revdescription>
- </revision>
- </xsl:for-each>
- </revhistory>
- </xsl:element>
- </xsl:template>
+ <xsl:param name="lang" select="'en'"/>
+ <xsl:param name="doctype" select="'bookinfo'"/>
+ <xsl:param name="who" select="''"/>
- <xsl:template name="get-title">
- <xsl:for-each select="/rpm-info/titles/translation">
- <xsl:choose>
- <xsl:when test="@lang = $lang">
- <xsl:value-of select="title"/>
- </xsl:when>
- </xsl:choose>
+ <xsl:template match="/">
+ <xsl:element name="{$doctype}">
+ <xsl:element name="title">
+ <xsl:call-template name="get-title"/>
+ </xsl:element>
+ <xsl:element name="copyright">
+ <xsl:for-each select="/rpm-info/copyright/year"><xsl:element name="year">
+ <xsl:value-of select="node()"/>
+ </xsl:element></xsl:for-each>
+ <xsl:for-each select="/rpm-info/copyright/holder">
+ <xsl:element name="holder">
+ <xsl:value-of select="node()"/>
+ </xsl:element>
</xsl:for-each>
- </xsl:template>
+ </xsl:element>
+ <xsl:element name="authorgroup">
+ <xsl:for-each select="/rpm-info/author">
+ <xsl:element name="author">
+ <xsl:call-template name="human"><xsl:with-param name="who" select="@worker"/></xsl:call-template>
+ </xsl:element>
+ </xsl:for-each>
+ <xsl:for-each select="/rpm-info/editor">
+ <xsl:element name="editor">
+ <xsl:call-template name="human"><xsl:with-param name="who" select="@worker"/></xsl:call-template>
+ </xsl:element>
+ </xsl:for-each>
+ </xsl:element>
+ <xsl:for-each select="/rpm-info/translator">
+ <othercredit class="translator">
+ <xsl:call-template name="human"><xsl:with-param name="who"
+ select="@worker"/></xsl:call-template>
+ </othercredit>
+ </xsl:for-each>
+ <xsl:text disable-output-escaping="yes">&amp;LEGALNOTICE;</xsl:text>
+ <xsl:element name="revhistory">
+ <xsl:for-each select="/rpm-info/changelog/revision[@role != 'rpm']">
+ <xsl:element name="revision">
+ <xsl:element name="revnumber">
+ <xsl:value-of select="@version"/>
+ </xsl:element>
+ <xsl:element name="date">
+ <xsl:value-of select="@date"/>
+ </xsl:element>
+ <xsl:element name="authorinitials">
+ <xsl:value-of select="author/@initials"/>
+ </xsl:element>
+ <xsl:element name="revdescription">
+ <xsl:element name="para">
+ <xsl:value-of select="details"/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:element>
+ </xsl:for-each>
+ </xsl:element>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:include href="templates.xsl"/>
- <xsl:template name="human">
- <surname><xsl:value-of select="@surname"/></surname>
- <firstname><xsl:value-of select="@firstname"/></firstname>
- </xsl:template>
</xsl:stylesheet>