Могу ли я установить значение имени атрибута с помощью xpath? - PullRequest
1 голос
/ 27 декабря 2010

У меня есть стандартный метатег, подобный этому:

<meta name="desc" content="test"/>

, который я хочу преобразовать в новый узел, подобный этому:

<xsl:template match="meta">
 <content>
  <xsl:attribute name="test"/>
 </content>
</xsl:template>

Есть ли способ заменить 'test?'как имя атрибута с выражением и xpath?Можно ли как-нибудь использовать @name из метатега?

1 Ответ

3 голосов
/ 27 декабря 2010

Есть ли способ заменить «тест» как имя атрибута с и xpath выражение

Да, используйте шаблон значения атрибута, например:

Редактировать: Чтобы быть более понятным, эта таблица стилей:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="meta">
        <content>
            <xsl:attribute name="{@name}">
                <xsl:value-of select="@content"/>
            </xsl:attribute>
        </content>
    </xsl:template>
</xsl:stylesheet>

Выход:

<content desc="test" />

Редактировать: Следуя предположениям Димитра, если хотите

<content name="desc">test</content>

Использовать эту таблицу стилей:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="meta">
        <content name="{@name}">
            <xsl:value-of select="@content"/>
        </content>
    </xsl:template>
</xsl:stylesheet>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...