1

XSLT を使用して XML ファイルを解析し、CSV 形式に変換したいと考えています。XML 形式は次のようになります。

            <a:level1>
              <a:level2>
                <b:level3">
                  <b:date a:value="TODAY">
                    <c:level4>
                      <d:level5>
                        <d:level6 a:value="AAA">
                          <d:level7 a:value="AAA_AAA">
                            <d:level8 a:value="XXX/123">
                              <d:leaf a:value="150415">
                                <b:leaf1>100</b:leaf1>
                                <b:leaf2>100</b:leaf2>
                              </d:leaf>
                              <d:leaf a:value="200814">
                                <b:leaf1>1961</b:leaf1>
                                <b:leaf2>1961</b:leaf2>
                              </d:leaf>
                            </d:level8>
                          </d:level7>
                        </d:level6>
                        <d:level6 a:value="BBB">
                          <d:level7 a:value="BBB_BBB">
                            <d:level8 a:value="XXX/123">
                              <d:leaf a:value="1505">
                                <b:leaf1>0.42</b:leaf1>
                                <b:leaf2>0.42</b:leaf2>
                              </d:leaf>
                            </d:level8>
                          </d:level7>
                        </d:level6>
                      </d:level5>
                    </c:level4>
                  </b:date>
                </b:level3>
              </a:level2>
            </a:level1>

目的は、値を持つノードのみを抽出し、ノード名をヘッダーとして使用することです。出力 CSV ファイルは次のようになります。

            date, level6, leve7, level8, leaf, leaf1, leaf2
            TODAY, AAA , AAA_AAA, XXX/123, 150415, 100,100
            TODAY, AAA , AAA_AAA, XXX/123, 200814, 1961,1961
            TODAY, BBB , BBB_BBB, XXX/123, 1505, 0.42,0.42

私は XSLT の初心者なので、CSV のヘッダーと行を作成する方法のサンプルはありますか? ノード level6、level7、level8、leaf の名前は、異なるファイルで変更される場合があります。

4

1 に答える 1