-1

我有这个 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 中做错了什么吗?

4

1 回答 1

0

预期的结果是什么?如果要显示“大图像:”和“描述:”,这将起作用:

<xsl:variable name="desc" select="//myNode[@objectId='desc']/@label" />
<xsl:variable name="largeImage" 
              select="//myNode[@objectId='largeImage']/@label" />
于 2013-03-16T03:58:36.080 回答