我从xml页面继承了java / xalan构建的静态站点。
构建网站时,每个html doc头部的html标签都包含在内。我想在各个xml页面中添加一个标记,我可以在该页面中为该html页面的头部插入标记。在这种情况下,标准链接标记表示重复内容。
在我的XML内容页面中,我添加了以下内容:
<insertGoodness>link rel="canonical" href="path" /</insertGoodness>注意缺少大于或小于字符。
在我的XSL模板中,节点从xml页面获取数据并输出链接标记。
<xsl:variable name="insert_Goodness" select="$content/insertGoodness" />
<xsl:template match="insertGoodness">
<xsl:text disable-output-escaping="yes"><![CDATA[<]]></xsl:text>
<xsl:value-of select="$insert_Goodness/node()" />
<xsl:text disable-output-escaping="yes"><![CDATA[>]]>
</xsl:text>
</xsl:template>
在我的HTML模板中,我已将其插入到应该结束的head部分。
<insertGoodness />
最后,在html页面上,我得到了输出。
<link rel="canonical" href="path" />
正如你所看到的,我逃脱了更大的&amp;在XSL模板中少于字符。我可以这样做(把整个链接标记放在我的xml内容页面中),因为我可能想在html head部分插入多个custon标记吗?
我已经尝试了所有可以找到的逃脱技巧(http://www.fileformat.info/info/unicode/char/003e/index.htm)而没有运气。有办法吗?
答案 0 :(得分:0)
我不知道这是不是最好的方式,但它有效,而且只是暂时的。
在我的xsl模板文件中
<xsl:template match="insertGoodness">
<xsl:variable name="tagContent1" select="$content/insertGoodness/node()" />
<xsl:value-of select="$tagContent1" disable-output-escaping="yes" />
</xsl:template>
然后在xml页面
<insertGoodness>
<![CDATA[<]]>link rel="canonical" href="path" /<![CDATA[>]]>
</insertGoodness>