|
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 |