Subject: Re: [xsl] Remove parent node for the specific child nodes From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Tue, 12 Feb 2008 14:42:22 +0000 |
On 12/02/2008, Michael Daniloff <mdanilof@xxxxxxxxx> wrote: > Using XSLT 1.0, MSXML > > I have to transform the following xml file: > > <sect> > <p> > <moveFromRangeStart w:id="22"/> > <moveFrom id="23"> > <r> > <t>want theparagraph to disappear</t> > </r> > </moveFrom> > <p> > > <p> > <r> > <t>leave this</t> > </r> > <moveFromRangeStart w:id="24"/> > <moveFrom id="25"> > <r> > <t>more text here</t> > </r> > </moveFrom> > <p> > > <p> > <r> > <t>leave this too</t> > </r> > <moveFromRangeStart w:id="29"/> > <moveFrom id="30"> > <r> > <t>more text to be removed here</t> > </r> > </moveFrom> > <r> > <t>and this</t> > </r> > <p> > </sect> > > into this: > > <sect> > <p> > <r> > <t>leave this</t> > </r> > <p> > > <p> > <r> > <t>leave this too</t> > </r> > <r> > <t>and this</t> > </r> > <p> > </sect> > > As you can see, I have to eliminate moveFrom and > moveFromRangeStart nodes and if there are no any other > siblings then remove the parent <p> node. Use the identity template with: <xsl:template match="moveFrom|moveFromRangeStart"/> <xsl:template match="p[count(*) = count(moveFrom|moveFromRangeStart)]"/> cheers -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Remove parent node for the sp, Michael Daniloff | Thread | Re: [xsl] Remove parent node for th, Martin Honnen |
[xsl] Remove parent node for the sp, Michael Daniloff | Date | [xsl] Default namespaces, White, Clinton |
Month |