是否可以在XSLT 2.0中聲明一個字符串數組?XSLT 2.0:聲明字符串數組
我想如下聲明的內容:
<xsl:variable name="countries" select="('IT','EN','SP')" />
,但不起作用。
謝謝。
是否可以在XSLT 2.0中聲明一個字符串數組?XSLT 2.0:聲明字符串數組
我想如下聲明的內容:
<xsl:variable name="countries" select="('IT','EN','SP')" />
,但不起作用。
謝謝。
XSLT/XPath 2.0使用的數據模型中沒有數組。您的代碼<xsl:variable name="countries" select="('IT','EN','SP')" />
將一系列字符串值綁定到名爲countries
的變量,您應該可以使用位置謂詞來訪問單個項目,例如, $countries[2]
。
如果您認爲需要陣列,則需要使用XPath 3.1,您可以在其中使用<xsl:variable name="countries" select="['IT', 'EN', 'SP']"/>
,請參閱http://www.w3.org/TR/xpath-31/#id-arrays。我不知道任何發佈的XSLT處理器支持這個,但是,我認爲像BaseX這樣的XQuery實現已經升級來支持這個。
只要你只是想在平面數據類型中存儲三個或更多的原子值,我不明白爲什麼你需要新的數組功能,那麼順序('IT','EN','SP')
就足夠了。數組可以是嵌套的,序列不是,因爲(1, (2, 3), 4)
的結果是一個平坦的序列(1, 2, 3, 4)
,所以如果您需要嵌套數據結構(使用數字或字符串等原始值),您可能需要一個數組,並且必須等待,直到支持XPath 3.1,但您始終可以在當前版本的XSLT中爲嵌套數據創建XML樹結構。
「但不起作用」是什麼意思?另外,它是一個序列;不是一個數組。 –
[在xslt中創建數組]可能重複(http://stackoverflow.com/questions/3299938/creating-arrays-in-xslt) –
如何創建一個字符串數組?這個帖子是不重複的... – Diaboliko