<!-- 2003-11-02-->
<xs:schema targetNamespace="urn:liberty:id-sis-pp:2003-08" xmlns="urn:liberty:id-sis-pp:2003-08" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" version="1.0">
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
<xs:annotation>
<xs:documentation>Title: Liberty ID-WSF-SIS Personal Profile Services Schema</xs:documentation>
<xs:documentation>The source code in this XSD file was excerpted verbatim from:
Liberty Liberty ID-SIS Personal Profile Service Specification
Version 1.2
12th November 2003
Copyright (c) 2003 Liberty Alliance participants, see
https://www.projectliberty.org/specs/idwsf_copyrights.html
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="lib-svc-dst.xsd"/>
<xs:include schemaLocation="lib-svc-dst-dt.xsd"/>
<xs:complexType name="KeyInfoType" mixed="true">
<xs:complexContent mixed="true">
<xs:extension base="ds:KeyInfoType">
<xs:attribute ref="modificationTime"/>
<xs:attribute ref="ACC"/>
<xs:attribute ref="ACCTime"/>
<xs:attribute ref="modifier"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="SelectType">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:element name="PP" type="PPType"/>
<xs:complexType name="PPType">
<xs:sequence>
<xs:element ref="InformalName" minOccurs="0"/>
<xs:element ref="LInformalName" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="CommonName" minOccurs="0"/>
<xs:element ref="LegalIdentity" minOccurs="0"/>
<xs:element ref="EmploymentIdentity" minOccurs="0"/>
<xs:element ref="AddressCard" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="MsgContact" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Facade" minOccurs="0"/>
<xs:element ref="Demographics" minOccurs="0"/>
<xs:element ref="SignKey" minOccurs="0"/>
<xs:element ref="EncryptKey" minOccurs="0"/>
<xs:element ref="EmergencyContact" minOccurs="0"/>
<xs:element ref="LEmergencyContact" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="InformalName" type="DSTString"/>
<xs:element name="LInformalName" type="DSTLocalizedString"/>
<xs:element name="CommonName" type="CommonNameType"/>
<xs:complexType name="CommonNameType">
<xs:sequence>
<xs:element ref="CN" minOccurs="0"/>
<xs:element ref="LCN" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="AltCN" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="LAltCN" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="AnalyzedName" minOccurs="0"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="CN" type="DSTString"/>
<xs:element name="LCN" type="DSTLocalizedString"/>
<xs:element name="AltCN" type="DSTString"/>
<xs:element name="LAltCN" type="DSTLocalizedString"/>
<xs:element name="AnalyzedName" type="AnalyzedNameType"/>
<xs:complexType name="AnalyzedNameType">
<xs:sequence>
<xs:element ref="PersonalTitle" minOccurs="0"/>
<xs:element ref="LPersonalTitle" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="FN" minOccurs="0"/>
<xs:element ref="LFN" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="SN" minOccurs="0"/>
<xs:element ref="LSN" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="MN" minOccurs="0"/>
<xs:element ref="LMN" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="nameScheme" type="xs:anyURI" use="optional"/>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="PersonalTitle" type="DSTString"/>
<xs:element name="LPersonalTitle" type="DSTLocalizedString"/>
<xs:element name="FN" type="DSTString"/>
<xs:element name="LFN" type="DSTLocalizedString"/>
<xs:element name="SN" type="DSTString"/>
<xs:element name="LSN" type="DSTLocalizedString"/>
<xs:element name="MN" type="DSTString"/>
<xs:element name="LMN" type="DSTLocalizedString"/>
<xs:element name="LegalIdentity" type="LegalIdentityType"/>
<xs:complexType name="LegalIdentityType">
<xs:sequence>
<xs:element ref="LegalName" minOccurs="0"/>
<xs:element ref="LLegalName" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="AnalyzedName" minOccurs="0"/>
<xs:element ref="VAT" minOccurs="0"/>
<xs:element ref="AltID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="DOB" minOccurs="0"/>
<xs:element ref="Gender" minOccurs="0"/>
<xs:element ref="MaritalStatus" minOccurs="0"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="LegalName" type="DSTString"/>
<xs:element name="LLegalName" type="DSTLocalizedString"/>
<xs:element name="VAT" type="VATType"/>
<xs:complexType name="VATType">
<xs:sequence>
<xs:element ref="IDValue"/>
<xs:element ref="IDType" minOccurs="0"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="IDValue" type="DSTString"/>
<xs:element name="IDType" type="DSTURI"/>
<xs:element name="AltID" type="AltIDType"/>
<xs:complexType name="AltIDType">
<xs:sequence>
<xs:element ref="IDValue"/>
<xs:element ref="IDType" minOccurs="0"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="DOB" type="DSTDate"/>
<xs:element name="Gender" type="DSTURI"/>
<xs:element name="MaritalStatus" type="DSTURI"/>
<xs:element name="EmploymentIdentity" type="EmploymentIdentityType"/>
<xs:complexType name="EmploymentIdentityType">
<xs:sequence>
<xs:element ref="JobTitle" minOccurs="0"/>
<xs:element ref="LJobTitle" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="O" minOccurs="0"/>
<xs:element ref="LO" minOccurs="0"/>
<xs:element ref="AltO" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="AltLO" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="JobTitle" type="DSTString"/>
<xs:element name="LJobTitle" type="DSTLocalizedString"/>
<xs:element name="O" type="DSTString"/>
<xs:element name="LO" type="DSTLocalizedString"/>
<xs:element name="AltO" type="DSTString"/>
<xs:element name="AltLO" type="DSTLocalizedString"/>
<xs:element name="AddressCard" type="AddressCardType"/>
<xs:complexType name="AddressCardType">
<xs:sequence>
<xs:element ref="AddrType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Address" minOccurs="0"/>
<xs:element ref="Nick" minOccurs="0"/>
<xs:element ref="LNick" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="LComment" minOccurs="0"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="AddrType" type="DSTURI"/>
<xs:element name="Address" type="AddressType"/>
<xs:complexType name="AddressType">
<xs:sequence>
<xs:element ref="PostalAddress" minOccurs="0"/>
<xs:element ref="LPostalAddress" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:element ref="L" minOccurs="0"/>
<xs:element ref="LL" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="St" minOccurs="0"/>
<xs:element ref="LSt" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="C" minOccurs="0"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="PostalAddress" type="DSTString"/>
<xs:element name="LPostalAddress" type="DSTLocalizedString"/>
<xs:element name="PostalCode" type="DSTString"/>
<xs:element name="L" type="DSTString"/>
<xs:element name="LL" type="DSTLocalizedString"/>
<xs:element name="St" type="DSTString"/>
<xs:element name="LSt" type="DSTLocalizedString"/>
<xs:element name="C" type="DSTString"/>
<xs:element name="Nick" type="DSTString"/>
<xs:element name="LNick" type="DSTLocalizedString"/>
<xs:element name="LComment" type="DSTString"/>
<xs:element name="MsgContact" type="MsgContactType"/>
<xs:complexType name="MsgContactType">
<xs:sequence>
<xs:element ref="Nick" minOccurs="0"/>
<xs:element ref="LNick" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="LComment" minOccurs="0"/>
<xs:element ref="MsgType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="MsgMethod" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="MsgTechnology" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="MsgProvider" minOccurs="0"/>
<xs:element ref="MsgAccount" minOccurs="0"/>
<xs:element ref="MsgSubaccount" minOccurs="0"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="MsgType" type="DSTURI"/>
<xs:element name="MsgMethod" type="DSTURI"/>
<xs:element name="MsgTechnology">
<xs:complexType>
<xs:complexContent>
<xs:extension base="DSTURI">
<xs:attribute name="msgLimit" type="xs:integer" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="MsgProvider" type="DSTString"/>
<xs:element name="MsgAccount" type="DSTString"/>
<xs:element name="MsgSubaccount" type="DSTString"/>
<xs:element name="Facade" type="FacadeType"/>
<xs:complexType name="FacadeType">
<xs:sequence>
<xs:element ref="MugShot" minOccurs="0"/>
<xs:element ref="WebSite" minOccurs="0"/>
<xs:element ref="NamePronounced" minOccurs="0"/>
<xs:element ref="GreetSound" minOccurs="0"/>
<xs:element ref="GreetMeSound" minOccurs="0"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="MugShot" type="DSTURI"/>
<xs:element name="WebSite" type="DSTURI"/>
<xs:element name="NamePronounced" type="DSTURI"/>
<xs:element name="GreetSound" type="DSTURI"/>
<xs:element name="GreetMeSound" type="DSTURI"/>
<xs:element name="Demographics" type="DemographicsType"/>
<xs:complexType name="DemographicsType">
<xs:sequence>
<xs:element ref="DisplayLanguage" minOccurs="0"/>
<xs:element ref="Language" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Birthday" minOccurs="0"/>
<xs:element ref="Age" minOccurs="0"/>
<xs:element ref="TimeZone" minOccurs="0"/>
<xs:element ref="Extension" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="commonAttributes"/>
</xs:complexType>
<xs:element name="DisplayLanguage" type="DSTString"/>
<xs:element name="Language" type="DSTString"/>
<xs:element name="Birthday" type="DSTMonthDay"/>
<xs:element name="Age" type="DSTInteger"/> <xs:element name="TimeZone" type="DSTString"/>
<xs:element name="SignKey" type="KeyInfoType"/>
<xs:element name="EncryptKey" type="KeyInfoType"/>
<xs:element name="EmergencyContact" type="DSTString"/>
<xs:element name="LEmergencyContact" type="DSTLocalizedString"/>
</xs:schema>