Выполняется XML -> (XSLT — Xalan) -> HTML.
Потребовалось в HTML реализовать 3-кратно вложенные кавычки/апострофы. Для этого использовалась замена символа "кавычки" на "
Но, чтобы " не был заменен на стадии XSLT-преобразования в xsl указывалась строка " , которая на стадии XSLT превращалась в "
Проблема в том, что это "превращение" происходит не всегда:
<xsl:template match="/">
<xsl:call-template name="t1">
<xsl:with-param name="xxx" select='"&quot;ON&quot;"'/>
</xsl:call-template>
</xsl:template>
<xsl:template name="t1">
<xsl:param name="xxx"/>
<xsl:value-of select="$xxx" disable-output-escaping="yes"/>
<input type="text" size="10" maxlength="10" value="abc">
<xsl:attribute name="name"><xsl:value-of select="$xxx" disable-output-escaping="yes"/></xsl:attribute>
</input>
</xsl:template>
Вывод будет таким
"ON"
<input value="abc" maxlength="10" size="10" type="text" name="&quot;ON&quot;">
т.е. во втором случае случае остался &
Как сделать так, чтобы во втором случае тоже получилось
...
name=""ON""
?
Попробуйте так:
<xsl:attribute name="name"><![CDATA["ON"]]></xsl:attribute>
Здравствуйте, Othello, Вы писали:
O>Попробуйте так:
O>O><xsl:attribute name="name"><![CDATA["ON"]]></xsl:attribute>
O>
Спасибо, во втором случае получилось теперь так как нужно! Но теперь в первом случае получается просто "ON":
"ON"
<input value="abc" maxlength="10" size="10" type="text" name=""ON"">
Мне просто нужно, чтобы одна и та же переменная (см. первое сообщение) выводилась в двух случаях (в атрибуте и не в атрибуте) одинаково. Отчего вообще возникают различия в выводе?
roll-ik wrote:
> Мне просто нужно, чтобы одна и та же переменная (см. первое сообщение)
> выводилась в двух случаях (в атрибуте и не в атрибуте) одинаково. Отчего
> вообще возникают различия в выводе?
С точки зрения HTML/XML конструкции
"ON"
<input value="abc" maxlength="10" size="10" type="text" name=""ON"">
"ON"
<input value="abc" maxlength="10" size="10" type="text" name=""ON"">
и даже
"ON"
<input value="abc" maxlength="10" size="10" type="text" name='"ON"'>
абсолютно эквивалентны. Если какой-то софт различает — это бага этого софта.
ЗЫЖ Очень не рекомендуется использовать disable-output-escaping="yes".
Posted via RSDN NNTP Server 2.0