XSLT:xoBlos 流タグの手繰り(たぐり)方

次のようなXMLファイル(xoBlos 抽出データ)を、練習用に用意しました。

input.xml

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>
  <ROWS>
    <商品コード>3001</商品コード>
    <商品名>みかん</商品名>
    <単価>238</単価>
    <産地名>愛媛</産地名>
  </ROWS>
  <ROWS>
    <商品コード>3002</商品コード>
    <商品名>りんご</商品名>
    <単価>313</単価>
    <産地名>青森</産地名>
  </ROWS>
  <ROWS>
    <商品コード>3003</商品コード>
    <商品名>かき</商品名>
    <単価>252</単価>
    <産地名>和歌山</産地名>
  </ROWS>
  <ROWS>
    <商品コード>3004</商品コード>
    <商品名>メロン</商品名>
    <単価>485</単価>
    <産地名>茨城</産地名>
  </ROWS>
  <ROWS>
    <商品コード>3005</商品コード>
    <商品名>バナナ</商品名>
    <単価>217</単価>
    <産地名>沖縄</産地名>
  </ROWS>
</Root>

前回記事で作ってみた、XMLファイルをコピーする原型ですが、

XSLT:探検の始まり
https://xoblos.hatenablog.jp/entry/2021/07/16/022255

この処理と同等の設定を、xoBlos 標準XMLファイル(抽出データ)(上記の input.xml)を入力ファイルにして行ってみましょう。

xml.xslt 変換設定(XSLTスタイルシート)ファイル

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" encoding="UTF-8" indent="yes" />

  <xsl:template match="Root">
    <Root><xsl:apply-templates/></Root>
  </xsl:template>

  <xsl:template match="ROWS">
    <ROWS><xsl:apply-templates/></ROWS>
  </xsl:template>

  <xsl:template match="node()">
	<xsl:copy-of select="."/>
  </xsl:template>

</xsl:stylesheet>

次の箇所でルート要素(Root)をマッチさせています。

 <xsl:template match="Root"> <Root><xsl:apply-templates/></Root> </xsl:template>

次の箇所でレコード(行)要素(ROWS)をマッチさせています。

<xsl:template match="ROWS"> <ROWS><xsl:apply-templates/></ROWS> </xsl:template>

これらの RootROWS を手繰っていく手法では、下記のような xoBlos XML形式の構造特性を利用しています。

表データと相性の良いxoBlos XML構造
https://xoblos.hatenablog.jp/entry/2018/11/23/153425