Не всякая карта XML годится для обмена данными между Excel и XML. Есть, например, такие карты, посредством которых экспорт в XML произвести невозможно.
Например, если в схеме XML есть повторяющийся родительский элемент, у которого также есть повторяющиеся родительские элементы, то экспортировать данные в XML с помощью такой карты уже невозможно. Для этого даже существует специальная опция в источнике XML, которая позволяет сделать проверку карты XML с точки зрения возможности экспорта - см. картинку под катом.
При проверке выскакивает ошибка следующего содержания:
- Экспорт невозможен, поскольку карта содержит следующее: Список списков
Справка сообщает, что карта не является экспортируемой в целом ряде ситуаций, в том числе в ситуации, когда в ситуации списка списков (как у меня).
Это, конечно же, накладывает определенные ограничения на использование карты XML. Например, нельзя сказать, что любой файл Excel можно удобным образом связать с XML через карту XML.
Не экспортируемая карта
Примечание. Средства XML, за исключением сохранения файлов в формате таблиц XML, доступны только в Microsoft Office Professional версия 2003 и отдельном выпуске Microsoft Office Excel 2003.
Содержимое XML-сопоставления не может быть экспортировано при следующих обстоятельствах.
- XML-сопоставление не может быть экспортировано, если невозможно сохранить отношения сопоставленного элемента с другими элементами. Данное отношение невозможно сохранить по следующим причинам.
- Определение схемы сопоставленного элемента содержится в последовательности со следующими атрибутами.
- Атрибут maxoccurs не равен 1.
- В последовательности определено более одного явного дочернего элемента или в качестве дочернего элемента выступает другой составной элемент.
- Неповторяющиеся родственные элементы с одним и тем же повторяющимся родительским элементом сопоставлены с различными XML-списками.
- Несколько повторяющихся элементов сопоставлены с одним и тем же XML-списком и повторяющийся элемент не был помечен в качестве родительского.
- Дочерние элементы разных родительских элементов сопоставлены в один XML-список.
- Определение схемы сопоставленного элемента содержится в последовательности со следующими атрибутами.
- В XML-сопоставлении содержится одна из следующих логических структур схемы XML.
- Список списков. В одном списке элементов содержится второй список.
- Ненормированные данные. XML-список содержит элемент, определенный в схеме, как появляющийся один раз (значение атрибута maxoccurs равно 1). При добавлении такого элемента в XML-список, список в Excel заполняется несколькими экземплярами этого элемента.
- Выбор. Это сопоставленный элемент, который является частью логической структуры схемы <выбор>.