Пример документа нужен, чтобы показать партнёру формат, подготовить тестовый запрос к SOAP-сервису или проверить, что схема описывает то, что задумано.
Как получить пример
- Откройте схему в редакторе XSD.
- Выберите Файл → Преобразовать в → XML — пример документа.
- Откройте результат в песочнице XML или сохраните в проект рядом со схемой.

Как строится пример
- Корень — первый глобальный элемент схемы (если их несколько, окно об этом предупредит).
- Включаются все элементы и атрибуты — и обязательные, и необязательные, по одному разу, чтобы была видна полная структура.
- Значения подбираются по типу: число, дата,
true; для перечисления — первое значение;fixedиdefaultберутся из схемы. - Для
xs:choiceберётся первый вариант, а перед ним — комментарий со всеми вариантами выбора. - Наследование (
xs:extension) учитывается: сначала элементы базового типа, затем собственные. - Пространство имён: при
elementFormDefault="qualified"—xmlns="…"у корня, иначе префикс только у корневого элемента.
Подключённые схемы
Если схема подключает другие файлы через xs:include или xs:import, а хранится в проекте, эти файлы найдутся по относительному пути и их типы попадут в пример. В песочнице связанных файлов нет — окно предупредит, а типы из них заменятся строками.
Проверьте пример
Пример строится по простым правилам и может не пройти ограничения xs:pattern или xs:length. Проверьте его по той же схеме («Проверка XML по XSD») и поправьте значения, на которые укажет валидатор.
Пример
<xs:element name="order">
<xs:complexType>
<xs:sequence>
<xs:element name="status">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NEW"/>
<xs:enumeration value="PAID"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="total" type="xs:decimal"/>
<xs:element name="comment" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
Пример документа:
<order id="1">
<status>NEW</status>
<total>10.5</total>
<comment>строка</comment>
</order>
Вопросы и ответы
Как получить пример для другого корневого элемента? Пример строится для первого глобального элемента. Временно переставьте нужный элемент первым в схеме (или в копии схемы) и повторите.
Можно ли получить SOAP-конверт целиком? Пример строится для элемента схемы — тела сообщения. Оберните его в soap:Envelope/soap:Body вручную.
