- From: Michael Smith via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 01 May 2009 09:26:13 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/markup/tools In directory hutz:/tmp/cvs-serv5134/tools Added Files: chunker.xsl Log Message: added chunker --- NEW FILE: chunker.xsl --- <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:h='http://www.w3.org/1999/xhtml' xmlns='http://www.w3.org/1999/xhtml' xmlns:date="http://exslt.org/dates-and-times" xmlns:exsl="http://exslt.org/common" exclude-result-prefixes='h date' extension-element-prefixes="exsl" version='1.0' id='xslt'> <!-- * This stylesheet is based on code from stylesheets in the DocBook --> <!-- * XSL Stylesheets distribution; for details, see the --> <!-- * "Acknowledgements" comment at the end of this file. --> <xsl:template name="write.chunk"> <xsl:param name="filename" select="''"/> <xsl:param name="quiet" select="0"/> <xsl:param name="method">html</xsl:param> <xsl:param name="encoding">us-ascii</xsl:param> <xsl:param name="media-type">text/html; charset=us-ascii</xsl:param> <xsl:param name="doctype-public">-//W3C//DTD HTML 4.01//EN</xsl:param> <xsl:param name="doctype-system">http://www.w3.org/TR/html4/strict.dtd</xsl:param> <xsl:param name="indent">yes</xsl:param> <xsl:param name="omit-xml-declaration">yes</xsl:param> <xsl:param name="cdata-section-elements"></xsl:param> <xsl:param name="content"/> <xsl:param name="title"/> <xsl:if test="$quiet = 0"> <xsl:message> <xsl:text>Writing </xsl:text> <xsl:value-of select="$filename"/> <xsl:text> for "</xsl:text> <xsl:value-of select="$title"/> <xsl:text>"</xsl:text> </xsl:message> </xsl:if> <exsl:document href="{$filename}" method="{$method}" encoding="{$encoding}" indent="{$indent}" omit-xml-declaration="{$omit-xml-declaration}" cdata-section-elements="{$cdata-section-elements}" media-type="{$media-type}" doctype-public="{$doctype-public}" doctype-system="{$doctype-system}" > <xsl:call-template name="build.chunk"> <xsl:with-param name="content" select="$content"/> <xsl:with-param name="title" select="$title"/> </xsl:call-template> </exsl:document> </xsl:template> <xsl:template name="build.chunk"> <xsl:param name="title"/> <xsl:param name="prev"/> <xsl:param name="next"/> <xsl:param name="nav.context"/> <xsl:param name="content"> <xsl:apply-imports/> </xsl:param> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> <xsl:value-of select="$title"/> </title> <xsl:copy-of select="//h:link[@rel='stylesheet']"/> <!-- * <xsl:call-template name="head.nav.links"> --> <!-- * <xsl:with-param name="title" select="$title"/> --> <!-- * <xsl:with-param name="prev" select="$prev"/> --> <!-- * <xsl:with-param name="next" select="$next"/> --> <!-- * </xsl:call-template> --> </head> <body> <!-- * <xsl:call-template name="header.navigation"> --> <!-- * <xsl:with-param name="prev" select="$prev"/> --> <!-- * <xsl:with-param name="next" select="$next"/> --> <!-- * <xsl:with-param name="nav.context" select="$nav.context"/> --> <!-- * </xsl:call-template> --> <xsl:copy-of select="$content"/> <!-- * <xsl:call-template name="footer.navigation"> --> <!-- * <xsl:with-param name="prev" select="$prev"/> --> <!-- * <xsl:with-param name="next" select="$next"/> --> <!-- * <xsl:with-param name="nav.context" select="$nav.context"/> --> <!-- * </xsl:call-template> --> </body> </html> </xsl:template> <xsl:template name="head.navs.links"> <xsl:param name="title"/> <xsl:param name="prev" select="/foo"/> <xsl:param name="next" select="/foo"/> <xsl:variable name="this" select="."/> <xsl:variable name="home" select="/*[1]"/> <xsl:variable name="up" select="parent::*"/> <xsl:if test="$home"> <link rel="home"> <xsl:attribute name="href"> <!-- * <xsl:call-template name="href.target"> --> <!-- * <xsl:with-param name="object" select="$home"/> --> <!-- * </xsl:call-template> --> </xsl:attribute> <xsl:attribute name="title"> <xsl:apply-templates select="$home" mode="object.title.markup.textonly"/> </xsl:attribute> </link> </xsl:if> <xsl:if test="$up"> <link rel="up"> <xsl:attribute name="href"> <!-- * <xsl:call-template name="href.target"> --> <!-- * <xsl:with-param name="object" select="$up"/> --> <!-- * </xsl:call-template> --> </xsl:attribute> <xsl:attribute name="title"> <xsl:apply-templates select="$up" mode="object.title.markup.textonly"/> </xsl:attribute> </link> </xsl:if> <xsl:if test="$prev"> <link rel="prev"> <xsl:attribute name="href"> <!-- * <xsl:call-template name="href.target"> --> <!-- * <xsl:with-param name="object" select="$prev"/> --> <!-- * </xsl:call-template> --> </xsl:attribute> <xsl:attribute name="title"> <xsl:apply-templates select="$prev" mode="object.title.markup.textonly"/> </xsl:attribute> </link> </xsl:if> <xsl:if test="$next"> <link rel="next"> <xsl:attribute name="href"> <!-- * <xsl:call-template name="href.target"> --> <!-- * <xsl:with-param name="object" select="$next"/> --> <!-- * </xsl:call-template> --> </xsl:attribute> <xsl:attribute name="title"> <xsl:apply-templates select="$next" mode="object.title.markup.textonly"/> </xsl:attribute> </link> </xsl:if> <xsl:for-each select="//part |//reference |//preface |//chapter |//article |//refentry |//appendix[not(parent::article)]|appendix |//glossary[not(parent::article)]|glossary |//index[not(parent::article)]|index"> <link rel="{local-name(.)}"> <xsl:attribute name="href"> <!-- * <xsl:call-template name="href.target"> --> <!-- * <xsl:with-param name="context" select="$this"/> --> <!-- * <xsl:with-param name="object" select="."/> --> <!-- * </xsl:call-template> --> </xsl:attribute> <xsl:attribute name="title"> <xsl:apply-templates select="." mode="object.title.markup.textonly"/> </xsl:attribute> </link> </xsl:for-each> <xsl:for-each select="section|sect1|refsection|refsect1"> <link> <xsl:attribute name="rel"> <xsl:choose> <xsl:when test="local-name($this) = 'section' or local-name($this) = 'refsection'"> <xsl:value-of select="'subsection'"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="'section'"/> </xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:attribute name="href"> <!-- * <xsl:call-template name="href.target"> --> <!-- * <xsl:with-param name="context" select="$this"/> --> <!-- * <xsl:with-param name="object" select="."/> --> <!-- * </xsl:call-template> --> </xsl:attribute> <xsl:attribute name="title"> <xsl:apply-templates select="." mode="object.title.markup.textonly"/> </xsl:attribute> </link> </xsl:for-each> <xsl:for-each select="sect2|sect3|sect4|sect5|refsect2|refsect3"> <link rel="subsection"> <xsl:attribute name="href"> <!-- * <xsl:call-template name="href.target"> --> <!-- * <xsl:with-param name="context" select="$this"/> --> <!-- * <xsl:with-param name="object" select="."/> --> <!-- * </xsl:call-template> --> </xsl:attribute> <xsl:attribute name="title"> <xsl:apply-templates select="." mode="object.title.markup.textonly"/> </xsl:attribute> </link> </xsl:for-each> </xsl:template> <xsl:template name="header.navigation"> <xsl:param name="prev" select="preceding-sibling::*"/> <xsl:param name="next" select="following-sibling::*"/> <xsl:param name="nav.context"/> <xsl:variable name="home" select="/*[1]"/> <xsl:variable name="up" select="parent::*"/> <xsl:variable name="row1" select="1"/> <xsl:variable name="row2" select="1"/> <!-- * <xsl:variable name="row2" select="count($prev) > 0 --> <!-- * or (count($up) > 0 --> <!-- * and generate-id($up) != generate-id($home)) --> <!-- * or count($next) > 0"/> --> <div class="navheader"> <xsl:if test="$row1 or $row2"> <table width="100%" summary="Navigation header"> <xsl:if test="$row1"> <tr> <th colspan="3" align="center"> <xsl:apply-templates select="." mode="object.title.markup"/> </th> </tr> </xsl:if> <xsl:if test="$row2"> <tr> <td width="20%" align="left"> <xsl:if test="count($prev)>0"> <a accesskey="p"> <xsl:attribute name="href"> <xsl:call-template name="href.target"> <xsl:with-param name="object" select="$prev"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="navig.content"> <xsl:with-param name="direction" select="'prev'"/> </xsl:call-template> </a> </xsl:if> <xsl:text> </xsl:text> </td> <th width="60%" align="center"> <xsl:choose> <xsl:when test="count($up) > 0 and generate-id($up) != generate-id($home) and $navig.showtitles != 0"> <xsl:apply-templates select="$up" mode="object.title.markup"/> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </th> <td width="20%" align="{$direction.align.end}"> <xsl:text> </xsl:text> <xsl:if test="count($next)>0"> <a accesskey="n"> <xsl:attribute name="href"> <xsl:call-template name="href.target"> <xsl:with-param name="object" select="$next"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="navig.content"> <xsl:with-param name="direction" select="'next'"/> </xsl:call-template> </a> </xsl:if> </td> </tr> </xsl:if> </table> </xsl:if> <hr/> </div> </xsl:template> <xsl:template name="footer.navigation"> <xsl:param name="prev" select="/foo"/> <xsl:param name="next" select="/foo"/> <xsl:param name="nav.context"/> <xsl:variable name="home" select="/*[1]"/> <xsl:variable name="up" select="parent::*"/> <xsl:variable name="row1" select="count($prev) > 0 or count($up) > 0 or count($next) > 0"/> <xsl:variable name="row2" select="($prev and $navig.showtitles != 0) or (generate-id($home) != generate-id(.) or $nav.context = 'toc') or ($chunk.tocs.and.lots != 0 and $nav.context != 'toc') or ($next and $navig.showtitles != 0)"/> <xsl:if test="$suppress.navigation = '0' and $suppress.footer.navigation = '0'"> <div class="navfooter"> <xsl:if test="$footer.rule != 0"> <hr/> </xsl:if> <xsl:if test="$row1 or $row2"> <table width="100%" summary="Navigation footer"> <xsl:if test="$row1"> <tr> <td width="40%" align="left"> <xsl:if test="count($prev)>0"> <a accesskey="p"> <xsl:attribute name="href"> <xsl:call-template name="href.target"> <xsl:with-param name="object" select="$prev"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="navig.content"> <xsl:with-param name="direction" select="'prev'"/> </xsl:call-template> </a> </xsl:if> <xsl:text> </xsl:text> </td> <td width="20%" align="center"> <xsl:choose> <xsl:when test="count($up)>0 and generate-id($up) != generate-id($home)"> <a accesskey="u"> <xsl:attribute name="href"> <xsl:call-template name="href.target"> <xsl:with-param name="object" select="$up"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="navig.content"> <xsl:with-param name="direction" select="'up'"/> </xsl:call-template> </a> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </td> <td width="40%" align="{$direction.align.end}"> <xsl:text> </xsl:text> <xsl:if test="count($next)>0"> <a accesskey="n"> <xsl:attribute name="href"> <xsl:call-template name="href.target"> <xsl:with-param name="object" select="$next"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="navig.content"> <xsl:with-param name="direction" select="'next'"/> </xsl:call-template> </a> </xsl:if> </td> </tr> </xsl:if> <xsl:if test="$row2"> <tr> <td width="40%" align="left" valign="top"> <xsl:if test="$navig.showtitles != 0"> <xsl:apply-templates select="$prev" mode="object.title.markup"/> </xsl:if> <xsl:text> </xsl:text> </td> <td width="20%" align="center"> <xsl:choose> <xsl:when test="$home != . or $nav.context = 'toc'"> <a accesskey="h"> <xsl:attribute name="href"> <xsl:call-template name="href.target"> <xsl:with-param name="object" select="$home"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="navig.content"> <xsl:with-param name="direction" select="'home'"/> </xsl:call-template> </a> <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'"> <xsl:text> | </xsl:text> </xsl:if> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'"> <a accesskey="t"> <xsl:attribute name="href"> <xsl:apply-templates select="/*[1]" mode="recursive-chunk-filename"> <xsl:with-param name="recursive" select="true()"/> </xsl:apply-templates> <xsl:text>-toc</xsl:text> <xsl:value-of select="$html.ext"/> </xsl:attribute> <xsl:call-template name="gentext"> <xsl:with-param name="key" select="'nav-toc'"/> </xsl:call-template> </a> </xsl:if> </td> <td width="40%" align="{$direction.align.end}" valign="top"> <xsl:text> </xsl:text> <xsl:if test="$navig.showtitles != 0"> <xsl:apply-templates select="$next" mode="object.title.markup"/> </xsl:if> </td> </tr> </xsl:if> </table> </xsl:if> </div> </xsl:if> </xsl:template> <!-- * ***************************************************************** --> <!-- * Acknowledgements --> <!-- * ***************************************************************** --> <!-- * This stylesheet is based on code from stylesheets in the DocBook --> <!-- * XSL Stylesheets distribution, which are distributed with the --> <!-- * following copyright statement. --> <!-- * --> <!-- * Copyright --> <!-- * --> <!-- * Copyright (C) 1999-2007 Norman Walsh --> <!-- * Copyright (C) 2003 Jiří Kosek --> <!-- * Copyright (C) 2004-2007 Steve Ball --> <!-- * Copyright (C) 2005-2008 The DocBook Project --> <!-- * --> <!-- * 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 shall be --> <!-- * included in all copies or substantial portions of the Software. --> <!-- * --> <!-- * Except as contained in this notice, the names of individuals --> <!-- * credited with contribution to this software shall not be used in --> <!-- * advertising or otherwise to promote the sale, use or other --> <!-- * dealings in this Software without prior written authorization --> <!-- * from the individuals in question. --> <!-- * --> <!-- * Any stylesheet derived from this Software that is publically --> <!-- * distributed will be identified with a different name and the --> <!-- * version strings in any derived Software will be changed so that --> <!-- * no possibility of confusion between the derived package and this --> <!-- * Software will exist. --> <!-- * --> <!-- * Warranty --> <!-- * --> <!-- * 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 NORMAN WALSH OR ANY OTHER --> <!-- * CONTRIBUTOR 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. --> <!-- * --> <!-- * Contacting the Author --> <!-- * --> <!-- * The DocBook XSL stylesheets are maintained by Norman Walsh, --> <!-- * <ndw@nwalsh.com>, and members of the DocBook Project, --> <!-- * <docbook-developers@sf.net> --> </xsl:stylesheet>
Received on Friday, 1 May 2009 09:26:22 UTC