This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: TOC indents in XHTML?


It's much easier:

<xsl:for-each select="ancestor::part">
     <xsl:text>&#160;&#160;</xsl:text>
</xsl:for-each>

Don't use HTML-entities like &nbsp;, but Unicode &#160;, which is exactly 
the same!

Regards,

Joerg

Gustaf Liljegren wrote:

> I have made a stylesheet to convert an XML document format to XHTML.
> Documents conforming to the DTD is divided into a recursive <part> element.
> For each level of depth (nested <part> elements) I want another two spaces
> in the TOC, like this:
> 
> 1 The first chapter
>   1.1 Some sub-section of the first chapter
>   1.2 Another sub-section
> 2 Another chapter
>   2.1 A sub-section of the second chapter
>     2.1.1 A sub-sub-section.
>     2.1.2 Another sub-sub-section.
> 
> Currently, I have a template for the indents that looks like this:
> 
>   <xsl:template name="toc-indent">
>     <xsl:variable name="level" select="count(ancestor::part)"/>
>     <xsl:choose>
>       <xsl:when test="$level=0"><xsl:text
> disable-output-escaping="yes"></xsl:text></xsl:when>
>       <xsl:when test="$level=1"><xsl:text
> disable-output-escaping="yes">&amp;nbsp;&amp;nbsp;</xsl:text></xsl:when>
>       <xsl:when test="$level=2"><xsl:text
> disable-output-escaping="yes">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;</xsl:
> text></xsl:when>
>       <xsl:when test="$level=3"><xsl:text
> disable-output-escaping="yes">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;n
> bsp;&amp;nbsp;</xsl:text></xsl:when>
>       <xsl:when test="$level=4"><xsl:text
> disable-output-escaping="yes">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;n
> bsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;</xsl:text></xsl:when>
>       <xsl:when test="$level=5"><xsl:text
> disable-output-escaping="yes">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;n
> bsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;</xsl:text></xsl:when>
>       <xsl:otherwise><xsl:text
> disable-output-escaping="yes">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;n
> bsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;</xsl:text></xsl:other
> wise>
>     </xsl:choose>
>   </xsl:template>
> 
> It works, but it's not smart and far from beautiful. There is a better way
> to do it, isn't it? :-)
> 
> Gustaf
> 
> 
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 
> 


-- 

System Development
VIRBUS AG
Fon +49(0)341-979-7435
Fax +49(0)341-979-7409
joerg.heinicke@virbus.de
www.virbus.de


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]