在XSLT中为HTML5生成布尔自定义属性

时间:2011-05-14 10:01:47

标签: html5 xslt custom-attributes xslt-1.0

我正在使用XSLT,我正在输出HTML5文档。在我的文档中,我需要一个自定义属性。

我想实现这个目标:

<div class="row" data-template>...</div>

到目前为止,我已经设法使用CDATA这样做了:

<xsl:text disable-output-escaping="yes"><![CDATA[<div class="row" data-template></div>]]></xsl:text>

虽然这会产生有效的标记,但是当您需要使用实际节点时会出现问题,例如动态设置ID。 One of my cohorts建议了以下输出:

<div class="row" data-template=""></div>

使用:

<xsl:attribute name="data-template" />  

这又是有效的,但看起来有些难看。是否有另一种方法允许我输出HTML5的有效自定义数据属性?

2 个答案:

答案 0 :(得分:1)

您可能希望看到<xsl:attribute>生成名称 - 值对属性但在语义上将其作为布尔值使其成为事实的事实。

<xsl:attribute name="data-template">true</xsl:attribute>  

应该产生

<div class="row" data-template="true"></div>

看起来有点不那么难看。

答案 1 :(得分:1)

你有没有尝试过:

<xsl:attribute name="data-template">data-template</xsl:attribute>

但我认为不可能摆脱键值对