xsl-list
[Top] [All Lists]

How to test if a named attribute exists and put the name of that attribute in an generic way

2003-04-07 02:52:25
Hello,

i am testing hardcoding following attribute refDB, if it not exists in the node 
$header, where in $header the attribute name corresponds to variable $colname, 
which is the attribute name in  the xml-source.

  <xsl:if test="string($header[(_at_)name=$colname]/@refDB) != ''  ">
   <xsl:attribute name="refDB"><xsl:value-of 
select="$header[(_at_)name=$colname]/@refDB"/></xsl:attribute>
  </xsl:if>

xml-source:
<col name="ktdbtr" title="Disposition Amount"></col>

xml-properties:
<header name="ktdbtr" inputType="text" refDB="Dispo" class="numberField" 
format="number" editable="0">Dispo Amount</header>

I am trying to do this now in a more generic way calling a template, trying to 
test for all attributes if they exists in the header to output them with their 
values.

like pseudo-code:
  <xsl:template name="outputAttribute">
    <xsl:param name="attributeName"/>
    <xsl:param name="attributeValue"/>
    <xsl:if test="string($attributeValue) != '' "><xsl:attribute 
name="$attributeName"><xsl:value-of 
select="$attributeValue"/></xsl:attribute></xsl:if>
-----------------------------------------------------------------------^
not possibly because of xsl-language either something like <xsl:attribute 
name="name($attributeValue)"> 
</xsl:template>

Thanks,

Hans Braumüller
PEACE IS WAR IS PEACE
http://plutokratie.com


                

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list