HXQ-0.18.0: data/department.xsd
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="address">
<xs:sequence>
<xs:element name="city" type="xs:string"/>
<xs:element name="state" type="xs:string"/>
<xs:element name="zip" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="person">
<xs:sequence>
<xs:element name="name">
<xs:complexType>
<xs:sequence>
<xs:element name="lastname" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element name="firstname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="phone" type="xs:string"/>
<xs:element name="email" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="undergradstudent">
<xs:complexContent>
<xs:extension base="person">
<xs:sequence>
<xs:element name="address" type="address"/>
<xs:element name="gpa" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="gradstudent">
<xs:complexContent>
<xs:extension base="person">
<xs:sequence>
<xs:element name="address" type="address"/>
<xs:element name="office" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element name="url" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element name="gpa" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="staff">
<xs:complexContent>
<xs:extension base="person">
<xs:sequence>
<xs:element name="office" minOccurs="0" maxOccurs="1" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="department">
<xs:complexType>
<xs:sequence>
<xs:element name="deptname" type="xs:string"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="gradstudent" type="gradstudent"/>
<xs:element name="staff" type="staff"/>
<xs:element name="faculty" type="staff"/>
<xs:element name="undergradstudent" type="undergradstudent"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>