XMLBluePrintでWordファイルを開いてみた
Microssoft Wordのdocx形式は、XMLであることを知っている人は多いと思います。
例えば、
Test_file.docx
の拡張子をzipに変えて
Test_file.zip
として、解凍してみると、次のようになります。
ちなみに本文は、「word」フォルダの「document.xml」に入っています。
つまり圧縮されているだけであれば、「XMLエディターで開けるんじゃない?」と思ったわけです。
さて、今回は、XMLBluePrintでこのWordファイルを直接開いてみたので、その結果を書きます。
- XMLBluePrintを起動し、「ファイル」>「開く」を選びます。
- で、開きたい「.docx」ファイルを直接選びます。
今回使ったWordファイルの内容は次の感じです。
「見出し1」「見出し2」と「本文」を単純に並べたものです。 - すると、そのまま開くことができました。zip圧縮されているファイルなので、ツリー表示の上部には「アーカイブ」と表示されています。
- 本文は「word」>「document.xml」なので、ツリーでダブルクリックして開きます。
- 見やすいように成形します。「XML」>「フォーマット」を選択します。
- 少し見やすくなりました。
見出し1は
<w:p w:rsidP="4253DA2C" wp14:paraId="5BADD4ED" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordml" wp14:textId="0BC75358"> |
で、「Heading1」というスタイルが当たっていることがわかります。
見出し2は
<w:p w:rsidR="4253DA2C" w:rsidP="4253DA2C" w:rsidRDefault="4253DA2C" w14:paraId="3E1DADBD" w14:textId="296B60EA"> |
で「Heading2」になってますね。
本文はというと
<w:p w:rsidR="4253DA2C" w:rsidRDefault="4253DA2C" w14:paraId="22FCB4E7" w14:textId="4A87AF52"> |
となり、
<w:pPr> |
のセクションがないことがわかります。
中身がみられるのは予想通りですが、さて、ここでXMLBluePrint内で本文を編集したらどうなるでしょう?
見出し2の本文を
<w:t>ここはXMLで修正した見出し2です</w:t> |
と変更します。
「ファイル」>「保存」で上書き保存します。
さて、Wordで開くとどうなってるでしょうか。
正しく変更されてますね。
Wordがなくても、本文を編集できることは明らかで、また、XMLタグの意味が分かっていれば、スタイルの変更(見出しなど)もWordを使わなくてもできるということです。
例えば、本文を見出しに変えたい場合、
<w:p w:rsidR="4253DA2C" w:rsidRDefault="4253DA2C" w14:paraId="22FCB4E7" w14:textId="4A87AF52"> |
とすると、「本文」が「見出し2」に変ります。
プログラム的にWord文書を構造化したりするときにはこの機能を使うと楽そうですね。
ファイル内の他のXML、fontTable.xml、settings.xml、styles.xml、webSettings.xmlは、フォンと定義やレイアウトスタイルの情報なので、かなりガチで触りたい人はこれらも理解しておくことになりますね。
今回の目的は「XMLBluePrintでdocxを開いたらどうなるか」なので、これで目的は達成。