Xslt:填充<a href=""> in xslt during runtime</a>的非文本值

时间:2013-10-07 16:53:21

标签: xslt

我试了很多,看看是否有任何建议/答案能满足我的要求但找不到任何建议/答案。

我有一个Xml文件,我用它来使用XslTransform API和Xslt样式表来获取输出Html文件。

我的xml文件有一个rootnode,它有两个属性 - HyperlinkDisplayText HyperlinkValue 。此xml文件在运行时生成。因此,在编译时不知道这些属性的值。

我的要求是html输出应显示一个超链接,其显示文本需要取自&lt; HyperlinkDisplayText &#39;的值。并且超链接值需要从&#34; HyperlinkValue &#39;的值中获取。

例如,

<RootNode HyperlinkDisplayText="Google" HyperlinkValue="https://www.google.com/" />

这需要显示为Google

为此,我在xslt中尝试了几件事。下面是我在xslt文件中尝试的快照 -

<xsl:choose>
  <xsl:when test="@HyperlinkDisplayText and @HyperlinkValue">
    <h4 style="font-family: arial" align='center'>
      <a href="{./@HyperlinkValue}">@HyperlinkDisplayText</a>
    </h4>
  </xsl:when>
  <xsl:otherwise>
  </xsl:otherwise>
</xsl:choose>

它不起作用。任何帮助都非常感谢。

此致 kvk938

1 个答案:

答案 0 :(得分:2)

<a href="{./@HyperlinkValue}">@HyperlinkDisplayText</a>更改为<a href="{@HyperlinkValue}"><xsl:value-of select="@HyperlinkDisplayText"/></a>。假设上下文节点是RootNode元素。