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(_at_)onebox(_dot_)com - email
-----Original Message-----
From: Ram <sram_30(_at_)yahoo(_dot_)com>
Sent: Wed, 19 Nov 2003 08:21:57 -0800 (PST)
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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