当我使用XSLT从一个XHTML页面转换为新的XHTML页面时,我无法使菜单中的A标签起作用。有没有办法在转换时以某种方式获取链接的正确来源?提供一些帮助以及改进下面代码的提示。 Thansk! :)
<xsl:template match="/">
<ul>
<xsl:for-each select="//*[@id='mbSubMenu']/ul/li">
<li style="margin: 0; padding: 3px 0; border-bottom: 1px solid #ffffff;">
<blockquote style="margin: 0 0 0 5px; padding: 0">
<a class="vanstermeny_underniva" href="{link}"><xsl:value-of select="."/></a>
</blockquote>
</li>
</xsl:for-each>
</ul>
</xsl:template>
答案 0 :(得分:0)
<a class="vanstermeny_underniva">
<xsl:attribute name="href">
<xsl:value-of select="."/>
</xsl:attribute>
<xsl:value-of select="."/>
</a>
试试这个。
答案 1 :(得分:0)
您需要更多细节,如其他地方所述。但显而易见的是,您应该使用push而不是pull来获取所有数据。谷歌'xslt推'并阅读此内容。这是一个简单的例子:
XML
<div>
<div id ="mbSubMenu">
<ul>
<li>
<a href="#">Blah</a>
</li>
</ul>
</div>
<div id="something">
<a href="#">else</a>
</div>
</div>
XSLT
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<xsl:apply-templates select="//div[@id = 'mbSubMenu']" />
</html>
</xsl:template>
<xsl:template match="li">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="a">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>