2012-05-23 4 views
0

У меня есть следующий входной элемент:Как заменить пользовательские атрибуты методом jquerys data(), внутри XSLT?

<input type="radio"> 
     <xsl:attribute name="name"> 
      <xsl:value-of select="../../os:Row_ID "/> 
     </xsl:attribute> 
     <xsl:attribute name="row_id"> 
      <xsl:value-of select="../../os:Row_ID "/> 
     </xsl:attribute> 
     <xsl:attribute name="column_id"> 
      <xsl:value-of select="os:Column_ID "/> 
     </xsl:attribute> 
     <xsl:attribute name="value"> 
      <xsl:value-of select="../../os:Row_ID "/> 
      <xsl:value-of select="os:Column_ID "/> 
     </xsl:attribute> 
     </input> 

Вместо того, чтобы использовать пользовательские атрибуты, которые не получают валидацию в W3C валидатор, я хочу использовать jQuerys данные() метод на:

<xsl:attribute name="row_id"> 
     <xsl:value-of select="../../os:Row_ID "/> 
    </xsl:attribute> 
    <xsl:attribute name="column_id"> 
     <xsl:value-of select="os:Column_ID "/> 

Так я могу добавить «row_id» в качестве ключа и значение <xsl:value-of select="../../os:Row_ID "/> в качестве значения.

Как бы это сделать, внутри XSLT?

ответ

1
<input 
    type="radio" 
    name="{../../os:Row_ID}" 
    value="{../../os:Row_ID}{os:Column_ID}" 
    data-row_id="{../../os:Row_ID}" 
    data-column_id="{os:Column_ID}" 
/> 

Обратите внимание, что использование <xsl:attribute> является излишним, если у вас есть имена переменных атрибутов. Вы можете использовать шаблоны значений атрибутов ({expressions in braces}) для назначения значений.

+0

он хочет использовать jquery для обхода проверки –

+0

@ атрибуты neu-rah 'data-' действительны с HTML5, и они работают без проблем с HTML4. Лично меня не волнует, что жалоба W3C жалуется на них. – Tomalak

+0

для этого пользовательский код уже работает (даже если он подробный) –

Смежные вопросы