O shell xmllint não mostra o número da expressão contagem XPath?

O shell xmllint não mostra o número da expressão contagem XPath?

Estou usando o shell interativo do xmllint no cygwin. Gostaria de contar o número de nós, mas o xmllint não parece estar se comportando como esperado:

$> 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

Diz que é um número, mas não mostra o número da maneira que vi em pesquisas na web:

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

o que há de errado aqui?

$> 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

Responder1

Sei que @Stephane mencionou isso nos comentários, mas me deparei com essa técnica e ia postar essa resposta antes de ver seu comentário com a mesma solução. Não tenho certeza da etiqueta para isso, mas aqui está o que descobri. LMK e eu podemos excluir esta resposta se for inapropriado postar uma resposta no comentário de outra pessoa.

Solução

Você precisa usar o xpathcomando dentro do xmllint para exibir o resultado retornado da countfunção.

$ 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
/ > 

Encontrei a resposta aqui neste site:Brincando com expressões XPath no shell xmllint.

informação relacionada