我正在尝试在<div />
的XSL中放置<a />
标记,但是在呈现网页时,它会将<a />
置于<div />
被告知这是不可能的?
我正在尝试做的例子:
<a href="{URL}" title="{Name}">
<div class="scope">
<div>This is clickable content on the page</div>
</div>
</a>
渲染时的输出:
<a href="/route" title="Welcome"></a>
<div class="scope">
<div>This is clickable content on the page</div>
</div>
更新
模板:
<xsl:template name="BlockAnchor" match="BlockAnchor">
<a href="{URL}" title="{Name}">
<div class="scope">
<div>This is clickable content on the page</div>
</div>
</a>
</xsl:template>
答案 0 :(得分:0)
你可以试试这个
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="URL" />
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="Name" />
</xsl:attribute>
<xsl:element name="div">
<xsl:attribute name="class">
<xsl:text>scope</xsl:text>
</xsl:attribute>
<xsl:element name="div">
<xsl:text>This is clickable content on the page</xsl:text>
</xsl:element>
</xsl:element>
</xsl:element>
它更冗长但它应该产生相同的输出。我只是随机猜测,因为你没有提供源xml示例和完整的xsl。
答案 1 :(得分:0)
这是HTML5正在运行。如果你给它的东西是无效的HTML,它会尝试修复它。您不能在<div>
元素中包含<a>
,因此HTML不会给您带来验证错误,而是变成类似的有效内容。在你接受的东西中,它被称为自由主义。