我有这个xslt文件:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes" encoding="utf-8"
omit-xml-declaration="yes"/>
<xsl:variable name="desc" select="//myNode[@objectId='desc']/@select" />
<xsl:variable name="largeImage"
select="//myNode[@objectId='largeImage']/@select" />
<xsl:template match="/">
<xsl:value-of select="$largeImage" />
<xsl:value-of select="$desc" />
</xsl:template>
</xsl:stylesheet>
使用这个xml:
<root>
<myNode type="popup" link="image" label="Large Image:"
objectId="largeImage" customAttribute="No" />
<myNode type="editor" label="Description:" objectId="desc" required="yes"/>
</root>
出于某种原因,该变量适用于显示desc
的值,而不是largeImage
。
任何人都知道我在XSLT中做错了什么?
答案 0 :(得分:0)
预期结果是什么?如果要显示“大图像:”和“描述:”,这将起作用:
<xsl:variable name="desc" select="//myNode[@objectId='desc']/@label" />
<xsl:variable name="largeImage"
select="//myNode[@objectId='largeImage']/@label" />