<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:ciq="urn:oasis:names:tc:ciq:xpil:3" xmlns:stixCommon="http://stix.mitre.org/common-1" targetNamespace="http://stix.mitre.org/extensions/Identity#CIQIdentity3.0-1" xmlns:stix-ciqidentity="http://stix.mitre.org/extensions/Identity#CIQIdentity3.0-1" version="1.2" xml:lang="en">
    <xs:annotation>
        <xs:documentation>This schema was originally developed by The MITRE Corporation. The STIX XML Schema implementation is maintained by The MITRE Corporation and developed by the open STIX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the STIX website at http://stix.mitre.org. </xs:documentation>
        <xs:appinfo>
            <schema>STIX Extension - CIQ Identity 3.0 Instance</schema>
            <version>1.2</version>
            <date>05/15/2015 9:00:00 AM</date>
            <short_description>Structured Threat Information eXpression (STIX) Extension - CIQ Identity 3.0 Instance - Schematic implementation for the using version 3.0 of CIQ to describe an Identity within the STIX structured cyber threat expression language architecture.</short_description>
            <terms_of_use>Copyright (c) 2012-2015, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the STIX License located at http://stix.mitre.org/about/termsofuse.html. See the STIX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the STIX Schema, this license header must be included. </terms_of_use>
        </xs:appinfo>
    </xs:annotation>
    <xs:import namespace="http://stix.mitre.org/common-1" schemaLocation="http://stix.mitre.org/XMLSchema/common/1.2/stix_common.xsd"/>
    <xs:import namespace="urn:oasis:names:tc:ciq:xpil:3" schemaLocation="http://stix.mitre.org/XMLSchema/external/oasis_ciq_3.0/xPIL.xsd"/>
    <xs:complexType name="CIQIdentity3.0InstanceType">
        <xs:annotation>
            <xs:documentation>The CIQIdentity3.0InstanceType provides an extension to the IdentityStructureAbstractType which imports and leverages version 3.0 of the OASIS CIQ-PIL schema for structured characterization of Identities.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="stixCommon:IdentityType">
                <xs:sequence>
                    <xs:element name="Specification" type="stix-ciqidentity:STIXCIQIdentity3.0Type">
                        <xs:annotation>
                            <xs:documentation>The Specification field contains the structured characterization of an Identity utilizing the CIQ-PIL schema.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="Role" type="xs:string" minOccurs="0" maxOccurs="unbounded">
                        <xs:annotation>
                            <xs:documentation>The Role field specifies a relevant role played by this entity.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="STIXCIQIdentity3.0Type">
        <xs:annotation>
            <xs:documentation>The STIXCIQIdentityType provides a restriction and minor extension of the imported OASIS CIQ-PIL PartyType for use in characterizing STIX Identities.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:restriction base="ciq:PartyType">
                <xs:sequence>
                    <xs:element minOccurs="0" ref="ciq:FreeTextLines"/>
                    <xs:element minOccurs="0" ref="ciq:PartyName"/>
                    <xs:element minOccurs="0" ref="ciq:Addresses"/>
                    <xs:element minOccurs="0" ref="ciq:Accounts">
                        <xs:annotation>
                            <xs:documentation>A container to define the accounts details of the party such as utility account, financil accounts</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" ref="ciq:ContactNumbers"/>
                    <xs:element minOccurs="0" ref="ciq:Documents">
                        <xs:annotation>
                            <xs:documentation>A container for identification document and cards of the party that are unique to the party. e.g. license, identification card, credit card, etc</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" ref="ciq:ElectronicAddressIdentifiers"/>
                    <xs:element minOccurs="0" ref="ciq:Events"/>
                    <xs:element minOccurs="0" ref="ciq:Identifiers"/>
                    <xs:element minOccurs="0" ref="ciq:Memberships">
                        <xs:annotation>
                            <xs:documentation>A container for memberships of party with other organisations (e.g. industry groups) or social networks (clubs, association, etc)</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" ref="ciq:Relationships">
                        <xs:annotation>
                            <xs:documentation>Relationships with other parties (persons or organisations, and the nature of relationship). Examples: - For person: Contacts, blood relatives, friends, referees, customers, etc - for Organisation: Subsidiary, Parent company, Branches, Divisions, Partners, etc</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" ref="ciq:Revenues">
                        <xs:annotation>
                            <xs:documentation>Container for income / revenue information of the party (salary/organisation revenue)</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" ref="ciq:Stocks"/>
                    <xs:element minOccurs="0" ref="ciq:Vehicles"/>
                    <xs:element minOccurs="0" ref="ciq:OrganisationInfo">
                        <xs:annotation>
                            <xs:documentation>Container for other organisation specific details that are not covered in this schema that are common to a party</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" ref="ciq:PersonInfo">
                        <xs:annotation>
                            <xs:documentation>Container for other person specific details that are not covered in this schema elements that are common to a party</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" ref="ciq:BirthInfo"/>
                    <xs:element minOccurs="0" ref="ciq:CountriesOfResidence"/>
                    <xs:element minOccurs="0" ref="ciq:Favourites"/>
                    <xs:element minOccurs="0" ref="ciq:Habits"/>
                    <xs:element minOccurs="0" ref="ciq:Hobbies"/>
                    <xs:element minOccurs="0" ref="ciq:Languages"/>
                    <xs:element minOccurs="0" ref="ciq:Nationalities"/>
                    <xs:element minOccurs="0" ref="ciq:Occupations"/>
                    <xs:element minOccurs="0" ref="ciq:PhysicalInfo"/>
                    <xs:element minOccurs="0" ref="ciq:Preferences"/>
                    <xs:element minOccurs="0" ref="ciq:Qualifications"/>
                    <xs:element minOccurs="0" ref="ciq:Visas"/>
                </xs:sequence>
                <xs:attribute form="qualified" name="PartyType" type="ciq:PartyTypeList">
                    <xs:annotation>
                        <xs:documentation>Type of Party. e.g. Person or an organisation. An organisation could be university, college, club, association, company, etc</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute form="qualified" name="LanguageCode" type="xs:language">
                    <xs:annotation>
                        <xs:documentation>Human Language used. e.g. "en", "en-US", "en-AUS", etc</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>
