Latest web development tutorials

XML-схемы сложных элементов - только текст

Составные элементы содержат только текст может содержать текст и атрибуты.


Составные элементы только с текстом

Этот тип содержит только простое содержимое (текст и атрибуты), поэтому мы хотели бы, чтобы добавить эти элементы контента simpleContent. При использовании простого содержимого, мы должны определить расширение или ограничение в пределах simpleContent элемента, как это:

<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="basetype">
....
....
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

或者:

<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="basetype">
....
....
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Совет: Используйте элемент расширения или ограничения для расширения или ограничить типы простых базовых элементов.Ниже приведен пример XML-элемента, "SHOESIZE", который содержит только текст:

<shoesize country="france">35</shoesize>

В следующем примере объявляется сложный тип, содержание которого определяется как целое значение, а элемент "SHOESIZE" содержит свойство с именем "страна" из:

<xs:element name="shoesize">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="country" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Мы также можем задать имя для элемента ComplexType, и пусть атрибут "SHOESIZE" тип элемента сослаться на это имя (с помощью этого метода, некоторые элементы могут ссылаться на тот же сложный тип):

<xs:element name="shoesize" type="shoetype"/>

<xs:complexType name="shoetype">
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="country" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>