#string #xslt #constants
#строка #xslt #константы
Вопрос:
для выражения
<h1 title="{title}: {short-description}">
если заголовок содержит одинарную кавычку в значении, это приводит к ошибке константы unterminated string . Как я могу исправить эту ошибку?
Заранее спасибо, Алекс.
Комментарии:
1. Нет повтора . Этот ввод
<title>'</title>
с выводом этой таблицы стилей<h1 title="{title}" xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:exclude-result-prefixes="xsl"/>
<h1 title="'" />
2. Как сказал Алехандро, я также не могу воспроизвести эту ошибку. Я пробовал Xalan, Saxon 6.5.5 и Saxon 9.3. Вы уверены, что ошибка не в том, что
h1
элемент не закрыт? Какой процессор вы используете и каково точное сообщение об ошибке?
Ответ №1:
Вероятно, вам нужно иметь это как
<h1 title="{title}: {short-description}">
... some value here for the h1 to display ...
</h1>
В качестве альтернативы вы могли бы сделать следующее:
<xsl:element name="h1">
<xsl:attribute name="title">
{title}: {short-description}
</xsl:attribute>
... some value here for the h1 to display ...
</xsl:element>
Надеюсь, это поможет.
Комментарии:
1. Первая форма не имеет ничего общего со второй. Прочитайте о шаблонах значений атрибутов .
2. Спасибо Дэйву за ответ. Моя проблема здесь в том, что это выражение {title} выдает мне значение в одной кавычке. например: тестирование’ . теперь, когда выражение будет вычислено, у нас будет элемент с unterminated string. Как я могу изменить это, чтобы также учитывать эти значения. (значения в кавычках)
3. Если этот код завершается с ошибкой из-за содержимого элемента title, то в вашем процессоре ошибка. Пожалуйста, покажите полный рабочий пример (исходный документ плюс таблица стилей) и скажите, какой процессор XSLT вы используете.