Главная » Java, Web, XML » Безымянные типы

0

Все описанные в листинге 1.4 типы используются только один раз. Поэтому необязательно давать типу имя. Схема XML, как говорилось выше, позволяет определять безымянные типы. Такое определение дается внутри описания элемента. Именно так в листинге 1.4 описаны атрибуты элемента name. В листинге 1.5 показано упрощенное описание схемы адресной книги.

Листинг 1.5. Схема документа XML с безымянными типами

<?xml version=’1.0’?>

<xsd:schema xmlns:xsd=’http://www.w3.org/2001/XMLSchema’>

<xsd:element name=’notebook’> <xsd:complexType»

<xsd:sequence>

<xsd:element name=’person’ maxOccurs=1 unbounded’> <xsd:complexType» <xsd:sequence»

<xsd: element name=’name’> <xsd:complexType»

<xsd:attribute name=’first’

type=’xsd:string’ use=’optional’ />

<xsd:attribute name=’second’

/>

<xsd:attribute name=’surname’

type=’xsd:string’ use=’required’ />

</xsd:complexType»

</xsd: element>

<xsd:element name=’birthday’» <xsd:simpleType>

<xsd:restriction base=’xsd:string’>

<xsd:pattemvalue=’ [0-9] {2}. [0-9] {2}. [0-9] {4}’ /> </xsd:restriction»

</xsd:simpleType» </xsd:element»

<xsd:elemsn.t name=’ address ‘ maxOccurs=’ unbounded’» <xsd:complexType»

<xsd: sequence>

<xsd:elemsnt name=’street’ type=’xsd: string’ /> <xsd: element nam^’ city’ > <xsd:complexType» <xsd:simpleContent»

<xsd: extension base=’ xsd: string’»

<xsd:attribute name=’type’ type=’xsd:string’ use=’ optional’ default= ‘gorod’ /> </xsd: extension>

</xsd: sinpleContent^

</xsd:complexType» </xsd:element»

<xsd:elemsnt name=’zip’ type=’xsd:positiveInteger’ />

</xsd:sequence» </xsd:complexType»

</xsd:element>

<xsd:element name=’phone-list’> <xsd:complexType> <xsd:sequence>

<xsd:element name=’work-phone’ type=’xsd:string’ minOccurs=’0′ maxOccurs=’unbounded’ />

<xsd:element name=’home-phone’ type=’xsd:string’

/>

</xsd:sequence> </xsd:complexType> </xsd:element>

</xsd:sequence> </xsd:complexType> </xsd:element»

</xsd:sequence» </xsd:complexType»

</xsd:element>

</xsd:schema»

Еще одно упрощение можно сделать, используя пространство имен по умолчанию. Посмотрим, какие пространства имен применяются в схемах XML.

Литература:

Хабибуллин И. Ш. Разработка Web-служб средствами Java. — СПб.: БХВ-Петербург, 2003. — 400 с: ил.

По теме:

  • Комментарии