2016-07-25 11 views
-1

Проблема заключается в том, что мне нужно, чтобы проверить это состояние несколько раз с помощью XSL: когда и я хочу использовать XSL: функция как этотКак мы можем использовать XSL: функцию в XSL: когда

<xsl:function name="isPrime"> 
    <xsl:param name="var1"/> 
    <xsl:param name="var2"/> 
    <xsl:value-of select="$var1='0' and $var2=1"/> 
</xsl:function> 

<xsl:when test="isPrime($var1, $var2)"> 
.... 
<xsl:when test="isPrime($var1, $var2)"> 
.... 
<xsl:when test="isPrime($var1, $var2)"> 

находится там способ сделать это? или есть проблема вокруг такой проблемы?

+0

Проблема заключается не в том, что вам нужно X или что вы хотите, Y, проблема в том, что что-то терпит неудачу. Расскажите, как это не получается. –

+0

Что-то не в порядке. В моем коде длинный тестовый пример повторяется слишком много, и я хочу, чтобы мой код был более удобочитаемым и перезаписываемым. –

+0

Хорошо, это уже более сложная задача, чем раньше. Но я думаю, что вы оставили слишком много контекста, чтобы ответить на вопрос. Являются ли эти xsl: когда элементы в одном и том же xsl: выбирают? В том же шаблоне xsl:? или разбросаны вокруг таблицы стилей повсюду? –

ответ

0

Измените функцию ниже фрагмент кода

<xsl:function name="isPrime"> 
    <xsl:param name="var1"/> 
    <xsl:param name="var2"/> 
    <xsl:sequence select="$var1='0' and $var2=1"/> 
</xsl:function> 

И затем использовать функцию

<xsl:variable name="return_value" select="{isPrime($var1, $var2)}"/> 
<xsl:when test="{$return_value}"> 
+0

'' неверно, должно быть просто '', а 'xsl: when' просто' '. –

Смежные вопросы