|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Filtering with multiple templates
> We need to allow multiple templates to select some of
> members. for example,
>
> the first template will get:
> <Member name="x">
> <Member name="z"/>
> </Member>
>
> the second template will get:
> <Member name="x">
> <Member name="w"/>
> </Member>
>
> If we run this two templates sequentially, we will
> get:
> <Member name="x">
> <Member name="z"/>
> </Member>
> <Member name="x">
> <Member name="w"/>
> </Member>
>
> But we want to get the following based on the original
> structure:
>
> <Member name="x">
> <Member name="z"/>
> <Member name="w"/>
> </Member>
>
> Please provide any idea that might help. Thanks a lot.
The output of applying two templates can be merged like this:
This transformation:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ext="http://exslt.org/common"
exclude-result-prefixes="ext">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="vrtfOut">
<xsl:call-template name="t1"/>
<xsl:call-template name="t2"/>
</xsl:variable>
<xsl:variable name="vOut" select="ext:node-set($vrtfOut)/*"/>
<xsl:for-each select="$vOut[1]">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:copy-of select="../*/*"/>
</xsl:copy>
</xsl:for-each>
</xsl:template>
<xsl:template name="t1">
<Member name="x">
<Member name="z"/>
</Member>
</xsl:template>
<xsl:template name="t2">
<Member name="x">
<Member name="w"/>
</Member>
</xsl:template>
</xsl:stylesheet>
when applied on any source.xml (not used), produces:
<Member name="x">
<Member name="z"/>
<Member name="w"/>
</Member>
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








