summaryrefslogtreecommitdiffstats
path: root/tags/cpp-stable-20060304/sdo/runtime/core/test/companysubs.xsd
blob: 2ffb626e90125f1fb840fbbc012f17f0f6193d1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
    <xsd:schema  
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 	xmlns:sdo="commonj.sdo"
 	xmlns:sdoxml="commonj.sdo/xml"
	xmlns:company="companyNS"
	targetNamespace="companyNS">
      <xsd:element name="company" type="company:CompanyType"/>
      <xsd:complexType name="CompanyType">
      <xsd:sequence>
          <xsd:element name="departments" type="company:DepartmentType" maxOccurs="unbounded"/>
          <xsd:element name="Publication" type="company:PublicationType" maxOccurs="1"/>
       </xsd:sequence>
       <xsd:attribute name="name" type="xsd:string"/>
       <xsd:attribute name="cs" type="sdo:ChangeSummaryType"/>
       <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF" sdoxml:propertyType="company:EmployeeType"/>
      </xsd:complexType>
      <xsd:complexType name="DepartmentType">
        <xsd:sequence>
          <xsd:element name="employees" type="company:EmployeeType"  maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string"/>
        <xsd:attribute name="location" type="xsd:string"/>
        <xsd:attribute name="number" type="xsd:int"/>
      </xsd:complexType>
      <xsd:complexType name="EmployeeType">
        <xsd:attribute name="name" type="xsd:string"/>
        <xsd:attribute name="SN" type="xsd:ID"/>
        <xsd:attribute name="manager" type="xsd:boolean"/>
      </xsd:complexType>
      <xsd:complexType name="BookType">
	  <xsd:restriction base="company:PublicationType" />
          <xsd:element name="author" type="xsd:string" maxOccurs="1"/>
      </xsd:complexType>
      <xsd:complexType name="MagazineType">
	  <xsd:restriction base="company:PublicationType" />
          <xsd:element name="editor" type="xsd:string" maxOccurs="1"/>
      </xsd:complexType>
      <xsd:complexType name="PublicationType">
          <xsd:element name="title" type="xsd:string" maxOccurs="1"/>
      </xsd:complexType>
      <xsd:element name="Book" type="company:BookType" substitutionGroup="Publication" />
      <xsd:element name="Magazine" type="company:MagazineType" substitutionGroup="company:Publication" />
    </xsd:schema>