<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns="urn:xmlns:org:eurocris:cerif-1.6-2::eu:openaire:cris-mgr-guidelines-1.0" 
    targetNamespace="urn:xmlns:org:eurocris:cerif-1.6-2::eu:openaire:cris-mgr-guidelines-1.0"
    elementFormDefault="qualified" version="1.0.0">

    <xs:annotation>
        <xs:documentation>
            The OpenAIRE CERIF XML Schema version 1.0.0.

            Provided as accompanying material to the "OpenAIRE Guidelines for CRIS Managers" version 1.0 (http://doi.org/10.5281/zenodo.17065).
        </xs:documentation>
    </xs:annotation>

    <xs:element name="CERIF">
        <xs:complexType>
            <xs:choice>
                <xs:annotation>
                    <xs:documentation>The CERIF element allows one of the main OpenAIRE CERIF entity elements, optionally followed by auxiliary objects.</xs:documentation>
                </xs:annotation>
                <xs:element name="cfResPubl" type="cfResPubl__Type" />
                <xs:sequence>
                    <xs:element name="cfResProd" type="cfResProd__Type" />
                    <xs:element name="cfEquip" type="cfEquip__Type" minOccurs="0" maxOccurs="unbounded" />
                </xs:sequence>
                <xs:sequence>
                    <xs:element name="cfPers" type="cfPers__Type" />
                    <xs:element name="cfEAddr" type="cfEAddr__Type" minOccurs="0" maxOccurs="unbounded" />
                </xs:sequence>
                <xs:sequence>
                    <xs:element name="cfOrgUnit" type="cfOrgUnit__Type" />
                    <xs:element name="cfEAddr" type="cfEAddr__Type" minOccurs="0" maxOccurs="unbounded" />
                </xs:sequence>
                <xs:element name="cfProj" type="cfProj__Type" />
                <xs:element name="cfFund" type="cfFund__Type" />
                <xs:element name="cfSrv" type="cfSrv__Type" />
            </xs:choice>
            <xs:attribute name="date" type="xs:date" use="required" />
            <xs:attribute name="sourceDatabase" type="xs:string" use="required" />
        </xs:complexType>
    </xs:element>

    <xs:complexType name="cfResPubl__Type">
        <xs:sequence>
            <xs:element name="cfResPublId" type="cfId__Type" />
            <xs:element name="cfResPublDate" type="xs:date" minOccurs="0" />
            <xs:element name="cfNum" type="xs:string" minOccurs="0" />
            <xs:element name="cfVol" type="xs:string" minOccurs="0" />
            <xs:element name="cfEdition" type="xs:string" minOccurs="0" />
            <xs:element name="cfIssue" type="xs:string" minOccurs="0" />
            <xs:element name="cfStartPage" type="xs:string" minOccurs="0" />
            <xs:element name="cfEndPage" type="xs:string" minOccurs="0" />
            <xs:element name="cfTitle" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfSubtitle" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfAbstr" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfKeyw" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfResPubl_Class" type="cfCoreClassWithFraction__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfFedId" type="cfFedId__EmbType" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfResPubl_ResPubl" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:choice>
                            <xs:element name="cfResPublId2" type="cfId__Type" />
                            <xs:element name="cfResPublId1" type="cfId__Type" />
                        </xs:choice>
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfResPubl_ResProd" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfResProdId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfPers_ResPubl" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfPersId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                        <xs:element name="cfOrder" type="xs:int" minOccurs="0" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfOrgUnit_ResPubl" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfOrgUnitId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                        <xs:element name="cfOrder" type="xs:int" minOccurs="0" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfProj_ResPubl" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfProjId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="cfResProd__Type">
        <xs:sequence>
            <xs:element name="cfResProdId" type="cfId__Type" />
            <xs:element name="cfName" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfDescr" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfKeyw" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfResProd_Class" type="cfCoreClassWithFraction__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfFedId" type="cfFedId__EmbType" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfResPubl_ResProd" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfResPublId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfResProd_ResProd" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:choice>
                            <xs:element name="cfResProdId2" type="cfId__Type" />
                            <xs:element name="cfResProdId1" type="cfId__Type" />
                        </xs:choice>
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfPers_ResProd" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfPersId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                        <xs:element name="cfOrder" type="xs:int" minOccurs="0" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfOrgUnit_ResProd" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfOrgUnitId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                        <xs:element name="cfOrder" type="xs:int" minOccurs="0" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfProj_ResProd" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfProjId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfResProd_Equip" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfEquipId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="cfPers__Type">
        <xs:sequence>
            <xs:element name="cfPersId" type="cfId__Type" />
            <xs:element name="cfGender" type="cfGender__Type" minOccurs="0" />
            <xs:element name="cfPersName_Pers" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfPersNameId" type="cfId__Type" />
                        <xs:group ref="cfCoreClass__Group" />
                        <xs:element name="cfFamilyNames" type="xs:string" minOccurs="0" />
                        <xs:element name="cfFirstNames" type="xs:string" minOccurs="0" />
                        <xs:element name="cfOtherNames" type="xs:string" minOccurs="0" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfPers_Class" type="cfCoreClassWithFraction__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfFedId" type="cfFedId__EmbType" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfPers_EAddr" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfEAddrId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfPers_ResPubl" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfResPublId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                        <xs:element name="cfOrder" type="xs:int" minOccurs="0" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfPers_ResProd" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfResProdId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                        <xs:element name="cfOrder" type="xs:int" minOccurs="0" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfPers_OrgUnit" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfOrgUnitId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfProj_Pers" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfProjId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfPers_Fund" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfFundId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="cfOrgUnit__Type">
        <xs:sequence>
            <xs:element name="cfOrgUnitId" type="cfId__Type" />
            <xs:element name="cfAcro" type="xs:string" minOccurs="0" />
            <xs:element name="cfName" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfOrgUnit_Class" type="cfCoreClassWithFraction__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfFedId" type="cfFedId__EmbType" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfOrgUnit_EAddr" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfEAddrId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfOrgUnit_ResPubl" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfResPublId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                        <xs:element name="cfOrder" type="xs:int" minOccurs="0" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfOrgUnit_ResProd" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfResProdId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                        <xs:element name="cfOrder" type="xs:int" minOccurs="0" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfPers_OrgUnit" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfPersId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfProj_OrgUnit" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfProjId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfOrgUnit_Fund" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfFundId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfOrgUnit_Srv" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfSrvId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="cfProj__Type">
        <xs:sequence>
            <xs:element name="cfProjId" type="cfId__Type" />
            <xs:element name="cfStartDate" type="xs:date" minOccurs="0" />
            <xs:element name="cfEndDate" type="xs:date" minOccurs="0" />
            <xs:element name="cfAcro" type="xs:string" minOccurs="0" />
            <xs:element name="cfTitle" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfAbstr" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfKeyw" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfProj_Class" type="cfCoreClassWithFraction__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfFedId" type="cfFedId__EmbType" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfProj_ResPubl" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfResPublId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfProj_ResProd" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfResProdId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfProj_Pers" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfPersId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfProj_OrgUnit" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfOrgUnitId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfProj_Fund" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfFundId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="cfFund__Type">
        <xs:sequence>
            <xs:element name="cfFundId" type="cfId__Type" />
            <xs:element name="cfStartDate" type="xs:date" minOccurs="0" />
            <xs:element name="cfEndDate" type="xs:date" minOccurs="0" />
            <xs:element name="cfAcro" type="xs:string" minOccurs="0" />
            <xs:element name="cfAmount" type="cfAmount__Type" minOccurs="0" />
            <xs:element name="cfName" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfDescr" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfKeyw" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfFund_Class" type="cfCoreClassWithFraction__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfFedId" type="cfFedId__EmbType" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfPers_Fund" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfPersId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfOrgUnit_Fund" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfOrgUnitId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfProj_Fund" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfProjId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="cfFund_Fund" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:choice>
                            <xs:element name="cfFundId2" type="cfId__Type" />
                            <xs:element name="cfFundId1" type="cfId__Type" />
                        </xs:choice>
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="cfSrv__Type">
        <xs:sequence>
            <xs:element name="cfSrvId" type="cfId__Type" />
            <xs:element name="cfAcro" type="xs:string" minOccurs="0" />
            <xs:element name="cfName" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfDescr" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfSrv_Class" type="cfCoreClassWithFraction__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfFedId" type="cfFedId__EmbType" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfOrgUnit_Srv" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfOrgUnitId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="cfEquip__Type">
        <xs:sequence>
            <xs:element name="cfEquipId" type="cfId__Type" />
            <xs:element name="cfAcro" type="xs:string" minOccurs="0" />
            <xs:element name="cfName" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfDescr" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfKeyw" type="cfMLangString__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfEquip_Class" type="cfCoreClassWithFraction__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfFedId" type="cfFedId__EmbType" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfResProd_Equip" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cfResProdId" type="cfId__Type" />
                        <xs:group ref="cfCoreClassWithFraction__Group" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="cfEAddr__Type">
        <xs:sequence>
            <xs:element name="cfEAddrId" type="cfId__Type" />
            <xs:element name="cfURI" type="xs:string" minOccurs="0" />
            <xs:element name="cfEAddr_Class" type="cfCoreClassWithFraction__Type" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="cfFedId" type="cfFedId__EmbType" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="cfId__Type">
        <xs:restriction base="xs:string">
            <xs:maxLength value="128" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="cfTrans__Type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="o">
                <xs:annotation>
                    <xs:documentation>Value in the original language</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="h">
                <xs:annotation>
                    <xs:documentation>Human-translated value</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="m">
                <xs:annotation>
                    <xs:documentation>Machine-translated value</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="cfGender__Type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="m">
                <xs:annotation>
                    <xs:documentation>Male</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="f">
                <xs:annotation>
                    <xs:documentation>Female</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="u">
                <xs:annotation>
                    <xs:documentation>Unknown</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="cfMLangString__Type">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="cfLangCode" type="xs:string" use="required" />
                <xs:attribute name="cfTrans" type="cfTrans__Type" use="required" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="cfAmount__Type">
        <xs:simpleContent>
            <xs:extension base="xs:float">
                <xs:attribute name="cfCurrCode" type="xs:string" use="required" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="cfCoreClassWithFraction__Type">
        <xs:sequence>
            <xs:group ref="cfCoreClassWithFraction__Group" />
        </xs:sequence>
    </xs:complexType>
    <xs:group name="cfCoreClassWithFraction__Group">
        <xs:sequence>
            <xs:group ref="cfCoreClass__Group" />
            <xs:element name="cfFraction" type="xs:float" minOccurs="0" />
        </xs:sequence>
    </xs:group>

    <xs:complexType name="cfCoreClass__Type">
        <xs:sequence>
            <xs:group ref="cfCoreClass__Group" />
        </xs:sequence>
    </xs:complexType>
    <xs:group name="cfCoreClass__Group">
        <xs:sequence>
            <xs:element name="cfClassId" type="cfId__Type" />
            <xs:element name="cfClassSchemeId" type="cfId__Type" />
            <xs:element name="cfStartDate" type="xs:dateTime" minOccurs="0" />
            <xs:element name="cfEndDate" type="xs:dateTime" minOccurs="0" />
        </xs:sequence>
    </xs:group>

    <xs:complexType name="cfFedId__EmbType">
        <xs:sequence>
            <xs:element name="cfFedId" type="xs:string" />
            <xs:element name="cfStartDate" type="xs:dateTime" minOccurs="0" />
            <xs:element name="cfEndDate" type="xs:dateTime" minOccurs="0" />
            <xs:element name="cfFedId_Class" type="cfCoreClassWithFraction__Type" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

</xs:schema>
