XML-схемы и данные в настройках уровня документа
Важные сведения, приведенные в этом разделе, касающиеся Microsoft Word, предоставляются исключительно для преимуществ и использования отдельных лиц и организаций, расположенных за пределами США и ее территорий или использующих, или разработки программ, работающих в microsoft Word, продуктов Microsoft Word, лицензированных корпорацией Майкрософт до января 2010 года, когда корпорация Майкрософт удалила реализацию конкретных функций, связанных с пользовательским XML из Microsoft Word. Эта информация о Microsoft Word не может быть прочитана или использована отдельными лицами или организациями в США или ее территориях, использующих или разрабатывающих программы, которые выполняются, продукты Microsoft Word, лицензированные корпорацией Майкрософт после 10 января 2010 г.; эти продукты не будут вести себя так же, как продукты, лицензированные до этой даты или приобретенных и лицензированных для использования за пределами США.
Область применения. Сведения в этом разделе относятся к проектам уровня документа для Excel и Word. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.
Microsoft Office Excel и Microsoft Office Word предоставляют возможность сопоставления схем с документами. Эта функция может упростить импорт и экспорт XML-данных в документе и их выходе.
Visual Studio предоставляет сопоставленные элементы схемы в настройках уровня документа в качестве элементов управления в модели программирования. Для Excel Visual Studio добавляет поддержку привязки элементов управления к данным в базах данных, веб-службах и объектах. Для Word и Excel Visual Studio добавляет поддержку областей действий, которые можно использовать с документом, сопоставленным с схемой, для создания расширенного пользовательского интерфейса для решений. Дополнительные сведения см. в обзоре области действий.
Примечание.
В решениях Excel нельзя использовать многопартийные xml-схемы.
Объекты, созданные при присоединении схем к книгам Excel
При присоединении схемы к книге Visual Studio автоматически создает несколько объектов и добавляет их в проект. Эти объекты не следует удалять с помощью средств Visual Studio, так как они управляются Excel. Чтобы удалить их, удалите сопоставленные элементы из листа или отсоедините схему с помощью средств Excel.
Существует два основных объекта:
XML-схема (XSD-файл). Для каждой схемы в книге Visual Studio добавляет схему в проект. Это отображается как элемент проекта с расширением XSD в Обозреватель решений.
Типизированный класс DataSet. Этот класс создается на основе схемы. Этот класс набора данных отображается в представлении классов.
Объекты, созданные при сопоставлении элементов схемы с листами Excel
При сопоставлении элемента схемы из области задач источника XML с листом Visual Studio автоматически создает несколько объектов и добавляет их в проект:
Элементы управления. Для каждого сопоставленного объекта в книге элемент XmlMappedRange управления (для элементов схемы, не повторяющихся) или ListObject элемента управления (для повторяющихся элементов схемы) создается в модели программирования. Элемент ListObject управления можно удалить только путем удаления сопоставлений и сопоставленных объектов из книги. Дополнительные сведения об элементах управления см. в обзоре элементов узла и элементов управления узлами.
Bindingsource. При создании XmlMappedRange путем сопоставления не повторяющегося элемента схемы с листом BindingSource создается XmlMappedRange и элемент управления привязан к элементу BindingSourceуправления. Необходимо привязать BindingSource экземпляр источника данных, который соответствует схеме, сопоставленной с документом, например экземпляр созданного типа DataSet класса. Создайте привязку, задав DataSource DataMember свойства, предоставляемые в окне "Свойства ".
Примечание.
Объект BindingSource не создается для ListObject объектов. Необходимо вручную привязать ListObject источник данных, задав DataSource DataMember свойства в окне свойств .
Сопоставленные схемы Office и окно источников данных Visual Studio
Функции сопоставленной схемы Office и окна источников данных Visual Studio помогут вам представить данные на листе Excel для создания отчетов или редактирования. В обоих случаях можно перетащить элементы данных на лист Excel. Оба метода создают элементы управления, связанные с данными через BindingSource источник данных, например веб-службу DataSet или веб-службу.
Примечание.
При сопоставлении повторяющегося элемента схемы с листом Visual Studio создает элемент ListObject. Данные ListObject не привязаны к данным автоматически.BindingSource Необходимо вручную привязать ListObject источник данных, задав DataSource DataMember свойства в окне свойств .
В следующей таблице показаны некоторые различия между двумя методами.
XML-схема | Источники данных - окно |
---|---|
Использует интерфейс Office. | Использует окно источников данных в Visual Studio. |
Включает встроенные функции Office для импорта и экспорта данных из XML-файлов. | Необходимо программно предоставлять функции импорта и экспорта. |
Для заполнения созданных элементов управления данными необходимо написать код. | Элементы управления, добавленные из окна источников данных, автоматически создают код для их заполнения, а также необходимые строка подключения при использовании серверов баз данных. |
Поведение при присоединении схем к документам Word
Объекты данных не создаются при присоединении схемы к документу Word, который используется в проекте Office на уровне документа. Однако при сопоставлении элемента схемы с документом создаются элементы управления. Тип элемента управления зависит от типа сопоставленного элемента; повторяющиеся элементы создают XMLNodes элементы управления и не повторяющиеся элементы создают XMLNode элементы управления. Дополнительные сведения см. в разделе XMLNodes Control и XMLNode Control.
Развертывание решений, включающих XML-схемы
Необходимо создать установщик для развертывания решения, использующего xml-схему, сопоставленную с документом. Установщик должен зарегистрировать схему в библиотеке схем на компьютере пользователя. Если схема не зарегистрирована, решение по-прежнему будет работать, так как Word создает временную схему на основе элементов документа, которые находятся в документе при его открытии. Однако пользователь не сможет выполнить проверку или сохранить схему, которая использовалась для создания проекта. Дополнительные сведения о установщиках см. в разделе "Развертывание приложений, служб и компонентов".
Вы также можете добавить код в проект, чтобы проверка, находится ли схема в библиотеке и зарегистрирована. Если это не так, можно предупредить пользователя.
// Ensure that the schema is in the library and registered with the document.
private bool CheckSchema()
{
const string namespaceUri = "http://schemas.contoso.com/projects";
bool namespaceFound = false;
bool namespaceRegistered = false;
foreach (Word.XMLNamespace n in Application.XMLNamespaces)
{
if (n.URI == namespaceUri)
{
namespaceFound = true;
}
}
if (!namespaceFound)
{
MessageBox.Show("XML Schema is not in library.");
return false;
}
foreach (Word.XMLSchemaReference r in this.XMLSchemaReferences)
{
if (r.NamespaceURI == namespaceUri)
{
namespaceRegistered = true;
}
}
if (!namespaceRegistered)
{
MessageBox.Show("XML Schema is not registered for this document.");
return false;
}
return true;
}