Re: Как отобразить цикл в XSL
От: Аноним  
Дата: 16.04.02 09:03
Оценка:
Здравствуйте AlexanderSD, Вы писали:

ASD>Привет всем

ASD>Допустим такой xml
ASD><xml><nn cn=3></xml>
ASD>Надо вывести в зависимости от числа, слой столько раз, допустим
ASD><div>Привет!</div>
ASD><div>Привет!</div>
ASD><div>Привет!</div>
ASD>Потомусто сn=3, если cn=5 то 5 раз вывести.

ASD>Но вот как создать такой цикл в xsl файле?


Ну, во первых твой 'xml' не well-formed Правильно будет
<xml><nn cn='3'/></xml>


А во вторых можно сделать через рекурсию:


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8"/>
    <xsl:template match="/">
        <html>
            <body>
                <xsl:apply-templates/>
            </body>
        </html>
    </xsl:template>
    <xsl:template match="nn">
        <xsl:call-template name="nn">
            <xsl:with-param name="cn" select="@cn"/>
        </xsl:call-template>
    </xsl:template>
    <xsl:template name="nn">
        <xsl:param name="cn"/>
        <div>Привет !</div>
        <xsl:if test="$cn - 1 &gt; 0">
            <xsl:call-template name="nn">
                <xsl:with-param name="cn" select="$cn - 1"/>
            </xsl:call-template>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.