XSLT:我无法在 src 属性中放置别名标签



更新

<img>
  <xsl:element name="xsl:attribute">
    <xsl:attribute name="name">
      src
    </xsl:attribute>
    test.aspx?id=<xslout:value-of select="blah" />
  </xsl:element>
</img>

前面生成我需要的,

<img>
  <xsl:attribute name="src">
    test.aspx?id=<xsl:value-of select="blah" />
  </xsl:attribute>
</img>

但还不确定如何?有什么见解吗?更简洁?

原始帖子

帮助将 XSL 转换为 XSL 代码段:

<img>
  <xsl:attribute name="src">
    <xsl:text>test.aspx?id=</xsl:text><xslout:value-of select="blah" />
  </xsl:attribute>
</img>

我正在尝试将其转换为:

<img src="test.aspx?id=<xsl:value-of select="blah"/> />

但是我没有得到<xsl:value-of select="blah" />部分

我有没有想错?因为当我将确切的xslout单独移动到img标签之外时,它会生成正确的xsl:value-of

您尝试创建的输出不是有效的 XML(属性不能包含<"字符(。

您要生成的是

<img src="test.aspx?id={blah}" />

你可以这样做:

<xsl:template match="xsl:attribute[@name='src']">
  <xsl:attribute name="src">
     <xsl:apply-templates mode="avt"/>
  </xsl:attribute>
</xsl:template>
<xsl:template match="xsl:text" mode="avt">
  <xsl:value-of select="."/>
</xsl:template>
<xsl:template match="xsl:value-of" mode="avt">
  <xsl:text>{</xsl:text>
  <xsl:value-of select="@select"/>
  <xsl:text>}</xsl:text>
</xsl:template>

尽管如果不看到您想要实现的目标的更完整描述,就很难判断(并且您的示例代码段甚至不是格式良好的 XML(

相关内容

  • 没有找到相关文章

最新更新