[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Add one element, copy the rest


Subject: Re: [xsl] Add one element, copy the rest
From: S. Isaac Dealey <info@xxxxxxxxxx>
Date: Thu, 20 Oct 2005 09:32:40 -0400

The first template here will copy everything in the document, then the
2nd template will copy the card elements and create your titles.

<xsl:stylesheet>
	<xsl:template match="*">
		<xsl:copy>
			<xsl:copy-of select="@*" />
			<xsl:apply-templates />
		</xsl:copy>
	<xsl:template>

	<xsl:template match="//card">
		<xsl:copy>
			<xsl:copy-of select="@*" />
			<title>
				<xsl:value-of select="@title" />
			</title>
			<xsl:apply-templates />
		</xsl:copy>
	</xsl:template>
</xsl:stylesheet>

> How to transform:

> <?xml version="1.0"?>
> <!-- created by WAPtor (http://www.wapdrive.net/) -->
> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
> "http://www.wapforum.org/DTD/wml_1.1.xml">
> <wml>
>     <!-- THIS IS THE FIRST CARD IN THE DECK -->
>     <card id="MainCard" title="This is a first card">
>         <p align="left">text text text</p>
>     </card>
> </wml>

> into

> <?xml version="1.0"?>
> <!-- created by WAPtor (http://www.wapdrive.net/) -->
> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
> "http://www.wapforum.org/DTD/wml_1.1.xml">
> <wml>
>     <!-- THIS IS THE FIRST CARD IN THE DECK -->
>     <card id="MainCard" title="This is a first
>     card"><title>This is a
> first card</title>
>         <p align="left">text text text</p>
>     </card>
> </wml>

> The difference is only added <title> element as first
> <card> child
> element with content the same as title attribute. I know,
> I know that is not valid.

> Regards,
> Borut

s. isaac dealey   954.522.6080
new epoch : isn't it time for a change?

add features without fixtures with
the onTap open source framework

http://www.fusiontap.com
http://coldfusion.sys-con.com/author/4806Dealey.htm


Current Thread