используя символы в xsl - PullRequest
1 голос
/ 10 мая 2011

Я использую символы > в файле xsl, которые работают, но когда я использую как <=, он ничего не показывает.

Кто-нибудь может мне сказать, что с ним не так <= и какую альтернативу мне использовать?

<xsl:if test="price &lt; 100">
<xsl:if test="price > 100">

Ответы [ 3 ]

1 голос
/ 10 мая 2011

Спецификация W3C XML говорит, что литерал < недопустим в атрибуте (> в порядке):

Текст замены любого упомянутого объектачтобы прямо или косвенно в значении атрибута не должно содержаться <. </p>

Так что в атрибуте test необходимо экранировать <.Если ваше состояние price <= 100, вы должны записать его как:

<xsl:if test="price &lt;= 100">
1 голос
/ 11 мая 2011

Таблица стилей XSLT должна быть правильно сформированным документом XML.Вот почему символ < (и символ &) необходимо всегда экранировать, если они не находятся в разделе CDATA.

Используйте либо :

<xsl:if test="price &lt;= 100"> 

или, если вам не нравится убегать:

<xsl:if test="not(price > 100)"> 
0 голосов
/ 10 мая 2011

Вы должны экранировать от < до &lt;, как в первом примере кода.

> escape - &gt;.

Вы должны экранировать символы, которые имеют особое значение в XML - это <>"'&.

Хотя в атрибутах, использование > нормально.

См. этот ТАК вопрос и ответы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...