Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как обработать '&' в XSLT-файле??? / 6 сообщений из 6, страница 1 из 1
28.03.2006, 16:59
    #33630311
SunAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать '&' в XSLT-файле???
Подскажите пожалуйста!!!
Проблема: у меня есть 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
28.03.2006, 20:46
    #33630842
Как обработать '&' в XSLT-файле???
Ключевое слово: disable-output-escaping
...
Рейтинг: 0 / 0
30.03.2006, 11:27
    #33634501
SunAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать '&' в XSLT-файле???
Не поняла.
То есть где-то надо написать команду xsl:disable-output-escaping?
Где и как?
...
Рейтинг: 0 / 0
30.03.2006, 12:17
    #33634669
Как обработать '&' в XSLT-файле???
SunAlexНе поняла.
То есть где-то надо написать команду xsl:disable-output-escaping?
Где и как?
Да, команду нужно написать в yandex'е.
Код: plaintext
1.
<xsl:text disable-output-escaping="yes">текст с символами & и др.</xsl:text>
...
Рейтинг: 0 / 0
30.03.2006, 12:49
    #33634798
SunAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать '&' в XSLT-файле???
Все хорошо, только мне надо использовать xsl:copy-of или value-of, а там данная конструкция не работает, потому что такого атрибута для данной команды не
:(
...
Рейтинг: 0 / 0
01.04.2006, 00:38
    #33638820
D'esperado
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать '&' в XSLT-файле???
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
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как обработать '&' в XSLT-файле??? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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