Язык XML


Булевы значения - часть 2


Если ни один из подлежащих сравнению объектов не является набором узлов, а оператором является <=, <, >= или >, то сравниваемые объекты сперва преобразуются в числа, а затем выполняется сравнение этих чисел в соответствии с требованиями IEEE 754. Оператор сравнения < будет давать true тогда и только тогда, когда первое число меньше второго. Оператор сравнения <= будет давать true тогда и только тогда, когда первое число меньше или равно второму. Оператор сравнения > будет давать true тогда и только тогда, когда первое число больше второго. Оператор сравнения >= будет давать true тогда и только тогда, когда первое число больше или равно второму. Замечание: Если в XML документе встречается выражение XPath, то операторы < и <= должны быть маскированы в соответствии с правилами XML 1.0, например, заменой на &lt; и &lt;= соответственно. В следующем примере значением атрибута test является выражение XPath: <xsl:if test="@value &lt; 10">...</xsl:if>

[21]   

OrExpr

   ::=   

| 'or'

[22]   

AndExpr

   ::=   

| 'and' EqualityExpr

[23]   

EqualityExpr

   ::=   

| '='

| '!='

[24]   

RelationalExpr

   ::=   

| '<'

| '>'

| '<='

| '>='

Замечание: Согласно представленной выше грамматике, операторы будут иметь следующий порядок приоритета (наименьший приоритет идет первым):

  • or

  • and

  • =, !=

  • <=, <, >=, >

    Все указанные операторы имеют ассоциативность слева. Например, выражение 3 > 2 > 1 эквивалентно выражению (3 > 2) > 1, имеющему значение false.




    - Начало -  - Назад -  - Вперед -