<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <xsd:complexType name="employeeSingle">
      <xsd:sequence>
         <xsd:element minOccurs="0" name="name" type="xsd:string"/>
         <xsd:choice>
            <xsd:element minOccurs="0" name="address-id" type="xsd:IDREF"/>
            <xsd:element minOccurs="0" name="phone-id" type="xsd:IDREF"/>
         </xsd:choice>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
   </xsd:complexType>
   <xsd:complexType name="rootEmployeeSingle">
      <xsd:sequence>
         <xsd:element minOccurs="0" name="employee" type="employeeSingle"/>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="address" type="addressSingle"/>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="phone-number" type="phoneSingle"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="addressSingle">
      <xsd:sequence>
         <xsd:element minOccurs="0" name="street" type="xsd:string"/>
         <xsd:element minOccurs="0" name="city" type="xsd:string"/>
         <xsd:element minOccurs="0" name="country" type="xsd:string"/>
         <xsd:element minOccurs="0" name="zip" type="xsd:string"/>
      </xsd:sequence>
      <xsd:attribute name="aid" type="xsd:ID"/>
   </xsd:complexType>
   <xsd:complexType name="phoneSingle">
      <xsd:sequence>
         <xsd:element minOccurs="0" name="id" type="xsd:ID"/>
         <xsd:element minOccurs="0" name="number" type="xsd:string"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:element name="root" type="rootEmployeeSingle"/>
   <xsd:element name="address" type="addressSingle"/>
   <xsd:element name="employee" type="employeeSingle"/>
</xsd:schema>