Subject: Re: [xsl] Determining if an optional attribute is present From: "Sam Carleton" <scarleton@xxxxxxxxxxxxxxxx> Date: Tue, 17 Oct 2006 12:58:02 -0400 |
On Tuesday 17 October 2006 17:36, Sam Carleton wrote: > > <xsl:attribute name="revision"> > <xsl:if test="not(string(@revision)) = false()"> > <xsl:value-of select="@revision"/> > </xsl:if> > <xsl:if test="not(string(@revision))"> > <xsl:text>0</xsl:text> > </xsl:if> > </xsl:attribute> > What about:
<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>
you are making it too hard:-)
test="@revision" is the test you arre looking for, but you don't need the test at all.
replace
<node> <xsl:attribute name="revision"> <xsl:if test="not(string(@revision)) = false()"> <xsl:value-of select="@revision"/> </xsl:if> <xsl:if test="not(string(@revision))"> <xsl:text>0</xsl:text> </xsl:if> </xsl:attribute> </node>
by
<node revision="0"> <xsl:copy-of select="@revision"/> </node>
Ok, I don't fully understand how the replacement code works, considering there is no test in it. Here is the actual complete template, using Richard's code. There is a comment about
<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>
<xsl:template match="*" mode="copyNode"> <xsl:copy-of select="."/> </xsl:template>
Sam -- Miltonstreet Photography http://www.miltonstreet.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Determining if an optiona, Richard Lewis | Thread | Re: [xsl] Determining if an optiona, David Carlisle |
Re: [xsl] Question about table colu, G. Ken Holman | Date | Re: [xsl] Can axis specifiers be us, David Carlisle |
Month |