|
Subject: [xsl] copy nodes based on the criteria From: "Senthil Nathan" <rsennat@xxxxxxxxx> Date: Fri, 7 Dec 2007 21:59:54 +0530 |
Hi,
Long time back I posted this and got a solution too. But I have some
issues with that. I have also given that XSL below, which I got from this
forum earlier.
Suppose orig.xml is as below,
<Root>
<Parent>
<Child1 Apply="1">
<Value>100</Value>
</Child1>
</Parent>
<sub1>
<Parent>
<a>
<value>5000</value>
</a>
<a Apply="1">
<value>3000</value>
</a>
<a Apply="7">
<value>7000</value>
</a>
</Parent>
</sub1>
<noParent Apply="1">
<value>1234</value>
</noParent>
<noParent Apply="10">
<value>1234</value>
</noParent>
</Root>
-->new.xml should be as,
<Root>
<Parent>
<Child1 Apply="1">
<Value>100</Value>
</Child1>
</Parent>
<sub1>
<Parent>
<a Apply="1">
<value>3000</value>
</a>
</Parent>
</sub1>
<noParent Apply="1">
<value>1234</value>
</noParent>
</Root>
XSL----->
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:x="http://www.w3.org/1999/xhtml"
xmlns:exslt="http://exslt.org/common"
xmlns:str="http://exslt.org/strings"
xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="x">
<xsl:template match="/">
<xsl:comment>Matched root node template</xsl:comment>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="//*[not(@Apply)]">
<xsl:comment>Matched "element without Apply attribute" template</xsl:comment>
<xsl:copy>
<xsl:copy-of select="@*" />
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template priority="2.0" match="//*[@Apply='1']">
<xsl:comment>Matched "element with Apply attribute = 1"
template</xsl:comment>
<xsl:copy>
<xsl:copy-of select="@*" />
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="//*[@Apply]">
<xsl:comment>Matched "element with Apply attribute that has some
other value" template</xsl:comment>
</xsl:template>
</xsl:stylesheet>
How can I select only the nodes with "Apply=1", drop everything else
like, apply=0 or any value and even if apply attribute is not there at
all. I need to still maintain the hierarchy. eg. Parent, sub1 etc did
not have apply attribute at all. But that has to be preserved, because
thats the hierarchy.
Thanks
Senthil
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Processing Instructions, Deborah Pickett | Thread | Re: [xsl] copy nodes based on the c, Mukul Gandhi |
| Re: [xsl] Processing Instructions, Andrew Welch | Date | RE: [xsl] Trouble getting the self , Chaudhary, Harsh |
| Month |