5


1

XML SchemaとOpenXML SDKを使用したWordMLテンプレート

OpenXML SDKを介して読み込まれたdocxをテンプレートとして使用しようとしています .Net web app for form letters (essentially). I have a docx with the xsdから定義されたXMLスキーマタグでマークアップされた書式設定(それらの名前が何であれ、このヘルプは非常に役に立ちません)。

Googleで私が見つけた類似したものは、CustomXmlBlock要素を、目的のデータを持つテキスト要素に置き換えているように見えたものだけでした。 これは・・・ 乱雑で壊れやすい。

また、一部のデータが階層であり、セクションの要素と、そのセクションの項目があるという複雑さもあります。 これは、上記の方法を完全に破壊するようです。

だから、誰かがこれを行うための正しい方向に私を向けることができますか?

1 Answer


5


いくつかの選択肢があります。

  1. あなたがしていること、* XSD Schema *マッピング。 これはWordで導入されました 2003年 Word 2007が登場したとき、優先される新しいフォームの方法が#2になったので、Wordのそのバージョンで本当に本当にアクティブでした。

  2. コンテンツコントロール。 これについての詳細は下記をご覧ください。

  3. 試してみたものは*ブックマーク*です。 興味があるなら、 記事http://openxmldeveloper.org/articles/719.aspx [こちら]。

コンテンツコントロール^ * 1 * ^の概念は単純です。必要な階層でコンテンツコントロールをラップします。 つまり、たとえば、_Date Picker Content Control_と_Rich Text Content Control_を持ち、それらをグループ化します。 次に、_Rich Text Content Control_内に、_Combo Box Content Control_を配置します。 エリックホワイトは、http://blogs.msdn.com/b/ericwhite/archive/2010/07/02/processing-all-content-parts-inのコンテンツコントロールの内部からコンテンツを取得することに関して、これに関するすばらしいスターター記事を書いています。 -an-open-xml-wordprocessingml-document.aspx [Open XML WordprocessingMLドキュメント内のすべてのコンテンツパーツの処理]。 この記事は、そのリンクhttp://msdn.microsoft.com/en-us/library/ff433640(v = office.14).aspx [データソースとしてOpen XML WordprocessingMLドキュメントを使用する]のコンテンツコントロールのはるかに包括的な紹介です。 。

コンテンツコントロールに関するその他のリンク:

  1. ブライアンジョーンズのサイトには素晴らしい記事がたくさんあります。 これらは 彼の最初:http://blogs.msdn.com/b/brian_jones/archive/2008/12/08/the-easy-way-to-assemble-multiple-word-documents.aspx [複数の単語を組み立てる簡単な方法ドキュメント]およびhttp://blogs.msdn.com/b/brian_jones/archive/2006/01/09/customxml1.aspx [独自のカスタムXMLに基づいて(XSLTを使用せずに)リッチなWordドキュメントを作成します]。

  2. Word Content Control Toolkit。 恐らく コンテンツコントロールを操作するための最適なツール。

  3. Visual コンテンツ方法。 ここの多くの記事はコンテンツコントロールを扱っています。

^ 1 ^〜Wordクライアントでコンテンツコントロールを手動で操作するには、オプションから[開発者]リボンを有効にしてから、コンテンツコントロールを挿入し、開発者リボンの[コントロール]グループの左側のセクションからプロパティを設定します。