XSLT:探検の始まり

xoBlos のデザイナから、[新しい手順]-[コピー/削除/その他]-[XMLを任意の形式に変換] メニューを選びます。 

f:id:xoblos:20210711183015p:plain

「変換(XSLTで)」手順の設定画面が開くので、「入力ファイル名」「出力ファイル名」XSLTスタイルシートファイル」の3箇所を指定して、ファイル名を付けて保存します。ファイル名の拡張子は、xoBlos クライアントの場合は .xbt(xoBlos Designer の場合は .xob)です。

f:id:xoblos:20210716022237p:plain

「入力ファイル名」に指定するファイルはXML形式のファイルですが、まずはxoBlosを使って抽出したXMLファイルを、何でもいいので指定してください。

「出力ファイル名」には任意のファイル名を指定しますが、まずは最初の練習として、任意の .xml ファイル名を指定してください。

 XSLTスタイルシートファイル」には、以下の内容で保存した copy.xslt を指定してください。copy.xslt は、メモ帳やテキストエディタで編集・保存します(文字コードUTF-8で保存してください)。

 【copy.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="node()">
    <xsl:copy>
      <xsl:apply-templates select="node()"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>

 

準備が整ったら、実行してみてください。 入力XMLファイルのノードと要素が、そのまま出力XMLファイルにコピーされるスタイルシート変換の例です。 ファイルのコピーだけなら、xoBlosの機能にもあるため、まったく実用的な例ではありませんが、XSLT利用(XSLT探検の旅)の最初の一歩としましょう。

更なる探検の準備として、ネットの検索エンジンで、「XSLT」をキーワードにして検索してみてください。 XSLTXSL Transformations に関する多くの記事にヒットしますので、お時間のある方はどれか好きな記事を読んでみてください。

なお上記の copy.xslt では、属性(attribute)がコピーされませんので、属性もすべてコピーするときは、次の copy2.xslt を使ってみてくさい。"@*|node()" の箇所で属性も指定しています。

 【copy2.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="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>