Subject: Re: Determining if an optional attribute is present
From: "Sam Carleton" <scarleton@xxxxxxxxxxxxxxxx>
Date: Tue, 17 Oct 2006 13:36:48 -0400
|
On 10/17/06, David Carlisle <davidc@xxxxxxxxx> wrote:
<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>
David,
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:
What I got:
<Method revision="4" objectID="85e29107-4686-4846-86b3-2280ab4157c9"
version="1"/>
What I would like to have in an idea world:
<Method objectID="85e29107-4686-4846-86b3-2280ab4157c9" version="1"
revision="4" />
Is that possible or must I be a little less anual on this one;)
Sam
--
Miltonstreet Photography
http://www.miltonstreet.com
|