<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:publicid:FCA:NSM:V2.0"
    targetNamespace="urn:publicid:FCA:NSM:V2.0" elementFormDefault="qualified"
    attributeFormDefault="unqualified">
    <xs:element name="Disclosure" type="Disclosure"/>
    <xs:complexType name="Disclosure">
        <xs:choice>
            <xs:element name="New" type="NewType"/>
            <xs:element name="Correction" type="CorrectionType"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="NewType">
        <xs:sequence>
            <xs:element name="PIP" type="PIPInfo"/>
            <xs:element name="MessageCreationDate" type="UTCDateTime"/>
            <xs:element name="AnnouncementID" type="IDInfoNew"/>
            <xs:element name="DisclosingOrg" type="DisclosingOrgInfo"/>
            <xs:element name="RelatedOrgAvailable" type="YesNo"/>
            <xs:element maxOccurs="150" minOccurs="0" name="RelatedOrg" type="RelatedOrgInfo"/>
            <xs:element name="Category" type="CategoryInfo"/>
            <xs:element name="Document" type="DocumentInfo"/>
            <xs:element name="PublishingDate" type="UTCDateTime"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CorrectionType">
        <xs:sequence>
            <xs:element name="PIP" type="PIPInfo"/>
            <xs:element name="MessageCreationDate" type="UTCDateTime"/>
            <xs:element name="AnnouncementID" type="IDInfoCorrection"/>
            <xs:element name="CorrectionReason" type="String500"/>
            <xs:element name="DisclosingOrg" type="DisclosingOrgInfo"/>
            <xs:element name="RelatedOrgAvailable" type="YesNo"/>
            <xs:element maxOccurs="150" minOccurs="0" name="RelatedOrg" type="RelatedOrgInfo"/>
            <xs:element name="Category" type="CategoryInfo"/>
            <xs:element name="Document" type="DocumentInfo"/>
            <xs:element name="PublishingDate" type="UTCDateTime"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PIPInfo">
        <xs:sequence>
            <xs:element name="PIPCode" type="Identifier3Len"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IDInfoNew">
        <xs:sequence>
            <xs:element name="UniqueAnnouncementID" type="Identifier50Len"/>
            <xs:element name="Version" type="Integer1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IDInfoCorrection">
        <xs:sequence>
            <xs:element name="UniqueAnnouncementID" type="Identifier50Len"/>
            <xs:element name="Version" type="Integer1"/>
            <xs:element name="PreviousIDVersion" type="CorrectedIDVersionType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CorrectedIDVersionType">
        <xs:sequence>
            <xs:element name="UniqueAnnouncementID" type="Identifier50Len"/>
            <xs:element name="Version" type="Integer1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DisclosingOrgInfo">
        <xs:sequence>
            <xs:element name="DisclosingOrgLEIAvailable" type="YesNo"/>
            <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIInfo"/>
            <xs:element name="Name" type="String150"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RelatedOrgInfo">
        <xs:sequence>
            <xs:element name="RelatedOrgLEIAvailable" type="YesNo"/>
            <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIInfo"/>
            <xs:element name="Name" type="String150"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategoryInfo">
        <xs:choice>
            <xs:element name="DTRCategory" type="DTRCategoryInfo"/>
            <xs:element name="ProprietaryCategory" type="ProprietaryCategoryInfo"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="DTRCategoryInfo">
        <xs:sequence>
            <xs:element name="HeadlineCode" type="CategoryCode"/>
            <xs:element name="HeadlineCategory" type="String255"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProprietaryCategoryInfo">
        <xs:sequence>
            <xs:element name="HeadlineCode" type="String4"/>
            <xs:element name="HeadlineCategory" type="String255"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DocumentInfo">
        <xs:sequence>
            <xs:element name="DocumentDescription" type="String255"/>
            <xs:element name="DisclosureText" type="DisclosureType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DisclosureType">
        <xs:sequence>
            <xs:element name="DisclosureContent">
                <xs:complexType mixed="true">
                    <xs:sequence>
                        <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="LEIInfo">
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-Z0-9]{18,18}[0-9]{2,2}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String500">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="500"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Integer1">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="9"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="YesNo">
        <xs:restriction base="xs:boolean"/>
    </xs:simpleType>
    <xs:simpleType name="CategoryCode">
        <xs:restriction base="xs:string">
            <xs:minLength value="2"/>
            <xs:maxLength value="4"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Identifier3Len">
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-Z]{3}"/>
            <xs:minLength value="3"/>
            <xs:maxLength value="3"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String4">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="4"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Identifier50Len">
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-Za-z0-9._-]{1,50}"/>
            <xs:minLength value="1"/>
            <xs:maxLength value="50"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String150">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="150"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="String255">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="255"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="UTCDateTime">
        <xs:restriction base="xs:dateTime">
            <xs:pattern value=".*Z"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>