Web、メール、印刷ドキュメントを作成するための Microsoft ワード プロセッシング ソフトウェア製品のファミリ。
石田さん
ご返信をいただき、ありがとうございました。
実は、こちらに投稿する前に、インフォメーションセンターとテクニカルサポートセンターに電話でお尋ねをし、こちらに投稿して相談してはどうかと、アドバイスをいただいた経緯があります。
コンテンツコントロールオブジェクトに対して、Wordドキュメントに追加したカスタムXMLからのマッピングが出来ることは知っていたのですが、
- XML要素を文書へ適用する方法
- ユーザー独自のXML要素を文書に追加する方法
が分からず、質問をさせていただきました。
アドバイスのとおり、MSDNのOffice開発向けのフォーラムに投稿をさせていただきたいと思います。
その際の相談内容は、「Office OpenXMLドキュメントにマークアップしたw:customXml要素を保持した状態で、ドキュメントを開く方法」となりそうです。
なぜ、この相談となったのか、その経緯は下記のとおりです。
調査を進める中、以下のような情報にたどり着きました。
皆さんにとって有用な情報と思われるため共有します。
「ユーザー独自のXML要素を文書に追加する方法」について
以下のドキュメントを見つけました。
http://support.microsoft.com/kb/2445060/en (英語)
かいつまむと、
- 文書内にカスタムXMLマークアップがある場合は、それを削除すること
- コンテンツコントロールがXMLマッピングを行う標準的な方法であること
- カスタムXMLマークアップの削除は合衆国法廷における2009年12月22日の判決であること
との記載があります。
つまり、ユーザー独自のXML要素を文書内に保存したとしても、Word2010ではこれが削除されるようです。
「XML要素を文書へ適用する方法」について
XMLスキーマーを用意し、スキーマライブラリに追加することで、文書内に定義されたXML要素を追加できるようです。
Office OpenXMLフォーマットで保存した場合、w:customXml要素としてマークアップが保存されます。
しかし、保存したドキュメントを再度Word2010で開くと、w:customXml要素は削除されてしまいました。
まとめ
- ユーザー独自のXML要素(カスタムXMLマークアップ)はWord2010で開くと削除される
- XMLスキーマーで定義されたXML要素をドキュメントに適用することは出来る
- XMLスキーマーで定義されたXML要素を適用したドキュメントをWord2010で開くと、適用したXML要素が削除される