| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- This file is part of the DITA Open Toolkit project.
- See the accompanying license.txt file for applicable licenses. -->
- <!-- (c) Copyright IBM Corp. 2009, 2010 All Rights Reserved. -->
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
- xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
- xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
- xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
- xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
- xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
- xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
- xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
- xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
- xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
- xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
- xmlns:math="http://www.w3.org/1998/Math/MathML"
- xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
- xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
- xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
- xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
- xmlns:prodtools="http://www.ibm.com/xmlns/prodtools"
- xmlns:dita2xslfo="http://dita-ot.sourceforge.net/ns/200910/dita2xslfo"
- xmlns:opentopic="http://www.idiominc.com/opentopic"
- xmlns:opentopic-index="http://www.idiominc.com/opentopic/index"
- exclude-result-prefixes="opentopic opentopic-index dita2xslfo"
- version="2.0">
-
- <xsl:template name="determineTopicType">
- <xsl:variable name="id" select="ancestor-or-self::*[contains(@class, ' topic/topic ')][1]/@id"/>
- <xsl:variable name="gid" select="generate-id(ancestor-or-self::*[contains(@class, ' topic/topic ')][1])"/>
- <xsl:variable name="topicNumber" select="count($topicNumbers/topic[@id = $id][following-sibling::topic[@guid = $gid]]) + 1"/>
- <xsl:variable name="mapTopic">
- <xsl:copy-of select="$map//*[@id = $id]"/>
- </xsl:variable>
- <xsl:variable name="foundTopicType">
- <xsl:apply-templates select="$mapTopic/*[position() = $topicNumber]" mode="determineTopicType"/>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$foundTopicType!=''"><xsl:value-of select="$foundTopicType"/></xsl:when>
- <xsl:otherwise>topicSimple</xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="*" mode="determineTopicType">
- <!-- Default, when not matching a bookmap type, is topicSimple -->
- <xsl:text>topicSimple</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/chapter ')]" mode="determineTopicType">
- <xsl:text>topicChapter</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/appendix ')]" mode="determineTopicType">
- <xsl:text>topicAppendix</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/preface ')]" mode="determineTopicType">
- <xsl:text>topicPreface</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/part ')]" mode="determineTopicType">
- <xsl:text>topicPart</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/abbrevlist ')]" mode="determineTopicType">
- <xsl:text>topicAbbrevList</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/bibliolist ')]" mode="determineTopicType">
- <xsl:text>topicBiblioList</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/booklist ')]" mode="determineTopicType">
- <xsl:text>topicBookList</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/figurelist ')]" mode="determineTopicType">
- <xsl:text>topicFigureList</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/indexlist ')]" mode="determineTopicType">
- <xsl:text>topicIndexList</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/toc ')]" mode="determineTopicType">
- <xsl:text>topicTocList</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/glossarylist ')]" mode="determineTopicType">
- <xsl:text>topicGlossaryList</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/trademarklist ')]" mode="determineTopicType">
- <xsl:text>topicTradeMarkList</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/notices ')]" mode="determineTopicType">
- <xsl:text>topicNotices</xsl:text>
- </xsl:template>
- <xsl:template match="*[contains(@class, ' bookmap/bookabstract ')]" mode="determineTopicType">
- <xsl:text>topicAbstract</xsl:text>
- </xsl:template>
-
-
- <!-- Bookmap Chapter processing -->
- <xsl:template name="processTopicChapter">
- <xsl:apply-templates/>
- <!--
- <text:p text:style-name="PB"/>
-
- <xsl:call-template name="startPageNumbering"/>
- <xsl:call-template name="insertBodyStaticContents"/>
-
- <fo:block xsl:use-attribute-sets="topic">
- <xsl:attribute name="id">
- <xsl:value-of select="@id"/>
- </xsl:attribute>
- <xsl:if test="not(ancestor::*[contains(@class, ' topic/topic ')])">
- <fo:marker marker-class-name="current-topic-number">
- <xsl:number format="1"/>
- </fo:marker>
- <fo:marker marker-class-name="current-header">
- <xsl:for-each select="child::*[contains(@class,' topic/title ')]">
- <xsl:call-template name="getTitle"/>
- </xsl:for-each>
- </fo:marker>
- </xsl:if>
-
- <xsl:apply-templates select="*[contains(@class,' topic/prolog ')]"/>
-
- <xsl:call-template name="insertChapterFirstpageStaticContent">
- <xsl:with-param name="type" select="'chapter'"/>
- </xsl:call-template>
-
-
- <xsl:apply-templates select="*[contains(@class,' topic/topic ')]"/>
- </fo:block>
- -->
- </xsl:template>
-
- </xsl:stylesheet>
|