XML/XML Schema/group — различия между версиями

Материал из Web эксперт
Перейти к: навигация, поиск
 
м (1 версия)
 
(нет различий)

Текущая версия на 11:26, 26 мая 2010

Use group to wrap a sequence

   <source lang="xml">

File: Data.xml <?xml version="1.0"?> <employees

 xmlns="http://www.wbex.ru/employees"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.wbex.ru/employees Schema.xsd"
 source="from"
 version="1.0">
 <employee>
   <name>
     <first>first</first>
     <middle>middle</middle>
     <last>last</last>
   </name>
   <location>
     <address>USA</address>
     <latitude>123</latitude>
     <longitude>123</longitude>
   </location>
   <phone>001-111-1111</phone>
   <knows/>
   <description>data em.
datastrong data</description> </employee>

</employees> File: Schema.xsd <?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"

 xmlns:employees="http://www.wbex.ru/employees"
 targetNamespace="http://www.wbex.ru/employees"
 elementFormDefault="qualified">
 <attributeGroup name="employeeAttributes">
   <attribute name="version" type="string" fixed="1.0" />
   <attribute name="source" type="string"/>
 </attributeGroup>
 <element name="employees">
   <complexType>
     <sequence>
       <element name="employee" minOccurs="0" maxOccurs="unbounded">
         <complexType>
           <sequence>
             <element name="name" type="employees:NameType"/>
             <element name="location" type="employees:LocationType"/>
             <element name="phone" type="string"/>
             <element name="knows" type="employees:KnowsType"/>
             <element name="description" type="employees:DescriptionType"/>
           </sequence>
         </complexType>
       </element>
     </sequence>
     <attributeGroup ref="employees:employeeAttributes"/>
   </complexType>
 </element>
 <complexType name="NameType">
   <group ref="employees:NameGroup"/>
 </complexType>
 <group name="NameGroup">
   <sequence>
     <element name="first" type="string" minOccurs="1" maxOccurs="unbounded"/>
     <element name="middle" type="string" minOccurs="0" maxOccurs="1"/>
     <element name="last" type="string"/>
   </sequence>
 </group>
 <complexType name="LocationType">
   <choice minOccurs="0" maxOccurs="unbounded">
     <element name="address" type="string"/>
     <sequence>
       <element name="latitude" type="string"/>
       <element name="longitude" type="string"/>
     </sequence>
   </choice>
 </complexType>
 <complexType name="KnowsType">
 </complexType>
 <complexType name="DescriptionType" mixed="true">
   <choice minOccurs="0" maxOccurs="unbounded">
     <element name="em" type="string"/>
     <element name="strong" type="string"/>
     <element name="br" type="string"/>
   </choice>
 </complexType>

</schema>

</source>