¿Xmllint Shell no muestra el número de la expresión Count XPath?

¿Xmllint Shell no muestra el número de la expresión Count XPath?

Estoy usando el shell interactivo de xmllint en cygwin. Me gustaría contar el número de nodos, pero xmllint no parece comportarse como esperaba:

$> cat test.xml
<?xml version="1.0"?>
<result>
  <node>
    <item/>
    <item/>
    <item/>
    <item/>
    <item/>
  </node>
</result>
$> xmllint --shell test.xml
/ > cat count(/result/node/item)
count(/result/node/item) is a number

Dice que es un número, pero no muestra el número de la manera que he visto en las búsquedas web:

count(/result/node/item) is a number : 5

¿Qué está pasando aquí?

$> xmllint --version
xmllint: using libxml version 20706
   compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude Iconv ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules Debug Zlib

Respuesta1

Me doy cuenta de que @Stephane mencionó esto en los comentarios, pero encontré esta técnica e iba a publicar esta respuesta antes de ver su comentario con la misma solución. No estoy seguro de la etiqueta para esto, pero esto es lo que encontré. LMK y yo podemos eliminar esta respuesta si no es apropiado publicar una respuesta en el comentario de otra persona.

Solución

Debe utilizar el xpathcomando dentro de xmllint para mostrar el resultado que devuelve la countfunción.

$ xmllint --shell test.xml 
/ > cat         
<?xml version="1.0"?>
<result>
  <node>
    <item/>
    <item/>
    <item/>
    <item/>
    <item/>
  </node>
</result>

/ > xpath count(/result/node/item)
Object is a number : 5
/ > 

Encontré la respuesta aquí en este sitio:Jugar con expresiones XPath en el shell xmllint.

información relacionada