Оператор «меньше» вызывает ошибку «неправильно сформирован» в xsl-if

Я прошёл учебное пособие по W3cschools XSLT и нахожусь на этой странице: xsl-if .

На этой странице (красным цветом). ) это текст . Это работает. Я изменил код для использования " & lt; ", и это тоже отлично работает.

Я тестировал (обратите внимание на использование > вместо & gt; ). Это тоже работает.

Но это не получается: . Ошибка: Ошибка синтаксического анализа XML: неправильно сформирована , и она указывает на символ в выражении.

Если символ > работал нормально, почему Не удалось ли использовать ? (Я использую FireFox)

12
задан Zabba 19 August 2010 в 21:57
поделиться

3 ответа

Если символ> работал нормально, почему используя

Потому что символ «<» - один из немногих, которые недопустимы в значении атрибута (это символ начала тега).

Из Спецификации XML

[10]    AttValue    ::=    '"' ([^<&"] | Reference)* '"' 

Как ясно видно, символы «<» и «&» не допускаются ни в каком значении атрибута.

Обновление : Как заметил @Tomalak, выше должно читаться:

Как можно ясно видеть, символы «<» и «&» (если последний не является частью ссылки на сущность или ссылки на символ ) не допускаются ни в одном значении атрибута.

12
ответ дан 2 December 2019 в 07:01
поделиться

Вы также можете посмотреть ответ на этот вопрос на w3schools:

http://www.w3schools.com/xmL/xml_syntax.asp

Ссылки на сущности

Некоторые символы имеют особое значение в XML.

Если вы поместите такой символ, как "<" внутри элемента XML, это приведет к возникнет ошибка потому что синтаксический анализатор интерпретирует его как начало нового элемента.

6
ответ дан 2 December 2019 в 07:01
поделиться

Незакодированная «открывающая» скобка < обычно недопустима в значениях атрибутов XML согласно спецификации XML .

Хотя «закрывающая» скобка > разрешена, использование ее на самом деле является плохим стилем (ИМХО). Значения атрибутов XML должны быть закодированы в XML, точка.

4
ответ дан 2 December 2019 в 07:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: