OpenXML: Создание повторно используемых элементов управления содержимым с привязкой - PullRequest
3 голосов
/ 06 августа 2010

Мне нужно прикрепить определенный XML к текстовому документу, чтобы элементы отображались в нужных местах. Это я могу сделать с OpenXML SDK.

Дело в том, что я тоже хочу иметь возможность определять элементы управления содержимым, уже связанные в каком-либо шаблоне, чтобы другие люди могли создать настоящий шаблон документа, к которому будет прикреплен xml. Хорошо, не уверен, что люди поймут, что я имею в виду, поэтому я объясню дальше.

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

Сценарий. Некоторому чуваку, который не является программистом, необходимо создать новую форму для обычной информации из-за некоторых изменений (новый макет или что-то в этом роде). Это не имеет ничего общего с информацией XML, которая остается прежней.

Оптимальным решением для «какого-то чувака» было бы создание документа в Word и перетаскивание элементов управления контентом на место (или аналог решения). Затем, когда XML добавляется в документ, проблем не возникает, так как элементы управления контентом предварительно связаны.

Теперь здесь есть несколько моментов:

1) Можно ли предварительно связать элементы управления контентом? Если в пути нет XML, не останется ли он пустым без проблем?

2) Будет ли привязка элементов управления содержимым к CustomXML, как это, все еще работать в будущих версиях Word из-за иска i4i?

3) Может быть, есть другое оптимальное решение?

Заранее спасибо.

EDIT:

Чтобы быть более понятным. Я не хочу создавать элементы управления контентом, которые будут иметь какое-то имя для их идентификации и xpath с привязкой к данным. Однако в этот момент на пути ничего нет.

Другой пользователь заходит и создает форму, определяет макет и т. Д., А затем добавляет элементы управления контентом в те места, где ему нужна информация.

Позже информация для элемента X запрашивается с использованием новой формы. Таким образом, будет взята копия этой формы, и CustomXML будет добавлен в файл Docx. Теперь, поскольку схема XML была известна заранее и использовалась при определении путей для CC, эти данные XML будут привязаны к элементам управления контентом.

Ответы [ 2 ]

2 голосов
/ 06 августа 2010

Один отличный вариант - использовать VSTO ( Visual Studio для Office ) для создания набора шаблонов документов, к которым прикреплен код предварительной привязки.Эти две статьи дают хорошее начало для изучения этого типа решения:

Есть две темы, которые обсуждают некоторые детали этого: 1 и 2 .

OneПреимущество использования VSTO заключается в том, что вы можете перехватить события Content Control : Модель событий управления контентом в Word 2007 .

Если VSTO не подходит, вывсегда можно посмотреть на Добавление пользовательских частей XML в документы без запуска Microsoft Office .

1 голос
/ 17 июля 2011

Это должно быть очень просто.Судебные иски i4i не влияют на пользовательские элементы управления, и вы можете назвать их, используя свойство tag в каждом элементе управления (предупреждение - оно ограничено 64 символами).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...