Subject: <xsl:copy-of> question From: "Hunter, David" <dhunter@xxxxxxxxxxxx> Date: Wed, 15 Dec 1999 15:50:14 -0500 |
Suppose I have the following XML: <employee FullSecurity="0"> <name>John Doe</name> <department>Widget Sales</department> <phone>(555)555-5555<extension>2974</extension></phone> <salary>62,000</salary> <area>3</area> </employee> I want to create a very simple XSL stylesheet which does the following: If the FullSecurity attribute evaluates to "true", then copy all of the source tree to the result tree. If the FullSecurity attribute evaluates to "false", copy all of the source tree *except for the <salary> element* to the result tree. The closest I can get is something like the following: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:choose> <xsl:when test="number(/employee/@FullSecurity)"><xsl:copy-of select="/"/></xsl:when> <xsl:otherwise> <employee> <xsl:copy-of select="//name | //department | //phone | //area"/> </employee> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> Is there a more succinct way of saying "copy all of the <employee> element to the result tree *except* for the <salary> element"? If it matters, I'm using the Win32 executable version of XT, but I want something that's totally generic, so I'd rather not use extension functions. David Hunter MobileQ david.hunter@xxxxxxxxxxx http://www.MobileQ.com XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Why isn't node-set built in?, Paul W. Abrahams | Thread | Re: <xsl:copy-of> question, Nikolai Grigoriev |
Re: OpenXSL?, disco | Date | RE: Special entity characters in Sh, Douglas Weed |
Month |