I am 95% through writing a driver using the IDM 3.5 Driver that does
not use DSMLv2 or SPML 1.0.

It is writing to IBM Tivoli Access Manager via a custom made Web
Service.

They have decided that the WSDL we were using, which used attributes,
is causing issues with the standard tools supplied by IBM/Tivoli.

So they have changed to WSDL to an all element design.

What I need to know quickl yis how I can convert the following logic
in my output transform to convert the IDVault attributes to the WSDL
elements

xsl:for-each select="add-attr">
<xsl:variable name="name"
select="string(@attr-name)"/>
<xsl:variable name="value"
select="string(.)"/>
<!-- Check if variable has a value -->
<xsl:if test="$value">
<!-- Turn variables into attributes and add to
request. -->
<attr>
<xsl:attribute
name="name">
<xsl:value-of select="$name"/>
</xsl:attribute>
<value>
<xsl:value-of select="$value"/>
</value>
</attr>
</xsl:if>
</xsl:for-each>

I tried to find an easy to understand solution but everybody seems to
think you are a Professor is XSLT and never five examples.