<p>Title: <xsl:value-of select="$section_map" /></p>
注意上面的section_map变量是打印值/form/medical-info/question-categories/question-category
。
现在我试图通过两种方式运行我的for循环:
第一种方式:<xsl:for-each select="$section_map">...my code here ..</xsl:for-each>
第二种方式:
<xsl:for-each select="/form/medical-info/question-categories/question-category">...my code here ..</xsl:for-each>
当我使用第一种方式使用for循环时。它无法进入循环。
其中第二种方式正在执行。
请告诉我可能是什么问题?
请在此处找到我的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>
答案 0 :(得分:0)
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"
或其他一些?