そもそも、XMLを他の文書に変換するというのはどういうことなのでしょうか
XMLは構造化された言語であり、機械的に解析しやすいというのは前回ご説明した通りですが、そのままの見た目では人の目ではやはり読みにくい・理解しにくいです
そのため、XMLの内容を人が見てわかるようにするには適切な形式に変換する必要が出てきます
ただし、きちんと定義を決めてあるXMLであれば、一つのXMLファイルからいろいろな形式へ変換するプログラムを作成することはそう難しいことではありません
また、XMLを作成したツールがバラバラであっても、定義にのっとってさえいれば同じプログラムで変換できるという強みもあります
XMLを変換する形式の中で一番相性がいいのは、やはりHTMLかと思います
HP上に公開するなど利用シーンとしても多いですし、どちらもマークアップ言語ですので、両者の中身の作りがそもそも似ています
たとえば下記は添付文書XMLの一部分です
これをHTMLに変換すると、下記のようになります
ものすごくざっくりというと、topicタグがdivタグに、titleがh3タグに、contentsがpタグになった形です
順に、エリア指定、見出し、段落と思っていただいて問題ありません
このHTMLはウェブブラウザで見るとこう見えます
もちろん装飾を加えようとしたり、リストや表形式で表示したり、リンクにしようとすれば加工に手はかかります
ただ、基本的にはタグを置き換えていき、構造そのものは大きく変えなくていいため、比較的容易な変換であるといえます
もう一つ、出来上がった内容をMicrosoftWord(以下Word)で利用したいというケースは少なくないと思います
Wordに限りませんが、MicrosoftのOffice系のファイルは実際には中身はXMLなのですが、HTMLのように作りが単純ではありません
そのため、大抵の場合、プログラムでXMLを読み込み、変換用のツールを利用してXMLの内容をワードとして作り直す形になります
その際、XMLのタグの記載に従って、フォントや見出しレベルなどを指定して、見やすいワードファイルに変換することが可能です
例えば、下記のようなXMLがあったとします
先のHTML同様、タグをもとにワードに変換していくわけですが、プログラムを介すことでより見やすいワードを作ることができます
たとえば上記のXMLですと、topicタグの属性にtopic-levelというものがあります
これをもとに、同じtitleタグでも「ア.作成又は改訂年月」はフォントサイズ20,「改訂情報」はフォントサイズ16、「年月」「版数」はフォントサイズ12と差をつけて、下記のようなワードとして自動変換することができます
HTMLほど人の目で見てわかりやすい変換ではありませんが、変換元のファイルがXMLであることで、より見やすいWordが作成できます
XML活用のすゝめ ①XMLとは何者なのか
添付文書XML, ブログ