Hey Darren,
You need to wrap the "attributeName" xsl:with-param select value within
ticks or a string() function call.
What's happening is that the parser is looking for an element within the
given context named Parcel_Sequence_number, and obviously doesn't find one
... so, an empty/null node-list is passed in as the arguement.
Try this:
<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'"/> <!-- Here's the change -->
<xsl:with-param name="attributeValue"
select="./Parcel/@Parcel_Sequence_Number"/>
</xsl:call-template>
etc etc etc
</xsl:element>
</xsl:element>
</xsl:template>
HTH,
Jeff
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list