| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 | 
							- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 
-                 xmlns:exsl="http://exslt.org/common"
 
-                 xmlns:xlink="http://www.w3.org/1999/xlink"
 
-                 xmlns="http://docbook.org/ns/docbook"
 
- 		version="1.0"
 
-                 exclude-result-prefixes="exsl">
 
- <!-- ********************************************************************
 
-      $Id: topic-maker-chunk.xsl,v 1.7 2012-04-16 00:29:35 bobs Exp $
 
-      ********************************************************************
 
- -->
 
- <xsl:import href="topic-maker.xsl"/>
 
- <xsl:import href="../xhtml/chunk-common.xsl"/>
 
- <xsl:include href="../xhtml/chunk-code.xsl"/>
 
- <xsl:param name="root.id.suffix">-info</xsl:param>
 
- <xsl:param name="root.as.resourceref" select="1"/>
 
- <xsl:template match="/" priority="1">
 
-   <xsl:apply-templates select="/" mode="process.root"/>
 
-   <xsl:call-template name="make.assembly"/>
 
- </xsl:template>
 
- <xsl:template name="chunk-element-content">
 
-   <xsl:param name="content">
 
-     <xsl:apply-imports/>
 
-   </xsl:param>
 
-   <xsl:copy-of select="$content"/>
 
- </xsl:template>
 
- <xsl:template name="make.assembly">
 
-   <xsl:variable name="content">
 
-     <assembly xmlns:xlink="http://www.w3.org/1999/xlink">
 
-       <xsl:call-template name="make.resources"/>
 
-       <xsl:call-template name="make.structure"/>
 
-     </assembly>
 
-   </xsl:variable>
 
-   <xsl:variable name="filename">
 
-     <xsl:if test="$manifest.in.base.dir != 0">
 
-       <xsl:value-of select="$base.dir"/>
 
-     </xsl:if>
 
-     <xsl:value-of select="$assembly.filename"/>
 
-   </xsl:variable>
 
-   <xsl:call-template name="write.chunk">
 
-     <xsl:with-param name="content" select="$content"/>
 
-     <xsl:with-param name="filename" select="$filename"/>
 
-     <xsl:with-param name="indent">yes</xsl:with-param>
 
-   </xsl:call-template>
 
- </xsl:template>
 
- <xsl:template name="make.structure">
 
-   <xsl:param name="root" select="/*[1]"/>
 
-   <xsl:param name="root.resourceref">
 
-     <xsl:call-template name="object.id">
 
-       <xsl:with-param name="object" select="$root"/>
 
-     </xsl:call-template>
 
-   </xsl:param>
 
-   <xsl:choose>
 
-     <xsl:when test="$root.as.resourceref = 0">
 
-       <structure>
 
-         <xsl:attribute name="type">
 
-           <xsl:value-of select="local-name($root)"/>
 
-         </xsl:attribute>
 
-         <xsl:attribute name="xml:id">
 
-           <xsl:value-of select="$root.resourceref"/>
 
-         </xsl:attribute>
 
-     
 
-         <xsl:copy-of select="($root/title | $root/info/title)[1]"/>
 
-     
 
-         <!-- Put the title and info stuff in a content-only module -->
 
-         <module resourceref="{$root.resourceref}{$root.id.suffix}" contentonly="true"/>
 
-         <xsl:apply-templates select="$root/*" mode="module.list"/>
 
-       </structure>
 
-     </xsl:when>
 
-     <xsl:otherwise>
 
-       <structure>
 
-         <xsl:attribute name="resourceref">
 
-           <xsl:value-of select="$root.resourceref"/>
 
-         </xsl:attribute>
 
-         <output renderas="{local-name($root)}"/>
 
-         <xsl:apply-templates select="$root/*" mode="module.list"/>
 
-       </structure>
 
-     </xsl:otherwise>
 
-   </xsl:choose>
 
- </xsl:template>
 
- <xsl:template match="*" mode="module.list">
 
-   <xsl:variable name="is.chunk">
 
-     <xsl:call-template name="chunk">
 
-       <xsl:with-param name="node" select="."/>
 
-     </xsl:call-template>
 
-   </xsl:variable>
 
-   <!-- generate an output element for renderas? -->
 
-   <xsl:variable name="src.element" select="concat(' ', local-name(.), ' ')"/>
 
-   <xsl:variable name="is.topic">
 
-     <xsl:choose>
 
-       <xsl:when test="contains($topic.list, $src.element)">1</xsl:when>
 
-       <xsl:otherwise>0</xsl:otherwise>
 
-     </xsl:choose>
 
-   </xsl:variable>
 
-   <xsl:if test="$is.chunk = 1">
 
-     <module>
 
-       <xsl:attribute name="resourceref">
 
-         <xsl:call-template name="object.id"/>
 
-       </xsl:attribute>
 
-       <xsl:if test="$is.topic = 1">
 
-         <output renderas="{local-name()}"/>
 
-       </xsl:if>
 
-       <xsl:apply-templates select="*" mode="module.list"/>
 
-     </module>
 
-   </xsl:if>
 
- </xsl:template>
 
- <xsl:template name="make.resources">
 
-   <resources>
 
-     <!-- Add xml:base from $base.dir if manifest not in base.dir -->
 
-     <xsl:if test="string-length($base.dir) != 0 and
 
-                   $manifest.in.base.dir = 0">
 
-       <xsl:attribute name="xml:base">
 
-         <!-- strip off trailing slash for xml:base -->
 
-         <xsl:choose>
 
-           <xsl:when test="substring($base.dir, string-length($base.dir),1) = '/'">
 
-             <xsl:value-of select="substring($base.dir, 1, string-length($base.dir) -1)"/>
 
-           </xsl:when>
 
-           <xsl:otherwise>
 
-             <xsl:value-of select="$base.dir"/>
 
-           </xsl:otherwise>
 
-         </xsl:choose>
 
-       </xsl:attribute>
 
-     </xsl:if>
 
-     <xsl:apply-templates select="/*[1]" mode="resource.list"/>
 
-   </resources>
 
- </xsl:template>
 
- <xsl:template match="*" mode="resource.list">
 
-   <xsl:variable name="is.chunk">
 
-     <xsl:call-template name="chunk">
 
-       <xsl:with-param name="node" select="."/>
 
-     </xsl:call-template>
 
-   </xsl:variable>
 
-   <xsl:if test="$is.chunk = 1">
 
-     <resource>
 
-       <xsl:attribute name="fileref">
 
-         <!--
 
-         <xsl:if test="$manifest.in.base.dir = 0">
 
-           <xsl:value-of select="$base.dir"/>
 
-         </xsl:if>
 
-         -->
 
-         <xsl:apply-templates select="." mode="chunk-filename"/>
 
-       </xsl:attribute>
 
-       <xsl:attribute name="xml:id">
 
-         <xsl:call-template name="object.id"/>
 
-       </xsl:attribute>
 
-       <xsl:variable name="title">
 
-         <xsl:apply-templates select="." mode="title.markup"/>
 
-       </xsl:variable>
 
-       <xsl:if test="string-length($title) != 0">
 
-         <description>
 
-           <xsl:value-of select="$title"/>
 
-         </description>
 
-       </xsl:if>
 
-     </resource>
 
-   </xsl:if>
 
-   <xsl:apply-templates select="*" mode="resource.list"/>
 
- </xsl:template>
 
- <!-- special case for root id on structure element -->
 
- <xsl:template match="/*" mode="resource.list">
 
-   <xsl:param name="root.resourceref">
 
-     <xsl:call-template name="object.id">
 
-       <xsl:with-param name="object" select="."/>
 
-     </xsl:call-template>
 
-   </xsl:param>
 
-   <resource>
 
-     <xsl:attribute name="fileref">
 
-       <xsl:apply-templates select="." mode="chunk-filename"/>
 
-     </xsl:attribute>
 
-     <xsl:attribute name="xml:id">
 
-       <xsl:choose>
 
-         <xsl:when test="$root.as.resourceref = 0">
 
-           <xsl:value-of select="concat($root.resourceref,$root.id.suffix)"/>
 
-         </xsl:when>
 
-         <xsl:otherwise>
 
-           <xsl:value-of select="$root.resourceref"/>
 
-         </xsl:otherwise>
 
-       </xsl:choose>
 
-     </xsl:attribute>
 
-   </resource>
 
-   <xsl:apply-templates select="*" mode="resource.list"/>
 
- </xsl:template>
 
- <!-- This one must be here because of the template in chunk-code.xsl -->
 
- <xsl:template match="@fileref" priority="1">
 
-     <xsl:copy-of select="."/>
 
- </xsl:template>
 
- </xsl:stylesheet>
 
 
  |