XML/XML Schema/group
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>