Шаблоны WordML с XML-схемой и OpenXML SDK - PullRequest
5 голосов
/ 22 сентября 2010

Я пытаюсь использовать docx для чтения через OpenXML SDK в качестве шаблона в веб-приложении .Net для писем форм (по сути).У меня есть документ с нужным форматированием, размеченный тегами XML-схемы, определенными из xsd (как бы они ни назывались, помощь в этом крайне бесполезна).

Единственное, что я нашел в Googleбыло то, что, казалось, заменял элементы CustomXmlBlock текстовыми элементами с желаемыми данными.Это кажется ... грязным и хрупким.

У меня также есть дополнительное осложнение, что некоторые данные являются иерархическими, с элементами для разделов, а затем элементами в этом разделе.Казалось бы, это полностью нарушает описанный выше метод.

Итак, кто-то может указать мне правильное направление для этого или предложить лучший способ обработки шаблонных букв?

1 Ответ

5 голосов
/ 24 сентября 2010

Есть несколько вариантов:

  1. Что вы делаете, XSD Schema mapping. Это было введено в Word 2003. Он был действительно активен только в той версии Word, как когда вышел Word 2007, предпочтительным новым методом форм стал # 2.
  2. Контент управления . Подробнее об этом ниже.
  3. Испытано и верно Закладки . Если вам интересно, есть статья здесь .

Для элементов управления содержимым 1 концепция проста: оберните элементы управления содержимым в необходимую иерархию. То есть, например, иметь элемент управления содержимым средства выбора даты и элемент управления расширенным текстом , а затем группировать их. Затем внутри элемента управления содержимым RTF поместите элемент управления Combo Box . Эрик Уайт написал отличную начальную статью об извлечении контента из элементов управления контентом на Обработка всех частей контента в документе Open XML WordprocessingML . Эта статья представляет собой гораздо более полное введение в элементы управления контентом в ссылках Использование документов Open XML WordprocessingML в качестве источников данных .

Дополнительные ссылки на Контент-контроль:

  1. На сайте Брайана Джонса есть много замечательных статей. Я считаю, что это были его первые: Простой способ собрать документы из нескольких слов и Создать документ в формате Word на основе собственного XML (без необходимости XSLT) .
  2. Word Content Toolkit . Вероятно, лучший инструмент для работы с Контент Контролс.
  3. Visual How To Content . Многие статьи здесь посвящены Контент Контролю.

1 Для работы с элементами управления содержимым вручную в клиенте Word включите ленту «Разработчик» из меню «Параметры», а затем вставьте элементы управления содержимым и задайте их свойства в левой части элементов управления. группа в ленте разработчика.

...