|
Subject: Re: [xsl] incrementing the index value From: Arulraj <p_arulraj@xxxxxxxxx> Date: Thu, 9 Jun 2005 06:20:55 -0700 (PDT) |
Hello David,
Thanks for the solution.
But in my XML. I get <Box> within another <Box> and we
may get somemore parent <Box> element.
In that case, if i use following way
<xsl:apply-templates select="Box/Box/textbox"/>
It wont give me proper output.
So, I am looking for any Varaible assigning.
Please suggest me.
thanks in advance
regards,
Arul
<?xml version="1.0" encoding="UTF-8"?>
<Layout>
<Box>
<textbox id="textbox">
<value/>
</textbox>
<label name="LabelField1">
<value>Label field1</value>
</label>
<textbox id="textbox1">
<value/>
</textbox>
<label name="LabelField">
<value>Label field</value>
</label>
</Box>
<Box>
<Box>
<textbox id="TextBox2">
<value/>
</textbox>
<textbox id="TextBox3">
<value/>
</textbox>
<label name="LabelField3">
<value>Rajan</value>
</label>
<label name="LabelField2" >
<value>Arul</value>
</label>
</Box>
</Box>
</Layout>
--- David Carlisle <davidc@xxxxxxxxx> wrote:
>
> If you wantto use position() then you need to make
> sure that you only
> select the nodes you want
>
> If you do this:
>
> <xsl:for-each select="child::*">
> <xsl:choose>
> <xsl:when test="self::textbox">
>
> then all element children will be selected (and get
> a position,
> accordingly, but you only use textbox children so
> there will be gaps in
> your ordering.
>
> If instead you do
>
> <xsl:for-each select="textbox">
> <xsl:call-template name="getintoBox"/>
> then only testbox children will be selected
>
> using xsl:for-each and call-template makes things
> unnecessarily
> complicated, it would be more natural to templaes
> using match= rather
> than name= and then use
>
> <xsl:apply-templates select="textbox"/>
>
> I think in this case you want
>
> <xsl:template match="Layout">
> <taborder>
> <fieldlist>
> <xsl:apply-templates select="Box/textbox"/>
> </fieldlist>
> </taborder>
> </xsl:template>
>
> <xsl:template match="textbox">
> <field name="{@id}" tabindex="{position()}"/>
> </xsl:template>
>
>
>
> > I want to use the variable and incretment the
> count.
>
> Your code (and my modification of it) don't use
> variables so I didn't
> understand this comment.
>
> David
>
>
________________________________________________________________________
> This e-mail has been scanned for all viruses by
> Star. The
> service is powered by MessageLabs. For more
> information on a proactive
> anti-virus service working around the clock, around
> the globe, visit:
> http://www.star.net.uk
>
________________________________________________________________________
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] incrementing the index va, David Carlisle | Thread | Re: [xsl] incrementing the index va, David Carlisle |
| RE: [xsl] Importing compiled styles, Michael Kay | Date | Re: [xsl] incrementing the index va, David Carlisle |
| Month |