|
Subject: RE: [xsl] How to copy the previous operations? From: Ram <sram_30@xxxxxxxxx> Date: Thu, 20 Nov 2003 00:49:46 -0800 (PST) |
Charles,
Actually, the input xml file is a dynamic one and the number of 'group'
is arbitrary.
"If a group identifier is followed by an identifier which was already
defined before, then the signature part of that group identifier should be
added to this signature part".
I understand that I should use some recursive structure to fix this.
But, I don't know how.
What I tried was:
<xsl:template match="group">
<xsl:variable name="groupID" select="identifier"/>
group<xsl:text> </xsl:text><xsl:value-of
select="$groupID"/>Interface {
<xsl:call-template name="generation"/>
<xsl:apply-templates select="generation"/>
<xsl:apply-templates select="group"/>
}
</xsl:template>
<xsl:template name="generation" match="signature">
<!--How the signature part output should look like goes here-->
<!--Copying the previous group identifier signature part-->
<xsl:if test="identifier[2]= preceding::group/identifier">
<xsl:copy>
<xsl:apply-templates select="preceding::group/signature"/>
</xsl:copy>
</xsl:if>
</xsl:template>
But, couldn't get the desired output.
BR,
Ram
--- cknell@xxxxxxxxxx wrote:
> You've got a misconception about the process of creating a new tree of
> nodes that is tipped by this statement " (which should have already
> copied the first group identifier a's signature part)".
>
> A stylesheet refers only to the input tree and itself. I does not have
> read access to the output tree. Therefor the notion that your stylesheet
> can refer to a tree fragment that has been "already copied" is fatally
> flawed.
>
> I think this problem can be resolved by recursive calls to a named
> template, but there isn't enough information to decide exactly how it
> should be structured. Is there a set number of <group> elements in a
> document, or is this arbitrary?
> --
> Charles Knell
> cknell@xxxxxxxxxx - email
>
>
>
> -----Original Message-----
> From: Ram <sram_30@xxxxxxxxx>
> Sent: Wed, 19 Nov 2003 08:21:57 -0800 (PST)
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] How to copy the previous operations?
>
> Hi,
> Can anyone help me out how to copy the previous operations?
> The xml source would look like this:
>
> <formatted-xml>
> <group><identifier>a</identifier>
> <signature>signature <identifier>DNSQuery1</identifier>
> <in>in<long>long</long><identifier>ant</identifier></in>
> </signature>
> </group>
> <group><identifier>b</identifier><identifier>a</identifier>
> <signature>signature<identifier>DNSQuery2</identifier>
>
>
>
>
<inout>inout<string>string</string><identifier>grass</identifier></inout>
> </signature>
> </group>
> <group><identifier>c</identifier><identifier>b</identifier>
> <signature>signature<identifier>DNSQuery3</identifier>
>
>
> <out>out<boolean>boolean</boolean>
> <identifier>fish</identifier></out>
> </signature>
> </group>
> </formatted-xml>
>
> What I have to do is, I should copy the signature part the first
> group
> identifier 'a' to the signature part in group identifier 'b', because it
> is followed by the group identifier 'a'.
> Similarly, the third group identifier 'c' is followed by the second
> group identifier 'b' (which should have already copied the
> first group identifier a's signature part) and so the second group
> identifier's signature part should be copied to the third group
> identifier
> signature part.
>
> I tried the following xsl.
>
> <xsl:template match="group">
> <xsl:if test="identifier[2]= preceding::group/identifier">
> <xsl:copy>
> <xsl:apply-templates select="preceding::group/signature"/>
> </xsl:copy>
> </xsl:if>
> </xsl:template>
>
> But it didn't work.
>
> Thanks and regards,
> Ram
>
>
> __________________________________
> Do you Yahoo!?
> Protect your identity with Yahoo! Mail AddressGuard
> http://antispam.yahoo.com/whatsnewfree
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] How to copy the previous , cknell | Thread | [xsl] Combining xsls with some extr, Dipesh Khakhkhar |
| [xsl] Table alternate rows colors w, Michael Tihon | Date | RE: [xsl] Combining xsls with some , Andrew Welch |
| Month |