<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:mlc="http://ddex.net/xml/mlc/14" xmlns:avs="http://ddex.net/xml/avs/avs"
   xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema"
   targetNamespace="http://ddex.net/xml/mlc/14" elementFormDefault="unqualified"
   attributeFormDefault="unqualified">
   <xs:import namespace="http://ddex.net/xml/avs/avs" schemaLocation="mlc-avs.xsd"/>
   <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
      schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
   <xs:annotation>
      <xs:documentation>© 2006-2018 Digital Data Exchange, LLC (DDEX)</xs:documentation>
      <xs:documentation>This XML Schema Definition file is, together with all DDEX standards, subject to two licences: If you wish to evaluate whether the standard meets your needs please have a look at the Evaluation Licence at https://kb.ddex.net/display/HBK/Evaluation+Licence+for+DDEX+Standards. If you want to implement and use this DDEX standard, please take out an Implementation Licence. For details please go to http://ddex.net/apply-ddex-implementation-licence.</xs:documentation>
   </xs:annotation>
   <xs:element name="DeclarationOfSoundRecordingRightsClaimMessage">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Message in the Music Licensing Company Message Suite Standard containing details of a SoundRecording. </xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:element name="MessageHeader" type="mlc:MessageHeader">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The MessageHeader for the DeclarationOfSoundRecordingRightsClaimMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="MessageNotificationPeriod" minOccurs="0"
               type="mlc:MessageNotificationPeriod">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a reporting Period covered by the Message. It must contain at least one out of StartDate or EndDate. The StartDate must be earlier than the EndDate if both are provided.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="ResourceList" type="mlc:ResourceList">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of one or more Resources.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
         <xs:attribute name="LanguageAndScriptCode" type="xs:string" use="required">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Language and script for the Elements of this Message as defined in IETF RfC 5646. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
            </xs:annotation>
         </xs:attribute>
      </xs:complexType>
   </xs:element>
   <xs:element name="RequestSoundRecordingInformationMessage">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Message in the Music Licensing Company Message Suite Standard containing a request for a declaration of SoundRecordings. </xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:element name="MessageHeader" type="mlc:MessageHeader">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The MessageHeader for the RequestSoundRecordingInformationMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="MessageNotificationPeriod" minOccurs="0"
               type="mlc:MessageNotificationPeriod">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a reporting Period covered by the Message. It must contain at least one out of StartDate or EndDate. The StartDate must be earlier than the EndDate if both are provided.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="RequestedSoundRecording" minOccurs="0" maxOccurs="unbounded"
               type="mlc:RequestedSoundRecording">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a requested SoundRecording.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
         <xs:attribute name="LanguageAndScriptCode" type="xs:string" use="required">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Language and script for the Elements of this Message as defined in IETF RfC 5646. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
            </xs:annotation>
         </xs:attribute>
      </xs:complexType>
   </xs:element>
   <xs:element name="RevokeSoundRecordingRightsClaimMessage">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Message in the Music Licensing Company Message Suite Standard in which a claim, typically communicated via a DeclarationOfSoundRecordingRightsClaimMessage, is revoked. </xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:element name="MessageHeader" type="mlc:MessageHeader">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The MessageHeader for the RevokeSoundRecordingRightsClaimMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="MessageNotificationPeriod" minOccurs="0"
               type="mlc:MessageNotificationPeriod">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a reporting Period covered by the Message. It must contain at least one out of StartDate or EndDate. The StartDate must be earlier than the EndDate if both are provided.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="SoundRecordingId" minOccurs="0" maxOccurs="unbounded"
               type="mlc:SoundRecordingId">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecordingId.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
         <xs:attribute name="LanguageAndScriptCode" type="xs:string" use="required">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Language and script for the Elements of this Message as defined in IETF RfC 5646. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
            </xs:annotation>
         </xs:attribute>
      </xs:complexType>
   </xs:element>
   <xs:element name="SalesReportMessage">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Message in the Music Licensing Company Message Suite Standard used by one Music Licensing Company to inform a second Music Licensing Company about unit sales of Releases in electronic or physical formats.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:element name="MessageHeader" type="mlc:MessageHeader">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The MessageHeader for the SalesReportMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="SalesReport" maxOccurs="unbounded" type="mlc:SalesReport">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of SalesTransactions by a distribution partner reported to a record company.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="NumberOfSalesTransactionRecords" type="xs:integer">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The check number which identifies the number of SalesTransaction records contained in the SalesReportMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
         <xs:attribute name="LanguageAndScriptCode" type="xs:string" use="required">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Language and script for the Elements of this Message as defined in IETF RfC 5646. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
            </xs:annotation>
         </xs:attribute>
      </xs:complexType>
   </xs:element>
   <xs:element name="DeclarationOfRevenueMessage">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Message in the Music Licensing Company Message Suite Standard containing a declaration of Revenue from the usage of Releases. </xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:element name="MessageHeader" type="mlc:MessageHeader">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The MessageHeader for the DeclarationOfRevenueMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="RevenueDeclaration" maxOccurs="unbounded"
               type="mlc:RevenueDeclaration">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of one or more Revenue declarations for a SoundRecording.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="NumberOfRevenueByUsageRecords" type="xs:integer">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The check number which identifies the number of RevenueByUsage records contained in the DeclarationOfRevenueMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
         <xs:attribute name="LanguageAndScriptCode" type="xs:string" use="required">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Language and script for the Elements of this Message as defined in IETF RfC 5646. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
            </xs:annotation>
         </xs:attribute>
      </xs:complexType>
   </xs:element>
   <xs:element name="ManifestMessage">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Message in the Music Licensing Company Message Suite Standard that is sent to document the FTP transfer of a Batch of Messages.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:element name="FtpMessageHeader" type="mlc:FtpMessageHeader">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The MessageHeader for the ManifestMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="IsTestFlag" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the Message is a TestMessage (=true) or a LiveMessage (=false).</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="RootDirectory" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">An Identifier of the root directory of all Messages in the Batch communicated through the ManifestMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="NumberOfMessages" type="xs:integer">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The number of Messages in the Batch communicated through the ManifestMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="MessageNotificationPeriod" minOccurs="0"
               type="mlc:MessageNotificationPeriod">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a reporting Period covered by the Message. It must contain at least one out of StartDate or EndDate. The StartDate must be earlier than the EndDate if both are provided.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="MessageInBatch" maxOccurs="unbounded" type="mlc:MessageInBatch">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a Message in the Batch.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="RightsClaimStatusUpdateMessage">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Message in the Music Licensing Company Message Suite Standard that allows updating a RightsClaim status.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:element name="MessageHeader" type="mlc:MessageHeader">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The MessageHeader for the RightsClaimStatusUpdateMessage.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="RightsClaim" maxOccurs="unbounded" type="mlc:RightsClaim">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a RightsClaim.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
         <xs:attribute name="LanguageAndScriptCode" type="xs:string" use="required">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Language and script for the Elements of this Message as defined in IETF RfC 5646. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
            </xs:annotation>
         </xs:attribute>
      </xs:complexType>
   </xs:element>
   <xs:complexType name="AvRating">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a rating for an audio-visual Creation.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="RatingText" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The text of the AvRating.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RatingAgency" type="mlc:RatingAgency">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of an Organization that issues the AvRating.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RatingSchemeDescription" minOccurs="0" maxOccurs="unbounded"
            type="mlc:Description">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Description of the RatingText.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ClaimedSoundRecording">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecording</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="SoundRecordingId" minOccurs="0" maxOccurs="unbounded"
            type="mlc:SoundRecordingId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecordingId.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Title" minOccurs="0" maxOccurs="unbounded" type="mlc:Title">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Title.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayArtistName" minOccurs="0" maxOccurs="unbounded"
            type="mlc:DisplayArtistNameWithDefault">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Name to be used by a DSP when presenting Artist details of the Resource to a Consumer.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ClaimedVideo">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Video.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="VideoId" minOccurs="0" maxOccurs="unbounded" type="mlc:VideoId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a VideoId.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Title" minOccurs="0" maxOccurs="unbounded" type="mlc:Title">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Title.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayArtistName" minOccurs="0" maxOccurs="unbounded"
            type="mlc:DisplayArtistNameWithDefault">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Name to be used by a DSP when presenting Artist details of the Resource to a Consumer.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="Contribution">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a contribution.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="Role" minOccurs="0" type="mlc:ContributorRole">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Role played by the Contributor in the creation of the Resource.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsPrimaryRole" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Flag indicating whether the contribution (role) is the primary contribution (role) that a Party makes in the creation of the Resource (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="HasMadeFeaturedContribution" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Flag indicating whether the contribution in the creation of the Resource is made by a Party that is a featured Artist (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="HasMadeContractedContribution" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Flag indicating whether the contribution in the creation of the Resource is made by a Party that is an Artist that has a contract for its part in creating a Resource (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Event" minOccurs="0" type="mlc:EventDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date of the Event in which the contribution to the creation of the Resource was made. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ContributionWithInstrument">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a contribution.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="Role" minOccurs="0" type="mlc:ResourceContributorRole">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Role played by the Contributor in the creation of the Resource.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsPrimaryRole" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Flag indicating whether the contribution (role) is the primary contribution (role) that a Party makes in the creation of the Resource (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="HasMadeFeaturedContribution" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Flag indicating whether the contribution in the creation of the Resource is made by a Party that is a featured Artist (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="HasMadeContractedContribution" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Flag indicating whether the contribution in the creation of the Resource is made by a Party that is an Artist that has a contract for its part in creating a Resource (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Event" minOccurs="0" type="mlc:EventDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date of the Event in which the contribution to the creation of the Resource was made. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PrimaryInstrumentType" minOccurs="0" type="mlc:InstrumentType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Type of (musical) Instrument primarily played by the Artist.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="InstrumentType" minOccurs="0" maxOccurs="unbounded"
            type="mlc:InstrumentType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Type of (musical) Instrument played by the Artist.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="DetailedArtist">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of an Artist. An Artist may be described through Name, Identifier and Roles.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:choice>
            <xs:element name="PartyId" maxOccurs="unbounded" type="mlc:DetailedPartyId">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:sequence>
               <xs:element name="PartyName" maxOccurs="unbounded" type="mlc:PartyName">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyName(s).</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="PartyId" minOccurs="0" maxOccurs="unbounded"
                  type="mlc:DetailedPartyId">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
                  </xs:annotation>
               </xs:element>
            </xs:sequence>
         </xs:choice>
         <xs:element name="ArtistDelegatedUsageRights" minOccurs="0"
            type="mlc:ArtistDelegatedUsageRights">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the kinds of usage for which rights have been delegated by the Artist.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Gender" minOccurs="0" type="avs:Gender">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The gender of the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Nationality" minOccurs="0" maxOccurs="unbounded"
            type="mlc:AllTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The nationality of the Artist. The use of ISO TerritoryCodes is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DateAndPlaceOfBirth" minOccurs="0" type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of birth. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DateAndPlaceOfDeath" minOccurs="0" type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of death. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="GoverningAgreementType" minOccurs="0" type="mlc:GoverningAgreementType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Type of an agreement that covers the Contributor's participation in making a SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ContactInformation" minOccurs="0" type="mlc:ContactId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of contact Identifiers of the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TerritoryOfResidency" minOccurs="0" maxOccurs="unbounded"
            type="mlc:AllTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The country of main residency of the Artist.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="AdditionalRoles" minOccurs="0" maxOccurs="unbounded"
            type="mlc:ContributorRole">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the AdditionalRoles played by the Artist.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Genre" minOccurs="0" maxOccurs="unbounded" type="mlc:Genre">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a typical or main Genre relating to the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayCredits" minOccurs="0" maxOccurs="unbounded"
            type="mlc:DisplayCredits">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Role for which the Contributor is credited.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Membership" minOccurs="0" maxOccurs="unbounded" type="mlc:Membership">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a membership in a collective rights management organization.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PrimaryRole" minOccurs="0" type="mlc:ContributorRole">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the primary role played by the Artist in relation to other Artists.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Date" minOccurs="0" type="mlc:EventDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date of the Performance. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="SequenceNumber" type="xs:integer">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The number indicating the order of the ResourceContributor in a group of ResourceContributors that have contributed to a Resource. This is represented in an XML schema as an XML Attribute. </xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="DisplayCredits">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Role and instrumentation for which a Party is credited.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="DisplayCreditText" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The textual portion of the display credit.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:element name="DisplayCreditParty" type="mlc:Party">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a Party credited with the display credit.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="NameUsedInDisplayCredit" minOccurs="0" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Name for the Party as used in the DisplayCreditText. If no such element is present, the DisplayCreditText contains the Name of the credited Party as specified in the PartyName of the Party composite.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script of this Element as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="ApplicableTerritoryCode" type="avs:CurrentTerritoryCode">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">A Territory to which this Element applies. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="IsDefault" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating whether this Element provides default values (=true). This Flag should not be set if this is not the case. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="Error">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of an Error.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ErrorType" minOccurs="0" type="mlc:ErrorType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Type of Error.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ErrorSeverity" minOccurs="0" type="avs:ErrorSeverity">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A severity of the Error.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RecommendedAction" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An action that is recommended to be taken.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ErroneousElement" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An XML Path Language (XPath) 3.0 of the erroneous data element.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ErrorDescription" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Description of an Error. that was found.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DataFound" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Description of the data that was found to cause the conflict.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DataExpected" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Description of the data that is expected to solve the conflict.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="EventDateWithTerritoryCode">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of an Event.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="mlc:ddex_IsoDate">
            <xs:attribute name="IsApproximate" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the reported Date is approximate (=true) or exact (=false). This is represented in an XML schema as an XML Attribute. </xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="IsBefore" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the Event being described occurred sometime before the reported Date (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="IsAfter" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the Event being described occurred sometime after the reported Date (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="ApplicableTerritoryCode" type="avs:AllTerritoryCode">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Territory in which the Event occurred. This is represented in an XML schema as an XML Attribute. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="TerritoryCode" type="avs:AllTerritoryCode">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Territory in which most of the Event occurred. This is represented in an XML schema as an XML Attribute. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="LocationDescription" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Description of the location in which the Event occurred. It offers the opportunity to describe a place more precisely than using the TerritoryCode. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script for the LocationDescription as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="HostSoundCarrier">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a HostSoundCarrier of a SoundRecording. This Composite exists to support the identification and matching of SoundRecording information.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ReleaseId" minOccurs="0" maxOccurs="unbounded" type="mlc:ReleaseId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of ReleaseIds of the HostSoundCarrier. If available, a GRid has to be used. If the HostSoundCarrier contains only one SoundRecording, the ISRC of the SoundRecording may be used instead.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Title" minOccurs="0" maxOccurs="unbounded" type="mlc:Title">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Title of the HostSoundCarrier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayArtistName" minOccurs="0" maxOccurs="unbounded"
            type="mlc:DisplayArtistNameWithDefault">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Name to be used by a DSP when presenting Artist details of the HostSoundCarrier to a Consumer.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayArtist" minOccurs="0" maxOccurs="unbounded" type="mlc:Artist">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the DisplayArtist for the HostSoundCarrier. The DisplayArtist may be described through Name, Identifier and Roles.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="AdministratingRecordCompany" minOccurs="0" maxOccurs="unbounded"
            type="mlc:AdministratingRecordCompany">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the AdministratingRecordCompany for the Rights in the HostSoundCarrier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TrackNumber" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The TrackNumber of the SoundRecording within the HostSoundCarrier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="VolumeNumberInSet" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The SequenceNumber within the Set of the volume containing the SoundRecording, where the HostSoundCarrier is a Set (such as a 'box set' of CDs).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SideNumber" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The SideNumber of the SoundRecording within the Release.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CarrierType" minOccurs="0" type="mlc:CarrierType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the HostSoundCarrier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="LabelName" minOccurs="0" maxOccurs="unbounded" type="mlc:LabelName">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Name of the primary releasing Label (not the original one) under which this HostSoundCarrier is marketed. The use of multiple LabelNames is discouraged unless used to communicate LabelNames in different languages and/or scripts. This field is solely for matching and not to signal rights claims.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfSoundRecordingsClaimedInCarrier" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of SoundRecordings that are claimed.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfDisks" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of disks comprised by the HostSoundCarrier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Duration" minOccurs="0" type="xs:duration">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The total Duration of all linear media contained in the HostSoundCarrier (using the ISO 8601:2004 PT[[hhH]mmM]ssS format, where lower case characters indicate variables, upper case characters are part of the xs:string, e.g. one hour, two minutes and three seconds would be PT1H2M3S). The seconds section ss may include fractions (e.g. one minute and 30.5 seconds would be PT1M30.5S).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CompilationType" minOccurs="0" type="avs:CompilationType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Type of Compilation.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ReleaseType" minOccurs="0" type="mlc:ReleaseType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the form in which a ReleaseCreator anticipates offering the Release to Consumers.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsPhysicalDistribution" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the HostSoundCarrier is physical or digital/electronic (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PLine" minOccurs="0" type="mlc:PLine">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the PLine for the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CLine" minOccurs="0" type="mlc:CLine">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the CLine for the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ReleaseDate" minOccurs="0" type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of the Event in which the Release is made available for Usage. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ReleasingCompany" minOccurs="0" type="mlc:PartyDescriptor">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the company that is releasing the HostSoundCarrier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DistributingCompany" minOccurs="0" type="mlc:PartyDescriptor">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the company that is distributing the HostSoundCarrier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CdProtectionType" minOccurs="0" type="mlc:CdProtectionType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a CdProtectionType.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RecordingMode" minOccurs="0" type="avs:RecordingMode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A RecordingMode.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DigitizationMode" minOccurs="0" type="avs:DigitizationMode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A DigitizationMode.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsHiddenResource" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is hidden in some way from the Consumer (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsBonusResource" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is additional to those on the original Release of which this is a Version (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsInternalCompilation" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the HostSoundCarrier is a Compilation where all tracks are owned by the issuing record company (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="MessageInBatch">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Music Licensing Company Message in a Batch.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="MessageType" type="avs:MlcMessageType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Type of Message.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageId" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An Identifier of the Message.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="URL" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A URL of the Message.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:choice minOccurs="0">
            <xs:element name="HashSum" type="mlc:HashSum">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing a HashSum of the File and information about the algorithm with which it has been generated.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="Signature" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A digital signature in accordance with DDEX-DSIG.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:choice>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="OtherContributor">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of the Name, Identifier and role(s) of a Contributor. This Composite is not used for Parties that are performing Contributors or that contribute indirectly to a Resource.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:choice>
            <xs:element name="PartyId" maxOccurs="unbounded" type="mlc:DetailedPartyId">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:sequence>
               <xs:element name="PartyName" maxOccurs="unbounded" type="mlc:PartyName">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyName(s).</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="PartyId" minOccurs="0" maxOccurs="unbounded"
                  type="mlc:DetailedPartyId">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
                  </xs:annotation>
               </xs:element>
            </xs:sequence>
         </xs:choice>
         <xs:element name="ContributorDelegatedUsageRights" minOccurs="0"
            type="mlc:ArtistDelegatedUsageRights">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the kinds of usage for which rights have been delegated by the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Gender" minOccurs="0" type="avs:Gender">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The gender of the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Nationality" minOccurs="0" maxOccurs="unbounded"
            type="mlc:CurrentTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The nationality of the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DateAndPlaceOfBirth" minOccurs="0" type="mlc:EventDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of birth. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DateAndPlaceOfDeath" minOccurs="0" type="mlc:EventDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of death. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="GoverningAgreementType" minOccurs="0" type="mlc:GoverningAgreementType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Type of an agreement that covers the Contributor's participation in making a SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ContactInformation" minOccurs="0" type="mlc:ContactId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of contact Identifiers of the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TerritoryOfResidency" minOccurs="0" type="mlc:AllTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The country of main residency of the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Citizenship" minOccurs="0" type="mlc:CurrentTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The country of whose citizenship the Contributor has.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Genre" minOccurs="0" maxOccurs="unbounded" type="mlc:Genre">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a typical or main Genre relating to the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Contribution" minOccurs="0" maxOccurs="unbounded" type="mlc:Contribution">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a contribution. Each contribution must have one role in one country with one set of flags and with 0-n instruments. If multiple roles or set of flags need to be communicated, multiple contribution composites need to be used.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayCredits" minOccurs="0" maxOccurs="unbounded"
            type="mlc:DisplayCredits">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Role for which the Contributor is credited.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Membership" minOccurs="0" maxOccurs="unbounded" type="mlc:Membership">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a membership in a collective rights management organization.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="CharacterType" minOccurs="0" type="avs:CharacterType">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Type of the Character.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="Character" minOccurs="0" type="mlc:PartyName">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the Name of the role played by a Contributor.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:choice>
      </xs:sequence>
      <xs:attribute name="SequenceNumber" type="xs:integer">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The number indicating the order of the ResourceContributor in a group of ResourceContributors that have contributed to a Resource. This is represented in an XML schema as an XML Attribute. </xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="Party">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of an Party. A Party may be described through Name and Identifier.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:choice>
            <xs:element name="PartyId" maxOccurs="unbounded" type="mlc:DetailedPartyId">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:sequence>
               <xs:element name="PartyName" maxOccurs="unbounded" type="mlc:PartyName">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyName(s).</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="PartyId" minOccurs="0" maxOccurs="unbounded"
                  type="mlc:DetailedPartyId">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
                  </xs:annotation>
               </xs:element>
            </xs:sequence>
         </xs:choice>
         <xs:element name="TerritoryCode" minOccurs="0" maxOccurs="unbounded"
            type="mlc:AllTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Territory of the Party. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="PerformingContributor">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of the Name, Identifier and role(s) of a Contributor. This Composite is used for Parties that are performing Contributors.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:choice>
            <xs:element name="PartyId" maxOccurs="unbounded" type="mlc:DetailedPartyId">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:sequence>
               <xs:element name="PartyName" maxOccurs="unbounded" type="mlc:PartyName">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyName(s).</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="PartyId" minOccurs="0" maxOccurs="unbounded"
                  type="mlc:DetailedPartyId">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
                  </xs:annotation>
               </xs:element>
            </xs:sequence>
         </xs:choice>
         <xs:element name="ContributorDelegatedUsageRights" minOccurs="0"
            type="mlc:ArtistDelegatedUsageRights">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the kinds of usage for which rights have been delegated by the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Gender" minOccurs="0" type="avs:Gender">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The gender of the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Nationality" minOccurs="0" maxOccurs="unbounded"
            type="mlc:CurrentTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The nationality of the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DateAndPlaceOfBirth" minOccurs="0" type="mlc:EventDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of birth. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DateAndPlaceOfDeath" minOccurs="0" type="mlc:EventDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of death. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="GoverningAgreementType" minOccurs="0" type="mlc:GoverningAgreementType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Type of an agreement that covers the Contributor's participation in making a SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ContactInformation" minOccurs="0" type="mlc:ContactId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of contact Identifiers of the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TerritoryOfResidency" minOccurs="0" type="mlc:AllTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The country of main residency of the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Citizenship" minOccurs="0" type="mlc:CurrentTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The country of whose citizenship the Contributor has.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Genre" minOccurs="0" maxOccurs="unbounded" type="mlc:Genre">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a typical or main Genre relating to the Contributor.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Contribution" minOccurs="0" maxOccurs="unbounded"
            type="mlc:ContributionWithInstrument">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a contribution. Each contribution must have one role in one country with one set of flags and with 0-n instruments. If multiple roles or set of flags need to be communicated, multiple contribution composites need to be used.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayCredits" minOccurs="0" maxOccurs="unbounded"
            type="mlc:DisplayCredits">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Role for which the Contributor is credited.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Membership" minOccurs="0" maxOccurs="unbounded" type="mlc:Membership">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a membership in a collective rights management organization.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="CharacterType" minOccurs="0" type="avs:CharacterType">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Type of the Character.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="Character" minOccurs="0" type="mlc:PartyName">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the Name of the role played by a Contributor.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:choice>
      </xs:sequence>
      <xs:attribute name="SequenceNumber" type="xs:integer">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The number indicating the order of the ResourceContributor in a group of ResourceContributors that have contributed to a Resource. This is represented in an XML schema as an XML Attribute. </xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="ReportedUsage">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of one or more Usages for a Resource.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="RecipientRevenueType" type="avs:RecipientRevenueType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Type of Revenue according to the recipient of the payment.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RevenueSourceType" type="avs:RevenueSourceType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Type of Revenue earned by the SoundRecording, according to the way the Revenue is generated.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="UsagePeriod" type="mlc:Period">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details about the Period of Time for which a usage is reported.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RevenueByUsage" maxOccurs="unbounded" type="mlc:RevenueByUsage">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Revenue specified for a UseType.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="RequestedSoundRecording">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a requested SoundRecording.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="SoundRecordingId" minOccurs="0" type="mlc:SoundRecordingId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecordingId.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ReferenceTitle" minOccurs="0" type="mlc:ReferenceTitle">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the ReferenceTitle of the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ResourceContributor" minOccurs="0" maxOccurs="unbounded"
            type="mlc:PartyDescriptor">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Contributor to the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ResourceList">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of one or more Resources. ResourceList provides a simple means of aggregating Resources without any explicit sequencing or grouping: if that is needed it is provided by the ResourceGroup Composite. </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="SoundRecording" minOccurs="0" maxOccurs="unbounded"
            type="mlc:SoundRecording">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Video" minOccurs="0" maxOccurs="unbounded" type="mlc:Video">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="Revenue">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Revenue.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="GrossRevenue" type="xs:decimal">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Revenue without or before Deductions.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="AdminFee" type="xs:decimal">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An administrative fee to be paid.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NetRevenueBeforeWithholdingTax" type="xs:decimal">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Revenue without or before taking the WithholdingTax into account.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="WithholdingTax" type="xs:decimal">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">[missing definition]</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NetRevenue" type="xs:decimal">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Revenue after Deductions.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="RevenueByTerritory">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Revenue specified for a Territory.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="TerritoryCode" type="mlc:AllTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Territory for which Revenue is reported. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="UserName" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An Identifier of a user.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="UserRole" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Description providing information about the role the user of the SoundRecording. This Comment is used to further detail the UserName.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DurationUsed" minOccurs="0" maxOccurs="unbounded" type="xs:duration">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Duration of the SoundRecording that has been used in a specified context (using the ISO 8601:2004 PT[[hhH]mmM]ssS format, where lower case characters indicate variables, upper case characters are part of the xs:string, e.g. one hour, two minutes and three seconds would be PT1H2M3S). The seconds section ss may include fractions (e.g. one minute and 30.5 seconds would be PT1M30.5S).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfUsages" minOccurs="0" maxOccurs="unbounded" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A number of times a SoundRecording has been used.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsCredit" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Revenue is a credit (=true) or a debit (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Revenue" type="mlc:Revenue">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Revenue.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="RevenueByUsage">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Revenue specified for a UseType.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="UseType" type="mlc:UseType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a nature of a usage.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RevenueByTerritory" maxOccurs="unbounded" type="mlc:RevenueByTerritory">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Revenue specified for a Territory.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="RevenueDeclaration">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of one or more Revenue declarations.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="SoundRecordingId" type="mlc:SoundRecordingId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecordingId of the SoundRecording for which Revenue is declared.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ReferenceTitle" type="mlc:ReferenceTitle">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the ReferenceTitle of the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayArtistName" maxOccurs="unbounded"
            type="mlc:DisplayArtistNameWithDefault">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Name to be used by a DSP when presenting Artist details of the Resource to a Consumer.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CurrencyOfAccounting" type="avs:CurrencyCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Currency in which the Revenues are accounted (represented by an ISO 4217 CurrencyCode).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ReportedUsage" maxOccurs="unbounded" type="mlc:ReportedUsage">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of one or more Usages for the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="RightsClaim">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of an Error.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:choice>
            <xs:element name="ClaimedSoundRecording" type="mlc:ClaimedSoundRecording">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecording.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="ClaimedVideo" type="mlc:ClaimedVideo">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of a Video.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:choice>
         <xs:element name="MessageId" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An Identifier of the Message in which the claim was communicated.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RegistrationStatus" minOccurs="0" type="avs:RegistrationStatus">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A registration Status of a Resource.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RegistrationError" minOccurs="0" maxOccurs="unbounded" type="mlc:Error">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a RegistrationError.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ClaimStatus" minOccurs="0" type="avs:RightsClaimStatus">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Status of a RightsClaim.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RightsConflict" minOccurs="0" maxOccurs="unbounded"
            type="mlc:RightsConflict">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Rights Conflict.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="RightsConflict">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of an Error.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ConflictingParty" minOccurs="0" maxOccurs="unbounded"
            type="mlc:PartyDescriptor">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Party involved in the Conflict.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="UseType" minOccurs="0" maxOccurs="unbounded" type="mlc:UseType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a nature of a usage for which the Conflict is reported.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TerritoryCode" minOccurs="0" maxOccurs="unbounded"
            type="mlc:AllTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Territory for which Conflict is reported. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Period" minOccurs="0" maxOccurs="unbounded" type="mlc:Period">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details about the Period of Time for which the Conflict is reported.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsInternalConflictOnly" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Flag indicating whether the Conflict is internal only (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="RightsController">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a RightsController. RightsControllers are typically described by Name, Identifier and Role(s).</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:choice>
            <xs:element name="PartyId" maxOccurs="unbounded" type="mlc:DetailedPartyId">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:sequence>
               <xs:element name="PartyName" maxOccurs="unbounded" type="mlc:PartyName">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyName(s).</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="PartyId" minOccurs="0" maxOccurs="unbounded"
                  type="mlc:DetailedPartyId">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
                  </xs:annotation>
               </xs:element>
            </xs:sequence>
         </xs:choice>
         <xs:element name="RightsControllerRole" minOccurs="0" maxOccurs="unbounded"
            type="avs:RightsControllerRole">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A role that describes the Party involved in the administration of Rights.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:choice minOccurs="0">
            <xs:element name="RightShareUnknown" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the RightSharePercentage is unknown (=true) or not (=false).</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="RightSharePercentage" type="mlc:Percentage">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The share of the licensed Rights owned by the RightsController. RightShare information is given as a xs:decimal value with up to 6 digits (e.g. '12.5' represents 12.5%). If no information is given, 100% is assumed.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:choice>
         <xs:element name="RightsControllerType" minOccurs="0" type="avs:RightsControllerType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A type of the RightsController.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DelegatedUsageRights" maxOccurs="unbounded"
            type="mlc:DelegatedUsageRights">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the kinds of usage for which rights have been delegated.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsPayingOutRoyalties" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Flag indicating whether the RightsController is paying out royalties for all other relevant RightsControllers (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="SequenceNumber" type="xs:integer">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The number indicating the order of the RightsController in a group of RightsControllers. This is represented in an XML schema as an XML Attribute. </xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="SalesReport">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of SalesTransactions.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="TerritoryCode" maxOccurs="unbounded" type="mlc:CurrentTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Territory for which SalesTransactions are reported. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageNotificationPeriod" type="mlc:MessageNotificationPeriod">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the reporting Period covered by the SalesReportMessage.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SalesTransaction" maxOccurs="unbounded" type="mlc:SalesTransaction">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a SalesTransaction for specified Usages of the Release or Resource.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="SalesTransaction">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a SalesTransaction.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ReleaseId" type="mlc:ReleaseId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of ReleaseIds of the Release. If available, a GRid has to be used. If the Release contains only one SoundRecording, the ISRC of the SoundRecording may be used instead.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Label" minOccurs="0" type="mlc:PartyDescriptor">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Label on which the Release was marketed.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsCompilation" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Flag indicating whether the Release is a Compilation (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfSoundRecordingsClaimedInCarrier" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of SoundRecordings that are claimed.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfUnitsSold" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of unit sales of the Release. </xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="SampledSoundRecording">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecording.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="SoundRecordingId" minOccurs="0" maxOccurs="unbounded"
            type="mlc:SoundRecordingId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecordingId.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Title" minOccurs="0" maxOccurs="unbounded" type="mlc:Title">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Title.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayArtistName" minOccurs="0" maxOccurs="unbounded"
            type="mlc:DisplayArtistNameWithDefault">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Name to be used by a DSP when presenting Artist details of the Resource to a Consumer.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayArtist" minOccurs="0" maxOccurs="unbounded" type="mlc:Artist">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a DisplayArtist. A DisplayArtist may be described through Name, Identifier and Roles.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="SoundRecording">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecording.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="SoundRecordingType" minOccurs="0" type="mlc:SoundRecordingType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Type of the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsArtistRelated" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is related to an Artist (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SoundRecordingId" maxOccurs="unbounded" type="mlc:SoundRecordingId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecordingId.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="AssociatedSoundRecordingId" minOccurs="0" maxOccurs="unbounded"
            type="mlc:SoundRecordingId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecordingId that is associated with the SoundRecording such as an Identifier believed to be duplicate or grouped with the 'attested' identifier in VRDB2.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MusicalWorkId" minOccurs="0" maxOccurs="unbounded"
            type="mlc:MusicalWorkId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a MusicalWorkId of a MusicalWork used in the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ResourceReference">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Identifier (specific to the Message) of the SoundRecording within the Release which contains it. This is a LocalResourceAnchor starting with the letter A.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
               <xs:restriction base="xs:ID">
                  <xs:pattern value="A[\d\-_a-zA-Z]+"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="ReferenceTitle" type="mlc:ReferenceTitle">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the ReferenceTitle of the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="VersionType" minOccurs="0" maxOccurs="unbounded" type="mlc:VersionType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Type of Version of the SoundRecording. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="InstrumentationDescription" minOccurs="0" type="mlc:Description">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing a Description of the Type of instrumentation of the MusicalWork(s) in the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Keywords" minOccurs="0" maxOccurs="unbounded" type="mlc:Keywords">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Description of the SoundRecording containing Keywords.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Synopsis" minOccurs="0" type="mlc:Synopsis">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Synopsis of the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsMedley" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is a Medley (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsPotpourri" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is a Potpourri (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsInstrumental" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is instrumental (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsBackground" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is used as background to other audio or audio-visual material (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsHiddenResource" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is hidden in some way from the Consumer (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsBonusResource" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is additional to those on the original Release of which this is a Version (=true) or not (=false). This element is deprecated. DDEX advises that it may be removed at a future date and therefore recommends against using it. The IsBonusResource element in ResourceGroupContentItem should be used instead.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsComputerGenerated" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is generated by a computer (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NoSilenceBefore" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is preceded by a period of silence (=false) or not (=true). </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NoSilenceAfter" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording is followed by a period of silence (=false) or not (=true). </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ContainsSamples" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording contains samples (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SampledSoundRecording" minOccurs="0" maxOccurs="unbounded"
            type="mlc:SampledSoundRecording">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a sampled SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="LanguageOfPerformance" minOccurs="0" type="avs:IsoLanguageCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Language of the Performance recorded in the SoundRecording (represented by an ISO 639 LanguageCode).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Duration" type="xs:duration">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Duration of the SoundRecording (using the ISO 8601:2004 PT[[hhH]mmM]ssS format, where lower case characters indicate variables, upper case characters are part of the xs:string, e.g. one hour, two minutes and three seconds would be PT1H2M3S). The seconds section ss may include fractions (e.g. one minute and 30.5 seconds would be PT1M30.5S).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SoundRecordingCollectionReferenceList" minOccurs="0"
            type="mlc:SoundRecordingCollectionReferenceList">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of one or more Collections. The referenced Collection has to be of CollectionType AudioChapter. (Note: this Composite is not required for communication to Music Licensing Companies but is included in this Message to maintain compatibility to the Release Notification Message Suite Standard.)</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ResourceMusicalWorkReferenceList" minOccurs="0"
            type="mlc:ResourceMusicalWorkReferenceList">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of one or more MusicalWorks contained in the SoundRecording. (Note: this Composite is not required for communication to Music Licensing Companies but is included in this Message to maintain compatibility to the Release Notification Message Suite Standard.)</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ResourceContainedResourceReferenceList" minOccurs="0"
            type="mlc:ResourceContainedResourceReferenceList">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of ResourceContainedResourceReferences referring to a Resource that is contained in the current SoundRecording. (Note: this Composite is not required for communication to Music Licensing Companies but is included in this Message to maintain compatibility to the Release Notification Message Suite Standard.)</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CreationDate" minOccurs="0" type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of the Event in which the SoundRecording was created. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MasteredDate" minOccurs="0" type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of the Event in which the SoundRecording was originally mastered (in either analogue or digital form). This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RemasteredDate" minOccurs="0" type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of the Event in which the SoundRecording was re-mastered (usually digitally). This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SoundRecordingDetailsByTerritory" maxOccurs="unbounded"
            type="mlc:SoundRecordingDetailsByTerritory">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of Descriptors and other attributes of the SoundRecording which may vary according to Territory.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="InitialProducer" minOccurs="0" maxOccurs="unbounded" type="mlc:Party">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of an InitialProducer for the SoundRecording, which is a Party that initiates the creation of the SoundRecording and is sometimes referred to as a commissioning rights holder. An InitialProducer may be a Person or an Organization and the term contrasts with the role of a StudioProducer. An InitialProducer may be described through Name and Identifier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TechnicalSoundRecordingDetails" minOccurs="0" maxOccurs="unbounded"
            type="mlc:TechnicalSoundRecordingDetails">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing technical details of the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfFeaturedPerformingContributors" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of featured Contributors associated with the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfNonFeaturedPerformingContributors" minOccurs="0"
            type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of non-featured Contributors associated with the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="LineUpComplete" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the line up is complete (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfMainCharacters" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of MainCharacters associated with the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MainCharacterLineUpComplete" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the line up of MainCharacters is complete (=true) or not (=false). If no value is provided, no information about completeness is available.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfSupportingCharacters" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of SupportingCharacters associated with the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SupportingCharacterLineUpComplete" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the line up of SupportingCharacters is complete (=true) or not (=false). If no value is provided, no information about completeness is available.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfOtherCharacters" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of OtherCharacters associated with the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="OtherCharacterLineUpComplete" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the line up of OtherCharacters is complete (=true) or not (=false). If no value is provided, no information about completeness is available.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="IsUpdated" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating whether the SoundRecording Element was updated (=true) or not (=false). When this Boolean Flag is set to true, the MessageRecipient is expected to replace any previously provided SoundRecording data with the now provided data. This attribute is deprecated. DDEX advises that it may be removed at a future date and therefore recommends against using it.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the SoundRecording as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="RecordLastUpdatedDate" type="mlc:ddex_IsoDate">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">A Date that specifies the last time a record was changed, so that a recipient can decide when they ingest the record if they need to update their local system data. This is a string with the syntax YYYY[-MM[-DD]]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="RepertoireManagerCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">An Identifier of a society that is repertoire manager of the metadata for the SoundRecording in VRDB2 (the Virtual Recording Database operated by SCAPR). This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="MetadataIsUnderReview" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating whether information in this SoundRecording composite is subject to a Dispute that is currently being resolved (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="MetadataIsAccessRestricted" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating to the recipient whether information in this SoundRecording composite is restricted in the context of communications with the VRDB2 (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="SoundRecordingDetailsByTerritory">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of Descriptors and other attributes of a SoundRecording which may vary according to Territory of release.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:choice>
            <xs:element name="TerritoryCode" maxOccurs="unbounded" type="mlc:CurrentTerritoryCode">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Territory to which the SoundRecording details apply. Either this Element or ExcludedTerritory shall be present, but not both. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="ExcludedTerritoryCode" maxOccurs="unbounded"
               type="mlc:CurrentTerritoryCode">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Territory to which the SoundRecording details do not apply. Either this Element or Territory shall be present, but not both. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:choice>
         <xs:element name="Title" minOccurs="0" maxOccurs="unbounded" type="mlc:Title">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Title of the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayArtistName" minOccurs="0" maxOccurs="unbounded"
            type="mlc:DisplayArtistNameWithDefault">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Name to be used by a DSP when presenting Artist details of the Resource to a Consumer.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayArtist" minOccurs="0" maxOccurs="unbounded" type="mlc:Artist">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a DisplayArtist for the SoundRecording. A DisplayArtist may be described through Name, Identifier and Roles.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayConductor" minOccurs="0" maxOccurs="unbounded"
            type="mlc:DetailedArtist">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a DisplayConductor for the SoundRecording. A DisplayConductor may be described through Name, Identifier and Roles.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DisplayComposer" minOccurs="0" maxOccurs="unbounded"
            type="mlc:DetailedArtist">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a DisplayComposer for the SoundRecording. A DisplayComposer may be described through Name, Identifier and Roles.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PerformingContributor" minOccurs="0" maxOccurs="unbounded"
            type="mlc:PerformingContributor">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a performing Contributor to the SoundRecording, as defined in the International Treaties. While there is a semantic difference between a performing and a non-performing Contributor, some MLCs may classify a specific contribution as one while other MLCs may classify the same contribution as the other. Therefore, it is necessary to carry some of the attributes specific to performances (esp. the flags) on both composites while in theory they make no sense for non-performing contributions.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="OtherContributor" minOccurs="0" maxOccurs="unbounded"
            type="mlc:OtherContributor">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Contributor that is not a performing Contributor to the SoundRecording, according to the International Treaties. While there is a semantic difference between a performing and a non-performing Contributor, some MLCs may classify a specific contribution as one while other MLCs may classify the same contribution as the other. Therefore, it is necessary to carry some of the attributes specific to performances (esp. the flags) on both composites while in theory they make no sense for non-performing contributions.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="LabelName" minOccurs="0" maxOccurs="unbounded" type="mlc:LabelName">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Name of the primary releasing Label (not the original one) under which this SoundRecording is marketed. The use of multiple LabelNames is discouraged unless used to communicate LabelNames in different languages and/or scripts. This field is solely for matching and not to signal rights claims.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ResourceReleaseDate" minOccurs="0" type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of the Event in which the SoundRecording was published, whether for physical or electronic/online distribution. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="OriginalResourceReleaseDate" minOccurs="0" maxOccurs="unbounded"
            type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of the Event in which the SoundRecording was originally published, whether for physical or electronic/online distribution. This is a string with the syntax YYYY[-MM[-DD]]. If one OriginalResourceReleaseDate is specified, the TerritoryCode attribute is not mandatory, but if more than one OriginalResourceReleaseDate is provided, all of these need to have a TerritoryCode attribute.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PLine" minOccurs="0" maxOccurs="unbounded" type="mlc:PLine">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the PLine for the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Licensor" minOccurs="0" type="mlc:PartyDescriptor">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Party granting the permission for Usage.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RightsController" maxOccurs="unbounded" type="mlc:RightsController">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of RightsController of Rights in the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CourtesyLine" minOccurs="0" type="mlc:CourtesyLine">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing an Annotation which acknowledges record companies and/or other Parties giving permission for guests Artists or others featured on the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SequenceNumber" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number indicating the order of the SoundRecording in a group of SoundRecordings in a Release.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="HostSoundCarrier" minOccurs="0" maxOccurs="unbounded"
            type="mlc:HostSoundCarrier">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a HostSoundCarrier on which the SoundRecording appears (e.g., the CD on which it was originally released). This Composite exists in the Release Notification Message Suite Standard, to support the identification and matching of SoundRecording information.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MarketingComment" minOccurs="0" type="mlc:Comment">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing a Comment about the promotion and marketing of the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Genre" minOccurs="0" maxOccurs="unbounded" type="mlc:GenreWithClassical">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Genre to which the SoundRecording belongs.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ParentalWarningType" minOccurs="0" maxOccurs="unbounded"
            type="mlc:ParentalWarningType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the classification of the SoundRecording according to advice which it carries about the level of explicitness or offensiveness of its content.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="AvRating" minOccurs="0" maxOccurs="unbounded" type="mlc:AvRating">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a rating for the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="FulfillmentDate" minOccurs="0" type="mlc:FulfillmentDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a FulfillmentDate.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="GoverningAgreementType" minOccurs="0" type="mlc:GoverningAgreementType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Type of an agreement that covers the making of the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the SoundRecordingDetailsByTerritory as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="TechnicalSoundRecordingDetails">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing technical details of a SoundRecording.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ContainerFormat" minOccurs="0" type="mlc:ContainerFormat">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a ContainerFormat.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="AudioCodecType" minOccurs="0" type="mlc:AudioCodecType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Type of AudioCodec.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the TechnicalSoundRecordingDetails as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="TechnicalVideoDetails">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing technical details of a Video.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ContainerFormat" minOccurs="0" type="mlc:ContainerFormat">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a ContainerFormat.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="VideoCodecType" minOccurs="0" type="mlc:VideoCodecType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Type of VideoCodec.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the TechnicalSoundRecordingDetails as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="Video">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Video.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="VideoType" minOccurs="0" type="mlc:VideoType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Type of the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="VersionType" minOccurs="0" maxOccurs="unbounded" type="mlc:VersionType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Type of Version of the Video. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsArtistRelated" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Video is related to an Artist (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="VideoId" maxOccurs="unbounded" type="mlc:VideoId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a VideoId.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MusicalWorkId" minOccurs="0" maxOccurs="unbounded"
            type="mlc:MusicalWorkId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a MusicalWorkId of a MusicalWork used in the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ResourceReference">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Identifier (specific to the Message) of the Video within the Release which contains it. This is a LocalResourceAnchor starting with the letter A.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
               <xs:restriction base="xs:ID">
                  <xs:pattern value="A[\d\-_a-zA-Z]+"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="ReferenceTitle" type="mlc:ReferenceTitle">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the ReferenceTitle of the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="InstrumentationDescription" minOccurs="0" type="mlc:Description">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing a Description of the Type of instrumentation of the MusicalWork(s) in the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Keywords" minOccurs="0" maxOccurs="unbounded" type="mlc:Keywords">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Description of the Video containing Keywords.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Synopsis" minOccurs="0" type="mlc:Synopsis">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Synopsis of the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsMedley" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Video is a Medley (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsPotpourri" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Video is a Potpourri (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsInstrumental" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Video is instrumental (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsBackground" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Video is used as background to other audio or audio-visual material (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsHiddenResource" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Video is hidden in some way from the Consumer (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsBonusResource" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Video is additional to those on the original Release of which this is a Version (=true) or not (=false). This element is deprecated. DDEX advises that it may be removed at a future date and therefore recommends against using it. The IsBonusResource element in ResourceGroupContentItem should be used instead.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsComputerGenerated" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Video is generated by a computer (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NoSilenceBefore" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Video is preceded by a period of silence (=false) or not (=true). </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NoSilenceAfter" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the Video is followed by a period of silence (=false) or not (=true). </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="LanguageOfPerformance" minOccurs="0" type="avs:IsoLanguageCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Language of the Performance recorded in the Video (represented by an ISO 639 LanguageCode).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Duration" type="xs:duration">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Duration of the Video (using the ISO 8601:2004 PT[[hhH]mmM]ssS format, where lower case characters indicate variables, upper case characters are part of the xs:string, e.g. one hour, two minutes and three seconds would be PT1H2M3S). The seconds section ss may include fractions (e.g. one minute and 30.5 seconds would be PT1M30.5S).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="VideoCollectionReferenceList" minOccurs="0"
            type="mlc:SoundRecordingCollectionReferenceList">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of one or more Collections. The referenced Collection has to be of CollectionType VideoChapter.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ResourceMusicalWorkReferenceList" minOccurs="0"
            type="mlc:ResourceMusicalWorkReferenceList">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of one or more MusicalWorks contained in the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ResourceContainedResourceReferenceList" minOccurs="0"
            type="mlc:ResourceContainedResourceReferenceList">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of ResourceContainedResourceReferences referring to a Resource that is contained in the current Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CreationDate" minOccurs="0" maxOccurs="unbounded"
            type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of the Event in which the Video was created. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MasteredDate" minOccurs="0" type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of the Event in which the Video was originally mastered (in either analogue or digital form). This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="RemasteredDate" minOccurs="0" type="mlc:EventDateWithTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of the Event in which the Video was re-mastered (usually digitally). This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="VideoDetailsByTerritory" maxOccurs="unbounded"
            type="mlc:SoundRecordingDetailsByTerritory">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of Descriptors and other attributes of the Video which may vary according to Territory.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="InitialProducer" minOccurs="0" maxOccurs="unbounded" type="mlc:Party">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of an InitialProducer for the Video, which is a Party that initiates the creation of the Video and is sometimes referred to as a commissioning rights holder. An InitialProducer may be a Person or an Organization and the term contrasts with the role of a StudioProducer. An InitialProducer may be described through Name and Identifier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TechnicalVideoDetails" minOccurs="0" maxOccurs="unbounded"
            type="mlc:TechnicalVideoDetails">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing technical details of the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfFeaturedPerformingContributors" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of featured Contributors associated with the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfNonFeaturedPerformingContributors" minOccurs="0"
            type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of non-featured Contributors associated with the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="LineUpComplete" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the line up is complete (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfMainCharacters" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of MainCharacters associated with the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MainCharacterLineUpComplete" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the line up of MainCharacters is complete (=true) or not (=false). If no value is provided, no information about completeness is available.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfSupportingCharacters" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of SupportingCharacters associated with the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SupportingCharacterLineUpComplete" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the line up of SupportingCharacters is complete (=true) or not (=false). If no value is provided, no information about completeness is available.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberOfOtherCharacters" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of OtherCharacters associated with the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="OtherCharacterLineUpComplete" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the line up of OtherCharacters is complete (=true) or not (=false). If no value is provided, no information about completeness is available.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="IsUpdated" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating whether the Video Element was updated (=true) or not (=false). When this Boolean Flag is set to true, the MessageRecipient is expected to replace any previously provided Video data with the now provided data. This attribute is deprecated. DDEX advises that it may be removed at a future date and therefore recommends against using it.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the Video as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="RecordLastUpdatedDate" type="mlc:ddex_IsoDate">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">A Date that specifies the last time a record was changed, so that a recipient can decide when they ingest the record if they need to update their local system data. This is a string with the syntax YYYY[-MM[-DD]]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="RepertoireManagerCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">An Identifier of a society that is repertoire manager of the metadata for the Video in VRDB2 (the Virtual Recording Database operated by SCAPR). This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="MetadataIsUnderReview" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating whether information in this Video composite is subject to a Dispute that is currently being resolved (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="MetadataIsAccessRestricted" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating to the recipient whether information in this Video composite is restricted in the context of communications with the VRDB2 (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="AdministratingRecordCompany">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of an AdministratingRecordCompany.</xs:documentation>
      </xs:annotation>
      <xs:choice>
         <xs:element name="PartyId" maxOccurs="unbounded" type="mlc:DetailedPartyId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:sequence>
            <xs:element name="PartyName" maxOccurs="unbounded" type="mlc:PartyName">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyName(s).</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="PartyId" minOccurs="0" maxOccurs="unbounded"
               type="mlc:DetailedPartyId">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
      </xs:choice>
      <xs:attribute name="Namespace" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Namespace of the Role if it belongs to a proprietary scheme. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="UserDefinedValue" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">A UserDefined value of the Role. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="Role" type="avs:AdministratingRecordCompanyRole" use="required">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The role played by the Party responsible for administering Rights in a Resource or a Release.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="AllTerritoryCode">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a TerritoryCode.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:AllTerritoryCode">
            <xs:attribute name="IdentifierType" type="avs:TerritoryCodeTypeIncludingDeprecatedCodes">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A standard used for the TerritoryCode. This is represented in an XML schema as an XML Attribute. If this Attribute is not provided, it is assumed that the code is a TerritoryCode in accordance with ISO 3166-1 or 3166-2 standard (or Worldwide).</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="Artist">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of an Artist. An Artist may be described through Name, Identifier and Roles.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:choice>
            <xs:element name="PartyId" maxOccurs="unbounded" type="mlc:DetailedPartyId">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:sequence>
               <xs:element name="PartyName" maxOccurs="unbounded" type="mlc:PartyName">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyName(s).</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="PartyId" minOccurs="0" maxOccurs="unbounded"
                  type="mlc:DetailedPartyId">
                  <xs:annotation>
                     <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
                  </xs:annotation>
               </xs:element>
            </xs:sequence>
         </xs:choice>
         <xs:element name="DisplayArtistRole" maxOccurs="unbounded" type="mlc:DisplayArtistRole">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a ContributorRole played by the DisplayArtist.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Nationality" minOccurs="0" maxOccurs="unbounded"
            type="mlc:CurrentTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The nationality of the Artist.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="SequenceNumber" type="xs:integer">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The number indicating the order of the Artist in a group of Artists. This is represented in an XML schema as an XML Attribute. </xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="ArtistDelegatedUsageRights">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of the kinds of usage for which Rights have been delegated by an Artist.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="UseType" maxOccurs="unbounded" type="mlc:UseType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the use for which Rights are delegated.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="UserInterfaceType" minOccurs="0" maxOccurs="unbounded"
            type="mlc:UserInterfaceType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a physical interface by which a Consumer uses a Service or Release.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PeriodOfRightsDelegation" type="mlc:Period">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details about a Period of Time for which the delegation of usage Rights applies. Periods are typically described by at least a StartDate or EndDate.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TerritoryOfRightsDelegation" maxOccurs="unbounded"
            type="mlc:CurrentTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Territory for which the delegation of usage rights applies.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MembershipType" type="avs:MembershipType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Type of membership of the Artist.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="AudioCodecType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of an AudioCodecType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:AudioCodecType">
            <xs:attribute name="Version" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Identifier of the Version of the AudioCodecType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the AudioCodecType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the AudioCodecType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="CLine">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a CLine.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="Year" minOccurs="0" type="xs:gYear">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Year of the CLine.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CLineCompany" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Name of the company releasing the Creation. This may be an owner or a Licensee of the Creation.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CLineText" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The text of the CLine.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script of the CLineText as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="CarrierType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a CarrierType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:CarrierType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the CarrierType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the CarrierType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="CatalogNumber">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a CatalogNumber.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="Namespace" type="xs:string" use="required">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the CatalogNumber. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="CdProtectionType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a CdProtectionType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:CdProtectionType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the CdProtectionType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the CdProtectionType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="Comment">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Comment.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script of the Comment as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="ContactId">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of contact Identifiers of a Party.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="EmailAddress" minOccurs="0" maxOccurs="unbounded" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An EmailAddress of the Party.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PhoneNumber" minOccurs="0" maxOccurs="unbounded" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A PhoneNumber of the Party.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="FaxNumber" minOccurs="0" maxOccurs="unbounded" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A FaxNumber of the Party.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ContainerFormat">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a ContainerFormat.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:ContainerFormat">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the ContainerFormat. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the ContainerFormat. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="ContributorRole">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a ContributorRole. Note: This can be used in a DdexMessage in relation to any Work, Performance or Fixation any of which may form the whole or part of the Resource itself.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:ContributorRole">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the ContributorRole. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the ContributorRole. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="CourtesyLine">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a CourtesyLine.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script of the CourtesyLine as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="CurrentTerritoryCode">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a TerritoryCode.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:CurrentTerritoryCode">
            <xs:attribute name="IdentifierType" type="avs:TerritoryCodeType">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A standard used for the TerritoryCode. This is represented in an XML schema as an XML Attribute. If this Attribute is not provided, it is assumed that the code is a TerritoryCode in accordance with ISO 3166-1 or 3166-2 standard (or Worldwide).</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="DdexDigitalSignature">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing a digital signature of the File in accordance with DDEX-DSIG.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="SignedInfo" type="ds:SignedInfoType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An Element of type SignedInfoType.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SignatureValue" type="ds:SignatureValueType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An Element of type SignatureValueType.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="KeyInfo" type="mlc:KeyInfo">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A KeyInfo Composite.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="Id" type="xs:ID">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">An XmlAttribute of type xs:ID.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="DelegatedUsageRights">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of the kinds of usage for which Rights have been delegated.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="UseType" maxOccurs="unbounded" type="mlc:UseType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the use for which Rights are delegated.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="UserInterfaceType" minOccurs="0" maxOccurs="unbounded"
            type="mlc:UserInterfaceType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a physical interface by which a Consumer uses a Service or Release.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PeriodOfRightsDelegation" type="mlc:Period">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details about a Period of Time for which the delegation of usage Rights applies. Periods are typically described by at least a StartDate or EndDate.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TerritoryOfRightsDelegation" maxOccurs="unbounded"
            type="mlc:CurrentTerritoryCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Territory for which the delegation of usage rights applies.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="Description">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Description.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script of the Description as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="DetailedPartyId">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a PartyId.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ISNI" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An International Standard Name Identifier, the ISO 27729 Standard Identifier for names. DDEX will enforce the syntax [0-9]{15}[X0-9] using XML Schema in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DPID" minOccurs="0">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An Identifier of a Party according to the DdexPartyId standard DDEX-DPID.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:pattern value="PADPIDA[a-zA-Z0-9]+"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="IpiNameNumber" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An Interested Party Identifier, a CISAC standard Identifier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IPN" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An International Performer Number, an IPDA Identifier.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CisacSocietyId" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A CISAC Society Identifier, a CISAC standard Identifier for music rights societies.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ProprietaryId" minOccurs="0" maxOccurs="unbounded"
            type="mlc:ProprietaryId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a ProprietaryIdentifier of the Party.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="DisplayArtistNameWithDefault">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a DisplayArtistName.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script of the Name as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="ApplicableTerritoryCode" type="avs:CurrentTerritoryCode">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Territory to which the Name applies. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="IsDefault" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether this Composite provides default values (=true). This Flag should not be set if this is not the case. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="DisplayArtistRole">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a DisplayArtistRole.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:DisplayArtistRole">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the DisplayArtistRole. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the DisplayArtistRole. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="ErrorType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of an ErrorType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:ErrorType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the ErrorType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the ErrorType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="EventDate">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of an Event.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="mlc:ddex_IsoDate">
            <xs:attribute name="IsApproximate" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the reported Date is approximate (=true) or exact (=false). This is represented in an XML schema as an XML Attribute. </xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="IsBefore" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the Event being described occurred sometime before the reported Date (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="IsAfter" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the Event being described occurred sometime after the reported Date (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="ApplicableTerritoryCode" type="avs:AllTerritoryCode">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Territory in which the Event occurred. This is represented in an XML schema as an XML Attribute. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="LocationDescription" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Description of the location in which the Event occurred. It offers the opportunity to describe a place more precisely than using the TerritoryCode. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script for the LocationDescription as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="EventDateTime">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of the DateTime and Place of an Event.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:dateTime">
            <xs:attribute name="IsApproximate" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the reported DateTime is approximate (=true) or exact (=false). This is represented in an XML schema as an XML Attribute. </xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="IsBefore" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the Event being described occurred sometime before the reported DateTime (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="IsAfter" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the Event being described occurred sometime after the reported DateTime (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="TerritoryCode" type="avs:AllTerritoryCode">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Territory in which the Event occurred. This is represented in an XML schema as an XML Attribute. The use of ISO TerritoryCodes (or the term 'Worldwide') is strongly encouraged; TIS TerritoryCodes should only be used if both MessageSender and MessageRecipient are familiar with this standard. </xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="LocationDescription" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Description of the location in which the Event occurred. It offers the opportunity to describe a place more precisely than using the TerritoryCode. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script for the LocationDescription as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="FtpMessageHeader">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite placed at the beginning of each Message providing information about the Message such as MessageSender, MessageRecipient and a Message creation time stamp.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="MessageSender" type="mlc:MessagingParty">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the MessageSender.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageRecipient" type="mlc:MessagingParty">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the MessageRecipient.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageCreatedDateTime" type="xs:dateTime">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The DateTime on which the Message was created (the only allowed format is ISO 8601:2004: YYYY-MM-DDThh:mm:ssTZD).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:choice minOccurs="0">
            <xs:element name="HashSum" type="mlc:HashSum">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing a HashSum and information about the algorithm with which it has been generated.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="Signature" type="mlc:DdexDigitalSignature">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A digital signature in accordance with DDEX-DSIG.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:choice>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="FulfillmentDate">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a FulfillmentDate.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="FulfillmentDate" type="mlc:ddex_IsoDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Date after which an end user can receive the Resource (in ISO 8601:2004 format: YYYY-MM-DD). If no FulfillmentDate is provided the FulfillmentDate is the StartDate of the respective Deal. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ResourceReleaseReference" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Identifier (specific to the Message) of a Release for a Resource. This is a LocalReleaseAnchorReference starting with the letter R.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
               <xs:restriction base="xs:IDREF">
                  <xs:pattern value="R[\d\-_a-zA-Z]+"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="Genre">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Genre.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="GenreText" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Description of a genre or style (such as Musical, literary or audio-visual) with which a Creation is associated.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SubGenre" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Description of a secondary genre or style with which a Creation is associated.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the Genre as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="GenreWithClassical">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Genre.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="GenreText" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Description of a genre or style (such as Musical, literary or audio-visual) with which a Creation is associated.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SubGenre" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Description of a secondary genre or style with which a Creation is associated.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the Genre as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="IsClassical" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating whether the Genre is considered by the MessageSender to be a classical music one (=true) or not (=false). Mandatory for classical recordings.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="GoverningAgreementType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a GoverningAgreementType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:GoverningAgreementType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the GoverningAgreementType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the GoverningAgreementType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="HashSum">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a HashSum and its governing Algorithm.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="HashSumValue" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The value of the HashSum.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="HashSumAlgorithmType" type="mlc:HashSumAlgorithmType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Type of HashSumAlgorithm governing the HashSum.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="HashSumDataType" minOccurs="0" type="avs:BinaryDataType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The datatype of the HashSum.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="HashSumAlgorithmType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a HashSumAlgorithmType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:HashSumAlgorithmType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the HashSumAlgorithmType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the HashSumAlgorithmType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="InstrumentType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of an InstrumentType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:InstrumentType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the InstrumentType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the InstrumentType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="KeyInfo">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A KeyInfo Composite.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="X509Data" type="mlc:X509Data">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An X509Data Composite.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="Id" type="xs:ID">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">An XmlAttribute of type xs:ID.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="Keywords">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Description containing Keywords.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script of the Keywords as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="LabelName">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a LabelName.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script of the LabelName as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="LabelNameType" type="avs:LabelNameType">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Type of LabelName. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the LabelName. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the LabelName. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="Membership">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a membership in a collective rights management organization.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="Organization" type="mlc:PartyDescriptor">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the collective rights management organization.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MembershipType" type="avs:MembershipType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Type of membership.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="StartDate" minOccurs="0" type="mlc:ddex_IsoDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The StartDate of the membership. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="EndDate" minOccurs="0" type="mlc:ddex_IsoDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The EndDate of the membership. This is a string with the syntax YYYY[-MM[-DD]].</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="MessageAuditTrail">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing information about Parties in between the original MessageSender and ultimate MessageRecipient.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="MessageAuditTrailEvent" maxOccurs="unbounded"
            type="mlc:MessageAuditTrailEvent">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a Party handling the Message and the Time at which the handling took place.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="MessageAuditTrailEvent">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Party handling a Message and the Time at which the handling took place.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="MessagingPartyDescriptor" type="mlc:MessagingPartyWithoutCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a MessagingParty.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DateTime" type="xs:dateTime">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The DateTime at which the Message was handled by the MessagingParty (the only allowed format is ISO 8601:2004: YYYY-MM-DDThh:mm:ssTZD).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="MessageHeader">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite placed at the beginning of each DdexMessage providing information about the Message, such as MessageSender, MessageRecipient and a Message creation time stamp.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="MessageThreadId" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A xs:string used to uniquely identify the thread of Messages of which the current Message is a part. The MessageThreadId shall be, in combination with the DdexPartyId (DPID) of the MessageSender, globally unique. Thus, a MessageSender shall never re-use a MessageThreadId. One example of such a 'thread' is the chain of NewReleaseMessages being sent from ReleaseCreator to wholesale ReleaseDistributor 1 to retail DSP when communicating information about the same Release(s). A common MessageThreadId will allow all these messages to be tied together.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageId" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A xs:string used to uniquely identify the current Message. The MessageId shall be, in combination with the DdexPartyId (DPID) of the MessageSender, globally unique. Thus, a MessageSender shall never re-use a MessageId.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageFileName" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The FileName, possibly including the FilePath, of the XML File containing the current Message.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageSender" type="mlc:MessagingPartyWithoutCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the MessageSender.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SentOnBehalfOf" minOccurs="0" type="mlc:MessagingPartyWithoutCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Party on whose behalf the Message is sent.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageRecipient" maxOccurs="unbounded"
            type="mlc:MessagingPartyWithoutCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the MessageRecipient. Note that if multiple MessageRecipients are provided, all of them will be able to read this information.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageCreatedDateTime" type="xs:dateTime">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The DateTime on which the Message was created (the only allowed format is ISO 8601:2004: YYYY-MM-DDThh:mm:ssTZD).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageAuditTrail" minOccurs="0" type="mlc:MessageAuditTrail">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing information about Parties in between the original MessageSender and ultimate MessageRecipient.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="MessageControlType" minOccurs="0" type="avs:MessageControlType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The indicator used to distinguish a live Message from a test Message.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="MessageNotificationPeriod">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a reporting Period covered by a Message. It must contain at least one out of StartDate or EndDate. The StartDate must be earlier than the EndDate if both are provided.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="StartDate" type="mlc:ddex_IsoDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Date that marks the beginning of the Period (in ISO 8601:2004 format: YYYY-MM-DD). This cannot be a Date in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="EndDate" type="mlc:ddex_IsoDate">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Date that marks the end of the Period (in ISO 8601:2004 format: YYYY-MM-DD). This cannot be a Date in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="MessagingParty">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a MessagingParty.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="PartyId" maxOccurs="unbounded" type="mlc:PartyId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party handling the Message. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PartyName" minOccurs="0" type="mlc:PartyName">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the PartyNames for the Party handling the Message.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TradingName" minOccurs="0" type="mlc:Name">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing a TradingName for the Party handling the Message.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the MessagingParty as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="MessagingPartyWithoutCode">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a MessagingParty.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="PartyId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An Identifier of a Party according to the DdexPartyId standard DDEX-DPID.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:pattern value="PADPIDA[a-zA-Z0-9]+"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="PartyName" minOccurs="0" type="mlc:PartyNameWithoutCode">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the PartyNames for the Party handling the Message.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="TradingName" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing a TradingName for the Party handling the Message.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="MusicalWorkId">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a MusicalWorkId.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ISWC" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The ISWC (International Standard Musical Work Code defined in ISO 15707) identifying the MusicalWork. An ISWC comprises three parts: the letter 'T', followed by nine digits and then one check digit. DDEX will enforce the syntax [a-zA-Z][0-9]{10} using XML Schema in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="OpusNumber" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The MusicalWorkId identifying the MusicalWork within the catalog of its Composer (typically of classical music) as an opus number.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ComposerCatalogNumber" minOccurs="0" maxOccurs="unbounded"
            type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A MusicalWorkId identifying a MusicalWork within the catalog of its Composer (typically of classical music) according to a standardized numbering (e.g. 'K' numbers for Koechel's catalog of Mozart).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ProprietaryId" minOccurs="0" maxOccurs="unbounded"
            type="mlc:ProprietaryId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a ProprietaryIdentifier of the MusicalWork.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="IsReplaced" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating whether this Identifier is old and has been replaced by a new one (=true) or not (=false). The Flag may only be set to True when the new Identifier is also provided. If the Flag is not set, this Identifier is deemed to be the current one.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="Name">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Name.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script of the Name as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="PLine">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a PLine.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="Year" minOccurs="0" type="xs:gYear">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Year of the PLine.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PLineCompany" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Name of the company releasing the Creation. This may be an owner or a Licensee of the Creation.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="PLineText" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The text of the PLine.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script of the PLineText as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="PLineType" type="avs:PLineType">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">A Type of PLine. This is represented in an XML schema as an XML Attribute. If this Attribute is not provided, it is assumed that the PLine is an OriginalPLine.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="ParentalWarningType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a ParentalWarningType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:ParentalWarningType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the ParentalWarningType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the ParentalWarningType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="PartyDescriptor">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Party. Parties are typically described through Names and/or Identifiers.</xs:documentation>
      </xs:annotation>
      <xs:choice>
         <xs:element name="PartyId" maxOccurs="unbounded" type="mlc:DetailedPartyId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:sequence>
            <xs:element name="PartyName" maxOccurs="unbounded" type="mlc:PartyName">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyName(s).</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="PartyId" minOccurs="0" maxOccurs="unbounded"
               type="mlc:DetailedPartyId">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
      </xs:choice>
   </xs:complexType>
   <xs:complexType name="PartyId">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a PartyId. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the PartyId if it belongs to a proprietary Party xs:ID scheme. If the PartyId is a DPID, the Namespace Element must not be used. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="IsDPID" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the PartyId is a DPID (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="IsISNI" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Flag indicating whether the PartyId is an ISNI (=true) or not (=false). This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="PartyName">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a PartyName. Name details for a Party typically either contain a FullName or a KeyName.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="FullName" type="mlc:Name">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the complete Name of the Party, in its normal form of presentation (e.g. John H. Smith, Acme Music Inc, the Beatles).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="FullNameAsciiTranscribed" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The FullName transcribed using 7-bit ASCII code.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="FullNameIndexed" minOccurs="0" type="mlc:Name">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the complete Name of the Party in the form in which it normally appears in an alphabetic index, with the KeyName first (e.g. Smith, John H.; Beatles, The).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NamesBeforeKeyName" minOccurs="0" type="mlc:Name">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Name(s) preceding the KeyName in the FullName (and that is placed after it in a FullNameIndexed). Examples: 'George' in 'George Michael'; 'John Fitzgerald' in 'John Fitzgerald Kennedy'. Not all PartyNames have a NamesBeforeKeyName (e.g. Madonna, EMI Music Inc).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="KeyName" minOccurs="0" type="mlc:Name">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Part of a Name of the Party normally used to index an entry in an alphabetical list, such as 'Smith' (in John Smith) or 'Garcia Marquez' or 'Madonna' or 'Francis de Sales' (in Saint Francis de Sales). For persons, this normally corresponds to the 'family name' or names, which in Western name forms usually comes as a surname at the end of a FullName, and in Asian name forms often at the beginning of a FullName. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NamesAfterKeyName" minOccurs="0" type="mlc:Name">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing the Name(s) following the KeyName. Example:'Ibrahim' (in Anwar Ibrahim). This is common, e.g., in many Asian personal name forms where a FullName begins with the KeyName, which is followed by other names.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="AbbreviatedName" minOccurs="0" type="mlc:Name">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing a short version of the PartyName (e.g. for use on devices with a small display).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the PartyName as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="PartyNameWithoutCode">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a PartyName. Name details for a Party typically either contain a FullName or a KeyName.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="FullName" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The complete Name of the Party, in its normal form of presentation (e.g. John H. Smith, Acme Music Inc, the Beatles).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="FullNameAsciiTranscribed" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The FullName transcribed using 7-bit ASCII code.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="FullNameIndexed" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The complete Name of the Party in the form in which it normally appears in an alphabetic index, with the KeyName first (e.g. Smith, John H.; Beatles, The).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NamesBeforeKeyName" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Name(s) preceding the KeyName in the FullName (and that is placed after it in a FullNameIndexed). Examples: 'George' in 'George Michael'; 'John Fitzgerald' in 'John Fitzgerald Kennedy'. Not all PartyNames have a NamesBeforeKeyName (e.g. Madonna, EMI Music Inc).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="KeyName" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Part of a Name of the Party normally used to index an entry in an alphabetical list, such as 'Smith' (in John Smith) or 'Garcia Marquez' or 'Madonna' or 'Francis de Sales' (in Saint Francis de Sales). For persons, this normally corresponds to the 'family name' or names, which in Western name forms usually comes as a surname at the end of a FullName, and in Asian name forms often at the beginning of a FullName. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NamesAfterKeyName" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Name(s) following the KeyName. Example:'Ibrahim' (in Anwar Ibrahim). This is common, e.g., in many Asian personal name forms where a FullName begins with the KeyName, which is followed by other names.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="AbbreviatedName" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A short version of the PartyName (e.g. for use on devices with a small display).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="Percentage">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a PercentageRate.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:decimal">
            <xs:attribute name="HasMaxValueOfOne" type="xs:boolean">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Flag indicating whether a PercentageRate is given as a value in the range [0,1] (=true) instead of a value in the range [0,100] (=false). This is represented in an XML schema as an XML Attribute. Absence of this attribute is synonymous with false.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="Period">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details about a Period of Time. Periods are typically describedby at least a StartDate or EndDate (or StartDateTime or EndDateTime) where the StartDate(Time) and EndDate(Time) are included in the Period. Thus a one-day period can be described by using the same date in the StartDate and EndDate. If two subsequent Periods form a continuum (i.e. with no break in-between) there are two ways to express this: (a) if using dates, the EndDate of the first Period must be one day before the StartDate of the second Period; (b) if using date times, the EndDateTime of the first Period must be the same as the StartDateTime of the second Period.</xs:documentation>
      </xs:annotation>
      <xs:choice>
         <xs:sequence>
            <xs:element name="StartDate" minOccurs="0" type="mlc:EventDate">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of an Event that marks the beginning of the Period (in ISO 8601:2004 format: YYYY-MM-DD). The StartDate must be no later than the EndDate if both are provided.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="EndDate" minOccurs="0" type="mlc:EventDate">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the Date and Place of an Event that marks the end of the Period (in ISO 8601:2004 format: YYYY-MM-DD). The EndDate must not be earlier than the StartDate if both are provided.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
         <xs:sequence>
            <xs:element name="StartDateTime" minOccurs="0" type="mlc:EventDateTime">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the DateTime and Place of an Event that marks the beginning of the Period (in ISO 8601:2004 format: YYYY-MM-DDThh:mm:ss). The StartDateTime must be no later than the EndDateTime if both are provided.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="EndDateTime" minOccurs="0" type="mlc:EventDateTime">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the DateTime and Place of an Event that marks the end of the Period (in ISO 8601:2004 format: YYYY-MM-DDThh:mm:ss). The EndDateTime must not be earlier than the StartDateTime if both are provided.</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
      </xs:choice>
   </xs:complexType>
   <xs:complexType name="ProprietaryId">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a ProprietaryIdentifier.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="Namespace" type="xs:string" use="required">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the ProprietaryIdentifier. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="Purpose">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Purpose.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:Purpose">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the Purpose. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the Purpose. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="RatingAgency">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a RatingAgency.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:RatingAgency">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the RatingAgency. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the RatingAgency. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="ReferenceTitle">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a ReferenceTitle.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="TitleText" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The text of the ReferenceTitle.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SubTitle" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A SubTitle of the ReferenceTitle, including Titles of Versions used to differentiate different versions of the same Title, as required by the GRid and ISRC ReferenceDescriptiveMetadataSets (where the SubTitle is called Version Title).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the ReferenceTitle as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="ReleaseId">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a ReleaseId. If available, a GRid should always to be used. If the Release contains only one SoundRecording, the ISRC of the SoundRecording may be used instead. If the Release is an abstraction of a complete PhysicalProduct (such as a CD Album), the ICPN of the PhysicalProduct may be used instead.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="GRid" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The GRid identifying the Release. This is the preferred Element and is mandatory if a GRid is available. A GRid comprises four parts: the xs:string 'A1', followed by five alphanumeric characters, ten alphanumeric characters and and one alphanumeric character. DDEX will enforce the syntax [a-zA-Z0-9]{18} using XML Schema in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ISRC" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The ISRC (International Standard Recording Code as defined in ISO 3901) used as proxy for identification of the Release. Only applicable when the Release only contains one SoundRecording or one MusicalWorkVideo. An ISRC comprises four parts: two characters, followed by three alphanumeric characters, then two digits and five digits. DDEX will enforce the syntax [a-zA-Z]{2}[a-zA-Z0-9]{3}[0-9]{7} using XML Schema in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ICPN" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An ICPN used as proxy for identification of the Release. Only applicable when the Release is an abstraction of a complete PhysicalProduct. An ICPN comprises 12 or 13 digits, depending whether it is an EAN (13) or a UPC (12). DDEX will enforce the syntax [0-9]{12,13} using XML Schema in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CatalogNumber" minOccurs="0" type="mlc:CatalogNumber">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the CatalogNumber of the Release.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ProprietaryId" minOccurs="0" maxOccurs="unbounded"
            type="mlc:ProprietaryId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a ProprietaryIdentifier of the Release.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ReleaseType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a ReleaseType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:ReleaseType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the ReleaseType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the ReleaseType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="ResourceContainedResourceReference">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a ResourceContainedResourceReference for the case where one Resource contains another one.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ResourceContainedResourceReference">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Reference for a Resource (specific to this Message). This is a LocalResourceAnchorReference starting with the letter A.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
               <xs:restriction base="xs:IDREF">
                  <xs:pattern value="A[\d\-_a-zA-Z]+"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="DurationUsed" minOccurs="0" type="xs:duration">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The total Duration of the Resource that has been used in a specified context (this may be less than the total Duration of the Resource) (using the ISO 8601:2004 PT[[hhH]mmM]ssS format, where lower case characters indicate variables, upper case characters are part of the xs:string, e.g. one hour, two minutes and three seconds would be PT1H2M3S). The seconds section ss may include fractions (e.g. one minute and 30.5 seconds would be PT1M30.5S).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="StartPoint" minOccurs="0" type="xs:decimal">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The start point of the preview given in seconds from the start of the referenced Resource.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Purpose" minOccurs="0" type="mlc:Purpose">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the Purpose of the usage.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ResourceContainedResourceReferenceList">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of one or more ResourceContainedResourceReferences. </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ResourceContainedResourceReference" maxOccurs="unbounded"
            type="mlc:ResourceContainedResourceReference">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a ResourceContainedResourceReference.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ResourceContributorRole">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a StudioRole.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:ResourceContributorRole">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the StudioRole. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the StudioRole. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="ResourceMusicalWorkReference">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing a ResourceMusicalWorkReference.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="SequenceNumber" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number indicating the order of the MusicalWork in a group of MusicalWorks within a Medley, SoundRecording or other Resource.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="DurationUsed" minOccurs="0" type="xs:duration">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The total Duration of the MusicalWork that has been used in a specified context (this may be less than the total Duration of the MusicalWork) (using the ISO 8601:2004 PT[[hhH]mmM]ssS format, where lower case characters indicate variables, upper case characters are part of the xs:string, e.g. one hour, two minutes and three seconds would be PT1H2M3S). The seconds section ss may include fractions (e.g. one minute and 30.5 seconds would be PT1M30.5S).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="IsFragment" minOccurs="0" type="xs:boolean">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Flag indicating whether the MusicalWork is a Fragment (=true) or not (=false).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ResourceMusicalWorkReference">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Reference for a MusicalWork (specific to this Message). This is a LocalMusicalWorkAnchorReference starting with the letter W.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
               <xs:restriction base="xs:IDREF">
                  <xs:pattern value="W[\d\-_a-zA-Z]+"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ResourceMusicalWorkReferenceList">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing a list of ResourceMusicalWorkReferences.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ResourceMusicalWorkReference" maxOccurs="unbounded"
            type="mlc:ResourceMusicalWorkReference">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing a ResourceMusicalWorkReference for a MusicalWork (specific to this Message).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="SoundRecordingCollectionReference">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecordingCollectionReference.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="SequenceNumber" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number indicating the order of the Collection in a group of Collections within a Medley, SoundRecording or other Collection.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SoundRecordingCollectionReference">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Reference for a Collection (specific to this Message). This is a LocalCollectionAnchorReference starting with the letter X. The referenced Collection has to be of CollectionType Series, Season or Episode.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
               <xs:restriction base="xs:IDREF">
                  <xs:pattern value="X[\d\-_a-zA-Z]+"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="StartTime" minOccurs="0" type="xs:duration">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The start time of the Creation, measured from the start of the Resource from which the CueSheet is referenced (using the ISO 8601:2004 PT[[hhH]mmM]ssS format, where lower case characters indicate variables, upper case characters are part of the xs:string, e.g. one hour, two minutes and three seconds would be PT1H2M3S). The seconds section ss may include fractions (e.g. one minute and 30.5 seconds would be PT1M30.5S).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Duration" minOccurs="0" type="xs:duration">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The Duration of the use of the Creation that is referenced in the CueCreationReference (using the ISO 8601:2004 PT[[hhH]mmM]ssS format, where lower case characters indicate variables, upper case characters are part of the xs:string, e.g. one hour, two minutes and three seconds would be PT1H2M3S). The seconds section ss may include fractions (e.g. one minute and 30.5 seconds would be PT1M30.5S).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="EndTime" minOccurs="0" type="xs:duration">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The end time of the Creation, measured from the start of the Resource from which the CueSheet is referenced (using the ISO 8601:2004 PT[[hhH]mmM]ssS format, where lower case characters indicate variables, upper case characters are part of the xs:string, e.g. one hour, two minutes and three seconds would be PT1H2M3S). The seconds section ss may include fractions (e.g. one minute and 30.5 seconds would be PT1M30.5S).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ReleaseResourceType" minOccurs="0" type="avs:ReleaseResourceType">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Type of Collection in the context of a Video. This is represented in an XML schema as an XML Attribute.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="SoundRecordingCollectionReferenceList">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing a list of SoundRecordingCollectionReferences.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="NumberOfCollections" minOccurs="0" type="xs:integer">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The number of referenced Collections (typically Chapters).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SoundRecordingCollectionReference" maxOccurs="unbounded"
            type="mlc:SoundRecordingCollectionReference">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing a SoundRecordingCollectionReference for a Collection (specific to this Message).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="SoundRecordingId">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of SoundRecordingIds.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ISRC" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The ISRC (International Standard Recording Code as defined in ISO 3901) for the SoundRecording. An ISRC comprises four parts: two characters, followed by three alphanumeric characters, then two digits and five digits. DDEX will enforce the syntax [a-zA-Z]{2}[a-zA-Z0-9]{3}[0-9]{7} using XML Schema in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CatalogNumber" minOccurs="0" type="mlc:CatalogNumber">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the CatalogNumber of the SoundRecording.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ProprietaryId" minOccurs="0" maxOccurs="unbounded"
            type="mlc:ProprietaryId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a ProprietaryIdentifier of the SoundRecording (usually one per society involved in the messaging).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="IsReplaced" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating whether this Identifier is old and has been replaced by a new one (=true) or not (=false). The Flag may only be set to True when the new Identifier is also provided. If the Flag is not set, this Identifier is deemed to be the current one.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="SoundRecordingType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a SoundRecordingType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:SoundRecordingType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the SoundRecordingType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the SoundRecordingType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="SubTitle">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a SubTitle, including Titles of Versions used to differentiate different versions of the same Title, as required by the GRid and ISRC ReferenceDescriptiveMetadataSets.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="SubTitleType" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Type of the SubTitle which defines its origin or the function it fulfils. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="Synopsis">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Synopsis.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="LanguageAndScriptCode" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Language and script of the Synopsis as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="Title">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a Title.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="TitleText" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The text of the Title.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SubTitle" minOccurs="0" maxOccurs="unbounded" type="mlc:SubTitle">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a SubTitle of the Title, including Titles of Versions used to differentiate different versions of the same Title, as required by the GRid and ISRC ReferenceDescriptiveMetadataSets.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="LanguageAndScriptCode" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Language and script for the Elements of the Title as defined in IETF RfC 5646. The default is the same as indicated for the containing composite. Language and Script are provided as lang[-script][-region][-variant]. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="TitleType" type="avs:TitleType">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">A Type of the Title which defines its origin or the function it fulfils in relation to a Creation. Note: A Title may fulfil more than one role. Example: 'Help' may be both the OriginalTitle and the DisplayTitle for the well-known Beatles song. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="Namespace" type="xs:string">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Namespace of the TitleType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="UseType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a UseType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:UseType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the UseType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the UseType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="UserInterfaceType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a UserInterfaceType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:UserInterfaceType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the UserInterfaceType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the UserInterfaceType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="VersionType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a VersionType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:VersionType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the VersionType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the VersionType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="VideoCodecType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a VideoCodecType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:VideoCodecType">
            <xs:attribute name="Version" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Identifier of the Version of the VideoCodecType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the VideoCodecType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the VideoCodecType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="VideoId">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of Identifiers of a Video.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ISRC" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The ISRC (International Standard Recording Code as defined in ISO 3901) for the Video. An ISRC comprises four parts: two characters, followed by three alphanumeric characters, then two digits and five digits. DDEX will enforce the syntax [a-zA-Z]{2}[a-zA-Z0-9]{3}[0-9]{7} using XML Schema in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ISAN" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The ISAN (International Standard Audiovisual Number as defined in ISO 15706) for the Video. An ISAN comprises four blocks of four hexadecimal charaters followed by a check character. DDEX will enforce the syntax [A-F0-9]{12} using XML Schema in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="VISAN" minOccurs="0" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">The V-ISAN (Version Identifier of a International Standard Audiovisual Number as defined in ISO 15706-2) for the Video. A V-ISAN comprises four blocks of four hexadecimal charaters followed by a check character, followed by two further blocks of four hexadecimal characters, followed by a further check character. DDEX will enforce the syntax [A-F0-9]{24} using XML Schema in the future.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="CatalogNumber" minOccurs="0" type="mlc:CatalogNumber">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of the CatalogNumber of the Video.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ProprietaryId" minOccurs="0" maxOccurs="unbounded"
            type="mlc:ProprietaryId">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">A Composite containing details of a ProprietaryIdentifier of the Video (usually one per society involved in the messaging).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="EIDR" minOccurs="0" maxOccurs="unbounded" type="xs:string">
            <xs:annotation>
               <xs:documentation source="ddex:Definition">An Identifier of the Video assigned by the Entertainment Identifier Registry Association (EIDR).</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="IsReplaced" type="xs:boolean">
         <xs:annotation>
            <xs:documentation source="ddex:Definition">The Flag indicating whether this Identifier is old and has been replaced by a new one (=true) or not (=false). The Flag may only be set to True when the new Identifier is also provided. If the Flag is not set, this Identifier is deemed to be the current one.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="VideoType">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Composite containing details of a VideoType.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="avs:VideoType">
            <xs:attribute name="Namespace" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">The Namespace of the VideoType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
            <xs:attribute name="UserDefinedValue" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A UserDefined value of the VideoType. This is represented in an XML schema as an XML Attribute.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="X509Data">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">An X509Data Composite.</xs:documentation>
      </xs:annotation>
      <xs:sequence maxOccurs="unbounded">
         <xs:choice>
            <xs:element name="X509IssuerSerial" type="ds:X509IssuerSerialType">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">An Element of type X509IssuerSerialType.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="X509SKI" type="xs:base64Binary">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">An Element of type xs:base64Binary.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="X509SubjectName" type="xs:string">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">An Element of type xs:string.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="X509Certificate" type="xs:base64Binary">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">An Element of type xs:base64Binary.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="X509CRL" type="xs:base64Binary">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">An Element of type xs:base64Binary.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="PartyId" type="mlc:PartyId">
               <xs:annotation>
                  <xs:documentation source="ddex:Definition">A Composite containing details of the PartyId for the Party. If no Namespace is given, the Identifier is a DdexPartyId (DPID). Note that DPIDs are not normally used to identify Artists, producers or other Creators.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:any namespace="##other" processContents="lax"/>
         </xs:choice>
      </xs:sequence>
   </xs:complexType>
   <xs:simpleType name="ddex_IsoDate">
      <xs:annotation>
         <xs:documentation source="ddex:Definition">A Date represented in ISO 8601:2004 format: YYYY[-MM[-DD]].</xs:documentation>
         <xs:documentation source="ddex:Comment">Format: A Date represented as a calendar Year, Month or Day (in ISO 8601:2004 format: YYYY, YYYY-MM or YYYY-MM-DD).</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:pattern value="[0-9]{4}(-[0-9]{2}){0,1}(-[0-9]{2}){0,1}"/>
      </xs:restriction>
   </xs:simpleType>
</xs:schema>
