Создать логический атрибут для HTML5 в XSLT - PullRequest
1 голос
/ 14 мая 2011

Я работаю с XSLT и вывожу документ HTML5. В моем документе мне нужен пользовательский атрибут.

Я хочу добиться этого:

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

Пока мне удалось сделать это с помощью CDATA, вот так:

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

Хотя это приводит к допустимой разметке, здесь возникает проблема, когда вам нужно работать с реальным узлом, например, динамически устанавливать идентификатор. Одна из моих когорт предложила следующий вывод:

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

с помощью:

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

Опять же, это верно, но выглядит несколько уродливо. Есть ли другой метод, который позволяет выводить действительные пользовательские атрибуты данных для HTML5?

Ответы [ 2 ]

1 голос
/ 14 мая 2011

Вы уже пробовали:

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

Однако я думаю, что невозможно избавиться от пар ключ-значение

1 голос
/ 14 мая 2011

Возможно, вы захотите согласиться с тем фактом, что <xsl:attribute> создает атрибут пары имя-значение, но делает его семантически чувствительным как логическое значение.

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

должно выдавать

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

, который выглядит немного менее уродливо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...