Altova xmlspy инструкция на русском

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

Статья:

Altova XMLSpy – это уникальный инструмент разработки XML и XML-схем, который предлагает широкий спектр функциональных возможностей. Одним из его важных аспектов является возможность создания высококачественных скриншотов XML-схем. В этой статье мы рассмотрим несколько шагов, которые помогут вам максимально эффективно использовать функционал XMLSpy для создания скриншотов схем.

Шаг 1: Установка Altova XMLSpy

Первым шагом в создании скриншотов схем с помощью Altova XMLSpy является его установка на вашу рабочую станцию. Скачайте и установите последнюю версию программы с официального сайта Altova.

Шаг 2: Открытие XML-схемы

После установки XMLSpy откройте программу и загрузите XML-схему, с которой вы хотите работать. Вы можете сделать это, нажав «File» -> «Open» и выбрав соответствующий файл с расширением .xsd.

Шаг 3: Настройка рабочего пространства

Следующим шагом является настройка вашего рабочего пространства для создания скриншотов схем. Выберите подходящую вкладку (например, «Schema Design» для создания схемы или «Diagram» для визуализации схемы) и установите нужные параметры отображения и макета с помощью соответствующих инструментов меню.

Шаг 4: Захват скриншота

Теперь, когда ваша XML-схема готова для скриншота, выберите вкладку «File» и нажмите на опцию «Export» или «Save As». XMLSpy предлагает различные форматы файлов для экспорта, включая JPG, PNG и другие графические форматы. Выберите формат, наиболее подходящий для ваших потребностей, и сохраните скриншот схемы на вашем компьютере.

Шаг 5: Оптимизация и редактирование

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

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

Работа с Altova XML Spy

Основной инструмент редактирования SVG–обычный текстовый редактор, однако в нем отсутствует подсветка синтаксиса и возможность быстрого просмотра внесенных изменений. При написании этого курса использовался, пожалуй, лучший редактор XML документов – Altova XML Spy 2007 (http://www.altova.com/ (36,3 Мб)). Его также можно применять для создания SVG–файлов. После запуска программы выбираем из списка шаблонов SVG–документ (рис. 1.18):

Создание нового SVG–документа в Altova XML Spy

Рис.
1.18.
Создание нового SVG–документа в Altova XML Spy

Пролог нового документа содержит ссылку на упрощенную версию спецификации:

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat-20030114.dtd">

Копированием и вставкой эта спецификация заменяется на нужную нам:

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

Программа поддерживает несколько режимов отображения документа – Text (рис. 1.19, А), Grid (рис. 1.19, Б), Browser (рис. 1.19, В):

В режиме Text можно вводить код вручную, при этом работает подсветка синтаксиса, автозавершение строк, а в дополнительных окнах выводится информация об элементах (рис. 1.20):

Режим Grid позволяет конструировать SVG–документ, используя панели инструментов, доступна также сборка блоков при помощи удобного визуального представления (рис. 1.21):

В режиме браузер содержимое SVG–документа отображается в графическом режиме непосредственно в программе.

Для быстрого переключения между режимами Text и Browser удобно настроить сочетания клавиш. В главном меню программы выбираем «Tools» – «Customize…», в появившемся диалоговом окне в списке «Category» выбираем пункт View, далее в списке «Commands» выбираем последовательно пункты «Text View» и «Browser View», назначаем для них сочетания клавиш (рис. 1.22):

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

Распространенность XML — следствие
простоты его использования и
открытости стандартов. Поэтому на
сегодняшний день очень актуальны
средства, позволяющие легко и
быстро редактировать данные в
XML-формате. Как учит экономика, если
есть спрос — появится и предложение.
Поэтому найти инструмент,
облегчающий работу с XML-данными,
сегодня не проблема. Поскольку XML —
это, по большому счёту, текст, то для
самых простых случаев хватит и
блокнота. Однако для более или
менее серьёзных проектов с
использованием XML необходим
инструмент, отвечающий
индустриальным стандартам. И такие
инструменты существуют. По крайней
мере, один точно есть. Именно о нём я
хочу сейчас вам рассказать.

Называется эта замечательная
программа XML Spy, а найти её можно на
сайте www.altova.com.
Её разработчик — компания Altova GmbH.,
специализирующаяся на разработке
инструментов для web-разработки. XML Spy
— программа коммерческая, причём
стоит неслабо, однако, думаю, те,
кому она действительно нужна для
работы, не пожалеют денег. Есть,
правда, бесплатная «домашняя»
версия, но она лишена многих
полезных вещей, присутствующих в
профессиональной и корпоративной
версиях. Стоит иметь в виду, что
производитель гарантирует работу
своего детища только на
операционных системах линейки Windows
NT (NT 4.0, 2000, XP и 2003).

На одном из форумов для
программистов во время обсуждения
инструментов для работы с XML эту
программу назвали «самым
навороченным в мире
XML-редактором». С этим, пожалуй, не
трудно согласиться. Одних только
типов документов, предлагаемых
программой при создании нового
файла, более тридцати. Среди них и
ASP-страницы, и DTD, и DocBook, и многие
другие виды документов, не только
XML.

Редактирование же самого XML в
программе можно проводить
по-разному. Можно в виде текста, от
стандартного блокнота это
отличается только подсветкой
XML-синтаксиса, в профессиональной и
корпоративной версиях также ещё и
фолдингом (сворачиванием) участков
документа. Правда, намного удобнее
будет осуществлять редактирование
в режиме, когда документ
представляется в виде дерева, и
можно редактировать каждый элемент
и каждый атрибут каждого элемента в
визуальном режиме, не боясь
ошибиться в написании тегов. При
таком виде редактирования, если
имеется файл описания формата (Document
Type Definition — DTD), XML Spy делает подсказки,
какие значения допустимо выбрать
для того или иного атрибута. Для
WSDL-документов допустимо
представление в виде схемы. В XML Spy
встроен модуль для дизайна и
проверки XML-схем, причём
разработчики утверждают, что эта
возможность уникальна и на таком
высоком уровне не реализована ни в
одной другой программе.

Интересная возможность XML Spy
касается распечатки XML-документов и
названа разработчиками Pretty Printing.
Она заключается в том, что при
печати документ на бумаге выглядит
так же, как на экране. То есть, если
он представлен в виде схемы, то и
распечатается так же, а не как
просто текст.

Поскольку документы,
редактируемые с помощью XML Spy, часто
предназначены для конечных
пользователей (например, те же
DocBook’и, которые используются для
технической документации), то
проверка орфографии, которую
поддерживает программа, кажется
вещью очень актуальной и полезной.
Правда, в стандартной поставке
присутствует, конечно же, только
английский словарь, но это всё
равно неплохо.

В принципе, XML Spy перерос понятие
XML-редактора и стал чем-то большим и
новым, чего доселе вовсе не
встречалось — XML IDE. Говорить об этом
позволяет наличие отладчика для
создаваемого кода. Как известно, XML
используется не только для
хранения и передачи данных (я
упоминал об этом в самом начале), но
и для web-программирования. Поэтому,
в общем-то, отладчик будет
совершенно не лишним
приспособлением. Встроенный в
программу отладчик поддерживает
SOAP, WSDL, XSLT 2.0 и многие другие
стандарты, популярные сегодня в
World-Wide Web. При этом стоит отметить,
что отладчик не включает в себя
исключительно и только возможность
автоматизированного запуска
клиентских и серверных приложений —
как и любой нормальный отладчик, он
умеет выполнять пошаговую отладку,
устанавливать точки останова,
просматривать значения переменных
во время выполнения программы…
Короче говоря, отладчик
полноценный, и прибавить к этому
факту, пожалуй, нечего. Разве что
сказать, что, кроме отладчика,
присутствует ещё и профилировщик —
это тоже приятно и полезно.

XML Spy поддерживает интеграцию с
системами контроля версий. И не
только с ними. Программа умеет
взаимодействовать с такими
популярными средами разработки,
как Microsoft Visual Studio .NET и Eclipse, и об этом,
думаю, стоит рассказать чуть-чуть
подробнее. При интеграции в Visual Studio
XML Spy заменяет встроенный в среду
разработки от Microsoft редактор XML- и
XSL-кода на собственный, куда более
удобный. Аналогичным образом
интегрируются XML-профилировщик и
отладчик, что делает работу с XML в
Visual Studio почти такой же удобной и
привлекательной, как и в самой
среде XML Spy. Собственно, интеграция в
Eclipse тоже очень похожа на
интеграцию в Visual Studio, при этом стоит
отметить также, что в обеих средах
XML Spy поддерживает полную
интеграцию с менеджерами проектов
и системами контроля версий. С ними
он, кстати, умеет работать не только
через Visual Studio или Eclipse, но и
совершенно самостоятельно. Правда,
список поддерживаемых систем
контроля версий не очень велик: CVS,
Microsoft Visual SourceSafe, PVS и Borland StarTeam.
Впрочем, они достаточно
распространены, и в будущем
разработчики XML Spy обещают
пополнить этот список.

Встроенный в XML Spy менеджер
проектов смотрится вполне
пристойно даже на фоне своего
«брата по оружию» из Visual Studio,
которого многие программисты на
форумах часто приводят в качестве
эталона такого средства. Помимо
стандартных для встроенного в
среду разработки менеджера проекта
функций, он умеет также работать с
файлами через протокол FTP, т.е.
файлам, включенным в проект, не
обязательно находиться на
локальном компьютере. Учитывая тот
факт, что XML и интернет — вещи
неразделимые, это очень удобно.
Впрочем, закачку файлов с сервера
программа может проводить и по HTTP,
но, думаю, не очень приятно
использовать одновременно два
разных протокола. Также очень
удобно то, что менеджер проектов
умеет автоматически
синхронизировать удалённую и
локальную папки с проектами и
поддерживает автоматизацию
выполнения основных операций:
проверку правильности разметки,
XSL-трансформацию, генерацию DTD/Schema,
отправку файлов на электронный
почтовый ящик.

Работать с базами, хранящими
данные в виде XML, герой нашего
рассказа тоже умеет, причём на
достаточно неплохом уровне.
Подключение к базе может
осуществляться посредством Open Database
Connectivity (ODBC) или Active Data Objects (ADO).
Правда, может подключиться и без
посредников. Список серверов, с
которыми XML Spy позволяет
соединяться напрямую, не так уж и
мал: Microsoft Access, Microsoft SQL Server, MySQL, Oracle,
Sybase и IDM DB2. С данными внутри базы
можно работать точно так же, как и с
отдельными XML-файлами. В общем-то,
для тружеников Всемирной паутины,
где огромная часть страниц
хранится в базах данных, эту
возможность XML Spy трудно
переоценить.

Как я уже упоминал, XML часто
используется для технической
документации. Поэтому совсем
неудивительно, что XML Spy умеет
переводить в основанные на XML
форматы документы Microsoft Word и
простые текстовые файлы.
Поддерживаемых форматов для
преобразования немало: DocBook, US Patent
& Trademark Office «Red Book», NITF, NewsML, P3P,
W3C XMLSpec, DITA, GCA XML Paper, NCAXML, TEI, XMLResume, RIXML.
Возможен и обратный перевод
документов, правда, в этом случае Word
не поддерживается и экспортировать
можно только в TXT-файл. В общем, это
слегка досадно, однако не стоит
исключать, что в следующих версиях
такая возможность появится.

О синхронизации проекта с
сервером я уже говорил чуть выше.
Однако XML Spy умеет сравнивать и
синхронизировать не только
локальные и удалённые файлы, но и
вообще любые. Встроенный движок
сравнения файлов готов придти на
помощь пользователю в любую минуту.
Сравнивать можно как напрямую
содержимое файлов (в побайтовом
режиме), так и дерево элементов,
причём второй метод
предпочтительнее, так как
позволяет избежать нюансов вроде
регистра символов или порядка
расположения однотипных элементов.
Результаты сравнения программа
выдаёт в удобной форме, так что
запутаться в них нужно постараться.
Конечно, этому довольно простому
средству поиска отличий не
сравниться с программой Beyond Compare, о
которой я писал в «КВ» №35, однако, тем не
менее, польза от сравнения файлов
иногда может быть, и весьма
существенная. Тем более, что по
результатам сравнения отличия
можно выделить в отдельный
документ, а можно два сравниваемых
документа слить в один, избегая при
этом дублирования элементов.

Возможности XML Spy простираются и в
сферу web-программирования, правда,
не слишком далеко — программа всё же
ориентирована на XML, а не на PHP и
компанию. Вот PHP она как раз и не
поддерживает. Зато поддерживает ASP
и JSP. Эти технологии не слишком
отличаются друг от друга по
существу, однако основаны на разных
платформах. XML Spy поддерживает
автоматическое создание кода на Java
для классов, описанных с помощью XML.
По словам создателей XML Spy, это может
ускорить разработку JSP-приложений
больше чем в два раза. Неизвестно,
имеются ли аналогичные возможности
для ASP/ASP.NET, ибо на сайте Altova об этом
ничего не говорится. Правда,
говорится о возможности генерации
кода на «чистой» Яве, а также C#
и C++. Думаю, многие разработчики
оценят по достоинству эти
способности XML Spy.

Среда XML Spy позволяет использовать
макросы. Поскольку основной
аудиторией пользователей этой
программы являются люди, знакомые с
программированием, никаких
затруднений в плане использования
у них эта возможность, полагаю, не
вызовет. Кроме макросов, стоит
отметить бесконечное количество
операций Undo/Redo (Отменить/Повторить),
многодокументный (MDI) интерфейс,
мощные возможности поиска. Приятно
также то, что XML Spy умеет работать и с
Юникодом, а кроме того, позволяет
переводить документы из одной
кодировки в другую.

Конечно, вряд ли кто-то в
состоянии использовать все
возможности XML Spy на 100%. Однако лучше
иметь под рукой мощный инструмент,
поскольку никто не знает, что
именно из его почти безграничных
возможностей понадобится завтра. В
принципе, это относится не только к
XML Spy. Уж не поэтому ли так популярен
Microsoft Office? Все жалуются на его
прожорливость, однако мало кто
догадывается, что это всего лишь
следствие могучей
функциональности. Поэтому не стоит
относиться к XML Spy как к неуклюжему
монстру, обвиняя его в излишней
тяжеловесности и наворотах. Кто
знает, какая из функций понадобится
завтра?

Вадим СТАНКЕВИЧ

Пожалуй лучшим средством для работы с XML документами является Altova XMLSpy. Конечно не единственным, хотя бы из-за его небесплатности и неповоротливости на старых машинах. Но тут пойдёт речь о другом недостатке продукта — картавости.

Проблем с отображением русских слов у XMLSpy нет, но есть один маленький изъян. При отображении XSD схемы документа символ бесконечности (∞) превращается в непечатный символ. А собака зарыта в использовании шрифта Symbol: данный шрифт не является unicode-ним, поэтому нужно быть аккуратным при его использовании.
Если мы находимся в западноевропейской кодировке, тогда проблем с бесконечностью не возникает, т.к. все символы с кодом до 0xFF точняком попадают на такие же unicode-символы. А вот если сменить в региональных настройках кодировку, тогда начнётся преобразование. И тогда символ бесконечности с кодом 0xA5 в кириллице превратится в букву Ґ с кодом 0x0490. Ну а такого кода в шрифте Symbol нету.
Выходом может служить использование символа с кодом 0xB5, т.к. внешне он похож на символ бесконечности и в кириллице он не испортится. Но с одной стороны и бесконечность получится какая-то недоделанная, да и работать на других кодировках не будет. Поэтому лучше использовать unicode-символ бесконечности с кодом 0x221E.
Подходящим шрифтом может послужить Times New Roman — внешне символы бесконечности похожи. Осталось только внести все эти изменения в программу. Но без изменения кода тут не обойтись.
Менять программу можно с помощью любого шестнадцатеричного редактора, благо проверки контрольных сумм на область данных в XMLSpy нет. Я не буду тут указывать конкретных смещений в коде программы, т.к. от версии к версии они будут меняться. Подскажу лишь как найти нужное место.
Лучшей отправной точкой является поиск названия шрифта Symbol. Нужно лишь учесть, что название записано в unicode, поэтому просто приведу байты, которые нужно найти:
00 00 53 00 79 00 6D 00 62 00 6F 00 6C 00 00 00
Заменить их нужно на короткое название Times:
00 00 54 00 69 00 6D 00 65 00 73 00 00 00 00 00
Теперь нужно найти сам символ бесконечности. Лежит он рядом, точнее раньше. Нужно лишь найти последовательность, только искать в обратном направлении:
A5 00 00 00
И заменить её на unicode бесконечность:
1E 22 00 00
Вроде бы и всё. Но есть ещё одна «неправильная» бесконечность — в случае расширении типа. Лежит она дальше по коду (теперь ищём в прямом направлении):
A5 00 29 00 00 00
Ну и меняется на аналогичную:
1E 22 29 00 00 00
Теперь радуемся схемам, т.к. даже в ответственных структурах, где используют XMLSpy, символ бесконечности «неправильный». Мелочь, а приятно.

Давно прочитал фразу: «XML как воздух», XML — важный стандарт обмена данными в разработке корпоративных приложений. XSD можно использовать для проверки правильности формата данных XML.

Типичный файл XSD выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2013 (http://www.altova.com) by  () -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="AWB">
        <xs:annotation>
            <xs:documentation>Накладная</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="AWB-INFO" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="AWBPRE">
                                <xs:annotation>
                                    <xs:documentation>Префикс накладной состоит только из 3 цифр.</xs:documentation>
                                </xs:annotation>
                                <xs:simpleType>
                                    <xs:restriction base="xs:positiveInteger">
                                        <xs:totalDigits value="3"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="AWBNO">
                                <xs:annotation>
                                    <xs:documentation>Для номера накладной можно ввести только 8 цифр.</xs:documentation>
                                </xs:annotation>
                                <xs:simpleType>
                                    <xs:restriction base="xs:positiveInteger">
                                        <xs:totalDigits value="8"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="PART-INFO">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="PARTICIPANT" minOccurs="2" maxOccurs="unbounded">
                                <xs:annotation>
                                    <xs:documentation>Участники логистики должны иметь не менее 2</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="TYPE">
                                            <xs:annotation>
                                                <xs:documentation>Тип логистической ссылки может быть только одним из A / S / C.</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:enumeration value="C"/>
                                                    <xs:enumeration value="S"/>
                                                    <xs:enumeration value="A"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="ADDRESS" type="AddressType"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="AddressType">
        <xs:sequence>
            <xs:element name="Name" type="xs:string"/>
            <xs:element name="Street" type="xs:string"/>
            <xs:element name="City" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>

Увидев этот большой кусок xml, первой реакцией обычно является головокружение. К счастью, это содержимое не нужно писать вручную. Уже есть много готовых инструментов, таких как XmlSpy, которые можно удобно заполнить в режиме графического интерфейса, щелкнув значок мышь и перетаскивание.Разработка XSD.

Это интерфейс визуального дизайна XSD в XmlSpy. Он также может переключаться между различными представлениями, например следующими:

Тем, кто впервые сталкивается с XmlSpy, настоятельно рекомендуется просмотреть файл Tutorial.pdf в каталоге установки. Это хорошее вводное руководство. Вы определенно можете просмотреть его 30 минут назад.

В C # XSD можно удобно использовать для проверки правильности XML-файла. Пример кода выглядит следующим образом:

using System;
using System.Xml;

namespace XsdValidate
{
    class Program
    {
        static void Main(string[] args)
        {
            string xmlFile = @"C:\Users\jimmy.yang\Desktop\XMLSPY\TEST\sample.xml";
            string xsdFile = @"C:\Users\jimmy.yang\Desktop\XMLSPY\TEST\sample.xsd";

            var xsdValidateResult = ValidateXml(xmlFile, xsdFile);

            if (xsdValidateResult.Item1)
            {
                Console.WriteLine("Проверка пройдена!");
            }
            else
            {
                Console.WriteLine("Ошибка проверки, причина: \ n" + xsdValidateResult.Item2);
            }
            Console.Read();

        }

        /// <summary>
        ///  Используйте xsd, чтобы убедиться, что xml правильный
        /// </summary>
        /// <param name="xmlFilePath">xml путь к файлу</param>
        /// <param name="xsdFilePath">xsd путь к файлу</param>
        /// <returns></returns>
        static Tuple<bool, string> ValidateXml(string xmlFilePath, string xsdFilePath)
        {
            Tuple<bool, string> result = new Tuple<bool, string>(true, "");
            XmlReaderSettings st = new XmlReaderSettings();
            st.ValidationType = ValidationType.Schema;
            st.Schemas.Add(null, xsdFilePath);

            //Установите событие, когда возникает ошибка при проверке xml.
            st.ValidationEventHandler += (obj, e) =>
            {
                result = new Tuple<bool, string>(false, e.Message);
            };

            XmlReader xr = XmlReader.Create(xmlFilePath, st);
            while (xr.Read())
            {
                if (xr.IsStartElement())
                {
                    xr.Read();
                }
            }
            xr.Close();
            return result;
        }
    }
}

Примечание. Если узел использует шаблон, то есть проверку регулярного выражения, например

<xs:restriction base=»xs:string»>
         <xs:pattern value=»^\d{8}$»></xs:pattern>
</xs:restriction>

В XMLSpy узел должен быть заполнен «^ 12345678 $», чтобы пройти проверку, и если вы используете .NET / JAVA для написания проверки кода, ^, $ можно автоматически распознать как «начало / конец совпадающего символа».

XSD также может легко генерировать классы C #, есть два способа:

1. Сначала откройте файл XSD в XMLSpy, затем DTD / Schema-> Generate Program Code, затем следуйте инструкциям.

Примечание. Класс C #, сгенерированный XMLSpy, слишком сложен, я лично думаю, что он немного длинноват.

2. Используйте команду xsd, которая идет непосредственно с vs.net.

В командной строке vs.net введите

xsd «Путь к файлу xsd» / classes / out: «Каталог вывода файла cs»

Соответствующий класс cs может быть сгенерирован. Код класса cs, сгенерированный xsd в начале статьи, выглядит следующим образом:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.18331
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System.Xml.Serialization;

// 
// This source code was auto-generated by xsd, Version=4.0.30319.1.
// 


/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
public partial class AWB {
    
    private AWBAWBINFO aWBINFOField;
    
    private AWBPARTICIPANT[] pARTINFOField;
    
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("AWB-INFO")]
    public AWBAWBINFO AWBINFO {
        get {
            return this.aWBINFOField;
        }
        set {
            this.aWBINFOField = value;
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlArrayAttribute("PART-INFO")]
    [System.Xml.Serialization.XmlArrayItemAttribute("PARTICIPANT", IsNullable=false)]
    public AWBPARTICIPANT[] PARTINFO {
        get {
            return this.pARTINFOField;
        }
        set {
            this.pARTINFOField = value;
        }
    }
}

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class AWBAWBINFO {
    
    private string aWBPREField;
    
    private string aWBNOField;
    
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
    public string AWBPRE {
        get {
            return this.aWBPREField;
        }
        set {
            this.aWBPREField = value;
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
    public string AWBNO {
        get {
            return this.aWBNOField;
        }
        set {
            this.aWBNOField = value;
        }
    }
}

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class AddressType {
    
    private string nameField;
    
    private string streetField;
    
    private string cityField;
    
    /// <remarks/>
    public string Name {
        get {
            return this.nameField;
        }
        set {
            this.nameField = value;
        }
    }
    
    /// <remarks/>
    public string Street {
        get {
            return this.streetField;
        }
        set {
            this.streetField = value;
        }
    }
    
    /// <remarks/>
    public string City {
        get {
            return this.cityField;
        }
        set {
            this.cityField = value;
        }
    }
}

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class AWBPARTICIPANT {
    
    private AWBPARTICIPANTTYPE tYPEField;
    
    private AddressType aDDRESSField;
    
    /// <remarks/>
    public AWBPARTICIPANTTYPE TYPE {
        get {
            return this.tYPEField;
        }
        set {
            this.tYPEField = value;
        }
    }
    
    /// <remarks/>
    public AddressType ADDRESS {
        get {
            return this.aDDRESSField;
        }
        set {
            this.aDDRESSField = value;
        }
    }
}

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public enum AWBPARTICIPANTTYPE {
    
    /// <remarks/>
    C,
    
    /// <remarks/>
    S,
    
    /// <remarks/>
    A,
}

Команда xsd также может напрямую генерировать файлы xsd на основе xml, использование выглядит следующим образом:

xsd c:\sampe.xml /out:c:\

Это сгенерирует файл sample.xsd в c: \ согласно sample.xml.

Автор:Ян Го под деревом Бодхи
Источник:http://yjmyzz.cnblogs.com 
Авторские права на эту статью принадлежат автору и блогу, добро пожаловать на перепечатку, но без согласия автора вы должны сохранить это заявление и предоставить исходную ссылку на видном месте на странице статьи, в противном случае право на преследовать юридическую ответственность сохраняется.

Колличество обзор. за месяц данного файла: 719 раз
В арх. — 776 стр.
Расширение файла — html
Создание ссылки на сайте — 08 апреля 2011 г.
Размер: 4,611 Mb
Администратор редактир. скачки на портале: Жуплатов Пётр

Использование различных программ, облегчающих удаление программ на android. Будем считать, что рабочая SIM-карта нового местного оператора сотовой связи перед Вами. Число посадочных мест рассчитывается с учетом работающих в наиболее многочисленную смену. С ее помощью Вы без труда подключите свой Samsung Galaxy Ace La Fleur S5830I через USB порт к компьютеру. Но с расширением простой семьи,…

Использование различных программ, облегчающих удаление программ на android. Будем считать, что рабочая SIM-карта нового местного оператора сотовой связи перед Вами. Число посадочных мест рассчитывается с учетом работающих в наиболее многочисленную смену. С ее помощью Вы без труда подключите свой Samsung Galaxy Ace La Fleur S5830I через USB порт к компьютеру. Но с расширением простой семьи, т. е. с появлением при отцах и детях третьего поколения — внуков, это совпадение обыкновенно прекращается.

Делать это нужно с небольшим усилием направленным в верх. Nissan Leaf 2012 годя является твердым и непритязательным практически во всех смыслах, но не в том, что касается мощности. В этой связи медико-социальная работа с группами риска онкологических заболеваний приобретает особое значение. Пока было исследовано 6,3 тысячи километров дорог из 1,1 миллиона километров. Заведующий отделением милосердия непосредственно подчиняетсяруководителю учреждения или его заместителю. Стандартно поставляемые принадлежности установок AeroMaster XP всегда интегрировано в секции.

Информация о прослушивании музыки и радио на телефоне и о записи звуков. Руководство по ремонту Getz скачать. Вставьте новую свечу в головку для свечей. Междисциплинарность предмета исследования определили его теоретико-методологические основания, к которым относятся подходы и концепции, представляющие различные уровни теоретико-методологических исследований и разработок. Russiar029 ну я как бы разогнал до 3.70ггц Ну это уже отличный результат, для такого камушка и на такой плате. Окраска посуды и инвентаря красками, содержащими свинец, кадмий, хром не допускается.

К счастью, Apple уже выпустили патч-прошивку, в которой исправлено множество ошибок, из-за которых Apple iPhone 3GS 16Gb иногда теряет сеть.

Понравилась статья? Поделить с друзьями:

Это тоже интересно:

  • Altesa advantage 400 euro инструкция
  • Altel 4g hotspot инструкция на русском
  • Alteco 3 ton quick epoxy инструкция по применению
  • Alteco 110 супер клей инструкция
  • Altcam h 264 инструкция на русском

  • Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии