如何使用 XSLT 动态添加元标记

How to dynamically add meta tag using XSLT

我有一个特定的问题,我必须使用 XSLT 将元标记添加到 HTML。

我需要做的是保留正文并添加一个包含标签内容的元标签'option'。

我想要的代码是这样的,或者是做它应该做的事情的代码:

 <xsl:template match="/">
  <html>
    <head>
      <meta name="option" content="   <xsl:value-of select="//option" />   " />
    </head>
    <body>
      <xsl:value-of select="html/body" />
    </body>
  </html>
</xsl:template>

可以看到meta标签的内容也是我想从文档中得到的值

例如,如果我使用下面的代码,它工作正常:

 <xsl:template match="/">
  <html>
    <head>
      <meta name="option" content="Test" />
    </head>
    <body>
      <xsl:value-of select="html/body" />
    </body>
  </html>
</xsl:template>

但是,内容会固定为"Test"。

有什么方法可以仅使用 XSLT 添加动态元标记?

提前致谢。

您可以使用 Attribute Value Template 将 XPath 表达式包装在 {} 中,例如

<meta name="option" content="{//option}" />