Хобрук: Ваш путь к мастерству в программировании

Umbraco - переменная xslt в атрибуте данных

У меня есть значение в xslt, и мне нужно поместить его в атрибут data-time тега p.

 <xsl:value-of select="current()/eventTime" />
 <p class="time" data-time="1">Duration: <xsl:value-of select="current()/eventTime" /> hour(s)</p>

это создает ошибку

<p class="time" data-time="<xsl:value-of select="current()/eventTime" />">Duration: <xsl:value-of select="current()/eventTime" /> hour(s)</p>

есть идеи, как мне этого добиться?

21.09.2012

Ответы:


1

«Шаблоны значений атрибутов» вам в помощь

<p class="time" data-time="{current()/eventTime}">
   Duration: <xsl:value-of select="current()/eventTime" /> hour(s)
</p> 

Фигурные скобки указывают на то, что это шаблон значения атрибута и, следовательно, содержит выражение, которое необходимо оценить.

Обратите внимание, что альтернативным способом может быть использование элемента xsl:attribute.

<p class="time">
   <xsl:attribute name="data-time">
       <xsl:value-of select="current()/eventTime" />
   </xsl:attribute>
   Duration: <xsl:value-of select="current()/eventTime" /> hour(s)
</p> 

Хотя это не так элегантно. Вам действительно нужно будет сделать это только в том случае, если вам нужно динамическое имя атрибута.

21.09.2012

2

Что-то вроде этого?

<xsl:variable name="eventtime" select="current()/eventTime"/>

<xsl:element name="p">
  <xsl:attribute name="class">time</xsl:attribute>
  <xsl:attribute name="data-time">
     <xsl:value-of select="$eventtime" />
  </xsl:attribute>
  Duration: 
  <xsl:value-of select="$eventtime" />
</xsl:element>
21.09.2012

3

вместо <xsl:attribute> также можно использовать краткую форму в скобках '{}'. В вашем случае это будет так:

<xsl:value-of select="current()/eventTime" /> <p class="time" data-time="{$eventtime}">Duration: <xsl:value-of select="current()/eventTime" /> hour(s)</p>

23.05.2019
Новые материалы

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...