2012-06-08 3 views

ответ

6

Утверждение IF разрешено ИЛИ условие?

Нет, но у XPath есть оператор or - обратите внимание, что XPath является регистром, чувствительным к регистру.

Выражение XPath в предоставленном коде:

node = '1' or node='2' 

синтаксически корректен.

or является standard XPath operator и может использоваться для объединения двух подвыражений.

[33] OperatorName :: = 'and' | 'или' | 'mod' | 'DIV'

Вот полный пример преобразования XSLT:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="node()|@*"> 
    <xsl:copy> 
    <xsl:apply-templates select="node()|@*"/> 
    </xsl:copy> 
</xsl:template> 

<xsl:template match="num[ . = 3 or . = 5]"/> 
</xsl:stylesheet> 

Когда это преобразование применяется на следующий документ XML:

<nums> 
    <num>01</num> 
    <num>02</num> 
    <num>03</num> 
    <num>04</num> 
    <num>05</num> 
    <num>06</num> 
    <num>07</num> 
    <num>08</num> 
    <num>09</num> 
    <num>10</num> 
</nums> 

разыскиваемый, правильный результат (все элементы скопированы за исключением <num>03</num> и <num>05</num>:

<nums> 
    <num>01</num> 
    <num>02</num> 
    <num>04</num> 
    <num>06</num> 
    <num>07</num> 
    <num>08</num> 
    <num>09</num> 
    <num>10</num> 
</nums> 
1

Вы можете использовать или точно так же, как в своем примере. Here - поддерживаемые операторы в XSLT.

+0

Oleksi: Операторы языка XPath соответствуют спецификации W3C - это единственный нормативный * документ для XPath. ** Публикация ссылки на w3schools является неправильной и фактически плохой совет для OP **. Узнайте больше о надежности w3schools по адресу: http://w3fools.com/ –

+0

Ссылка сейчас 404. – dummy

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