2012-06-21 3 views
2

Есть ли способ распечатать переменную в элементе как атрибут?XSLT переменная print как атрибут

образец XML:

<list> 
<name>John Doe</name> 
<name>Paul Niel</name> 
<name>Luke Dee</name> 
</list> 

Вот мой пример XSLT;

<xsl:variable name="isDisabled"> 
    <xsl:if test="name='John Doe'"> 
     <xsl:attribute name="disabled">disabled</xsl:attribute> 
    </xsl:if> 
</xsl:variable> 

и я хочу напечатать переменную isDisabled следующим образом;

<input id="textName" name="name" type="text" {$isDisabled} /> 

мощность;

<input id="textName" name="name" type="text" disabled="disabled" /> 
+0

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

+0

Сэр, пожалуйста, см. Мой обновленный вопрос .. – mrrsb

+0

mrrsb: для выполнения этой задачи вам не нужна переменная - см. Мой ответ для получения дополнительной информации. –

ответ

1

Вам не нужно каких-либо переменной для выполнения этой задачи.

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="name[. = 'John Doe']"> 
    <input id="textName" name="name" type="text" disabled="disabled" /> 
</xsl:template> 
<xsl:template match="text()"/> 
</xsl:stylesheet> 

Когда это преобразование применяется на поставленном XML документа:

<list> 
    <name>John Doe</name> 
    <name>Paul Niel</name> 
    <name>Luke Dee</name> 
</list> 

разыскиваемый, правильный результат получается:

<input id="textName" name="name" type="text" disabled="disabled"/> 

Объяснение:

Правильное использование шаблонов и шаблонов.

Примечание: Если у Вас есть случай (это не один), где действительно необходимо использовать переменную, чтобы создать атрибут, это может быть сделано следующим образом:

<input id="textName" name="name" type="text" disabled="{$isDisabled}"/> 

Объяснение:

Надлежащее использование АВТ (Attribute Value Templates)

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