2010-05-08 6 views
0

Использование XSLT я хочу создать атрибут:Как установить теги внутри атрибута html?

<span class="tooltip"> 
      <xsl:attribute name="onmouseover"> 
       <xsl:text>javascript:function(</xsl:text> 
       <span class="label">Aggiunta</span> 
       <xsl:apply-tempaltes/> 
       <xsl:text>)</xsl:text> 
      </xsl:attribute> 

Проблема заключается в том, что только чистый текст металлообрабатывающая внутри атрибута, как

<span class="tooltip" onmouseover="javascript:function(Aggiunta ...)"> 

Whithout Пролетные теги и теги, которые могут прийти от применяемых шаблонов.

Итак, как я могу поместить html-код в атрибут?

+0

Какой результат вы хотите для того чтобы достигнуть? В пределах значений атрибутов не может быть элементов, только текст. – newtover

ответ

-1

Лучшим вариантом будет использование внешнего файла JavaScript. немедленное исправление будет включать использование тегов CDATA.

<xsl:text><![CDATA[myfunction("<span class='label'>Aggiunta</span>]]></xsl:text> 

Обратите внимание, что встроенный JavaScript принимает переменные только при определенных обстоятельствах.

что говорят XML Спекуляции о Character Data (например, значения атрибутов)

Амперсанд характер (&) и левая угловая скобка (<) НЕ ДОЛЖНЫ появляться в их буквальном виде, кроме случаев, когда используется в качестве разделителей разметки , или в комментарии, инструкции обработки или секции CDATA. Если они необходимы в другом месте, они ДОЛЖНЫ быть экранированы с использованием либо числовых символов, либо строк «& amp;» и «& lt;» соответственно. Прямая угловая скобка (>) может быть представлена ​​с использованием строки «&» и ДОЛЖНА для совместимости с экранированием «& gt» или ссылкой на символ, когда она появляется в строке «]]>« в содержимое, когда эта строка не помещает конец раздела CDATA.

1

Если вы пытаетесь создать правильный xhtml, вы действительно не должны этого делать, но сделайте ссылку на значение атрибута более простым javascript, не содержащий этих символов.

Правила, определяющие правильно сформированный XML, явно запрещают значения атрибутов из-за содержания символа '<'. См. W3C Recommendation.

0

Необходимо связать событие с элементами HTML, которые не записываются непосредственно как атрибут. Этот образец основан на jQuery.

$(".tooltip").bind("mouseover", function() { 
    // some code goes here 
}); 

и HTML должен выглядеть примерно так:

<span class="tooltip">Some text</span> 
Смежные вопросы