0
我弄不明白有點瑣碎的事情!XQuery - 傳遞參數列表
我需要自動化TEI XML的ePub包裝。我知道如何使用compression
,但不能通過編程方式傳遞參數列表。問題是我想從一組divs
中獲取一個列表,並將它作爲參數傳遞給該函數。
而不是
let $entries := (<entry>x</entry>, <entry>y</entry>)
compression:zip($entries, true())
我需要做的是這樣
let $header := (<header>xyz</header>)
let $divs := (
for $book in doc('./file.xml')
return $book//tei:div[@n='1']
)
let $entries := (
for $div in $divs
return <entry>{$div}</entry>
)
compression:zip($entries, $header, true())
我根本無法通過提取divs
爲逗號分隔的參數列表(如壓縮需求)。如果我可以使用類似數組迭代或路徑連接的東西,那就好了!
我很親近
for $chapter at $count in doc('./bukwor.xml')//tei:div[@n='1']
return
<entry name="chapter-{$count}"> type="xml">{$chapter}</entry>
,但仍無法做到的魔力。
在XQuery中,所謂的「逗號分隔參數列表」被稱爲「序列」。函數可以將序列作爲參數。要確切瞭解任何特定功能,可以查閱eXist的功能文檔;對於'compression:zip()'來說,文檔位於http://exist-db.org/exist/apps/fundocs/view.html?uri=http://exist-db.org/xquery/compression&location= Java的:org.exist.xquery.modules.compression.CompressionModule#zip.2。請注意,'$ sources'參數必須是**一個或多個** xs:anyType類型的項目(足夠廣泛,可以包含數據庫URI或'元素。) –
joewiz
並找出解決方法! eXist中的epubs壓縮工作很好,一旦你得到它的工作。您可以在https://github.com/wolfgangmm/tei-simple-pm/blob/master/modules/epub.xql找到更多示例代碼。 – joewiz
謝謝,是的,鏈接是靈感的源泉! –