xmllintのヘルプで表示されたオプション機能を全部試そう企画ですが、
実際にやってみると、意味がわからないものも多く、非常にしんどいという事がわかりました。
ネットで検索してみても、ほとんどが--xpathか--shellオプションのみが解説されていて、他のオプションを使っているサンプルなどはありません。
こんなにたくさんの機能があるのに、一部しか使われていないことがよく分かります。
とりあえず、人柱になる覚悟でオプション調査を続けたいと思います。
--output file or -o file
save to a given file
与えられたファイルに保存する
$ xmllint sample.xml --output test.xml
xmlファイルをまるまるコピーできます。
コマンドで絞り込んだ結果をファイル出力することもできそうですね。
ちなみに、元データと作り出されたデータをdiffしてみたら以下のようになりました。
$ diff test.xml sample.xml
1c1
< <?xml version="1.0" encoding="utf-8" standalone="yes"?>
---
> <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
3,5c3,5
< <hage name="aaa" value="12345" a="1">DOG</hage>
< <hage name="bbb" value="56789" b="2">CAT</hage>
< </hoge>
---
> <hage name="aaa" value="12345" a="1">DOG</hage>
> <hage name="bbb" value="56789" b="2">CAT</hage>
> </hoge>
\ ファイル末尾に改行がありません
基本的には同じデータですが、細かな構成部分が正しく整形されて出力されているようです。
--repeat
repeat 100 times, for timing or profiling
タイミングやプロファイリングのために、100回繰り返す
$ xmllint sample.xml --repeat
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
なんと100回の繰り返し表示されるオプションです。
負荷テストとかで使うのかな?
--insert
ad-hoc test for valid insertions
有効な挿入のためのアドホックテスト
$ sample.xml --xpath "//hoge" --insert "a"
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>could not get valid list of elements
warning: failed to load external entity "a"
どうやっても、warningが取れません・・・
insertどうやって使うんだろ???????????????????
--compress
turn on gzip compression of output
出力のgzip圧縮を有効にする
xmllint sample.xml --compress
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
コマンド叩いただけでは、なんも変わりません・・・orz
--html
use the HTML parser
HTMLパーサーを使う
$ xmllint --html http://myntinc.com --xpath //body
<body>
<div class="banner">
<ul class="base">
<li class="ef" data-link="index"><div class="title">MYNT,Inc.</div></li>
<li class="ef" data-link="about"><div class="title">About</div></li>
<li class="ef" data-link="service"><div class="title">Service</div></li>
<li class="ef" data-link="work"><div class="title">Work</div></li>
<li class="ef" data-link="contact"><div class="title">Contact</div></li>
</ul>
</div>
<div id="contents"></div>
<div id="footer"><script>var ajax = new $$MYNT_AJAX;ajax.loadHTML("html/footer.html","#footer")</script></div>
</body>
静的ページのクローリングとして使えそうです。
--xmlout
force to use the XML serializer when using --html
--htmlを使用するときにXMLシリアライザを使用することを強制する
$ xmllint --html http://myntinc.com --xmlout
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>
<title>Mynt,Inc.</title>
<meta name="description" content="IT,WEB,プログラム,サービス,電子工作,IoT,DIY,ホームページ制作"/>
<meta name="author" content="MYNT,Inc."/>
<meta http-equiv="Expires" content="0"/>
<link rel="icon" type="image/png" href="favicon.png" sizes="96x96"/>
<script><![CDATA[
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-105017486-1', 'auto');
ga('send', 'pageview');
]]></script>
<link rel="stylesheet" href="css/common.css"/>
<!-- <link href="https://fonts.googleapis.com/css?family=Sawarabi+Gothic" rel="stylesheet"> -->
<script type="text/javascript" src="js/ef.js"/>
<script src="js/ajax.js"/>
<script src="js/common.js"/>
</head>
<body>
<div class="banner">
<ul class="base">
<li class="ef" data-link="index"><div class="title">MYNT,Inc.</div></li>
<li class="ef" data-link="about"><div class="title">About</div></li>
<li class="ef" data-link="service"><div class="title">Service</div></li>
<li class="ef" data-link="work"><div class="title">Work</div></li>
<li class="ef" data-link="contact"><div class="title">Contact</div></li>
</ul>
</div>
<div id="contents"/>
<div id="footer"><script><![CDATA[var ajax = new $$MYNT_AJAX;ajax.loadHTML("html/footer.html","#footer")]]></script></div>
</body>
</html>
doctypeがxmlに置き換わっているのが分かります。
--nodefdtd
do not default HTML doctype
デフォルトのHTML Doctypeにしない
$ xmllint --html http://myntinc.com --nodefdtd
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<title>Mynt,Inc.</title>
<meta name="description" content="IT,WEB,プログラム,サービス,電子工作,IoT,DIY,ホームページ制作">
<meta name="author" content="MYNT,Inc.">
<meta http-equiv="Expires" content="0">
<link rel="icon" type="image/png" href="favicon.png" sizes="96x96">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-105017486-1', 'auto');
ga('send', 'pageview');
</script>
<link rel="stylesheet" href="css/common.css">
<!-- <link href="https://fonts.googleapis.com/css?family=Sawarabi+Gothic" rel="stylesheet"> -->
<script type="text/javascript" src="js/ef.js"></script>
<script src="js/ajax.js"></script>
<script src="js/common.js"></script>
</head>
<body>
<div class="banner">
<ul class="base">
<li class="ef" data-link="index"><div class="title">MYNT,Inc.</div></li>
<li class="ef" data-link="about"><div class="title">About</div></li>
<li class="ef" data-link="service"><div class="title">Service</div></li>
<li class="ef" data-link="work"><div class="title">Work</div></li>
<li class="ef" data-link="contact"><div class="title">Contact</div></li>
</ul>
</div>
<div id="contents"></div>
<div id="footer"><script>var ajax = new $$MYNT_AJAX;ajax.loadHTML("html/footer.html","#footer")</script></div>
</body>
</html>
doctypeを除外してくれるのかと思ったらそうではなかった・・・
よくわからん
--push
use the push mode of the parser
パーサのプッシュモードを使う
$ xmllint sample.xml --push
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
pushモードが何なのかよくわかりません。
このモード、もう少し調査する必要がありますね・・・
--pushsmall
use the push mode of the parser using tiny increments
小さな増分を使用してパーサーのプッシュモードを使用する
$ xmllint sample.xml --pushsmall
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
おそらく--pushと類似機能だと思われますが、使い方がイマイチわかりません。
--memory
parse from memory
メモリから解析する
$ xmllint sample.xml --memory
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hoge>
<hage name="aaa" value="12345" a="1">DOG</hage>
<hage name="bbb" value="56789" b="2">CAT</hage>
</hoge>
オプションをつけただけでは、何も表示されません。
メモリ解析されるんでしょうか?
まだまだ続くよ・・・
今回も、意味不明のオプションが多数ありましたが、もっと使い込んでいくとそのオプションの利便性が見えてくるでしょう。
とりあえず、1ナメするまでガンバロー!
0 件のコメント:
コメントを投稿