Re: XSLT
От: Captain Crocus  
Дата: 12.10.02 12:14
Оценка:
Здравствуйте ketoff, Вы писали:

K>Братцы, как при разобе дерева в xslt узнать имя текущего элемента.

K>В конструкции типа <xsl:for-each>
K>В цикле обрабатываются элементы
K>нужно выцеплять имя текущего и применять правила
K>Но:
K>template match и template name не предлагать,
K>функция {name()} не работает.

Все работает. Дело в том, что ты, видимо, ошибся — фигурные скобки используются в шаблононах значений аттрибутов.
Вот код. Можешь проверить.
<?xml version="1.0" encoding="utf-8"?>
<root>
    <a>text_01</a>
    <b>text_02</b>
</root>



<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <html>

    <xsl:for-each select="root/*">

        <xsl:if test="name() = 'a'">
            <xsl:text>This is a-element</xsl:text>
        </xsl:if>

        <xsl:element name="p">
            <xsl:text>Name of this element: </xsl:text>
            <xsl:value-of select="name()"/>
        </xsl:element>

    </xsl:for-each>

    </html>
</xsl:template>

</xsl:stylesheet>


Удачи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.