Re: [xsl] dynamic node access

Subject: Re: [xsl] dynamic node access
From: RQamar <qamar_rahil@xxxxxxxxxxx>
Date: Mon, 21 Feb 2005 17:19:41 +0000
David Carlisle wrote:

Then you might need something

<xsl:template match="/">
       <PrimeConcept><xsl:apply-templates select="something"mode="top"/></PrimeConcept>
       <SubConcept><xsl:apply-templates select="something else "mode="somethingelse"/></SubConcept>

or you might not.

I wrote my code in this form initially although I didnt think it was ideal for my requirement.

By writing a <SubConcept> node in this form, the output xml file ensures that a <SubConcept> node definitely exists. However, I want the output xml file to have a <SubConcept> node only if

(i) A <TopNode> Car is found in the input xml, and
(ii) A <TopNode> Toyota is found in the input xml provided (i) is true, which is why I have an <xsl:if> clause nested within another <xsl:if> clause.

My input file is very large so Im not sure whether it makes sense to post the entire doc but a snippet of it is

<TopNode id="10180" name="Car">
          <Concept name="Toyota" ref="10235"/>
<TopNode id="10235" name="Toyota">
          <Concept name="Corolla" ref="10279"/>
</TopNode >
<TopNode id="10279" name="Corolla"/>


Is it possible to do what I want? One way I was thinking of coming round this problem is to declare a global variable and then assign it a value locally (I know there are some issues with assignment in XSLT and Im reading them at the moment). This variable will contain a boolean value of whether 'Toyota' exists from the inner <xsl:if> clause and only call the <SubConcepts> <xsl:apply-template> if the value is 'true'. Dont know if its the best approach but that was one way I was thinking of resolving the issue.



but only you know what your input looks like or what transformation you
are trying to do.


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:

Current Thread