【发布时间】:2012-09-12 05:33:19
【问题描述】:
我的 xsl 变量:
<xsl:variable name="string">Satur - Sun - Mon - Tues - Wednes - Thurs - Fri</xsl:variable>
我需要从以下位置翻译或替换string 变量数据:
Satur - Sun - Mon - Tues - Wednes - Thurs - Fri
所以,输出应该是这样的:
Saturday - Sunday - Monday - Tuesday - Wednesday - Thursday - Friday
..................
@马德斯·汉森
我是xsl 和xml 的新手,我尝试了你的代码,但它不起作用100% 这是错误的
我的 xsl 文件:
<xsl:variable name="string">Satur - Sun - Mon - Tues - Wednes - Thurs - Fri</xsl:variable>
<xsl:template match="/">
<html>
<body>
<h2>result: </h2>
<xsl:value-of
select="for $token in tokenize($string, '\s-\s')
return(
document('')/*/config/replacement[find[.=$token]]/replace,
$token
)[1]"
separator=" - "
/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我的 xml 文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="index.xsl"?>
<config>
<replacement>
<find>Satur</find>
<replace>Saturday</replace>
</replacement>
<replacement>
<find>Sun</find>
<replace>Sunday</replace>
</replacement>
<replacement>
<find>Mon</find>
<replace>Monday</replace>
</replacement>
<replacement>
<find>Tues</find>
<replace>Tuesday</replace>
</replacement>
<replacement>
<find>Wednes</find>
<replace>Wednesday</replace>
</replacement>
<replacement>
<find>Thurs</find>
<replace>Thursday</replace>
</replacement>
<replacement>
<find>Fri</find>
<replace>Friday</replace>
</replacement>
</config>
我的代码有什么问题?
【问题讨论】:
-
您提到它不起作用,但没有告诉我们它在做什么不符合您的期望。是不是报错了?
-
如果您试图通过在浏览器中加载 XML 来执行转换,它将不起作用。浏览器不支持 XSLT 2.0
-
由于您将配置元素从 XSLT 中移出并移到源 XML 中,因此您可以。需要调整 XPath 以移除“document('')/*”。
标签: xml string xslt replace translate