¿Cuál es la API más simple de usar en scala para realizar las siguientes consultas XPath en un documento?Realizar consultas XPath complicadas en Scala
//s:Annotation[@type='attitude']/s:Content/s:Parameter[@role='type' and not(text())]
//s:Annotation[s:Content/s:Parameter[@role='id' and not(text())]]/@type
(s
se define como un apodo para un espacio de nombres particular)
La única documentación que puedo encontrar en librerías XML de Scala no tiene información sobre la realización de complicadas consultas XPath reales.
Me gustó JDOM para este propósito (en Java), pero como JDOM no es compatible con los genéricos, me resultará doloroso trabajar con Scala. (Otras bibliotecas XML para Java han tendido a ser aún más doloroso en Java, pero tengo que admitir que no sé el paisaje real también.)
Lo does 's: ...' significa? Supongo que está relacionado con los espacios de nombres, pero no pude encontrarlo en la especificación XPath. –
Sí, es un prefijo de espacio de nombres. Consulte el penúltimo párrafo de la introducción donde dice "En la siguiente gramática, los nombres no terminales QName y NCName se definen en [Nombres XML], y S se define en [XML]". La expresión 's: Annotation' es un QName. –