Я не могу войти в цикл for при использовании xsl: param для рендеринга значения в переменной и использования в цикле for - PullRequest
0 голосов
/ 05 декабря 2011
 <p>Title: <xsl:value-of select="$section_map" /></p>

Обратите внимание, что вышеуказанная переменная section_map является значением печати /form/medical-info/question-categories/question-category.

Теперь я пытаюсь запустить цикл for двумя способами:

1-й способ:

<xsl:for-each select="$section_map">...my code here ..</xsl:for-each>

2-й способ:

<xsl:for-each select="/form/medical-info/question-categories/question-category">...my code here ..</xsl:for-each>

КогдаЯ использую мой для цикла, используя первый способ.Он не может войти в цикл.

, где, как и во втором способе, он выполняется нормально.

Пожалуйста, скажите мне, в чем может быть проблема?

Пожалуйста, найдитемой код xsl здесь

    <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"
    xmlns:date="http://exslt.org/dates-and-times" xmlns:str="http://exslt.org/strings">
    <xsl:output method="html" indent="yes" encoding="UTF-8"
        doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
    <xsl:template match="/form">
    <xsl:param name="sectionMap" select="'medical-info'"/>

        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

            <head></head>

            <body>

<form name="myform" id="myform" method="post" action="/admin/eapp/testForm">
<xsl:variable name="section_map" select="concat('/form/',$sectionMap ,'/question-categories/question-category')"></xsl:variable>
         <p>Title: <xsl:value-of select="$section_map" /></p>
        <xsl:for-each select="$section_map">

        </xsl:for-each>

</form>
            </body>
        </html>

    </xsl:template>

</xsl:stylesheet>

1 Ответ

0 голосов
/ 05 декабря 2011

section_map - это строка:

<xsl:variable name="section_map"
 select="concat('/form/',$sectionMap ,'/question-categories/question-category')">

как вы ожидаете for-each об этом?

Может быть, вам стоит попробовать select="/form/*[name()=$sectionMap]/question-categories/question-category" или что-то подобное вместо этого?

...