adium によって生成された xml ファイルをクエリしようとしています。xmlwf は、整形式であると述べています。xmllint のデバッグ オプションを使用すると、次のようになります。
$ xmllint --debug doc.xml
DOCUMENT
version=1.0
encoding=UTF-8
URL=doc.xml
standalone=true
ELEMENT chat
default namespace href=http://purl.org/net/ulf/ns/0.4-02
ATTRIBUTE account
TEXT
content=foo@bar.com
ATTRIBUTE service
TEXT compact
content=MSN
TEXT compact
content=
ELEMENT event
ATTRIBUTE type
すべてがうまく解析されているようです。ただし、最も単純なものでさえクエリを実行しようとすると、何も得られません。
$ xmllint --xpath '/chat' doc.xml
XPath set is empty
何が起こっていますか?xpath を使用してまったく同じクエリを実行すると、正しい結果が返されます (ただし、結果の間に改行はありません)。何か間違ったことをしているのですか、それとも xmllint が正しく動作していないだけですか?
これは、同じ動作を示す、より短い匿名化されたバージョンの xml です。
<?xml version="1.0" encoding="UTF-8" ?>
<chat xmlns="http://purl.org/net/ulf/ns/0.4-02" account="foo@bar.com" service="MSN">
<event type="windowOpened" sender="foo@bar.com" time="2011-11-22T00:34:43-03:00"></event>
<message sender="foo@bar.com" time="2011-11-22T00:34:43-03:00" alias="foo"><div><span style="color: #000000; font-family: Helvetica; font-size: 12pt;">hi</span></div></message>
</chat>