Вот для чего <xsl:text>
:
<xsl:variable name="grid_position">
<xsl:choose>
<xsl:when test="count(/Element) >= 1">
<xsl:text>inside</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>outside</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
Это позволяет вам структурировать код и для контроля пробелов одновременно.
На самом деле, вы должны избегать текстовых узлов в XSL, которые не заключены в <xsl:text>
, чтобы избежать подобных ошибок в будущем (например, когда код будет переформатирован или переформатирован позже).
Для простых случаев, как в вашем примере, выполнение того, что предлагает Джим Гаррисон , также возможно.
В качестве альтернативы, проверка на существованиеэлемента с count()
является излишним.Достаточно выбрать его, так как пустой набор узлов оценивается как false
.
<xsl:when test="/Element">