Судя по вашему вопросу, вы хотите произвести:
<Data/>
в случае, если условие не выполнено.
Самый простой способ сделать это - не использовать <xsl:choose>
, а более простой <xsl:if>
:
<Data ss:Type="DateTime">
<xsl:if test="substring(EOI_StartDate, 0, 11)">
<xsl:value-of select="substring(EOI_StartDate, 0, 11)"/>
</xsl:if>
</Data>
Или, если вы хотите полностью пропустить элемент <Data>
, если условие не выполняется, то:
<xsl:if test="substring(EOI_StartDate, 0, 11)">
<Data ss:Type="DateTime">
<xsl:value-of select="substring(EOI_StartDate, 0, 11)"/>
</Data>
</xsl:if>
Наконец, если элемент <Data>
должен оставаться там, но вы не хотите, чтобы он считался датой, если условие не выполняется, сделайте следующее:
<xsl:choose>
<xsl:when test="substring(EOI_StartDate, 0, 11)">
<Data ss:Type="DateTime">
<xsl:value-of select="substring(EOI_StartDate, 0, 11)"/>
</Data>
</xsl:when>
<xsl:otherwise>
<Data ss:Type="String"> </Data>
</xsl:otherwise>
</xsl:choose>