0

長さの整数の配列を作成する必要があります$lung。配列の要素は、1から$limit昇順まで変化します。つまり、最初の要素は値1、2番目の値は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 に答える