Altova Mailing List Archives>Archive Index >microsoft.public.xsl Archive Home >Recent entries >Thread Prev - If i have an apply template how can i break out of the node to process and move back 2 nodes >Thread Next - Re: If i have an apply template how can i break out of the node to process and move back 2 nodes Re: If i have an apply template how can i break out of the node to process and move back 2 nodesTo: NULL Date: 10/4/2007 6:43:00 AM
"rote" <naijacoder@h...> wrote in message
news:Ohyiq0lBIHA.4496@T......
>I have a variable like so but 'm using an apply templates
>
> <xsl:apply-templates select="lv:Rows/lv:ListViewRow/lv:RowValues">
>
> <xsl:with-param name="fields" select="lv:Fields"/>
>
> </xsl:apply-templates>
>
>
> I would like to break out from the apply template and use the variable
> below
> You will notice that the apply templates above node ficnishes at
> lv:RowValues but i need /lv:ListView/lv:Rows/lv:ListViewRow
>
>
> <xsl:variable name="listViewRowID"
> select="/lv:ListView/lv:Rows/lv:ListViewRow/@Id" />
>
> <a href="{$DispUrl}?ID={$listViewRowID}&Source={$currentPage}">
>
> <xsl:value-of select="$fieldValueParts/lv:ListViewRowValuePart[position()
> = 1]/text()"/>
>
> </a>
>
> Any ideas
>
>
Not sure what you mean by break out and don't have the full structure of
your XML to hand but you can use the parent axis to move up the tree, the
parent axis is normally shortened to two full stops (..).
So if you are currently at lv:RowValues the parent is rached via .. and the
parent's Id attribute is ../@Id.
As an aside 'lv:ListViewRowValuePart[position() = 1]' can be shortened to
'lv:ListViewRowValuePart[1]', the 'position() =' is implicit for integer
predicates.
--
Joe Fawcett (MVP - XML)
http://joe.fawcett.name
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
