|
Subject: RE: [xsl] Use of xsl:number, ignoring some elements From: "Michael Kay" <mhk@xxxxxxxxx> Date: Wed, 4 Aug 2004 09:04:40 +0100 |
> I want to make the xsl:number to "ignore" some elements while
> counting, but
> I don't have the way to know which the elements are so I can't put any
> selection on the "count" attribute.
I'm afraid I'm having difficulty understanding the question. You must have
*some* way to know which elements you want to ignore!
> The main [Tamino query]
> I have is one that retrieves a HUGE XML document with a
> section like this one:
>
> <family>
> <siblings>
> <channelId>ch1</channelId>
> <channelId>ch2</channelId>
> </siblings>
> <children>
> <channelId>ch3</channelId>
> <channelId>ch4</channelId>
> <channelId>ch5</channelId>
> </children>
> </family>
>
> The templates that handle this piece go like this:
>
> <xsl:template match="family">
> <!-- Some HTML formatting (blah blah)-->
> <xsl:apply-templates select=".//channelId"/>
> <!-- Some HTML formatting (blah blah)-->
> </xsl:template>
>
> <xsl:template match="channelId">
> <xsl:variable name="myId" select="."/>
> <xsl:variable name="isA" select="name($canal/..)"/>
You hven't told us what $canal is!
> <!-- take the entire "channel" from database -->
> <xsl:variable name="createQuery"
> select="concat('retrieveCompleteChannel','?',channel=',$myId)"/>
> <xsl:variable name="show" select="document($createQuery)"/>
You're retrieving another document from the database here, but you haven't
told us what's in it!
>
> <xsl:call-template name="listing">
> <!-- some formating params -->
> <xsl:with-param name="toList" select="$show//completeChannel"/>
> <xsl:with-param name="isA" select="$isA"/>
> </xsl:call-template>
You haven't told us what's in $show.
>
> </xsl:template>
>
> <xsl:template name="listing">
> <!-- some formating params -->
> <xsl:param name="toList" select="$default//completeChannel"/>
You haven't told us what's in $default.
> <xsl:param name="isA" select="string('none')"/>
> <xsl:if test='count($toList/published)>0'>
> <!-- Some HTML formatting using isA -->
> <xsl:value-of select="$toList/desc"/> - <xsl:number/> <!-- show the
> number -->
> <!-- Some HTML formatting using isA -->
> </xsl:if>
> </xsl:template>
>
> The "listing" template is part of a library that's used
> everywhere on the
> system. I can change it only if it can be used in the rest of
> the templates
> (i.e. adding a param to indicate it's my template the one
> that's calling
> it).
> As an example output, let's say "ch1" and "ch3" complete
> channels has no
> elements inside, I would like to see on my output the following:
>
> Channel 2 - 1
> Channel 4 - 2
> Channel 5 - 3
I don't understand the relationship of this output to your input. Where do
the numbers 2,4,5 (and 1,2,3) come from?
>
> ps: If my Grammar makes the question difficult to understand,
> I will try to
> clarify.
It's difficult to understand the question, but the problem is nothing to do
with your grammar, which is perfect!
Michael Kay
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Use of xsl:number, ignoring s, Marina Cuello | Thread | [xsl] xsltproc complains about xsl:, Ed_Owen |
| RE: [xsl] FMPro, XSL eliminate dup , Kielen, Agnes | Date | RE: [xsl] How about xsl:fo to xml u, Michael Kay |
| Month |