|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
XSLT Stylesheet DocBook -> LaTeX
|
|
Packit |
0f19cf |
############################################################################ -->
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:param name="set.book.num">1</xsl:param>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
# Set of books #
|
|
Packit |
0f19cf |
################ -->
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:template match="set">
|
|
Packit |
0f19cf |
<xsl:choose>
|
|
Packit |
0f19cf |
<xsl:when test="$set.book.num = 'all'">
|
|
Packit |
0f19cf |
<xsl:if test="$output.quietly = 0">
|
|
Packit |
0f19cf |
<xsl:message>Output all the books from the set</xsl:message>
|
|
Packit |
0f19cf |
</xsl:if>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:apply-templates select="//book" mode="build.texfile"/>
|
|
Packit |
0f19cf |
</xsl:when>
|
|
Packit |
0f19cf |
<xsl:otherwise>
|
|
Packit |
0f19cf |
<xsl:message>
|
|
Packit |
0f19cf |
<xsl:text>Warning: only print the book [</xsl:text>
|
|
Packit |
0f19cf |
<xsl:value-of select="$set.book.num"/>
|
|
Packit |
0f19cf |
<xsl:text>]</xsl:text>
|
|
Packit |
0f19cf |
</xsl:message>
|
|
Packit |
0f19cf |
<xsl:apply-templates select="//book[position()=$set.book.num]"/>
|
|
Packit |
0f19cf |
</xsl:otherwise>
|
|
Packit |
0f19cf |
</xsl:choose>
|
|
Packit |
0f19cf |
</xsl:template>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:template match="book" mode="build.texfile">
|
|
Packit |
0f19cf |
<xsl:call-template name="write.text.chunk">
|
|
Packit |
0f19cf |
<xsl:with-param name="filename">
|
|
Packit |
0f19cf |
<xsl:call-template name="bookname"/>
|
|
Packit |
0f19cf |
<xsl:text>.rtex</xsl:text>
|
|
Packit |
0f19cf |
</xsl:with-param>
|
|
Packit |
0f19cf |
<xsl:with-param name="method" select="'text'"/>
|
|
Packit |
0f19cf |
<xsl:with-param name="content">
|
|
Packit |
0f19cf |
<xsl:apply-templates select="."/>
|
|
Packit |
0f19cf |
</xsl:with-param>
|
|
Packit |
0f19cf |
</xsl:call-template>
|
|
Packit |
0f19cf |
</xsl:template>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:template match="book" mode="bookname" name="bookname">
|
|
Packit |
0f19cf |
<xsl:param name="template" select="'%b'"/>
|
|
Packit |
0f19cf |
<xsl:param name="exclude-gid"/>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:variable name="local-gid">
|
|
Packit |
0f19cf |
<xsl:apply-templates select="." mode="booknumber"/>
|
|
Packit |
0f19cf |
</xsl:variable>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:if test="$local-gid != $exclude-gid">
|
|
Packit |
0f19cf |
<xsl:variable name="basename">
|
|
Packit |
0f19cf |
<xsl:choose>
|
|
Packit |
0f19cf |
<xsl:when test="(not(@id) and not(@xml:id)) or $use.id.as.filename = 0">
|
|
Packit |
0f19cf |
<xsl:value-of select="concat('book', $local-gid)"/>
|
|
Packit |
0f19cf |
</xsl:when>
|
|
Packit |
0f19cf |
<xsl:otherwise>
|
|
Packit |
0f19cf |
<xsl:value-of select="(@id|@xml:id)[1]"/>
|
|
Packit |
0f19cf |
</xsl:otherwise>
|
|
Packit |
0f19cf |
</xsl:choose>
|
|
Packit |
0f19cf |
</xsl:variable>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:call-template name="string-replace">
|
|
Packit |
0f19cf |
<xsl:with-param name="string" select="$template"/>
|
|
Packit |
0f19cf |
<xsl:with-param name="from" select="'%b'"/>
|
|
Packit |
0f19cf |
<xsl:with-param name="to" select="$basename"/>
|
|
Packit |
0f19cf |
</xsl:call-template>
|
|
Packit |
0f19cf |
</xsl:if>
|
|
Packit |
0f19cf |
</xsl:template>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
This template must be called in the latex book preamble.
|
|
Packit |
0f19cf |
-->
|
|
Packit |
0f19cf |
<xsl:template name="make.external.docs">
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:variable name="local-gid">
|
|
Packit |
0f19cf |
<xsl:apply-templates select="." mode="booknumber"/>
|
|
Packit |
0f19cf |
</xsl:variable>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:if test="$set.book.num = 'all'">
|
|
Packit |
0f19cf |
<xsl:apply-templates select="//book[parent::set]" mode="bookname">
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
select="'\externaldocument{%b}[%b]
'"/>
|
|
Packit |
0f19cf |
<xsl:with-param name="exclude-gid" select="$local-gid"/>
|
|
Packit |
0f19cf |
</xsl:apply-templates>
|
|
Packit |
0f19cf |
</xsl:if>
|
|
Packit |
0f19cf |
</xsl:template>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:template match="set/setinfo"></xsl:template>
|
|
Packit |
0f19cf |
<xsl:template match="set/title"></xsl:template>
|
|
Packit |
0f19cf |
<xsl:template match="set/subtitle"></xsl:template>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
<xsl:template match="book" mode="booknumber">
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
level="any"
|
|
Packit |
0f19cf |
format="1"/>
|
|
Packit |
0f19cf |
</xsl:template>
|
|
Packit |
0f19cf |
|
|
Packit |
0f19cf |
</xsl:stylesheet>
|