2013-09-11 7 views
1

Я знаю, это может показаться глупым/новичком, но я довольно новичок в XSLT (хотя я начинаю прийти к нему и увидеть его возможности).когда использовать xsl: если и когда использовать xsl: выберите/xsl: когда в XSLT

Когда это целесообразно использовать XSL: если и когда уместно использовать XSL: выбрать/XSL: когда?

Я использовал выбор/когда/иначе, когда я хочу иметь опцию «else». Это верно?

Например, есть некоторые места, где я делаю:

<xsl:choose> 
    <xsl:when test="count(entry) != 0"> 
    put positive outcome here 
    </xsl:when> 
    <xsl:otherwise> 
    put something else here 
    </xsl:otherwise> 
</xsl:choose> 

бы XSL: если быть лучше?

Спасибо за ввод.

+0

На каких языках вы знакомы? –

+0

@Damien_The_Unbeliever У меня есть .net-фон в основном в vb, хотя я могу делать C#, а также html, javascript, php, perl (со спины в день) и холодный синтез – jjasper0729

ответ

3

будет xsl: если будет лучше?

Не совсем - если вы не хотите иметь два xsl:if и убедитесь, что их условия являются взаимоисключающими.

xsl:choose всегда будет выбирать именно один из доступных xsl:when или xsl:otherwise

The <xsl:when> детей <xsl:choose> элемента не тестируются, чтобы сверху вниз, пока атрибут испытателем на одном из них элементы точно описывают условия в исходных данных или до достижения элемента <xsl:otherwise>. После того, как выбран элемент <xsl:when> или <xsl:otherwise>, выйдет блок <xsl:choose>. Никакой явный запрос break или exit не требуется.

Это удивительно похоже на switch заявление от C вдохновленных языков (C, C++, Java, C#) или Select...Case из Visual Basic

xsl:if не имеет эквивалента от таких языков в else статьи , поэтому я бы рекомендовал это, если вы хотите либо «что-то», либо нет (т. е. в случае, вы не хотите указывать альтернативу)

6

Используйте xsl:if для простых случаев, когда вы просто хотите если выражение истинно. (Обратите внимание, что нет соответствующих xsl:else.)

<xsl:if test="expression"> 
    output if the expression is true 
</xsl:if> 

Использования xsl:choose для случаев, когда у вас есть какой-то альтернативный выход, когда выражение является ложным.

<xsl:choose> 
    <xsl:when test="expression"> 
     output if the expression is true 
    </xsl:when> 
    <xsl:otherwise> 
     output if the expression is false 
    </xsl:otherwise> 
</xsl:choose> 
Смежные вопросы