Subject: Re: [xsl] Determining if an optional attribute is present From: "Sam Carleton" <scarleton@xxxxxxxxxxxxxxxx> Date: Tue, 17 Oct 2006 13:36:48 -0400 |
<xsl:template match="Method|Cal|Blank"> <xsl:element name="{name()}"> <xsl:attribute name="objectID"><xsl:value-of select="@objectID"/></xsl:attribute> <xsl:attribute name="version"><xsl:value-of select="@version"/></xsl:attribute> <xsl:attribute name="revision"> <xsl:if test="@revision != ''"> <xsl:value-of select="@revision"/> </xsl:if> <xsl:if test="not(@revision)"> <xsl:text>0</xsl:text> </xsl:if> </xsl:attribute> <!-- the line below isn't the best either. I simply need to copy over all the children nodes, is there a better way? --> <xsl:apply-templates mode="copyNode"/> </xsl:element> </xsl:template>
I'd do
<xsl:template match="Method|Cal|Blank"> <xsl:copy> <xsl:attribute name="revision">0</xsl:attribute> <xsl:copy-of select="@objectID|@version|@revision|node()"/> </xsl:copy> </xsl:template>
I like the simplicity of using the copy/copy-of, that works GREAT and the revision almost works perfectly. At first I did not think it was there, but after some playing around I discovered that it was there, it just happened to be the first attirbute, not the last:
<Method revision="4" objectID="85e29107-4686-4846-86b3-2280ab4157c9" version="1"/>
<Method objectID="85e29107-4686-4846-86b3-2280ab4157c9" version="1" revision="4" />
Sam -- Miltonstreet Photography http://www.miltonstreet.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Determining if an optiona, David Carlisle | Thread | RE: [xsl] Determining if an optiona, Michael Kay |
RE: [xsl] Can't use variable as tem, Michael Kay | Date | Re: [xsl] zap some node s and chang, Davide Antoni |
Month |