Книга: XSLT
Выбор текстовых узлов при помощи text()
Выбор текстовых узлов при помощи text()
Выбрать текст узла можно при помощи образца "text()
". Как правило, нет особых причин применять условие узла text
. В XSLT существует правило по умолчанию, в соответствии с которым текст текстового узла включается в выходной документ, если этот узел не выбирается какими-либо другими правилами. Если нужно сделать это правило по умолчанию явным, можно поступить, например, так:
<xsl:template match="text()">
<xsl:value-of select="."/>
</xsl:template>
Можно перекрыть это правило, не отправляя текст из текстовых узлов в выходной документ, — в том числе так:
<xsl:template match="text()">
</xsl:template>
Потребность в применении условия текстового узла возникает, например, когда нужно выбрать узлы с определенным текстом. Предикат "NAME[text()='Venus']
" выбирает элементы <NAME>
, в которых содержится имя "Venus
". (Будьте внимательны с вложением кавычек, чтобы процессор XSLT не ошибся, — например, такой предикат не работает: "NAME[text()="Venus"]
".) Еще одна причина для использования условия текстового узла появляется, когда требуется применить к текстовым узлам некоторое условие при помощи строковых функций XPath (которые будут рассмотрены позже в этой главе). Например, текстовый узел "Earth
" в <NAME>Earth</NAME>
выбирается образцом "text()[starts-with(.,'Е')]
".
КАК УБРАТЬ КОММЕНТАРИИ
Ранее мы видели, что образец "@*|node()" (в котором используется операция OR, обсуждаемая позже) выбирает из файла planets.xml все, включая комментарии. Если вы хотите убрать комментарии, воспользуйтесь образцом "@*|*|text()", который сохраняет только элементы, атрибуты и текстовые узлы.
- Выбор узлов при помощи node()
- Выбор стратегии ценообразования
- Выбор аппаратного обеспечения для InterBase
- Рекомендации по выбору архитектуры: Classic или SuperServer?
- Ограничение результатов выборки FIRST
- 15.3. Обработка изображений при помощи RMagick
- Факторы помощи
- Операции с множествами узлов
- Выбор спутника жизни
- 1. Унарная операция выборки
- 1. Операция выборки.
- Texture Size