Лучшее руководство по Индикатор XML-схемы в 2024 году. В этом руководстве вы можете изучить
индикатор,индикатор заказа,индикатор Происшествие,индикатор группы,
Индикатор XML-схемы
Индикатором, мы можем контролировать использование элементов в режиме документа.
индикатор
Есть семь показателей:
Показатели заказа:
- все
- выбор
- последовательность
Индикатор Происшествие:
Индикатор Группа:
- название группы
- имя attributeGroup
индикатор заказа
Индикаторы заказа используются для определения порядка элементов.
Все отображаемые на дисплее
<Все> Индикатор в соответствии с положениями подэлементам могут появляться в любом порядке, и каждый дочерний элемент должен появиться только один раз:
<xs:element name="person">
<xs:complexType>
<xs:all>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
Примечание: При использовании индикатора <все>, вы можете положить <MinOccurs> установлено значение 0 или 1, но только индикатор <MaxOccurs> устанавливается равным 1 (позже объяснить <MinOccurs> и <MaxOccurs>).
Выбор индикатора
<Выбор> Индикатор обеспечивает подэлемента происходит или может произойти еще один дочерний элемент (или другой):
<xs:element name="person">
<xs:complexType>
<xs:choice>
<xs:element name="employee" type="employee"/>
<xs:element name="member" type="member"/>
</xs:choice>
</xs:complexType>
</xs:element>
Индикатор чередования фаз
<Последовательность> дочерний элемент должен быть указан в определенном порядке:
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
индикатор Происшествие
Показатели Встречаемость используются для определения частоты элемента происходит.
Примечание: для всех и индикатора "Order" "Группа" (любой, все, выбор, последовательность , название группы и группы ссылка), которая MaxOccurs и MinOccurs по умолчанию равны 1.
индикатор MaxOccurs
Индикатор <MaxOccurs> можно указать максимальное количество раз может возникнуть элемент:
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string" maxOccurs="10"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Приведенные выше примеры показывают, что дочерний элемент "child_name" может появиться в наименьшего элемента "лицо" один раз (где по умолчанию значение MinOccurs равно 1), появляется в большинстве 10 раз.
индикатор MinOccurs
<MinOccurs> индикатор может потребоваться минимальное количество раз, то может возникнуть элемент:
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string"
maxOccurs="10" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Приведенные выше примеры показывают, что дочерний элемент "child_name" может быть минимум 0 в элементе "лицо", появляется не более 10 раз.
Совет: Для того, чтобы число вхождений элемента не ограничено, пожалуйста , используйте MaxOccurs = "неограниченную" это утверждение:
Практический пример:
Названный "Myfamily.xml" файл XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<persons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="family.xsd">
<person>
<full_name>Hege Refsnes</full_name>
<child_name>Cecilie</child_name>
</person>
<person>
<full_name>Tove Refsnes</full_name>
<child_name>Hege</child_name>
<child_name>Stale</child_name>
<child_name>Jim</child_name>
<child_name>Borge</child_name>
</person>
<person>
<full_name>Stale Refsnes</full_name>
</person>
</persons>
Выше этого XML-файл содержит корневой элемент с именем "лица" из. Внутри этого корневого элемента, мы определили три элемента "лицо". Каждый элемент "человек" должен содержать элементы "FULL_NAME", но он может содержать до 5 элемента "child_name".
Это файл схемы "family.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="persons">
<xs:complexType>
<xs:sequence>
<xs:element name="person" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string"
minOccurs="0" maxOccurs="5"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
индикатор группы
Индикатор группы для нескольких партий элементов, связанных с определением.
группа элементов
Элемент группы определяется группой заявил:
<xs:group name="groupname">
ru.
</xs:group>
Вы должны определить заявление в группе все, или выбор элементов последовательности. Следующий пример определяет группу под названием "persongroup", который определяет набор элементов, которые должны присутствовать в соответствии с точным порядке:
<xs:group name="persongroup">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="birthday" type="xs:date"/>
</xs:sequence>
</xs:group>
После того как вы определили группа будет завершена, вы можете обратиться к нему в другом определении:
<xs:group name="persongroup">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="birthday" type="xs:date"/>
</xs:sequence>
</xs:group>
<xs:element name="person" type="personinfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:group ref="persongroup"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>
группа свойств
Атрибут группы, определенные заявления attributeGroup:
<xs:attributeGroup name="groupname">
ru.
</xs:attributeGroup>
Следующий пример определяет свойство группу под названием "personattrgroup" из:
<xs:attributeGroup name="personattrgroup">
<xs:attribute name="firstname" type="xs:string"/>
<xs:attribute name="lastname" type="xs:string"/>
<xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>
После того, как вы определили полный набор атрибутов, вы можете ссылаться на него в другом определении, например, так:
<xs:attributeGroup name="personattrgroup">
<xs:attribute name="firstname" type="xs:string"/>
<xs:attribute name="lastname" type="xs:string"/>
<xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>
<xs:element name="person">
<xs:complexType>
<xs:attributeGroup ref="personattrgroup"/>
</xs:complexType>
</xs:element>