=> Главная База Знаний Xslt Function-available()


Function-available()

function-available()

При помощи функции XSLT 1.0

function-available
можно проверить наличие функции расширения:

boolean function-available(function-name)

Функция принимает в качестве параметра имя искомой функции и, если функция доступна, возвращает истину, если нет — ложь.

Следующий пример мы уже рассматривали в главе 5. В этом случае я хочу выполнить ряд математических операций при помощи функции расширения

starpowder:calculate
, и если она отсутствует, вывести в результирующий документ текст «Sorry, can't do math today.» (Извините, сегодня математические вычисления не работают.). Можно, конечно, также прекратить обработку и вывести сообщение об ошибке при помощи элемента
<xsl:message>
:

<xsl:choose xmlns:starpowder="http://www.starpowder.com">

 <xsl:when test="function-available('starpowder:calculate')">

  <xsl:value-of select="starpowder:calculate('2+2')"/>

 </xsl:when>

 <xsl:otherwise>

  <xsl:text>Sorry, can't do math today.</xsl:text>

 </xsl:otherwise>

</xsl:choose>