lfs/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/pi.xsl
Manuel Canales Esparcia c873d8072e Added new-xsl files.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8196 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2007-07-05 21:18:33 +00:00

253 lines
8.3 KiB
XML

<?xml version="1.0" encoding="ASCII"?>
<!--This file was created automatically by html2xhtml-->
<!--from the HTML stylesheets.-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
<!-- ********************************************************************
$Id$
********************************************************************
This file is part of the XSL DocBook Stylesheet distribution.
See ../README or http://docbook.sf.net/release/xsl/current/ for
copyright and other information.
******************************************************************** -->
<xsl:template match="processing-instruction()">
</xsl:template>
<xsl:template match="processing-instruction('dbhtml')">
<!-- nop -->
</xsl:template>
<!-- ==================================================================== -->
<xsl:template name="dbhtml-attribute">
<xsl:param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:param name="attribute">filename</xsl:param>
<xsl:call-template name="pi-attribute">
<xsl:with-param name="pis" select="$pis"/>
<xsl:with-param name="attribute" select="$attribute"/>
</xsl:call-template>
</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="dbhtml-dir">
<xsl:param name="context" select="."/>
<!-- directories are now inherited from previous levels -->
<xsl:variable name="ppath">
<xsl:if test="$context/parent::*">
<xsl:call-template name="dbhtml-dir">
<xsl:with-param name="context" select="$context/parent::*"/>
</xsl:call-template>
</xsl:if>
</xsl:variable>
<xsl:variable name="path">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="$context/processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute">dir</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$path = ''">
<xsl:if test="$ppath != ''">
<xsl:value-of select="$ppath"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$ppath != ''">
<xsl:value-of select="$ppath"/>
<xsl:if test="substring($ppath, string-length($ppath), 1) != '/'">
<xsl:text>/</xsl:text>
</xsl:if>
</xsl:if>
<xsl:value-of select="$path"/>
<xsl:text>/</xsl:text>
</xsl:otherwise>
</xsl:choose>
</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&gt;count($cmdsynopses)"/>
<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)&lt;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&gt;count($funcsynopses)"/>
<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)&lt;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>
<!-- ==================================================================== -->
<!-- Copy well-formed external HTML content to the output. -->
<!-- An optional <html> wrapper will be removed before content is copied
to support multiple elements in output without a wrapper.
No other processing is done to the content. -->
<xsl:template match="processing-instruction('dbhtml-include')">
<xsl:param name="href">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="."/>
<xsl:with-param name="attribute">href</xsl:with-param>
</xsl:call-template>
</xsl:param>
<xsl:choose>
<xsl:when test="$href != ''">
<xsl:variable name="content" select="document($href,/)"/>
<xsl:choose>
<xsl:when test="$content/*">
<xsl:choose>
<xsl:when test="$content/*[1][self::html]">
<!-- include just the children of html wrapper -->
<xsl:copy-of select="$content/*[1]/node()"/>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="$content"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:message>
<xsl:text>ERROR: dbhtml-include processing instruction </xsl:text>
<xsl:text>href has no content.</xsl:text>
</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:message>
<xsl:text>ERROR: dbhtml-include processing instruction has </xsl:text>
<xsl:text>missing or empty href value.</xsl:text>
</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>