Visual studio обозреватель схемы xml
XML используется повсюду от веб-служб, баз данных, конфигурационных файлов, до офисных документов. Эта статья познакомит вас с инструментальной поддержкой предлагаемой Visual Studio 2008, которая облегчает работу с XML. В статье рассматривается редактирование XML файлов, работа со схемами XML, отладка стилевых таблиц XSLT и расширение Visual Studio при помощи написания собственных XML дизайнеров.
Когда вы открываете XML файл в Visual Studio 2008 (например .xml, .xsd, .xslt, .svg или .config), вы запускаете встроенный редактор XML. XML редактор поставляется с полным набором функций который можно ожидать от редактора Visual Studio, включая IntelliSense, раскраску кода, подсветку скобок, сворачивание/разворачиваине и форматирование кода. Он предоставляет полную проверку синтаксиса XML 1.0, завершение тэгов, также как и поддержку схемы XML с валидацией в реальном времени.
Редактирование XML файлов
Нужно признать, что ручное редактирование XML-файлов может быть очень утомительным и отнимать много времени. Чтобы помочь в этом XML редактор Visual Studio 2008 поставляется с большим количеством функций для улучшения производительности. Одной из таких функций является расширяемая библиотека фрагментов XML кода — XML файлов которые содержат конфигурируемые участки кода, которые выступают в роли шаблонов для использования во время редактирования документа. С Visual Studio устанавливается много файлов фрагментов XML кода, которые помогают разработчикам при написании схем XML и стилевых страниц XSLT. Чтобы вызвать фрагмент во время редактирования XML-файла, выберите «Insert Snippet» («Вставить Фрагмент») из меню «Edit > IntelliSense» («Редактировать > IntelliSense»). Как только вы вставили фрагмент, вы можете перемещаться между подсвеченными полями, которые можно изменять клавишей TAB, чтобы вводить данные. На Рисунке 1 показан пример вставки фрагмента.
Рисунок 1: Вызов фрагмента XML кода в Visual Studio 2008.
Вы также можете записывать ваши собственные фрагменты. Если вы хотите создать простой фрагмент, выполните следующие шаги:
Создайте XML файл и наберите в нем:
Нажмите ESCAPE, чтобы закрыть окно IntelliSense.
Нажмите TAB.
Введите значение.
Нажмите ENTER для завершения.
Для более подробной информации Я рекомендую публикацию в блоге редактор Visual Studio
«Code Snippet — Schema Description».
Что вы будете делать, когда нету готовых фрагментов XML кода, а вам нужно создать XML файл основанный на существующей схеме? Редактор XML предлагает широкий диапазон возможностей при помощи которых вы можете ассоциировать ваши XML документы с XML схемами. IntelliSense основанные на схеме, валидацию в режиме реально времени, а также отчет об ошибках это всего несколько из них. В дополнение к названному, XML редактор может динамически генерировать фрагменты кода основанные на существующей схеме. После того как вы предоставили имя элемента который нужно добавить XML редактор может проанализировать схему на требующуюся информацию, сгенерировать фрагмент кода и вставить его для вас. Чтобы вызвать функции динамического построения фрагментов XML кода все что вам нужно сделать, набрать имя элемента также как это показано в следующем примере:
и нажмите клавишу TAB. XML редактор создаст фрагмент кода, который будет выглядеть очень похоже с тем, что уже было показано на Рисунке 1 за исключением того, что вам ничего не нужно будет делать заранее. Это очень мощная функция, особенно, когда вам нужно создать документы с большими моделями содержимого.
По умолчанию XML редактор генерирует только требующееся содержимое, но это поведение может быть переопределено при помощи аннотаций в XML схемах. Больше информации вы найдете в MSDN под заголовком, «How to: Generate an XML Snippet From an XML Schema».
Кеш схемы и каталоги Схем
Для продвинутых пользователей XML редактор предлагает такие функций как кеш схемы каталоги файлов схем. Кеш схемы это папка которая содержит множество хорошо известных W3C схем, также как и много схем конкретно созданных Microsoft или связанных с их технологиями. Она служит как репозиторий широко используемых схем, которые обычно не меняются. Вы найдете расположение схем по умолчанию в %vsinstalldir%\xml\schemas, где "%vsinstalldir%" это переменная представляющая расположение в которое установлена Visual Studio. Когда вы объявляете одно из пространств имен определенных этими схемами в ваших XML файлах, редактор будет автоматически ассоциировать соответствующие схемы из расположения кеша и быстро предоставлять IntelliSense и валидацию для этой схемы.
Каталог схем это XML файлы размещающиеся в директории кеша схем (файл catalog.xml по умолчанию). Они дают продвинутым пользователям более точный контроль над различными пространствами имен, которые они возможно будут использовать. Например, вы можете ассоциировать определенные пространства имен с внешними источниками:
Вы также можете использовать файлы каталогов для создания ассоциаций между файлами схемы и расширениями файлов вам может быть это иногда полезно, когда схема не имеет targetNamespace:
Нововведение в Visual Studio 2008, вы также можете добавлять условия:
extension="config"
schema="xml/schemas/dotNetConfig30.xsd"
condition="%TargetFrameworkVersion% = 3.0" />
Наконец, вы можете создать цепочку ссылаясь из одного файла каталога на другой:
Работа с большими файлами
Другая важная функция редактирования которую я хотел бы отметить это поддержка редактором XML больших файлов. Хотя вы и могли работать с большими файлами в предыдущих версиях, Visual Studio 2008 поддерживает инкрементальный анализ XML документов. Теперь, если вы работаете с файлом размером 10 Мб, вам не нужно ждать пока Visual Studio проанализирует файл целиком каждый раз как вы внесли изменения. XML редактор изолирует правки и переанализирует только те части которые требуется, предлагая таким образом лучшую производительность и отклик.
Я описал лишь несколько интересных функций XML редактора, но очевидно, нельзя рассмотреть здесь все из них. Таблица 1 показывает некоторые из функций которые доступны пользователям Visual Studio.
Функция | Поддержка в Visual Studio 2008 |
Автозавершение | X |
Подсветка синтаксиса | X |
Сворачивание/Разворачивание кода | X |
IntelliSense | X |
Расширяемая библиотека фрагментов кода | X |
Динамические фрагменты кода | X |
Переход к определению (из XML к XSD) | X |
Навигация назад/вперед | X |
Поддержка проекта и профиля пользователя | X |
Валидация в режиме реального времени | X |
Полная поддержка XSD | X |
Поддержка пространств имен | X |
Поддержка DTD | X |
Генерация XSD по XML | X |
Конвертация DTD в XSD | X |
Поддержка Юникода | X |
Поддержка больших файлов (10 Мб+) | X |
Отладка стилевых таблиц XSLT
XSLT является стандартным языком трансформаций утвержденным W3C, который очень популярен среди большой группы разработчиков. Редакция Visual Studio Professional предоставляет поддержку редактирования и отладки стилевых таблиц XSLT. Редактирование файлов XSLT подобно редактированию XML файлов. Когда речь заходит об отладке XSLT, Visual Studio поддерживает два главных сценария:
Отладка отдельной трансформации, которая полезна, когда вашим изначальным интересом является документ на входе, собственно трансформация и документ на выходе.
Интегрированная в CLR отладка, которая полезна для отладки трансформаций в контексте вашего CLR приложения.
Отладка отдельных трансформаций
Рисунок 2 демонстрирует среду отладки, в момент когда вы работаете с XSLT трансформациями. В конфигурации по умолчанию, вы можете видеть XSLT файл и вкладки видов ввода документа и вывода документа. Вы также можете сконфигурировать Visual Studio, чтобы одновременно отображались все три документа. Когда вы проходите через код трансформации, вы можете видеть входящие данные, трансформацию которая обрабатывает этот ввод и генерацию выходного файла.
Рисунок 2: Отладка отдельных XSLT трансформаций.
CLR-интегрированная отладка
XslCompiledTransform xsltcmd =
new XslCompiledTransform( true );
xsltcmd.Load(XSLTFile);
XmlUrlResolver resolver = new XmlUrlResolver();
XmlWriter writer = XmlWriter.Create(OutputFile);
* This source code was highlighted with Source Code Highlighter .
Если вы установите точку останова на вызове метода и пройдете в него, отладчик покажет вам стилевую таблицу XSLT (Рисунок 3). Все функции описанные в разделе отладки отдельной таблицы стилей также применимы здесь. Единственным исключением является возможность устанавливать точки останова в файлах данных. Эта функция не доступна, когда вы переходите из в XSLT из другой программы на CLR. Все остальное будет вести себя точно также как описано в выше.
Таблица 2 представляет сводку различных функций доступных во время отладки XSLT трансформаций.
Feature | Visual Studio 2008 Support |
Browser view | X |
Locals, watch, call stack | X |
Viewing input XML, output, and XLST during debugging | X |
Breakpoints in XML | X |
Breakpoints in XSLT | X |
CLR language debugger integration | X |
Расширение инструментов XML
Рисунок 4: Старый способ создания пользовательских XML дизайнеров поверх XML редактора.
С другой стороны в XML редакторе есть свой собственный анализатор с восстановлением после ошибок. Она также создает свое собственное дерево анализа представляющее содержимое буфера. В Visual Studio 2008, Microsoft открыла это дерево LINQ to XML сторонним разработчикам. Новая архитектура показана на Рисунке 5. Новое API позволяет разработчикам создавать пользовательские виды поверх дерева анализа XML редактора, предоставляющие им логику восстановления после ошибок XML редактора и дерево анализа LINQ to XML с транзакциями по обновлению, результаты выполнения которых появляются в буфере интегрированным Visual Studio UndoManager. Эти изменения облегчают разработчикам создание XML инструментов поверх Visual Studio 2008.
Обозреватель XML-схем интегрирован с Microsoft Visual Studio, а редактор XML позволяет работать со схемами языка определения схемы XML (XSD). При открытии файла XML-схемы в обозревателе XML-схем появляется узел Набор схем. Все включенные, импортированные или переопределенные схемы для конечного файла, а также любые файлы, которые указаны через инструкцию include или import , также появляются в обозревателе XML-схемы.
Обозреватель XML-схем позволяет:
Получить быстрый обзор набора схем
Просматривать и совершать переходы по дереву.
Выполнять поиск ключевого слова и определенной схемы. Дополнительные сведения см. в статье Поиск набора схем.
Добавлять результаты поиска в представление графика или представление модели содержимого.
Сортировать дерево по порядку документа, типу или имени. Дополнительные сведения см. в статье Сортировка, фильтрация и группирование.
Открыть редактор XML и перейти к местоположению кода в XSD-файле. Дополнительные сведения см. в статье об интеграции с редактором XML.
Создать XML-образцы для глобальных элементов.
Обозреватель XML-схем представляет иерархический вид схемы в виде дерева. Обозреватель XML-схем также производит поиск, фильтрацию, навигацию и сортировку. Для получения доступа к обозревателю XML-схем, необходимо выполнить следующее:
Если вы находитесь в начальном представлении, щелкните ссылку Обозреватель XML-схем.
Если вы находитесь в представлении графика или представлении модели содержимого и имеете узлы в рабочей области, воспользуйтесь контекстным меню (щелкните правой кнопкой мыши), чтобы выбрать обозреватель XML-схем.
Можно также выбрать обозреватель XML-схем в меню Вид.
Получить доступ к обозревателю XML-схем можно посредством VB-файла, содержащего XML-литерал Visual Basic, связанный с XSD-файлом. Для просмотра набора схем в обозревателе XML-схем щелкните правой кнопкой мыши узел XML в XML-литерале или импорте пространства имен XML и выберите команду Show in Schema Explorer (Показать в обозревателе схем). Дополнительные сведения см. в статье Интеграция XML-литералов с обозревателем XML-схем.
Вид дерева
В обозревателе XML-схем отображаются сведения о прекомпилированном наборе схем в виде дерева. Структура дерева организована следующим образом.
На верхнем уровне - узел набора схем.
Второй уровень содержит пространства имен.
Третий уровень содержит файлы.
Четвертый уровень содержит глобальные узлы. Сюда могут входить элементы, группы, сложные типы, простые типы, атрибуты, группы атрибутов и инструкции include , import , redefine .
Ниже приведен пример структуры дерева:
Выделение и активация
Чтобы выделить и выбрать узел, щелкните один раз обозреватель схем.
Для активации узла щелкните узел дважды или нажмите клавишу ВВОД при выбранном узле.
Активация узла открывает файл, в котором определен данный узел (если файл еще не открыт), и выбирает узел из файла.
Активация узла файла открывает выбранный файл (если файл еще не открыт) и выделяет узел .
Активация SchemaSet или узла пространства имен не выполняет никаких действий
Перетаскивание узлов
Глобальные узлы, узлы файлов и узлы пространства имен можно перетаскивать в представление конструктора XSD. Если в данный момент открыто начальное представление, то при перетаскивании на него узла откроется представление графика. Если в данный момент открыто представление модели содержимого или представление графика, представление не изменится, если перетащить на него узел.
При перетаскивании файлов в представление все глобальные узлы в файле добавляются в рабочую область конструктора XSD. Сброс пространств имен на представление добавит все глобальные узлы пространства имен в рабочую область. Рабочая область совместно используется всеми представлениями.
Обозреватель XML-схем интегрирован с Microsoft Visual Studio, а редактор XML позволяет работать со схемами языка определения схемы XML (XSD). При открытии файла XML-схемы в обозревателе XML-схем появляется узел Набор схем. Все включенные, импортированные или переопределенные схемы для конечного файла, а также любые файлы, которые указаны через инструкцию include или import , также появляются в обозревателе XML-схемы.
Обозреватель XML-схем позволяет:
Получить быстрый обзор набора схем
Просматривать и совершать переходы по дереву.
Выполнять поиск ключевого слова и определенной схемы. Дополнительные сведения см. в статье Поиск набора схем.
Добавлять результаты поиска в представление графика или представление модели содержимого.
Сортировать дерево по порядку документа, типу или имени. Дополнительные сведения см. в статье Сортировка, фильтрация и группирование.
Открыть редактор XML и перейти к местоположению кода в XSD-файле. Дополнительные сведения см. в статье об интеграции с редактором XML.
Создать XML-образцы для глобальных элементов.
Обозреватель XML-схем представляет иерархический вид схемы в виде дерева. Обозреватель XML-схем также производит поиск, фильтрацию, навигацию и сортировку. Для получения доступа к обозревателю XML-схем, необходимо выполнить следующее:
Если вы находитесь в начальном представлении, щелкните ссылку Обозреватель XML-схем.
Если вы находитесь в представлении графика или представлении модели содержимого и имеете узлы в рабочей области, воспользуйтесь контекстным меню (щелкните правой кнопкой мыши), чтобы выбрать обозреватель XML-схем.
Можно также выбрать обозреватель XML-схем в меню Вид.
Получить доступ к обозревателю XML-схем можно посредством VB-файла, содержащего XML-литерал Visual Basic, связанный с XSD-файлом. Для просмотра набора схем в обозревателе XML-схем щелкните правой кнопкой мыши узел XML в XML-литерале или импорте пространства имен XML и выберите команду Show in Schema Explorer (Показать в обозревателе схем). Дополнительные сведения см. в статье Интеграция XML-литералов с обозревателем XML-схем.
Вид дерева
В обозревателе XML-схем отображаются сведения о прекомпилированном наборе схем в виде дерева. Структура дерева организована следующим образом.
На верхнем уровне - узел набора схем.
Второй уровень содержит пространства имен.
Третий уровень содержит файлы.
Четвертый уровень содержит глобальные узлы. Сюда могут входить элементы, группы, сложные типы, простые типы, атрибуты, группы атрибутов и инструкции include , import , redefine .
Ниже приведен пример структуры дерева:
Выделение и активация
Чтобы выделить и выбрать узел, щелкните один раз обозреватель схем.
Для активации узла щелкните узел дважды или нажмите клавишу ВВОД при выбранном узле.
Активация узла открывает файл, в котором определен данный узел (если файл еще не открыт), и выбирает узел из файла.
Активация узла файла открывает выбранный файл (если файл еще не открыт) и выделяет узел .
Активация SchemaSet или узла пространства имен не выполняет никаких действий
Перетаскивание узлов
Глобальные узлы, узлы файлов и узлы пространства имен можно перетаскивать в представление конструктора XSD. Если в данный момент открыто начальное представление, то при перетаскивании на него узла откроется представление графика. Если в данный момент открыто представление модели содержимого или представление графика, представление не изменится, если перетащить на него узел.
При перетаскивании файлов в представление все глобальные узлы в файле добавляются в рабочую область конструктора XSD. Сброс пространств имен на представление добавит все глобальные узлы пространства имен в рабочую область. Рабочая область совместно используется всеми представлениями.
The XML Schema Explorer is integrated with Microsoft Visual Studio and the XML editor to enable you to work with XML Schema definition language (XSD) schemas. When you open an XML Schema file, the Schema Set node appears in the XML Schema Explorer. All the included, imported, or redefined schemas for your target file, as well as any files that are referenced through an include or import statement, also appear in the XML Schema Explorer.
The XML Schema Explorer enables you to do the following:
Get a quick overview of the schema set.
Browse and navigate the tree.
Perform keyword and schema-specific searches. For more information, see Searching the schema set.
Add the search results to the Graph View or Content Model View
Sort the tree by document order, type, or name. For more information, see Sorting, filtering, and grouping.
Open the XML editor and jump to code locations in the XSD file. For more information, see Integration with XML editor.
Generate sample XML for global elements.
The XML Schema Explorer provides a hierarchal view of the schema set through a tree view. The XML Schema Explorer also provides search, filtering, navigation, and sorting. To access the XML Schema Explorer, do one of the following:
If you are on the Start View, click the XML Schema Explorer link.
If you are on the Graph View or the Content Model View and have nodes in your workspace, use the context (right-click) menu to select the XML Schema Explorer.
You can also select the XML Schema Explorer from the View menu.
You can access the XML Schema Explorer from a .vb file that has a Visual Basic XML literal associated with an .xsd file. To see the schema set in the XML Schema Explorer, right-click an XML node in an XML literal or an XML namespace import and select the Show in Schema Explorer command. For more information, see Integration of XML literals with XML Schema Explorer.
Tree View
The XML Schema Explorer displays pre-compiled schema set information in a tree structure. The tree structure is organized as follows:
At the top level is the schema set node.
The second level contains the namespaces.
The third level contains the files.
The fourth level contains the global nodes. This can include elements, groups, complex types, simple types, attributes, attribute groups, and include , import , and redefine statements.
Selection and activation
To highlight and select a node, click once in the Schema Explorer.
To activate a node, double-click it or press Enter when the node is selected.
Activating a node opens the file in which this node is defined (if the file is not already open) and selects the node in the file.
Activating a file node opens the selected file (if it is not already open) and highlights the node.
Activating a SchemaSet or a namespace node does nothing.
Drag and drop nodes
You can drag and drop global nodes, file nodes, and namespace nodes onto an XSD Designer view. If the current view is the Start View, dragging a node on to the view will open the Graph View. If the current view is the Content Model View or Graph View, the view will not change when you drop a node onto it.
Dropping files on the view will add all the global nodes in the file to the XSD Designer workspace. Dropping namespaces on the view will add all the global nodes in the namespace to the workspace. The workspace is shared between all the views.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Обозреватель схемы XML
Обозреватель XML-схем интегрирован с Microsoft Visual Studio, а редактор XML позволяет работать со схемами языка определения схемы XML (XSD). При открытии файла XML-схемы в обозревателе XML-схем появляется узел Набор схем. Все включенные, импортированные или переопределенные схемы для конечного файла, а также любые файлы, которые указаны через инструкцию include или import , также появляются в обозревателе XML-схемы.
Обозреватель XML-схем позволяет:
Получить быстрый обзор набора схем
Просматривать и совершать переходы по дереву.
Выполнять поиск ключевого слова и определенной схемы. Дополнительные сведения см. в статье Поиск набора схем.
Добавлять результаты поиска в представление графика или представление модели содержимого.
Сортировать дерево по порядку документа, типу или имени. Дополнительные сведения см. в статье Сортировка, фильтрация и группирование.
Открыть редактор XML и перейти к местоположению кода в XSD-файле. Дополнительные сведения см. в статье об интеграции с редактором XML.
Создать XML-образцы для глобальных элементов.
Обозреватель XML-схем представляет иерархический вид схемы в виде дерева. Обозреватель XML-схем также производит поиск, фильтрацию, навигацию и сортировку. Для получения доступа к обозревателю XML-схем, необходимо выполнить следующее:
Если вы находитесь в начальном представлении, щелкните ссылку Обозреватель XML-схем.
Если вы находитесь в представлении графика или представлении модели содержимого и имеете узлы в рабочей области, воспользуйтесь контекстным меню (щелкните правой кнопкой мыши), чтобы выбрать обозреватель XML-схем.
Можно также выбрать обозреватель XML-схем в меню Вид.
Получить доступ к обозревателю XML-схем можно посредством VB-файла, содержащего XML-литерал Visual Basic, связанный с XSD-файлом. Для просмотра набора схем в обозревателе XML-схем щелкните правой кнопкой мыши узел XML в XML-литерале или импорте пространства имен XML и выберите команду Show in Schema Explorer (Показать в обозревателе схем). Дополнительные сведения см. в статье Интеграция XML-литералов с обозревателем XML-схем.
В обозревателе XML-схем отображаются сведения о прекомпилированном наборе схем в виде дерева. Структура дерева организована следующим образом.
На верхнем уровне - узел набора схем.
Второй уровень содержит пространства имен.
Третий уровень содержит файлы.
Четвертый уровень содержит глобальные узлы. Сюда могут входить элементы, группы, сложные типы, простые типы, атрибуты, группы атрибутов и инструкции include , import , redefine .
Ниже приведен пример структуры дерева:
Выделение и активация
Чтобы выделить и выбрать узел, щелкните один раз обозреватель схем.
Для активации узла щелкните узел дважды или нажмите клавишу ВВОД при выбранном узле.
Активация узла открывает файл, в котором определен данный узел (если файл еще не открыт), и выбирает узел из файла.
Активация узла файла открывает выбранный файл (если файл еще не открыт) и выделяет узел .
Активация SchemaSet или узла пространства имен не выполняет никаких действий
Глобальные узлы, узлы файлов и узлы пространства имен можно перетаскивать в представление конструктора XSD. Если в данный момент открыто начальное представление, то при перетаскивании на него узла откроется представление графика. Если в данный момент открыто представление модели содержимого или представление графика, представление не изменится, если перетащить на него узел.
При перетаскивании файлов в представление все глобальные узлы в файле добавляются в рабочую область конструктора XSD. Сброс пространств имен на представление добавит все глобальные узлы пространства имен в рабочую область. Рабочая область совместно используется всеми представлениями.
Читайте также: