現在我有一個DITA複合材料,如:如何做出正確的語法的XQuery環接
<root>
<topic>....</topic>
<topic>....</topic>
<topic>....</topic>
<topic>....</topic>
<topic>....</topic>
</root>
而我只需要編寫基本上將爲每個主題一個ditamap的XQuery,所以resutling ditamap應該看像:
<map>
<topicref>....</topicref>
<topicref>....</topicref>
<topicref>....</topicref>
<topicref>....</topicref>
<topicref>....</topicref>
</map>
我現在的XQuery是不太做正確的事,它能夠捕捉到每一個話題,但不是創建一個ditamp,它爲每個主題創建多個ditamap,其一:
$isFoSaved := for $b in $mapNode/*[local-name() = 'topic']
let
$topicWithPI := let $holder:=1
return (
<topicref href="1.xml#Begin" navtitle="Begin" scope="local" type="topic"/>
),
專家能幫忙嗎?謝謝
謝謝。這真的很有幫助。我能再問你一些問題嗎?如果我們有嵌套的話題(即主題內的話題),我們是否能夠在xquery中捕獲這些話題? – Kevin
當然,這就是XQuery/XPath的最佳選擇。如果您只是使用$ mapNode // * [local-name()='topic'](雙斜槓),您將獲得所有派生的topicrefs。如果您想保留層次結構,那麼它會更復雜一點:請參閱其他答案。 –