Hi Jeff,
A cut down source doc is as follows, I have many many attributes on the
parcel element but you should get the idea :
<ShipmentParcelEvent>
<Parcel action="update" Parcel_Sequence_Number="1"
Disposal_Receipt_Indicator_RDCOD_FK="10100" Parcel_Type="PURCHASE" </Parcel>
</ShipmentParcelEvent>
The cut down xsl is as follows :
<xsl:template match="/ShipmentParcelEvent">
<xsl:element name="ShipmentParcelEvent">
<xsl:element name="Parcel">
<xsl:call-template name="checkAttributeNotNull">
<xsl:with-param
name="attributeName" select="Parcel_Sequence_number"/>
<xsl:with-param
name="attributeValue" select="./Parcel/@Parcel_Sequence_Number"/>
</xsl:call-template>
etc etc etc
</xsl:element>
</xsl:element>
</xsl:template>
Hope this is enough info........
Thx
Darren
-----Original Message-----
From: Jeff Beadle [mailto:Jbeadle(_at_)manh(_dot_)com]
Sent: 10 October 2003 13:29
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Setting name attribute of <xsl:attribute>
Hey Darren,
Please submit the relevant portion of your source document.
Also, where are the select attributes pulling from for the xsl:with-param
elements in the xsl:call-template? Are they elements within the context of
the given call?
-Jeff
-----Original Message-----
From: Witham, Darren (Contractor) [mailto:withd2(_at_)bp(_dot_)com]
Sent: Friday, October 10, 2003 7:50 AM
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Setting name attribute of <xsl:attribute>
Hi,
I have what I hope is an easy issue to solve but my varying attempts to do
so have not been successful. I have an xsl stylesheet which transforms some
xml into another xml format.
I only wish to generate XML in the output xml file if attributes in the
src xml exist. At present I have a number of <xsl:if test......> directives
to check if an attribute is present before processing.
I would like to remove the need for the <xsl:if test......> and want to
call a template to do the check and process if need be.....
My template is
<!--
Helper template that only pushes out out XML if value of attribute
to publish is not null
-->
<xsl:template name="checkAttributeNotNull">
<xsl:param name="attributeName"/>
<xsl:param name="attributeValue"/>
<xsl:if test="$attributeValue">
<xsl:attribute name="{$attributeName}">
<xsl:value-of select="$attributeValue" />
</xsl:attribute>
</xsl:if>
</xsl:template>
And I call if via :
<xsl:call-template name="checkAttributeNotNull">
<xsl:with-param name="attributeName" select="anAttName"/>
<xsl:with-param name="attributeValue" select="anAttValue"/>
</xsl:call-template>
The problem I have is within the template I call. I cannot seem to set
the name of the attribute I am trying to create with the parameter
'attributeName'. ( i.e with <xsl:attribute name="{$attributeName}">)
I have tried all sorts of combinations except for the correct one. I
thought I could set this value at runtime ?????
Any pointers appreciated.
Thx
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list