所以我想在for
子句中插入函数distint-nodes
(请参阅下面的内容)。我为此使用BaseX。XQuery不同节点的使用
这是我的代码:
<autores>{
for $a in doc("libros.xml")//libro
return
<autor>
<nombre>{
for $b in $a/autor
return concat($b/nombre,' ',$b/apellido)
}
</nombre>
{
for $c in doc("libros.xml")//libro
where $c/autor = $a/autor
return $c/titulo
}
</autor>
}
</autores>
我想用第一此功能,所以它只返回我<autor/>
元素的唯一实例:
for $b in distinct-nodes($a/autor)
return concat($b/nombre,' ',$b/apellido)
,但我得到以下错误(BaseX查询信息):
Error: Stopped at G:/Pruebas XML/XML/xqueryLibros.xq, 6/31: [XPST0017] Unknown function: fn:distinct-nodes.
为什么此功能未知存在?有什么我失踪?
编辑:我的目的是让元素$a/autor
的唯一实例,其中$a/autor/nombre
和$a/autor/apellidos
文本值是相同的
<autores>
<autor>
<nombre>W. Stevens</nombre>
<titulo>TCP/IP Ilustrado</titulo>
<titulo>Programación Avanzada en el entorno Unix</titulo>
</autor>
<autor>
<nombre>W. Stevens</nombre>
<titulo>TCP/IP Ilustrado</titulo>
<titulo>Programación Avanzada en el entorno Unix</titulo>
</autor>
<autor>
<nombre>Serge Abiteboul Peter Buneman Dan Suciu</nombre>
<titulo>Datos en la Web</titulo>
</autor>
<autor>
<nombre/>
</autor>
</autores>
你说此功能存在。谁告诉你的? –
然后我误解了fn和functx之间的区别,可能是这样吗? – JD0001
......对,就是这样。 –