Войти

Формирование видов сведений с включением справочников

Владелец сведений должен включить в XSD вида сведений пространство имён XSD, содержащих объявления типов данных для всех использованных справочников ЕСНСИ с использованием инструкции import.

Пример протокола обмена (вида сведений), импортирующего пространство имён с объявлениями типов данных справочника «Справочник полов», приведён на рисунке 50. В приведённом примере импорт пространства имён обеспечивается инструкцией вида:

 <xs:import namespace="urn://cnsi-dictionary/types/gender/3.0.0" schemaLocation="types/gender.xsd"/>
<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn://simple_test/1.0" xmlns:gender="urn://cnsi-dictionary/types/gender/3.0.0" targetNamespace="urn://simple_test/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified">

      <xs:import namespace="urn://cnsi-dictionary/types/gender/3.0.0schemaLocation="types/gender.xsd"/>

      <xs:element name="root">

            <xs:complexType>

                  <xs:sequence>

                        <xs:element name="Person" type="tns:Person" maxOccurs="unbounded"/>

                  </xs:sequence>

            </xs:complexType>

      </xs:element>

      <xs:complexType name="Person">

            <xs:sequence>

                  <xs:element name="FIO" type="xs:string"/>

                  <xs:element name="Gender" type="gender:ID"/>

            </xs:sequence>

      </xs:complexType>

</xs:schema>

Рисунок 50 – Пример схемы протокола обмена, импортирующего схему с объявлением типов справочников.

Импортируемая схема c объявлениями типов справочника «gender» приведена на рисунке 51.

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn://cnsi-dictionary/types/gender/3.0.0" targetNamespace="urn://cnsi-dictionary/types/gender/3.0.0" elementFormDefault="qualified" attributeFormDefault="unqualified">

      <xs:simpleType name="ID">

            <xs:restriction base="xs:string">

                  <xs:minLength value="1"/>

                  <xs:maxLength value="10"/>

                  <xs:enumeration value="0001"/>

                  <xs:enumeration value="0002"/>

            </xs:restriction>

      </xs:simpleType>

</xs:schema>

Рисунок 51 – Пример XSD-схемы с объявлениями типов справочника «gender».

Пример содержимого справочника ЕСНСИ «gender» приведён в таблице 11.

Таблица 11 – Справочник ЕСНСИ «gender»

ID

Name

0001

Мужской

0002

Женский

Пример запроса, соответствующего схеме на рисунке 50, приведён на рисунке 52.

<ns:root xmlns:ns="urn://simple_test/1.0">

            <ns:Person>

                        <ns:FIO>Иванов И.И.</ns:FIO>

                        <ns:Gender>0001</ns:Gender>

            </ns:Person>

            <ns:Person>

                        <ns:FIO>Петрова А.А.</ns:FIO>

                        <ns:Gender>0002</ns:Gender>

            </ns:Person>

</ns:root>

Рисунок 52 – Пример запроса с использованием значений справочника «gender».

Авторизуйтесь, чтобы оставить комментарий к статье