В чем разница между двумя приведенными ниже кодами? Оба кода проверяют, существует ли атрибут в теге или нет:
<xsl:choose>
<xsl:when test="string-length(DBE:Attribute[@name='s0SelectedSite']/node()) > 0">
<table>
...
</table>
</xsl:when>
<xsl:otherwise>
<table>
...
</table>
</xsl:otherwise>
</xsl:choose>
и
<xsl:if test="@Col1-AllocValue">
<xsl:copy-of select="@Col1-AllocValue"/>
</xsl:if>