powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как обработать '&' в XSLT-файле???
6 сообщений из 6, страница 1 из 1
Как обработать '&' в XSLT-файле???
    #33630311
SunAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста!!!
Проблема: у меня есть XSLT-файл, в котором необходимо переносить значения из одних тегов в другие. Так вот иногда эти значения (получаемые с помощью value-of или copy-of) содержат строки типа "13"i&". Когда xsltproc пытается скопировать подобные строки, то выдает различные ошибки, типа "no name" или "expected ';'", при том, что мне ненадо обрабатывать эти строки, мне надо их просто скопировать.
Я пыталась сделать замену этих символов конструкцией вида
<xsl:copy-of select="translate(translate(.,'&quot;',' '),'&','#32')"/>
или
<xsl:copy-of select="translate(translate(.,'"',' '),'&',' ')"/>
но ни та, ни другая конструкция не проходит. Говорит, что не согласованный файл и т.п.
Подскажите, что с этим можно сделать.
...
Рейтинг: 0 / 0
Как обработать '&' в XSLT-файле???
    #33630842
Ключевое слово: disable-output-escaping
...
Рейтинг: 0 / 0
Как обработать '&' в XSLT-файле???
    #33634501
SunAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не поняла.
То есть где-то надо написать команду xsl:disable-output-escaping?
Где и как?
...
Рейтинг: 0 / 0
Как обработать '&' в XSLT-файле???
    #33634669
SunAlexНе поняла.
То есть где-то надо написать команду xsl:disable-output-escaping?
Где и как?
Да, команду нужно написать в yandex'е.
Код: plaintext
1.
<xsl:text disable-output-escaping="yes">текст с символами & и др.</xsl:text>
...
Рейтинг: 0 / 0
Как обработать '&' в XSLT-файле???
    #33634798
SunAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все хорошо, только мне надо использовать xsl:copy-of или value-of, а там данная конструкция не работает, потому что такого атрибута для данной команды не
:(
...
Рейтинг: 0 / 0
Как обработать '&' в XSLT-файле???
    #33638820
D'esperado
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SunAlexВсе хорошо, только мне надо использовать xsl:copy-of или value-of, а там данная конструкция не работает, потому что такого атрибута для данной команды не
:(

MSDN
<xsl:value-of> Element
Inserts the value of the selected node as text.

<xsl:value-of
select = Expression
disable-output-escaping = "yes" | "no"
</xsl:value-of>
Attributes

select
Required. The expression to be evaluated against the current context. The results are converted to a string, as by a call to the string() function. A node-set is converted to a string by inserting the string value of the first node in the set.

disable-output-escaping
Default is "no". If the value is "yes", a text node generated by instantiating the <xsl:value-of> element will be output without any escaping. For example, the following generates the single character "<".
<xsl:value-of disable-output-escaping="yes" select="string('&lt;')"/>

Note Because disable-output-escaping="yes" can be used to generate non-well-formed documents, it should be used with caution. Output that is not well-formed can generate errors in certain circumstances. For example, transformNodeToObject to an XML document requires that the result be well-formed, and thus might not complete if disable-output-escaping has affected the well-formedness of the document. Consider disable-output-escaping="yes" an advanced feature, to be used only when the potential dangers are understood.


Про xsl:copy-of вы правы, там такой атрибут не поддерживается...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как обработать '&' в XSLT-файле???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]