Views: 205
XML文書は、XSLT(eXtensible Stylesheet Language Transformations)を使用してHTMLに変換できます。
XSLTによる変換処理は「スタイルシート」に記述したルールに従って行われ、スタイルシートの記述に従ってXML文書を処理するプログラム「XSLTプロセッサ」として
一般によく使用されているSaxon (sourceforge.net)を使用した例を紹介します。
Saxon
このページからSaxon-HEをダウンロード解凍して使用しました。
スタイルシート
今回使用したファイルを次の表に掲載しました。リンクを開いて確認してください。
変換元のデジタルインボイス | invoice.xml |
スタイルシート | stylesheet-ubl.xsl |
変換後のHTML | invoice.html |
スタイルシートは、BIS Billing 3.0で配布されているものを日本語表記に修正し、ビジネス用語のIDも確認できるようにしています。
スタイルシートの先頭箇所には、表示用のCSS定義が続き、その後ろに変換対象を選択してXMLの対象箇所をHTMLに埋め込む処理が定義されています。
次の修正箇所はcbc:CustomizationIDの値で処理対象を区別している箇所ですが、今後変更が予定されているので確認せずに変換するようにしています。
<!-- <xsl:template match="in:Invoice[starts-with(normalize-space(cbc:CustomizationID/text()), 'urn:peppol:pint:billing-3.0@jp:peppol-1')]" mode="document" priority="1000"> --> <!-- <xsl:template match="in:Invoice[normalize-space(cbc:CustomizationID/text())='urn:fdc:peppol:jp:billing:3.0']" mode="document" priority="1000"> --> <xsl:template match="in:Invoice" mode="document" priority="1000">
変換実行
java -jar server/saxon/saxon-he-10.6.jar -o:example/invoice.html example/invoice.xml server/stylesheet-ubl.xslt
以前紹介した例については、次の記事をご覧ください。