XML活用講座

WordからXMLに変換する

概要

前々回では「XMLの記述ルール」を説明しましたが、実際はXMLをエディターで手入力するケースは少なく、多くの場合、プログラムでXMLを出力したり、何らかの元データがあって、それらをXMLに変換する方法が効率的です。
ここでは、Wordファイルを元データとして変換する方法をご紹介します。

 

Microsoft Wordファイルからの変換

メリット

当社で手掛けている「取扱説明書」などの文書を変換する場合は、元データをWordファイルで準備する方法が、直感的、かつ効率的に作業を進めることができます。

特に、表をエディターを使って手入力で作成することは難しく、罫線情報(太さ・線種・色)やセル単位の結合などを考えると至難の業です。一方、Wordであれば直感的に表を作成できるため、そのデータを変換することがXML文章を作成する点においても、相性の良い手法といえます。

 

デメリット

現在、WordをXMLに変換するソフトウエアは、Excel(CSV)をXMLに変換するソフトウエアより圧倒的に少ない状況です。また、コンテンツの内容がExcel(CSV)に比べて複雑になるため、処理するソフトウエアも高度なものになります。
そのため、Excel(CSV)を変換するソフトウエアと比べて条件や制約が多く、また、高価なものとなる傾向があります。

 

当社での実績

当社では、XMLへの取り組みを始めたころは、「XMLに対する取り組み」のページで記載しているとおり、『XML ASSIST』という富士電機総設株式会社製のソフトウエアを使って、Wordのリッチテキストファイル(*.rtf)をXMLに変換していました。

現在は、自社で開発した独自のアプリケーションを使ってWord(*.docx)をXMLに変換していますが、基本的な考え方としては、段落スタイル名などを読み取って階層構造を持ったXMLファイルに変換しています。

 

サンプル

Wordファイル

今回、サンプルとして次のようなWordファイルを準備しました。

xml0006_sample_DOCX2XML_doc

 

このサンプルでは、次のとおり、各段落に「段落スタイル」を設定してあります。

 

xml0006_word_style

 

XML構造の定義

XML自体は、要素名・属性・順序・階層の深さなどに制限がありません。しかし、書き手が自由に文書を書くと、文章が項目立った内容にならないため読みにくく、また、プログラムでXMLをHTMLやPDFに変換するときにも、内容がバラバラだと処理できません。
そこで、DTD(文書型定義)ファイルと呼ばれる、XMLの構造を定義するファイルも準備しました。
DTDとは、文章を「章・節・項・目」のように階層化して要素名を決めたルールブックに該当するファイルです。
DTD自体はテキストファイルで内容が読みにくいため、可視化したイメージをお見せしましょう。

xml0006_sample_dtd

 

Wordの段落スタイルとDTDの関連付け

今回のサンプルで、Wordの段落スタイルとDTDを関連付けると、次のようなイメージになります。

xml0006_dtd_style-mapping

 

変換後のXML

上記の「Wordファイル」、「DTD」を準備し、変換に使用するソフトウエアに「Wordの段落スタイルとDTDの関連付け」を設定した状態で、WordファイルをXMLに変換すると、次のようになります。

xml0006_sample_DOCX2XML_xml

 

まとめ

このように、WordファイルをXMLに変換する場合の一例として、Wordの段落スタイルの情報を利用して「章・節・項」のような階層構造を持ったXMLファイルに変換する方法を参考にしていただけたらと思います。



Tec Communications

Copyright © 2014 Tec Communications Co., Ltd.  All Rights Reserved.