This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
problem with proper numbering
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: [xsl] problem with proper numbering
- From: "Andreas Putscher" <andreasputscher at gmx dot at>
- Date: Tue, 2 Oct 2001 09:51:52 +0200
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi everybody,
I have a XML document I want to translate into a WML document, which should
include a table of contents linking to the other pages.
So I would like to transform "slidesets" and "slides" into "cards". The
problem I have is concerned with the numbering of the "cards".
a clipping of my code:
<!--TABLE OF CONTENTS WITH LINKS TO OTHER CARDS-->
<xsl:for-each select="slideset">
<card>
<xsl:attribute name="id"><xsl:number value="position()" format="a"/>
</xsl:attribute>
<xsl:attribute name="title"><xsl:value-of select="title"/></xsl:attribute>
<p><b><xsl:text>slideset </xsl:text><xsl:value-of select="title"
/></b></p>
<xsl:for-each select="./slide">
<p><a>
<xsl:attribute name="href">
<xsl:text>#</xsl:text><xsl:number value="position()" format="a"/>
</xsl:attribute>
<xsl:value-of select="./title"/>
</a></p>
</xsl:for-each>
</card>
</xsl:for-each>
<!--OTHER CARDS-->
<xsl:for-each select="slideset/slide">
<card>
<xsl:attribute name="id"><xsl:number value="position()"
format="a"/></xsl:attribute>
<xsl:apply-templates/>
</card>
</xsl:for-each>
As a result I get:
<!--TABLE OF CONTENTS OF FIRST SLIDESET-->
<card id="a" title="Basic Tests"><p><b>slideset Basic Tests</b></p>
<p><a href="#a">Para test</a></p>
<p><a href="#b">Preformatted test</a></p>
</card>
<!--TABLE OF CONTENTS OF SECOND SLIDESET-->
<card id="b" title="Item Drill Down Test"><p><b>slideset Item Drill Down
Test</b></p>
<p><a href="#a">Item and flat list</a></p>
<p><a href="#b">Item and bullet list</a></p>
</card>
<!--OTHER CARDS OF FIRST SLIDESET-->
<card id="a"><p><b>Para test</b></p></card>
<card id="b"><p><b>Preformatted test</b></p></card>
<!--OTHER CARDS OF SECOND SLIDESET-->
<card id="c"><p><b>Item and flat list</b></p></card>
<card id="d"><p><b>Item and bullet list</b></p></card>
So the position() function does not work in here as it starts numbering the
card-id with "a" again and again, but what I want is strictly ascending
numbering of the id.
I would like the result to look like:
<!--TABLE OF CONTENTS OF FIRST SLIDESET-->
<card id="a" title="Basic Tests"><p><b>slideset Basic Tests</b></p>
<p><a href="#c">Para test</a></p>
<p><a href="#d">Preformatted test</a></p>
</card>
<!--TABLE OF CONTENTS OF SECOND SLIDESET-->
<card id="b" title="Item Drill Down Test"><p><b>slideset Item Drill Down
Test</b></p>
<p><a href="#e">Item and flat list</a></p>
<p><a href="#f">Item and bullet list</a></p>
</card>
<!--OTHER CARDS OF FIRST SLIDESET-->
<card id="c"><p><b>Para test</b></p></card>
<card id="d"><p><b>Preformatted test</b></p></card>
<!--OTHER CARDS OF SECOND SLIDESET-->
<card id="e"><p><b>Item and flat list</b></p></card>
<card id="f"><p><b>Item and bullet list</b></p></card>
Can anybody help me with my problem?
Thanks in advance,
Andreas Putscher
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list