在xsl中怎样指定循环次数?(FAQ)
我的XML结构只有一个节点
<data text="test"></data>
我怎样在xsl中循环显示上个节点n次?
解答1:
程序代码:
<xsl:for-each select="(document('')//namespace::*)[position() < 20]">
<xsl:value-of select="position()" />
</xsl:for-each>
或者
程序代码:
<xsl:for-each select="(document('')//namespace::* | document('')//* | //*)[position() < 20]">
<xsl:value-of select="position()" />
</xsl:for-each>
解答2:
程序代码:
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:myFun="urn:moonpiazza">
<msxsl:script language="Javascript" implements-prefix="myFun">
< ![CDATA[
var num = 0;
var n = 10; // 循环次数
function getNum()
{
num++;
return num;
}
function maxNum()
{
return n;
}
]] >
</msxsl:script>
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="data">
<xsl:copy-of select="." />
<xsl:if test="myFun:getNum() < myFun:maxNum()">
<xsl:apply-templates select="../."/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
解答3:
程序代码:
use template:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="intend">5</xsl:param>
<xsl:template match="/">
<xsl:call-template name="foreach">
<xsl:with-param name="i">1</xsl:with-param>
<xsl:with-param name="val"><xsl:value-of select="/data/@text"/></xsl:with-param>
<xsl:with-param name="intend"><xsl:value-of select="$intend"/></xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="foreach">
<xsl:param name="i">1</xsl:param>
<xsl:param name="val"></xsl:param>
<xsl:param name="intend">1</xsl:param>
<xsl:value-of select="$val"/><br/>
<xsl:if test="$i < $intend">
<xsl:call-template name="foreach">
<xsl:with-param name="i"><xsl:value-of select="$i+1"/></xsl:with-param>
<xsl:with-param name="val"><xsl:value-of select="$val"/></xsl:with-param>
<xsl:with-param name="intend"><xsl:value-of select="$intend"/></xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
以上3种解决方案皆可行
分享到:
相关推荐
通过在`build.xml`文件中定义目标和任务,可以设定JMeter测试脚本的运行逻辑,比如设置并发用户数、循环次数等。 3. **build.xml文件详解**:`build.xml`是Ant的构建文件,其中包含了一系列的任务和目标。例如,你...
2. **线程组(Thread Groups)**:模拟多个并发用户,设置每个线程的循环次数和启动延迟,来模拟真实世界中的用户行为。 3. **监听器(Listeners)**:收集并显示测试结果,包括聚合报告、视图结果树、响应时间图等...
8. 循环语句中循环体执行的次数通常由循环条件决定,可以执行n次,其中n为循环次数。 9. ?space(3)-space(2)在某些编程语言中表示打印3个空格然后减去2个空格,结果为1个空格,所以答案是D.5,可能是因为题目中包含...
- **`LOOP`**:循环播放次数。 - **`WIDTH`**、**`HEIGHT`**:设置多媒体对象的尺寸。 - **`<BGSOUND>`**:背景音乐标签,仅支持`.wav`或`.mp3`格式。 #### 表单元素 - **`<FORM>`**:表单标签,用于收集用户...
4. 循环语句:For...Next循环中,如果步长为负且初始值大于终止值,循环次数为0(A)。 5. 数据库概念:在MySQL等数据库系统中,NULL表示未知或无值(C)。 6. 数据库操作:在Access 2003中,"记录"菜单主要用于...
- 在线程组下添加一个循环控制器,设置循环次数为“永远”,以便可以重复执行直到所有测试数据用完。 - 添加一个CSV Data Set Config控件来读取CSV文件中的数据。 - 根据测试需求,可能还需要添加其他类型的控制器,...
它可以用来指定循环次数或其他条件。 #### 十四、生成随机值(Generate Random Value) 此步骤用于生成随机值,如 UUID(通用唯一标识符),这对于生成唯一标识符非常有用。 #### 十五、字段值映射(Field Value ...
它可以设置不同的参数,如线程数(模拟并发用户数)、循环次数、延迟时间等,来模拟各种负载场景。 在使用JMeter时,你可以创建不同类型的采样器来模拟HTTP请求、FTP操作、数据库查询等。同时,还可以添加监听器来...
- **知识点**: 循环结构中的起始值和步长会影响循环次数。 - **详细解释**: 在题目给出的循环结构 `For I% = -1 to -17 Step -2` 中,起始值为-1,结束值为-17,步长为-2。根据循环条件,循环将会执行9次。 ### 12....
13. **循环队列查找**:在最坏情况下,从循环队列的尾部开始查找,需要比较的次数为队列的长度减去当前距离头部的距离,即m-20。正确答案为D。 14. **CPU集成技术**:CPU是Central Processing Unit的缩写,代表了...
### 混合使用 JSTL 和 JSF 在 Web 应用中的应用 #### 引言 在 Java Web 开发领域,JavaServer Pages Standard Tag Library (JSTL) 和 JavaServer Faces (JSF) 是两种非常重要的技术。尽管这两种技术在功能上存在很...
例如,将一段文本包裹在列表项中,只需要指定“ul>li*>span”的简写规则,文本就会被包裹在列表项中。 除了HTML之外,Zen Coding还支持XML、XSL、CSS和HAML等格式的缩写扩展。由于Zen Coding的设计初衷是简化编码...
使用range()函数可以指定for循环的次数 - C. for i in range(5)表示循环5次,i的值是从0到4 - D. 用字符串做循环结构的时候,循环的次数是字符串的长度 **正确答案**: A. 遍历循环使用for in语句,其中循环结构...