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

发布于 2024-11-07 08:56:16 字数 725 浏览 4 评论 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)时,就会出现问题。 我的一个同伴建议使用以下输出:

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

使用:

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

再次 这是有效的,但看起来有点难看。是否有另一种方法可以让我输出 HTML5 的有效自定义数据属性?

Im working with XSLT and I'm outputting an HTML5 document. In my document I need a custom attribute.

I want to achieve this:

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

So far I have managed to do it using CDATA, like so:

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

Whilst this produces valid markup, the problem arises here when you need to work with the actual node, such as setting the ID dynamically. One of my cohorts suggested the following output:

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

using:

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

Again this is valid, but looks somewhat ugly. Is there another method that allows me to output valid custom data attributes for HTML5?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沙沙粒小 2024-11-14 08:56:17

您是否已经尝试过:

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

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

Did you already tried:

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

However I think is not possible to get rid of key-value pairs

橘味果▽酱 2024-11-14 08:56:16

您可能希望接受这样一个事实: 生成名称-值对属性,但使其在语义上作为布尔值有意义。

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

应该会产生

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

看起来不那么难看的东西。

You might want to live with the fact that <xsl:attribute> produces a name-value pair attribute but make it semantically sensible as a boolean value.

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

should produce

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

which looks a little less ugly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文