XPath:如何将函数的返回保存在变量中?



是否可以将元素中的每个项目保存在 xpath 变量中以在同一表达式中使用此值?XPath 表达式必须在一行中。我的目标是在一个表达式中以毫秒为单位转换持续时间。

.XML

<pt:transcript
xmlns:pt="https://purl.org/net/hbuschme/teaching/2019ws-infostruk/podcast-transcript/0.1"
version="0.1">
<pt:segment contributor="timpritlove" start="00:00:43.101" end="00:00:49.300">Hallo und herzlich willkommen zu Forschergeist, dem Podcast des Stifterverbands für die deutsche Wissenschaft.</pt:segment>
<pt:segment contributor="timpritlove" start="00:00:49.301" end="00:00:57.600">Mein Name ist Tim Pritlove und ich begrüße alle zu Ausgabe Nummer 72 hier in unserer Gesprächsreihe rund um Wissenschaft,</pt:segment>
<pt:segment contributor="timpritlove" start="00:00:57.601" end="00:01:04.300">wissenschaftliche Fragen, manchmal geht es um Wissenschaft, manchmal geht es auch um die Metafragen der Wissenschaft.</pt:segment>
</pt:transcript>

XPath

fn:analyze-string(/pt:transcript/pt:segment[1]/@start, "[0-9][0-9]")

结果

Element='<analyze-string-result xmlns="http://www.w3.org/2005/xpath-functions">
<match>00</match>
<non-match>:</non-match>
<match>00</match>
<non-match>:</non-match>
<match>43</match>
<non-match>.</non-match>
<match>10</match>
<non-match>1</non-match>
</analyze-string-result>'

从 XPath 3.0 开始,你可以做

let $x := analyze-string(....)
return (some expression that references $x)

最新更新