Subject: Re: [xsl] Get children and text, excluding a child From: "Ryan Graham ryan.graham@xxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 12 Jun 2015 22:19:41 -0000 |
You could also do an identity transform, omitting number elements with an empty template match: <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="@*|*"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="number"/> Thanks, Ryan On 6/12/15, 1:50 PM, "Rick Quatro rick@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: >I think I figured it out: > ><?xml version="1.0" encoding="UTF-8"?> ><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > exclude-result-prefixes="xs" > version="2.0"> > > <xsl:output method="xml" indent="yes"/> > > <xsl:template match="/root"> > <root> > <xsl:for-each select="span"> > <span><xsl:copy-of >select="*[not(self::number)]|text()"/></span> > </xsl:for-each> > </root> > </xsl:template> > ></xsl:stylesheet> > >-----Original Message----- >From: Rick Quatro rick@xxxxxxxxxxxxxx >[mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx] >Sent: Friday, June 12, 2015 4:45 PM >To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx >Subject: [xsl] Get children and text, excluding a child > >Hello, > >Here is my input xml: > ><?xml version="1.0"?> ><root> > <span><number>9.3</number> <code>protected</code> members</span> > <span><number>9.4</number> miscellaneous members.</span> </root> > >Here is the desired output: > ><?xml version="1.0"?> ><root> > <span> <code>protected</code> members</span> > <span> miscellaneous members.</span> ></root> > >I want to output all of the elements and text of the original <span> >element, but without the <number> element. I am using this for my xsl: > ><?xml version="1.0" encoding="UTF-8"?> ><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > exclude-result-prefixes="xs" > version="2.0"> > > <xsl:output method="xml" indent="yes"/> > > <xsl:template match="/root"> > <root> > <xsl:for-each select="span"> > <xsl:copy-of select="descendant::*[not(self::number)]"/> > </xsl:for-each> > </root> > </xsl:template> > ></xsl:stylesheet> > >This is my current (incorrect) output: > ><?xml version="1.0" encoding="UTF-8"?> ><root> > <code>protected</code> ></root> > >Any help or pointers would be appreciated. Thanks. > >Rick Quatro >Carmen Publishing Inc. >585-366-4017 >rick@xxxxxxxxxxxxxxx
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Get children and text, ex, John Lumley john@xxx | Thread | Re: [xsl] Get children and text, ex, Ryan Graham ryan.gra |
Re: [xsl] Get children and text, ex, John Lumley john@xxx | Date | Re: [xsl] Get children and text, ex, Ryan Graham ryan.gra |
Month |