uspTukubaiコマンドに関する様々な資料がここにあります。

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

ABC順リスト |  カテゴリ別リスト

(動画教材準備中)

xmldir

概要

xmldir : ディレクトリタグの絶対パスを指定して、XMLデータをフィールド
            形式に変換する。

書式

Usage   : xmldir /<DirTag1>/<DirTag2>/.../<DirTagN> <xmlfile>
Option  : -c<n>
Version : Thu Oct 25 14:00:28 JST 2018

<説明>

ディレクトリタグの絶対パスを指定して、絶対パスとすべてのサブツリー
の項目、属性、値を出力します。出力は末端のファイルパスに対して
1行出力されます。
-c オプションで、指定パスのインデックスが出力されます。
N 階層のパスの場合、インデックスはN個となり、タグが繰り返される
とインデックスはインクリメントされます。上位のタグがインクリメント
された場合、下位のタグのインデックスは1にリセットされます。
-c<n> の場合、インデックスは前0埋めn桁の数字になります。
入力ファイルはxbコマンドで整形されたXMLファイルを前提としています。

<例1> 単純な例

$ cat xml
<dir1 id="A">
    <dir2 id="B">
      <day>23/Jul.2015</day>
      <day>24/Jul.2015</day>
    </dir2>
    <dir2 id="C">
      <day>25/Jul.2015</day>
      <day>26/Jul.2015</day>
    </dir2>
</dir1>

$ xmldir /dir1/dir2 xml
dir1 id A dir2 id B day 23/Jul.2015
dir1 id A dir2 id B day 24/Jul.2015
$ xmldir /dir1/dir2 xml
dir1 id A dir2 id B day 23/Jul.2015
dir1 id A dir2 id B day 24/Jul.2015
dir1 id A dir2 id B day 25/Jul.2015
dir1 id A dir2 id C day 26/Jul.2015

$ xmldir -c3 /dir1/dir2 xml
001 001 dir1 id A dir2 id B day 23/Jul.2015
001 001 dir1 id A dir2 id B day 24/Jul.2015
001 002 dir1 id A dir2 id C day 25/Jul.2015
001 002 dir1 id A dir2 id C day 26/Jul.2015

<例2> 実用的な例

$ cat xml
<dir1>
        <dir2 id="0">
                <attributes>
                        <dir4 id="X">
                                <header1>xxxx</header1>
                                <header2>yyyy</header2>
                        </dir4 id="X">
                </attributes>
        </dir2>
        <dir2 id="1">
                <attributes>
                        <data>a</data>
                        <data>b</data>
                </attributes>
                <attributes>
                        <data>c</data>
                </attributes>
        </dir2>
</dir1>
<dir1>
                <attributes>
                        <data>c</data>
                </attributes>
        </dir2>
</dir1>
<dir1>
        <dir2 id="2">
                <attributes>
                        <data>d</data>
                </attributes>
                <attributes>
                        <data>e</data>
                </attributes>
                <attributes>
                        <data>f</data>
                </attributes>
        </dir2>
</dir1>

$ xmldir -c3 /dir1/dir2/attributes xml
001 001 001 dir1 dir2 id 0 attributes dir4 header1 xxxx
001 001 001 dir1 dir2 id 0 attributes dir4 header2 yyyy
001 002 001 dir1 dir2 id 1 attributes data a
001 002 001 dir1 dir2 id 1 attributes data b
001 002 002 dir1 dir2 id 1 attributes data c
002 001 001 dir1 dir2 id 2 attributes data d
002 001 002 dir1 dir2 id 2 attributes data e
002 001 003 dir1 dir2 id 2 attributes data f