0

我必须创建一个长度为整数的数组$lung。数组的元素从 1 到$limit升序变化。也就是说,第一个元素的值必须为 1,第二个元素的值必须为 2 $limit,之后它再次从值 1 开始到$limit。这是我的代码草稿:

<xsl:variable name="limit" select="count(documen('./db/list.xml')/root_list/list"/> 
<xsl:variable name="lung" select="(6) div (./lunghezza)"/>
<xsl:variable name="array" as="xs:integer">
    <Item>1</Item>
    <Item>2</Item>
      ... 
    <Item>$limit</Item>
    <Item>1</Item>
      ...
    <Item>$limit</Item>
</xsl:variable>

如何加载数组?我是初学者。非常感谢你。

4

1 回答 1

1

那么 XSLT 没有arrays. XSLT 1.0 有节点集,2.0 有序列(节点或原子值)。因此,使用 XSLT 2.0,您可以创建一个整数值序列,1 to $limit例如<xsl:variable name="array" select="1 to $limit, 1 to $limit"/>创建一个2 * $limit值序列。

[编辑] 也许

<xsl:variable name="array" select="(for $n in 1 to (xs:integer(ceiling($lung div $limit))) return (1 to $limit))[position() le $lung]"/>

是你想要的,它创建一个长度整数值序列,$lung其中包含从1 to $limit最后一个子序列被截断的子序列,以确保长度精确$lung

于 2013-02-14T14:07:15.047 回答