我希望将XML属性中的某些值转换为带有实体的有效HTML。例如,XML中的字符串"olá"
将从XSLT转换为"olá"
我找不到任何可以执行此操作的xsl函数。 有什么想法吗?
xsl:stylesheet
元素中指定us-ascii
编码。下面是XSLT的示例代码:<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="html" encoding="us-ascii"/>
<xsl:variable name="data" select="'olá'" />
<xsl:template match="/">
<xsl:text>olá - </xsl:text>
<xsl:value-of select="$data" />
</xsl:template>
</xsl:stylesheet>
提供:
olá - olá
xsl:stylesheet
中的xml
方法与标准XML标题产生相同的结果。xsl:text
。它也可以与 xsl:value-of
一起使用,我已经验证过了。我将在我的初始答案中添加一个示例。 - Igor Kuzmitshovxsl:text
和xsl:value-of
都应该可以工作。 <xsl:variable name="foo" select="'olá'"/><xsl:value-of select="$foo"/>
会产生 olá
。 - Mads Hansen我确定您会发现这个模板很有用: 下载此xslt并检查名为"url-encode-num"的文件 http://advanced-internal-onebox.googlecode.com/files/obox_stylesheet.xslt
它可以转换任何特殊字符...... 好吧,列在这里具有数字编码的任何字符:
<xsl:variable name="latbis">¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"<>=</xsl:variable>
<xsl:variable name="digit1">111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222220000</xsl:variable>
<xsl:variable name="digit2">666666666777777777788888888889999999999000000000011111111112222222222333333333344444444445555552777</xsl:variable>
<xsl:variable name="digit3">123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123452465</xsl:variable>
但很容易更新。
如果这是您要寻找的,请告诉我。
Pablo