Книга: XSLT
Логические значения XPath
Логические значения XPath
Логические (Boolean) выражения XPath вычисляются либо в истину (true), либо в ложь (false), и обычно они используются только в предикатах. Для чисел ноль принимается за ложь, другие значения — за истину. Пустая строка, "", также считается ложью, все остальные строки — истиной.
Для генерации логических результатов true/false в XPath можно применять ряд логических операций, как мы видели в обзоре в главе 4:
• !=
означает «не равно»;
• <
означает «меньше, чем» (в документах XML используйте <
);
• <=
означает «меньше или равно» (в документах XML используйте <=
);
• =
означает «равно» (программисты на С, С++, Java и JavaScript, обратите внимание: эта операция пишется как один знак =, а не два);
• >
означает «больше, чем»;
• >=
означает «больше или равно».
Для связи логических выражений логическими операциями And и Or используются ключевые слова and
и or
, слово not
инвертирует логический смысл выражения, как в следующем примере, где я выбираю все элементы <PLANET>
, кроме первого и последнего:
<xsl:template match="PLANET[not(position() = 1) and not(position() = last())]">
<xsl:value-of select="."/>
</xsl:template>
Следующий пример уже встречался нам в главе 5, он использует логическую операцию not
и операции =
и !=
:
<xsl:template match="PLANET">
<xsl:if test="NAME[not(text())]">
<xsl:message terminate="yes">
Each planet must have a name!
</xsl:message>
</xsl:if>
<xsl:value-of select="NAME"/>
<xsl:choose>
<xsl:when test="position()!=last()">, </xsl:when>
<xsl:when test="position()=last()-1">and </xsl:when>
<xsl:otherwise>.</xsl:otherwise>
</xsl:choose>
</xsl:template>
Кроме того, имеется функция true
, всегда возвращающая истину, и функция false
, всегда возвращающая ложь. Есть также функция lang
, при помощи которой вы можете проверить язык, установленный в атрибуте документа xml:lang
: эта функция возвращает истину, если язык, который вы передали в эту функцию, такой же, как и установленный в документе язык.
Как вы видели, существуют все виды выражений XPath, в том числе возвращающие узлы, числа, строки и логические значения. Наиболее важным типом выражений XPath является путь расположения; для создания путей расположена XPath первоначально и задумывался, поэтому оставшаяся часть главы будет посвящена работе с ними.
- Предикаты: логические значения
- Логические функции XPath
- 4.10. Логические выражения
- Глава 6. XPath-выражения
- Глава 6 XPath-выражения
- Операции с булевыми значениями
- Шаги расположения XPath, часть 3: предикаты
- Типы данных XPath
- Строки XPath
- Выражения в значениях по умолчанию для доменов
- Значения переменных по умолчанию
- 1. Пустые значения (Empty-значения)